| Age | Commit message (Collapse) | Author |
|
Phase 1 of subagent architecture redesign. Adds Jobs.hs with:
- subagent_jobs table for persistent job queue
- subagent_events table for lifecycle event log
- Job CRUD: create, claim, complete, fail, cancel
- Event logging for started, progress, tool_call, error, completed
- Queries: pending jobs, running jobs, active summary for context
- All tests passing
This enables:
- Jobs survive process restarts
- Workers can claim and execute jobs independently
- Events flow back to Ava's context for collaborative debugging
๐ค Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
|
Use `cd <path> && direnv exec .` instead of `direnv exec <path>` since
the latter doesn't work correctly with nix-direnv caching.
๐ค Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
|
- Add omniRepoDir constant for the repo path
- Use direnv exec with explicit path instead of "."
- Update ava manifest workingDirectory to /home/ava
This separates Ava's working directory from Coder's repo directory.
๐ค Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
|
- Rewrote system prompt with TOKEN EFFICIENCY section
- Reduced defaults: timeout 600s, maxCost 50ยข, maxTokens 100k
- Added output truncation (8000 char cap) to all tools
- Tightened search limits (30 results, 5 context lines)
|
|
- Add SQLite storage for tool traces (Omni/Ava/Trace.hs)
- Add web server to serve trace viewer (Omni/Ava/Web.hs)
- Add HTML/CSS/JS trace viewer UI (Omni/Ava/Web/trace.html)
- Integrate trace storage into Engine.hs tool execution callback
- Add trace links to Telegram responses when AVA_WEB_URL is set
- Configure Tailscale Funnel for public access
- Fix pre-push hook variable scope bug
- Add direnv, bash, nix to Ava service PATH
- Add mustache dep to Ava.hs for template rendering
Epic: t-272
|
|
- Telegram.hs: add loadTelegramSystemPrompt with fallback
- Subagent.hs: add loadSystemPromptForRole with fallback
- Coder.hs: add loadCoderSystemPrompt with fallback
- Ava.nix: add tmpfiles rules for /home/ava/prompts/
- Prompts.hs: fix test to expect .mustache extension
Templates loaded at runtime from $AVA_DATA_ROOT/prompts/.
Falls back to hardcoded prompts if templates not found.
Amp-Thread-ID: https://ampcode.com/threads/T-019b3878-73be-77ec-97cc-d092a28d211e
Co-authored-by: Amp <amp@ampcode.com>
|
|
|
|
Remove task_id requirement and all jr task CLI calls. The Coder subagent
now only requires namespace and task description - no external task
tracking needed.
Changes:
- Remove coderTaskId from CoderConfig
- Remove jr task show/update/comment calls
- Commit message uses namespace prefix instead of task ID
- Recovery phase just reverts git, no task comment
- Subagent.hs only validates namespace for Coder role
|
|
Based on Anthropic's effective harnesses research.
New modules:
- Omni/Agent/AuditLog.hs: JSONL audit logging with SubagentId linking
- Omni/Agent/Tools/AvaLogs.hs: Tool for Ava to query her own logs
- Omni/Agent/Subagent/HARDENING.md: Design documentation
Key features:
- SubagentHandle with TVar status for async execution and polling
- spawnSubagentAsync, querySubagentStatus, waitSubagent, cancelSubagent
- User confirmation: spawn_subagent requires confirmed=true after approval
- Audit logs stored in $AVA_DATA_ROOT/logs/{ava,subagents}/
- CLI: ava logs [--last=N] [<subagent_id>]
- read_ava_logs tool for Ava self-diagnosis
Tasks: t-267, t-268, t-269, t-270, t-271
|
|
Enables orchestrator to spawn specialized subagents for focused tasks:
- WebCrawler: web search + page reading (haiku, fast)
- CodeReviewer: code analysis tools (sonnet, thorough)
- DataExtractor: structured data extraction (haiku)
- Researcher: combined web + codebase research (sonnet)
Key features:
- spawn_subagent tool with role-based tool selection
- Per-subagent resource limits (timeout, cost, tokens)
- Structured output with citations (claim, source_url, quote)
- Separate API keys for OpenRouter vs Kagi
- Efficiency-focused system prompts
Defaults: 200k tokens, $1.00 cost cap, 600s timeout, 20 iterations
|