2026-04-28: autonomous executor — architecture, queue table, commands
- Update personal-os-architecture.md: document autonomous executor mode, executor_queue table, Eagle commands in #executor
This commit is contained in:
@@ -22,7 +22,7 @@ See: `personal-os-purpose.md`
|
||||
### Орёл / Eagle (Tactician + reactive layer) — Hermes v0.11.x Discord bot
|
||||
- Reads `~/context/status.md`, daily/weekly briefs, vault via obsidian MCP
|
||||
- Discord channels: `#daily-brief` `#inbox` `#focus` `#executor` `#projects` `#journal` `#retrospector`
|
||||
- Cron jobs: morning-brief (08:30 MTWRF), eod-summary (18:00 MTWRF), inbox-check (30 min 09–19 MTWRF), weekly-plan (Mon 08:00), weekly-review (Fri 17:00), retrospector (Fri 17:30), commit-vault (23:00 daily)
|
||||
- Cron jobs: morning-brief (08:30 MTWRF), eod-summary (18:00 MTWRF), inbox-check (30 min 09–19 MTWRF), weekly-plan (Mon 08:00), weekly-review (Fri 17:00), retrospector (Fri 17:30), executor-autonomous (hourly 09–18 MTWRF), commit-vault (23:00 daily)
|
||||
- Logs corrections to `corrections_log` table (SQL INSERT, silently on pushback)
|
||||
- **Never accesses Asana API directly** — only reads pre-rendered markdown and DB
|
||||
|
||||
@@ -31,14 +31,39 @@ See: `personal-os-purpose.md`
|
||||
- Sources: corrections_log table, status.md subtask counts, obsidian git log, activity_daily quadrants, stories visibility metric
|
||||
- Prompt: `~/Developer/personal-os/agent/prompts/retrospector.md`
|
||||
|
||||
### Исполнитель (Executor) — on-demand autonomous worker
|
||||
- Triggered by explicit "fix bug [GID]" in #executor — never autonomous
|
||||
- Creates git worktree at `~/DuckDuckGo/apple-browsers.git/.claude/worktrees/executor-{gid}-{slug}/`
|
||||
### Исполнитель (Executor) — two modes
|
||||
|
||||
**Manual mode**: triggered by "fix bug [GID]" in #executor
|
||||
- Single STOP gate after analysis; then autonomous: fix → build → test → draft PR → CI loop
|
||||
- State machine in `executor_runs` table
|
||||
- Prompt: `~/Developer/personal-os/agent/prompts/executor-bug-fix.md`
|
||||
|
||||
**Autonomous mode**: hourly cron (09–18 workdays) → #executor
|
||||
- Maintains a queue from: My Hack Days, Watched, O-L Backlog, stale My Tasks
|
||||
- Analyzes tasks → posts "[Auto] Ready to start" with complexity/feasibility
|
||||
- Waits for "go {gid}" to start; no reply = moves to next analysis
|
||||
- Max 1 active fix at a time; handles CI/review on open draft PRs
|
||||
- Stops touching a PR once Alex moves it out of draft or pushes commits
|
||||
- No Asana comments; no touching other people's PRs
|
||||
- Queue state in `executor_queue` table; live plan: `~/Developer/personal-os/briefs/executor-queue.md`
|
||||
- Prompt: `~/Developer/personal-os/agent/prompts/executor-autonomous.md`
|
||||
|
||||
**Shared**:
|
||||
- Worktree at `~/DuckDuckGo/apple-browsers.git/.claude/worktrees/executor-{gid}-{slug}/`
|
||||
- Always `git fetch origin main` + branch from `origin/main`
|
||||
- State machine in `executor_runs` table
|
||||
- For UI tests: spins VM via ddg-vm MCP (virfield), cleans up on PR close/merge
|
||||
|
||||
**Eagle commands in #executor**:
|
||||
| Command | Effect |
|
||||
|---------|--------|
|
||||
| `fix bug {gid}` | Spawn manual executor (separate agent) |
|
||||
| `go {gid}` | Approve autonomous task → starts next tick |
|
||||
| `skip {gid}` | Skip task in queue |
|
||||
| `stop` | Pause current autonomous task |
|
||||
| `next` | Pause current, analyze next |
|
||||
| `resume {gid}` | Re-queue paused task |
|
||||
| `queue` | Show current executor-queue.md |
|
||||
|
||||
## Data Flow
|
||||
|
||||
```
|
||||
@@ -92,7 +117,8 @@ Executor runs
|
||||
| task_annotations | manual / Eagle | generate-status.js irrelevant filter |
|
||||
| activity_daily | generate-status.js | retrospector quadrant drift |
|
||||
| corrections_log | Eagle on pushback | retrospector pattern analysis |
|
||||
| executor_runs | executor | generate-status.js active runs, executor state machine |
|
||||
| executor_runs | executor (manual + autonomous) | generate-status.js active runs, executor state machine |
|
||||
| executor_queue | executor-autonomous | generate-status.js queue display, autonomous tick state |
|
||||
|
||||
## MCP Servers
|
||||
|
||||
|
||||
Reference in New Issue
Block a user