jedarden
314ae52339
feat(tb-1sz9): complete tmux-level stuck detector poller
...
Implement standalone tmux detector poller that watches opted-in panes and
emits normalized stuck/unstuck events to the daemon.
Features:
- Auto-discovery of opted-in panes via @tb- title prefix (TypeScript)
- 30-second quiet threshold with prompt pattern matching
- Normalized event emission to /event/normalized endpoint
- Graceful shutdown and error handling
- Comprehensive test suite with acceptance tests
Implementation:
- daemon/tmux-detector.ts: TypeScript implementation (460 lines)
- daemon/tmux-adapter/: Go implementation (alternative)
- bin/trailboss-tmux-detector: Wrapper script
- docs/notes/tmux-detector-*.md: Design and submission contract docs
- test-tmux-detector.sh: Acceptance test
Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-02 23:44:42 -04:00
jedarden
d66f892423
feat(tb-15rh): add tmux detector acceptance test execution script
...
Created bin/run-tmux-detector-acceptance.sh that runs the tmux
detector acceptance test 5 times with structured JSON output.
Features:
- Runs 5 iterations by default (configurable with -n)
- Captures per-run metrics: timestamp, pass/fail, duration, exit code
- Detects false positives and false negatives from logs
- Categorizes failure types (detection_timeout, unstuck_timeout, etc.)
- Outputs parseable JSON for analysis
- Command-line options: -n/--num-runs, -o/--output, -h/--help
Acceptance criteria met:
- Script executable at bin/run-tmux-detector-acceptance.sh
- Runs 5 iterations automatically
- Logs timestamp, pass/fail, execution time, error messages
- Outputs structured JSON format
- Manually tested and verified
Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-02 18:01:13 -04:00
jedarden
e2dfbcf33e
feat(tb-lg44): add automated test execution script
...
Add bin/run-tmux-detector-metrics.sh script that:
- Runs tmux detector acceptance test repeatedly
- Accepts iterations parameter (default 5)
- Captures pass/fail status, execution time, and failure analysis
- Outputs structured CSV results for later analysis
- Is idempotent with timestamped result files
Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-02 16:58:54 -04:00
jedarden
31829c48e4
feat(tui): commit Phase 8/9 source files
...
- Add tui/main.go, tui/go.mod, tui/go.sum (Go + Bubble Tea TUI)
- Add CLAUDE.md with project instructions
- Add bin/trailboss-preview script
- Update bin/trailboss, bin/trailboss-start, bin/trailboss-watch
- Update PROGRESS.md and docs/plan/plan.md to reflect completion
- Add .gitignore entries for build artifacts (tui/tui, bin/trailboss-tui)
- Remove stray root main.go placeholder and ~ directory
Bead-Id: tb-25j
Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-02 07:57:11 -04:00
jedarden
4e593de16d
feat(trail-boss): phase 6 complete - all 7 acceptance scenarios passing
...
Walking skeleton test suite passes end-to-end:
- AS-1: Permission block enqueue/dequeue
- AS-2: FIFO ordering
- AS-3: Answered-in-pane reconcile
- AS-4: Dropped-event recovery
- AS-5: Skip + cooldown
- AS-6: No forced focus-steal
- AS-7: Pane reuse regression
Phase 6 exit criterion met (AS-1 through AS-6 pass).
Phase 6 complete (AS-7 also passes).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-05-30 12:55:37 -04:00
jedarden
694225aee0
feat(trail-boss): phase 5 - Presentation layer
...
Complete the presentation layer with popup queue picker, keybindings,
and status-line segment.
Changes:
- bin/trailboss-popup: Rewritten with python3 JSON parsing, box drawing UI,
and index-based selection that navigates directly to chosen pane
- bin/trailboss-status: Status-line segment showing "⚠ N" when stuck
- tmux.conf: Keybindings for Next (prefix+Tab), Skip (prefix+s), Popup (prefix+g)
- test-presentation.sh: Phase 5 exit criterion tests (all passing)
Verified: CLI commands work, popup lists queue with selection, status shows
stuck count, keybindings configured.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-25 22:26:17 -04:00
jedarden
24abe52a26
feat(trail-boss): phase 4 - Navigation command
...
Implemented trailboss CLI with jump-next and skip commands that
navigate to panes returned by the daemon's /next endpoint.
- bin/trailboss: main CLI with jump-next, skip, popup stubs
- jump-next: queries /next, navigates via switch-client/select-window/select-pane
- skip: POSTs /skip, then jumps to new head
- test-navigation.sh: synthetic event test verifying exit criterion
Exit criterion passed: jump-next lands operator on pane returned by /next.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-25 22:18:01 -04:00