discipline · tamper alarm · enforcement

Three tools that keep AI-agent work honest

Instructions can be rationalized past. So a deterministic diff check catches tampering — and CI on a machine no agent controls makes that check unskippable. rigor-suite installs all three layers with one command, pinned to known-good versions, each to its own home. Never mixed.

One command — Windows & POSIX Pinned versions — CI-enforced agreement Three independent repos — never blended Honest per-layer status — FAIL is reported, not implied green Apache-2.0

the design

Each layer covers the failure mode the one above can't

These are not three features of one product. They are three independent projects, each useful alone, arranged so that the whole set fails safe.

1discipline

dev-rigor-stack-lite

Hook-free, evidence-first skills that tell the agent how to work: lanes, gates, receipts, honest verification reports. Portable across Claude Code, Codex, and Agent Skills hosts.

its blind spotInstructions are prompt-level. A model can drift from them, rationalize past them, or truthfully report work whose checking was quietly weakened.
2tamper alarm

tampercheck

A deterministic diff check that catches the cheat layer 1 can't self-report: deleted, skipped, and focused tests, forced-success expressions, hollowed assertions, swallowed errors. No LLM, offline, provider-agnostic.

its blind spotA check that runs in the agent's own session can be skipped, ignored, or run against the wrong thing. Detection without enforcement is advice.
3enforcement

deterministic-detector

Wires the deterministic checks into places no agent controls: randomized-order test runs, diff-scoped mutation reports, and a pinned tampercheck lane in CI — installed per repo with /install-detector.

the owner's lineFlipping any check to a required status stays a manual, owner-only action. Agents never touch branch protection, in either direction.

quick start

One command per platform

Windows (PowerShell)

git clone https://github.com/scottconverse/rigor-suite
.\rigor-suite\install.ps1   # -Force to replace

macOS / Linux

git clone https://github.com/scottconverse/rigor-suite
./rigor-suite/install.sh    # --force to replace

What the installer does

  • Clones each repo at the pinned commit or version listed at the top of both install scripts — CI fails if the two scripts ever disagree
  • Runs dev-rigor-stack-lite's own installer, keeping all of that project's trust boundaries intact
  • Installs tampercheck pinned from PyPI — never from a working tree, so a locally edited copy can't change what CI later enforces
  • Reports each layer separately: PASS, SKIPPED, or FAIL with the real reason

What it deliberately does not do

  • Touch any repository's CI or branch protection — per-repo wiring stays with /install-detector, run inside each target repo
  • Register the Codex marketplace entry for deterministic-detector — that flow is interactive by design
  • Blend the three tools — each installs to its own home and can be removed independently
  • Imply green: a layer that could not install is reported as the failure it is
Pinned by this release · verified in CI by real sandbox installs on ubuntu and windows
layer 1 dev-rigor-stack-lite v0.7.0 (release tag, includes the tampercheck receipt integration)
layer 2 tampercheck 0.1.1 (PyPI)
layer 3 deterministic-detector 0fb0c4b (0.4.0 + tampercheck CI lane)