Implements Jidoka (自働化) — automation with a human touch.
When the agent loop produces defective work, the line stops.
Implementation:
- bin/jidoka-gate.sh — gate script that checks quality of last N completions
- bin/quality-verify.sh — per-issue quality checker (PR exists, has files, mergeable, completion marker)
- Integrated into agent-loop.sh, claude-loop.sh, gemini-loop.sh — runs every JIDOKA_CHECK_INTERVAL completions (default 10)
- If >= JIDOKA_FAIL_THRESHOLD of SAMPLE_SIZE checks fail, a halt flag is created at ~/.hermes/logs/{agent}-jidoka-halt
- Telegram alert is sent on halt via existing bot token mechanism
- bin/claudemax-watchdog.sh updated to respect the halt flag — will NOT restart a halted agent
Configuration via environment:
- JIDOKA_CHECK_INTERVAL (default 10) — completions between gate checks
- JIDOKA_SAMPLE_SIZE (default 5) — how many recent closed issues to sample
- JIDOKA_FAIL_THRESHOLD (default 3) — failures needed to trigger halt
Accepts issue #346 as Closes.
Refs: #345 (Epic: Five Japanese Wisdoms)
Co-authored-by: Timmy <step35@burn.in>
Implement 現地現物 (Genchi Genbutsu) post-completion verification:
- Add bin/genchi-genbutsu.sh performing 5 world-state checks:
1. Branch exists on remote
2. PR exists
3. PR has real file changes (> 0)
4. PR is mergeable
5. Issue has a completion comment from the agent
- Wire verification into all agent loops:
- bin/claude-loop.sh: call genchi-genbutsu before merge/close
- bin/gemini-loop.sh: delegate existing inline checks to genchi-genbutsu
- bin/agent-loop.sh: resurrect generic agent loop with genchi-genbutsu wired in
- Update metrics JSONL to include 'verified' field for all loops
- Update burn monitor (tasks.py velocity_tracking):
- Report verified_completion count alongside raw completions
- Dashboard shows verified trend history
- Update morning report (tasks.py good_morning_report):
- Count only verified completions from the last 24h
- Surface verification failures in the report body
Fixes#348
Refs #345