Implement sprints 166-168 production code generation gates and loop
This commit is contained in:
@@ -0,0 +1 @@
|
||||
{"out_dir":"/home/bill/Documents/CLionProjects/whetstone_DSL/logs/taskitem_runs/ab_test_ast_vs_language_first_20260226_180215","pathA":{"wall_ms":154,"calls":5,"create_skeleton_success":false,"add_node1_success":false,"add_node2_success":false,"schema_to_cpp_success":true,"generate_code_success":false,"schema_cpp_len":0,"generated_code_len":383},"pathB":{"wall_ms":147,"calls":3,"intake_success":true,"intake_normalized_count":8,"taskitems_success":true,"task_count":7,"run_pipeline_success":true,"run_pipeline_cpp_len":339,"run_pipeline_has_workitem":true,"run_pipeline_has_priorityqueue":true}}
|
||||
@@ -0,0 +1 @@
|
||||
{"id":2,"jsonrpc":"2.0","result":{"content":[{"text":"{\n \"bufferId\": \"skel_PriorityQueue\",\n \"language\": \"cpp\",\n \"name\": \"PriorityQueue\"\n}","type":"text"}],"isError":false}}
|
||||
@@ -0,0 +1 @@
|
||||
{"id":2,"jsonrpc":"2.0","result":{"content":[{"text":"{\n \"name\": \"WorkItem\",\n \"nodeId\": \"skcls_1\",\n \"nodeType\": \"class\"\n}","type":"text"}],"isError":false}}
|
||||
@@ -0,0 +1 @@
|
||||
{"id":2,"jsonrpc":"2.0","result":{"content":[{"text":"{\n \"name\": \"PriorityQueue\",\n \"nodeId\": \"skcls_1\",\n \"nodeType\": \"class\"\n}","type":"text"}],"isError":false}}
|
||||
@@ -0,0 +1 @@
|
||||
{"id":2,"jsonrpc":"2.0","result":{"content":[{"text":"{\n \"cmake_interface_target\": \"add_library(work_item_types INTERFACE)\\ntarget_include_directories(work_item_types INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/include)\\ntarget_sources(work_item_types INTERFACE include/WorkItem.h)\\n\",\n \"errors\": [],\n \"header_code\": \"#pragma once\\n#include <nlohmann/json.hpp>\\n#include <string>\\n\\nstruct WorkItem {\\n std::string job_id;\\n std::string payload;\\n int priority;\\n};\\n\\ninline void to_json(nlohmann::json& j, const WorkItem& v) {\\n j = nlohmann::json::object();\\n j[\\\"job_id\\\"] = v.job_id;\\n j[\\\"payload\\\"] = v.payload;\\n j[\\\"priority\\\"] = v.priority;\\n}\\n\\ninline void from_json(const nlohmann::json& j, WorkItem& v) {\\n if (j.contains(\\\"job_id\\\")) j.at(\\\"job_id\\\").get_to(v.job_id);\\n if (j.contains(\\\"payload\\\")) j.at(\\\"payload\\\").get_to(v.payload);\\n if (j.contains(\\\"priority\\\")) j.at(\\\"priority\\\").get_to(v.priority);\\n}\\n\\ninline bool validateWorkItem(const WorkItem& v) {\\n (void)v;\\n return true;\\n}\\n\",\n \"success\": true\n}","type":"text"}],"isError":false}}
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
{"id":2,"jsonrpc":"2.0","result":{"content":[{"text":"{\n \"conflictSignals\": {\n \"ambiguousRequirementCount\": 0,\n \"conflictCount\": 0,\n \"hasConflicts\": false\n },\n \"conflicts\": [],\n \"normalizedRequirements\": [\n {\n \"ambiguous\": false,\n \"anchor\": \"constraints\",\n \"kind\": \"constraint\",\n \"normalizedText\": \"header only implementation\",\n \"requirementId\": \"constraint-1\",\n \"sourceLine\": 8\n },\n {\n \"ambiguous\": false,\n \"anchor\": \"constraints\",\n \"kind\": \"constraint\",\n \"normalizedText\": \"no external dependencies beyond nlohmann and stl\",\n \"requirementId\": \"constraint-2\",\n \"sourceLine\": 9\n },\n {\n \"ambiguous\": false,\n \"anchor\": \"requirements\",\n \"fieldName\": \"job_id\",\n \"fieldType\": \"string\",\n \"kind\": \"field\",\n \"normalizedText\": \"workitem has job id string\",\n \"requirementId\": \"field-1\",\n \"sectionTitle\": \"Requirements\",\n \"sourceLine\": 3,\n \"sourceText\": \"job_id (string)\"\n },\n {\n \"ambiguous\": false,\n \"anchor\": \"requirements\",\n \"fieldName\": \"priority\",\n \"fieldType\": \"int\",\n \"kind\": \"field\",\n \"normalizedText\": \"workitem has priority int\",\n \"requirementId\": \"field-2\",\n \"sectionTitle\": \"Requirements\",\n \"sourceLine\": 3,\n \"sourceText\": \"priority (int)\"\n },\n {\n \"ambiguous\": false,\n \"anchor\": \"requirements\",\n \"fieldName\": \"payload\",\n \"fieldType\": \"string\",\n \"kind\": \"field\",\n \"normalizedText\": \"workitem has payload string\",\n \"requirementId\": \"field-3\",\n \"sectionTitle\": \"Requirements\",\n \"sourceLine\": 3,\n \"sourceText\": \"payload (string)\"\n },\n {\n \"ambiguous\": false,\n \"anchor\": \"requirements\",\n \"kind\": \"requirement\",\n \"normalizedText\": \"priorityqueue supports enqueue item dequeue item peek item size empty\",\n \"requirementId\": \"requirement-1\",\n \"sectionTitle\": \"Requirements\",\n \"sourceLine\": 4,\n \"sourceText\": \"PriorityQueue supports: enqueue(item), dequeue() -> item, peek() -> item, size(), empty()\"\n },\n {\n \"ambiguous\": false,\n \"anchor\": \"requirements\",\n \"kind\": \"requirement\",\n \"normalizedText\": \"dequeue always returns the highest priority item\",\n \"requirementId\": \"requirement-2\",\n \"sectionTitle\": \"Requirements\",\n \"sourceLine\": 5,\n \"sourceText\": \"Dequeue always returns the highest-priority item\"\n },\n {\n \"ambiguous\": false,\n \"anchor\": \"requirements\",\n \"kind\": \"requirement\",\n \"normalizedText\": \"json serialization via nlohmann\",\n \"requirementId\": \"requirement-3\",\n \"sectionTitle\": \"Requirements\",\n \"sourceLine\": 6,\n \"sourceText\": \"JSON serialization via nlohmann\"\n }\n ],\n \"parsedSpec\": {\n \"acceptanceCriteria\": [],\n \"constraints\": [\n {\n \"anchor\": \"constraints\",\n \"line\": 8,\n \"sectionTitle\": \"Constraints\",\n \"text\": \"Header-only implementation\"\n },\n {\n \"anchor\": \"constraints\",\n \"line\": 9,\n \"sectionTitle\": \"Constraints\",\n \"text\": \"No external dependencies beyond nlohmann and STL\"\n }\n ],\n \"dependencies\": [],\n \"goals\": [],\n \"sections\": [\n {\n \"anchor\": \"requirements\",\n \"headingLine\": 2,\n \"title\": \"Requirements\"\n },\n {\n \"anchor\": \"constraints\",\n \"headingLine\": 7,\n \"title\": \"Constraints\"\n }\n ]\n },\n \"success\": true\n}","type":"text"}],"isError":false}}
|
||||
@@ -0,0 +1 @@
|
||||
{"id":2,"jsonrpc":"2.0","result":{"content":[{"text":"{\n \"ambiguousRequirementCount\": 0,\n \"conflictCount\": 0,\n \"escalateCount\": 0,\n \"planSummary\": {\n \"milestoneCount\": 1,\n \"overallUncertainty\": 18\n },\n \"success\": true,\n \"tasks\": [\n {\n \"ambiguityCount\": 0,\n \"confidence\": 85,\n \"dependencyTaskIds\": [],\n \"escalate\": false,\n \"milestoneId\": \"milestone-1\",\n \"prerequisiteOps\": [\n \"validate-intake\",\n \"architect-review\"\n ],\n \"queueReady\": true,\n \"reasons\": [\n \"high_confidence_clear_path\"\n ],\n \"taskId\": \"task-1\",\n \"title\": \"Intake Foundation Composite\"\n },\n {\n \"ambiguityCount\": 0,\n \"confidence\": 85,\n \"dependencyTaskIds\": [],\n \"escalate\": false,\n \"milestoneId\": \"milestone-1\",\n \"prerequisiteOps\": [\n \"validate-intake\"\n ],\n \"queueReady\": true,\n \"reasons\": [\n \"high_confidence_clear_path\"\n ],\n \"taskId\": \"task-2\",\n \"title\": \"Field Contract field-1\"\n },\n {\n \"ambiguityCount\": 0,\n \"confidence\": 85,\n \"dependencyTaskIds\": [],\n \"escalate\": false,\n \"milestoneId\": \"milestone-1\",\n \"prerequisiteOps\": [\n \"validate-intake\"\n ],\n \"queueReady\": true,\n \"reasons\": [\n \"high_confidence_clear_path\"\n ],\n \"taskId\": \"task-3\",\n \"title\": \"Field Contract field-2\"\n },\n {\n \"ambiguityCount\": 0,\n \"confidence\": 85,\n \"dependencyTaskIds\": [],\n \"escalate\": false,\n \"milestoneId\": \"milestone-1\",\n \"prerequisiteOps\": [\n \"validate-intake\"\n ],\n \"queueReady\": true,\n \"reasons\": [\n \"high_confidence_clear_path\"\n ],\n \"taskId\": \"task-4\",\n \"title\": \"Field Contract field-3\"\n },\n {\n \"ambiguityCount\": 0,\n \"confidence\": 85,\n \"dependencyTaskIds\": [],\n \"escalate\": false,\n \"milestoneId\": \"milestone-1\",\n \"prerequisiteOps\": [\n \"validate-intake\"\n ],\n \"queueReady\": true,\n \"reasons\": [\n \"high_confidence_clear_path\"\n ],\n \"taskId\": \"task-5\",\n \"title\": \"Requirement Slice requirement-1\"\n },\n {\n \"ambiguityCount\": 0,\n \"confidence\": 85,\n \"dependencyTaskIds\": [],\n \"escalate\": false,\n \"milestoneId\": \"milestone-1\",\n \"prerequisiteOps\": [\n \"validate-intake\"\n ],\n \"queueReady\": true,\n \"reasons\": [\n \"high_confidence_clear_path\"\n ],\n \"taskId\": \"task-6\",\n \"title\": \"Requirement Slice requirement-2\"\n },\n {\n \"ambiguityCount\": 0,\n \"confidence\": 85,\n \"dependencyTaskIds\": [],\n \"escalate\": false,\n \"milestoneId\": \"milestone-1\",\n \"prerequisiteOps\": [\n \"validate-intake\"\n ],\n \"queueReady\": true,\n \"reasons\": [\n \"high_confidence_clear_path\"\n ],\n \"taskId\": \"task-7\",\n \"title\": \"Requirement Slice requirement-3\"\n }\n ]\n}","type":"text"}],"isError":false}}
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
{"out_dir":"/home/bill/Documents/CLionProjects/whetstone_DSL/logs/taskitem_runs/production_loop_20260225_180220","spec":"Implement a C++ PriorityQueue class with WorkItem fields job_id, priority, payload and methods enqueue, dequeue, peek, size, empty","max_iters":3,"overall_ready":true}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"gates": {
|
||||
"compile": {
|
||||
"passed": true,
|
||||
"return_code": 0,
|
||||
"skipped": false,
|
||||
"stderr": "/tmp/whetstone_gate_3qgpbo2d/generated.cpp:1:9: warning: #pragma once in main file\n 1 | #pragma once\n | ^~~~\n",
|
||||
"stdout": ""
|
||||
},
|
||||
"overall_ready": true,
|
||||
"placeholder": {
|
||||
"count": 0,
|
||||
"findings": [],
|
||||
"passed": true
|
||||
},
|
||||
"tests": {
|
||||
"missing": [],
|
||||
"passed": true
|
||||
}
|
||||
},
|
||||
"language": "cpp"
|
||||
}
|
||||
@@ -0,0 +1,287 @@
|
||||
{
|
||||
"gates": {
|
||||
"compile": {
|
||||
"passed": true
|
||||
},
|
||||
"overall_ready": true,
|
||||
"placeholder": {
|
||||
"passed": true
|
||||
},
|
||||
"tests": {
|
||||
"passed": true
|
||||
}
|
||||
},
|
||||
"generatedCode": "#pragma once\n#include <string>\n\nnamespace generated_module {\n\nstruct WorkItem {\n std::string job_id;\n int priority;\n std::string payload;\n};\nclass PriorityQueue {\npublic:\n std::string items;\n\n PriorityQueue();\n void enqueue(std::string item);\n std::string dequeue();\n std::string peek();\n int size();\n bool empty();\n};\n\n} // namespace generated_module\n",
|
||||
"language": "cpp",
|
||||
"node": {
|
||||
"children": {
|
||||
"classes": [
|
||||
{
|
||||
"children": {
|
||||
"fields": [
|
||||
{
|
||||
"children": {
|
||||
"type": [
|
||||
{
|
||||
"children": {},
|
||||
"concept": "PrimitiveType",
|
||||
"id": "type_3",
|
||||
"properties": {
|
||||
"kind": "string"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"concept": "Variable",
|
||||
"id": "var_2",
|
||||
"properties": {
|
||||
"name": "job_id"
|
||||
}
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"type": [
|
||||
{
|
||||
"children": {},
|
||||
"concept": "PrimitiveType",
|
||||
"id": "type_5",
|
||||
"properties": {
|
||||
"kind": "int"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"concept": "Variable",
|
||||
"id": "var_4",
|
||||
"properties": {
|
||||
"name": "priority"
|
||||
}
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"type": [
|
||||
{
|
||||
"children": {},
|
||||
"concept": "PrimitiveType",
|
||||
"id": "type_7",
|
||||
"properties": {
|
||||
"kind": "string"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"concept": "Variable",
|
||||
"id": "var_6",
|
||||
"properties": {
|
||||
"name": "payload"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"concept": "ClassDeclaration",
|
||||
"id": "cls_1",
|
||||
"properties": {
|
||||
"isAbstract": false,
|
||||
"name": "WorkItem"
|
||||
}
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"fields": [
|
||||
{
|
||||
"children": {
|
||||
"type": [
|
||||
{
|
||||
"children": {},
|
||||
"concept": "PrimitiveType",
|
||||
"id": "type_10",
|
||||
"properties": {
|
||||
"kind": "string"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"concept": "Variable",
|
||||
"id": "var_9",
|
||||
"properties": {
|
||||
"name": "items"
|
||||
}
|
||||
}
|
||||
],
|
||||
"methods": [
|
||||
{
|
||||
"children": {},
|
||||
"concept": "MethodDeclaration",
|
||||
"id": "meth_11",
|
||||
"properties": {
|
||||
"isOverride": false,
|
||||
"isStatic": false,
|
||||
"isVirtual": false,
|
||||
"name": "__init__",
|
||||
"visibility": "public"
|
||||
}
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"parameters": [
|
||||
{
|
||||
"children": {
|
||||
"type": [
|
||||
{
|
||||
"children": {},
|
||||
"concept": "PrimitiveType",
|
||||
"id": "type_15",
|
||||
"properties": {
|
||||
"kind": "string"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"concept": "Parameter",
|
||||
"id": "param_14",
|
||||
"properties": {
|
||||
"name": "item"
|
||||
}
|
||||
}
|
||||
],
|
||||
"returnType": [
|
||||
{
|
||||
"children": {},
|
||||
"concept": "PrimitiveType",
|
||||
"id": "type_13",
|
||||
"properties": {
|
||||
"kind": "void"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"concept": "MethodDeclaration",
|
||||
"id": "meth_12",
|
||||
"properties": {
|
||||
"isOverride": false,
|
||||
"isStatic": false,
|
||||
"isVirtual": false,
|
||||
"name": "enqueue",
|
||||
"visibility": "public"
|
||||
}
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"returnType": [
|
||||
{
|
||||
"children": {},
|
||||
"concept": "PrimitiveType",
|
||||
"id": "type_17",
|
||||
"properties": {
|
||||
"kind": "string"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"concept": "MethodDeclaration",
|
||||
"id": "meth_16",
|
||||
"properties": {
|
||||
"isOverride": false,
|
||||
"isStatic": false,
|
||||
"isVirtual": false,
|
||||
"name": "dequeue",
|
||||
"visibility": "public"
|
||||
}
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"returnType": [
|
||||
{
|
||||
"children": {},
|
||||
"concept": "PrimitiveType",
|
||||
"id": "type_19",
|
||||
"properties": {
|
||||
"kind": "string"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"concept": "MethodDeclaration",
|
||||
"id": "meth_18",
|
||||
"properties": {
|
||||
"isOverride": false,
|
||||
"isStatic": false,
|
||||
"isVirtual": false,
|
||||
"name": "peek",
|
||||
"visibility": "public"
|
||||
}
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"returnType": [
|
||||
{
|
||||
"children": {},
|
||||
"concept": "PrimitiveType",
|
||||
"id": "type_21",
|
||||
"properties": {
|
||||
"kind": "int"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"concept": "MethodDeclaration",
|
||||
"id": "meth_20",
|
||||
"properties": {
|
||||
"isOverride": false,
|
||||
"isStatic": false,
|
||||
"isVirtual": false,
|
||||
"name": "size",
|
||||
"visibility": "public"
|
||||
}
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"returnType": [
|
||||
{
|
||||
"children": {},
|
||||
"concept": "PrimitiveType",
|
||||
"id": "type_23",
|
||||
"properties": {
|
||||
"kind": "bool"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"concept": "MethodDeclaration",
|
||||
"id": "meth_22",
|
||||
"properties": {
|
||||
"isOverride": false,
|
||||
"isStatic": false,
|
||||
"isVirtual": false,
|
||||
"name": "empty",
|
||||
"visibility": "public"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"concept": "ClassDeclaration",
|
||||
"id": "cls_8",
|
||||
"properties": {
|
||||
"isAbstract": false,
|
||||
"name": "PriorityQueue"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"concept": "Module",
|
||||
"id": "mod_0",
|
||||
"properties": {
|
||||
"name": "generated_module",
|
||||
"targetLanguage": "cpp"
|
||||
}
|
||||
},
|
||||
"note": "Generated class/module structure from specification.",
|
||||
"quality": {
|
||||
"compilable_estimate": true,
|
||||
"fallback_used": false,
|
||||
"placeholder_count": 0,
|
||||
"todo_count": 0,
|
||||
"warnings": []
|
||||
},
|
||||
"usedSymbols": []
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,23 @@
|
||||
#pragma once
|
||||
#include <string>
|
||||
|
||||
namespace generated_module {
|
||||
|
||||
struct WorkItem {
|
||||
std::string job_id;
|
||||
int priority;
|
||||
std::string payload;
|
||||
};
|
||||
class PriorityQueue {
|
||||
public:
|
||||
std::string items;
|
||||
|
||||
PriorityQueue();
|
||||
void enqueue(std::string item);
|
||||
std::string dequeue();
|
||||
std::string peek();
|
||||
int size();
|
||||
bool empty();
|
||||
};
|
||||
|
||||
} // namespace generated_module
|
||||
@@ -0,0 +1 @@
|
||||
{"sprint":"sprint166_plan.md","input_file":"sprint166_plan.md","timestamp":"2026-02-26T00:54:06Z","mcp_binary":"/home/bill/Documents/CLionProjects/whetstone_DSL/editor/build-native/whetstone_mcp_stable","workspace":"/home/bill/Documents/CLionProjects/whetstone_DSL","output_dir":"/home/bill/Documents/CLionProjects/whetstone_DSL/logs/taskitem_runs/sprint166_plan_20260225_175406","intake":{"success":true,"normalized_requirement_count":13,"conflict_count":0,"ambiguous_requirement_count":0},"taskitems":{"success":true,"task_count":2,"escalate_count":0},"queue_ready":{"success":true,"ready":true,"ready_count":2,"blocker_count":0},"validation":{"success":true,"total_taskitems":2,"average_score":87.5,"self_contained_count":2,"failing_count":0}}
|
||||
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"error": "no_requirements_found",
|
||||
"parsedSpec": {
|
||||
"acceptanceCriteria": [],
|
||||
"constraints": [],
|
||||
"dependencies": [],
|
||||
"goals": [],
|
||||
"sections": [
|
||||
{
|
||||
"anchor": "context",
|
||||
"headingLine": 3,
|
||||
"title": "Context"
|
||||
},
|
||||
{
|
||||
"anchor": "goals",
|
||||
"headingLine": 16,
|
||||
"title": "Goals"
|
||||
},
|
||||
{
|
||||
"anchor": "steps",
|
||||
"headingLine": 25,
|
||||
"title": "Steps"
|
||||
},
|
||||
{
|
||||
"anchor": "architecture-gate",
|
||||
"headingLine": 88,
|
||||
"title": "Architecture Gate"
|
||||
}
|
||||
]
|
||||
},
|
||||
"success": false
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
{"id":2,"jsonrpc":"2.0","result":{"content":[{"text":"{\n \"error\": \"no_requirements_found\",\n \"parsedSpec\": {\n \"acceptanceCriteria\": [],\n \"constraints\": [],\n \"dependencies\": [],\n \"goals\": [],\n \"sections\": [\n {\n \"anchor\": \"context\",\n \"headingLine\": 3,\n \"title\": \"Context\"\n },\n {\n \"anchor\": \"goals\",\n \"headingLine\": 16,\n \"title\": \"Goals\"\n },\n {\n \"anchor\": \"steps\",\n \"headingLine\": 25,\n \"title\": \"Steps\"\n },\n {\n \"anchor\": \"architecture-gate\",\n \"headingLine\": 88,\n \"title\": \"Architecture Gate\"\n }\n ]\n },\n \"success\": false\n}","type":"text"}],"isError":false}}
|
||||
@@ -0,0 +1,20 @@
|
||||
## Goals
|
||||
- Step 1874: Spec classifier for function/class/module intent (10 tests)
|
||||
- Step 1875: C++ class/data-model emitter with concrete typing (12 tests)
|
||||
- Step 1876: PriorityQueue pattern builder (10 tests)
|
||||
- Step 1877: Generation quality metadata contract (8 tests)
|
||||
- Step 1878: Sprint 166 Integration Summary (8 tests)
|
||||
|
||||
## Constraints
|
||||
- No external dependencies added
|
||||
- Keep existing tool name/signature (`whetstone_generate_code`) backward-compatible
|
||||
- Class/module specs must never silently degrade to generic `printf` function stubs
|
||||
|
||||
## Dependencies
|
||||
- Existing editor/src modules and MCP toolchain
|
||||
- whetstone_mcp stable binary and workspace config
|
||||
|
||||
## Acceptance Criteria
|
||||
- All sprint step tests pass
|
||||
- No regression in existing MCP tool behavior
|
||||
- Generated task queue is ready or blockers are explicit
|
||||
@@ -0,0 +1,225 @@
|
||||
{
|
||||
"conflictSignals": {
|
||||
"ambiguousRequirementCount": 0,
|
||||
"conflictCount": 0,
|
||||
"hasConflicts": false
|
||||
},
|
||||
"conflicts": [],
|
||||
"normalizedRequirements": [
|
||||
{
|
||||
"ambiguous": false,
|
||||
"anchor": "goals",
|
||||
"kind": "goal",
|
||||
"normalizedText": "step 1874 spec classifier for function class module intent 10 tests",
|
||||
"requirementId": "goal-1",
|
||||
"sourceLine": 2
|
||||
},
|
||||
{
|
||||
"ambiguous": false,
|
||||
"anchor": "goals",
|
||||
"kind": "goal",
|
||||
"normalizedText": "step 1875 c class data model emitter with concrete typing 12 tests",
|
||||
"requirementId": "goal-2",
|
||||
"sourceLine": 3
|
||||
},
|
||||
{
|
||||
"ambiguous": false,
|
||||
"anchor": "goals",
|
||||
"kind": "goal",
|
||||
"normalizedText": "step 1876 priorityqueue pattern builder 10 tests",
|
||||
"requirementId": "goal-3",
|
||||
"sourceLine": 4
|
||||
},
|
||||
{
|
||||
"ambiguous": false,
|
||||
"anchor": "goals",
|
||||
"kind": "goal",
|
||||
"normalizedText": "step 1877 generation quality metadata contract 8 tests",
|
||||
"requirementId": "goal-4",
|
||||
"sourceLine": 5
|
||||
},
|
||||
{
|
||||
"ambiguous": false,
|
||||
"anchor": "goals",
|
||||
"kind": "goal",
|
||||
"normalizedText": "step 1878 sprint 166 integration summary 8 tests",
|
||||
"requirementId": "goal-5",
|
||||
"sourceLine": 6
|
||||
},
|
||||
{
|
||||
"ambiguous": false,
|
||||
"anchor": "constraints",
|
||||
"kind": "constraint",
|
||||
"normalizedText": "no external dependencies added",
|
||||
"requirementId": "constraint-1",
|
||||
"sourceLine": 9
|
||||
},
|
||||
{
|
||||
"ambiguous": false,
|
||||
"anchor": "constraints",
|
||||
"kind": "constraint",
|
||||
"normalizedText": "keep existing tool name signature whetstone generate code backward compatible",
|
||||
"requirementId": "constraint-2",
|
||||
"sourceLine": 10
|
||||
},
|
||||
{
|
||||
"ambiguous": false,
|
||||
"anchor": "constraints",
|
||||
"kind": "constraint",
|
||||
"normalizedText": "class module specs must never silently degrade to generic printf function stubs",
|
||||
"requirementId": "constraint-3",
|
||||
"sourceLine": 11
|
||||
},
|
||||
{
|
||||
"ambiguous": false,
|
||||
"anchor": "dependencies",
|
||||
"kind": "dependency",
|
||||
"normalizedText": "existing editor src modules and mcp toolchain",
|
||||
"requirementId": "dependency-1",
|
||||
"sourceLine": 14
|
||||
},
|
||||
{
|
||||
"ambiguous": false,
|
||||
"anchor": "dependencies",
|
||||
"kind": "dependency",
|
||||
"normalizedText": "whetstone mcp stable binary and workspace config",
|
||||
"requirementId": "dependency-2",
|
||||
"sourceLine": 15
|
||||
},
|
||||
{
|
||||
"ambiguous": false,
|
||||
"anchor": "acceptance-criteria",
|
||||
"kind": "acceptance",
|
||||
"normalizedText": "all sprint step tests pass",
|
||||
"requirementId": "acceptance-1",
|
||||
"sourceLine": 18
|
||||
},
|
||||
{
|
||||
"ambiguous": false,
|
||||
"anchor": "acceptance-criteria",
|
||||
"kind": "acceptance",
|
||||
"normalizedText": "no regression in existing mcp tool behavior",
|
||||
"requirementId": "acceptance-2",
|
||||
"sourceLine": 19
|
||||
},
|
||||
{
|
||||
"ambiguous": false,
|
||||
"anchor": "acceptance-criteria",
|
||||
"kind": "acceptance",
|
||||
"normalizedText": "generated task queue is ready or blockers are explicit",
|
||||
"requirementId": "acceptance-3",
|
||||
"sourceLine": 20
|
||||
}
|
||||
],
|
||||
"parsedSpec": {
|
||||
"acceptanceCriteria": [
|
||||
{
|
||||
"anchor": "acceptance-criteria",
|
||||
"line": 18,
|
||||
"sectionTitle": "Acceptance Criteria",
|
||||
"text": "All sprint step tests pass"
|
||||
},
|
||||
{
|
||||
"anchor": "acceptance-criteria",
|
||||
"line": 19,
|
||||
"sectionTitle": "Acceptance Criteria",
|
||||
"text": "No regression in existing MCP tool behavior"
|
||||
},
|
||||
{
|
||||
"anchor": "acceptance-criteria",
|
||||
"line": 20,
|
||||
"sectionTitle": "Acceptance Criteria",
|
||||
"text": "Generated task queue is ready or blockers are explicit"
|
||||
}
|
||||
],
|
||||
"constraints": [
|
||||
{
|
||||
"anchor": "constraints",
|
||||
"line": 9,
|
||||
"sectionTitle": "Constraints",
|
||||
"text": "No external dependencies added"
|
||||
},
|
||||
{
|
||||
"anchor": "constraints",
|
||||
"line": 10,
|
||||
"sectionTitle": "Constraints",
|
||||
"text": "Keep existing tool name/signature (`whetstone_generate_code`) backward-compatible"
|
||||
},
|
||||
{
|
||||
"anchor": "constraints",
|
||||
"line": 11,
|
||||
"sectionTitle": "Constraints",
|
||||
"text": "Class/module specs must never silently degrade to generic `printf` function stubs"
|
||||
}
|
||||
],
|
||||
"dependencies": [
|
||||
{
|
||||
"anchor": "dependencies",
|
||||
"line": 14,
|
||||
"sectionTitle": "Dependencies",
|
||||
"text": "Existing editor/src modules and MCP toolchain"
|
||||
},
|
||||
{
|
||||
"anchor": "dependencies",
|
||||
"line": 15,
|
||||
"sectionTitle": "Dependencies",
|
||||
"text": "whetstone_mcp stable binary and workspace config"
|
||||
}
|
||||
],
|
||||
"goals": [
|
||||
{
|
||||
"anchor": "goals",
|
||||
"line": 2,
|
||||
"sectionTitle": "Goals",
|
||||
"text": "Step 1874: Spec classifier for function/class/module intent (10 tests)"
|
||||
},
|
||||
{
|
||||
"anchor": "goals",
|
||||
"line": 3,
|
||||
"sectionTitle": "Goals",
|
||||
"text": "Step 1875: C++ class/data-model emitter with concrete typing (12 tests)"
|
||||
},
|
||||
{
|
||||
"anchor": "goals",
|
||||
"line": 4,
|
||||
"sectionTitle": "Goals",
|
||||
"text": "Step 1876: PriorityQueue pattern builder (10 tests)"
|
||||
},
|
||||
{
|
||||
"anchor": "goals",
|
||||
"line": 5,
|
||||
"sectionTitle": "Goals",
|
||||
"text": "Step 1877: Generation quality metadata contract (8 tests)"
|
||||
},
|
||||
{
|
||||
"anchor": "goals",
|
||||
"line": 6,
|
||||
"sectionTitle": "Goals",
|
||||
"text": "Step 1878: Sprint 166 Integration Summary (8 tests)"
|
||||
}
|
||||
],
|
||||
"sections": [
|
||||
{
|
||||
"anchor": "goals",
|
||||
"headingLine": 1,
|
||||
"title": "Goals"
|
||||
},
|
||||
{
|
||||
"anchor": "constraints",
|
||||
"headingLine": 8,
|
||||
"title": "Constraints"
|
||||
},
|
||||
{
|
||||
"anchor": "dependencies",
|
||||
"headingLine": 13,
|
||||
"title": "Dependencies"
|
||||
},
|
||||
{
|
||||
"anchor": "acceptance-criteria",
|
||||
"headingLine": 17,
|
||||
"title": "Acceptance Criteria"
|
||||
}
|
||||
]
|
||||
},
|
||||
"success": true
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,48 @@
|
||||
{
|
||||
"ambiguousRequirementCount": 0,
|
||||
"conflictCount": 0,
|
||||
"escalateCount": 0,
|
||||
"planSummary": {
|
||||
"milestoneCount": 2,
|
||||
"overallUncertainty": 24
|
||||
},
|
||||
"success": true,
|
||||
"tasks": [
|
||||
{
|
||||
"ambiguityCount": 0,
|
||||
"confidence": 85,
|
||||
"dependencyTaskIds": [],
|
||||
"escalate": false,
|
||||
"milestoneId": "milestone-1",
|
||||
"prerequisiteOps": [
|
||||
"validate-intake",
|
||||
"architect-review"
|
||||
],
|
||||
"queueReady": true,
|
||||
"reasons": [
|
||||
"high_confidence_clear_path"
|
||||
],
|
||||
"taskId": "task-1",
|
||||
"title": "Intake Foundation Primary"
|
||||
},
|
||||
{
|
||||
"ambiguityCount": 0,
|
||||
"confidence": 81,
|
||||
"dependencyTaskIds": [
|
||||
"task-1"
|
||||
],
|
||||
"escalate": false,
|
||||
"milestoneId": "milestone-2",
|
||||
"prerequisiteOps": [
|
||||
"validate-intake",
|
||||
"resolve-dependencies"
|
||||
],
|
||||
"queueReady": true,
|
||||
"reasons": [
|
||||
"depends_on_prior_tasks"
|
||||
],
|
||||
"taskId": "task-2",
|
||||
"title": "Execution Readiness Primary"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
{"id":2,"jsonrpc":"2.0","result":{"content":[{"text":"{\n \"ambiguousRequirementCount\": 0,\n \"conflictCount\": 0,\n \"escalateCount\": 0,\n \"planSummary\": {\n \"milestoneCount\": 2,\n \"overallUncertainty\": 24\n },\n \"success\": true,\n \"tasks\": [\n {\n \"ambiguityCount\": 0,\n \"confidence\": 85,\n \"dependencyTaskIds\": [],\n \"escalate\": false,\n \"milestoneId\": \"milestone-1\",\n \"prerequisiteOps\": [\n \"validate-intake\",\n \"architect-review\"\n ],\n \"queueReady\": true,\n \"reasons\": [\n \"high_confidence_clear_path\"\n ],\n \"taskId\": \"task-1\",\n \"title\": \"Intake Foundation Primary\"\n },\n {\n \"ambiguityCount\": 0,\n \"confidence\": 81,\n \"dependencyTaskIds\": [\n \"task-1\"\n ],\n \"escalate\": false,\n \"milestoneId\": \"milestone-2\",\n \"prerequisiteOps\": [\n \"validate-intake\",\n \"resolve-dependencies\"\n ],\n \"queueReady\": true,\n \"reasons\": [\n \"depends_on_prior_tasks\"\n ],\n \"taskId\": \"task-2\",\n \"title\": \"Execution Readiness Primary\"\n }\n ]\n}","type":"text"}],"isError":false}}
|
||||
@@ -0,0 +1,63 @@
|
||||
{
|
||||
"blockers": [],
|
||||
"escalateCount": 0,
|
||||
"queueJson": [
|
||||
{
|
||||
"checks": [
|
||||
{
|
||||
"checkId": "task-1::acceptance-1",
|
||||
"testSkeleton": "test_task_1_all_sprint_step_tests_pass",
|
||||
"text": "all sprint step tests pass"
|
||||
},
|
||||
{
|
||||
"checkId": "task-1::acceptance-2",
|
||||
"testSkeleton": "test_task_1_no_regression_in_existing_mcp_tool_behavior",
|
||||
"text": "no regression in existing mcp tool behavior"
|
||||
},
|
||||
{
|
||||
"checkId": "task-1::acceptance-3",
|
||||
"testSkeleton": "test_task_1_generated_task_queue_is_ready_or_blockers_are_explicit",
|
||||
"text": "generated task queue is ready or blockers are explicit"
|
||||
}
|
||||
],
|
||||
"hasCoverage": true,
|
||||
"task": {
|
||||
"escalate": false,
|
||||
"milestoneId": "milestone-1",
|
||||
"queueReady": true,
|
||||
"taskId": "task-1",
|
||||
"title": "Intake Foundation Primary"
|
||||
}
|
||||
},
|
||||
{
|
||||
"checks": [
|
||||
{
|
||||
"checkId": "task-2::acceptance-1",
|
||||
"testSkeleton": "test_task_2_all_sprint_step_tests_pass",
|
||||
"text": "all sprint step tests pass"
|
||||
},
|
||||
{
|
||||
"checkId": "task-2::acceptance-2",
|
||||
"testSkeleton": "test_task_2_no_regression_in_existing_mcp_tool_behavior",
|
||||
"text": "no regression in existing mcp tool behavior"
|
||||
},
|
||||
{
|
||||
"checkId": "task-2::acceptance-3",
|
||||
"testSkeleton": "test_task_2_generated_task_queue_is_ready_or_blockers_are_explicit",
|
||||
"text": "generated task queue is ready or blockers are explicit"
|
||||
}
|
||||
],
|
||||
"hasCoverage": true,
|
||||
"task": {
|
||||
"escalate": false,
|
||||
"milestoneId": "milestone-2",
|
||||
"queueReady": true,
|
||||
"taskId": "task-2",
|
||||
"title": "Execution Readiness Primary"
|
||||
}
|
||||
}
|
||||
],
|
||||
"ready": true,
|
||||
"readyCount": 2,
|
||||
"success": true
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
{"id":2,"jsonrpc":"2.0","result":{"content":[{"text":"{\n \"blockers\": [],\n \"escalateCount\": 0,\n \"queueJson\": [\n {\n \"checks\": [\n {\n \"checkId\": \"task-1::acceptance-1\",\n \"testSkeleton\": \"test_task_1_all_sprint_step_tests_pass\",\n \"text\": \"all sprint step tests pass\"\n },\n {\n \"checkId\": \"task-1::acceptance-2\",\n \"testSkeleton\": \"test_task_1_no_regression_in_existing_mcp_tool_behavior\",\n \"text\": \"no regression in existing mcp tool behavior\"\n },\n {\n \"checkId\": \"task-1::acceptance-3\",\n \"testSkeleton\": \"test_task_1_generated_task_queue_is_ready_or_blockers_are_explicit\",\n \"text\": \"generated task queue is ready or blockers are explicit\"\n }\n ],\n \"hasCoverage\": true,\n \"task\": {\n \"escalate\": false,\n \"milestoneId\": \"milestone-1\",\n \"queueReady\": true,\n \"taskId\": \"task-1\",\n \"title\": \"Intake Foundation Primary\"\n }\n },\n {\n \"checks\": [\n {\n \"checkId\": \"task-2::acceptance-1\",\n \"testSkeleton\": \"test_task_2_all_sprint_step_tests_pass\",\n \"text\": \"all sprint step tests pass\"\n },\n {\n \"checkId\": \"task-2::acceptance-2\",\n \"testSkeleton\": \"test_task_2_no_regression_in_existing_mcp_tool_behavior\",\n \"text\": \"no regression in existing mcp tool behavior\"\n },\n {\n \"checkId\": \"task-2::acceptance-3\",\n \"testSkeleton\": \"test_task_2_generated_task_queue_is_ready_or_blockers_are_explicit\",\n \"text\": \"generated task queue is ready or blockers are explicit\"\n }\n ],\n \"hasCoverage\": true,\n \"task\": {\n \"escalate\": false,\n \"milestoneId\": \"milestone-2\",\n \"queueReady\": true,\n \"taskId\": \"task-2\",\n \"title\": \"Execution Readiness Primary\"\n }\n }\n ],\n \"ready\": true,\n \"readyCount\": 2,\n \"success\": true\n}","type":"text"}],"isError":false}}
|
||||
@@ -0,0 +1,33 @@
|
||||
{
|
||||
"report": {
|
||||
"average_score": 87.5,
|
||||
"failing_count": 0,
|
||||
"results": [
|
||||
{
|
||||
"issues": [
|
||||
"reasons has fewer than 3 entries"
|
||||
],
|
||||
"score": 90,
|
||||
"self_contained": true,
|
||||
"task_id": "task-1"
|
||||
},
|
||||
{
|
||||
"issues": [
|
||||
"reasons has fewer than 3 entries",
|
||||
"dependencyTaskIds not empty"
|
||||
],
|
||||
"score": 85,
|
||||
"self_contained": true,
|
||||
"task_id": "task-2"
|
||||
}
|
||||
],
|
||||
"self_contained_count": 2,
|
||||
"top_issues": [
|
||||
"reasons has fewer than 3 entries",
|
||||
"dependencyTaskIds not empty"
|
||||
],
|
||||
"total_taskitems": 2,
|
||||
"warning_count": 0
|
||||
},
|
||||
"success": true
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
{"id":2,"jsonrpc":"2.0","result":{"content":[{"text":"{\n \"report\": {\n \"average_score\": 87.5,\n \"failing_count\": 0,\n \"results\": [\n {\n \"issues\": [\n \"reasons has fewer than 3 entries\"\n ],\n \"score\": 90,\n \"self_contained\": true,\n \"task_id\": \"task-1\"\n },\n {\n \"issues\": [\n \"reasons has fewer than 3 entries\",\n \"dependencyTaskIds not empty\"\n ],\n \"score\": 85,\n \"self_contained\": true,\n \"task_id\": \"task-2\"\n }\n ],\n \"self_contained_count\": 2,\n \"top_issues\": [\n \"reasons has fewer than 3 entries\",\n \"dependencyTaskIds not empty\"\n ],\n \"total_taskitems\": 2,\n \"warning_count\": 0\n },\n \"success\": true\n}","type":"text"}],"isError":false}}
|
||||
@@ -0,0 +1 @@
|
||||
{"sprint":"sprint167_plan.md","input_file":"sprint167_plan.md","timestamp":"2026-02-26T00:54:06Z","mcp_binary":"/home/bill/Documents/CLionProjects/whetstone_DSL/editor/build-native/whetstone_mcp_stable","workspace":"/home/bill/Documents/CLionProjects/whetstone_DSL","output_dir":"/home/bill/Documents/CLionProjects/whetstone_DSL/logs/taskitem_runs/sprint167_plan_20260225_175406","intake":{"success":true,"normalized_requirement_count":13,"conflict_count":1,"ambiguous_requirement_count":0},"taskitems":{"success":true,"task_count":4,"escalate_count":0},"queue_ready":{"success":true,"ready":true,"ready_count":4,"blocker_count":0},"validation":{"success":true,"total_taskitems":4,"average_score":87.5,"self_contained_count":4,"failing_count":0}}
|
||||
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"error": "no_requirements_found",
|
||||
"parsedSpec": {
|
||||
"acceptanceCriteria": [],
|
||||
"constraints": [],
|
||||
"dependencies": [],
|
||||
"goals": [],
|
||||
"sections": [
|
||||
{
|
||||
"anchor": "context",
|
||||
"headingLine": 3,
|
||||
"title": "Context"
|
||||
},
|
||||
{
|
||||
"anchor": "goals",
|
||||
"headingLine": 16,
|
||||
"title": "Goals"
|
||||
},
|
||||
{
|
||||
"anchor": "steps",
|
||||
"headingLine": 25,
|
||||
"title": "Steps"
|
||||
},
|
||||
{
|
||||
"anchor": "architecture-gate",
|
||||
"headingLine": 85,
|
||||
"title": "Architecture Gate"
|
||||
}
|
||||
]
|
||||
},
|
||||
"success": false
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
{"id":2,"jsonrpc":"2.0","result":{"content":[{"text":"{\n \"error\": \"no_requirements_found\",\n \"parsedSpec\": {\n \"acceptanceCriteria\": [],\n \"constraints\": [],\n \"dependencies\": [],\n \"goals\": [],\n \"sections\": [\n {\n \"anchor\": \"context\",\n \"headingLine\": 3,\n \"title\": \"Context\"\n },\n {\n \"anchor\": \"goals\",\n \"headingLine\": 16,\n \"title\": \"Goals\"\n },\n {\n \"anchor\": \"steps\",\n \"headingLine\": 25,\n \"title\": \"Steps\"\n },\n {\n \"anchor\": \"architecture-gate\",\n \"headingLine\": 85,\n \"title\": \"Architecture Gate\"\n }\n ]\n },\n \"success\": false\n}","type":"text"}],"isError":false}}
|
||||
@@ -0,0 +1,20 @@
|
||||
## Goals
|
||||
- Step 1879: Placeholder/TODO detector and policy (10 tests)
|
||||
- Step 1880: Compile gate runner for generated snippets/projects (12 tests)
|
||||
- Step 1881: Test gate runner and minimal harness injection (10 tests)
|
||||
- Step 1882: MCP output contract update for production gates (8 tests)
|
||||
- Step 1883: Sprint 167 Integration Summary (8 tests)
|
||||
|
||||
## Constraints
|
||||
- Gate checks must be deterministic and machine-readable
|
||||
- Failures must include actionable diagnostics and not silently downgrade quality
|
||||
- “Ready” status is forbidden when placeholders or failed compile/tests remain
|
||||
|
||||
## Dependencies
|
||||
- Existing editor/src modules and MCP toolchain
|
||||
- whetstone_mcp stable binary and workspace config
|
||||
|
||||
## Acceptance Criteria
|
||||
- All sprint step tests pass
|
||||
- No regression in existing MCP tool behavior
|
||||
- Generated task queue is ready or blockers are explicit
|
||||
@@ -0,0 +1,232 @@
|
||||
{
|
||||
"conflictSignals": {
|
||||
"ambiguousRequirementCount": 0,
|
||||
"conflictCount": 1,
|
||||
"hasConflicts": true
|
||||
},
|
||||
"conflicts": [
|
||||
{
|
||||
"conflictType": "constraint_contradiction",
|
||||
"detail": "overlap_tokens=2",
|
||||
"leftRequirementId": "constraint-1",
|
||||
"rightRequirementId": "constraint-2"
|
||||
}
|
||||
],
|
||||
"normalizedRequirements": [
|
||||
{
|
||||
"ambiguous": false,
|
||||
"anchor": "goals",
|
||||
"kind": "goal",
|
||||
"normalizedText": "step 1879 placeholder todo detector and policy 10 tests",
|
||||
"requirementId": "goal-1",
|
||||
"sourceLine": 2
|
||||
},
|
||||
{
|
||||
"ambiguous": false,
|
||||
"anchor": "goals",
|
||||
"kind": "goal",
|
||||
"normalizedText": "step 1880 compile gate runner for generated snippets projects 12 tests",
|
||||
"requirementId": "goal-2",
|
||||
"sourceLine": 3
|
||||
},
|
||||
{
|
||||
"ambiguous": false,
|
||||
"anchor": "goals",
|
||||
"kind": "goal",
|
||||
"normalizedText": "step 1881 test gate runner and minimal harness injection 10 tests",
|
||||
"requirementId": "goal-3",
|
||||
"sourceLine": 4
|
||||
},
|
||||
{
|
||||
"ambiguous": false,
|
||||
"anchor": "goals",
|
||||
"kind": "goal",
|
||||
"normalizedText": "step 1882 mcp output contract update for production gates 8 tests",
|
||||
"requirementId": "goal-4",
|
||||
"sourceLine": 5
|
||||
},
|
||||
{
|
||||
"ambiguous": false,
|
||||
"anchor": "goals",
|
||||
"kind": "goal",
|
||||
"normalizedText": "step 1883 sprint 167 integration summary 8 tests",
|
||||
"requirementId": "goal-5",
|
||||
"sourceLine": 6
|
||||
},
|
||||
{
|
||||
"ambiguous": false,
|
||||
"anchor": "constraints",
|
||||
"kind": "constraint",
|
||||
"normalizedText": "gate checks must be deterministic and machine readable",
|
||||
"requirementId": "constraint-1",
|
||||
"sourceLine": 9
|
||||
},
|
||||
{
|
||||
"ambiguous": false,
|
||||
"anchor": "constraints",
|
||||
"kind": "constraint",
|
||||
"normalizedText": "failures must include actionable diagnostics and not silently downgrade quality",
|
||||
"requirementId": "constraint-2",
|
||||
"sourceLine": 10
|
||||
},
|
||||
{
|
||||
"ambiguous": false,
|
||||
"anchor": "constraints",
|
||||
"kind": "constraint",
|
||||
"normalizedText": "ready status is forbidden when placeholders or failed compile tests remain",
|
||||
"requirementId": "constraint-3",
|
||||
"sourceLine": 11
|
||||
},
|
||||
{
|
||||
"ambiguous": false,
|
||||
"anchor": "dependencies",
|
||||
"kind": "dependency",
|
||||
"normalizedText": "existing editor src modules and mcp toolchain",
|
||||
"requirementId": "dependency-1",
|
||||
"sourceLine": 14
|
||||
},
|
||||
{
|
||||
"ambiguous": false,
|
||||
"anchor": "dependencies",
|
||||
"kind": "dependency",
|
||||
"normalizedText": "whetstone mcp stable binary and workspace config",
|
||||
"requirementId": "dependency-2",
|
||||
"sourceLine": 15
|
||||
},
|
||||
{
|
||||
"ambiguous": false,
|
||||
"anchor": "acceptance-criteria",
|
||||
"kind": "acceptance",
|
||||
"normalizedText": "all sprint step tests pass",
|
||||
"requirementId": "acceptance-1",
|
||||
"sourceLine": 18
|
||||
},
|
||||
{
|
||||
"ambiguous": false,
|
||||
"anchor": "acceptance-criteria",
|
||||
"kind": "acceptance",
|
||||
"normalizedText": "no regression in existing mcp tool behavior",
|
||||
"requirementId": "acceptance-2",
|
||||
"sourceLine": 19
|
||||
},
|
||||
{
|
||||
"ambiguous": false,
|
||||
"anchor": "acceptance-criteria",
|
||||
"kind": "acceptance",
|
||||
"normalizedText": "generated task queue is ready or blockers are explicit",
|
||||
"requirementId": "acceptance-3",
|
||||
"sourceLine": 20
|
||||
}
|
||||
],
|
||||
"parsedSpec": {
|
||||
"acceptanceCriteria": [
|
||||
{
|
||||
"anchor": "acceptance-criteria",
|
||||
"line": 18,
|
||||
"sectionTitle": "Acceptance Criteria",
|
||||
"text": "All sprint step tests pass"
|
||||
},
|
||||
{
|
||||
"anchor": "acceptance-criteria",
|
||||
"line": 19,
|
||||
"sectionTitle": "Acceptance Criteria",
|
||||
"text": "No regression in existing MCP tool behavior"
|
||||
},
|
||||
{
|
||||
"anchor": "acceptance-criteria",
|
||||
"line": 20,
|
||||
"sectionTitle": "Acceptance Criteria",
|
||||
"text": "Generated task queue is ready or blockers are explicit"
|
||||
}
|
||||
],
|
||||
"constraints": [
|
||||
{
|
||||
"anchor": "constraints",
|
||||
"line": 9,
|
||||
"sectionTitle": "Constraints",
|
||||
"text": "Gate checks must be deterministic and machine-readable"
|
||||
},
|
||||
{
|
||||
"anchor": "constraints",
|
||||
"line": 10,
|
||||
"sectionTitle": "Constraints",
|
||||
"text": "Failures must include actionable diagnostics and not silently downgrade quality"
|
||||
},
|
||||
{
|
||||
"anchor": "constraints",
|
||||
"line": 11,
|
||||
"sectionTitle": "Constraints",
|
||||
"text": "“Ready” status is forbidden when placeholders or failed compile/tests remain"
|
||||
}
|
||||
],
|
||||
"dependencies": [
|
||||
{
|
||||
"anchor": "dependencies",
|
||||
"line": 14,
|
||||
"sectionTitle": "Dependencies",
|
||||
"text": "Existing editor/src modules and MCP toolchain"
|
||||
},
|
||||
{
|
||||
"anchor": "dependencies",
|
||||
"line": 15,
|
||||
"sectionTitle": "Dependencies",
|
||||
"text": "whetstone_mcp stable binary and workspace config"
|
||||
}
|
||||
],
|
||||
"goals": [
|
||||
{
|
||||
"anchor": "goals",
|
||||
"line": 2,
|
||||
"sectionTitle": "Goals",
|
||||
"text": "Step 1879: Placeholder/TODO detector and policy (10 tests)"
|
||||
},
|
||||
{
|
||||
"anchor": "goals",
|
||||
"line": 3,
|
||||
"sectionTitle": "Goals",
|
||||
"text": "Step 1880: Compile gate runner for generated snippets/projects (12 tests)"
|
||||
},
|
||||
{
|
||||
"anchor": "goals",
|
||||
"line": 4,
|
||||
"sectionTitle": "Goals",
|
||||
"text": "Step 1881: Test gate runner and minimal harness injection (10 tests)"
|
||||
},
|
||||
{
|
||||
"anchor": "goals",
|
||||
"line": 5,
|
||||
"sectionTitle": "Goals",
|
||||
"text": "Step 1882: MCP output contract update for production gates (8 tests)"
|
||||
},
|
||||
{
|
||||
"anchor": "goals",
|
||||
"line": 6,
|
||||
"sectionTitle": "Goals",
|
||||
"text": "Step 1883: Sprint 167 Integration Summary (8 tests)"
|
||||
}
|
||||
],
|
||||
"sections": [
|
||||
{
|
||||
"anchor": "goals",
|
||||
"headingLine": 1,
|
||||
"title": "Goals"
|
||||
},
|
||||
{
|
||||
"anchor": "constraints",
|
||||
"headingLine": 8,
|
||||
"title": "Constraints"
|
||||
},
|
||||
{
|
||||
"anchor": "dependencies",
|
||||
"headingLine": 13,
|
||||
"title": "Dependencies"
|
||||
},
|
||||
{
|
||||
"anchor": "acceptance-criteria",
|
||||
"headingLine": 17,
|
||||
"title": "Acceptance Criteria"
|
||||
}
|
||||
]
|
||||
},
|
||||
"success": true
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,87 @@
|
||||
{
|
||||
"ambiguousRequirementCount": 0,
|
||||
"conflictCount": 1,
|
||||
"escalateCount": 0,
|
||||
"planSummary": {
|
||||
"milestoneCount": 2,
|
||||
"overallUncertainty": 34
|
||||
},
|
||||
"success": true,
|
||||
"tasks": [
|
||||
{
|
||||
"ambiguityCount": 0,
|
||||
"confidence": 77,
|
||||
"dependencyTaskIds": [],
|
||||
"escalate": false,
|
||||
"milestoneId": "milestone-1",
|
||||
"prerequisiteOps": [
|
||||
"validate-intake",
|
||||
"architect-review"
|
||||
],
|
||||
"queueReady": true,
|
||||
"reasons": [
|
||||
"conflicts_detected:1"
|
||||
],
|
||||
"taskId": "task-1",
|
||||
"title": "Intake Foundation Primary"
|
||||
},
|
||||
{
|
||||
"ambiguityCount": 0,
|
||||
"confidence": 72,
|
||||
"dependencyTaskIds": [],
|
||||
"escalate": false,
|
||||
"milestoneId": "milestone-1",
|
||||
"prerequisiteOps": [
|
||||
"validate-intake",
|
||||
"architect-review",
|
||||
"manual-approval"
|
||||
],
|
||||
"queueReady": true,
|
||||
"reasons": [
|
||||
"conflicts_detected:1"
|
||||
],
|
||||
"taskId": "task-2",
|
||||
"title": "Architect Review"
|
||||
},
|
||||
{
|
||||
"ambiguityCount": 0,
|
||||
"confidence": 73,
|
||||
"dependencyTaskIds": [
|
||||
"task-2"
|
||||
],
|
||||
"escalate": false,
|
||||
"milestoneId": "milestone-2",
|
||||
"prerequisiteOps": [
|
||||
"validate-intake",
|
||||
"resolve-dependencies"
|
||||
],
|
||||
"queueReady": true,
|
||||
"reasons": [
|
||||
"conflicts_detected:1",
|
||||
"depends_on_prior_tasks"
|
||||
],
|
||||
"taskId": "task-3",
|
||||
"title": "Execution Readiness Primary"
|
||||
},
|
||||
{
|
||||
"ambiguityCount": 0,
|
||||
"confidence": 73,
|
||||
"dependencyTaskIds": [
|
||||
"task-3"
|
||||
],
|
||||
"escalate": false,
|
||||
"milestoneId": "milestone-2",
|
||||
"prerequisiteOps": [
|
||||
"validate-intake",
|
||||
"manual-approval"
|
||||
],
|
||||
"queueReady": true,
|
||||
"reasons": [
|
||||
"conflicts_detected:1",
|
||||
"depends_on_prior_tasks"
|
||||
],
|
||||
"taskId": "task-4",
|
||||
"title": "Architect Review"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
{"id":2,"jsonrpc":"2.0","result":{"content":[{"text":"{\n \"ambiguousRequirementCount\": 0,\n \"conflictCount\": 1,\n \"escalateCount\": 0,\n \"planSummary\": {\n \"milestoneCount\": 2,\n \"overallUncertainty\": 34\n },\n \"success\": true,\n \"tasks\": [\n {\n \"ambiguityCount\": 0,\n \"confidence\": 77,\n \"dependencyTaskIds\": [],\n \"escalate\": false,\n \"milestoneId\": \"milestone-1\",\n \"prerequisiteOps\": [\n \"validate-intake\",\n \"architect-review\"\n ],\n \"queueReady\": true,\n \"reasons\": [\n \"conflicts_detected:1\"\n ],\n \"taskId\": \"task-1\",\n \"title\": \"Intake Foundation Primary\"\n },\n {\n \"ambiguityCount\": 0,\n \"confidence\": 72,\n \"dependencyTaskIds\": [],\n \"escalate\": false,\n \"milestoneId\": \"milestone-1\",\n \"prerequisiteOps\": [\n \"validate-intake\",\n \"architect-review\",\n \"manual-approval\"\n ],\n \"queueReady\": true,\n \"reasons\": [\n \"conflicts_detected:1\"\n ],\n \"taskId\": \"task-2\",\n \"title\": \"Architect Review\"\n },\n {\n \"ambiguityCount\": 0,\n \"confidence\": 73,\n \"dependencyTaskIds\": [\n \"task-2\"\n ],\n \"escalate\": false,\n \"milestoneId\": \"milestone-2\",\n \"prerequisiteOps\": [\n \"validate-intake\",\n \"resolve-dependencies\"\n ],\n \"queueReady\": true,\n \"reasons\": [\n \"conflicts_detected:1\",\n \"depends_on_prior_tasks\"\n ],\n \"taskId\": \"task-3\",\n \"title\": \"Execution Readiness Primary\"\n },\n {\n \"ambiguityCount\": 0,\n \"confidence\": 73,\n \"dependencyTaskIds\": [\n \"task-3\"\n ],\n \"escalate\": false,\n \"milestoneId\": \"milestone-2\",\n \"prerequisiteOps\": [\n \"validate-intake\",\n \"manual-approval\"\n ],\n \"queueReady\": true,\n \"reasons\": [\n \"conflicts_detected:1\",\n \"depends_on_prior_tasks\"\n ],\n \"taskId\": \"task-4\",\n \"title\": \"Architect Review\"\n }\n ]\n}","type":"text"}],"isError":false}}
|
||||
@@ -0,0 +1,117 @@
|
||||
{
|
||||
"blockers": [],
|
||||
"escalateCount": 0,
|
||||
"queueJson": [
|
||||
{
|
||||
"checks": [
|
||||
{
|
||||
"checkId": "task-1::acceptance-1",
|
||||
"testSkeleton": "test_task_1_all_sprint_step_tests_pass",
|
||||
"text": "all sprint step tests pass"
|
||||
},
|
||||
{
|
||||
"checkId": "task-1::acceptance-2",
|
||||
"testSkeleton": "test_task_1_no_regression_in_existing_mcp_tool_behavior",
|
||||
"text": "no regression in existing mcp tool behavior"
|
||||
},
|
||||
{
|
||||
"checkId": "task-1::acceptance-3",
|
||||
"testSkeleton": "test_task_1_generated_task_queue_is_ready_or_blockers_are_explicit",
|
||||
"text": "generated task queue is ready or blockers are explicit"
|
||||
}
|
||||
],
|
||||
"hasCoverage": true,
|
||||
"task": {
|
||||
"escalate": false,
|
||||
"milestoneId": "milestone-1",
|
||||
"queueReady": true,
|
||||
"taskId": "task-1",
|
||||
"title": "Intake Foundation Primary"
|
||||
}
|
||||
},
|
||||
{
|
||||
"checks": [
|
||||
{
|
||||
"checkId": "task-2::acceptance-1",
|
||||
"testSkeleton": "test_task_2_all_sprint_step_tests_pass",
|
||||
"text": "all sprint step tests pass"
|
||||
},
|
||||
{
|
||||
"checkId": "task-2::acceptance-2",
|
||||
"testSkeleton": "test_task_2_no_regression_in_existing_mcp_tool_behavior",
|
||||
"text": "no regression in existing mcp tool behavior"
|
||||
},
|
||||
{
|
||||
"checkId": "task-2::acceptance-3",
|
||||
"testSkeleton": "test_task_2_generated_task_queue_is_ready_or_blockers_are_explicit",
|
||||
"text": "generated task queue is ready or blockers are explicit"
|
||||
}
|
||||
],
|
||||
"hasCoverage": true,
|
||||
"task": {
|
||||
"escalate": false,
|
||||
"milestoneId": "milestone-1",
|
||||
"queueReady": true,
|
||||
"taskId": "task-2",
|
||||
"title": "Architect Review"
|
||||
}
|
||||
},
|
||||
{
|
||||
"checks": [
|
||||
{
|
||||
"checkId": "task-3::acceptance-1",
|
||||
"testSkeleton": "test_task_3_all_sprint_step_tests_pass",
|
||||
"text": "all sprint step tests pass"
|
||||
},
|
||||
{
|
||||
"checkId": "task-3::acceptance-2",
|
||||
"testSkeleton": "test_task_3_no_regression_in_existing_mcp_tool_behavior",
|
||||
"text": "no regression in existing mcp tool behavior"
|
||||
},
|
||||
{
|
||||
"checkId": "task-3::acceptance-3",
|
||||
"testSkeleton": "test_task_3_generated_task_queue_is_ready_or_blockers_are_explicit",
|
||||
"text": "generated task queue is ready or blockers are explicit"
|
||||
}
|
||||
],
|
||||
"hasCoverage": true,
|
||||
"task": {
|
||||
"escalate": false,
|
||||
"milestoneId": "milestone-2",
|
||||
"queueReady": true,
|
||||
"taskId": "task-3",
|
||||
"title": "Execution Readiness Primary"
|
||||
}
|
||||
},
|
||||
{
|
||||
"checks": [
|
||||
{
|
||||
"checkId": "task-4::acceptance-1",
|
||||
"testSkeleton": "test_task_4_all_sprint_step_tests_pass",
|
||||
"text": "all sprint step tests pass"
|
||||
},
|
||||
{
|
||||
"checkId": "task-4::acceptance-2",
|
||||
"testSkeleton": "test_task_4_no_regression_in_existing_mcp_tool_behavior",
|
||||
"text": "no regression in existing mcp tool behavior"
|
||||
},
|
||||
{
|
||||
"checkId": "task-4::acceptance-3",
|
||||
"testSkeleton": "test_task_4_generated_task_queue_is_ready_or_blockers_are_explicit",
|
||||
"text": "generated task queue is ready or blockers are explicit"
|
||||
}
|
||||
],
|
||||
"hasCoverage": true,
|
||||
"task": {
|
||||
"escalate": false,
|
||||
"milestoneId": "milestone-2",
|
||||
"queueReady": true,
|
||||
"taskId": "task-4",
|
||||
"title": "Architect Review"
|
||||
}
|
||||
}
|
||||
],
|
||||
"ready": true,
|
||||
"readyCount": 4,
|
||||
"success": true
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
{"id":2,"jsonrpc":"2.0","result":{"content":[{"text":"{\n \"blockers\": [],\n \"escalateCount\": 0,\n \"queueJson\": [\n {\n \"checks\": [\n {\n \"checkId\": \"task-1::acceptance-1\",\n \"testSkeleton\": \"test_task_1_all_sprint_step_tests_pass\",\n \"text\": \"all sprint step tests pass\"\n },\n {\n \"checkId\": \"task-1::acceptance-2\",\n \"testSkeleton\": \"test_task_1_no_regression_in_existing_mcp_tool_behavior\",\n \"text\": \"no regression in existing mcp tool behavior\"\n },\n {\n \"checkId\": \"task-1::acceptance-3\",\n \"testSkeleton\": \"test_task_1_generated_task_queue_is_ready_or_blockers_are_explicit\",\n \"text\": \"generated task queue is ready or blockers are explicit\"\n }\n ],\n \"hasCoverage\": true,\n \"task\": {\n \"escalate\": false,\n \"milestoneId\": \"milestone-1\",\n \"queueReady\": true,\n \"taskId\": \"task-1\",\n \"title\": \"Intake Foundation Primary\"\n }\n },\n {\n \"checks\": [\n {\n \"checkId\": \"task-2::acceptance-1\",\n \"testSkeleton\": \"test_task_2_all_sprint_step_tests_pass\",\n \"text\": \"all sprint step tests pass\"\n },\n {\n \"checkId\": \"task-2::acceptance-2\",\n \"testSkeleton\": \"test_task_2_no_regression_in_existing_mcp_tool_behavior\",\n \"text\": \"no regression in existing mcp tool behavior\"\n },\n {\n \"checkId\": \"task-2::acceptance-3\",\n \"testSkeleton\": \"test_task_2_generated_task_queue_is_ready_or_blockers_are_explicit\",\n \"text\": \"generated task queue is ready or blockers are explicit\"\n }\n ],\n \"hasCoverage\": true,\n \"task\": {\n \"escalate\": false,\n \"milestoneId\": \"milestone-1\",\n \"queueReady\": true,\n \"taskId\": \"task-2\",\n \"title\": \"Architect Review\"\n }\n },\n {\n \"checks\": [\n {\n \"checkId\": \"task-3::acceptance-1\",\n \"testSkeleton\": \"test_task_3_all_sprint_step_tests_pass\",\n \"text\": \"all sprint step tests pass\"\n },\n {\n \"checkId\": \"task-3::acceptance-2\",\n \"testSkeleton\": \"test_task_3_no_regression_in_existing_mcp_tool_behavior\",\n \"text\": \"no regression in existing mcp tool behavior\"\n },\n {\n \"checkId\": \"task-3::acceptance-3\",\n \"testSkeleton\": \"test_task_3_generated_task_queue_is_ready_or_blockers_are_explicit\",\n \"text\": \"generated task queue is ready or blockers are explicit\"\n }\n ],\n \"hasCoverage\": true,\n \"task\": {\n \"escalate\": false,\n \"milestoneId\": \"milestone-2\",\n \"queueReady\": true,\n \"taskId\": \"task-3\",\n \"title\": \"Execution Readiness Primary\"\n }\n },\n {\n \"checks\": [\n {\n \"checkId\": \"task-4::acceptance-1\",\n \"testSkeleton\": \"test_task_4_all_sprint_step_tests_pass\",\n \"text\": \"all sprint step tests pass\"\n },\n {\n \"checkId\": \"task-4::acceptance-2\",\n \"testSkeleton\": \"test_task_4_no_regression_in_existing_mcp_tool_behavior\",\n \"text\": \"no regression in existing mcp tool behavior\"\n },\n {\n \"checkId\": \"task-4::acceptance-3\",\n \"testSkeleton\": \"test_task_4_generated_task_queue_is_ready_or_blockers_are_explicit\",\n \"text\": \"generated task queue is ready or blockers are explicit\"\n }\n ],\n \"hasCoverage\": true,\n \"task\": {\n \"escalate\": false,\n \"milestoneId\": \"milestone-2\",\n \"queueReady\": true,\n \"taskId\": \"task-4\",\n \"title\": \"Architect Review\"\n }\n }\n ],\n \"ready\": true,\n \"readyCount\": 4,\n \"success\": true\n}","type":"text"}],"isError":false}}
|
||||
@@ -0,0 +1,50 @@
|
||||
{
|
||||
"report": {
|
||||
"average_score": 87.5,
|
||||
"failing_count": 0,
|
||||
"results": [
|
||||
{
|
||||
"issues": [
|
||||
"reasons has fewer than 3 entries"
|
||||
],
|
||||
"score": 90,
|
||||
"self_contained": true,
|
||||
"task_id": "task-1"
|
||||
},
|
||||
{
|
||||
"issues": [
|
||||
"reasons has fewer than 3 entries"
|
||||
],
|
||||
"score": 90,
|
||||
"self_contained": true,
|
||||
"task_id": "task-2"
|
||||
},
|
||||
{
|
||||
"issues": [
|
||||
"reasons has fewer than 3 entries",
|
||||
"dependencyTaskIds not empty"
|
||||
],
|
||||
"score": 85,
|
||||
"self_contained": true,
|
||||
"task_id": "task-3"
|
||||
},
|
||||
{
|
||||
"issues": [
|
||||
"reasons has fewer than 3 entries",
|
||||
"dependencyTaskIds not empty"
|
||||
],
|
||||
"score": 85,
|
||||
"self_contained": true,
|
||||
"task_id": "task-4"
|
||||
}
|
||||
],
|
||||
"self_contained_count": 4,
|
||||
"top_issues": [
|
||||
"reasons has fewer than 3 entries",
|
||||
"dependencyTaskIds not empty"
|
||||
],
|
||||
"total_taskitems": 4,
|
||||
"warning_count": 0
|
||||
},
|
||||
"success": true
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
{"id":2,"jsonrpc":"2.0","result":{"content":[{"text":"{\n \"report\": {\n \"average_score\": 87.5,\n \"failing_count\": 0,\n \"results\": [\n {\n \"issues\": [\n \"reasons has fewer than 3 entries\"\n ],\n \"score\": 90,\n \"self_contained\": true,\n \"task_id\": \"task-1\"\n },\n {\n \"issues\": [\n \"reasons has fewer than 3 entries\"\n ],\n \"score\": 90,\n \"self_contained\": true,\n \"task_id\": \"task-2\"\n },\n {\n \"issues\": [\n \"reasons has fewer than 3 entries\",\n \"dependencyTaskIds not empty\"\n ],\n \"score\": 85,\n \"self_contained\": true,\n \"task_id\": \"task-3\"\n },\n {\n \"issues\": [\n \"reasons has fewer than 3 entries\",\n \"dependencyTaskIds not empty\"\n ],\n \"score\": 85,\n \"self_contained\": true,\n \"task_id\": \"task-4\"\n }\n ],\n \"self_contained_count\": 4,\n \"top_issues\": [\n \"reasons has fewer than 3 entries\",\n \"dependencyTaskIds not empty\"\n ],\n \"total_taskitems\": 4,\n \"warning_count\": 0\n },\n \"success\": true\n}","type":"text"}],"isError":false}}
|
||||
@@ -0,0 +1 @@
|
||||
{"sprint":"sprint168_plan.md","input_file":"sprint168_plan.md","timestamp":"2026-02-26T00:54:07Z","mcp_binary":"/home/bill/Documents/CLionProjects/whetstone_DSL/editor/build-native/whetstone_mcp_stable","workspace":"/home/bill/Documents/CLionProjects/whetstone_DSL","output_dir":"/home/bill/Documents/CLionProjects/whetstone_DSL/logs/taskitem_runs/sprint168_plan_20260225_175406","intake":{"success":true,"normalized_requirement_count":13,"conflict_count":2,"ambiguous_requirement_count":0},"taskitems":{"success":true,"task_count":4,"escalate_count":0},"queue_ready":{"success":true,"ready":true,"ready_count":4,"blocker_count":0},"validation":{"success":true,"total_taskitems":4,"average_score":87.5,"self_contained_count":4,"failing_count":0}}
|
||||
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"error": "no_requirements_found",
|
||||
"parsedSpec": {
|
||||
"acceptanceCriteria": [],
|
||||
"constraints": [],
|
||||
"dependencies": [],
|
||||
"goals": [],
|
||||
"sections": [
|
||||
{
|
||||
"anchor": "context",
|
||||
"headingLine": 3,
|
||||
"title": "Context"
|
||||
},
|
||||
{
|
||||
"anchor": "goals",
|
||||
"headingLine": 14,
|
||||
"title": "Goals"
|
||||
},
|
||||
{
|
||||
"anchor": "steps",
|
||||
"headingLine": 23,
|
||||
"title": "Steps"
|
||||
},
|
||||
{
|
||||
"anchor": "architecture-gate",
|
||||
"headingLine": 90,
|
||||
"title": "Architecture Gate"
|
||||
}
|
||||
]
|
||||
},
|
||||
"success": false
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
{"id":2,"jsonrpc":"2.0","result":{"content":[{"text":"{\n \"error\": \"no_requirements_found\",\n \"parsedSpec\": {\n \"acceptanceCriteria\": [],\n \"constraints\": [],\n \"dependencies\": [],\n \"goals\": [],\n \"sections\": [\n {\n \"anchor\": \"context\",\n \"headingLine\": 3,\n \"title\": \"Context\"\n },\n {\n \"anchor\": \"goals\",\n \"headingLine\": 14,\n \"title\": \"Goals\"\n },\n {\n \"anchor\": \"steps\",\n \"headingLine\": 23,\n \"title\": \"Steps\"\n },\n {\n \"anchor\": \"architecture-gate\",\n \"headingLine\": 90,\n \"title\": \"Architecture Gate\"\n }\n ]\n },\n \"success\": false\n}","type":"text"}],"isError":false}}
|
||||
@@ -0,0 +1,20 @@
|
||||
## Goals
|
||||
- Step 1884: Gate-driven remediation planner (10 tests)
|
||||
- Step 1885: Closed-loop execution engine for production completion (12 tests)
|
||||
- Step 1886: Taskitem pipeline integration (`overall_ready` semantics) (8 tests)
|
||||
- Step 1887: Benchmark validation (PriorityQueue + secondary workload) (10 tests)
|
||||
- Step 1888: Sprint 168 Integration Summary (8 tests)
|
||||
|
||||
## Constraints
|
||||
- Completion state must be gate-derived, never text-heuristic-only
|
||||
- Every failed run must preserve actionable trace/evidence
|
||||
- Benchmark outputs must be reproducible and auditable from saved artifacts
|
||||
|
||||
## Dependencies
|
||||
- Existing editor/src modules and MCP toolchain
|
||||
- whetstone_mcp stable binary and workspace config
|
||||
|
||||
## Acceptance Criteria
|
||||
- All sprint step tests pass
|
||||
- No regression in existing MCP tool behavior
|
||||
- Generated task queue is ready or blockers are explicit
|
||||
@@ -0,0 +1,238 @@
|
||||
{
|
||||
"conflictSignals": {
|
||||
"ambiguousRequirementCount": 0,
|
||||
"conflictCount": 2,
|
||||
"hasConflicts": true
|
||||
},
|
||||
"conflicts": [
|
||||
{
|
||||
"conflictType": "constraint_contradiction",
|
||||
"detail": "overlap_tokens=1",
|
||||
"leftRequirementId": "constraint-1",
|
||||
"rightRequirementId": "constraint-2"
|
||||
},
|
||||
{
|
||||
"conflictType": "constraint_contradiction",
|
||||
"detail": "overlap_tokens=2",
|
||||
"leftRequirementId": "constraint-1",
|
||||
"rightRequirementId": "constraint-3"
|
||||
}
|
||||
],
|
||||
"normalizedRequirements": [
|
||||
{
|
||||
"ambiguous": false,
|
||||
"anchor": "goals",
|
||||
"kind": "goal",
|
||||
"normalizedText": "step 1884 gate driven remediation planner 10 tests",
|
||||
"requirementId": "goal-1",
|
||||
"sourceLine": 2
|
||||
},
|
||||
{
|
||||
"ambiguous": false,
|
||||
"anchor": "goals",
|
||||
"kind": "goal",
|
||||
"normalizedText": "step 1885 closed loop execution engine for production completion 12 tests",
|
||||
"requirementId": "goal-2",
|
||||
"sourceLine": 3
|
||||
},
|
||||
{
|
||||
"ambiguous": false,
|
||||
"anchor": "goals",
|
||||
"kind": "goal",
|
||||
"normalizedText": "step 1886 taskitem pipeline integration overall ready semantics 8 tests",
|
||||
"requirementId": "goal-3",
|
||||
"sourceLine": 4
|
||||
},
|
||||
{
|
||||
"ambiguous": false,
|
||||
"anchor": "goals",
|
||||
"kind": "goal",
|
||||
"normalizedText": "step 1887 benchmark validation priorityqueue secondary workload 10 tests",
|
||||
"requirementId": "goal-4",
|
||||
"sourceLine": 5
|
||||
},
|
||||
{
|
||||
"ambiguous": false,
|
||||
"anchor": "goals",
|
||||
"kind": "goal",
|
||||
"normalizedText": "step 1888 sprint 168 integration summary 8 tests",
|
||||
"requirementId": "goal-5",
|
||||
"sourceLine": 6
|
||||
},
|
||||
{
|
||||
"ambiguous": false,
|
||||
"anchor": "constraints",
|
||||
"kind": "constraint",
|
||||
"normalizedText": "completion state must be gate derived never text heuristic only",
|
||||
"requirementId": "constraint-1",
|
||||
"sourceLine": 9
|
||||
},
|
||||
{
|
||||
"ambiguous": false,
|
||||
"anchor": "constraints",
|
||||
"kind": "constraint",
|
||||
"normalizedText": "every failed run must preserve actionable trace evidence",
|
||||
"requirementId": "constraint-2",
|
||||
"sourceLine": 10
|
||||
},
|
||||
{
|
||||
"ambiguous": false,
|
||||
"anchor": "constraints",
|
||||
"kind": "constraint",
|
||||
"normalizedText": "benchmark outputs must be reproducible and auditable from saved artifacts",
|
||||
"requirementId": "constraint-3",
|
||||
"sourceLine": 11
|
||||
},
|
||||
{
|
||||
"ambiguous": false,
|
||||
"anchor": "dependencies",
|
||||
"kind": "dependency",
|
||||
"normalizedText": "existing editor src modules and mcp toolchain",
|
||||
"requirementId": "dependency-1",
|
||||
"sourceLine": 14
|
||||
},
|
||||
{
|
||||
"ambiguous": false,
|
||||
"anchor": "dependencies",
|
||||
"kind": "dependency",
|
||||
"normalizedText": "whetstone mcp stable binary and workspace config",
|
||||
"requirementId": "dependency-2",
|
||||
"sourceLine": 15
|
||||
},
|
||||
{
|
||||
"ambiguous": false,
|
||||
"anchor": "acceptance-criteria",
|
||||
"kind": "acceptance",
|
||||
"normalizedText": "all sprint step tests pass",
|
||||
"requirementId": "acceptance-1",
|
||||
"sourceLine": 18
|
||||
},
|
||||
{
|
||||
"ambiguous": false,
|
||||
"anchor": "acceptance-criteria",
|
||||
"kind": "acceptance",
|
||||
"normalizedText": "no regression in existing mcp tool behavior",
|
||||
"requirementId": "acceptance-2",
|
||||
"sourceLine": 19
|
||||
},
|
||||
{
|
||||
"ambiguous": false,
|
||||
"anchor": "acceptance-criteria",
|
||||
"kind": "acceptance",
|
||||
"normalizedText": "generated task queue is ready or blockers are explicit",
|
||||
"requirementId": "acceptance-3",
|
||||
"sourceLine": 20
|
||||
}
|
||||
],
|
||||
"parsedSpec": {
|
||||
"acceptanceCriteria": [
|
||||
{
|
||||
"anchor": "acceptance-criteria",
|
||||
"line": 18,
|
||||
"sectionTitle": "Acceptance Criteria",
|
||||
"text": "All sprint step tests pass"
|
||||
},
|
||||
{
|
||||
"anchor": "acceptance-criteria",
|
||||
"line": 19,
|
||||
"sectionTitle": "Acceptance Criteria",
|
||||
"text": "No regression in existing MCP tool behavior"
|
||||
},
|
||||
{
|
||||
"anchor": "acceptance-criteria",
|
||||
"line": 20,
|
||||
"sectionTitle": "Acceptance Criteria",
|
||||
"text": "Generated task queue is ready or blockers are explicit"
|
||||
}
|
||||
],
|
||||
"constraints": [
|
||||
{
|
||||
"anchor": "constraints",
|
||||
"line": 9,
|
||||
"sectionTitle": "Constraints",
|
||||
"text": "Completion state must be gate-derived, never text-heuristic-only"
|
||||
},
|
||||
{
|
||||
"anchor": "constraints",
|
||||
"line": 10,
|
||||
"sectionTitle": "Constraints",
|
||||
"text": "Every failed run must preserve actionable trace/evidence"
|
||||
},
|
||||
{
|
||||
"anchor": "constraints",
|
||||
"line": 11,
|
||||
"sectionTitle": "Constraints",
|
||||
"text": "Benchmark outputs must be reproducible and auditable from saved artifacts"
|
||||
}
|
||||
],
|
||||
"dependencies": [
|
||||
{
|
||||
"anchor": "dependencies",
|
||||
"line": 14,
|
||||
"sectionTitle": "Dependencies",
|
||||
"text": "Existing editor/src modules and MCP toolchain"
|
||||
},
|
||||
{
|
||||
"anchor": "dependencies",
|
||||
"line": 15,
|
||||
"sectionTitle": "Dependencies",
|
||||
"text": "whetstone_mcp stable binary and workspace config"
|
||||
}
|
||||
],
|
||||
"goals": [
|
||||
{
|
||||
"anchor": "goals",
|
||||
"line": 2,
|
||||
"sectionTitle": "Goals",
|
||||
"text": "Step 1884: Gate-driven remediation planner (10 tests)"
|
||||
},
|
||||
{
|
||||
"anchor": "goals",
|
||||
"line": 3,
|
||||
"sectionTitle": "Goals",
|
||||
"text": "Step 1885: Closed-loop execution engine for production completion (12 tests)"
|
||||
},
|
||||
{
|
||||
"anchor": "goals",
|
||||
"line": 4,
|
||||
"sectionTitle": "Goals",
|
||||
"text": "Step 1886: Taskitem pipeline integration (`overall_ready` semantics) (8 tests)"
|
||||
},
|
||||
{
|
||||
"anchor": "goals",
|
||||
"line": 5,
|
||||
"sectionTitle": "Goals",
|
||||
"text": "Step 1887: Benchmark validation (PriorityQueue + secondary workload) (10 tests)"
|
||||
},
|
||||
{
|
||||
"anchor": "goals",
|
||||
"line": 6,
|
||||
"sectionTitle": "Goals",
|
||||
"text": "Step 1888: Sprint 168 Integration Summary (8 tests)"
|
||||
}
|
||||
],
|
||||
"sections": [
|
||||
{
|
||||
"anchor": "goals",
|
||||
"headingLine": 1,
|
||||
"title": "Goals"
|
||||
},
|
||||
{
|
||||
"anchor": "constraints",
|
||||
"headingLine": 8,
|
||||
"title": "Constraints"
|
||||
},
|
||||
{
|
||||
"anchor": "dependencies",
|
||||
"headingLine": 13,
|
||||
"title": "Dependencies"
|
||||
},
|
||||
{
|
||||
"anchor": "acceptance-criteria",
|
||||
"headingLine": 17,
|
||||
"title": "Acceptance Criteria"
|
||||
}
|
||||
]
|
||||
},
|
||||
"success": true
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,87 @@
|
||||
{
|
||||
"ambiguousRequirementCount": 0,
|
||||
"conflictCount": 2,
|
||||
"escalateCount": 0,
|
||||
"planSummary": {
|
||||
"milestoneCount": 2,
|
||||
"overallUncertainty": 34
|
||||
},
|
||||
"success": true,
|
||||
"tasks": [
|
||||
{
|
||||
"ambiguityCount": 0,
|
||||
"confidence": 69,
|
||||
"dependencyTaskIds": [],
|
||||
"escalate": false,
|
||||
"milestoneId": "milestone-1",
|
||||
"prerequisiteOps": [
|
||||
"validate-intake",
|
||||
"architect-review"
|
||||
],
|
||||
"queueReady": true,
|
||||
"reasons": [
|
||||
"conflicts_detected:2"
|
||||
],
|
||||
"taskId": "task-1",
|
||||
"title": "Intake Foundation Primary"
|
||||
},
|
||||
{
|
||||
"ambiguityCount": 0,
|
||||
"confidence": 64,
|
||||
"dependencyTaskIds": [],
|
||||
"escalate": false,
|
||||
"milestoneId": "milestone-1",
|
||||
"prerequisiteOps": [
|
||||
"validate-intake",
|
||||
"architect-review",
|
||||
"manual-approval"
|
||||
],
|
||||
"queueReady": true,
|
||||
"reasons": [
|
||||
"conflicts_detected:2"
|
||||
],
|
||||
"taskId": "task-2",
|
||||
"title": "Architect Review"
|
||||
},
|
||||
{
|
||||
"ambiguityCount": 0,
|
||||
"confidence": 65,
|
||||
"dependencyTaskIds": [
|
||||
"task-2"
|
||||
],
|
||||
"escalate": false,
|
||||
"milestoneId": "milestone-2",
|
||||
"prerequisiteOps": [
|
||||
"validate-intake",
|
||||
"resolve-dependencies"
|
||||
],
|
||||
"queueReady": true,
|
||||
"reasons": [
|
||||
"conflicts_detected:2",
|
||||
"depends_on_prior_tasks"
|
||||
],
|
||||
"taskId": "task-3",
|
||||
"title": "Execution Readiness Primary"
|
||||
},
|
||||
{
|
||||
"ambiguityCount": 0,
|
||||
"confidence": 65,
|
||||
"dependencyTaskIds": [
|
||||
"task-3"
|
||||
],
|
||||
"escalate": false,
|
||||
"milestoneId": "milestone-2",
|
||||
"prerequisiteOps": [
|
||||
"validate-intake",
|
||||
"manual-approval"
|
||||
],
|
||||
"queueReady": true,
|
||||
"reasons": [
|
||||
"conflicts_detected:2",
|
||||
"depends_on_prior_tasks"
|
||||
],
|
||||
"taskId": "task-4",
|
||||
"title": "Architect Review"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
{"id":2,"jsonrpc":"2.0","result":{"content":[{"text":"{\n \"ambiguousRequirementCount\": 0,\n \"conflictCount\": 2,\n \"escalateCount\": 0,\n \"planSummary\": {\n \"milestoneCount\": 2,\n \"overallUncertainty\": 34\n },\n \"success\": true,\n \"tasks\": [\n {\n \"ambiguityCount\": 0,\n \"confidence\": 69,\n \"dependencyTaskIds\": [],\n \"escalate\": false,\n \"milestoneId\": \"milestone-1\",\n \"prerequisiteOps\": [\n \"validate-intake\",\n \"architect-review\"\n ],\n \"queueReady\": true,\n \"reasons\": [\n \"conflicts_detected:2\"\n ],\n \"taskId\": \"task-1\",\n \"title\": \"Intake Foundation Primary\"\n },\n {\n \"ambiguityCount\": 0,\n \"confidence\": 64,\n \"dependencyTaskIds\": [],\n \"escalate\": false,\n \"milestoneId\": \"milestone-1\",\n \"prerequisiteOps\": [\n \"validate-intake\",\n \"architect-review\",\n \"manual-approval\"\n ],\n \"queueReady\": true,\n \"reasons\": [\n \"conflicts_detected:2\"\n ],\n \"taskId\": \"task-2\",\n \"title\": \"Architect Review\"\n },\n {\n \"ambiguityCount\": 0,\n \"confidence\": 65,\n \"dependencyTaskIds\": [\n \"task-2\"\n ],\n \"escalate\": false,\n \"milestoneId\": \"milestone-2\",\n \"prerequisiteOps\": [\n \"validate-intake\",\n \"resolve-dependencies\"\n ],\n \"queueReady\": true,\n \"reasons\": [\n \"conflicts_detected:2\",\n \"depends_on_prior_tasks\"\n ],\n \"taskId\": \"task-3\",\n \"title\": \"Execution Readiness Primary\"\n },\n {\n \"ambiguityCount\": 0,\n \"confidence\": 65,\n \"dependencyTaskIds\": [\n \"task-3\"\n ],\n \"escalate\": false,\n \"milestoneId\": \"milestone-2\",\n \"prerequisiteOps\": [\n \"validate-intake\",\n \"manual-approval\"\n ],\n \"queueReady\": true,\n \"reasons\": [\n \"conflicts_detected:2\",\n \"depends_on_prior_tasks\"\n ],\n \"taskId\": \"task-4\",\n \"title\": \"Architect Review\"\n }\n ]\n}","type":"text"}],"isError":false}}
|
||||
@@ -0,0 +1,117 @@
|
||||
{
|
||||
"blockers": [],
|
||||
"escalateCount": 0,
|
||||
"queueJson": [
|
||||
{
|
||||
"checks": [
|
||||
{
|
||||
"checkId": "task-1::acceptance-1",
|
||||
"testSkeleton": "test_task_1_all_sprint_step_tests_pass",
|
||||
"text": "all sprint step tests pass"
|
||||
},
|
||||
{
|
||||
"checkId": "task-1::acceptance-2",
|
||||
"testSkeleton": "test_task_1_no_regression_in_existing_mcp_tool_behavior",
|
||||
"text": "no regression in existing mcp tool behavior"
|
||||
},
|
||||
{
|
||||
"checkId": "task-1::acceptance-3",
|
||||
"testSkeleton": "test_task_1_generated_task_queue_is_ready_or_blockers_are_explicit",
|
||||
"text": "generated task queue is ready or blockers are explicit"
|
||||
}
|
||||
],
|
||||
"hasCoverage": true,
|
||||
"task": {
|
||||
"escalate": false,
|
||||
"milestoneId": "milestone-1",
|
||||
"queueReady": true,
|
||||
"taskId": "task-1",
|
||||
"title": "Intake Foundation Primary"
|
||||
}
|
||||
},
|
||||
{
|
||||
"checks": [
|
||||
{
|
||||
"checkId": "task-2::acceptance-1",
|
||||
"testSkeleton": "test_task_2_all_sprint_step_tests_pass",
|
||||
"text": "all sprint step tests pass"
|
||||
},
|
||||
{
|
||||
"checkId": "task-2::acceptance-2",
|
||||
"testSkeleton": "test_task_2_no_regression_in_existing_mcp_tool_behavior",
|
||||
"text": "no regression in existing mcp tool behavior"
|
||||
},
|
||||
{
|
||||
"checkId": "task-2::acceptance-3",
|
||||
"testSkeleton": "test_task_2_generated_task_queue_is_ready_or_blockers_are_explicit",
|
||||
"text": "generated task queue is ready or blockers are explicit"
|
||||
}
|
||||
],
|
||||
"hasCoverage": true,
|
||||
"task": {
|
||||
"escalate": false,
|
||||
"milestoneId": "milestone-1",
|
||||
"queueReady": true,
|
||||
"taskId": "task-2",
|
||||
"title": "Architect Review"
|
||||
}
|
||||
},
|
||||
{
|
||||
"checks": [
|
||||
{
|
||||
"checkId": "task-3::acceptance-1",
|
||||
"testSkeleton": "test_task_3_all_sprint_step_tests_pass",
|
||||
"text": "all sprint step tests pass"
|
||||
},
|
||||
{
|
||||
"checkId": "task-3::acceptance-2",
|
||||
"testSkeleton": "test_task_3_no_regression_in_existing_mcp_tool_behavior",
|
||||
"text": "no regression in existing mcp tool behavior"
|
||||
},
|
||||
{
|
||||
"checkId": "task-3::acceptance-3",
|
||||
"testSkeleton": "test_task_3_generated_task_queue_is_ready_or_blockers_are_explicit",
|
||||
"text": "generated task queue is ready or blockers are explicit"
|
||||
}
|
||||
],
|
||||
"hasCoverage": true,
|
||||
"task": {
|
||||
"escalate": false,
|
||||
"milestoneId": "milestone-2",
|
||||
"queueReady": true,
|
||||
"taskId": "task-3",
|
||||
"title": "Execution Readiness Primary"
|
||||
}
|
||||
},
|
||||
{
|
||||
"checks": [
|
||||
{
|
||||
"checkId": "task-4::acceptance-1",
|
||||
"testSkeleton": "test_task_4_all_sprint_step_tests_pass",
|
||||
"text": "all sprint step tests pass"
|
||||
},
|
||||
{
|
||||
"checkId": "task-4::acceptance-2",
|
||||
"testSkeleton": "test_task_4_no_regression_in_existing_mcp_tool_behavior",
|
||||
"text": "no regression in existing mcp tool behavior"
|
||||
},
|
||||
{
|
||||
"checkId": "task-4::acceptance-3",
|
||||
"testSkeleton": "test_task_4_generated_task_queue_is_ready_or_blockers_are_explicit",
|
||||
"text": "generated task queue is ready or blockers are explicit"
|
||||
}
|
||||
],
|
||||
"hasCoverage": true,
|
||||
"task": {
|
||||
"escalate": false,
|
||||
"milestoneId": "milestone-2",
|
||||
"queueReady": true,
|
||||
"taskId": "task-4",
|
||||
"title": "Architect Review"
|
||||
}
|
||||
}
|
||||
],
|
||||
"ready": true,
|
||||
"readyCount": 4,
|
||||
"success": true
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
{"id":2,"jsonrpc":"2.0","result":{"content":[{"text":"{\n \"blockers\": [],\n \"escalateCount\": 0,\n \"queueJson\": [\n {\n \"checks\": [\n {\n \"checkId\": \"task-1::acceptance-1\",\n \"testSkeleton\": \"test_task_1_all_sprint_step_tests_pass\",\n \"text\": \"all sprint step tests pass\"\n },\n {\n \"checkId\": \"task-1::acceptance-2\",\n \"testSkeleton\": \"test_task_1_no_regression_in_existing_mcp_tool_behavior\",\n \"text\": \"no regression in existing mcp tool behavior\"\n },\n {\n \"checkId\": \"task-1::acceptance-3\",\n \"testSkeleton\": \"test_task_1_generated_task_queue_is_ready_or_blockers_are_explicit\",\n \"text\": \"generated task queue is ready or blockers are explicit\"\n }\n ],\n \"hasCoverage\": true,\n \"task\": {\n \"escalate\": false,\n \"milestoneId\": \"milestone-1\",\n \"queueReady\": true,\n \"taskId\": \"task-1\",\n \"title\": \"Intake Foundation Primary\"\n }\n },\n {\n \"checks\": [\n {\n \"checkId\": \"task-2::acceptance-1\",\n \"testSkeleton\": \"test_task_2_all_sprint_step_tests_pass\",\n \"text\": \"all sprint step tests pass\"\n },\n {\n \"checkId\": \"task-2::acceptance-2\",\n \"testSkeleton\": \"test_task_2_no_regression_in_existing_mcp_tool_behavior\",\n \"text\": \"no regression in existing mcp tool behavior\"\n },\n {\n \"checkId\": \"task-2::acceptance-3\",\n \"testSkeleton\": \"test_task_2_generated_task_queue_is_ready_or_blockers_are_explicit\",\n \"text\": \"generated task queue is ready or blockers are explicit\"\n }\n ],\n \"hasCoverage\": true,\n \"task\": {\n \"escalate\": false,\n \"milestoneId\": \"milestone-1\",\n \"queueReady\": true,\n \"taskId\": \"task-2\",\n \"title\": \"Architect Review\"\n }\n },\n {\n \"checks\": [\n {\n \"checkId\": \"task-3::acceptance-1\",\n \"testSkeleton\": \"test_task_3_all_sprint_step_tests_pass\",\n \"text\": \"all sprint step tests pass\"\n },\n {\n \"checkId\": \"task-3::acceptance-2\",\n \"testSkeleton\": \"test_task_3_no_regression_in_existing_mcp_tool_behavior\",\n \"text\": \"no regression in existing mcp tool behavior\"\n },\n {\n \"checkId\": \"task-3::acceptance-3\",\n \"testSkeleton\": \"test_task_3_generated_task_queue_is_ready_or_blockers_are_explicit\",\n \"text\": \"generated task queue is ready or blockers are explicit\"\n }\n ],\n \"hasCoverage\": true,\n \"task\": {\n \"escalate\": false,\n \"milestoneId\": \"milestone-2\",\n \"queueReady\": true,\n \"taskId\": \"task-3\",\n \"title\": \"Execution Readiness Primary\"\n }\n },\n {\n \"checks\": [\n {\n \"checkId\": \"task-4::acceptance-1\",\n \"testSkeleton\": \"test_task_4_all_sprint_step_tests_pass\",\n \"text\": \"all sprint step tests pass\"\n },\n {\n \"checkId\": \"task-4::acceptance-2\",\n \"testSkeleton\": \"test_task_4_no_regression_in_existing_mcp_tool_behavior\",\n \"text\": \"no regression in existing mcp tool behavior\"\n },\n {\n \"checkId\": \"task-4::acceptance-3\",\n \"testSkeleton\": \"test_task_4_generated_task_queue_is_ready_or_blockers_are_explicit\",\n \"text\": \"generated task queue is ready or blockers are explicit\"\n }\n ],\n \"hasCoverage\": true,\n \"task\": {\n \"escalate\": false,\n \"milestoneId\": \"milestone-2\",\n \"queueReady\": true,\n \"taskId\": \"task-4\",\n \"title\": \"Architect Review\"\n }\n }\n ],\n \"ready\": true,\n \"readyCount\": 4,\n \"success\": true\n}","type":"text"}],"isError":false}}
|
||||
@@ -0,0 +1,50 @@
|
||||
{
|
||||
"report": {
|
||||
"average_score": 87.5,
|
||||
"failing_count": 0,
|
||||
"results": [
|
||||
{
|
||||
"issues": [
|
||||
"reasons has fewer than 3 entries"
|
||||
],
|
||||
"score": 90,
|
||||
"self_contained": true,
|
||||
"task_id": "task-1"
|
||||
},
|
||||
{
|
||||
"issues": [
|
||||
"reasons has fewer than 3 entries"
|
||||
],
|
||||
"score": 90,
|
||||
"self_contained": true,
|
||||
"task_id": "task-2"
|
||||
},
|
||||
{
|
||||
"issues": [
|
||||
"reasons has fewer than 3 entries",
|
||||
"dependencyTaskIds not empty"
|
||||
],
|
||||
"score": 85,
|
||||
"self_contained": true,
|
||||
"task_id": "task-3"
|
||||
},
|
||||
{
|
||||
"issues": [
|
||||
"reasons has fewer than 3 entries",
|
||||
"dependencyTaskIds not empty"
|
||||
],
|
||||
"score": 85,
|
||||
"self_contained": true,
|
||||
"task_id": "task-4"
|
||||
}
|
||||
],
|
||||
"self_contained_count": 4,
|
||||
"top_issues": [
|
||||
"reasons has fewer than 3 entries",
|
||||
"dependencyTaskIds not empty"
|
||||
],
|
||||
"total_taskitems": 4,
|
||||
"warning_count": 0
|
||||
},
|
||||
"success": true
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
{"id":2,"jsonrpc":"2.0","result":{"content":[{"text":"{\n \"report\": {\n \"average_score\": 87.5,\n \"failing_count\": 0,\n \"results\": [\n {\n \"issues\": [\n \"reasons has fewer than 3 entries\"\n ],\n \"score\": 90,\n \"self_contained\": true,\n \"task_id\": \"task-1\"\n },\n {\n \"issues\": [\n \"reasons has fewer than 3 entries\"\n ],\n \"score\": 90,\n \"self_contained\": true,\n \"task_id\": \"task-2\"\n },\n {\n \"issues\": [\n \"reasons has fewer than 3 entries\",\n \"dependencyTaskIds not empty\"\n ],\n \"score\": 85,\n \"self_contained\": true,\n \"task_id\": \"task-3\"\n },\n {\n \"issues\": [\n \"reasons has fewer than 3 entries\",\n \"dependencyTaskIds not empty\"\n ],\n \"score\": 85,\n \"self_contained\": true,\n \"task_id\": \"task-4\"\n }\n ],\n \"self_contained_count\": 4,\n \"top_issues\": [\n \"reasons has fewer than 3 entries\",\n \"dependencyTaskIds not empty\"\n ],\n \"total_taskitems\": 4,\n \"warning_count\": 0\n },\n \"success\": true\n}","type":"text"}],"isError":false}}
|
||||
Reference in New Issue
Block a user