KeiSeiKit-1.0/_primitives/_rust/kei-sage/src
Parfii-bot c439a01961 feat(a): Store::open multi-schema — kei-chat-store sessions fully engine-owned
Breaking API change: Store::open(path, schemas: &[&EntitySchema])
replaces single-schema variant. All 6 callers migrated in same commit.

Engine changes:
- engine::run_migrations wraps ALL schemas in one unchecked_transaction
- Cross-schema atomicity: failing migration in schema[N] rolls back
  schema[0..N-1] too. Verified via new failing_migration_rolls_back_
  prior_schemas test.

Sister crates (5): trivial slice wrap in store.rs — 6 sites each,
~2 LOC delta.

kei-chat-store MAJOR change:
- Split CHAT_SCHEMA → MESSAGES_SCHEMA (INTEGER PK, FTS) + SESSIONS_SCHEMA
  (TextPk UUID, TextArchiveEnum status 'active'|'archived', status_at +
  message_count/total_tokens/total_cost aggregate cols)
- Drop chat_sessions DDL from custom_migrations (engine owns now)
- start_session → v_create::run(&SESSIONS_SCHEMA)
- archive_session → v_archive::run (writes 'archived' sentinel +
  stamps status_at via TextArchiveEnum mode)
- get_session → v_get::run
- bump_session_totals stays bespoke (per-message aggregate UPDATE not
  a generic CRUD op)

Substrate coverage kei-chat-store: ~60% → 100% (messages + sessions
both engine-owned).

Tests: 45 entity-store (was 42, +3 multi_schema_smoke: two-schema
creates, verbs dispatch per schema, rollback atomicity).
All sister crates preserved: task 9, chat 6, content 4, social 5,
crossdomain 5, sage 36.

Closes HANDOFF-WAKE's final architectural gap.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-23 14:27:15 +08:00
..
atom_cli.rs feat(w10b): kei-sage facet-query walker includes _roles/ 2026-04-23 13:57:50 +08:00
atom_index.rs feat(stream-c): kei-sage substrate — walk atoms/*.md + wikilink graph 2026-04-23 00:09:57 +08:00
atom_parse.rs fix(substrate): E1 — kei-atom-discovery shared crate + 4 critical security fixes 2026-04-23 00:49:49 +08:00
atoms.rs fix(substrate): E1 — kei-atom-discovery shared crate + 4 critical security fixes 2026-04-23 00:49:49 +08:00
bfs.rs feat(primitives): 10 Rust crates extracted from LBM (Genesis-scrubbed) 2026-04-22 12:48:56 +08:00
edges.rs feat(primitives): 10 Rust crates extracted from LBM (Genesis-scrubbed) 2026-04-22 12:48:56 +08:00
facet_query.rs feat(w10b): kei-sage facet-query walker includes _roles/ 2026-04-23 13:57:50 +08:00
import.rs feat(primitives): 10 Rust crates extracted from LBM (Genesis-scrubbed) 2026-04-22 12:48:56 +08:00
lib.rs feat(tx2): kei-sage facet query + lineage traversal 2026-04-23 10:21:45 +08:00
lineage.rs feat(tx2): kei-sage facet query + lineage traversal 2026-04-23 10:21:45 +08:00
main.rs feat(w10b): kei-sage facet-query walker includes _roles/ 2026-04-23 13:57:50 +08:00
pagerank.rs feat(primitives): 10 Rust crates extracted from LBM (Genesis-scrubbed) 2026-04-22 12:48:56 +08:00
rule_index.rs feat(stream-g): kei-sage rules integration — atoms + rules unified graph 2026-04-23 01:21:00 +08:00
schema.rs feat(a): Store::open multi-schema — kei-chat-store sessions fully engine-owned 2026-04-23 14:27:15 +08:00
search.rs chore(rust): misc schema/main refactor in 8 crates (assorted CP splits) 2026-04-22 13:36:17 +08:00
store.rs feat(a): Store::open multi-schema — kei-chat-store sessions fully engine-owned 2026-04-23 14:27:15 +08:00
types.rs feat(primitives): 10 Rust crates extracted from LBM (Genesis-scrubbed) 2026-04-22 12:48:56 +08:00