DexterFromLab
32f6d7eadf
docs: update meta files for multi-agent orchestration
...
- v3-progress.md: full session log for agent orchestration work
- v3-task_plan.md: 7 new decisions (agent rendering, env passthrough,
re-injection, shared DB, role tabs, PlantUML encoding)
- CLAUDE.md: updated overview, key paths, component list
- .claude/CLAUDE.md: updated workflow, ProjectBox tabs, orchestration docs
2026-03-11 15:25:53 +01:00
DexterFromLab
2ca7756a74
feat(agents): role-specific tabs + bttask Tauri backend
...
- TaskBoardTab: kanban board (5 columns, CRUD, comments, 5s poll) for Manager
- ArchitectureTab: PlantUML viewer/editor (4 templates, plantuml.com) for Architect
- TestingTab: Selenium screenshots + test file discovery for Tester
- bttask.rs: Rust backend (list, create, update_status, delete, comments)
- bttask-bridge.ts: TypeScript IPC adapter
- ProjectBox: conditional role tabs (isAgent && agentRole), PERSISTED-LAZY
2026-03-11 15:25:41 +01:00
DexterFromLab
0c28f204c7
feat(agents): custom context for Tier 2 + periodic system prompt re-injection
...
- SettingsTab: Custom Context textarea for Tier 2 project cards
- AgentSession passes systemPrompt for ALL projects (Tier 1 gets full
generated prompt, Tier 2 gets custom context)
- Periodic re-injection: 1-hour timer checks if agent is idle, then
auto-sends context refresh prompt with role/tools reminder
- AgentPane: autoPrompt prop consumed when session is done/error,
resumes session with fresh system prompt
2026-03-11 15:02:28 +01:00
DexterFromLab
14808a97e9
feat(settings): add Tier 1 agent config panel with system prompt editor
...
- Agent cards in SettingsTab: name, enable/disable, CWD, model, wake interval
- Custom Context textarea for editable system prompt per agent
- Collapsible preview of full generated introductory prompt
- Agent cards styled with mauve left border accent and role badge
- Export AGENT_ROLE_ICONS from groups.ts, add updateAgent() to workspace store
2026-03-11 14:55:38 +01:00
DexterFromLab
a158ed9544
feat(orchestration): multi-agent communication, unified agents, env passthrough
...
- btmsg: admin role (tier 0), channel messaging (create/list/send/history),
admin global feed, mark-read conversations
- Rust btmsg module: admin bypass, channels, feed, 8 new Tauri commands
- CommsTab: sidebar chat interface with activity feed, DMs, channels (Ctrl+M)
- Agent unification: Tier 1 agents rendered as ProjectBoxes via agentToProject()
converter, getAllWorkItems() combines agents + projects in ProjectGrid
- GroupAgentsPanel: click-to-navigate agents to their ProjectBox
- Agent system prompts: generateAgentPrompt() builds comprehensive introductory
context (role, environment, team, btmsg/bttask docs, workflow instructions)
- AgentSession passes group context to prompt generator via $derived.by()
- BTMSG_AGENT_ID env var passthrough: extra_env field flows through full chain
(agent-bridge → Rust AgentQueryOptions → NDJSON → sidecar runners → cleanEnv)
- workspace store: updateAgent() for Tier 1 agent config persistence
2026-03-11 14:53:39 +01:00
DexterFromLab
1331d094b3
feat(GroupAgentsPanel): add Tier 1/2 division with project agents
...
Show Tier 1 (Management: Manager, Architect, Tester) and Tier 2
(Execution: project agents) separated by a divider line. Tier 2
cards show project icon and name, are slightly smaller, no start/stop
button. Header dots show all agents with a separator between tiers.
2026-03-11 14:05:09 +01:00
DexterFromLab
f2dcedc460
feat(orchestration): add bttask CLI + GroupAgentsPanel + btmsg Tauri bridge
...
Phase 2: bttask CLI (Python, SQLite) — task management with role-based
visibility. Kanban board view. Manager/Architect can create tasks,
Tier 2 agents receive tasks via btmsg only.
Phase 3: GroupAgentConfig in groups.json + Rust backend. GroupAgentsPanel
Svelte component above ProjectGrid with status dots, role icons,
unread badges, start/stop buttons.
Phase 4: btmsg Rust bridge (btmsg.rs) — read/write access to btmsg.db.
6 Tauri commands for agent status, messages, and history.
GroupAgentsPanel polls btmsg.db every 5s for live status updates.
2026-03-11 14:03:11 +01:00
DexterFromLab
485b279659
feat(btmsg): add graph command — visual agent hierarchy with status
...
Shows tier boxes, communication links, status dots (green/yellow/red),
unread message badges, and model assignments per agent.
2026-03-11 13:54:27 +01:00
DexterFromLab
e1025a0a8a
feat(btmsg): add group agent messenger CLI
...
Python CLI tool for hierarchical multi-agent communication.
SQLite-backed (WAL mode), agent identity via BTMSG_AGENT_ID env var.
Features:
- inbox/read/send/reply — message CRUD with read tracking
- contacts — role-based communication hierarchy enforcement
- history — per-agent conversation view
- status — all agents with tier/role/model/unread counts
- register/allow — agent and contact management
- notify — single-line notification for agent injection
- Short ID prefix matching for convenience
Also: change default Claude model to opus-4-6
2026-03-11 13:51:40 +01:00
DexterFromLab
44610f3177
fix(workspace): docs discovery for doc/ dirs + SSH terminal tab args
...
- Add doc/ alongside docs/ in markdown file discovery (groups.rs)
- Add SETUP.md to priority root files
- Fix SSH terminal tabs: resolve session args via sshArgsCache derived
from listSshSessions() instead of passing empty args
- Fix Agent Preview: only mount xterm when tab is active (prevents
CanvasAddon crash on hidden elements)
- Separate tab type rendering (shell/ssh/agent-preview) with proper guards
2026-03-11 13:04:32 +01:00
Hibryda
dc0ffb6dbf
docs: update meta files for branded type call-site fixes
2026-03-11 05:46:22 +01:00
Hibryda
af3cd45324
refactor(components): apply branded types at Svelte component call sites
2026-03-11 05:46:22 +01:00
Hibryda
c3d2e1daee
docs: update meta files for SOLID Phase 3 branded types
2026-03-11 05:40:28 +01:00
Hibryda
889adcb004
refactor(agent-dispatcher): brand sessionId at sidecar boundary
2026-03-11 05:40:28 +01:00
Hibryda
a06b9d5053
refactor(utils): apply branded types to session-persistence and auto-anchoring
2026-03-11 05:40:28 +01:00
Hibryda
3f4f2d70af
refactor(stores): apply branded types to conflicts and health Map keys
2026-03-11 05:40:28 +01:00
Hibryda
f2a7d385d6
feat(types): introduce SessionId/ProjectId branded types (SOLID Phase 3)
2026-03-11 05:40:28 +01:00
Hibryda
7ba63db101
refactor(agent-dispatcher): remove dead detectWorktreeFromCwd re-export
2026-03-11 05:29:28 +01:00
Hibryda
584a38d096
docs: update meta files for SOLID Phase 2 refactoring
2026-03-11 05:25:32 +01:00
Hibryda
9c94272ca7
refactor(session): split session.rs into 7 sub-modules (SOLID Phase 2)
2026-03-11 05:25:32 +01:00
Hibryda
450756f540
refactor(agent-dispatcher): split into 4 focused modules (SOLID Phase 2)
2026-03-11 05:25:32 +01:00
Hibryda
54b1c60810
docs: update meta files for SOLID Phase 1 refactoring
2026-03-11 05:09:15 +01:00
Hibryda
af369f30d2
test(attention-scorer): add 14 tests for extracted scorer function
2026-03-11 05:09:15 +01:00
Hibryda
4d93b77f6a
refactor(frontend): extract attention scorer and shared type guards
2026-03-11 05:09:15 +01:00
Hibryda
30c21256bc
refactor(backend): split lib.rs into 11 domain command modules
2026-03-11 05:09:15 +01:00
Hibryda
b1bc5d18a4
docs: update meta files for reconnect loop fix
2026-03-11 04:51:46 +01:00
Hibryda
fc7fe3180e
fix(remote): cancel reconnect loop on machine removal
2026-03-11 04:51:46 +01:00
Hibryda
4ac0336e72
chore: broaden .audit gitignore to cover all subdirectories
2026-03-11 04:47:25 +01:00
Hibryda
6b420a6a1f
feat(health): configurable per-project stall threshold
2026-03-11 04:20:28 +01:00
Hibryda
267087937f
docs: update meta files for configurable stall threshold
2026-03-11 04:20:23 +01:00
Hibryda
0139f482b5
docs: update meta files for Memora adapter registration
2026-03-11 04:09:29 +01:00
Hibryda
be504cadcf
test(memora): add Memora bridge and adapter tests
2026-03-11 04:09:29 +01:00
Hibryda
f3f740a8fe
feat(memora): add Memora adapter with read-only SQLite backend
2026-03-11 04:09:29 +01:00
Hibryda
ad7e24e40d
docs: update meta files for Codex/Ollama provider runners
2026-03-11 03:56:05 +01:00
Hibryda
8309896e7d
test(providers): add Codex and Ollama message adapter tests
2026-03-11 03:56:05 +01:00
Hibryda
3e34fda59a
feat(providers): add Codex and Ollama provider runners with message adapters
2026-03-11 03:56:05 +01:00
Hibryda
4ae7ca6634
docs: update meta files for S-1 Phase 3 worktree isolation
2026-03-11 03:23:58 +01:00
Hibryda
643ab0a6b6
test(worktree-isolation): add worktree detection tests
2026-03-11 03:23:58 +01:00
Hibryda
0da53e7390
docs: update meta files for configurable anchor budget
2026-03-11 03:03:53 +01:00
Hibryda
0d9c473a06
feat(session-anchors): configurable budget scale + research-backed truncation fix
...
Remove 500-char assistant text truncation in anchor serializer — research
consensus (JetBrains NeurIPS 2025, SWE-agent, OpenDev ACC) is that agent
reasoning must never be truncated; only tool outputs get observation-masked.
Add AnchorBudgetScale type with 4 presets (Small=2K, Medium=6K, Large=12K,
Full=20K) and per-project range slider in SettingsTab. Remove Ollama-specific
warning toast — budget slider handles context limits generically.
2026-03-11 03:03:53 +01:00
Hibryda
64e040ebfe
docs: update meta files for S-2 session anchors
2026-03-11 02:43:06 +01:00
Hibryda
3e60516544
test(session-anchors): add anchor serializer tests
2026-03-11 02:43:06 +01:00
Hibryda
ccce2b6005
feat(session-anchors): add pin button, anchor re-injection, and ContextTab UI
2026-03-11 02:43:06 +01:00
Hibryda
a9e94fc154
feat(session-anchors): implement S-2 session anchor persistence and auto-anchoring
2026-03-11 02:43:06 +01:00
Hibryda
8f4faaafa3
docs: update meta files for provider adapter implementation
2026-03-11 02:08:45 +01:00
Hibryda
11b00f18f8
feat(settings): add provider config UI and sidecar routing (Phase 2+3)
...
Add Providers section to SettingsTab with collapsible per-provider config
panels and per-project provider dropdown. Implement provider-based sidecar
runner selection and multi-provider env var stripping in Rust.
2026-03-11 02:08:45 +01:00
Hibryda
1efcb13869
feat(provider-adapter): implement multi-provider abstraction layer (Phase 1)
...
Add provider types, registry, capabilities, and message adapter registry.
Rename sdk-messages→claude-messages, agent-runner→claude-runner,
ClaudeSession→AgentSession. Update Rust AgentQueryOptions with provider
and provider_config fields. Capability-driven AgentPane rendering.
2026-03-11 02:08:45 +01:00
Hibryda
d8d7ad16f3
docs: update meta files for provider adapter planning
2026-03-11 01:40:03 +01:00
Hibryda
ab4e8b7e06
docs(provider-adapter): add architecture plan for multi-provider agent support
2026-03-11 01:40:03 +01:00
Hibryda
a74d3a74d3
fix(pdf-viewer): use static worker + lazy page rendering
...
Worker copied to public/ via prebuild script (avoids Vite resolution issues).
IntersectionObserver renders only visible pages (+200px ahead) instead of all
at once, fixing performance for large PDFs.
2026-03-11 01:27:54 +01:00