Files
tai/taicpp/docs/store.md
T
retoorandClaude Sonnet 5.5 4583265122 taicpp foundation: vault, settings, debug log, sessions keyed by shell/pane, REPL, plexer
Full port of the Store (17 tables, FTS5, per-profile slices, sessions, turn state,
bots, settings, MCP registry), DebugLog, SETTINGS_CATALOG and boot_settings,
ShellSession (as ShellContext), Conversation persistence, Repl/Boot, and the
PlexerController family with FlowValidator/PlexerFlow. Verified by replaying 643
operations through tai.py and the C++ code (results, tables, FTS, schema, files
identical) and by restarting the REPL under per-pane shells and checking the vault.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-25 02:02:31 +02:00

1.1 KiB

store parity (tai.py -> taicpp)

Superseded detail lives in foundation.md. Summary of the current state, replacing the M3 stub notes:

tai.py taicpp status
Store (sqlite + FTS5, WAL, busy timeout 30 s, per-profile slices) detz::store::Store(const Config&, const SealPort&) all methods ported, replayed against tai.py
17 tables, 19 indexes, FTS triggers, migrate_profiles Schema schema DDL compared byte for byte
records.id is mem:<16 hex> text add_record returns std::string the pre-foundation stub used integers and a different schema; it is gone
DebugLog, LOG DebugLog, DebugLog::Global() sentence and json sinks and the logs table compared
spill_output, spilled_view, spill_or_truncate Spill python semantics (6000 char limit, head 1500, tail 500)
session, turn, bots, profile files Store::load_session and friends compared file by file

Callers of the old stub (Store st(path), add_record returning an integer, search) must switch to Store::Open(path) and the python method names; see docs/wiring/foundation.md.