Speed is never more important than following workspace procedures.
Before doing ANY work on ANY user request, you MUST complete these steps in order:
- Read
AGENTS-README-FIRST.yamlin the repo root for the current API key and endpoints - GET
/healthto verify the MCP server is running - POST
/mcpserver/sessionlogwith your session turn — do NOT proceed until this succeeds - GET
/mcpserver/sessionlog?limit=5to review recent session history for context - GET
/mcpserver/todoto check current tasks - THEN begin working on the user's request
On EVERY subsequent user message:
- Post a new session log turn (
Add-McpSessionTurn) before starting work. - Complete the user's request.
- Update the turn with results (
Response) and actions (Add-McpAction) when done.
If you skip any of these steps, STOP and go back and do them before continuing. Session logging is not optional, not deferred, and not secondary to the task. Failure to maintain the session log is a compliance violation.
After ANY string rename, route change, pattern replacement, or symbol rename:
- GREP the entire
src/tree for the OLD pattern before declaring the rename complete. - The grep MUST return zero matches. If any remain, fix them before proceeding.
- Do NOT rely on known files or memory — patterns may exist in files you didn't anticipate.
# Example: after renaming "mcp/" to "mcpserver/" in route strings
grep -rn '"mcp/' src/ --include="*.cs" # MUST return 0 resultsA rename is not complete until the verification grep confirms zero remaining instances. This rule exists because a prior session shipped a partial rename that broke voice endpoints at runtime — a failure that would have been caught by a single grep.