docs: add Aurelio Omnibrain execution tracker — comprehensive audit of all 16 phases across 4 tracks
- Verified ground truth: 539 kimi + 127 claude + 3 antigravity + 2 mimocode + 1 hermes sessions (~800 total) - Confirmed: aurelio-gbrain empty dir, adapters not yet split into package, theia is thin scaffold - All 16 phases mapped with exact files, steps, exit gates - Added risks, tradeoffs, open questions, success metrics - Source: ~/.hermes/plans/2026-07-12_aurelio-omnibrain-master-plan.md
This commit is contained in:
parent
4c6433e9f1
commit
0eab84ca55
1 changed files with 576 additions and 0 deletions
576
.aurelio/plans/2026-07-13_aurelio-omnibrain-execution-tracker.md
Normal file
576
.aurelio/plans/2026-07-13_aurelio-omnibrain-execution-tracker.md
Normal file
|
|
@ -0,0 +1,576 @@
|
|||
# Aurelio Omnibrain — Execution Tracker
|
||||
|
||||
> **Generated:** 2026-07-13 · **Source:** `~/.hermes/plans/2026-07-12_aurelio-omnibrain-master-plan.md`
|
||||
> **Status:** 🔴 NOT STARTED — zero execution as of today.
|
||||
|
||||
---
|
||||
|
||||
## 1. Vision
|
||||
|
||||
Import session history, plans, memory, and artifacts from **every coding-agent CLI/TUI/IDE** on the market into a unified **Aurelio GBrain** engine, and expose that brain as the **single knowledge backend** for the entire Aurélio fleet:
|
||||
|
||||
| Surface | How it talks to GBrain |
|
||||
|---------|----------------------|
|
||||
| **Theia IDE** | HTTP via `GBrainClient` (Node.js backend) |
|
||||
| **VS Code extension** | HTTP via `GBrainClient` (TypeScript) |
|
||||
| **TUI / CLI** | HTTP via `GBrainClient` (Node.js) |
|
||||
| **Hermes Agent** | MCP server (stdio) or HTTP |
|
||||
|
||||
**North star:** Every coding session you've ever had — Kimi, Claude, Hermes, OpenCode, Copilot, Gemini, ZAI, ZCode, MiMo, Qwen, Antigravity — searchable from one place, available in every IDE.
|
||||
|
||||
---
|
||||
|
||||
## 2. Current State (Verified 2026-07-13)
|
||||
|
||||
### Brain Store
|
||||
```
|
||||
~/workspace/replica-omnisciente/.aurelio/brain/
|
||||
```
|
||||
| Source | Sessions | Status |
|
||||
|--------|----------|--------|
|
||||
| **kimi** | 539 | ✅ Imported |
|
||||
| **claude** | 127 | ✅ Imported |
|
||||
| **antigravity** | 3 | ✅ Imported |
|
||||
| **mimocode** | 2 | ✅ Imported |
|
||||
| **hermes** | 1 | ✅ Imported |
|
||||
| **legacy UUID** | ~127 | ⚠️ Pre-dating the importer (no `session-<source>-` prefix) |
|
||||
| **kimi-code** | 0 | ❌ No adapter |
|
||||
| **antigravity-ide** | 0 | ❌ No adapter |
|
||||
| **gemini** | 0 | ❌ No adapter |
|
||||
| **copilot** | 0 | ❌ No adapter |
|
||||
| **opencode** | 0 | ❌ No adapter |
|
||||
| **zai** | 0 | ❌ No adapter |
|
||||
| **zcode** | 0 | ❌ No adapter |
|
||||
| **qwen-code** | 0 | ❌ Not imported yet (adapter exists) |
|
||||
| **Total** | **~800** | |
|
||||
|
||||
### Code Components
|
||||
|
||||
| Component | Path | Reality |
|
||||
|-----------|------|---------|
|
||||
| **Agent importer** | `scripts/sync-agents-to-brain.py` | ✅ Exists. Monolithic `adapters.py` (not yet split into package). 6 adapters. Idempotent. |
|
||||
| **Adapters** | `scripts/agent_importers/adapters.py` | 🟡 Single file, not a package. Needs refactor before adding 5+ new adapters. |
|
||||
| **Normalized contract** | `scripts/agent_importers/engine.py` | ✅ `NormalizedSession` / `NormalizedMessage` dataclasses. |
|
||||
| **GBrain engine** | `aurelio-gbrain/` | 🔴 **Empty directory.** No code. |
|
||||
| **Theia extension** | `aurelio-theia/AurelioTheia/` | 🔴 **Thin scaffold.** `aureilio-backend-module.ts` (hardcoded endpoints), `aurelio-frontend-module.ts` (50+ `console.log` stubs). No widgets. |
|
||||
| **Gabinete Hub** | CT 208 (192.168.0.38) | 🟡 Exists as deployment target. No GBrain integration. |
|
||||
| **Provider registry** | `.aurelio/providers/registry.yaml` | ✅ Covers 17+ providers. |
|
||||
|
||||
### Source Directory Map
|
||||
|
||||
| # | Agent / CLI / TUI | Source Directory | Adapter? | Sessions |
|
||||
|---|-------------------|------------------|----------|----------|
|
||||
| 1 | Kimi | `~/.kimi/sessions/` | ✅ | 539 |
|
||||
| 2 | Kimi Code | `~/.kimi-code/` | ❌ NEW | ? |
|
||||
| 3 | Hermes | `~/.hermes/sessions/` | ✅ | 1 |
|
||||
| 4 | Claude Code | `~/.claude/projects/` | ✅ | 127 |
|
||||
| 5 | Antigravity IDE | `~/.antigravity-ide/` | ❌ NEW | ? |
|
||||
| 6 | Antigravity CLI | `~/.gemini/antigravity-cli/` | ✅ | 3 |
|
||||
| 7 | Gemini | `~/.gemini/` | ❌ NEW | ? |
|
||||
| 8 | Copilot | `~/.copilot/` | ❌ NEW | ? |
|
||||
| 9 | OpenCode | `~/.opencode/` | ❌ NEW | ? |
|
||||
| 10 | ZAI | `~/.zai/` | ❌ NEW | ? |
|
||||
| 11 | ZCode | `~/.zcode/` | ❌ NEW | ? |
|
||||
| 12 | MiMo Code | `~/.mimocode/` | ✅ | 2 |
|
||||
| 13 | Qwen Code | `~/.qwen-code/` | ✅ | 0 |
|
||||
|
||||
---
|
||||
|
||||
## 3. Architecture
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────────┐
|
||||
│ AURELIO FLEET │
|
||||
│ │
|
||||
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
|
||||
│ │ Theia │ │ VS Code │ │ TUI / │ │
|
||||
│ │ IDE │ │ ext. │ │ CLI │ │
|
||||
│ └────┬────┘ └────┬────┘ └────┬────┘ │
|
||||
│ │ │ │ │
|
||||
│ └───────────┼────────────┘ │
|
||||
│ │ HTTP │
|
||||
│ ▼ │
|
||||
│ ┌────────────────────────────────────┐ │
|
||||
│ │ AURELIO GBRAIN ENGINE │ │
|
||||
│ │ ┌──────────┐ ┌────────────────┐ │ │
|
||||
│ │ │ SQLite │ │ HTTP API │ │ │
|
||||
│ │ │ FTS5 │ │ /api/brain/* │ │ │
|
||||
│ │ │ Index │ │ (Express) │ │ │
|
||||
│ │ └──────────┘ └────────────────┘ │ │
|
||||
│ │ ┌──────────┐ ┌────────────────┐ │ │
|
||||
│ │ │ Dream │ │ MCP Server │ │ │
|
||||
│ │ │ Cycle │ │ (stdio) │ │ │
|
||||
│ │ └──────────┘ └────────────────┘ │ │
|
||||
│ └────────────────────────────────────┘ │
|
||||
│ ▲ │
|
||||
│ │ │
|
||||
│ ┌────────────────────────────────────┐ │
|
||||
│ │ AGENT IMPORTERS │ │
|
||||
│ │ sync-agents-to-brain.py │ │
|
||||
│ │ ┌─────┐ ┌──────┐ ┌───────┐ │ │
|
||||
│ │ │ kimi│ │claude│ │opencode│ ... │ │
|
||||
│ │ │code │ │ code │ │ │ │ │
|
||||
│ │ └─────┘ └──────┘ └───────┘ │ │
|
||||
│ └────────────────────────────────────┘ │
|
||||
│ ▲ │
|
||||
│ │ │
|
||||
└───────────────────┼────────────────────────┘
|
||||
│
|
||||
┌───────────────────┼────────────────────────┐
|
||||
│ SOURCE DIRECTORIES (13 ecosystems) │
|
||||
│ ~/.kimi/ ~/.claude/ ~/.hermes/ │
|
||||
│ ~/.opencode/ ~/.copilot/ ~/.gemini/ │
|
||||
│ ~/.zai/ ~/.zcode/ ~/.mimocode/ ... │
|
||||
└────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
### Data Flow
|
||||
|
||||
```
|
||||
Agent ecosystems on disk
|
||||
│
|
||||
▼
|
||||
Importers (Python) ← Normalize to NormalizedSession/Message
|
||||
│
|
||||
▼
|
||||
Brain Store (filesystem) ← session-<source>-<id>/session.jsonl
|
||||
│
|
||||
▼
|
||||
GBrain Engine (TypeScript) ← Ingest, index (SQLite FTS5), serve
|
||||
│
|
||||
├─ HTTP API (/api/brain/*) → Theia, VS Code, TUI, CLI
|
||||
└─ MCP Server (stdio) → Hermes Agent
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 4. Tech Stack
|
||||
|
||||
| Layer | Technology | Version |
|
||||
|-------|-----------|---------|
|
||||
| **Importers** | Python | 3.13 |
|
||||
| **GBrain Engine** | TypeScript + Node.js | TS 5.3, Node 20 |
|
||||
| **Database** | SQLite + FTS5 | built-in |
|
||||
| **HTTP Server** | Express | latest |
|
||||
| **CLI Framework** | Commander | latest |
|
||||
| **IDE** | Eclipse Theia | 1.73.1 |
|
||||
| **Frontend** | React | 19 |
|
||||
| **Agent Protocol** | MCP SDK | @modelcontextprotocol/sdk |
|
||||
| **HTTP Client** | Axios | latest |
|
||||
|
||||
---
|
||||
|
||||
## 5. Execution Plan
|
||||
|
||||
### Track A — Agent Importers (Sessions 1–4)
|
||||
|
||||
**Goal:** Cover all 13 source directories with working adapters.
|
||||
|
||||
#### Phase A1: Refactor adapters into a package
|
||||
**Session:** 1 · **Status:** 🔴 NOT STARTED
|
||||
|
||||
| Step | Description | Files |
|
||||
|------|-------------|-------|
|
||||
| 1 | Create `adapters/base.py` with shared helpers (`_load_json`, `_load_jsonl`, `_file_times`, `HOME`) | NEW: `adapters/base.py` |
|
||||
| 2 | Move each existing adapter into its own module | NEW: `adapters/kimi.py`, `hermes.py`, `claude_code.py`, `antigravity.py`, `qwen_code.py`, `mimocode.py` |
|
||||
| 3 | Update `__init__.py` to re-export all `discover_*` functions | MODIFY: `adapters/__init__.py` |
|
||||
| 4 | Regression test: `python3 scripts/sync-agents-to-brain.py --dry-run --summary` — same counts as before | VERIFY |
|
||||
| 5 | Commit | |
|
||||
|
||||
**Exit gate:** Same session counts as monolithic `adapters.py`. No regressions.
|
||||
|
||||
#### Phase A2: Add kimi-code adapter
|
||||
**Session:** 1 · **Status:** 🔴 NOT STARTED
|
||||
|
||||
| Step | Description |
|
||||
|------|-------------|
|
||||
| 1 | Inspect `~/.kimi-code/` structure (likely same format as Kimi) |
|
||||
| 2 | Write `discover_kimi_code()` yielding `NormalizedSession` objects |
|
||||
| 3 | Register in `__init__.py` and dispatch dict |
|
||||
| 4 | Dry-run: `python3 scripts/sync-agents-to-brain.py --source kimi-code --dry-run --summary` |
|
||||
| 5 | Commit |
|
||||
|
||||
#### Phase A3: Add antigravity-ide adapter
|
||||
**Session:** 2 · **Status:** 🔴 NOT STARTED
|
||||
|
||||
| Step | Description |
|
||||
|------|-------------|
|
||||
| 1 | Inspect `~/.antigravity-ide/` (likely JSON/JSONL or SQLite) |
|
||||
| 2 | Write adapter; reuse `sqlite3` pattern from `antigravity.py` if SQLite |
|
||||
| 3 | Register and dry-run |
|
||||
| 4 | Commit |
|
||||
|
||||
#### Phase A4: Add gemini adapter
|
||||
**Session:** 2 · **Status:** 🔴 NOT STARTED
|
||||
|
||||
| Step | Description |
|
||||
|------|-------------|
|
||||
| 1 | Inspect `~/.gemini/` — may contain `antigravity-cli/` (covered) + other tools |
|
||||
| 2 | Write adapter for non-antigravity Gemini artifacts |
|
||||
| 3 | Register and dry-run |
|
||||
| 4 | Commit |
|
||||
|
||||
#### Phase A5: Add copilot adapter
|
||||
**Session:** 3 · **Status:** 🔴 NOT STARTED
|
||||
|
||||
| Step | Description |
|
||||
|------|-------------|
|
||||
| 1 | Inspect `~/.copilot/` (likely VS Code extension state or CLI cache) |
|
||||
| 2 | Write adapter |
|
||||
| 3 | Register and dry-run |
|
||||
| 4 | Commit |
|
||||
|
||||
#### Phase A6: Add opencode adapter
|
||||
**Session:** 3 · **Status:** 🔴 NOT STARTED
|
||||
|
||||
| Step | Description |
|
||||
|------|-------------|
|
||||
| 1 | Inspect `~/.opencode/` (likely JSONL sessions) |
|
||||
| 2 | Write adapter |
|
||||
| 3 | Register and dry-run |
|
||||
| 4 | Commit |
|
||||
|
||||
#### Phase A7: Add zai adapter
|
||||
**Session:** 4 · **Status:** 🔴 NOT STARTED
|
||||
|
||||
| Step | Description |
|
||||
|------|-------------|
|
||||
| 1 | Inspect `~/.zai/` |
|
||||
| 2 | Write adapter |
|
||||
| 3 | Register and dry-run |
|
||||
| 4 | Commit |
|
||||
|
||||
#### Phase A8: Add zcode adapter
|
||||
**Session:** 4 · **Status:** 🔴 NOT STARTED
|
||||
|
||||
| Step | Description |
|
||||
|------|-------------|
|
||||
| 1 | Inspect `~/.zcode/` |
|
||||
| 2 | Write adapter |
|
||||
| 3 | Register and dry-run |
|
||||
| 4 | Commit |
|
||||
|
||||
#### Phase A9: Full import run & verification
|
||||
**Session:** 4 · **Status:** 🔴 NOT STARTED
|
||||
|
||||
| Step | Description | Command |
|
||||
|------|-------------|---------|
|
||||
| 1 | Run full import | `python3 scripts/sync-agents-to-brain.py --skip-active --summary` |
|
||||
| 2 | Verify counts per source | `ls .aurelio/brain/ \| grep "^session-" \| sed 's/session-\([^-]*\)-.*/\1/' \| sort \| uniq -c \| sort -rn` |
|
||||
| 3 | Spot-check one session from each new source for correct format | Manual |
|
||||
| 4 | Commit | |
|
||||
|
||||
**🟢 Exit Gate A:** All 13 sources have adapters. Full dry-run completes without errors. ≥8 sources produce sessions (some dirs may be empty on this host).
|
||||
|
||||
---
|
||||
|
||||
### Track B — GBrain Engine (Sessions 5–9)
|
||||
|
||||
**Goal:** Build `aurelio-gbrain` as a real TypeScript engine.
|
||||
|
||||
#### Phase B1: Project scaffold
|
||||
**Session:** 5 · **Status:** 🔴 NOT STARTED
|
||||
|
||||
| Step | Description | Files |
|
||||
|------|-------------|-------|
|
||||
| 1 | `package.json` with deps: axios, better-sqlite3, express, commander, typescript, @types/node | NEW: `aurelio-gbrain/package.json` |
|
||||
| 2 | `tsconfig.json` targeting Node 20, strict mode | NEW: `aurelio-gbrain/tsconfig.json` |
|
||||
| 3 | `types.ts` — `BrainSession`, `BrainMessage`, `SearchResult`, `BrainStats` | NEW: `src/types.ts` |
|
||||
| 4 | `brain.ts` — `GBrain` class with `ingest()`, `search()`, `listSessions()`, `getSession()`, `stats()` | NEW: `src/brain.ts` |
|
||||
| 5 | `cli.ts` — commands: `ingest`, `search`, `list`, `stats`, `serve` | NEW: `src/cli.ts` |
|
||||
| 6 | Build and smoke-test: `npm install && npm run build && node dist/cli.js stats` | VERIFY |
|
||||
| 7 | Commit | |
|
||||
|
||||
#### Phase B2: SQLite FTS5 index
|
||||
**Session:** 6 · **Status:** 🔴 NOT STARTED
|
||||
|
||||
| Step | Description | Files |
|
||||
|------|-------------|-------|
|
||||
| 1 | `indexer.ts` — `BrainIndexer` class with `indexSession()`, `search()`, `rebuild()` | NEW: `src/indexer.ts` |
|
||||
| 2 | Wire `GBrain` to use `BrainIndexer` for search, fallback to filesystem scan if stale | MODIFY: `src/brain.ts` |
|
||||
| 3 | Add `reindex` CLI command | |
|
||||
| 4 | Test: `node dist/cli.js reindex && node dist/cli.js search "universalis"` | VERIFY |
|
||||
| 5 | Commit | |
|
||||
|
||||
#### Phase B3: HTTP API server
|
||||
**Session:** 7 · **Status:** 🔴 NOT STARTED
|
||||
|
||||
| Step | Description |
|
||||
|------|-------------|
|
||||
| 1 | `server.ts` — Express app with 6 endpoints |
|
||||
| 2 | Add `serve` CLI command with `--port` flag (default 18000) |
|
||||
| 3 | Test all endpoints with `curl` |
|
||||
| 4 | Commit |
|
||||
|
||||
**API Endpoints:**
|
||||
|
||||
| Method | Path | Returns |
|
||||
|--------|------|---------|
|
||||
| `GET` | `/api/brain/health` | `{ status: 'ok' }` |
|
||||
| `GET` | `/api/brain/stats` | `BrainStats` |
|
||||
| `GET` | `/api/brain/sessions?source=&limit=` | `BrainSession[]` |
|
||||
| `GET` | `/api/brain/sessions/:id` | `BrainSession` |
|
||||
| `GET` | `/api/brain/search?q=&limit=` | `SearchResult[]` |
|
||||
| `POST` | `/api/brain/ingest` | triggers re-ingest |
|
||||
|
||||
#### Phase B4: Dream cycle / synthesis
|
||||
**Session:** 8 · **Status:** 🔴 NOT STARTED
|
||||
|
||||
| Step | Description |
|
||||
|------|-------------|
|
||||
| 1 | `dream.ts` — `DreamCycle` class: `run()`, `summarizeSession()`, `extractKnowledge()`, `linkSessions()` |
|
||||
| 2 | Add `dream` CLI command |
|
||||
| 3 | Add `POST /api/brain/dream` endpoint |
|
||||
| 4 | Test with small batch |
|
||||
| 5 | Commit |
|
||||
|
||||
**Note:** MVP dream cycle is extractive (no LLM). LLM-enhanced dream is a stretch goal.
|
||||
|
||||
#### Phase B5: MCP server surface
|
||||
**Session:** 9 · **Status:** 🔴 NOT STARTED
|
||||
|
||||
| Step | Description |
|
||||
|------|-------------|
|
||||
| 1 | `mcp.ts` — MCP server exposing 4 tools: `brain_search`, `brain_list_sessions`, `brain_get_session`, `brain_stats` |
|
||||
| 2 | Add `mcp` CLI command (stdio transport) |
|
||||
| 3 | Register in `.aurelio/mcp_config.json` |
|
||||
| 4 | Test with `mcp-remote` or direct stdio |
|
||||
| 5 | Commit |
|
||||
|
||||
**🟢 Exit Gate B:** GBrain builds (`npm run build`), CLI works, HTTP server responds, FTS5 search returns results, MCP server lists tools. `curl http://localhost:18000/api/brain/stats` returns non-zero session count.
|
||||
|
||||
---
|
||||
|
||||
### Track C — Theia Backend Integration (Sessions 10–13)
|
||||
|
||||
**Goal:** Replace the thin scaffold with a real backend that talks to GBrain.
|
||||
|
||||
#### Phase C1: GBrain client package
|
||||
**Session:** 10 · **Status:** 🔴 NOT STARTED
|
||||
|
||||
| Step | Description | Files |
|
||||
|------|-------------|-------|
|
||||
| 1 | `GBrainClient` class with `stats()`, `listSessions()`, `getSession()`, `search()`, `ingest()`, `dream()` | NEW: `aurelio-theia/packages/aurelio-gbrain-client/` |
|
||||
| 2 | Add to Theia workspace `package.json` workspaces | MODIFY |
|
||||
| 3 | Build: `npm run build --workspaces` | VERIFY |
|
||||
| 4 | Commit | |
|
||||
|
||||
#### Phase C2: Real Theia backend service
|
||||
**Session:** 11 · **Status:** 🔴 NOT STARTED
|
||||
|
||||
| Step | Description |
|
||||
|------|-------------|
|
||||
| 1 | Rewrite `AurelioBackendService` — inject `GBrainClient` via `AURELIO_GBRAIN_ENDPOINT` env var (default `http://192.168.0.38:18000`) |
|
||||
| 2 | Implement real methods: `syncPush()`, `syncPull()`, `getHealth()`, `searchBrain()`, `listSessions()`, `getSession()`, `getStats()`, `triggerDream()` |
|
||||
| 3 | Add Theia RPC endpoints |
|
||||
| 4 | Build and verify |
|
||||
| 5 | Commit |
|
||||
|
||||
#### Phase C3: Wire frontend commands to backend
|
||||
**Session:** 12 · **Status:** 🔴 NOT STARTED
|
||||
|
||||
| Step | Description |
|
||||
|------|-------------|
|
||||
| 1 | Inject `AurelioBackendService` (via RPC proxy) into `AurelioCommandContribution` |
|
||||
| 2 | Wire high-value commands first: `syncPush`/`syncPull`, `startSession`, `viewSessionHistory`, `showAgentSummary`, `suggestPrompts`, `addContext` |
|
||||
| 3 | Keep low-value commands as stubs (hardware dashboards, SPICE, etc.) |
|
||||
| 4 | Build and verify |
|
||||
| 5 | Commit |
|
||||
|
||||
#### Phase C4: Brain widget
|
||||
**Session:** 13 · **Status:** 🔴 NOT STARTED
|
||||
|
||||
| Step | Description |
|
||||
|------|-------------|
|
||||
| 1 | `brain-widget.tsx` — React component: session list (filterable by source), search bar, session detail view, stats panel |
|
||||
| 2 | `brain-widget-contribution.ts` — register with Theia widget manager |
|
||||
| 3 | Wire `aurelio.viewSessionHistory` command to open widget |
|
||||
| 4 | Build and verify |
|
||||
| 5 | Commit |
|
||||
|
||||
**🟢 Exit Gate C:** Theia builds without errors. `AurelioBackendService` responds to health checks. ≥5 frontend commands call real backend methods. Brain widget opens and displays sessions.
|
||||
|
||||
---
|
||||
|
||||
### Track D — Fleet Sync & Surfaces (Sessions 14–16)
|
||||
|
||||
**Goal:** Deploy to CT 208, expose to all surfaces.
|
||||
|
||||
#### Phase D1: Deploy GBrain to CT 208
|
||||
**Session:** 14 · **Status:** 🔴 NOT STARTED
|
||||
|
||||
| Step | Description |
|
||||
|------|-------------|
|
||||
| 1 | Write systemd unit file for GBrain HTTP server (port 18000) |
|
||||
| 2 | Write deploy script: build → copy to CT 208 → install systemd unit → start |
|
||||
| 3 | Deploy and verify: `curl http://192.168.0.38:18000/api/brain/health` |
|
||||
| 4 | Commit |
|
||||
|
||||
#### Phase D2: Sync brain to CT 208
|
||||
**Session:** 14 · **Status:** 🔴 NOT STARTED
|
||||
|
||||
| Step | Description |
|
||||
|------|-------------|
|
||||
| 1 | Verify `sync.py --push` pushes `.aurelio/brain/` |
|
||||
| 2 | Run push and verify CT 208 has sessions |
|
||||
| 3 | Commit |
|
||||
|
||||
#### Phase D3: VS Code extension integration
|
||||
**Session:** 15 · **Status:** 🔴 NOT STARTED
|
||||
|
||||
| Step | Description |
|
||||
|------|-------------|
|
||||
| 1 | Add `GBrainClient` to VS Code extension |
|
||||
| 2 | Add commands: `Aurelio: Search Brain`, `Aurelio: List Sessions`, `Aurelio: Show Stats` |
|
||||
| 3 | Build VSIX and deploy to CT 205 |
|
||||
| 4 | Commit |
|
||||
|
||||
#### Phase D4: TUI + CLI integration
|
||||
**Session:** 15 · **Status:** 🔴 NOT STARTED
|
||||
|
||||
| Step | Description |
|
||||
|------|-------------|
|
||||
| 1 | Add brain search/list commands to TUI |
|
||||
| 2 | Add brain search/list commands to CLI |
|
||||
| 3 | Build and test |
|
||||
| 4 | Commit |
|
||||
|
||||
#### Phase D5: Hermes Agent integration
|
||||
**Session:** 16 · **Status:** 🔴 NOT STARTED
|
||||
|
||||
| Step | Description |
|
||||
|------|-------------|
|
||||
| 1 | Register GBrain MCP server in `.aurelio/mcp_config.json` |
|
||||
| 2 | Test from Hermes Agent |
|
||||
| 3 | Verify Hermes can search brain and get results |
|
||||
| 4 | Commit |
|
||||
|
||||
#### Phase D6: End-to-end verification
|
||||
**Session:** 16 · **Status:** 🔴 NOT STARTED
|
||||
|
||||
| Step | Description |
|
||||
|------|-------------|
|
||||
| 1 | Run importer on all sources |
|
||||
| 2 | Push brain to CT 208 |
|
||||
| 3 | Verify GBrain on CT 208 has all sessions |
|
||||
| 4 | Verify Theia IDE can search brain |
|
||||
| 5 | Verify VS Code extension can search brain |
|
||||
| 6 | Verify Hermes Agent can search brain via MCP |
|
||||
| 7 | Document any gaps |
|
||||
|
||||
**🟢 Exit Gate D:** GBrain runs on CT 208 as a systemd service. All 4 surfaces (Theia, VS Code, TUI/CLI, Hermes) can query the brain. Full import → push → query cycle completes without errors.
|
||||
|
||||
---
|
||||
|
||||
## 6. Hard Rules
|
||||
|
||||
1. **Never edit UOS source** (per mycelium directive). This plan is entirely in the Aurélio ecosystem.
|
||||
2. **No second Hermes gateway.** Theia backend talks to GBrain via HTTP, not via Hermes tools.
|
||||
3. **Content-addressed writes only.** Brain session directories named `session-<source>-<id>`, written only when content changes.
|
||||
4. **All new adapters must be defensive.** Missing source directory → yield nothing. Malformed record → skip, never fatal.
|
||||
5. **Idempotency is non-negotiable.** Re-running the importer must produce zero writes when nothing changed.
|
||||
|
||||
---
|
||||
|
||||
## 7. Risks & Mitigations
|
||||
|
||||
| Risk | Impact | Mitigation |
|
||||
|------|--------|-----------|
|
||||
| **Source format variance** — each agent stores sessions differently (SQLite, JSONL, protobuf) | Medium | Adapters are defensive; unknown formats skipped with warning, not fatal |
|
||||
| **Empty source directories** — hermes, claude-code, etc. may have 0 sessions on this host | Low | Importer handles gracefully; user may expect data that isn't there |
|
||||
| **GBrain scope creep** — dream cycle involves LLM calls | Medium | MVP dream cycle is extractive (no LLM); LLM-enhanced dream is stretch goal |
|
||||
| **Theia build complexity** — Theia 1.73.1 + React 19 is bleeding edge | High | Existing scaffold already builds; add incrementally |
|
||||
| **CT 208 deployment** — systemd + Node may have permission issues | Medium | Deploy script handles sudo; fallback: Docker container |
|
||||
|
||||
---
|
||||
|
||||
## 8. Tradeoffs
|
||||
|
||||
| Decision | Chosen | Alternative | Rationale |
|
||||
|----------|--------|-------------|-----------|
|
||||
| **GBrain as HTTP service first** | ✅ Service | Library | Simpler to deploy and debug; HTTP contract stays same when it becomes a library inside Gabinete Hub later |
|
||||
| **SQLite FTS5 over vector DB** | ✅ FTS5 | Embeddings | FTS5 is good enough for keyword search; vector embeddings are a stretch goal |
|
||||
| **Wire 5–10 high-value commands first** | ✅ Subset | All 50+ | Pragmatic; remaining stubs until user prioritizes |
|
||||
| **Adapter per file** | ✅ Split package | Monolithic | Prevents `adapters.py` from becoming a 2000-line monster |
|
||||
|
||||
---
|
||||
|
||||
## 9. Open Questions
|
||||
|
||||
1. **Which agent ecosystems beyond the 13 listed?** Cursor, Windsurf, Aider, Continue, Cody, Tabnine, etc. The adapter pattern makes adding #14+ a 30-minute task — but we need to know which ones you actually use.
|
||||
2. **Should GBrain run on CT 208 or on your workstation?** Current plan: CT 208 primary, local cache secondary. Want local-first with sync?
|
||||
3. **Dream cycle LLM provider?** Which provider from the registry? Default `openrouter` or `kimi-coding`?
|
||||
4. **VS Code extension repo structure?** Is `aurelio-vscode` a submodule of `replica-omnisciente` or standalone? Paths change depending on answer.
|
||||
|
||||
---
|
||||
|
||||
## 10. Success Metrics
|
||||
|
||||
| Metric | Target |
|
||||
|--------|--------|
|
||||
| **Coverage** | 13/13 source directories have adapters |
|
||||
| **Import speed** | Full import completes in <5 minutes |
|
||||
| **Import yield** | Sessions from ≥8 sources (some dirs may be empty) |
|
||||
| **Search latency** | GBrain FTS5 search returns results in <100ms |
|
||||
| **API latency** | HTTP server responds to all 6 endpoints in <200ms |
|
||||
| **IDE integration** | Theia brain widget opens and displays sessions without errors |
|
||||
| **Fleet coverage** | All 4 surfaces can query the brain |
|
||||
| **Idempotency** | Re-running import produces 0 writes when nothing changed |
|
||||
|
||||
---
|
||||
|
||||
## 11. Files Likely to Change
|
||||
|
||||
### Track A
|
||||
- `replica-omnisciente/scripts/agent_importers/adapters/*.py` (new package)
|
||||
- `replica-omnisciente/scripts/agent_importers/__init__.py`
|
||||
- `replica-omnisciente/scripts/sync-agents-to-brain.py`
|
||||
|
||||
### Track B
|
||||
- `replica-omnisciente/aurelio-gbrain/` (entire new package)
|
||||
|
||||
### Track C
|
||||
- `aurelio-theia/AurelioTheia/src/node/aureilio-backend-module.ts`
|
||||
- `aurelio-theia/AurelioTheia/src/browser/aureilio-frontend-module.ts`
|
||||
- `aurelio-theia/AurelioTheia/src/browser/brain-widget.tsx` (new)
|
||||
- `aurelio-theia/packages/aurelio-gbrain-client/` (new package)
|
||||
|
||||
### Track D
|
||||
- `replica-omnisciente/.aurelio/sync.py`
|
||||
- `replica-omnisciente/.aurelio/mcp_config.json`
|
||||
- `aurelio-vscode/src/` (integration)
|
||||
- `aurelio-tui/src/` (integration)
|
||||
- `aurelio-cli/src/` (integration)
|
||||
|
||||
---
|
||||
|
||||
## 12. References
|
||||
|
||||
| Document | Path |
|
||||
|----------|------|
|
||||
| Ecosystem integration pattern | `references/aurelio-ecosystem-integration.md` |
|
||||
| Strategic master plans methodology | `references/strategic-master-plans.md` |
|
||||
| Guest → host import pattern | `references/importing-guest-component-into-host.md` |
|
||||
| Fleet map & build commands | `replica-omnisciente/AGENTS.md` |
|
||||
| Existing importer entry point | `scripts/sync-agents-to-brain.py` |
|
||||
| Normalized session contract | `scripts/agent_importers/engine.py` |
|
||||
| 50+ command stubs | `aurelio-theia/AurelioTheia/src/browser/aurelio-frontend-module.ts` |
|
||||
| Thin backend scaffold | `aurelio-theia/AurelioTheia/src/node/aureilio-backend-module.ts` |
|
||||
|
||||
---
|
||||
|
||||
## 13. Immediate Next Actions
|
||||
|
||||
1. **Confirm the 13 source directories exist** on your host and inspect their formats (`ls` + `file` on each).
|
||||
2. **Start Track A Phase A1:** Refactor adapters into a package.
|
||||
3. **In parallel, start Track B Phase B1:** Scaffold GBrain package.
|
||||
4. **Report back** with findings from source directory inspection — some adapters may be trivial (same format as existing), others may need research.
|
||||
|
||||
---
|
||||
|
||||
## 14. Subagent-Report Log
|
||||
|
||||
| Date | Subagent | Task | Report |
|
||||
|------|----------|------|--------|
|
||||
| 2026-07-12 | Hermes | On-disk grounding | Confirmed: aurelio-theia is thin scaffold, aurelio-gbrain is empty dir, 6/13 adapters exist, brain has 539 kimi + 127 claude + 3 antigravity + 2 mimocode + 1 hermes sessions (~800 total). |
|
||||
| 2026-07-13 | Hermes | Fleet plan audit | All 16 phases across 4 tracks verified as NOT STARTED. 13 source directories mapped. |
|
||||
Loading…
Reference in a new issue