KeiSeiKit-1.0/_primitives/_rust/kei-task/src
Parfii-bot 2d2c9881de feat(entity-store/b5): EdgeKeyKind::TextPair + archive verb — unblock kei-sage + kei-chat-store migration
schema.rs: EdgeKeyKind enum (IntegerPair default, TextPair) + archived_field:
Option<&'static str> on EntitySchema. Backward-compat via Default impl.

engine.rs: ddl_edge_table_for() dispatches integer vs text edge DDL.
Existing ddl_edge_table() untouched; new ddl_edge_table_text() adds
src_path/dst_path TEXT columns.

verbs/link.rs (rewrite): dispatches on edge_key_kind. Input JSON
{from:int, to:int} for IntegerPair OR {from:str, to:str} for TextPair.

verbs/rank.rs (rewrite): generic pagerank<K: Hash + Eq + Clone> over
node key type. Same algorithm, polymorphic in key.

verbs/archive.rs (new, 64 LOC): soft-delete via UPDATE <tbl> SET
<archived_field>=1 + optional <archived_field>_at=now(). Schema
without archived_field declared returns VerbError.

Tests: 20/20 kei-entity-store (was 10, +10: 5 text_pair + 5 archive).
kei-task 9/9 preserved (IntegerPair still default, backward-compat
verified).

Enables: kei-sage migration (TextPair edges) + kei-chat-store
migration (archive).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-23 05:30:33 +08:00
..
atoms feat(convergence/p1): kei-entity-store engine + schema fragments + kei-task pilot 2026-04-23 04:46:47 +08:00
deps.rs feat(primitives): 10 Rust crates extracted from LBM (Genesis-scrubbed) 2026-04-22 12:48:56 +08:00
graph.rs feat(primitives): 10 Rust crates extracted from LBM (Genesis-scrubbed) 2026-04-22 12:48:56 +08:00
lib.rs feat(stream-e): invoke wire — kei-runtime subprocess → real atoms 2026-04-23 01:21:00 +08:00
main.rs feat(stream-e): invoke wire — kei-runtime subprocess → real atoms 2026-04-23 01:21:00 +08:00
milestones.rs feat(primitives): 10 Rust crates extracted from LBM (Genesis-scrubbed) 2026-04-22 12:48:56 +08:00
run_atom.rs feat(stream-e): invoke wire — kei-runtime subprocess → real atoms 2026-04-23 01:21:00 +08:00
schema.rs feat(entity-store/b5): EdgeKeyKind::TextPair + archive verb — unblock kei-sage + kei-chat-store migration 2026-04-23 05:30:33 +08:00
search.rs feat(convergence/p1): kei-entity-store engine + schema fragments + kei-task pilot 2026-04-23 04:46:47 +08:00
store.rs feat(convergence/p1): kei-entity-store engine + schema fragments + kei-task pilot 2026-04-23 04:46:47 +08:00
types.rs feat(primitives): 10 Rust crates extracted from LBM (Genesis-scrubbed) 2026-04-22 12:48:56 +08:00