diff --git a/agent-rules/mcp_memory_workflow.md b/agent-rules/mcp_memory_workflow.md index 3525c23..802ccdd 100644 --- a/agent-rules/mcp_memory_workflow.md +++ b/agent-rules/mcp_memory_workflow.md @@ -34,9 +34,9 @@ Before making expensive active tool calls, read available MCP resources: - **Error Fixes**: The moment a tricky, undocumented, or environment-specific bug is resolved, IMMEDIATELY call `log_error_fix`. Supply `repo_name`, `error_category`, and `stack_trace` so future searches can perform embedding-based match via `search_error_fixes`. - **Tech Debt**: If you notice an anti-pattern but deliberately skip fixing it to focus on a feature, IMMEDIATELY call `tech_debt` (action: "log") with `description`, `file_path`, `line_range`, `workaround`, `effort_estimate`, and `severity`. - **Architectural Decisions (ADR) & Lifecycle Closure**: - - When selecting design patterns, crate choices, or system structure, call `decisions` (action: "log") with `author`, `affected_components`, `alternatives_considered`, `decision`, and `consequence`. + - When selecting design patterns, crate choices, or system structure, call `decisions` (action: "log") with `author`, `affected_components`, `alternatives_considered`, `decision`, and `consequences`. - **MANDATORY Definition of Done**: When code implementing an ADR is committed, you MUST IMMEDIATELY call `decisions` (action: "update", id: "ADR-XXXX", status: "implemented", git_commit: , git_branch: ). NEVER leave an ADR in `accepted` once the implementing code is committed. The repository also executes `scripts/git-reconcile.py` on post-commit hooks (`just install-git-hooks`) to reconcile commit references automatically. -- **Task Management**: When creating tasks, supply `priority` ('low'|'medium'|'high'|'urgent'), `assigned_agent` (e.g. subagent role), `verification_command` (automated test command), and `acceptance_criteria`. +- **Task Management**: When creating tasks, supply `priority` ('low'|'medium'|'high'|'urgent'), `assigned_agent` (e.g. subagent role), `verification_command` (automated test command), and `criteria`. - **VCS & SVN Agnosticism**: Supply `vcs_type` ('git'|'svn'|'hg'), `vcs_revision` (git hash or svn revision like 'r12345'), and `upstream_url` to `log_code_change` and workspace tools. - **Terminal & Shell Context**: Terminal sessions and commands are automatically tracked in the server over zero-latency UDP. Query `/terminal/history` or `memory://terminal/recent` when analyzing shell execution context. - **Hypotheses & Root Cause Analysis**: When diagnosing complex bugs or race conditions, call `hypotheses` (action: "log" / "query") to record test evidence and maintain reasoning trails across sessions. diff --git a/server/src/tools.rs b/server/src/tools.rs index 6b4b7ba..96de03f 100644 --- a/server/src/tools.rs +++ b/server/src/tools.rs @@ -647,27 +647,20 @@ pub struct TasksTool { /// Action to perform: 'add', 'update', 'delete', 'list', 'set_criteria', or 'verify'. pub action: TaskAction, /// Task ID (required for 'update', 'delete', 'set_criteria', 'verify'). - #[serde(alias = "task_id", alias = "taskId")] pub id: Option, /// Task title (required for 'add'). - #[serde(alias = "name")] pub title: Option, /// Task description (optional for 'add'). - #[serde(alias = "desc")] pub description: Option, /// New status: 'pending', 'completed', or 'cancelled' (for 'update'). pub status: Option, /// Parent task ID (optional for 'add'). - #[serde(alias = "parentId", alias = "parent")] pub parent_id: Option, /// List of dependency task IDs (optional for 'add'). - #[serde(alias = "deps")] pub dependencies: Option>, /// Git branch filter or assignment. - #[serde(alias = "branch")] pub git_branch: Option, /// Acceptance criteria (required for 'set_criteria'). - #[serde(alias = "acceptance_criteria", alias = "acceptanceCriteria")] pub criteria: Option>, /// Verification proof or details (optional for 'verify'). pub proof: Option, @@ -709,10 +702,8 @@ pub struct MilestonesTool { /// Action to perform: 'add', 'update', or 'list'. pub action: MilestoneAction, /// Milestone ID (required for 'update'). - #[serde(alias = "milestone_id", alias = "milestoneId")] pub id: Option, /// Milestone title (required for 'add'). - #[serde(alias = "name")] pub title: Option, /// New status (for 'update'). pub status: Option, @@ -809,7 +800,6 @@ pub struct DecisionsTool { /// Decision made (for 'log'). pub decision: Option, /// Consequences & tradeoffs (for 'log'). - #[serde(alias = "consequence")] pub consequences: Option, /// Search query string (for 'query'). pub query: Option, @@ -857,23 +847,18 @@ pub struct TechDebtTool { /// Action to perform: 'log', 'resolve', or 'list'. pub action: TechDebtAction, /// Tech debt ID (required for 'resolve'). - #[serde(alias = "tech_debt_id", alias = "debt_id")] pub id: Option, /// Tech debt description (required for 'log'). - #[serde(alias = "desc")] pub description: Option, /// Optional title or summary of tech debt. pub title: Option, /// Ideal solution (optional for 'log'). - #[serde(alias = "solution", alias = "fix")] pub ideal_solution: Option, /// Include resolved tech debt items (for 'list'). pub include_resolved: Option, /// Associated git commit hash. - #[serde(alias = "commit")] pub git_commit: Option, /// Associated git branch. - #[serde(alias = "branch")] pub git_branch: Option, /// Symbol references associated with the tech debt. pub symbol_references: Option>,