Releases: hhamja/claude-code-harness
Releases · hhamja/claude-code-harness
Release list
v0.5.0
- Auto-push (new Stop hook
auto_push.sh): realizes the decision doctrine's T0 rule "pushing a work branch is reversible → act autonomously, never re-ask". At turn end inside a loop project the current work branch is pushed automatically — plaingit pushwhen it is ahead of its upstream, orgit push -u origin <branch>on the first push. It is the active complement todecision_gate.sh, which blocks pushing a protected branch. - Safe by construction: never pushes a
protected_branchesbranch (a human gate stays a human gate), stands down whengate_push: true(direct-to-main repos where every push is already T2), never force-pushes or pushes tags, and a push failure is logged to.claude/loop/.last-pushwithout ever blocking the turn. loop.config.mdgainsauto_push(defaulttrue); setauto_push: falseto opt out. Absent key falls back to the default, so existing loops need no change.
v0.3.0
- Decision gates: classify every side-effecting action by reversibility × impact. Reversible/local work (edits, tests, local commits, work-branch push) runs autonomously — never re-confirmed; only irreversible or high-impact actions stop on a human gate. Doctrine in the loop-engineering skill +
references/decision-gates.md. decision_gate.sh(new PreToolUse Bash hook) mechanically blocks the T2 class inside a loop project: package publish, release/submit (gh release,eas submit),gh pr merge, push to a protected branch, force-push, tag push, catastrophicrm -rf. Scoped to loop projects only (fail-open everywhere else).loop.config.mdgainsprotected_branches(defaultmain master),gate_push(defaultfalse— settruefor direct-to-main repos), andextra_gates(optional project regex). Absent keys fall back to defaults, so existing loops need no change.- One-shot approval marker
.claude/loop/.gate-approved(action class + session + 15-min TTL, gitignored): the main agent writes it only after explicit human approval, retries the gated command, then removes it. loop-audit(new command) +auditor(new read-only subagent): audit the loop process — maker/checker separation, machine-verifiable stops, disk-memory discipline, and gate adherence (over-/under-confirmation) — and write a scored report toaudit.md. Complements the product-grading verifier.verifier_guard.shnow also guards theauditoragent (both are read-only checkers).loop-ci(new command) +gen_ci.sh: scaffold a GitHub Actions CI workflow from the loop's detected test/lint/build (a pure, golden-tested generator; node stacks for now).- CI/CD for this repo:
ci.yml(shellcheck +bash -n+ jq manifest validation +tests/run.sh) on push/PR;release.ymlcuts a GitHub Release from the matching CHANGELOG section when av*tag is pushed. .gitignorefor OS/editor files and loop runtime artifacts (.run-marker,.gate-approved, codex logs, …).
v0.1.0 — initial release
Initial release of loop-harness — a Claude Code plugin for loop engineering: implement→verify cycles with machine-verifiable stop conditions, an independent read-only verifier, and disk-based state that survives session death.
What's included
- Commands:
loop-init,loop-run(--once,--verify-only),loop-status - Agents:
verifier(read-only grader),explorer(haiku scout) - Skill:
loop-engineering+ 3 references (memory-protocol, rubric-guide, worktree-guide) - Hooks: Stop gate (
stop_gate.sh), verifier write guard (verifier_guard.sh, PreToolUse Bash) check_budget.shtoken-budget proof script
Install
/plugin marketplace add https://github.com/hhamja/loop-harness
/plugin install loop-harness@loop-harness-marketplace
See the README for a 3-minute quickstart.