{
  "author": "Adrian Sutherland",
  "edition": "Version 1.0",
  "prepared": "2026-09",
  "copyright": "2005–2026 Adrian Sutherland",
  "diagrams": [
    {
      "id": "software-components",
      "title": "Inside the case service",
      "summary": "Responsibilities in the proposed software.",
      "kind": "graph",
      "nodes": [
        {
          "id": "input",
          "label": "Input adapter",
          "description": "Decodes requests and obtains authenticated caller context.",
          "x": 10,
          "y": 25
        },
        {
          "id": "handler",
          "label": "Transfer handler",
          "description": "Checks authority and repeat results; coordinates a new acceptance.",
          "x": 390,
          "y": 25
        },
        {
          "id": "rule",
          "label": "Transfer rule",
          "description": "Returns a plan or reason from supplied current facts; no external effects.",
          "x": 770,
          "y": 25
        },
        {
          "id": "summary",
          "label": "Summary workflow",
          "description": "Checks access to case facts and returns a proposal for source checking and human review.",
          "x": 10,
          "y": 300
        },
        {
          "id": "store",
          "label": "Transaction store",
          "description": "Applies the complete change only if the expected version is still current.",
          "x": 390,
          "y": 300
        },
        {
          "id": "relay",
          "label": "Notification relay",
          "description": "Sends committed pending work; records progress and handles retries.",
          "x": 770,
          "y": 300
        }
      ],
      "connections": [
        {
          "from": "input",
          "to": "handler",
          "label": "request"
        },
        {
          "from": "handler",
          "to": "rule",
          "label": "current facts"
        },
        {
          "from": "rule",
          "to": "handler",
          "label": "plan or reason"
        },
        {
          "from": "handler",
          "to": "store",
          "label": "conditional write"
        },
        {
          "from": "store",
          "to": "relay",
          "label": "committed work"
        },
        {
          "from": "input",
          "to": "summary",
          "label": "summary request"
        }
      ],
      "caption": "Selected logical interactions in SW-D1. Components do not imply separate deployments. The summary cannot accept ownership; acceptance uses SI-C01. Proposed design, unimplemented. New illustration by Adrian Sutherland, version 1.0, September 2026. © 2005–2026 Adrian Sutherland."
    },
    {
      "id": "software-cycles",
      "title": "Software decision cycles",
      "summary": "Design, implementation and learning.",
      "kind": "graph",
      "process_areas": true,
      "nodes": [
        {
          "id": "visioning",
          "label": "Visioning",
          "description": "Agree the behaviour and qualities the service needs.",
          "x": 20,
          "y": 340
        },
        {
          "id": "transforming",
          "label": "Transforming",
          "description": "Design components, change code or prompts and check their behaviour.",
          "x": 340,
          "y": 340
        },
        {
          "id": "operating",
          "label": "Operating",
          "description": "Investigate behaviour in use and retain the input and version context.",
          "x": 660,
          "y": 340
        },
        {
          "id": "governing",
          "label": "Governing",
          "description": "Set authority for shared rules, interfaces and acceptance.",
          "x": 340,
          "y": 25
        }
      ],
      "connections": [
        {
          "from": "visioning",
          "to": "transforming",
          "label": "direction"
        },
        {
          "from": "transforming",
          "to": "visioning",
          "label": "reconsider"
        },
        {
          "from": "transforming",
          "to": "operating",
          "label": "accepted change"
        },
        {
          "from": "operating",
          "to": "transforming",
          "label": "improvement"
        },
        {
          "from": "governing",
          "to": "visioning",
          "label": "priorities"
        },
        {
          "from": "governing",
          "to": "transforming",
          "label": "change authority"
        },
        {
          "from": "governing",
          "to": "operating",
          "label": "policy"
        },
        {
          "from": "operating",
          "to": "governing",
          "label": "findings"
        }
      ],
      "caption": "Version 1.0 · September 2026 · © 2005–2026 Adrian Sutherland. The arrows show selected exchanges and feedback. Work can repeat within any area or reopen a wider decision. Governing applies to direction, change and operation; the areas can overlap. Retain accepted decisions between cycles."
    }
  ]
}
