Skip to content

docs/reference/configuration.md: wrong detail — verify-annex-iv --pipeline: "Exit 0 on clean manifest, 1 on config / chain violation, 2 on runtime I/O failure." (DOC-D1B01-008) #150

Open

Description

@cemililik

Wave 1 · theme D1-10: Documentation-only fixes · highest severity High · 1 finding(s) · effort docs fix

Summary

A CI pipeline wired to this table treats a tampered chain (exit 6) as an unknown code, and alarms keyed on exit 1 never fire for tampering.

Primary finding

DOC-D1B01-008 — docs/reference/configuration.md: wrong detail — verify-annex-iv --pipeline: "Exit 0 on clean manifest, 1 on config / chain violation, 2 on runtime I/O failure."

severity High · already tracked: KNOWN-OPEN C31-EXIT-CODE-PROSE — docs/roadmap/phase-16-trust-surface-hardening.md:782-785

Where. docs/reference/configuration.md:471 (Turkish mirror: docs/reference/configuration-tr.md:462) · type: wrong detail

The document says. verify-annex-iv --pipeline: "Exit 0 on clean manifest, 1 on config / chain violation, 2 on runtime I/O failure."

What the code does. Structural, chain-integrity and per-stage-evidence violations exit 6 (EXIT_INTEGRITY_FAILURE), and integrity takes precedence. Exit 1 covers only an absent or unparseable manifest and unattested evidence; exit 2 covers I/O failures.

Code references. forgelm/cli/subcommands/_verify_annex_iv.py:66-133, forgelm/cli/_exit_codes.py:39

User impact. A CI pipeline wired to this table treats a tampered chain (exit 6) as an unknown code, and alarms keyed on exit 1 never fire for tampering.

Proposed correction. "Exit 0 on a clean manifest; 6 when the manifest parsed but failed a structural, chain-integrity or per-stage-evidence check (tampering signal); 1 when the manifest is missing or unparseable or the stage evidence is unattested; 2 on a runtime I/O failure."

Turkish mirror. the Turkish page has the same error; fix both in the same PR

Acceptance criteria

  • Each statement is re-checked against the code at fix time.
  • Documentation listed above is corrected in English and in its Turkish mirror in the same PR.
  • Every finding in this issue is resolved or explicitly closed with a reason.

Found by the October 2026 ForgeLM code and documentation review against commit cab2947. Code links point at that commit; line numbers may have moved since. Finding IDs (CR-…, DOC-…, TECH-…) are stable references for this backlog.

Metadata

Metadata

Assignees

No one assigned

    Labels

    backlog: knownAlready tracked in docs/roadmapblockedWaits for another issue (see Blocked by); set and removed automatically, never by handdocumentationImprovements or additions to documentationseverity: highWrong behaviour or a false claim users rely onsource: review-2026-10Found by the October 2026 code and documentation reviewwave: 1Roadmap wave 1: high severity, small effort

    Type

    No type

    Projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions