Artifact Contract Auditor
Purpose: make each workspace auditable and shareable.
This skill checks two contracts:
-
Units contract: if a unit is marked DONE , its required outputs must exist.
-
Pipeline contract: the pipeline’s target_artifacts (from the pipeline spec referenced by PIPELINE.lock.md ) should exist for a complete run.
It always writes a report so workspaces can serve as regression baselines.
Inputs
-
UNITS.csv
-
PIPELINE.lock.md
-
Pipeline spec referenced by PIPELINE.lock.md (under pipelines/*.pipeline.md ; reads YAML target_artifacts )
Outputs
- output/CONTRACT_REPORT.md
Workflow (analysis-only)
-
Read UNITS.csv and validate DONE outputs
-
For every unit with status=DONE , verify each required output exists.
-
Outputs prefixed with ? are treated as optional and do not fail the contract.
-
Read PIPELINE.lock.md and validate pipeline target artifacts
-
Resolve the pipeline spec under pipelines/*.pipeline.md and load target_artifacts from its YAML front matter.
-
Resolve the pipeline spec path and load target_artifacts from its YAML front matter.
-
If the pipeline is complete (all units are DONE/SKIP ), verify each required target_artifacts file exists.
-
Write output/CONTRACT_REPORT.md (always)
-
Include missing DONE outputs (unit-level drift) and missing pipeline targets (pipeline-level completeness drift).
Status semantics
-
PASS : pipeline complete (all units DONE/SKIP ) AND all required target artifacts exist AND no DONE unit is missing required outputs.
-
OK : pipeline incomplete (still running) BUT DONE unit outputs are consistent; missing targets are expected.
-
FAIL : at least one DONE unit is missing required outputs OR pipeline is complete but required target artifacts are missing.
How to use this report (self-loop routing)
-
If DONE outputs are missing: fix the contract drift (regenerate the missing artifacts, or revert the unit status to TODO/BLOCKED).
-
If the pipeline is complete but target artifacts are missing: find which unit/skill owns each missing artifact and rerun that unit.
Script
Quick Start
- python .codex/skills/artifact-contract-auditor/scripts/run.py --workspace workspaces/<ws>
All Options
-
--workspace <dir>
-
--unit-id <U###> (optional)
-
--inputs <semicolon-separated> (unused; runner compatibility)
-
--outputs <semicolon-separated> (unused; runner compatibility)
-
--checkpoint <C#> (optional)
Examples
-
End-of-run audit (recommended before sharing a workspace):
-
python .codex/skills/artifact-contract-auditor/scripts/run.py --workspace workspaces/<ws>