Files
whetstone_DSL/sprint36_plan.md

80 lines
3.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Sprint 36 Plan: MCP Expansion — Architect Tools + Project Config
## Context
Sprint 36 exposes the Sprint 32 Architect Intake pipeline as MCP tools.
MarkdownSpecParser, TaskitemGeneratorV2, and TaskitemConfidenceAmbiguity are
fully implemented in C++ headers but not yet wired as MCP tools. Fix that,
add the `instructions` field to MCP initialize, and introduce per-project config.
Primary goals:
1. Expose architect intake + taskitem generation as callable MCP tools
2. Make Claude auto-understand the editor via the initialize instructions field
3. Per-project .whetstone.json config with CWD auto-discovery
Steps continue from Step 613 (last completed: Sprint35OperationalReadiness.h).
---
## Phase 36a: Architect Intake MCP Tools (Steps 614618)
### Step 614: `whetstone_architect_intake` MCP Tool (12 tests)
Wire MarkdownSpecParser + RequirementNormalizationConflictDetector into a single
MCP tool call. Input: markdown spec string. Output: ParsedMarkdownSpec + conflict
signals + normalized requirements JSON.
### Step 615: `whetstone_generate_taskitems` MCP Tool (12 tests)
Wire TaskitemGeneratorV2 + TaskitemConfidenceAmbiguity. Input: normalized plan
JSON (from Step 614 output). Output: array of AnnotatedTaskitem with confidence,
ambiguityCount, escalate, reasons.
### Step 616: `whetstone_queue_ready` MCP Tool (12 tests)
Wire IntakeToQueueSimulationHarness. Input: array of AnnotatedTaskitem. Output:
{ready: bool, blockers: [...], readyCount, escalateCount, queueJson}.
### Step 617: MCP initialize — add `instructions` field (12 tests)
Add an `instructions` field to the MCP `initialize` response. Content: the text
from tools/claude/system_prompt.txt. This makes Claude auto-understand the editor
without needing a CLAUDE.md file. Test: initialize response includes instructions.
### Step 618: Phase 36a Integration (8 tests)
End-to-end: paste a markdown project spec → whetstone_architect_intake →
whetstone_generate_taskitems → whetstone_queue_ready → verified queue.
---
## Phase 36b: Per-Project Config + tools.json Sync (Steps 619623)
### Step 619: `.whetstone.json` per-project config schema (12 tests)
Config file: `{workspace, defaultLanguage, agentRole, mcpWorkspaceAlias}`.
MCP server reads this on startup if present in --workspace dir. Lets different
projects have different language defaults without restart.
### Step 620: Config auto-discovery (walk up from CWD) (12 tests)
If no `--workspace` flag: walk up from CWD until .whetstone.json found. This
means `cd myproject && whetstone_mcp` just works.
### Step 621: `whetstone_set_workspace` MCP tool (12 tests)
Runtime tool: switch active workspace + language without restarting the binary.
Input: {workspace, language}. Required for HiveMind use case where one daemon
serves multiple projects.
### Step 622: tools.json refresh — add all Sprint 32-35 tools (8 tests)
Update tools/claude/tools.json to include the new Sprint 36a tools plus any
Sprint 32-35 features that have MCP-appropriate interfaces (debug session,
workflow recorder, benchmark harness). Bump version to 2.0.
### Step 623: Sprint 36 Integration + Summary (8 tests)
Validate: fresh Claude Code session + Whetstone MCP → Claude receives instructions
in initialize → calls whetstone_architect_intake on a real spec → generates queue.
---
## Step & Test Summary
| Phase | Steps | Tests | Theme |
|-------|-------|-------|-------|
| 36a | 614618 | 56 | Architect intake MCP tools |
| 36b | 619623 | 56 | Per-project config + tools.json refresh |
| **Total** | **614623** | **~112** | 10 steps |