Split the monolithic agents.rs into 6 focused modules:
- mod.rs: shared types (AgentEvent, AgentStatus, etc.) and re-exports
- pool.rs: AgentPool struct, all methods, and helper free functions
- pty.rs: PTY streaming (run_agent_pty_blocking, emit_event)
- lifecycle.rs: story movement functions (move_story_to_qa, etc.)
- gates.rs: acceptance gates (clippy, tests, coverage)
- merge.rs: squash-merge, conflict resolution, quality gates
All 121 original tests are preserved and distributed across modules.
Also adds clear_front_matter_field to story_metadata.rs to strip
stale merge_failure from front matter when stories move to done.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add "Bug Workflow: Root Cause First" guidance to all coder agent prompts
and system prompts. Adds a test ensuring all coder-stage agents include
root cause, git bisect/log, and anti-workaround instructions.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Commit untracked work pipeline files (stories, bugs in various stages)
and package-lock.json that were present on the filesystem but not yet
tracked by git.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Correct lastScrollTopRef assignment in scrollToBottom to read back the
browser-capped scrollTop value instead of using scrollHeight, which was
causing handleScroll to incorrectly detect upward scrolling and disable
auto-scroll.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Remove the require_verified_devices config toggle. The bot now always requires
encrypted rooms and cross-signing-verified devices before executing any command.
Messages from unencrypted rooms or unverified devices are rejected.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Implement /btw side question slash command — lets users ask quick
questions from conversation context without disrupting the main chat.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>