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
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
plans/plan_xnb.md— status banner and the 'Nothing here is implemented yet' line beneath itmodules/content/src/Xnb/XnbBuiltInReaders.cpp— RegisterAllBuiltInXnbReadersmodules/content/tests/CNA/Internal/Xnb/XnbBuiltInReaderRegistrationTests.cpp— FreshContentManagerLoadsAModelFixtureWithNoOtherSetupdocs/xnb-content-pipeline-support.md— the current reference the plan names
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.
Related pages
The same subject is explained at several altitudes. These are the neighbouring pages at each one.
- User guide
- XNB content guide
- Internals
- Content runtime: the XNB path
- Known issues
- Bug index