Skip to content

fix: make stale-spec validation errors actionable for agents - #1198

Merged
alexhraber merged 3 commits into
masterfrom
agent/unknown/todo-01kz9v-plus-1-1785966668
Aug 6, 2026
Merged

fix: make stale-spec validation errors actionable for agents#1198
alexhraber merged 3 commits into
masterfrom
agent/unknown/todo-01kz9v-plus-1-1785966668

Conversation

@alexhraber

@alexhraber alexhraber commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Makes OUT_OF_SYNC_SPECS and STALE_SPECS_FINGERPRINT failures operationally actionable: refresh with decapod rpc --op specs.refresh, inspect, and retry validation.
  • Preserves the material living-spec and proof-publication gates described in Issue Stale-spec validation can intermittently leave agents without an actionable recovery path to publication #1197; stale validation remains incomplete work and does not weaken invariants.
  • Repairs compacted Markdown in existing managed specs and applies the same layout normalization in the scaffolding template.
  • Validation now guards spec layout and Mermaid blocks (closed fences, supported declarations, and balanced delimiters), with actionable remediation.
  • Consolidates implementation, regenerated specs/fingerprints, governance artifacts, and generated entrypoints into the first PR commit.
  • All four entrypoints carry fresh SHA fingerprints. The managed Dockerfile is aligned with the current 0.96.6 release already present on master.

Validation

  • cargo fmt --check
  • cargo build --bin decapod
  • DECAPOD_VALIDATE_SKIP_GIT_GATES=1 target/debug/decapod validate --store user --format json (status: ok, fail_count: 0)
  • git diff --check

The local full library suite previously reached 267/268; the remaining pre-existing LCM test failure is no such table: lcm_events in its temporary store setup. Hosted CI is the authoritative full-suite check. Runtime behavior remains unchanged apart from actionable validation diagnostics and structural documentation guards.

@alexhraber
alexhraber force-pushed the agent/unknown/todo-01kz9v-plus-1-1785966668 branch 2 times, most recently from 821d597 to 757d431 Compare August 6, 2026 01:21
Comment on lines +2083 to +2084
&auto_remediable_validation_message(
"OUT_OF_SYNC_SPECS",

@alexhraber alexhraber Aug 6, 2026

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this solves the concern of PR #1197

} else {
fail(
"STALE_SPECS_FINGERPRINT: Significant repo surfaces changed since last specs refresh. Review and rewrite living-spec authored prose (INTENT/ARCHITECTURE/INTERFACES/VALIDATION/…) to account for the code change — fingerprint/attestation refresh alone is insufficient (see FINGERPRINT_ONLY_SPECS / GitHub #1183) — then call `decapod rpc --op specs.refresh`.",
&auto_remediable_validation_message(

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this also solves the concern of PR #1197

@alexhraber
alexhraber force-pushed the agent/unknown/todo-01kz9v-plus-1-1785966668 branch from 757d431 to 9b6e52d Compare August 6, 2026 01:51
@alexhraber
alexhraber force-pushed the agent/unknown/todo-01kz9v-plus-1-1785966668 branch from 9b6e52d to 025ab65 Compare August 6, 2026 01:57
@alexhraber
alexhraber merged commit 6f24d54 into master Aug 6, 2026
35 checks passed
@alexhraber
alexhraber deleted the agent/unknown/todo-01kz9v-plus-1-1785966668 branch August 6, 2026 02:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Stale-spec validation can intermittently leave agents without an actionable recovery path to publication

1 participant