Skip to content

History / Message audit design

Revisions

  • Say where the audit's feature areas come from Areas come from the client feature each message serves; the client didn't allocate opcodes in feature blocks, so neither the opcode numbers nor the old code's folders draw the lines. The order after milestone one's areas is by size.

    @rebaserHEAD rebaserHEAD committed Oct 16, 2026
  • Describe the tree check and every message declared, at bootstrap 7072554 The facts check compares each declaration's full tree with the client's, names a disagreement by opcode, side and path, and treats two pairs of indistinguishable forms as equal; 157 disagreements are pinned. Every one of the client's 1,119 messages is declared, 1,015 agreeing with the client (run 38877202011, 263 of 263; it ran the identical tree of 7072554). The layout tree's union example is now a plain test layout, no longer tied to 0x01C3.

    @rebaserHEAD rebaserHEAD committed Oct 16, 2026
  • Describe the facts table's layout trees, at bootstrap bd2ec2c The client facts table is schema 2: every side carries the client's full layout tree, its widths come from the tree, and three client envelopes keep widths with no tree. The trees hold for both clients. The facts check still compares empty paths, at 873 agreeing and 55 pinned (run 38876037239, 252 of 252).

    @rebaserHEAD rebaserHEAD committed Oct 16, 2026
  • Describe the layout tree, at bootstrap 9f13a55 Codec-design gains the layout tree: its one-line text form, the node kinds, worked examples and how a disagreement's path is named, and the generator now emits each declared message's tree (WireLayout.TreeText and Tree, carried in WireLayoutData), held to the empty path the facts check proves. Message-audit-design marks the generator's trees built; Repository-layout and Roadmap take run 38863032351, 251 of 251.

    @rebaserHEAD rebaserHEAD committed Oct 16, 2026
  • Leave how feature areas are drawn open on the audit page The first area's messages don't all fall in one block of opcodes, so the boundary rule is still being settled; an area's name groups messages and claims nothing about them.

    @rebaserHEAD rebaserHEAD committed Oct 16, 2026
  • Re-verify against bootstrap cb985d3 with the stricter verification rules A message at Purpose needs a name of its own in place of its neutral number, and a member keeping its neutral name at Fields begins its summary with 'The client gives this value no meaning.' (run 38857101195, 224 of 224). The blame-ignore list now skips the neutral rename too.

    @rebaserHEAD rebaserHEAD committed Oct 16, 2026
  • Re-verify against bootstrap 2ee1445 at the close of the audit's first stage The verification check reads every wire member whatever its accessibility, across all three model projects (run 38855029660, 223 of 223).

    @rebaserHEAD rebaserHEAD committed Oct 16, 2026
  • Re-verify against bootstrap 9c93c58 with the wire models under the analysers Network.World and Network.Auth no longer opt out of the analysers, code style or nullable reference types, and nothing suppresses NTC003 or NTC006 (run 38852967763, 221 of 221). Code-standard loses three suppression rows and the nullable exception, Repository-layout its Off column and first known edge, Codec-design its NoWarn sentence; the audit's step 3 is marked done.

    @rebaserHEAD rebaserHEAD committed Oct 16, 2026
  • Re-badge every code page to bootstrap fadf745 Branches-and-workflow and Running-the-tests describe nothing the CONTRIBUTING.md change touched; the verified dates move to the day of the check.

    @rebaserHEAD rebaserHEAD committed Oct 16, 2026
  • Re-verify against bootstrap fadf745 with the verification check in The Verified attribute and the registry verification tests are built: 927 declared messages, none read to fields, all pinned as unverified (run 38852302801, 221 of 221). Code-standard states the documentation rule for wire messages as CONTRIBUTING.md now does, with the CS1591 suppression; Repository-layout, Codec-design, Message-audit-design and Roadmap record what's built.

    @rebaserHEAD rebaserHEAD committed Oct 16, 2026
  • Name messages by opcode after the neutral rename No old message name exists in the code since bootstrap 86b7f28, so pages name each message by its opcode and describe it only where what it does is established: milestone one's table, the crowd-control pair, the codec's example and errata, the facts check's table, the irregular shapes. House style states the rule. Re-verified against 86b7f28, run 38851638578, 215 of 215.

    @rebaserHEAD rebaserHEAD committed Oct 16, 2026
  • Record the audit alternatives that were actually weighed The rejected table now holds the five choices made when the audit was decided, replacing reasons derived from the design's purpose.

    @rebaserHEAD rebaserHEAD committed Oct 16, 2026
  • Add the message audit's design A published design page for checking every message against the client before more feature work: the five rungs, the Verified attribute and its shrinking-list test, the use gate at dispatch, neutral names, the full-layout tree check, feature areas, the generated protocol reference, and the order of the work. Linked from Home, the sidebar, Codec-design, Roadmap and the systems table.

    @rebaserHEAD rebaserHEAD committed Oct 16, 2026