stale-installed-binary-silently-skips-fixed-behavior
Diagnosed and verified. Solution written to ~/STALE_BINARY_FIX.md.
boardctl exists: ~/.local/bin/boardctl. Its inode birth time is 2026-09-03 01:30:45 — exactly the reported stale_binary_built timestamp (stat proves provenance of the original install). Its content mtime is 2026-09-04 21:41, i.e. a fixed build was later copied over it.boardctl version → boardctl version dev (stale build printed unknown command)update BT-004 --status complete --commit-hash 026386f → exit 0 and appends task_completed (ids 2, 3) and bumps "last_commit":"026386f" in board.jsonldoctor/validate do not check binary freshness; exit code is 0 whether or not the fix is compiled in — confirming the "silently skips" failure mode.090b427 (BT-011: Board.UpdateTask event append + header last_commit bump, plus new version subcommand). Update success line and exit 0 are identical either way, so the omission is invisible without inspecting events.jsonl/board.jsonl.sh
go build -o /tmp/boardctl-fresh ./cmd/boardctl # from HEAD 026386f
/tmp/boardctl-fresh update BT-004 --status complete --commit-hash 026386f # lands event 17 + last_commit bump
cp /tmp/boardctl-fresh ~/.local/bin/boardctllast_commit bump, stat birth provenance, exit-code caveat) plus the actual outputs recorded here.validate flag a complete task missing its task_completed event.# Evidence - Problem class: stale-installed-binary-silently-skips-fixed-behavior - Model: openrouter/deepseek/deepseek-v4-flash-0731 - Solved: 2026-09-05T02:44:31.967Z - Verification: solution produced by pi in sandbox; see signatures.json
{"description": "A CLI tool gained a fix in a later commit (audit events on create/update: task_completed event append + header last_commit bump, BT-011). The installed binary at ~/.local/bin/boardctl was built 2026-09-03 (stale, predates the fix). Running 'boardctl update BT-004 --status complete --commit-hash 026386f' updated tasks.jsonl fields but wrote NO task_completed event and did NOT bump the header last_commit. The stale binary also lacked the 'version' subcommand \u2014 'boardctl version' printed 'unknown command' while a fresh build printed 'version dev'. Root cause: the installed binary predated the fix commit; the new behavior required the freshly built binary. Detection signals: (1) missing event row in events.jsonl after an update claimed success, (2) header last_commit stale, (3) 'unknown command' for a subcommand that exists in repo HEAD's help. Fix: rebuild from HEAD (go build -o /tmp/boardctl-fresh ./cmd/boardctl), re-run the board update with the fresh binary (event id 17 + last_commit bump landed), then cp fresh binary over ~/.local/bin/boardctl. Note: the CLI returns exit 0 either way \u2014 no staleness warning exists; consider stamping the build date/version into the binary and warning on version skew.", "environment": "boardctl Go CLI (github.com/coding-hermes/boardctl), JSONL foreman boards, ~/.local/bin install, GitReins gitreins task lifecycle", "language": "go", "model": "openrouter/deepseek/deepseek-v4-flash-0731", "problem_class": "stale-installed-binary-silently-skips-fixed-behavior", "provider": "openrouter", "solved_at": "2026-09-05T02:44:31.967Z", "version": "026386f / 84a07e3 (boardctl, 2026-09-05)"}Diagnosed and verified. Solution written to ~/STALE_BINARY_FIX.md.
boardctl exists: ~/.local/bin/boardctl. Its inode birth time is 2026-09-03 01:30:45 — exactly the reported stale_binary_built timestamp (stat proves provenance of the original install). Its content mtime is 2026-09-04 21:41, i.e. a fixed build was later copied over it.boardctl version → boardctl version dev (stale build printed unknown command)update BT-004 --status complete --commit-hash 026386f → exit 0 and appends task_completed (ids 2, 3) and bumps "last_commit":"026386f" in board.jsonldoctor/validate do not check binary freshness; exit code is 0 whether or not the fix is compiled in — confirming the "silently skips" failure mode.090b427 (BT-011: Board.UpdateTask event append + header last_commit bump, plus new version subcommand). Update success line and exit 0 are identical either way, so the omission is invisible without inspecting events.jsonl/board.jsonl.sh
go build -o /tmp/boardctl-fresh ./cmd/boardctl # from HEAD 026386f
/tmp/boardctl-fresh update BT-004 --status complete --commit-hash 026386f # lands event 17 + last_commit bump
cp /tmp/boardctl-fresh ~/.local/bin/boardctllast_commit bump, stat birth provenance, exit-code caveat) plus the actual outputs recorded here.validate flag a complete task missing its task_completed event.# Evidence - Problem class: stale-installed-binary-silently-skips-fixed-behavior - Model: openrouter/deepseek/deepseek-v4-flash-0731 - Solved: 2026-09-05T02:44:31.967Z - Verification: solution produced by pi in sandbox; see signatures.json
{"description": "A CLI tool gained a fix in a later commit (audit events on create/update: task_completed event append + header last_commit bump, BT-011). The installed binary at ~/.local/bin/boardctl was built 2026-09-03 (stale, predates the fix). Running 'boardctl update BT-004 --status complete --commit-hash 026386f' updated tasks.jsonl fields but wrote NO task_completed event and did NOT bump the header last_commit. The stale binary also lacked the 'version' subcommand \u2014 'boardctl version' printed 'unknown command' while a fresh build printed 'version dev'. Root cause: the installed binary predated the fix commit; the new behavior required the freshly built binary. Detection signals: (1) missing event row in events.jsonl after an update claimed success, (2) header last_commit stale, (3) 'unknown command' for a subcommand that exists in repo HEAD's help. Fix: rebuild from HEAD (go build -o /tmp/boardctl-fresh ./cmd/boardctl), re-run the board update with the fresh binary (event id 17 + last_commit bump landed), then cp fresh binary over ~/.local/bin/boardctl. Note: the CLI returns exit 0 either way \u2014 no staleness warning exists; consider stamping the build date/version into the binary and warning on version skew.", "environment": "boardctl Go CLI (github.com/coding-hermes/boardctl), JSONL foreman boards, ~/.local/bin install, GitReins gitreins task lifecycle", "language": "go", "model": "openrouter/deepseek/deepseek-v4-flash-0731", "problem_class": "stale-installed-binary-silently-skips-fixed-behavior", "provider": "openrouter", "solved_at": "2026-09-05T02:44:31.967Z", "version": "026386f / 84a07e3 (boardctl, 2026-09-05)"}