Document TaggedMessage and correct which messages travel tagged
0x038C is TaggedMessage, verified to its fields: one message under a tag
fixed by its opcode. The client sends tagged messages before the world as
well as in it, and sends others on their own, so pregame isn't untagged as
the pages said. What each tag stands for is our reading, not yet verified.
Counts from run 39006780626: 48 read to fields, 1,071 unverified.
Document UnitCreate at purpose, bootstrap c136cc7
0x0262 is UnitCreate, verified to its purpose. The facts check treats two
more pairs of forms as the same bits, which with three corrected arms
settles 48 pins: 1,030 agree and 104 are pinned. The reference pages are
regenerated; counts from run 39003475287, 289 tests.
Document LoginRequest at fields, bootstrap f1e5c15
LoginRequest is verified to its fields, so pregame has 41 of its 42. The
reference pages are regenerated, which also corrects how many strings a
realm notice carries. Client protocol says what the login request holds and
drops its own trust row; counts from run 38973272246: 47 read to fields,
1,072 unverified.
Document world entry at bootstrap 7c68ecc
Six world-entry messages verified to their fields: the reference pages
regenerated, Client protocol follows the conversation to the end of the
loading screen, and Roadmap's milestone one table takes their names and the
client's WorldReady. Counts from run 38972717843: 273 tests, 46 read to
fields, 1,073 unverified. Repository layout carries the reference tool's two
new tests.
Publish the generated message reference at bootstrap 58cb3ba
Messages and a page per area, generated by Tools/NexusTomorrow.ProtocolReference
at 58cb3ba: 1,119 messages on 40 pages. Home, the sidebar, Client protocol,
Codec design and Message audit design link it. Repository layout gains the
Tools folder, the generator and its tests; the counts move to 271 tests in six
applications. Code pages re-verified against 58cb3ba, run 38964363277.
Re-verify against bootstrap c6b56e9, pins that carry their problem
Each facts-check pin records the exact problem it covers, and the check fails when that text changes (run 38955532713, 263 of 263; counts unchanged).
Record pregame done for milestone one, at bootstrap b9b7eea
Character creation reaches Fields: 40 of pregame's 42 messages are verified to their fields (run 38939303230, 263 of 263; 40 read to fields, 1,079 unverified). LoginRequest stays at Purpose and 0x03EF unverified. Roadmap names milestone one's next areas.
Record the character list and world entry at Fields, at bootstrap 585b32a
Pregame has 39 messages verified to their fields (run 38935110817, 263 of 263; 39 read to fields, 1,080 unverified); two stay at Purpose. EnterWorld's three floats are a point the world loads around, not the character's position, so milestone one's table says so.
Record pregame's value sets, 36 messages at Fields, at bootstrap 25218fd
Checking the values the client's interface names raised twelve pregame messages to Fields; five stay at Purpose until both readings agree on their last fields (run 38925236863, 263 of 263; 36 read to fields, 1,083 unverified). The audit page states the rule for naming a value.
Publish the first verified area, pregame, at bootstrap cd601a0
41 pregame messages carry the names the client check gave them, 24 verified to their fields; the facts table corrected ten of its own rows, so 1,022 messages agree and 152 disagreements are pinned (run 38915570345, 263 of 263). Roadmap names EnterWorld in milestone one's table, Repository-layout and Codec-design name the shared and envelope messages, and the audit page states the two-reading rule and the progress line.
Re-verify against bootstrap 64dba89 at the close of the audit's full-layout step
CI gains a method-words check beside the em dash scan; Code-standard, Repository-layout, Running-the-tests and Branches-and-workflow list it. Message-audit-design marks the full-layout step done after its review (run 38879621476, 263 of 263; 1,015 of 1,119 agree, 157 pinned, none verified yet).
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.
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).
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.
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.
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).
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.
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.
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.
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.
Re-verify against bootstrap c5b0774 after the old code's deletion
The converter, the equivalence harness, the frozen copy of the old models and the old packet layer are gone; the facts check is the proof that remains (run 38847142696, 215 of 215; 873 of 927 agree, 55 pinned). Codec-design compresses the conversion and its proof into a past-tense record, gives the facts check and the irregular shapes sections of their own, and lists what was retired. Repository-layout, Code-standard and Roadmap lose the deleted projects, suppressions and counts; Server-core-design stops listing the converter as a tool.
Bring the core design up to one world, the gateway and public hosting
Server-core-design takes the new names (message queue, gateway, write-behind queue, AOI, conflation, handoff, TCC), one world with no layering, routing by an opcode table with priorities, rate limits and kill switches, the realm as modules, pooled and dedicated map threads, tick and update interval per instance type, sleeping cells, AOI tiers, the gateway's login exchange, the hardened client ports, the two unsent-bytes limits, the write-behind sequencer and load workers, the private pack, the portal's recovery and source link, and a Hosting section. Roadmap drops public hosting from out of scope and states one world and public hosting as goals.
Re-verify the code standard at bootstrap 09b1435
- The opcode file now suppresses only CA1707, for the one number-named opcode, until the snapshot goes.
Re-verify the wiki at bootstrap eff7f77 with the facts check pinned
- Replace the survey with the pinned test's categories: 65 bits, 41 fields, 2 reordered, 4 parts, 2 rows, 1 direction, 1 arm.
- Correct the two-problem message: both problems are on one side, pinned together.
- 268 tests in run 38723274664.
Re-verify the wiki at bootstrap 4daf352 with the old methods stripped
- The world and auth models are pure declarations; the generated WireMessages registry replaces the reflection registration.
- Correct the world and auth suppression reason, and the suite's 267 tests from run 38722636735.
Re-verify the wiki at bootstrap 0f25afd after the harness review
- Say plainly the review found three critical false passes and four lesser ones, and how each is closed.
- 1,227 of 1,281 types proven over 37 seeds, 28 through holders, 26 excluded, run 38715582093.
- 263 tests, and 7 value limits among the pinned rules.
Re-verify the wiki at bootstrap b331685 after the stage 2 review
- 256 tests in run 38712471472.
Re-verify the wiki at bootstrap a537b5e with the harness mapping in
- Rewrite the equivalence section: how a pair is checked, how the old layouts are followed, how the harness proves itself, and where it stands.
- 1,228 of 1,281 types proven bit for bit; the 26 exclusions left are all old-code defects for stage 3.
- 251 tests in run 38710347373, and step 2's status on the roadmap.
Re-verify the wiki at bootstrap cb1fc7f, with every model declared
- Mark stage 2's conversion done: 1,179 of 1,281 types proven, 5 through holders, 97 pinned exclusions.
- 239 tests in run 38706868953, and step 2's status on the roadmap.
Re-verify the wiki at bootstrap a805509 after the first hand batch
- List the twelve pinned exclusions in three groups, each with its reason.
- 1,142 of 1,254 models converted; 1,129 of 1,143 declared types proven in run 38704526527.
- 235 tests, and step 2's status on the roadmap.