docs: update robot-docs manifest and agent instructions for since-last-check

Updates the `lore robot-docs` manifest with comprehensive documentation
for the new since-last-check inbox feature, enabling AI agents to
discover and use the functionality programmatically.

robot-docs manifest additions:
- since_last_check response schema with cursor_iso, groups, events
- --reset-cursor flag documentation
- Design notes: cursor persistence location, --project filter behavior
- Example commands in personal_dashboard section

Agent instruction updates (AGENTS.md, CLAUDE.md):
- Added --mrs, --project, --user flags to command examples
- Added --reset-cursor example
- Aligned both files for consistency

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
teernisse
2026-02-25 10:02:31 -05:00
parent ce5621f3ed
commit ed987c8f71
3 changed files with 23 additions and 4 deletions

View File

@@ -626,8 +626,12 @@ lore --robot embed
# Personal work dashboard # Personal work dashboard
lore --robot me lore --robot me
lore --robot me --issues lore --robot me --issues
lore --robot me --mrs
lore --robot me --activity --since 7d lore --robot me --activity --since 7d
lore --robot me --project group/repo
lore --robot me --user jdoe
lore --robot me --fields minimal lore --robot me --fields minimal
lore --robot me --reset-cursor
# Agent self-discovery manifest (all commands, flags, exit codes, response schemas) # Agent self-discovery manifest (all commands, flags, exit codes, response schemas)
lore robot-docs lore robot-docs

View File

@@ -645,8 +645,12 @@ lore --robot embed
# Personal work dashboard # Personal work dashboard
lore --robot me lore --robot me
lore --robot me --issues lore --robot me --issues
lore --robot me --mrs
lore --robot me --activity --since 7d lore --robot me --activity --since 7d
lore --robot me --project group/repo
lore --robot me --user jdoe
lore --robot me --fields minimal lore --robot me --fields minimal
lore --robot me --reset-cursor
# Agent self-discovery manifest (all commands, flags, exit codes, response schemas) # Agent self-discovery manifest (all commands, flags, exit codes, response schemas)
lore robot-docs lore robot-docs

View File

@@ -2956,8 +2956,8 @@ fn handle_robot_docs(robot_mode: bool, brief: bool) -> Result<(), Box<dyn std::e
} }
}, },
"me": { "me": {
"description": "Personal work dashboard: open issues, authored/reviewing MRs, activity feed with computed attention states", "description": "Personal work dashboard: open issues, authored/reviewing MRs, activity feed, and cursor-based since-last-check inbox with computed attention states",
"flags": ["--issues", "--mrs", "--activity", "--since <period>", "-p/--project <path>", "--all", "--user <username>", "--fields <list|minimal>"], "flags": ["--issues", "--mrs", "--activity", "--since <period>", "-p/--project <path>", "--all", "--user <username>", "--fields <list|minimal>", "--reset-cursor"],
"example": "lore --robot me", "example": "lore --robot me",
"response_schema": { "response_schema": {
"ok": "bool", "ok": "bool",
@@ -2965,6 +2965,7 @@ fn handle_robot_docs(robot_mode: bool, brief: bool) -> Result<(), Box<dyn std::e
"username": "string", "username": "string",
"since_iso": "string?", "since_iso": "string?",
"summary": {"project_count": "int", "open_issue_count": "int", "authored_mr_count": "int", "reviewing_mr_count": "int", "needs_attention_count": "int"}, "summary": {"project_count": "int", "open_issue_count": "int", "authored_mr_count": "int", "reviewing_mr_count": "int", "needs_attention_count": "int"},
"since_last_check": "{cursor_iso:string, total_event_count:int, groups:[{entity_type:string, entity_iid:int, entity_title:string, project:string, events:[{timestamp_iso:string, event_type:string, actor:string?, summary:string, body_preview:string?}]}]}?",
"open_issues": "[{project:string, iid:int, title:string, state:string, attention_state:string, status_name:string?, labels:[string], updated_at_iso:string, web_url:string?}]", "open_issues": "[{project:string, iid:int, title:string, state:string, attention_state:string, status_name:string?, labels:[string], updated_at_iso:string, web_url:string?}]",
"open_mrs_authored": "[{project:string, iid:int, title:string, state:string, attention_state:string, draft:bool, detailed_merge_status:string?, author_username:string?, labels:[string], updated_at_iso:string, web_url:string?}]", "open_mrs_authored": "[{project:string, iid:int, title:string, state:string, attention_state:string, draft:bool, detailed_merge_status:string?, author_username:string?, labels:[string], updated_at_iso:string, web_url:string?}]",
"reviewing_mrs": "[same as open_mrs_authored]", "reviewing_mrs": "[same as open_mrs_authored]",
@@ -2981,7 +2982,9 @@ fn handle_robot_docs(robot_mode: bool, brief: bool) -> Result<(), Box<dyn std::e
"event_types": "note | status_change | label_change | assign | unassign | review_request | milestone_change", "event_types": "note | status_change | label_change | assign | unassign | review_request | milestone_change",
"section_flags": "If none of --issues/--mrs/--activity specified, all sections returned", "section_flags": "If none of --issues/--mrs/--activity specified, all sections returned",
"since_default": "1d for activity feed", "since_default": "1d for activity feed",
"issue_filter": "Only In Progress / In Review status issues shown" "issue_filter": "Only In Progress / In Review status issues shown",
"since_last_check": "Cursor-based inbox showing events since last run. Null on first run (no cursor yet). Groups events by entity (issue/MR). Sources: others' comments on your items, @mentions, assignment/review-request notes. Cursor auto-advances after each run. Use --reset-cursor to clear.",
"cursor_persistence": "Stored per user in ~/.local/share/lore/me_cursor_<username>.json. --project filters display only for since-last-check; cursor still advances for all projects for that user."
} }
}, },
"robot-docs": { "robot-docs": {
@@ -3013,7 +3016,7 @@ fn handle_robot_docs(robot_mode: bool, brief: bool) -> Result<(), Box<dyn std::e
"embed: Generate vector embeddings for semantic search via Ollama", "embed: Generate vector embeddings for semantic search via Ollama",
"cron: Automated sync scheduling (Unix)", "cron: Automated sync scheduling (Unix)",
"token: Secure token management with masked display", "token: Secure token management with masked display",
"me: Personal work dashboard with attention states, activity feed, and needs-attention triage" "me: Personal work dashboard with attention states, activity feed, cursor-based since-last-check inbox, and needs-attention triage"
], ],
"read_write_split": "lore = ALL reads (issues, MRs, search, who, timeline, intelligence). glab = ALL writes (create, update, approve, merge, CI/CD)." "read_write_split": "lore = ALL reads (issues, MRs, search, who, timeline, intelligence). glab = ALL writes (create, update, approve, merge, CI/CD)."
}); });
@@ -3080,6 +3083,14 @@ fn handle_robot_docs(robot_mode: bool, brief: bool) -> Result<(), Box<dyn std::e
"lore --robot sync --issue 7 -p group/project", "lore --robot sync --issue 7 -p group/project",
"lore --robot sync --issue 7 --mr 10 -p group/project", "lore --robot sync --issue 7 --mr 10 -p group/project",
"lore --robot sync --issue 7 -p group/project --preflight-only" "lore --robot sync --issue 7 -p group/project --preflight-only"
],
"personal_dashboard": [
"lore --robot me",
"lore --robot me --issues",
"lore --robot me --activity --since 7d",
"lore --robot me --project group/repo",
"lore --robot me --fields minimal",
"lore --robot me --reset-cursor"
] ]
}); });