feat(enrichment): add enrichment twin command suite#53
Conversation
Wires `prophet enrichment` with four subcommands covering the full K3
mission lifecycle:
- run: drives INIT_SESSION → GATED_HOST_UPDATE; default locus
local; burst_cloud refused without seed approval_profile
- validate: runs genesis-seed-schema, path-content-conflict, placement-
locus-policy, and spine gate checks before any run
- status: shows architecture-phase DoD state including ADR-0002 closure
- lifecycle: lists all 8 K3 stages with descriptions and approval gates
Adds three Makefile smoke targets to the validate chain. Build verified
with CGO_ENABLED=0; `prophet enrichment status` and dry-run produce correct
JSON.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: d492481624
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| runEnrichmentGate("spine-gates", | ||
| "", []string{}), // delegated to prophet spine validate |
There was a problem hiding this comment.
Wire spine validation instead of a placeholder
When prophet enrichment validate is run in any environment, this entry calls runEnrichmentGate with an empty repo and step list, which returns status: "not-yet-wired"; the aggregation below only treats "ok" as passing, so the new validate command can never report success even if the three concrete enrichment gates pass. Since this command is advertised as running the spine gate checks before a mission, invoke prophet spine validate (or don't include this placeholder in the pass/fail set) instead of hard-coding a failing gate.
Useful? React with 👍 / 👎.
Summary
prophet enrichmentcommand with four subcommands:run,validate,status,lifecyclerundrives the full K3 lifecycle (INIT_SESSION → GATED_HOST_UPDATE) with dry-run support; default locuslocal;burst_cloudrefused without explicit seed approvalvalidateruns genesis-seed-schema, path-content-conflict, placement-locus-policy, and spine gate checksstatusshows architecture-phase DoD state includingadr_0002_decisions_closed: truelifecyclelists all 8 K3 stages with descriptions; marksGATED_HOST_UPDATEasapproval_required: truevalidatetarget chainTest plan
CGO_ENABLED=0 make validatepasses all checks including new enrichment smoke targetsprophet enrichment run --seed seed:enrichment/photo-v1 --dry-runproduces full lifecycle traceprophet enrichment statusshowsadr_0002_decisions_closed: true,end_to_end_local_run: falseprophet enrichment lifecyclelists all 8 stages withGATED_HOST_UPDATEmarkedapproval_requiredprophet enrichment run --locus burst_cloudrejected with approval gate error