Problem
DocumentationContractVersionAttribute's XML docs state: "The generator reads this value from the target assembly to detect a contract it was not built to extract; an assembly published without the attribute is treated as contract version 1." No code in GenDoc, the Worker, or the reader reads the attribute — its only consumers are its own two unit tests. The cross-version safety it describes is covered only indirectly by the coarse GENDOC_WORKER_OUTPUT_UNREADABLE error.
Impact
A maintainer would reasonably rely on a guard that does not exist — in the subsystem whose whole point is that documented claims are enforced.
Direction
- Preferred: make the worker (or reader) read the attribute from the target assembly and record a structured extraction failure (or a new
GENDOC_ code, extending the ADR-0009/0010 catalog) when the target declares a newer contract than the tool understands.
- Alternative (if not wanted for v1): rewrite the attribute's XML doc to describe the check as reserved/forward-looking.
Acceptance criteria
- Either a target assembly declaring contract version N+1 produces a named, documented failure surfaced through the normal pipeline — or the XML documentation no longer claims that it does.
Context
Surfaced by the 2026-07-20 architecture, design & ecosystem audit (doc/handwritten/for-maintainers/audit/2026-07-20-firstclasserrors-architecture-and-design-audit.md, §8.2-GenDoc/§14-HV14; branch claude/firstclasserrors-audit-83gap7).
Problem
DocumentationContractVersionAttribute's XML docs state: "The generator reads this value from the target assembly to detect a contract it was not built to extract; an assembly published without the attribute is treated as contract version 1." No code in GenDoc, the Worker, or the reader reads the attribute — its only consumers are its own two unit tests. The cross-version safety it describes is covered only indirectly by the coarseGENDOC_WORKER_OUTPUT_UNREADABLEerror.Impact
A maintainer would reasonably rely on a guard that does not exist — in the subsystem whose whole point is that documented claims are enforced.
Direction
GENDOC_code, extending the ADR-0009/0010 catalog) when the target declares a newer contract than the tool understands.Acceptance criteria
Context
Surfaced by the 2026-07-20 architecture, design & ecosystem audit (
doc/handwritten/for-maintainers/audit/2026-07-20-firstclasserrors-architecture-and-design-audit.md, §8.2-GenDoc/§14-HV14; branchclaude/firstclasserrors-audit-83gap7).