Skip to content

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

Description

@sethpjacobs

Summary

Decapod 0.96.4 can place an agent in an unsatisfiable publication state:

  1. Workspace publication requires a material authored change under .decapod/managed/specs/*.md.
  2. The generated agent contract prohibits agents from directly mutating .decapod/* and requires all access through the Decapod CLI.
  3. The available specs.refresh operation only refreshes attestations and explicitly does not satisfy the material-edit gate.

In addition, an unrelated completed-but-unverified todo blocks publication from a separate todo-scoped workspace.

Environment

  • Decapod: 0.96.4
  • Repository custody: worktree
  • Workspace: isolated, non-protected feature branch
  • Platform: macOS

Reproduction

  1. Create and claim a todo.
  2. Create an isolated workspace with decapod workspace ensure.
  3. Make and test a small application change.
  4. Run decapod validate or decapod workspace publish.

Observed failures:

PROOF_HOOK_FAILED: 1 done TODO(s) are CLAIMED but not VERIFIED: code_01kz8e93mabwgb8w.

STALE_SPECS_FINGERPRINT: Significant repo surfaces changed since last specs refresh. Review and rewrite living-spec authored prose ... fingerprint/attestation refresh alone is insufficient ... then call decapod rpc --op specs.refresh.

The unverified todo belongs to unrelated prior work. The current workspace has its own claimed todo, governed plan, trajectory, passing focused tests, and clean lint results.

Contract conflict

The generated AGENTS.md states both:

  • Each PR needs a material authored living-spec rewrite.
  • Do not mutate .decapod/ state directly; all access must use the CLI.

No CLI operation appears to support authoring the required living-spec prose. decapod rpc --op specs.refresh is documented as insufficient for this gate. Consequently, an agent cannot reach a publishable state while obeying the generated contract.

Expected behavior

  • Provide a sanctioned CLI/RPC operation for material living-spec authoring, or narrow the direct-mutation prohibition so agents may edit the authored portions of .decapod/managed/specs/*.md.
  • Scope proof-hook publication checks to the current todo/workspace, or report unrelated stale todos as repository-level warnings rather than blocking an independent PR.
  • If human intervention is intentionally required for living-spec prose, make that decision gate explicit before implementation and provide a deterministic handoff/recovery command.

Actual behavior

Publication is blocked with no agent-permitted recovery path. decapod govern artifacts inventory --repair does not resolve either failure, and decapod workspace publish exits after validation.

Additional note

Warnings about machine-local session storage fallback and Docker socket permissions were also present, but appear unrelated to these two publication failures.

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingdocumentationImprovements or additions to documentationfeedbackFeedback loop and governance improvementsproofProof system and evidence alignmentuxUser experience and ergonomicsvalidationWorkspace and toolchain validation

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions