openhands
13f62390a7
fix: Duplicate read_phase definition in phase-test.sh ( #179 )
...
Source the canonical read_phase() from lib/agent-session.sh instead of
maintaining a local copy that could drift.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 08:30:13 +00:00
openhands
5822dc89d9
fix: feat: unified escalation — single PHASE:escalate path for all agents ( #510 )
...
Replace PHASE:needs_human with PHASE:escalate across all agent types.
Consolidates 6 overlapping escalation mechanisms into one unified path:
detect → notify via Matrix → session stays alive → human reply injected → resume.
Key changes:
- PHASE:escalate replaces PHASE:needs_human everywhere (16 files)
- CI exhausted now escalates instead of immediately marking blocked
- Matrix listener routes free-text replies to vault tmux sessions
- Vault agent writes PHASE:escalate files for procurement requests
- Supervisor monitors PHASE:escalate sessions in health checks
- 24h timeout on escalation → blocked label + session killed
- All 38 phase protocol tests updated and passing
Supersedes #462 , #458 , #465 .
2026-03-21 19:39:04 +00:00
openhands
ab122c9701
fix: PHASE:needs_human missing from crash-path terminal set in monitor_phase_loop ( #342 )
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 03:50:21 +00:00
openhands
f66fcd666c
fix: address review — terminal phase guard, explicit marker var, test coverage
...
- Guard against overwriting terminal phases (PHASE:done, PHASE:merged)
in on-stop-failure.sh to prevent false failures from same-turn race
- Declare sf_phase_marker explicitly in StopFailure block instead of
relying on phase_marker from PostToolUse block
- Add authentication_failed test (10c) and terminal phase guard tests
(10g, 10h)
- Fix fragile nested command substitution in test 10f fail() message
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 01:52:46 +00:00
openhands
eaf2841494
fix: feat: StopFailure hook writes phase file on API error / rate limit ( #275 )
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 01:43:00 +00:00
openhands
809dd93c3b
fix: distinguish phase file writes from reads in PostToolUse hook
...
- Parse tool_name via jq: Write tool checks file_path match,
Bash tool checks for redirect operator (>) with phase file path
- Reads (cat, head) no longer trigger false-positive markers
- Split guard into separate statements for clarity
- Move marker cleanup inside hook-install guard
- Expand tests: 5 cases covering Bash write, Write tool, Bash read,
unrelated Bash, and Write to different file
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 18:14:49 +00:00
openhands
ac04dc29a6
fix: feat: PostToolUse hook detects phase file writes in real-time (eliminates polling latency) ( #278 )
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 17:55:06 +00:00
openhands
9d2b92f0d5
fix: needs_human notification sent every poll cycle pre-PR ( #103 )
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-18 07:35:13 +00:00
openhands
2b534bb7ec
fix: address review findings from issue #79 phase protocol
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-17 19:27:11 +00:00
openhands
275b92e8b5
fix: address review findings from issue #79 phase protocol
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-17 19:21:01 +00:00
openhands
d87b7db8f3
fix: feat: define phase-signaling protocol for persistent Claude sessions ( #79 )
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-17 18:53:15 +00:00