Commit Graph

8 Commits

Author SHA1 Message Date
a1a3dfbd63 fix: use env var instead of tmux check for Stop hook scoping
The tmux display-message approach had edge cases: it could succeed outside
tmux, fail on first iteration, or behave differently depending on tmux
socket state.

Replace with AGENT_LOOP_ACTIVE env var exported by loop.sh. CC sessions
spawned by the loop inherit it; interactive CC sessions don't. Simple,
no external dependencies, no race conditions.
2026-04-02 10:42:46 -04:00
bab002b927 fix: prevent Stop hook from killing sessions outside tmux
tmux display-message succeeds even outside tmux by falling back to the
most recently created session (agent-loop). This caused the hook to
match and kill interactive CC sessions.

Fix: check $TMUX env var first — only set when actually inside tmux.
2026-04-02 09:14:43 -04:00
1bd8004854 fix: scope Stop hook to agent-loop tmux session only
The Stop hook (kill -INT $PPID) was written to the project's
settings.local.json, causing ANY Claude Code session in the same project
to kill its parent shell on exit — not just the loop's sessions.

Now the hook checks tmux session name before firing: only CC sessions
inside the "agent-loop" tmux session trigger the kill. Other CC sessions
in the same project are unaffected.
2026-04-02 08:17:15 -04:00
ad58a49182 feat: auto-archive completed runs before starting new features
When /agent-loop:run detects a previous run with all stories passed (or the
feature branch deleted after merge), it archives the old artifacts and resets
.loop/ automatically — no more manual rm -rf .loop.

- Add archive_and_reset() for on-demand archiving from skills
- Add runs.log index tracking all archived runs
- Update /run and /stories skills to detect completed runs
- setup.sh archives instead of hard-failing when prd.json exists
- Bump version to 0.9.0
2026-04-02 07:40:07 -04:00
3c518794ee feat: US-002 - Guard against data loss in archive.sh 2026-03-27 18:40:31 -04:00
b3d263258a fix: critical bugs, stale refs, README rewrite, security fixes
- Fix evaluator bypass on last story (moved completion check)
- Fix all stale command name references across README, loop.sh, skills, plugin.json
- Fix explore evaluator false rejects (.loop/ files are expected)
- Fix stderr capture order in headless mode
- Fix shell injection risk in hooks.sh python fallback
- Remove .DS_Store from tracking
- Rewrite README to match current architecture (single entry point, tmux, optional tools)
- Add XcodeBuildMCP and iOS simulator MCP to optional tools docs
2026-03-27 14:58:01 -04:00
994908aed2 feat: adopt Ralph pattern — pipe to claude (no --print), working Stop hook 2026-03-27 13:24:13 -04:00
17e5eb707f feat: agent loop harness with Claude Code plugin support
Generator-evaluator architecture with iterative context-reset for
long-running coding tasks. Ships as a Claude Code plugin — install
with /plugin and use /agent-loop:init, /agent-loop:plan, /agent-loop:run.
2026-03-27 08:03:18 -04:00