How Sigil works.
Sigil is a merge policy engine for agent-generated pull requests. It turns markdown specs into sealed CI evaluations and returns ALLOW, REVIEW, or BLOCK decisions your team can audit.
Five steps from spec to seal.
A human writes the intent. Sigil compiles it into scenarios. The agent implements. Sigil scores and the agent iterates against opaque feedback. A signed decision closes the loop.
- 01 SPEChumanWrite the intentA person writes the spec in markdown — acceptance criteria, invariants, edge cases. One source of truth for what "done" means.
- 02 GENERATEsigilCompile to scenariossigil scenario generate turns the spec into Lua scenarios — a visible half, and an age-encrypted holdout the agent will never see.
- 03 IMPLEMENTagentWrite the patchThe coding agent reads the spec and the visible scenarios, writes code, runs the visible scenarios locally, and opens a PR.
- ↺ 04 ITERATEsigil ↔ agentOpaque feedbackSigil runs PR and baseline through every scenario. The agent sees only step_3: fail — no values, no source — and retries until it converges.
- 05 DECIDEsigil → humanSeal the mergeALLOW · REVIEW · BLOCK — gated by earned trust. ALLOW merges; REVIEW goes to a human; BLOCK halts the queue.
One step of the protocol, up close. PR ref in, signed decision out.
sigil eval <pr-ref> is the mechanics of steps 04 and 05 above. It resolves the PR to an image digest, decrypts the scenario bundle, deploys PR and baseline side-by-side, runs three tiers of Lua scenarios against both, computes a baseline-relative satisfaction score, appends eval.complete and eval.decision to the git-backed ledger, and emits feedback stripped of any content the authoring agent is not permitted to see.