๐ŸŽ Get the FREE AI Skills Starter Guide โ€” Subscribe โ†’
BytesAgainBytesAgain
๐Ÿฆ€ ClawHub

Artifact Contract Auditor

by @willoscar

Audit the workspace against the pipeline artifact contract (DONE outputs + pipeline target_artifacts). Writes `output/CONTRACT_REPORT.md`. **Trigger**: contr...

Versionv1.0.0
Downloads442
Installs1
TERMINAL
clawhub install artifact-contract-auditor

๐Ÿ“– About This Skill


name: artifact-contract-auditor description: 'Audit the workspace against the pipeline artifact contract (DONE outputs + pipeline target_artifacts).

Writes output/CONTRACT_REPORT.md.

Trigger: contract audit, artifact contract, missing artifacts, target_artifacts, CONTRACT_REPORT.

Use when: you want an auditable PASS/FAIL view of whether a workspace is complete and self-contained (end of run or before sharing).

Skip if: you are still intentionally mid-run and donโ€™t care about completeness yet (but itโ€™s still useful as a snapshot).

Network: none.

Guardrail: analysis-only; do not edit content artifacts; only write the report.' version: 0.1.0 metadata: openclaw: requires: anyBins: - python3 - python


Artifact Contract Auditor

Purpose: make each workspace auditable and shareable.

This skill checks two contracts:

1) Units contract: if a unit is marked DONE, its required outputs must exist. 2) 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)

    1) 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.
  • 2) 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.
  • 3) 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 scripts/run.py --workspace workspaces/
  • All Options

  • --workspace
  • --unit-id (optional)
  • --inputs (unused; runner compatibility)
  • --outputs (unused; runner compatibility)
  • --checkpoint (optional)
  • Examples

  • End-of-run audit (recommended before sharing a workspace):
  • - python scripts/run.py --workspace workspaces/

    ๐Ÿ’ก Examples

  • End-of-run audit (recommended before sharing a workspace):
  • - python scripts/run.py --workspace workspaces/