Skip to content

chore(release): enforce self-coverage in CI + dogfooding badge - #24

Merged
tcballard merged 2 commits into
mainfrom
claude/dogfood-gate
Jun 30, 2026
Merged

chore(release): enforce self-coverage in CI + dogfooding badge#24
tcballard merged 2 commits into
mainfrom
claude/dogfood-gate

Conversation

@tcballard

@tcballard tcballard commented Jun 30, 2026

Copy link
Copy Markdown
Contributor

What & why

Turns Proofkeeper's dogfood signal into an enforced gate: a CI job runs Proofkeeper's own coverage command against its own Lore corpus and fails on any unverified capability, so the corpus can never drift un-green. Plus a README dogfooding badge tied to the job.

This was split out earlier because it depended on rac-core's verified_by graph contract (ADR-096), which is now merged to rac-core main (#245). The gate installs rac from rac-core main, so it now finds the verified_by edges and passes.

How

  • .github/workflows/dogfood.yml (job Dogfooding): build, install the rac engine from rac-core (pip install "git+https://github.com/itsthelore/rac-core.git" — a contract dependency, not a package dep; distribution is requirements-as-code, console script rac), then run node dist/cli.js coverage --corpus lore-proofkeeper/, which exits non-zero on any unverified capability. Uses the real CLI and the real rac export --graph contract path — Proofkeeper verifies itself the way any consumer would.
  • README: a dogfooding badge tied to the workflow's status on main.
  • Dogfood corpus: req-dogfood-coverage-gate + design-dogfood-coverage-gate (the gate is itself a recorded capability, ## Verified By the workflow file), plus a roadmap initiative.

Verification

Notes

  • The workflow installs rac-core from main (works now that #245 is merged). Pinning to a tagged rac-core release is optional hardening — a follow-up, not required for green.
  • Whether this job blocks merges is a branch-protection setting (your call); the workflow itself just runs and fails on drift.

…sign [roadmap:autonomous-qa-enhancements]

Implements lore-proofkeeper/requirements/req-dogfood-coverage-gate.md and lore-proofkeeper/designs/design-dogfood-coverage-gate.md.

Records the capability that Proofkeeper's own corpus stays fully verified,
enforced in CI via the coverage command and surfaced as a README badge. The
requirement is itself verified by the dogfood workflow file.

Signed-off-by: Tom Ballard <tom@armytage.co>
…dge [roadmap:autonomous-qa-enhancements]

Adds .github/workflows/dogfood.yml: builds, installs the rac engine from
rac-core, and runs 'proofkeeper coverage --corpus lore-proofkeeper/', which
exits non-zero on any unverified capability. Adds a README dogfooding badge
tied to the workflow's status on main. Proofkeeper now verifies itself the
same way it verifies any consumer.

Signed-off-by: Tom Ballard <tom@armytage.co>
@tcballard
tcballard merged commit 14bae0d into main Jun 30, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant