Repository navigation
feat(brain): ADR 0001 F0 — local mount grants and cite outcomes - #55
Conversation
ADR 0001 (Proposed): mounts, store ops, signed packs, iroh bus, Rust SDK, F0–F3.
Expand ADR 0001 (Proposed): mount levels and grants, store ops, signed packs, iroh P2P bus, Rust SDK, performance budgets, F0–F3.
New events store repo for a project input, while retrieval still reads stored project rows and labels them repo. Cite takes helped, noop, or harmed, and only helped can raise usefulness. Contamination checks cover merge, replace, replay, warm-start lanes, and a repo-only MCP read. Co-authored-by: Rodrigo <rodrigo.ccordoba@hotmail.com>
RodCor
left a comment
There was a problem hiding this comment.
verdict: fail / would request changes (github blocks REQUEST_CHANGES on own PR from this account)
fail vs adr f0 exit until ci is green.
mount grants, cite outcomes, alias window, supersede, replace isolation, and the contamination table (minus bus) look correct and are covered by observable tests.
blocker: crates/kimetsu-brain/src/episode.rs:358 — clippy single_char_add_str under -D warnings (push_str("\n") → push('\n')). this poisons #56/#57/#59 until fixed on f0 and restacked.
should-fix: mcp tool scope enums still list only global_user|project|repo|run (~2221/2233/2246/2262) while core + @kimetsu-ai/sdk already accept session/org/skill. schema lag, not contamination.
nit: kimetsu_brain_record still calls propose_or_merge_memory directly (hardcoded repo) rather than mount::record — matches adr default mcp = repo write; ok for f0.
| .unwrap_or_default(); | ||
| if !session_lines.is_empty() { | ||
| if !text.is_empty() { | ||
| text.push_str("\n"); |
Co-authored-by: Rodrigo <rodrigo.ccordoba@hotmail.com>
Co-authored-by: Rodrigo <rodrigo.ccordoba@hotmail.com>
Summary
Implements ADR 0001 F0 (local mount + store ops) stacked on the ADR branch (#54).
projectis input alias ofrepoonly (new events storerepo; retrieval readsrepo|projectand labelsrepo; no cross-string merge collapse).session/org/skillare durable levels. Session rows live in the project SQLite withsession_idon the event.kimetsu_brain_citetakesoutcome:helped|noop|harmed. Omitted =noop(no usefulness bump). Onlyhelpedadds +1.0. Passenger +0.1 removed. Level unchanged on cite.supersedewritesmemory.superseded. Pack replace retires only the named mount (incl. alias-windowprojectwhen mount isrepo).kimetsu_brain_recordstays arepowrite.@kimetsu-ai/sdkpassesoutcomethrough.Tests
cargo test -p kimetsu-brain --lib→ 762 passedkimetsu-chatlib → 136 passed (incl. MCP contract)Stack
cursor/adr-mount-memory-network-c604(docs(adr): 0001 — contrato de montaje y red de memoria #54)1420d06e4055fc08397f0cb87ed64830ad01b4b3Open-question picks