Signum is a contract-first proof gate for agentic software changes: it turns a task into a reviewed contract, executes against that contract, audits the result, and packages evidence that humans and CI can inspect.
FAQ
signum is a Claude Code plugin with 6 hand-picked skills for development work, indexed on Flowy. Install it with the command on its page. It includes openspec-apply-change, openspec-archive-change, openspec-explore. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.
> /plugin marketplace add heurema/signum> /plugin install signum@signum
Signum is a contract-first proof gate for agentic software changes: it turns a task into a reviewed contract, executes against that contract, audits the result, and packages evidence that humans and CI can inspect.
Signum is an active, experimental baseline for local deterministic development and review workflows. It is not a production certification system.
The canonical runtime docs are:
commands/signum.md for the main CONTRACT โ EXECUTE โ AUDIT โ PACK pipeline.commands/init.md for project bootstrap with /signum:init.This README is an entry point, not the complete runtime specification. Use docs/reference.md when exact behavior matters.
Signum follows one mental model:
CONTRACT โ EXECUTE โ AUDIT โ PACK
First it defines acceptance criteria and scope, then it implements against that contract, audits deterministic and model-assisted evidence, and writes a proofpack for review or CI gating.
Signum expects this local toolchain:
bash
git
jq
python3
For Claude Code, install the plugin from the Emporium marketplace:
claude plugin marketplace add heurema/emporium
claude plugin install signum@emporium
claude "/signum explain"
For Codex App, Signum ships plugin metadata in this repository: .codex-plugin/plugin.json, .agents/plugins/marketplace.json, and platforms/codex/.codex-plugin/plugin.json. In Plugins -> Add marketplace, use:
Source: heurema/signum
Git ref: main
Sparse paths: leave blank
After the marketplace is added, it appears in the Plugins source dropdown as Heurema; the installable plugin inside it is Signum. For fuller setup and platform notes, see QUICKSTART.md.
Run the main pipeline with a task:
/signum "your task"
Signum asks for contract approval before execution. Normal run artifacts are written under:
.signum/contracts/<contractId>/
| Command | Purpose |
|---|---|
/signum "<task>" | Run the canonical Signum pipeline. |
/signum explain | Explain the current pipeline and artifact model. |
/signum archive [contractId] | Archive a completed contract; uses the active contract when no ID is provided. |
/signum close [contractId] | Close or abandon a contract without generating a proofpack; uses the active contract when no ID is provided. |
/signum:init | Bootstrap project context files. |
/signum:init --harness | Bootstrap project context and scaffold repo-level harness docs. Requires Signum >= v4.18.0. |
/signum:init --force | Overwrite existing bootstrap files. |
/signum:init --project-root <path> | Run bootstrap against a specific project root. |
Use the colon form for init commands: /signum:init is the canonical init surface.
.signum/contracts/<contractId>/ is the canonical active contract artifact root. It holds run evidence such as contract.json, combined.patch, audit_summary.json, and proofpack.json.
Root .signum/ is a registry/state/archive namespace with compatibility helpers; normal runs do not create root artifact files or root runtime dirs there.
For compatibility, resume checks use the registry first, with root .signum/contract.json only as a legacy import signal.
For the detailed artifact inventory, see docs/artifact-path-inventory.md and docs/reference.md.
Run the CI wrapper with:
bash lib/signum-ci.sh
The GitHub Actions workflow template lives at:
lib/templates/signum-gate.yml
lib/signum-ci.sh maps proofpack decisions to exit codes:
| Exit code | Decision |
|---|---|
0 | AUTO_OK |
1 | AUTO_BLOCK |
78 | HUMAN_REVIEW |
The template uploads proofpack artifacts and comments the decision on pull requests. See lib/signum-ci.sh, lib/templates/signum-gate.yml, and docs/reference.md for the full CI behavior.
docs/README.md โ documentation index separating runtime references, maintainer docs, and historical context.QUICKSTART.md โ setup and first-run walkthrough.examples/README.md โ small, validator-backed examples for proofpacks, CI gating, and contract shape.docs/how-it-works.md โ pipeline narrative and phase details.docs/reference.md โ canonical reference for behavior, artifacts, and schemas.docs/api-reference.md โ concise integration index for schemas and deterministic scripts.docs/migration-notes.md โ compatibility notes for historical artifact roots, proofpack schema versions, and init command naming.docs/RELIABILITY.md โ reliability notes and critical journeys.docs/SECURITY.md โ trust boundaries and security review triggers.ARCHITECTURE.md โ system overview and component map.Run the deterministic test suite:
bash scripts/run-deterministic-tests.sh
The suite includes scripts/check_version_bump.py, which fails runtime/plugin
surface changes unless .claude-plugin/plugin.json increases the Signum plugin
version.
Useful focused checks while editing docs:
bash tests/test-doc-parity.sh
bash lib/doc-parity-check.sh
Maintainer release checks stay lower-level and deterministic:
bash lib/release-smoke.sh
The Sync Emporium marketplace entry workflow updates heurema/emporium/.claude-plugin/marketplace.json; non-dry-run sync needs EMPORIUM_SSH_KEY. It supports workflow_dispatch for controlled manual runs.
.agents/
plugins/
marketplace.json
.claude/
.claude-plugin/
marketplace.json
plugin.json
commands/
opsx/
apply.md
archive.md
explore.md
propose.md
sync.md
update.md
skills/
openspec-apply-change/
SKILL.md
openspec-archive-change/
SKILL.md
openspec-explore/
SKILL.md
openspec-propose/
SKILL.md
openspec-sync-specs/
SKILL.md
openspec-update-change/
SKILL.md
.codex/
.codex-plugin/
plugin.json
skills/
openspec-apply-change/
SKILL.md
openspec-archive-change/
SKILL.md
openspec-explore/
SKILL.md
openspec-propose/
SKILL.md
openspec-sync-specs/
SKILL.md
openspec-update-change/
SKILL.md
.github/
CODEOWNERS
copilot-instructions.md
ISSUE_TEMPLATE/
bug_report.yml
config.yml
feature_request.yml
question.yml
pr-intake-gate.yml
PULL_REQUEST_TEMPLATE.md
workflows/
ci.yml
doc-parity.yml
pr-intake-gate.yml
release-guardrails.yml
.gitignore
.pre-commit-config.yaml
agents/
AGENTS.md
contractor.md
engineer.md
init-synthesizer.md
reviewer-claude.md
synthesizer.md
ARCHITECTURE.md
assets/
signum-hero-dark.png
CHANGELOG.md
CODE_OF_CONDUCT.md
commands/
init.md
signum.fragments/
10-init-command-redirect.md
100-phase-pack.md
110-final-output.md
20-explain-mode.md
60-setup.md
70-phase-contract.md
80-phase-execute.md
90-phase-audit.md
manifest.json
signum.md
signum.shared.fragments/
00-header.md
120-error-handling.md
30-archive-mode.md
40-close-mode.md
50-project-resolution.md
CONTRIBUTING.md
DCO.md
docs/
api-reference.md
artifact-path-inventory.md
codebase-awareness-dogfood.md
demo.gif
how-it-works.md
init-scanner-behavior.md
legacy-root-helper-callsite-inventory.md
migration-notes.md
overlay-deviations.json
plans/
PLANS.md
2026-03-04-self-contained-proofpack-design.md
2026-03-04-self-contained-proofpack-plan.md
2026-03-15-diff-progression-design.md
2026-03-15-iterative-audit-design.md
2026-03-15-large-project-support-roadmap.md
2026-03-15-phase1-project-intent-layer-design.md
2026-03-15-phase1-project-intent-layer-plan.md
2026-04-10-root-anti-entropy-reconcile-design.md
README.md
QUALITY_SCORE.md
README.md
reference.md
RELIABILITY.md
research/
2026-03-15-codex-contract-clarification-self-improvement-loops.md
2026-03-15-contract-hierarchy-clarification-architecture-2026.md
2026-03-15-extractable-checks-architecture.md
2026-03-15-signum-codex-semantic-drift-across-contracts.md
2026-03-15-signum-context-inheritance-codex.md
2026-03-15-signum-project-intent-contract-architecture-codex.md
2026-03-16-deterministic-scan-for-ai-agents-2026.md
2026-03-16-plugin-update-reliability.md
2026-03-16-signum-init-project-bootstrapping.md
README.md
SECURITY.md
shared-receipt-mapping.md
signum-command-structure.md
signum-fragment-parity.md
stabilization-summary.md
templates/
codebase-awareness-dogfood-result.md
thin-cli-extraction-plan.md
evals/
checks.py
codex_prompt/
baselines/
current.json
checks_codex_prompt.py
compare_codex_prompt_eval.py
fixtures/
agent_review_coverage/
01-low-risk-codex-local-review-auto-ok.json
02-medium-risk-missing-agent-review-auto-ok-violation.json
03-medium-risk-agent-review-complete-auto-ok.json
04-medium-risk-reduced-agent-review-auto-ok-violation.json
05-high-risk-missing-agent-review-auto-ok-violation.json
06-medium-risk-degraded-agent-review-flag-omitted-violation.json
07-medium-risk-placeholder-agent-review-artifact-violation.json
08-medium-risk-empty-agent-review-provider-violation.json
09-medium-risk-codex-local-review-auto-ok.json
artifact_discipline/
01-fresh-canonical-artifact-root.json
02-root-contract-runtime-artifact-violation.json
03-root-proofpack-runtime-artifact-violation.json
04-completed-previous-run-overwritten.json
05-active-contract-resume-valid-root.json
audit_decision/
01-clean-low-risk-auto-ok.json
02-critical-policy-finding-auto-block.json
03-mechanic-regression-auto-block.json
04-major-review-finding-human-review.json
05-failed-holdout-not-auto-ok.json
06-mixed-evidence-human-review.json
07-proofpack-final-verdict-mismatch.json
contract_discipline/
01-clean-low-risk-contract-auto-ok.json
02-vague-open-questions-auto-ok-violation.json
03-missing-required-inputs-auto-ok-violation.json
04-high-risk-migration-incomplete.json
05-skip-contract-no-contract.json
external_review_degradation/
01-missing-reviewers-low-risk-degraded-pass.json
02-network-error-medium-risk-reduced-pass.json
03-auth-error-no-auto-retry-pass.json
04-timeout-degraded-coverage-pass.json
05-high-risk-reduced-coverage-auto-ok-violation.json
scope_policy/
01-policy-sensitive-human-review-pass.json
02-policy-sensitive-auto-ok-violation.json
03-out-of-scope-modification-not-auto-ok.json
04-hidden-holdout-leaked-violation.json
05-dependency-addition-human-review-pass.json
test_plan/
01-cli-tooling-happy-path-only-auto-ok-violation.json
02-cli-tooling-adversarial-coverage-auto-ok-allowed.json
03-high-risk-tooling-missing-adversarial-not-auto-ok.json
04-eval-harness-missing-malformed-fixture-coverage.json
05-file-archive-writer-missing-stale-output-coverage.json
06-scanner-policy-requires-suppression-and-critical-fn-coverage.json
README.md
run_codex_prompt_eval.py
fixtures/
01-low-risk-happy-path.json
02-medium-risk-graceful-degradation.json
03-high-risk-provider-unavailable.json
04-ambiguous-input-missing-required-input.json
05-policy-sensitive-human-review.json
06-malformed-artifact-shape.json
policy_scanner/
baselines/
current.json
compare_policy_scanner_eval.py
fixtures/
adversarial/
docs-dependency-like-line.json
document-write-whitespace.json
duplicate-debug-lines.json
dynamic-new-function-whitespace.json
generated-client-package-json-current-behavior.json
generated-go-mod-current-behavior.json
generated-package-json-current-behavior.json
generated-requirements-current-behavior.json
mixed-critical-major-minor-one-patch.json
multiple-files-two-critical-findings.json
one-finding-one-benign-close-line.json
sql-concat-pattern.json
subprocess-comment-after-call.json
subprocess-shell-whitespace.json
xss-line-null-match.json
negative/
docs-dependency-version-no-trigger.json
docs-fixme-no-incomplete.json
docs-generated-package-json-no-trigger.json
docs-static-sql-no-injection.json
docs-todo-no-incomplete.json
examples-console-log-current-baseline.json
examples-generated-requirements-no-trigger.json
examples-todo-no-incomplete.json
fixtures-console-debug-no-debug.json
generated-nonmanifest-dependency-string-no-trigger.json
nonmanifest-package-version-string.json
python-evaluate-function-no-dynamic.json
readme-md5-mention-no-weak-crypto.json
readme-sha1-mention-no-weak.json
test-fixture-json-dependency-string.json
tests-console-log-no-debug.json
tests-generated-go-mod-no-trigger.json
tests-innerhtml-string-no-xss.json
positive/
debug-console-debug-production.json
debug-debugger-production.json
debug-python-pprint-production.json
dependency-cargo-lock.json
dependency-go-sum.json
dependency-package-lock.json
dependency-requirements-txt.json
dynamic-js-new-function.json
dynamic-python-import.json
incomplete-marker-fixme-production.json
incomplete-marker-todo-production.json
incomplete-stub-panic-not-implemented.json
incomplete-stub-throw-todo.json
js-innerhtml-assignment.json
package-json-new-dependency.json
python-eval.json
python-hashlib-md5.json
python-notimplemented-production.json
python-subprocess-shell-true.json
sql-python-percent-format.json
sql-python-select-concat.json
subprocess-js-exec.json
subprocess-js-execsync.json
subprocess-python-os-system.json
suspicious-return-nil-comment.json
suspicious-return-null-todo.json
unchecked-any-annotation.json
unchecked-any-cast.json
weak-des-usage.json
weak-js-md5-call.json
weak-python-hashlib-sha1.json
xss-document-write.json
xss-insert-adjacent-html.json
xss-tsx-innerhtml.json
suppression/
critical-suppression-rejected.json
critical-xss-rejected.json
cross-file-no-suppression.json
docs-suppression-no-finding.json
invalid-rule-id-format-rejected.json
major-dependency-next-line.json
major-weak-crypto-next-line.json
major-weak-crypto-same-line.json
minor-debug-next-line.json
minor-debug-same-line.json
missing-reason-suppression-rejected.json
non-adjacent-no-suppression.json
too-short-reason-suppression-rejected.json
unknown-rule-suppression-rejected.json
weak-crypto-valid-suppression.json
README.md
run_policy_scanner_eval.py
README.md
run.py
snapshots/
01-low-risk-happy-path.json
02-medium-risk-graceful-degradation.json
03-high-risk-provider-unavailable.json
04-ambiguous-input-missing-required-input.json
05-policy-sensitive-human-review.json
06-malformed-artifact-shape.json
examples/
basic-contract/
contract.json
README.md
ci-gate/
README.md
proofpack-validation/
README.md
valid-proofpack.json
README.md
experiments/
signum_evolve/
__init__.py
.gitignore
archive.py
candidate.py
catalog_diff.py
cli.py
configs/
evolve.v0.json
evolve.v1.json
export.py
mutate.py
README.md
replay.py
report.py
run_candidate.py
lib/
adr-check.sh
anti-entropy-report.sh
assumption-check.sh
boundary-verifier.sh
check-emporium-sync.sh
contract-dir.sh
contract-injection-scan.sh
doc-parity-check.sh
dsl-runner.sh
glossary-check.sh
init-harness-scaffold.sh
init-scanner.sh
mechanic-parser.sh
metric-ratchet.sh
overlap-check.sh
pack-anti-entropy.sh
policy-resolver.sh
policy-rules.json
policy-scanner.sh
prompts/
review-template-performance.md
review-template-security.md
review-template.md
proofpack-index.sh
prose-check.sh
release-smoke.sh
schemas/
contract.schema.json
modules.schema.json
proofpack.schema.json
test-plan.schema.json
session-manager.sh
signum-ci.sh
signum-update.sh
snapshot-tree.sh
staleness-check.sh
sync-cache.sh
templates/
init-harness/
agents.md.tmpl
architecture.md.tmpl
plans.md.tmpl
quality-score.md.tmpl
reliability.md.tmpl
security.md.tmpl
policy.toml
signum-gate.yml
terminology-check.sh
tool-versions.env
transition-verifier.sh
update-emporium-marketplace.sh
LICENSE
llms.txt
modules.yaml
openspec/
config.yaml
platforms/
claude-code/
.claude-plugin/
marketplace.json
plugin.json
agents/
contractor.md
engineer.md
init-synthesizer.md
reviewer-claude.md
... 571 moreยฉ 2026 Flowy ยท Free and open source
Built for Claude Code ยท Not affiliated with Anthropic