devloop-architect.json 4.09 KB
{
  "_doc": "1-unit (todo-be only) contract_mismatch scenario. seq[0]=init, seq[1]=patch (rev=2 + l2_rounds=1).",
  "sequence": [
    {
      "_variant": "init",
      "chunks": ["## SDD rev 1 + units.json (single unit: todo-be)\n"],
      "result": "mock-ok devloop-architect[init]: SDD rev 1",
      "files": [
        {
          "path": "sdd/index.html",
          "content": "<!doctype html><html><head><meta charset=\"utf-8\"><title>SDD</title></head><body><article data-doc=\"sdd\" data-rev=\"1\"><section data-rev=\"1\"><h3>SDD</h3><p>todo-be</p><table><tr><td>m</td></tr></table><pre>m</pre><svg></svg><div class=\"card\">x</div></section></article></body></html>"
        },
        {
          "path": "sdd/mvcp/control.html",
          "content": "<!doctype html><html><head><meta charset=\"utf-8\"><title>Control rev1</title></head><body><article data-doc=\"sdd\" data-rev=\"1\"><section data-rev=\"1\" data-unit-id=\"todo-be\"><h3>C-1 POST /todos</h3><p>201 on create (ambiguous on errors)</p><table><tr><td>text</td></tr></table><pre>POST</pre><svg></svg><div class=\"card\">v1</div></section></article></body></html>"
        },
        {
          "path": "units.json",
          "content": "{\n  \"project_id\": \"_placeholder_\",\n  \"rev\": 1,\n  \"prd_rev\": \"1\",\n  \"sdd_rev\": \"1\",\n  \"created_at\": \"2026-05-13T10:01:00.000Z\",\n  \"l2_rounds\": 0,\n  \"l2_budget\": 3,\n  \"units\": [\n    {\"id\":\"todo-be\",\"type\":\"be\",\"depends_on\":[],\"contract_hash\":\"sha256:0000000000000002\",\"status\":\"pending\",\"retries\":0,\"retry_budget\":3}\n  ]\n}\n"
        },
        {
          "path": "integration/spec.json",
          "content": "{\"rev\":1,\"cases\":[{\"id\":\"case-add\",\"involves\":[\"todo-be\"],\"steps\":[{\"unit\":\"todo-be\",\"call\":\"POST /todos\",\"body\":{\"text\":\"x\"},\"expect\":{\"status\":201}}]}]}"
        },
        {
          "path": "units/todo-be/spec.json",
          "content": "{\"unit_id\":\"todo-be\",\"kind\":\"be\",\"depends_on\":[],\"acceptance_criteria\":[\"POST /todos returns 201\",\"GET /todos returns array\",\"POST /todos empty returns 400\"]}"
        },
        {
          "path": "history/sdd-rev-001.html",
          "content": "<!doctype html><html><body><article data-doc=\"sdd\" data-rev=\"1\"><section data-rev=\"1\"><h3>snap1</h3><p>rev1</p></section></article></body></html>"
        }
      ]
    },
    {
      "_variant": "patch",
      "chunks": ["## Patch: SDD rev 2, units.json l2_rounds=1, todo-be status=pending\n"],
      "result": "mock-ok devloop-architect[patch]: SDD rev 2",
      "files": [
        {
          "path": "sdd/mvcp/control.html",
          "content": "<!doctype html><html><head><meta charset=\"utf-8\"><title>Control rev 2</title></head><body><article data-doc=\"sdd\" data-rev=\"2\"><section data-rev=\"2\" data-unit-id=\"todo-be\"><h3>C-1 POST /todos (clarified)</h3><p>201 on create; 400 on missing text</p><table><tr><td>text</td><td>required</td></tr></table><pre>POST</pre><svg></svg><div class=\"card\">v2</div></section></article></body></html>"
        },
        {
          "path": "sdd/index.html",
          "content": "<!doctype html><html><head><meta charset=\"utf-8\"><title>SDD rev2</title></head><body><article data-doc=\"sdd\" data-rev=\"2\"><section data-rev=\"2\"><h3>SDD</h3><p>rev 2</p><table><tr><td>m</td></tr></table><pre>m</pre><svg></svg><div class=\"card\">x</div></section></article></body></html>"
        },
        {
          "path": "units.json",
          "content": "{\n  \"project_id\": \"_placeholder_\",\n  \"rev\": 2,\n  \"prd_rev\": \"1\",\n  \"sdd_rev\": \"2\",\n  \"updated_at\": \"2026-05-13T10:05:00.000Z\",\n  \"l2_rounds\": 1,\n  \"l2_budget\": 3,\n  \"units\": [\n    {\"id\":\"todo-be\",\"type\":\"be\",\"depends_on\":[],\"contract_hash\":\"sha256:00000000000000aa\",\"status\":\"pending\",\"retries\":0,\"retry_budget\":3}\n  ]\n}\n"
        },
        {
          "path": "history/sdd-rev-002.html",
          "content": "<!doctype html><html><body><article data-doc=\"sdd\" data-rev=\"2\"><section data-rev=\"1\"><h3>snap2</h3><p>patch round 1</p></section></article></body></html>"
        }
      ]
    }
  ]
}