Expand description
Shared construction for Category::Note skills — ONE manifest literal
instead of three drifting copies (mur notes create, the runtime’s
remember tool, and the TUI /remember command all build the same note).
Structs§
- Memory
Proposal - Note
Spec - Inputs that vary between note authors; everything else is fixed note shape.
Constants§
- MEMORY_
PROPOSAL_ DIR - Proposal drop directory, relative to the MUR home.
- PROPOSAL_
SIG_ INPUT_ VERSION - Canonicalization version — bump if the sign-input shape changes.
Functions§
- note_
manifest - Build the canonical note manifest. Callers still run
crate::skill::validateand choose WHERE to write (global vs agent-local) — scope is the caller’s decision, shape is not. - scoped_
to_ project - Narrow a note to one project:
scope: Projectplus the project id thatscope_visiblematches against (the repo root, percrate::project::active_project_id). Both fields must move together —Projectscope with noprojectis invisible everywhere — so no caller sets them by hand. - write_
memory_ proposal - Atomically drop
proposalinto the inbox. Returns the written path. Deterministic name (<agent>-<note>): re-remembering the same note replaces the pending proposal instead of stacking duplicates.