mirror of
https://github.com/tinyhumansai/openhuman.git
synced 2026-07-30 23:14:37 +00:00
64 lines
3.5 KiB
Markdown
64 lines
3.5 KiB
Markdown
# TinyAgents Full Migration Plan
|
||
|
||
Status: active plan (2026-07-02). Branch: `issue/4249-finish-tinyagents-migration`.
|
||
|
||
> **2026-07-03 update:** #4249 has landed on main. Remaining work is
|
||
> re-planned in [`CONTINUATION-2026-07.md`](CONTINUATION-2026-07.md), which
|
||
> supersedes the workstream ordering below and targets tinyagents 1.4/1.5
|
||
> (`graph::goals`, `graph::todos`, `NoProgressTracker`, resumable graph
|
||
> failures).
|
||
|
||
Goal: **hard-migrate** OpenHuman's agent harness onto the `tinyagents` crate as
|
||
the library for orchestration, caching, tooling, observability, model
|
||
providers, context management, embeddings, sub-agents, steering, summarization,
|
||
events, and session storage — then **delete the legacy OpenHuman files**.
|
||
OpenHuman keeps only product policy (prompts, registry, security/approval
|
||
semantics, credentials, UX projections).
|
||
|
||
Each workstream folder below is sized for `/goal` execution: the folder
|
||
`README.md` states scope + done criteria; numbered step files are individual
|
||
goals. Execute a step file end-to-end (code + tests + deletions + commit).
|
||
|
||
## Key facts superseding older docs
|
||
|
||
- Current crate is **1.5.0**; the plan still records the earlier "1.3.0 delta"
|
||
in `00-baseline.md` where those primitives first became available.
|
||
- `docs/tinyagents-sdk-gaps.md` was refreshed against TinyAgents 1.3.0 and
|
||
should be re-audited after the 1.5.0 bump; it currently
|
||
tracks only residual gaps. tinyagents 1.2.0-1.3.0 ships `UnknownToolPolicy`,
|
||
`ToolPolicy` safety metadata + `ToolPolicyMiddleware`, reasoning deltas
|
||
(`MessageDelta.reasoning`), durable `JsonlTaskStore` + orchestration tools,
|
||
`graph::parallel::map_reduce`, `ModelCatalog` w/ pricing,
|
||
`WorkspaceIsolation`, `BudgetMiddleware`, event journals/status stores,
|
||
`CapabilityRegistry`, embeddings traits. See `00-baseline.md`.
|
||
- Inventory of live/legacy files: `../tinyagents-harness-migration-audit.md`
|
||
plus the per-folder deletion lists here (`99-deletion-ledger.md` is the
|
||
master list).
|
||
|
||
## Workstreams (suggested order)
|
||
|
||
| # | Folder | Theme |
|
||
|---|--------|-------|
|
||
| 0 | `00-baseline.md` | crate bump, rusqlite 0.40, feature flags |
|
||
| 1 | `01-tooling/` | ToolPolicy round-trip, unknown-tool, dynamic exposure, output budgets |
|
||
| 2 | `02-models/` | ModelRegistry, profiles/catalog, fallback/retry, reasoning stream |
|
||
| 3 | `03-context-cache/` | delete legacy context reducers, ResponseCache + prompt-cache guard |
|
||
| 4 | `04-sessions/` | transcript → Store/AppendStore cutover, import phases 2–4 |
|
||
| 5 | `05-events/` | journals/status canonical, bridge consolidation, DomainEvent projection |
|
||
| 6 | `06-cost/` | UsageAccounting/Budget middleware, lineage rollup |
|
||
| 7 | `07-subagents/` | SubAgent pipeline, detached TaskStore, steering/recursion |
|
||
| 8 | `08-orchestration/` | spawn_parallel graph tool, map_reduce, interrupts, graph-stub cleanup |
|
||
| 9 | `09-embeddings.md` | EmbeddingModel/VectorStore/Retriever adapters |
|
||
| 10 | `10-registry.md` | CapabilityRegistry projection + diagnostics |
|
||
| 11 | `11-testing.md` | parity matrix, testkit, conformance (last) |
|
||
| 99 | `99-deletion-ledger.md` | master delete list with preconditions |
|
||
|
||
## Rules (unchanged from spec)
|
||
|
||
- Never bypass approval/security/sandbox/workspace/credential boundaries.
|
||
- JSON-RPC contracts stay stable unless a migration note lands with the change.
|
||
- Adapter first, flip ownership on proven parity, **then delete** — deletion is
|
||
mandatory, not optional; every step file names its deletions.
|
||
- Stage files explicitly (`git add <paths>`), never `git add -A` (see memory).
|
||
- Verify `git branch --show-current` before each commit.
|