{
  "target": "R3a",
  "section": 3,
  "version": 1,
  "status": "authored design; implementation not authorized",
  "checklist-obligation": "- [ ] **R3a prediction error.** **PARTIAL:** current binding and source-to-consumer edges in the qualifying record; preserve hosting distinctions. Built evidence: Projection source and measured consumer evidence",
  "nodes": [
    {
      "id": "R3a-1",
      "pattern": "aif/term-to-channel-traceability",
      "source": "/home/joe/code/futon3/library/aif/term-to-channel-traceability.flexiarg",
      "source-sha256": "52abfe0cfb13aaa0f3236a15ba3b1657c8ad547fa35ffa62131ff5c187f47e2b",
      "reading-url": "#source-aif--term-to-channel-traceability",
      "title": "Pair comparable quantities",
      "application": "Identify predicted and observed quantities, units, domains and times. Produce an aligned pair from the same model/occurrence; comparing a terminal prediction with an intermediate measurement requires an explicit mapping.",
      "status": "authored application, not executed or independently accepted"
    },
    {
      "id": "R3a-2",
      "pattern": "aif/term-to-channel-traceability",
      "source": "/home/joe/code/futon3/library/aif/term-to-channel-traceability.flexiarg",
      "source-sha256": "52abfe0cfb13aaa0f3236a15ba3b1657c8ad547fa35ffa62131ff5c187f47e2b",
      "reading-url": "#source-aif--term-to-channel-traceability",
      "title": "Compute and locate the error",
      "application": "Apply the admitted residual or discrepancy definition and record its numeric semantics. Name source namespace, runtime host and catalogue node separately. Produce a residual receipt without silently replacing a categorical discrepancy by scalar subtraction.",
      "status": "authored application, not executed or independently accepted"
    },
    {
      "id": "R3a-3",
      "pattern": "wm-connected-learning/observation-to-next-choice",
      "source": "/home/joe/code/p4ng/wm-walkthroughs/collections/connected-learning/observation-to-next-choice.flexiarg",
      "source-sha256": "b0407ef81dea874d78bb7697042342d4d8023592a058d66e01e6fa4813186053",
      "reading-url": "/2026-09-15-wm-patterns-connected-learning.html#observation-to-next-choice",
      "title": "Bind the consumer",
      "application": "Retain the update/precision consumer and the actual residual value it reads. Produce source-to-host-to-consumer edges, including source and effective configuration identity. A second recomputation must demonstrate equivalence rather than rely on the same field name.",
      "status": "authored application, not executed or independently accepted"
    },
    {
      "id": "R3a-4",
      "pattern": "wm-connected-learning/observation-to-next-choice",
      "source": "/home/joe/code/p4ng/wm-walkthroughs/collections/connected-learning/observation-to-next-choice.flexiarg",
      "source-sha256": "b0407ef81dea874d78bb7697042342d4d8023592a058d66e01e6fa4813186053",
      "reading-url": "/2026-09-15-wm-patterns-connected-learning.html#observation-to-next-choice",
      "title": "Check the qualifying occurrence",
      "application": "Join those edges into the same-run record and retain the independent observation. Distinguish a valid zero residual from absent evidence and show how an applicable nonzero residual reaches its consumer.",
      "status": "authored application, not executed or independently accepted"
    }
  ],
  "relations": [
    {
      "from": "R3a-1",
      "to": "R3a-2",
      "kind": "requires-result",
      "because": "Comparable inputs make the error meaningful."
    },
    {
      "from": "R3a-2",
      "to": "R3a-3",
      "kind": "requires-result",
      "because": "The computed residual and hosting identity must reach the named consumer."
    },
    {
      "from": "R3a-3",
      "to": "R3a-4",
      "kind": "requires-result",
      "because": "Consumer evidence belongs to the occurrence being qualified."
    },
    {
      "from": "R3a-4",
      "to": "R3a-1",
      "kind": "revision-feedback",
      "because": "A failed distinguishing control or consumer mismatch reopens the original scope/meaning; retain the failed claim rather than weakening it. Relevant controls: Reject timestamp mismatch, absent observation converted to zero, wrong units and an unused residual. Include both zero and nonzero valid pairs."
    }
  ],
  "dependencies": [
    "R2",
    "R3",
    "R7",
    "TRACE"
  ],
  "worked-situation": "A dashboard shows zero because a missing observation was replaced by the prediction. A real zero from matching independent evidence is different. The error record and consumer must distinguish them even if the displayed number agrees.",
  "distinguishing-controls": "Reject timestamp mismatch, absent observation converted to zero, wrong units and an unused residual. Include both zero and nonzero valid pairs.",
  "open-decisions-and-limits": "Hosting reconciliation follows the catalogue and current source; do not relocate a node merely to match a drawing.",
  "sources": [
    {
      "file": "/home/joe/code/p4ng/CHECKLIST-fundamentals.md",
      "sha256": "751ccfb00e4865c63734ac5147b9e6df66b48ee9697a7e20869d97a11467b81b",
      "scope": "dated source; statements retain their own authority and limits"
    },
    {
      "file": "/home/joe/code/futon2/holes/DESIGN-REQUIREMENTS-apex-2026-09-09.md",
      "sha256": "79228ad2299e639b427592f2eb24d4a80fadb9891271ca4bfe1211bf0a27f21c",
      "scope": "dated source; statements retain their own authority and limits"
    },
    {
      "file": "/home/joe/code/futon2/holes/labs/wm-contract/RULINGS-walkthrough-2026-09-07.md",
      "sha256": "e8034618d4677ccb3a2d14f4bae8f470d5499968fabebe2ee6446c516f4ea6b3",
      "scope": "dated source; statements retain their own authority and limits"
    },
    {
      "file": "/home/joe/code/futon2/holes/labs/wm-contract/RULINGS-walkthrough-2026-09-09.md",
      "sha256": "94222af425799985990929fd71e8dccf988ef4ced29958a96a188198964059c7",
      "scope": "dated source; statements retain their own authority and limits"
    },
    {
      "file": "/home/joe/code/futon2/holes/labs/wm-contract/RULINGS-walkthrough-2026-09-12.md",
      "sha256": "9a20cbb57e57c9c9f5c3c19e67be663de1b7f779d45b92734b01f48c53a575e0",
      "scope": "dated source; statements retain their own authority and limits"
    },
    {
      "file": "/home/joe/code/futon2/holes/labs/wm-contract/SPEC-cascade-policy-semantics-2026-09-15.md",
      "sha256": "2744a5c013a787b521b01849326a2216c477f839bf364c4920ac348391003334",
      "scope": "dated source; statements retain their own authority and limits"
    },
    {
      "file": "/home/joe/code/futon2/holes/labs/wm-contract/COMPLETION-LIST-plop2026-2026-09-12.md",
      "sha256": "cdb06820677265ee4649a6324824fffd570c4a9710cce97717b028124fdf0d20",
      "scope": "dated source; statements retain their own authority and limits"
    },
    {
      "file": "/home/joe/code/futon2/holes/labs/wm-contract/TN-row20-census-2026-09-12.md",
      "sha256": "dc7cec13147578130a875c0541c80dba65d3ffc1c21f4abf149b641d92b1a22c",
      "scope": "dated source; statements retain their own authority and limits"
    },
    {
      "file": "/home/joe/code/futon3c/holes/excursions/apex-thesis.json",
      "sha256": "4288034fd4bb9ab69c13a3744130446f90da9520806f2835940691726fc3c87d",
      "scope": "dated source; statements retain their own authority and limits"
    }
  ],
  "authored-content-sha256": "6ad6935c9196b751960a66e891a5ec562bbc77543e68999722b11b16e31e6b6f"
}
