mail-threading 0.1.0

Spec-aligned client-side email threading using RFC 5256/JWZ references.
Documentation
{
  "name": "multi-level-missing-phantom-chain",
  "description": "A chain of missing ancestors is pruned to the first visible descendant.",
  "spec": {
    "source": "JWZ",
    "url": "https://www.jwz.org/doc/threading.html",
    "behavior": "multiple missing referenced ancestors are represented by phantoms"
  },
  "input": [
    {
      "id": "<phantom-leaf@example>",
      "message_id": "<phantom-leaf@example>",
      "in_reply_to": "<phantom-mid@example>",
      "references": [
        "<phantom-root@example>",
        "<phantom-mid@example>"
      ],
      "subject": "Re: Phantom",
      "date": "2026-05-15T09:05:00Z"
    },
    {
      "id": "<phantom-reply@example>",
      "message_id": "<phantom-reply@example>",
      "in_reply_to": "<phantom-leaf@example>",
      "references": [
        "<phantom-root@example>",
        "<phantom-mid@example>",
        "<phantom-leaf@example>"
      ],
      "subject": "Re: Phantom",
      "date": "2026-05-15T09:10:00Z"
    }
  ],
  "expected": {
    "threads": [
      {
        "root": "<phantom-leaf@example>",
        "messages": [
          "<phantom-leaf@example>",
          "<phantom-reply@example>"
        ]
      }
    ]
  }
}