mirror of
https://github.com/tinyhumansai/openhuman.git
synced 2026-07-27 21:08:00 +00:00
2.1 KiB
2.1 KiB
04.2 — Read-side shadow, cutover, retirement
Import phases 2–4 from ../../tinyagents-session-migration-design.md.
Steps
- Shadow (phase 2): add a store-backed reader implementing the same
surface as
transcript.rs(read_transcript, history load insession_io.rs,.mdrender). Behind a flag, read BOTH and log divergence (grep-friendly[session_import]prefix); run the 11-fixture matrix + live dogfood. - Cutover (phase 3): run
openhuman.session_import_runautomatically once at boot (idempotent markermigrations/session_import_v1already exists), flip default reads to the store, keep legacy JSONL as write-through backup for one release. - Retire (phase 4): stop legacy writes; delete the legacy stack.
- Sub-agent transcript stems (
__chains) and worker-thread mirrors must resolve through store descriptors — verify againstsubagent_runnermirroring andagent_orchestration/subagent_sessions/(that store also folds into descriptors here). - Parser retirement gate: keep
agent/dispatcher.rsandharness/parse.rsuntil no live provider path needs XML/P-format prompt dialects, native text-fallback parsing, TinyAgents text-mode response parsing, or sub-agent checkpoint cleanup.
Deletions (phase 4)
session/transcript.rs(1347) +transcript_tests.rs.session/migration.rs(373) + tests — old date-folder migration, still invoked at startup through themigrate_session_layout_if_neededre-export until the read-side cutover has a replacement startup gate.session/turn/session_io.rs(391) — replaced by store reader/writer.session_db/{ops,store,schemas,types}.rsgeneric session parts (keeprun_ledger/until 05).agent_orchestration/subagent_sessions/(~650).src/openhuman/session_import/(whole domain + RPC controller fromcore/all.rs) once a marker-versioned release has shipped.
Acceptance
- All fixtures byte/render-identical between readers before flip.
- Old UI session lists still answer by OpenHuman session key (compat projection over descriptors).