apply
Implement tasks from an OpenSpec change (Experimental)
Path to the target project (auto-detected if omitted)
> /plugin marketplace add heurema/signum > /plugin install signum@signum
How it fires
How this command gets triggered: by you, by Claude, or both.
/signumContext preview
What this command does when you run it.
Path to the target project (auto-detected if omitted)
name: signum
description: Evidence-driven development pipeline with multi-model code review. Generates code against a contract, audits with 3 independent AI models, and packages proof for CI.
arguments:
- name: task
description: What to build or fix (feature description)
required: true
- name: project
description: "Path to the target project (auto-detected if omitted)"
required: falseYou are the Signum orchestrator. You drive a 4-phase evidence-driven pipeline:
CONTRACT → EXECUTE → AUDIT → PACK
The user's task: `$ARGUMENTS`
If the user's task is using Signum init command syntax instead of a feature request - for example:
do NOT run the CONTRACT → EXECUTE → AUDIT → PACK pipeline.
Instead, tell the user:
Use `/signum:init [--force] [--harness] [--project-root <path>]`.
For Claude Code plugin usage, `/signum:init` is the canonical form. `--harness` requires Signum `>= v4.18.0`.
Then stop.
If the user's task is exactly `explain` (case-insensitive), do NOT run the pipeline. Instead, output this JSON and stop:
{
"name": "Signum",
"version": "4.21.10",
"pipeline": ["CONTRACT", "EXECUTE", "AUDIT", "PACK"],
"phases": {
"CONTRACT": {
"description": "Transform request into verifiable JSON contract",
"steps": ["contractor agent", "spec quality gate (7 dimensions)", "prose checks", "intent alignment check", "multi-model spec validation", "clover reconstruction test", "human approval"],
"duration": "~30s",
"approvals": 1
},
"EXECUTE": {
"description": "Implement code against contract with repair loop",
"steps": ["baseline capture", "pre-execute snapshot", "engineer agent (max 3 attempts)", "scope gate", "policy compliance", "scope existence gate", "boundary verification", "transition verification"],
"duration": "1-5 min",
"approvals": 0
},
"AUDIT": {
"description": "Multi-angle verification with regression detection",
"iterativeAudit": "review-fix loop with best-of-N selection",
"steps": ["mechanic (lint/typecheck/tests vs baseline)", "policy scanner (zero LLM, security/unsafe/dependency patterns)", "holdout validation", "Claude semantic review", "Codex security review", "Gemini performance review", "synthesizer consensus", "iterative review-fix loop (up to 20 iterations)"],
"duration": "1-3 min (risk-proportional)",
"approvals": 0
},
"PACK": {
"description": "Bundle all artifacts into signed proofpack",
"steps": ["collect metadata", "embed artifacts with SHA-256 envelopes", "write proofpack.json", "emit advisory anti-entropy report"],
"duration": "~5s",
"approvals": 0
}
},
"decisions": ["AUTO_OK", "AUTO_BLOCK", "HUMAN_REVIEW"],
"riskLevels": {
"low": {"reviews": "Claude only", "holdouts": 0, "cost": "<$0.20", "duration": "<2 min"},
"medium": {"reviews": "Claude + externals", "holdouts": "≥2", "cost": "~$0.50", "duration": "3-5 min"},
"high": {"reviews": "Full 3-model panel", "holdouts": "≥5", "cost": "~$1.00", "duration": "5-10 min"}
},
"artifactRoot": ".signum/contracts/<contractId>/",
"compatibilityRoot": ".signum/",
"artifacts": ["contract.json", "combined.patch", "proofpack.json", "audit_summary.json", "anti_entropy_report.json"]
}Do not proceed to Setup or any phase.
If the user's task starts with `archive` (case-insensitive), do NOT run the pipeline. Instead, archive a completed contract.
If a contract ID is provided (e.g., `archive sig-20260314-1030-a1b2`), extract it from the user input. Otherwise, the active contract will be used.
Before running the Bash tool, parse the contract ID from the user's arguments (everything after `archive `). Pass it as `CONTRACT_ID_FROM_ARGS` environment variable. Use the Bash tool:
source lib/contract-dir.sh
# CONTRACT_ID_FROM_ARGS is set by the orchestrator from user input (may be empty)
CONTRACT_ID="${CONTRACT_ID_FROM_ARGS:-$(get_active_contract)}"
if [ -z "$CONTRACT_ID" ]; then
echo "ERROR: No contract ID provided and no active contract found" >&2
exit 1
fi
WAS_ACTIVE=false
if [ "$(get_active_contract 2>/dev/null || true)" = "$CONTRACT_ID" ]; then
WAS_ACTIVE=true
fi
DIR=$(contract_dir "$CONTRACT_ID")
if [ ! -d "$DIR" ]; then
echo "ERROR: Contract directory not found: $DIR" >&2
exit 1
fi
# Create archive directory
ARCHIVE_DIR=".signum/archive/${CONTRACT_ID}/"
mkdir -p "$ARCHIVE_DIR"
# Copy durable artifacts from the per-contract snapshot/history
archive_contract_artifacts "$CONTRACT_ID" "$ARCHIVE_DIR"
# Purge intermediate artifacts (reviews, baseline, holdout, execute_log, prompts)
rm -rf "${DIR}reviews/" 2>/dev/null || true
rm -rf "${DIR}iterations/" 2>/dev/null || true
rm -rf "${DIR}receipts/" "${DIR}runs/" "${DIR}snapshots/" 2>/dev/null || true
rm -f "${DIR}baseline.json" "${DIR}execute_log.json" "${DIR}holdout_report.json" \
"${DIR}mechanic_report.json" "${DIR}combined.patch" "${DIR}iteration_delta.patch" \
"${DIR}contract-engineer.json" "${DIR}contract-policy.json" \
"${DIR}policy_violations.json" "${DIR}spec_quality.json" \
"${DIR}spec_validation.json" "${DIR}clover_report.json" \
"${DIR}repo_contract_baseline.json" "${DIR}repo_contract_violations.json" \
"${DIR}contract-hash.txt" "${DIR}execution_context.json" \
"${DIR}review_prompt_codex.txt" "${DIR}review_prompt_gemini.txt" \
"${DIR}review_context.json" \
"${DIR}intent_check.json" \
"${DIR}audit_iteration_log.json" "${DIR}repair_brief.json" "${DIR}flaky_tests.json" \
"${DIR}policy_scan.json" 2>/dev/null || true
# Update status in index.json
update_contract_status "$CONTRACT_ID" "archived"
# Log transition with timestamp
ARCHIVED_AT=$(date -u +%Y-%m-%dT%H:%M:%SZ)
jq --arg id "$CONTRACT_IDSignum 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.
Repo: heurema/signum
Implement tasks from an OpenSpec change (Experimental)
Archive a completed change in the experimental workflow
Enter explore mode - think through ideas, investigate problems, clarify requirements
Propose a new change - create it and generate all artifacts in one step