CNA-BUG-061: README.md, docs/coverage.md and docs/xna-4-api-coverage.md still report 3,467/3,627 runtime members and 160 gaps; the generated report says 3,627/3,627
Evidence basis: source-verified at the pinned commit. Claims on this page were checked by reading the CNA source at commit 009d40f5; unless a sentence says otherwise, nothing here was built or executed. Nothing on this page was executed unless the Evidence section says so.
CNA's root README and two coverage documents print the pre-closure XNA runtime member figure (3,467 of 3,627, 95.59%, 160 gaps), while the generated member report they point to records 3,627 of 3,627 represented and none missing.
- Identifier
CNA-BUG-061- Category
- Bug
- Subsystem
- Documentation & release tooling
- Status
- Open
- Verified against
- CNA
009d40f5(009d40f5dd085c4e674d3479675fac84b12b3e0a) - Severity
- Low (a triage suggestion, not a project priority)
- Evidence basis
- Source-verified: read at TARGET, not executed
- Tests touching this area
- None
- Affected contract
- README.md project-status headline and the documents that restate it; docs/xna-4-runtime-member-coverage.md (generated by tools/audit_xna_runtime_surface.py)
Expected behaviour
A headline representation count equals the generated report it cites. Representation is not behavioural parity; the point is only that the two figures agree.
Actual behaviour at TARGET
README.md: “331 of 331 public types (100.00%) and 3,467 of 3,627 documented non-type members (95.59%) ... The member audit lists all 160 remaining gaps”. docs/xna-4-api-coverage.md repeats “3,467/3,627 ... lists all 160 gaps”, and docs/coverage.md says the audit “now reports ... 3,467/3,627”. The report they cite, docs/xna-4-runtime-member-coverage.md, states “Strict documented members: 3627 / 3627 (100.00%)” and “C++-applicable members: 3627 / 3627”, with MISSING 0 and NEEDS_REVIEW 0; its JSON twin agrees. The headline understates the represented surface by 160 members and points readers to a gap list that no longer exists.
Source locations
README.md— Documented XNA 4.0 runtime API surface linedocs/xna-4-api-coverage.md— Current runtime type-surface resultdocs/coverage.md— opening paragraph of the historical snapshotdocs/xna-4-runtime-member-coverage.md— generated report: 3627 / 3627, MISSING 0docs/xna-4-runtime-member-coverage.json— machine-readable reporttools/audit_xna_runtime_surface.py— main: --write-reports writes only the member reports, not the README
Evidence
Checked by reading the four documents and audit_xna_runtime_surface.py at 009d40f5; the audit was not rerun (it needs the Microsoft reference XML). No workflow or CTest runs the audit or compares the README with it. plans/plan_xna_runtime_surface.md also still quotes 3,467/3,627 as “the current report”, inside a dated planning record.
Focused reproduction
No focused reproduction is known. Nothing has been invented here; the evidence above is what exists.
Current tests
tools/test_audit_xna_runtime_surface.py tests the audit tool itself; nothing checks the prose figures.
Regression test
A small check (CTest or workflow step) that extracts every N / 3,627-style member fraction from README.md and the coverage documents and fails when it differs from docs/xna-4-runtime-member-coverage.json.
Blast radius
Anyone judging CNA's XNA API representation from the README or those two documents; no behaviour is affected.
Workaround
Use docs/xna-4-runtime-member-coverage.md as the authority.
Related pages
The same subject is explained at several altitudes. These are the neighbouring pages at each one.
- Deep dives
- Compatibility and evidence: counts
- Known issues
- Bug index