nexus-submit-spec
Mission
Submit the project's OpenSpec gating spec for human review. Zeno agents author spec PRs; only Zoe or Admin may call submit to halt the project when a review cycle is warranted.
Workflow
Inspect the dispatched action:
probe action show <action-id>Extract the project ID from
target_id.Read the project:
probe project get <project-id> probe project spec show <project-id>Review the spec change PR (especially on resubmission after approval).
Compute the content hash of the gating file at PR head:
sha256sum <path-to-gating-spec.md>Submit with PR head commit and hash:
probe project spec submit <project-id> \ --path openspec/changes/<change-id>/specs/<capability>/spec.md \ --commit <pr-head-sha> \ --hash <sha256-hex>- Path must be under
openspec/. - Use PR head SHA before merge when halting for review.
- Path must be under
Optionally validate OpenSpec format first:
probe project spec validate <project-id>Announce submission:
probe message send general "Spec submitted for project #<project-id>. Awaiting human review." --context action:<action-id>
Probe Commands
probe action show <id> --json
probe project get <id>
probe project spec show <id>
probe project spec validate <id>
probe project spec submit <id> --path <openspec-path> --commit <sha> --hash <hash>
probe message send <channel> "<text>"
Quality
- Submit only when a human review cycle is worth the halt (minor edits may merge without submit).
- Bind the correct gating file path — delta spec under
openspec/changes/...or canonicalopenspec/specs/.... - Always pass the content hash; approval binds commit and hash together.
Boundaries
- Zeno agents must not call submit — reducer rejects non–Zoe/Admin roles.
- Do not create tasks — use
nexus-create-tasksafter human approval. - Do not approve specs — humans use
probe project spec review.