Context
PR #371 (cluster-21 kkernel engine + admin commands) scaffolded the CLI surface for kkernel engine migrate but deferred the actual implementation.
ADR-043 D2-D6 specifies:
EmbedMigrationWorker that processes EmbeddingModelChanged events
runtime.start_migration(engine_name, target_model) API
_embedding_models table tracking migration state transitions
- Event bus emission for
EmbeddingModelChanged
Current state
kkernel engine migrate <engine> --to <model> returns:
Error: engine migrate is not yet implemented (ADR-043 D2-D6 deferred to follow-up #368). ...
This is intentional — the fake-success scaffold was removed by the codex r1 fix commit.
Required work
- Add
_embedding_models schema migration (new VersionedMigration in khive-db/src/migrations.rs)
- Implement
runtime.start_migration() / runtime.resume_migration() / runtime.abort_migration() in khive-runtime
- Implement
EmbedMigrationWorker that listens for EmbeddingModelChanged events
- Wire
cmd_engine_migrate through the runtime API
- Tests: verify migration state transitions in
_embedding_models
Labels
adr-alignment, follow-up, adr-043
Context
PR #371 (cluster-21 kkernel engine + admin commands) scaffolded the CLI surface for
kkernel engine migratebut deferred the actual implementation.ADR-043 D2-D6 specifies:
EmbedMigrationWorkerthat processesEmbeddingModelChangedeventsruntime.start_migration(engine_name, target_model)API_embedding_modelstable tracking migration state transitionsEmbeddingModelChangedCurrent state
kkernel engine migrate <engine> --to <model>returns:This is intentional — the fake-success scaffold was removed by the codex r1 fix commit.
Required work
_embedding_modelsschema migration (newVersionedMigrationinkhive-db/src/migrations.rs)runtime.start_migration()/runtime.resume_migration()/runtime.abort_migration()inkhive-runtimeEmbedMigrationWorkerthat listens forEmbeddingModelChangedeventscmd_engine_migratethrough the runtime API_embedding_modelsLabels
adr-alignment, follow-up, adr-043