Problem
Three first-contact surfaces are wrong today. (1) FirstClassErrors/README.nuget.md:30 advertises "16 Roslyn analyzers in the box (FCE001–FCE016)" while the product ships 18 (FCE001–FCE018) — drift in the flagship anti-drift claim, on the nuget.org page every evaluator reads first. (2) FirstClassErrors.Cli/README.nuget.md lists fce renderer add|list|remove (real path: fce config renderer add|remove|list), says config show prints the "resolved" configuration (it prints the raw file), and omits fce catalog update/fce catalog diff entirely — the feature the release pipeline is built around. (3) The repository README.md install section instructs dotnet add package FirstClassErrors.RequestBinder (line 118) and dotnet tool install --global FirstClassErrors.Cli (line 124) — neither package exists on nuget.org (verified: BlobNotFound). Bonus: RendererRemoveCommand.cs:19 tells users to run the nonexistent fce init (real: fce config init).
Impact
A new user following the published instructions hits a command-not-found or package-not-found at step one, and never learns the catalog-versioning feature exists.
Direction
- Correct the analyzer count (16→18, FCE001–FCE018).
- Fix the CLI README command tree, the
config show wording, and add the catalog commands with a pointer to the versioning guides.
- In the repo README, mark the unpublished installs as "coming with the first lib/cli release" (or publish them), and fix the
fce init message.
- Consider a tiny
tools/-style count guard deriving the analyzer count from DiagnosticIds.cs so README counts cannot drift again.
Acceptance criteria
- Every command and package named in the three READMEs exists exactly as written (or is explicitly marked unreleased).
- The analyzer count matches
DiagnosticIds.cs.
- The catalog commands are discoverable from the CLI package README.
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, §12.1/§14-C3; branch claude/firstclasserrors-audit-83gap7).
Problem
Three first-contact surfaces are wrong today. (1)
FirstClassErrors/README.nuget.md:30advertises "16 Roslyn analyzers in the box (FCE001–FCE016)" while the product ships 18 (FCE001–FCE018) — drift in the flagship anti-drift claim, on the nuget.org page every evaluator reads first. (2)FirstClassErrors.Cli/README.nuget.mdlistsfce renderer add|list|remove(real path:fce config renderer add|remove|list), saysconfig showprints the "resolved" configuration (it prints the raw file), and omitsfce catalog update/fce catalog diffentirely — the feature the release pipeline is built around. (3) The repositoryREADME.mdinstall section instructsdotnet add package FirstClassErrors.RequestBinder(line 118) anddotnet tool install --global FirstClassErrors.Cli(line 124) — neither package exists on nuget.org (verified: BlobNotFound). Bonus:RendererRemoveCommand.cs:19tells users to run the nonexistentfce init(real:fce config init).Impact
A new user following the published instructions hits a command-not-found or package-not-found at step one, and never learns the catalog-versioning feature exists.
Direction
config showwording, and add the catalog commands with a pointer to the versioning guides.fce initmessage.tools/-style count guard deriving the analyzer count fromDiagnosticIds.csso README counts cannot drift again.Acceptance criteria
DiagnosticIds.cs.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, §12.1/§14-C3; branchclaude/firstclasserrors-audit-83gap7).