{
  "schema": "naguard.reality-loop.protocol.v1",
  "frozenAt": "2026-10-16T08:30:15.626Z",
  "clientDate": "2026-10-16",
  "question": "Can valid completed release-check tasks be reused after this controller child exits, and can an observed local-link defect be repaired and reverified?",
  "inputManifestSha256": "9ab497d23c3666de82f2851f00c9cf52cc96e65fe1aa6d46be98726f80eab442",
  "tasks": [
    "index.html",
    "overview.html",
    "scheduling.html",
    "workpod.html",
    "app.js",
    "dock-engine.js",
    "dock-ui.js",
    "engine.js",
    "fault-engine.js",
    "fault-ui.js",
    "research.js",
    "scheduling-ui.js",
    "workpod-ui.js",
    "dock.css",
    "fault.css",
    "overview.css",
    "scheduling.css",
    "style.css",
    "workpod.css",
    "assets/dock-concept.svg",
    "assets/mark.svg",
    "assets/workpod-concept.svg",
    "evidence/checkpoint_demo.py",
    "evidence/checkpoint_result.json",
    "evidence/fault-model-results.json",
    "evidence/metrics.json",
    "evidence/naguard-scheduling-v2.zip",
    "evidence/naguard-scheduling.zip",
    "evidence/naguard-workpod.zip",
    "evidence/progress-08.json",
    "evidence/progress-09.json",
    "evidence/progress-10.json",
    "evidence/project-overview-browser-verification.json",
    "evidence/project-overview-review.md",
    "evidence/project-overview.json",
    "evidence/project-overview.txt",
    "evidence/scheduling-browser-verification.json",
    "evidence/scheduling-input-manifest.json",
    "evidence/scheduling-protocol.json",
    "evidence/scheduling-readme.md",
    "evidence/scheduling-results.json",
    "evidence/scheduling-review.md",
    "evidence/scheduling-v2-browser-verification.json",
    "evidence/scheduling-v2-input-manifest.json",
    "evidence/scheduling-v2-protocol-difference.json",
    "evidence/scheduling-v2-protocol.json",
    "evidence/scheduling-v2-readme.md",
    "evidence/scheduling-v2-results.json",
    "evidence/scheduling-v2-review.md",
    "evidence/scheduling-v2-verification.json",
    "evidence/scheduling-verification.json",
    "evidence/workpod-browser-verification.json",
    "evidence/workpod-demo.json",
    "evidence/workpod-readme.md",
    "evidence/workpod-thumbnails/sample-001.bmp",
    "evidence/workpod-thumbnails/sample-002.bmp",
    "evidence/workpod-thumbnails/sample-003.bmp",
    "evidence/workpod-thumbnails/sample-004.bmp",
    "evidence/workpod-thumbnails/sample-005.bmp",
    "evidence/workpod-thumbnails/sample-006.bmp",
    "evidence/workpod-thumbnails/sample-007.bmp",
    "evidence/workpod-thumbnails/sample-008.bmp",
    "evidence/workpod-thumbnails/sample-009.bmp",
    "evidence/workpod-thumbnails/sample-010.bmp",
    "evidence/workpod-thumbnails/sample-011.bmp",
    "evidence/workpod-thumbnails/sample-012.bmp",
    "evidence/workpod-verification.json"
  ],
  "taskOrder": "HTML first, JavaScript second, CSS third, others integrity only; alphabetical within class",
  "code": [
    {
      "path": "common.cjs",
      "sha256": "f4f74c7b8f8dfbb98bc096738b0c0f9d7b5833ee605655ebd8ea0c5ba57c763b"
    },
    {
      "path": "checker.cjs",
      "sha256": "5ba90d4aa2864a80066d292d93de35c0bfd696913139b1a600bf85a9360ff5d2"
    },
    {
      "path": "worker.cjs",
      "sha256": "825b4b8c7ff638985197ffcccc33a6a90000acc2e7c2879e8110bab51daa0c1c"
    },
    {
      "path": "run.cjs",
      "sha256": "513d986685c129551d0a7ee2c2e90570582738249f8826f61b58ed6631155c37"
    },
    {
      "path": "verify.cjs",
      "sha256": "c02e90417d3f37048b307a50c240bbb8e7cab4fdcf25e961e70507ca120f6c79"
    },
    {
      "path": "freeze.cjs",
      "sha256": "632a19a110610eed10fa160556d2ce08feb8f435ebcdba69db47ddefbd5ea777"
    }
  ],
  "allowedCaseManifestSha256": [
    "9ab497d23c3666de82f2851f00c9cf52cc96e65fe1aa6d46be98726f80eab442",
    "23fd5a7a275c30e0fa63810c33efc0d349f18ce593cc73022430ea08218f4632",
    "50cf2d55711b489212af7b7c13902e293b6657c727c0122177bf6a982014df66"
  ],
  "reference": "one uninterrupted run",
  "comparison": {
    "methods": [
      "plain",
      "checkpoint"
    ],
    "interruptAfterCompleted": 4,
    "exitCode": 75,
    "repeats": 1,
    "checkpoint": "after each task; temporary file then rename before intentional exit; no fsync or physical durability guarantee",
    "fairness": "Same 67-file frozen closure, task order, checker, diagnostics, quality; plain discards prior completed results on restart; checkpoint validates then reuses"
  },
  "repair": {
    "injection": "\n<link rel=\"stylesheet\" href=\"__naguard_injected_missing_20261016.css\">\n",
    "defect": "predeclared missing local CSS in isolated index.html copy",
    "fix": "known original index.html bytes copied from immutable source snapshot",
    "expectedRepairManifestSha256": "50cf2d55711b489212af7b7c13902e293b6657c727c0122177bf6a982014df66"
  },
  "checkerScope": [
    "HTML quoted href/src/poster on a/link/script/img/iframe/source/video/audio; local relative targets and quoted HTML ids",
    "JS vm.Script parse only, scripts not executed; not module or browser-runtime validation",
    "CSS url() local target existence; not full CSS grammar or @import-string parser",
    "Other file types integrity only; external URLs counted but not fetched",
    "No DOM, HTTP, deployment, content semantics, security audit, real energy or performance claim"
  ],
  "predeclaredOutcomes": [
    "Final diagnostics must equal uninterrupted report",
    "Plain must repeat first 4 task attempts; checkpoint should reuse 4 after durable-by-process checkpoint write",
    "Input changes or malformed checkpoint must reject reuse before attempts",
    "Faulty case should diagnose named missing CSS; known-byte repair should match baseline diagnostics"
  ]
}
