Skip to content

Tmux comparisons#4

Merged
khaliqgant merged 6 commits intomainfrom
claude/compare-tmux-implementations-OlAhb
Dec 20, 2025
Merged

Tmux comparisons#4
khaliqgant merged 6 commits intomainfrom
claude/compare-tmux-implementations-OlAhb

Conversation

@khaliqgant
Copy link
Copy Markdown
Member

No description provided.

- DESIGN_V2.md: Comprehensive improvement plan covering storage,
  protocol simplification, reliability, and DX enhancements
- TMUX_IMPROVEMENTS.md: Focused analysis of tmux implementation
  with specific takeaways for better activity tracking, reconnection,
  and session discovery
New features for scaling beyond 2-3 agents:
- Agent groups (@relay:@backend sends to all backend agents)
- Terminal-based dashboard (agent-relay watch)
- Coordination patterns (coordinator, pipeline, pub/sub)
- Tmux layout helper for viewing multiple agents
- Message priority levels (urgent !, normal, low ?)
- Agent roles and permissions in teams.json
- Deep dive comparing our polling approach vs streaming alternative
- Analyze robustness: injection, parsing, session management
- Document Gemini @ symbol conflict with file references
- Propose configurable prefix alternatives (>>, /relay, relay::)
- Recommend auto-detection of best prefix per CLI type
…h it

Key insight: The problem isn't polling vs streaming - it's visibility.

Their advantages at scale:
- Browser dashboard = single pane of glass
- Activity state tracking (active/idle/typing)
- Persistent message inbox
- Agent discovery

Our solution (keep native terminal, add visibility):
- TUI dashboard (agent-relay watch) with blessed
- Daemon event stream for real-time updates
- Wrapper reports activity state
- CLI commands: agents, history, send
- Architecture: daemon becomes event hub, not just router
Analyzes whether the proposed TUI dashboard (blessed library) is the
right approach for scaling to 5-10 agents. Conclusion: it's over-
engineered. tmux already provides multi-window support.

Recommended simpler approach:
- agent-relay team start (multi-window tmux session)
- watch -n2 agent-relay agents (live updates, zero code)
- agent-relay attach <name> (quick attach helper)

This saves ~3 days of implementation and avoids a new dependency.
Replace ai-maestro-specific paths with generic alternatives:
- ~/.aimaestro/ → ~/.relay/
- send-aimaestro-message.sh → send-relay-message.sh

The doc now uses neutral "alternative approach" terminology.
@khaliqgant khaliqgant merged commit d971ce0 into main Dec 20, 2025
6 checks passed
khaliqgant added a commit that referenced this pull request Jan 30, 2026
The delete call at line 1221 was unreachable because the worker
is only added to activeWorkers at line 1247 (success path).
Removing this harmless but confusing dead code.

Addresses Devin review comment #4.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
khaliqgant added a commit that referenced this pull request Jan 30, 2026
* injection retries

* stabilization delay

* Fix activity verification after buffer trim (#349)

* more specific snippet

* bump trajectories

* Add retry logic to OpenCodeWrapper.injectTask()

Addresses Devin's review comment about inconsistent retry behavior
between OpenCodeWrapper and RelayPtyOrchestrator. OpenCodeWrapper
now retries failed task injections up to 3 times with 500ms delays,
matching RelayPtyOrchestrator's behavior for consistent reliability.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* Remove dead code: activeWorkers.delete before worker added

The delete call at line 1221 was unreachable because the worker
is only added to activeWorkers at line 1247 (success path).
Removing this harmless but confusing dead code.

Addresses Devin review comment #4.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
khaliqgant added a commit that referenced this pull request Apr 1, 2026
template-resolver.ts: shell-escape interpolated variables (CRITICAL #1)
broker_tests.rs: uncomment and wire up 5 real tests (CRITICAL #2)
worker_tests.rs: uncomment and wire up 5 real tests (CRITICAL #3)
worker.rs: log bypass-flag injection, add .. path traversal rejection (CRITICAL #4, #7)
verification.ts: export stripInjectedTaskEcho, add path traversal guard (CRITICAL #5)
runner.ts: remove duplicate stripInjectedTaskEcho, add ENV_ALLOWLIST filtering (HIGH #17)
channel-messenger.ts: add secret scrubbing, hoist regex constants (MEDIUM #27, #28)
process-spawner.ts: add settled guard for race condition (MEDIUM #23)
step-executor.ts: add sideEffects to callback type, deprecate alias (HIGH #15, #16)
index.ts: export StepExecutor directly (MEDIUM #29)
workflows/refactor/*.ts: replace hardcoded paths, remove --no-verify (HIGH #8-11)
broker.rs: move is_pid_alive to canonical location (HIGH #14)
cost/tracker.ts: add restrictive file permissions (MEDIUM #30)
cost/pricing.ts: add last-verified date (MEDIUM #31)
verification.test.ts: 9 new tests for exported helpers (MEDIUM #32)

Co-Authored-By: My Senior Dev <dev@myseniordev.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants