{ "sprint": 42, "goal": "Wire whetstone_generate_project and whetstone_generate_inference_job as live MCP tools", "context": "Both tool models exist and are tested (Steps 639 and 660), but are not registered in MCP wiring and not listed in tools/claude/tools.json.", "architectureInvariants": [ "Header-only C++ for MCP registration modules", "600-line file limit — split if approaching", "MCP-first — capabilities must be callable as tools", "No new external dependencies", "Binary must rebuild without warnings after each step" ], "taskitems": [ { "taskId": "S42-669", "title": "Create RegisterModelingTools.h — wire whetstone_generate_project", "milestoneId": "Sprint42", "dependencyTaskIds": [], "prerequisiteOps": [ "read editor/src/ProjectSkeletonGenerator.h", "read editor/src/mcp/RegisterCodegenTools.h", "read editor/src/mcp/RegisterArchitectIntakeTools.h" ], "queueReady": true, "confidence": 96, "ambiguityCount": 0, "escalate": false, "reasons": [ "ProjectSkeletonGenerator already provides generate(...) and asToolResponse(...) so only MCP registration plumbing is required.", "Create editor/src/mcp/RegisterModelingTools.h with registerModelingTools() and add whetstone_generate_project tool definition.", "Handler parses {name, description, dependencies[]} and returns ProjectSkeletonGenerator::asToolResponse(...) result.", "Write editor/tests/step669_test.cpp with 12 tests covering schema parsing, success/failure behavior, output fields, and handler wiring.", "Add step669_test to editor/CMakeLists.txt and run step build/test." ] }, { "taskId": "S42-670", "title": "Add whetstone_generate_inference_job to RegisterModelingTools.h", "milestoneId": "Sprint42", "dependencyTaskIds": [ "S42-669" ], "prerequisiteOps": [ "read editor/src/InferenceJobGenerator.h", "read editor/src/mcp/RegisterModelingTools.h" ], "queueReady": true, "confidence": 95, "ambiguityCount": 0, "escalate": false, "reasons": [ "InferenceJobGenerator already returns MCP-ready JSON payload.", "Add whetstone_generate_inference_job definition with input schema {goal, entropy_score, files, bounty?}.", "Handler maps args to InferenceJobGenerator::generate(goal, entropy_score, files, bounty_or_default).", "Write editor/tests/step670_test.cpp with 12 tests for valid output, invalid input handling, and handler behavior.", "Add step670_test to editor/CMakeLists.txt and run step build/test." ] }, { "taskId": "S42-671", "title": "Wire RegisterModelingTools.h into MCPServer + tools.json", "milestoneId": "Sprint42", "dependencyTaskIds": [ "S42-670" ], "prerequisiteOps": [ "read editor/src/MCPServer.h", "read editor/src/mcp/RegisterOnboardingAndAllTools.h", "read tools/claude/tools.json" ], "queueReady": true, "confidence": 98, "ambiguityCount": 0, "escalate": false, "reasons": [ "Add include for RegisterModelingTools.h in MCPServer.h with existing Register*.h include block.", "Add registerModelingTools() invocation in registerWhetstoneTools() ordering block.", "Add whetstone_generate_project and whetstone_generate_inference_job entries to tools/claude/tools.json.", "Write editor/tests/step671_test.cpp with 8 tests for include/wiring/catalog presence and tool count increase by 2.", "Add step671_test to editor/CMakeLists.txt and run step build/test." ] }, { "taskId": "S42-672", "title": "Rebuild whetstone_mcp and smoke test new modeling tools", "milestoneId": "Sprint42", "dependencyTaskIds": [ "S42-671" ], "prerequisiteOps": [ "read editor/src/mcp_main.cpp", "read tools/claude/tools.json" ], "queueReady": true, "confidence": 91, "ambiguityCount": 1, "escalate": false, "reasons": [ "Build with cmake -S editor -B editor/build-native && cmake --build editor/build-native --target whetstone_mcp.", "Run tools/list and verify both new names are present.", "Call whetstone_generate_project and verify success=true with non-empty cmakeLists/mainCpp.", "Call whetstone_generate_inference_job and verify success=true with job.type=refactor.", "Write editor/tests/step672_test.cpp with 8 tests for binary/tool visibility/basic call behavior." ] }, { "taskId": "S42-673", "title": "Sprint 42 integration summary", "milestoneId": "Sprint42", "dependencyTaskIds": [ "S42-672" ], "prerequisiteOps": [ "read editor/src/Sprint41IntegrationSummary.h" ], "queueReady": true, "confidence": 99, "ambiguityCount": 0, "escalate": false, "reasons": [ "Create editor/src/Sprint42IntegrationSummary.h using Sprint 41 summary style.", "Capture tool_count_before/tool_count_after, steps_completed=5, file additions/modifications, success=true.", "Write editor/tests/step673_test.cpp with 8 tests for summary fields and consistency checks.", "Run sprint regression for step669_test..step673_test.", "Update progress.md with Sprint 42 step entries." ] } ], "agentOrientation": { "readFirst": [ "ARCHITECT.md", "sprint42_plan.md" ], "keyFiles": { "implementationTarget": "editor/src/mcp/RegisterModelingTools.h", "wiringPoints": [ "editor/src/MCPServer.h", "editor/src/mcp/RegisterOnboardingAndAllTools.h" ], "catalogUpdate": "tools/claude/tools.json", "existingImpls": [ "editor/src/ProjectSkeletonGenerator.h", "editor/src/InferenceJobGenerator.h" ], "patternToFollow": "editor/src/mcp/RegisterCodegenTools.h" }, "doNotModify": [ "editor/src/ProjectSkeletonGenerator.h — implementation exists", "editor/src/InferenceJobGenerator.h — implementation exists", "editor/src/mcp_main.cpp — no logic changes expected" ], "buildCommand": "cmake -S editor -B editor/build-native && cmake --build editor/build-native --target whetstone_mcp", "testPattern": "cmake --build editor/build-native --target step{N}_test && ./editor/build-native/step{N}_test" } }