2026-02-23 20:12:10 -06:00

4.5 KiB

kanban-plugin
kanban-plugin
board

Migration Kanban Board

Last updated: 2026-02-24

Architecture Lock

  • AI remains Python backend (local sidecar/service). C# AI surface is bridge-only (IAiService adapter + contracts), not model runtime.
  • Non-AI backend migration target remains C# system-of-record (vault/entries/search/fragments/config/transport).

Doing

  • PH6-001 (Cutover Prep): Keep migration-gate.ps1 green while running hybrid soak/pilot.

Ready Next

Blocked

Done

  • PH4-009 (DB-001/DB-002): C# SQLCipher runtime parity completed with NuGet packages (Microsoft.Data.Sqlite.Core, SQLitePCLRaw.bundle_e_sqlcipher) and sidecar DB actions (db.status, db.initialize_schema, db.hydrate_workspace).
  • PH4-010 (DB Cutover slice): Hybrid vault-load now routes DB hydration handoff to C# sidecar action db.hydrate_workspace (schema bootstrap + hydration metadata), removing Python-side post-load hydration in hybrid mode.
  • CFG-002 (UX): Settings UI exposes runtime-configurable backend/AI/speech values (backend mode, sidecar path, NLP backend, model endpoints, model names, timeouts, speech engine/device/compute).
  • PH1-001 (DOM-001): Fragment model/service parity with validation + trim behavior.
  • PH1-002 (Persistence): File-backed fragment repository replaces in-memory default.
  • PH1-003 (API-001): Sidecar transport stability with fixture-backed line-delimited JSON envelope tests.
  • PH2-001 (DOM-002): C# JournalEntry/ParsedSection domain skeleton with smoke coverage.
  • PH2-002 (PAR-001): Date extraction parity for **Date:** / Date: with file-stem fallback.
  • PH2-003 (PAR-002): Canonical section parsing parity with section content capture.
  • PH2-004 (PAR-003): Checkbox parsing parity with per-section checked state capture.
  • PH2-005 (PAR-004): Fragment block parsing parity (!TYPE @time #tags + multiline boundaries).
  • PH2-006 (MRG-001): Merge semantics parity for section updates and fragment de-dup append.
  • PH2-007 (MRG-002): Markdown reconstruction parity (to_markdown() equivalent).
  • PH3-001 (VLT-001): Vault crypto format compatibility (salt + nonce + tag + ciphertext, AES-256-GCM).
  • PH3-002 (VLT-002): PBKDF2-HMAC-SHA256 compatibility (salt/key size + iterations).
  • PH3-003 (VLT-003): Monthly vault naming parity (YYYY-MM.vault).
  • PH3-004 (VLT-004): Load-all-vault workflow parity.
  • PH3-005 (VLT-005): Wrong-password handling parity with no vault-file corruption.
  • PH3-006 (VLT-007): Current-month optimized save path parity.
  • PH3-007 (VLT-008): Full monthly rebuild save flow parity.
  • PH3-008 (DAT-001): Decrypted workspace cleanup parity.
  • PH3-009 (VLT-006): Legacy _init_vault.vault compatibility handling.
  • PH4-001 (SCH-001): Entry-content search parity.
  • PH4-002 (SCH-002): Search filter parity (date/section/tag/type/checkbox).
  • PH4-003 (CLI-001): Vault CLI parity actions and password UX.
  • PH4-004 (CLI-002): Search CLI parity actions/options.
  • PH4-005 (CFG-001): Config parity surface for backend/runtime keys.
  • PH4-006 (Hybrid): Route Python app non-AI backend paths (entries/*, vault/*, search.entries) to C# sidecar in csharp-hybrid mode.
  • PH4-007 (Hybrid): Add Python CLI fragment commands routed to C# fragments.* actions for user-side backend validation.
  • PH5-001 (AI-001): Summarize bridge parity via optional Python sidecar contract.
  • PH5-002 (AI-003): Cloud chat request/response parity via Python sidecar bridge (ai.chat).
  • PH5-003 (AI-002): Embeddings parity contract via Python sidecar bridge (ai.embed).
  • PH4-008 (API-002): HTTP API parity contract lock completed (/api/command envelope + /health//healthz + API contract tests).
  • FIX-001 (Global): Shared fixture corpus completed with generated vault binaries + manifest (fixtures/vaults/manifest.json) and expanded entry/search cases.
  • HAR-001 (Global): Parity harness expanded to search expected IDs, vault hash matrix, wrong-password invariants, and sanitizer parity with report output.
  • PH5-004 (SPC-001): Speech parity completed with Python-executed speech bridge actions (speech.devices.list, speech.transcribe) orchestrated by C#.
  • OBS-001 (Observability): Structured redacted logging envelope implemented in C# sidecar (timestamp, level, component, action, correlation_id, outcome) with redaction tests.

Notes

  • Source criteria: MIGRATION_ACCEPTANCE_CRITERIA.md
  • C# migration path: journal-master/journal/

%% kanban:settings

{"kanban-plugin":"board","list-collapse":[false]}

%%