ietf-interpreting

star 3

Interpretive norms for reading the record of an IETF/IRTF effort. Use BEFORE characterising what a working group decided, whether there is consensus, who supports or opposes a proposal, or where the group stands — any sentence asserting a collective outcome (settled, decided, agreed, rejected, consensus, "the WG thinks/wants"). Covers consensus is chair-declared not vote-counted, decisions happen on the mailing list not in meetings, positions belong to individuals not their employers, and what Internet-Draft names and RFC streams do and don't imply. Reporting what a named individual said does not require this; any claim about where the group landed does. For drafting a contribution, use ietf-contributing instead.

mnot By mnot schedule Updated 6/11/2026

name: ietf-interpreting description: Interpretive norms for reading the record of an IETF/IRTF effort. Use BEFORE characterising what a working group decided, whether there is consensus, who supports or opposes a proposal, or where the group stands — any sentence asserting a collective outcome (settled, decided, agreed, rejected, consensus, "the WG thinks/wants"). Covers consensus is chair-declared not vote-counted, decisions happen on the mailing list not in meetings, positions belong to individuals not their employers, and what Internet-Draft names and RFC streams do and don't imply. Reporting what a named individual said does not require this; any claim about where the group landed does. For drafting a contribution, use ietf-contributing instead.

Reading the IETF record

The trigger is grammatical, not a self-assessment: before you write any sentence asserting a collective outcome — settled, decided, agreed, rejected, "there is consensus," or "the WG thinks/wants" — you should have read these norms. Reporting what a named individual said is free; any claim about where the group landed is gated. Not enforced — the point is to make skipping the check something you notice choosing, not ordinary efficient judgment. For the write side, see the ietf-contributing skill (or, where the MCP server is connected, read_ietf_participation_norms).

The trap is what you already know

You know the headlines — consensus is chair-declared, not vote-counted; decisions are confirmed on the list, not made in meetings; participants speak as individuals, not their employers. That is the trap. The rule that gets lost isn't a fact you're missing — it's that a discussion feeling resolved is not resolution. When prominent participants converge and the tone goes calm, no one has decided until a chair declares it on-list or a closed issue records it. Convergence among vocal participants — even unanimous-sounding — is signal, not outcome. A session poll (28-4) is a tool to gauge the room, not a decision. Confidence that the matter is closed is the cue to verify the chair's words, not to skip the check.

Worked example. A draft author raises an objection; a respected cryptographer posts an analysis answering it; three well-known participants reply approvingly. Tempting: "the objection was settled." Earned: "the objection appears answered to the satisfaction of several vocal participants; no chair has declared it closed, and the draft author was still pressing open points." Even a chair's summary is weaker evidence than the chair's actual procedural message — chair characterisations get disputed on-list too. tally_positions' Chair statements section surfaces those procedural messages (consensus call, WGLC, closure) for a thread.

Not every decision is called, and none is final until Last Call

Two symmetric mistakes about finality. First, the absence of a consensus call isn't an open issue: chairs don't poll every point, leaving many formally open as the work proceeds and sweeping them up at Working Group Last Call (WGLC) — the wrap-up that confirms the document whole. Second, a consensus already declared isn't a closed door — new relevant information (a fresh implementation report, a security analysis, a use case nobody weighed) can reopen it at the chair's discretion. Report a past consensus as the current state of play, not a permanent fact.

And WGLC itself isn't the last word. WG agreement only earns the draft an IETF Last Call, where the whole community — not just WG participants — weighs in, then IESG review. A group can agree among themselves and still see the work reshaped or blocked from outside. "The WG agreed" is not "the IETF agreed"; a document past WGLC but not yet an RFC is still open to wider scrutiny.

Affiliation: aggregate, don't attribute

Don't pin a position on a company ("Cloudflare opposes X") from an author's affiliation — only when they frame it that way ("speaking for X…"). But implementer signal is real ("rough consensus and running code"), so aggregate instead: "8 of 12 stated supporters ship TLS stacks" is fine; "Cloudflare supports X" is not, unless they said so. Two non-obvious bits:

Email domain ≠ affiliation. Participants use personal email and may hold several affiliations. When the MCP server is available, use the affiliations field / people digest, never the From-header domain.

Draft names carry structure, not gravity

The prefix is the draft's posture in the process, not its weight:

  • draft-ietf-<wg>-… — adopted by an IETF WG (the segment after ietf- is the WG shortname). draft-irtf-<rg>-… — adopted by an IRTF Research Group (research, not standards).
  • draft-<author-id>-… — an individual submission. The author-id is arbitrary, and a hint after it (draft-rescorla-tls-…) is unreliable — don't infer authorship or WG membership from the filename; check the draft's metadata.

Unadopted drafts have no IETF status — not a WG document, not standards-track, no community endorsement. Don't say "the IETF is working on X" when X is one person's draft-author-….

Not every RFC is a consensus standard

The stream the draft took determines the endorsement the RFC carries:

  • IETF stream — WG-adopted, or AD-sponsored for an individual draft: the consensus standards track.
  • IRTF stream — research output, not a standard.
  • Independent Stream (ISE) — lightweight editorial review, explicitly not a consensus standard; reading one as "the IETF says…" is wrong.
  • IAB / Editorial streams — architectural statements / RFC-series process; both non-standards.

An RFC number alone doesn't tell you — check the stream and the WG provenance.

DISPATCH and BoFs are "being considered," not "being worked on"

Proposals rarely land straight in a WG. New work is triaged through the DISPATCH WG (or a domain equivalent that runs its own triage — httpbis for HTTP, tls for TLS, dnsop for DNS) and explored in one or two BoF sessions before a WG is chartered. A BoF is not a WG — no documents, no consensus authority. So a topic at DISPATCH or a BoF is being considered, not being worked on.

Install via CLI
npx skills add https://github.com/mnot/ietf-llm --skill ietf-interpreting
Repository Details
star Stars 3
call_split Forks 1
navigation Branch main
article Path SKILL.md
More from Creator