Drop 9 batch proposals that are superseded by the boocode-lift-analysis (boocontext-audit, conductor upgrades, self-healing/verify-gate skills): add-3tier-memory, import-llm-evaluator, import-pregel-engine, plugin-platform, conductor-evolution, code-intelligence-upgrade, dev-workflow, ui-overhaul, agent-reliability. Delete 11 stub archive files (49-66B each, 'Status: Shipped. Archived.' only) that provide zero documentation value over the existing CHANGELOG.md + git tags.
89 lines
2.5 KiB
Markdown
89 lines
2.5 KiB
Markdown
# OMO-Paseo Bridge Design
|
|
|
|
## Architecture
|
|
|
|
```
|
|
OpenCode Session (Atlas)
|
|
│
|
|
├── task() ──► child session (ses_xxx) ──► OMO subagent does work
|
|
│ │
|
|
│ ▼
|
|
│ omo-paseo-bridge skill
|
|
│ paseo import <ses_xxx> --provider opencode --label omo=true
|
|
│ │
|
|
│ ▼
|
|
│ Paseo Daemon (~/.paseo/agents/<cwd>/<uuid>.json)
|
|
│ Agent appears in `paseo ls`
|
|
│
|
|
├── task completes ──► child session finishes
|
|
│ │
|
|
│ ▼
|
|
│ paseo archive <ses_xxx> (cleans up)
|
|
│
|
|
└── Verification ──► paseo ls --json | jq '.[] | select(.labels.omo)'
|
|
```
|
|
|
|
## Three Integration Points
|
|
|
|
### 1. Atlas Prompt Instruction (immediate, zero-code)
|
|
|
|
Add to the Atlas orchestration prompt:
|
|
|
|
```
|
|
## Paseo Bridge Protocol
|
|
When you call task() and receive a child session ID:
|
|
- On task creation: `paseo import <session-id> --provider opencode --label omo=true --label type=<category>`
|
|
- On task completion: Track the session ID; clean up later
|
|
```
|
|
|
|
**Pros:** Zero code changes, works immediately
|
|
**Cons:** Ephemeral (per-session context), must be repeated every session
|
|
|
|
### 2. OpenCode Skill (durable, scripted)
|
|
|
|
Create a reusable skill at `.opencode/skills/omo-paseo-bridge/SKILL.md` that:
|
|
|
|
- Accepts a child session ID and task type
|
|
- Calls `paseo import` with proper labels
|
|
- Returns the imported agent ID
|
|
- Handles errors (daemon not running, already imported)
|
|
|
|
The Atlas prompt calls this skill instead of shelling out directly.
|
|
|
|
### 3. PreToolUse Hook (fully automatic)
|
|
|
|
A hook that intercepts `task()` calls before/after execution:
|
|
|
|
- On `task()` launch: capture the session ID from the response
|
|
- On `task()` completion: `paseo archive` the corresponding agent
|
|
|
|
**Pros:** Fully automatic, no prompt changes needed
|
|
**Cons:** Hook system support varies by runtime
|
|
|
|
## Data Model
|
|
|
|
```typescript
|
|
// Labels applied to each imported Paseo agent
|
|
{
|
|
"omo": "true",
|
|
"omo.type": "explore | quick | ultrabrain | deep | visual-engineering | unspecified-low | unspecified-high | writing",
|
|
"omo.parent_session": "ses_xxx", // The session that called task()
|
|
"omo.description": "Search codebase for X" // The task prompt description
|
|
}
|
|
```
|
|
|
|
## CLI Bridge Script (Optional)
|
|
|
|
A small `omo-paseo` CLI that wraps common operations:
|
|
|
|
```bash
|
|
# Import all unregistered child sessions
|
|
omo-paseo sync
|
|
|
|
# Clean up completed/failed OMO agents
|
|
omo-paseo prune
|
|
|
|
# Show OMO agents in paseo format
|
|
omo-paseo ls
|
|
```
|