diff --git a/manifest.json b/manifest.json index a30cf1b..efbc545 100644 --- a/manifest.json +++ b/manifest.json @@ -519,6 +519,11 @@ "slug": "speed-import", "path": "workflows/speed-import.workflow.json", "updated_at": "2026-07-30T18:00:00Z" + }, + { + "slug": "catalog-launch-guard", + "path": "workflows/catalog-launch-guard.workflow.json", + "updated_at": "2026-07-31T23:20:00Z" } ] } diff --git a/workflows/catalog-launch-guard.workflow.json b/workflows/catalog-launch-guard.workflow.json new file mode 100644 index 0000000..9ccecef --- /dev/null +++ b/workflows/catalog-launch-guard.workflow.json @@ -0,0 +1,215 @@ +{ + "revision": "2026-07-31-v3-deterministic-artifacts", + "slug": "catalog-launch-guard", + "name": "Catalog Launch Guard", + "description": "Audit every catalog record before launch, separate confirmed blockers from legitimate merchandising structures, and publish an evidence-backed red/amber/green dashboard plus CEO page brief. Read-only against Fluid; no automatic merge, delete, repricing, or publish action.", + "maxParallel": 2, + "finalGate": { + "stepId": "launch-gate-review", + "allowNeedsReview": false + }, + "steps": [ + { + "id": "catalog-evidence", + "name": "Capture complete catalog", + "prompt": "Capture a fresh, complete, read-only catalog evidence set for the active company. This is a launch audit, not an import.\n\nArtifact contract (applies to this step): all run artifacts live under the run's artifact directory; every count, list, percentage, and hash you report must be printed by a verification script executed with `run_cli` as `npm exec --yes -- node