CNA-BUG-228: plans/plan_xnb.md still says 'Nothing here is implemented yet - every row starts ⬜' beneath a status banner that records every XNB reader phase but H and I complete

CNA snapshot 3b43bd86  ·  Known Issues › Current bugs  ·  source links pinned to 3b43bd86

✓

Evidence basis: source-verified at the pinned commit; tests exist (not executed for this page). Claims on this page were checked by reading the CNA source at commit 3b43bd86; unless a sentence says otherwise, nothing here was built or executed. Nothing on this page was executed unless the Evidence section says so.

The XNB design note misc/xnb.md, which made the same contradiction, was removed on 2026-10-25; its companion task list, now the plan of record, still opens with a banner calling Phases 0 to G complete and then states that nothing in it is implemented.

Identifier
CNA-BUG-228
Category
Bug
Subsystem
Documentation & release tooling
Status
Narrowed (partially fixed; describes only what survives)
Verified against
CNA 3b43bd86 (3b43bd8687ed46523d873f9bec4b32bd8481dcb5)
Severity
Low (a triage suggestion, not a project priority)
Evidence basis
Source-verified: read at TARGET, not executed
Tests touching this area
Yes: see Current tests
Affected contract
plans/plan_xnb.md, the task plan and status record of the ContentManager / ContentTypeReaderManager .xnb reader

Expected behaviour

A plan's status should be stated once and agree with its own rows and with the code. plans/plan_xnb.md is the plan the removed design note pointed to, and its rows are marked done.

Actual behaviour at TARGET

The banner of plans/plan_xnb.md records the MVP phases (0, A, B, B2, B3, C), LZX decompression (D), the SpriteFont, stock-effect, SoundEffect/Song and ReadExternalReference<T>() readers (E), the Model readers (F), the Texture3D/TextureCube readers (D3) and the hardening phase (G) as complete, “only Phase H (cancelled) and Phase I (still deferred) remain”. The paragraph directly below it, which also says that misc/xnb.md was removed “once every phase it describes had landed or been cancelled”, still reads in bold “Nothing here is implemented yet — every row starts ⬜”, and the banner itself ends by saying that everything after Phase F (“top-quality hardening, Phase D3/G onward”) remains frozen, although it opened by calling D3 and G complete. The rows are ✅, and XnbBuiltInReaders.cpp registers the Model reader (RegisterModelXnbReaders, ModelContentTypeReaders.cpp), which XnbBuiltInReaderRegistrationTest.FreshContentManagerLoadsAModelFixtureWithNoOtherSetup loads.

Source locations

Evidence

Checked by reading at 3b43bd86; not executed. The file moved from the repository root to misc/ on 2026-10-11 (2e92bbc72) without a change to these lines. The other CNA documents that used to say CNA cannot read .xnb (the migration guide, the API coverage document, the docs index, AUDIT.md) have been corrected or removed; the coverage snapshot that still listed “.xnb content loading” as out of scope was deleted (96c6e77be). The known-limitations list of the released changelog (CHANGELOG.md, section 0.1.0-alpha.1) still says that Content has no general .xnb reader, which is accurate history for that release.

Narrowed at 3b43bd86: cc8a9d84a removed misc/xnb.md, whose line “Status: planning document only. Nothing described here is implemented yet.” this entry first quoted; docs/xnb-content-pipeline-support.md is the current reference. The same commit rewrote the plan paragraph that pointed to the note but left its bold status line, which was already there at the previous pin. Not executed.

Focused reproduction

No focused reproduction is known. Nothing has been invented here; the evidence above is what exists.

Current tests

The reader is well tested (XnbBuiltInReaderRegistrationTests.cpp and the ContentManager*XnbTests under modules/content/tests); no check reads plan documents.

Regression test

None applies; the fix is editorial: delete or date the “Nothing here is implemented yet” line and the “remains frozen” sentence of the banner.

Blast radius

Readers of CNA's plans, including contributors and coding agents that CNA's instructions send to the plans before they work, may conclude that .xnb loading is unimplemented. No code is affected.

Workaround

Use docs/xnb-content-pipeline-support.md and docs/xna-content-pipeline-final-audit.md for current reader coverage.

The same subject is explained at several altitudes. These are the neighbouring pages at each one.

Known issues
Bug index