feat(cli): close bd-3jqx, add related to autocorrect registry, robot-docs updates
- Register related subcommand flags (--limit, --project) in COMMAND_FLAGS - Robot-docs: add related command schema, count references schema - Robot-docs: add file-history, trace, related, drift to capabilities - Close bd-3jqx: all 4 integration tests passing (903 total, 0 failures) - Beads sync
This commit is contained in:
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
bd-2ez
|
||||
bd-3jqx
|
||||
|
||||
36
src/main.rs
36
src/main.rs
@@ -2668,12 +2668,19 @@ fn handle_robot_docs(robot_mode: bool, brief: bool) -> Result<(), Box<dyn std::e
|
||||
},
|
||||
"count": {
|
||||
"description": "Count entities in local database",
|
||||
"flags": ["<entity: issues|mrs|discussions|notes|events>", "-f/--for <issue|mr>"],
|
||||
"flags": ["<entity: issues|mrs|discussions|notes|events|references>", "-f/--for <issue|mr>"],
|
||||
"example": "lore --robot count issues",
|
||||
"response_schema": {
|
||||
"standard": {
|
||||
"ok": "bool",
|
||||
"data": {"entity": "string", "count": "int", "system_excluded?": "int", "breakdown?": {"opened": "int", "closed": "int", "merged?": "int", "locked?": "int"}},
|
||||
"meta": {"elapsed_ms": "int"}
|
||||
},
|
||||
"references": {
|
||||
"ok": "bool",
|
||||
"data": {"entity": "references", "total": "int", "by_type": {"closes": "int", "mentioned": "int", "related": "int"}, "by_method": {"api": "int", "note_parse": "int", "description_parse": "int"}, "unresolved": "int"},
|
||||
"meta": {"elapsed_ms": "int"}
|
||||
}
|
||||
}
|
||||
},
|
||||
"stats": {
|
||||
@@ -2814,6 +2821,20 @@ fn handle_robot_docs(robot_mode: bool, brief: bool) -> Result<(), Box<dyn std::e
|
||||
"meta": {"elapsed_ms": "int"}
|
||||
}
|
||||
},
|
||||
"related": {
|
||||
"description": "Find semantically similar entities using vector embeddings",
|
||||
"flags": ["<entity_type|query>", "<IID>", "-n/--limit", "-p/--project"],
|
||||
"modes": {
|
||||
"entity": "lore related issues 42 -- Find entities similar to issue #42",
|
||||
"query": "lore related 'authentication bug' -- Find entities matching free text"
|
||||
},
|
||||
"example": "lore --robot related issues 42 -n 5",
|
||||
"response_schema": {
|
||||
"ok": "bool",
|
||||
"data": {"source": {"source_type": "string", "iid": "int?", "title": "string?"}, "query": "string?", "mode": "entity|query", "results": "[{source_type:string, iid:int, title:string, url:string?, similarity_score:float, shared_labels:[string], project_path:string?}]"},
|
||||
"meta": {"elapsed_ms": "int", "mode": "string", "embedding_dims": 768, "distance_metric": "l2"}
|
||||
}
|
||||
},
|
||||
"notes": {
|
||||
"description": "List notes from discussions with rich filtering",
|
||||
"flags": ["--limit/-n <N>", "--author/-a <username>", "--note-type <type>", "--contains <text>", "--for-issue <iid>", "--for-mr <iid>", "-p/--project <path>", "--since <period>", "--until <period>", "--path <filepath>", "--resolution <any|unresolved|resolved>", "--sort <created|updated>", "--asc", "--include-system", "--note-id <id>", "--gitlab-note-id <id>", "--discussion-id <id>", "--format <table|json|jsonl|csv>", "--fields <list|minimal>", "--open"],
|
||||
@@ -2846,9 +2867,13 @@ fn handle_robot_docs(robot_mode: bool, brief: bool) -> Result<(), Box<dyn std::e
|
||||
"search: FTS5 + vector hybrid search across all entities",
|
||||
"who: Expert/workload/reviews analysis per file path or person",
|
||||
"timeline: Chronological event reconstruction across entities",
|
||||
"file-history: MRs that touched a file with rename chain resolution",
|
||||
"trace: File -> MR -> issue -> discussion decision chain",
|
||||
"related: Semantic similarity discovery via vector embeddings",
|
||||
"drift: Discussion divergence detection from original intent",
|
||||
"notes: Rich note listing with author, type, resolution, path, and discussion filters",
|
||||
"stats: Database statistics with document/note/discussion counts",
|
||||
"count: Entity counts with state breakdowns",
|
||||
"count: Entity counts with state breakdowns and reference analysis",
|
||||
"embed: Generate vector embeddings for semantic search via Ollama"
|
||||
],
|
||||
"read_write_split": "lore = ALL reads (issues, MRs, search, who, timeline, intelligence). glab = ALL writes (create, update, approve, merge, CI/CD)."
|
||||
@@ -2900,9 +2925,10 @@ fn handle_robot_docs(robot_mode: bool, brief: bool) -> Result<(), Box<dyn std::e
|
||||
"lore --robot health"
|
||||
],
|
||||
"temporal_intelligence": [
|
||||
"lore --robot sync",
|
||||
"lore --robot timeline '<keyword>' --since 30d",
|
||||
"lore --robot timeline '<keyword>' --depth 2"
|
||||
"lore --robot sync (ensure events fetched with fetchResourceEvents=true)",
|
||||
"lore --robot timeline '<keyword>' for chronological event history",
|
||||
"lore --robot file-history <path> for file-level MR history",
|
||||
"lore --robot trace <path> for file -> MR -> issue -> discussion chain"
|
||||
],
|
||||
"people_intelligence": [
|
||||
"lore --robot who src/path/to/feature/",
|
||||
|
||||
Reference in New Issue
Block a user