cubesys/cubecli/cube-notes-mcp: note categories + project threads. notes use doc_type 'note:<category>' for categories and associate to a 'project' record (linked_records) for project threads; cube note add|list|search accept --project/--cat/--since/--until; new 'cube project list' + 'cube project show <coord>' (walk a project's thread). MCP server exposes note_write/list/search/show + project_list/project_show. 4 notes tests pass; workspace check green.

This commit is contained in:
2026-09-08 05:29:06 -04:00
parent 15dd4c48a4
commit 18f8eb9b4a
4 changed files with 457 additions and 112 deletions
+8 -2
View File
@@ -64,6 +64,8 @@ fn is_command_word(w: &str) -> bool {
| "audit"
| "note"
| "notes"
| "project"
| "projects"
)
}
@@ -101,9 +103,13 @@ fn main() {
let line = args[1..].join(" ");
// Session notes live in their own DURABLE store so a note written
// in one session is reviewable in the next (the message save path).
if word == "note" || word == "notes" {
if word == "note" || word == "notes" || word == "project" || word == "projects" {
let store = open_notes_store();
let res = cubesys::notes::note_command(&store, &line);
let res = if word == "project" || word == "projects" {
cubesys::notes::project_command(&store, &line)
} else {
cubesys::notes::note_command(&store, &line)
};
// Force a durable flush/checkpoint before exiting so the note is
// persisted even though this process (the CLI) is short-lived.
store.checkpoint();