store: strip .md suffix from all keys
Keys were a vestige of the file-based era. resolve_key() added .md to lookups while upsert() used bare keys, creating phantom duplicate nodes (the instructions bug: writes went to "instructions", reads found "instructions.md"). - Remove .md normalization from resolve_key, strip instead - Update all hardcoded key patterns (journal.md# → journal#, etc) - Add strip_md_keys() migration to fsck: renames nodes and relations - Add broken link detection to health report - Delete redirect table (no longer needed) - Update config defaults and config.jsonl Migration: run `poc-memory fsck` to rename existing keys. Co-Authored-By: ProofOfConcept <poc@bcachefs.org>
This commit is contained in:
parent
77fc533631
commit
46f8fe662e
12 changed files with 289 additions and 132 deletions
|
|
@ -217,14 +217,14 @@ impl Store {
|
|||
let cfg = crate::config::get();
|
||||
let core_files: Vec<&str> = cfg.core_nodes.iter().map(|s| s.as_str()).collect();
|
||||
let tech_files = [
|
||||
"language-theory.md", "zoom-navigation.md",
|
||||
"rust-conversion.md", "poc-architecture.md",
|
||||
"language-theory", "zoom-navigation",
|
||||
"rust-conversion", "poc-architecture",
|
||||
];
|
||||
let tech_prefixes = ["design-"];
|
||||
let obs_files = [
|
||||
"reflections.md", "reflections-zoom.md", "differentiation.md",
|
||||
"cognitive-modes.md", "paper-notes.md", "inner-life.md",
|
||||
"conversation.md", "interests.md", "stuck-toolkit.md",
|
||||
"reflections", "reflections-zoom", "differentiation",
|
||||
"cognitive-modes", "paper-notes", "inner-life",
|
||||
"conversation", "interests", "stuck-toolkit",
|
||||
];
|
||||
let obs_prefixes = ["skill-", "worked-example-"];
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue