{
  "schemaVersion": 1,
  "id": "ops-guide",
  "title": "Step-by-Step",
  "audience": "Operators following a full Docker installation, configuration choices and ongoing administration",
  "maxDurationSeconds": 1800,
  "contentSha256": "b8fff2673d509a4289db43c80e4da86e789c4f3af94691eaed3edeb0df2cada6",
  "sourcePages": [
    {
      "path": "apps/docs/content/architecture/operations/docker-demo.mdx",
      "sha256": "fa260f2d1e594ba426b69a72506728325551465f77cd97175cab16886b0f42a7",
      "scenes": [
        "s25"
      ]
    },
    {
      "path": "apps/docs/content/data/formats/documents.mdx",
      "sha256": "239c70e3096ad4129e2b8a25de0b089f9ebc46c2e00955bac26c60c22e26e2ef",
      "scenes": [
        "s14"
      ]
    },
    {
      "path": "apps/docs/content/data/formats/interview.mdx",
      "sha256": "a3250f32596b2e56e1cc763fa6d64a1bd1d466d3ce0affbdda330bea164e8c22",
      "scenes": [
        "s13"
      ]
    },
    {
      "path": "apps/docs/content/data/formats/orgchart.mdx",
      "sha256": "19c28e12cb87d5f075d4d8b89a0687c6f500d64b835b4a76e939affa236d9018",
      "scenes": [
        "s13"
      ]
    },
    {
      "path": "apps/docs/content/data/formats/telemetry.mdx",
      "sha256": "14caa6070ae06d7202a909c4c8e5d414152a04cc158650b494e0414e837db091",
      "scenes": [
        "s15"
      ]
    },
    {
      "path": "apps/docs/content/installation/index.mdx",
      "sha256": "eb370e279b6066312ccece6d4cc21dc3572ff0e10ea7d037535055446d5e4355",
      "scenes": [
        "s00",
        "s04",
        "s07",
        "s10",
        "s25",
        "s23"
      ]
    },
    {
      "path": "apps/docs/content/installation/quick-start.mdx",
      "sha256": "df6ef31e279711caa8aecd7d1ba06eaa29148572a7ada58b88850cc4c59dba28",
      "scenes": [
        "s01",
        "s03",
        "s05",
        "s06",
        "s08",
        "s09",
        "s10"
      ]
    },
    {
      "path": "apps/docs/content/installation/remote.mdx",
      "sha256": "14e89d9a6387d10edf99a5a23be74d9b22ba6052bcb7b33c2cd1844c399c4961",
      "scenes": [
        "s03"
      ]
    },
    {
      "path": "apps/docs/content/installation/settings.mdx",
      "sha256": "505300e49f5fa756839f6a2d84d80050ea0d1e274790a1099634369bb7818a39",
      "scenes": [
        "s02",
        "s05",
        "s06",
        "s07",
        "s25"
      ]
    },
    {
      "path": "apps/docs/content/manuals/operations-manual.mdx",
      "sha256": "013816836099e8910e4e31b8011aaec0ff489a5cccf2aedd97c839093d6d095a",
      "scenes": [
        "s00",
        "s01",
        "s02",
        "s03",
        "s04",
        "s08",
        "s09",
        "s10",
        "s25",
        "s11",
        "s12",
        "s13",
        "s14",
        "s15",
        "s16",
        "s17",
        "s18",
        "s19",
        "s20",
        "s21",
        "s22",
        "s23",
        "s24"
      ]
    },
    {
      "path": "apps/docs/content/operating/administration.mdx",
      "sha256": "04ccc0f9a7fd96d1e2237082d2ff216b2f7892196f9accd88acf9764f08e74e6",
      "scenes": [
        "s11",
        "s12",
        "s20",
        "s21",
        "s22"
      ]
    },
    {
      "path": "apps/docs/content/operating/backup-restore.mdx",
      "sha256": "b72d98bb359bfbe51c48e052baa4643723d755dfa59f8270ca5a87882c2dbaf1",
      "scenes": [
        "s23"
      ]
    },
    {
      "path": "apps/docs/content/operating/day-one-agents.mdx",
      "sha256": "b08a6a9721974eb7ff8a54e9ddeb47558e5a3b051d8c38a03f565a6cb7192cb7",
      "scenes": [
        "s17",
        "s18",
        "s19"
      ]
    },
    {
      "path": "apps/docs/content/operating/operator-shell.mdx",
      "sha256": "73271436cf37a0996fea94f8042243ac16fde6cc6bf817f7f5b32e55bee82c98",
      "scenes": [
        "s11",
        "s12"
      ]
    },
    {
      "path": "apps/docs/content/operating/troubleshooting.mdx",
      "sha256": "24d21f5c7e6fe18dfd4b806617868d5fee984fc7e1e75e229f1dbc5c6ad9160a",
      "scenes": [
        "s09",
        "s24"
      ]
    },
    {
      "path": "apps/docs/content/using/activity-log.mdx",
      "sha256": "b85e8aab061effd3aa16b429ffc1c73581c1d96b582692a80f28414baf2f828b",
      "scenes": [
        "s20"
      ]
    },
    {
      "path": "apps/docs/content/using/ai-agents.mdx",
      "sha256": "c229b1ff19598730d14dcf1a01b881678b66b84ee2d4f76ca3a3d7c76de66f2e",
      "scenes": [
        "s17",
        "s18",
        "s19"
      ]
    },
    {
      "path": "apps/docs/content/using/car.mdx",
      "sha256": "e7cc17c328a0612dea71ce9edfbc27a61e39637ae025e0a4ebdaae368712d7c1",
      "scenes": [
        "s16"
      ]
    },
    {
      "path": "apps/docs/content/using/evidence-and-proof.mdx",
      "sha256": "fb7fa409123ef99d15e21e038e7e397dc058eccf923dfe9b7b45c168230c3a01",
      "scenes": [
        "s15"
      ]
    },
    {
      "path": "apps/docs/content/using/knowledge.mdx",
      "sha256": "738ac9c2319ebe14942ca2369e9b7ccd89be2d89403306bcad12f8c669c7489a",
      "scenes": [
        "s14"
      ]
    }
  ],
  "diagrams": [],
  "screenshots": [
    {
      "path": "apps/docs/public/manuals/screenshots/activity-log.png",
      "sha256": "87bc1c3385d87029981f8b7d4da9f434148b7b551e80e70cc3ae2cf6d0734f48",
      "scenes": [
        "s21"
      ]
    },
    {
      "path": "apps/docs/public/manuals/screenshots/ai-agents.png",
      "sha256": "52a75f5bb9398eef267a4d42ec5604b40745d6db467fd2da56ec21a0d56c3ccf",
      "scenes": [
        "s17"
      ]
    },
    {
      "path": "apps/docs/public/manuals/screenshots/car.png",
      "sha256": "11a391d3cb818710886b95b65e968d8a6f0724489c4ebc4ef44b197aa964b359",
      "scenes": [
        "s16"
      ]
    },
    {
      "path": "apps/docs/public/manuals/screenshots/login.png",
      "sha256": "14cb1a29a25a7d202c47838ec69c93e5f687dd7178aeee600f62281cfeb023fd",
      "scenes": [
        "s08"
      ]
    },
    {
      "path": "apps/docs/public/manuals/screenshots/map-team-evidence.png",
      "sha256": "dbc2441de42e0985ee614a0ea76c1df3d001f5354173129bb1bba23d00a825dd",
      "scenes": [
        "s15"
      ]
    },
    {
      "path": "apps/docs/public/manuals/screenshots/operations-2.png",
      "sha256": "396ab359a3fd41ecb9c226cba247cc996662ad7c36e57e58261c5bf54aafa329",
      "scenes": [
        "s13"
      ]
    },
    {
      "path": "apps/docs/public/manuals/screenshots/operations-3.png",
      "sha256": "ea7711b5458b2b53d47bf9cb08e89f0818b715bf9b77f79de52582b36ea8f9b3",
      "scenes": [
        "s20"
      ]
    },
    {
      "path": "apps/docs/public/screenshots/ai-agents-fleet.png",
      "sha256": "f7f84cff5487536fda1b25f02aef38acef4ba63916e8d36198787f53a4f18213",
      "scenes": [
        "s19"
      ]
    },
    {
      "path": "apps/docs/public/screenshots/ai-agents-remit.png",
      "sha256": "5896230e23031a417c08868520119797926bb9a49139e8c0cd7dad45152f5846",
      "scenes": [
        "s18"
      ]
    }
  ],
  "scenes": [
    {
      "id": "s00",
      "chapter": "Install the Docker demo",
      "sourcePages": [
        "apps/docs/content/installation/index.mdx",
        "apps/docs/content/manuals/operations-manual.mdx"
      ],
      "diagram": null
    },
    {
      "id": "s01",
      "chapter": "Install the Docker demo",
      "sourcePages": [
        "apps/docs/content/installation/quick-start.mdx",
        "apps/docs/content/manuals/operations-manual.mdx"
      ],
      "diagram": null
    },
    {
      "id": "s02",
      "chapter": "Install the Docker demo",
      "sourcePages": [
        "apps/docs/content/installation/settings.mdx",
        "apps/docs/content/manuals/operations-manual.mdx"
      ],
      "diagram": null
    },
    {
      "id": "s03",
      "chapter": "Install the Docker demo",
      "sourcePages": [
        "apps/docs/content/installation/remote.mdx",
        "apps/docs/content/installation/quick-start.mdx",
        "apps/docs/content/manuals/operations-manual.mdx"
      ],
      "diagram": null
    },
    {
      "id": "s04",
      "chapter": "Install the Docker demo",
      "sourcePages": [
        "apps/docs/content/installation/index.mdx",
        "apps/docs/content/manuals/operations-manual.mdx"
      ],
      "diagram": null
    },
    {
      "id": "s05",
      "chapter": "Install the Docker demo",
      "sourcePages": [
        "apps/docs/content/installation/settings.mdx",
        "apps/docs/content/installation/quick-start.mdx"
      ],
      "diagram": null
    },
    {
      "id": "s06",
      "chapter": "Install the Docker demo",
      "sourcePages": [
        "apps/docs/content/installation/settings.mdx",
        "apps/docs/content/installation/quick-start.mdx"
      ],
      "diagram": null
    },
    {
      "id": "s07",
      "chapter": "Install the Docker demo",
      "sourcePages": [
        "apps/docs/content/installation/settings.mdx",
        "apps/docs/content/installation/index.mdx"
      ],
      "diagram": null
    },
    {
      "id": "s08",
      "chapter": "Install the Docker demo",
      "sourcePages": [
        "apps/docs/content/installation/quick-start.mdx",
        "apps/docs/content/manuals/operations-manual.mdx"
      ],
      "diagram": null
    },
    {
      "id": "s09",
      "chapter": "Install the Docker demo",
      "sourcePages": [
        "apps/docs/content/installation/quick-start.mdx",
        "apps/docs/content/operating/troubleshooting.mdx",
        "apps/docs/content/manuals/operations-manual.mdx"
      ],
      "diagram": null
    },
    {
      "id": "s10",
      "chapter": "Install the Docker demo",
      "sourcePages": [
        "apps/docs/content/installation/quick-start.mdx",
        "apps/docs/content/installation/index.mdx",
        "apps/docs/content/manuals/operations-manual.mdx"
      ],
      "diagram": null
    },
    {
      "id": "s25",
      "chapter": "Docker configuration choices",
      "sourcePages": [
        "apps/docs/content/installation/index.mdx",
        "apps/docs/content/installation/settings.mdx",
        "apps/docs/content/architecture/operations/docker-demo.mdx",
        "apps/docs/content/manuals/operations-manual.mdx"
      ],
      "diagram": null
    },
    {
      "id": "s11",
      "chapter": "Accounts and organisation import",
      "sourcePages": [
        "apps/docs/content/operating/operator-shell.mdx",
        "apps/docs/content/operating/administration.mdx",
        "apps/docs/content/manuals/operations-manual.mdx"
      ],
      "diagram": null
    },
    {
      "id": "s12",
      "chapter": "Accounts and organisation import",
      "sourcePages": [
        "apps/docs/content/operating/operator-shell.mdx",
        "apps/docs/content/operating/administration.mdx",
        "apps/docs/content/manuals/operations-manual.mdx"
      ],
      "diagram": null
    },
    {
      "id": "s13",
      "chapter": "Accounts and organisation import",
      "sourcePages": [
        "apps/docs/content/data/formats/orgchart.mdx",
        "apps/docs/content/data/formats/interview.mdx",
        "apps/docs/content/manuals/operations-manual.mdx"
      ],
      "diagram": null
    },
    {
      "id": "s14",
      "chapter": "Knowledge and measured evidence",
      "sourcePages": [
        "apps/docs/content/using/knowledge.mdx",
        "apps/docs/content/data/formats/documents.mdx",
        "apps/docs/content/manuals/operations-manual.mdx"
      ],
      "diagram": null
    },
    {
      "id": "s15",
      "chapter": "Knowledge and measured evidence",
      "sourcePages": [
        "apps/docs/content/data/formats/telemetry.mdx",
        "apps/docs/content/using/evidence-and-proof.mdx",
        "apps/docs/content/manuals/operations-manual.mdx"
      ],
      "diagram": null
    },
    {
      "id": "s16",
      "chapter": "Knowledge and measured evidence",
      "sourcePages": [
        "apps/docs/content/using/car.mdx",
        "apps/docs/content/manuals/operations-manual.mdx"
      ],
      "diagram": null
    },
    {
      "id": "s17",
      "chapter": "Agents and stewardship",
      "sourcePages": [
        "apps/docs/content/using/ai-agents.mdx",
        "apps/docs/content/operating/day-one-agents.mdx",
        "apps/docs/content/manuals/operations-manual.mdx"
      ],
      "diagram": null
    },
    {
      "id": "s18",
      "chapter": "Agents and stewardship",
      "sourcePages": [
        "apps/docs/content/using/ai-agents.mdx",
        "apps/docs/content/operating/day-one-agents.mdx",
        "apps/docs/content/manuals/operations-manual.mdx"
      ],
      "diagram": null
    },
    {
      "id": "s19",
      "chapter": "Agents and stewardship",
      "sourcePages": [
        "apps/docs/content/using/ai-agents.mdx",
        "apps/docs/content/operating/day-one-agents.mdx",
        "apps/docs/content/manuals/operations-manual.mdx"
      ],
      "diagram": null
    },
    {
      "id": "s20",
      "chapter": "Agents and stewardship",
      "sourcePages": [
        "apps/docs/content/operating/administration.mdx",
        "apps/docs/content/using/activity-log.mdx",
        "apps/docs/content/manuals/operations-manual.mdx"
      ],
      "diagram": null
    },
    {
      "id": "s21",
      "chapter": "Agents and stewardship",
      "sourcePages": [
        "apps/docs/content/operating/administration.mdx",
        "apps/docs/content/manuals/operations-manual.mdx"
      ],
      "diagram": null
    },
    {
      "id": "s22",
      "chapter": "Notifications and recovery",
      "sourcePages": [
        "apps/docs/content/operating/administration.mdx",
        "apps/docs/content/manuals/operations-manual.mdx"
      ],
      "diagram": null
    },
    {
      "id": "s23",
      "chapter": "Notifications and recovery",
      "sourcePages": [
        "apps/docs/content/operating/backup-restore.mdx",
        "apps/docs/content/installation/index.mdx",
        "apps/docs/content/manuals/operations-manual.mdx"
      ],
      "diagram": null
    },
    {
      "id": "s24",
      "chapter": "Notifications and recovery",
      "sourcePages": [
        "apps/docs/content/operating/troubleshooting.mdx",
        "apps/docs/content/manuals/operations-manual.mdx"
      ],
      "diagram": null
    }
  ],
  "visualAssets": {
    "style": "Novus navy, paper and blue; product screenshots with authored action lines; Docker command screens",
    "photography": "none",
    "fonts": [
      "Source Sans 3",
      "Source Serif 4"
    ],
    "diagramSkill": ".claude/skills/diagram-design/SKILL.md"
  },
  "generation": {
    "referenceProject": "Novus-i2/novus-video",
    "renderer": "scripts/docs-videos/tutorial.mjs + screenshot-slides.mjs + apps/docs/videos/shared/film.js",
    "frame": {
      "width": 1920,
      "height": 1080,
      "fps": 30
    },
    "voiceDefault": {
      "provider": "openrouter",
      "model": "heygen/heygen-voice-1",
      "voice": "tabitha",
      "responseFormat": "pcm",
      "pcmEncoding": "s16le",
      "sampleRate": 44100,
      "channels": 1,
      "mp3Bitrate": "192k",
      "pronunciation": "Replace NovusLens with Novus Lens before speech synthesis",
      "maxInputCharacters": 5000,
      "timing": "Whisper word timestamps"
    },
    "captions": "burned-in phrase captions plus captions.vtt",
    "commands": {
      "refresh": "node scripts/docs-videos/ops-motion.mjs manifest --video ops-guide --provider openrouter",
      "regenerate": "node scripts/docs-videos/ops-motion.mjs voice --video ops-guide --provider openrouter; node scripts/docs-videos/ops-motion.mjs timeline --video ops-guide; node scripts/docs-videos/ops-motion.mjs stills --video ops-guide; node scripts/docs-videos/ops-motion.mjs render --video ops-guide"
    },
    "motionRenderer": "scripts/docs-videos/ops-motion.mjs"
  },
  "sourceReviews": [
    {
      "reviewedAt": "2026-10-15T14:37:24.110Z",
      "reviewRevision": "ded32e5bbac17f4558ccd78c849f3888fc04a479",
      "mergedRevision": "0c36e3ca9ff59b5a0eb5880aa8a3279accf119b0",
      "contentSha256": "4962d4feff58360e59e0026bdad85b3ac130160335e859f423e0a433182ac7b3",
      "checkedSceneIds": [
        "s00",
        "s01",
        "s02",
        "s03",
        "s04",
        "s05",
        "s06",
        "s07",
        "s19",
        "s20"
      ],
      "sourcePages": [
        {
          "path": "apps/docs/content/operating/docker-demo.mdx",
          "sha256": "2f185bc106d2d5a78fa537f2030f94b1f0dd6022e2f840717826099ae93abc1c",
          "scenes": [
            "s00",
            "s01",
            "s02",
            "s03",
            "s04",
            "s05",
            "s06",
            "s07",
            "s19",
            "s20"
          ]
        }
      ],
      "reviewedDocumentation": [
        {
          "path": "apps/docs/content/architecture/operations/docker-demo.mdx",
          "sha256": "2b7726a1c1b7b9022e8ad0839b87fcaaba3e2b8f15ab0f28ad02e59a6c5ebcfe"
        },
        {
          "path": "apps/docs/content/operating/docker-demo.mdx",
          "sha256": "2f185bc106d2d5a78fa537f2030f94b1f0dd6022e2f840717826099ae93abc1c"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "conclusion": "Separate review of the affected scenes preserves the advisory boundary, fictional example labels, retained primary stores and scoped release evidence. The model metadata check does not establish inference quality or customer acceptance."
      },
      "audienceReadability": {
        "status": "pass",
        "conclusion": "The first run chooses no models. Scene s04 already shows Docs then Product Guide. Scene s05 explicitly requires repairing the named cause before resume, which remains accurate for the new model-version recovery link. Configuration, journals, volumes and separate recovery planning remain supported. No scene names an Ollama version or identifies network repair as an HTTP 412 remedy."
      },
      "mediaUnchanged": true,
      "mp4Sha256": "79aa5fedbcf04ef8012043f0b929317f0bde1c64b3fb263d2e1dfc0ee6e9ed59",
      "scriptSha256": "79b1ba7358a7397328f5acad5dd9308aef3ebfde18d100c1d6b028674320dbcb",
      "limitations": [
        "Source-meaning review of the two merged Docker pages and their mapped scenes only; unmapped films were checked for source references and conflicting recovery/version claims.",
        "No new rendering, speech, listening, visual playback assessment, model inference or Docker deployment was performed. Existing delivery and media reviews remain tied to the unchanged film bytes.",
        "Dependency hashes include the merged working-tree documentation bytes. reviewRevision is the pre-merge Git HEAD; mergedRevision identifies the incoming history."
      ]
    },
    {
      "reviewed": "2026-10-15",
      "sourceSnapshot": "bf2f088c2d0712764a36e51d6f5b6db293a0dffb",
      "sources": [
        {
          "path": "apps/docs/content/operating/docker-demo.mdx",
          "sha256": "a25bf220350bd37f0ecf9b0050db7f4fe523a072093db9bc6094e32f39cee3f6",
          "scenes": [
            "s00",
            "s01",
            "s02",
            "s03",
            "s04",
            "s05",
            "s06",
            "s07",
            "s08",
            "s09",
            "s10",
            "s11",
            "s23",
            "s24"
          ]
        },
        {
          "path": "apps/docs/content/using/activity-log.mdx",
          "sha256": "f8137f9018b7ed1512947bc319c5e46db17154fe975440f939111472290061ed",
          "scenes": [
            "s20"
          ]
        },
        {
          "path": "apps/docs/content/using/car.mdx",
          "sha256": "a09cb6a5b76f70545e9dd8d3f022c958415ea207a738027c014e4f438a1fbe54",
          "scenes": [
            "s16"
          ]
        },
        {
          "path": "apps/docs/content/using/evidence-and-proof.mdx",
          "sha256": "a08208368758301d7b9a087a9ac8620adcf3afdfabe264a0abc4a2008b2741f1",
          "scenes": [
            "s15"
          ]
        },
        {
          "path": "apps/docs/content/using/knowledge.mdx",
          "sha256": "899b9b0851e9573136e8b0c4f983c5f2eb33a2dbe152316c21f2520b280ec361",
          "scenes": [
            "s14"
          ]
        }
      ],
      "screenshots": [
        {
          "path": "apps/docs/public/manuals/screenshots/activity-log.png",
          "sha256": "87bc1c3385d87029981f8b7d4da9f434148b7b551e80e70cc3ae2cf6d0734f48",
          "scenes": [
            "s21"
          ]
        },
        {
          "path": "apps/docs/public/manuals/screenshots/ai-agents.png",
          "sha256": "52a75f5bb9398eef267a4d42ec5604b40745d6db467fd2da56ec21a0d56c3ccf",
          "scenes": [
            "s17"
          ]
        },
        {
          "path": "apps/docs/public/manuals/screenshots/car.png",
          "sha256": "11a391d3cb818710886b95b65e968d8a6f0724489c4ebc4ef44b197aa964b359",
          "scenes": [
            "s16"
          ]
        },
        {
          "path": "apps/docs/public/manuals/screenshots/login.png",
          "sha256": "14cb1a29a25a7d202c47838ec69c93e5f687dd7178aeee600f62281cfeb023fd",
          "scenes": [
            "s08"
          ]
        },
        {
          "path": "apps/docs/public/manuals/screenshots/map-team-evidence.png",
          "sha256": "dbc2441de42e0985ee614a0ea76c1df3d001f5354173129bb1bba23d00a825dd",
          "scenes": [
            "s15"
          ]
        },
        {
          "path": "apps/docs/public/manuals/screenshots/operations-2.png",
          "sha256": "396ab359a3fd41ecb9c226cba247cc996662ad7c36e57e58261c5bf54aafa329",
          "scenes": [
            "s13"
          ]
        },
        {
          "path": "apps/docs/public/manuals/screenshots/operations-3.png",
          "sha256": "ea7711b5458b2b53d47bf9cb08e89f0818b715bf9b77f79de52582b36ea8f9b3",
          "scenes": [
            "s20"
          ]
        },
        {
          "path": "apps/docs/public/screenshots/ai-agents-fleet.png",
          "sha256": "f7f84cff5487536fda1b25f02aef38acef4ba63916e8d36198787f53a4f18213",
          "scenes": [
            "s19"
          ]
        },
        {
          "path": "apps/docs/public/screenshots/ai-agents-remit.png",
          "sha256": "5896230e23031a417c08868520119797926bb9a49139e8c0cd7dad45152f5846",
          "scenes": [
            "s18"
          ]
        }
      ],
      "checkedSceneIds": [
        "s00",
        "s01",
        "s02",
        "s03",
        "s04",
        "s05",
        "s06",
        "s07",
        "s08",
        "s09",
        "s10",
        "s11",
        "s12",
        "s13",
        "s14",
        "s15",
        "s16",
        "s17",
        "s18",
        "s19",
        "s20",
        "s21",
        "s22",
        "s23",
        "s24"
      ],
      "frameworkIntegrity": "Separate review of all 25 narrations, command/action lines and changed Docker demo source. Evidence levels, incomplete remit, withheld findings, Docker persistence/recovery limitations and advisory boundary remain accurate. No narrated counts contradict the new fictional captures.",
      "audienceReadability": "Separate review of9screenshot inputs against the cited pages and named controls. Existing spoken Guide means Product Guide destination, reached through Docs; mobile Account menu uses Documentation. No obsolete horizontal navigation is narrated. Commands and16unchanged command scenes are retained.",
      "result": "Regenerated final screenshot stills and encoded film; all 25 stills and required encoded samples reviewed. Approved audio reused unchanged. Current hashed format/audio/browser and delivery reviews pass; human voice listening remains unassessed."
    },
    {
      "reviewed": "2026-10-15",
      "reviewRevision": "85f5b0cdce6d9f07e905a13e45048e18e36f7df9",
      "sourceSnapshot": "Frozen reviewed working-tree prose after published85f5b0c; exact source hashes below. SourceRevision is review provenance, not an assertion of a clean tree.",
      "checkedSceneIds": [
        "s00",
        "s01",
        "s02",
        "s08",
        "s09",
        "s10",
        "s11",
        "s12",
        "s13",
        "s14",
        "s15",
        "s16",
        "s17",
        "s18",
        "s19",
        "s20",
        "s21",
        "s22",
        "s23",
        "s24"
      ],
      "sources": [
        {
          "path": "apps/docs/content/data/formats/orgchart.mdx",
          "sha256": "831fe6f9e8a9d30310eedb04f501bf1c80f450b040b3b0566bb3ccac37cbd65d",
          "scenes": [
            "s13"
          ],
          "previousSha256": "93e29969014c2d19f9ae80c066781a85ba653ecef217d95d5a9a8deca8ef7015"
        },
        {
          "path": "apps/docs/content/manuals/operations-manual.mdx",
          "sha256": "661582124408cecb056a0035a43b13a9fcf9c15cc8e7bc01e3e9abc44c9f435a",
          "scenes": [
            "s00",
            "s01",
            "s02",
            "s08",
            "s09",
            "s10",
            "s11",
            "s12",
            "s13",
            "s14",
            "s15",
            "s16",
            "s17",
            "s18",
            "s19",
            "s20",
            "s21",
            "s22",
            "s23",
            "s24"
          ],
          "previousSha256": "82bd6233832b3bb4334c15f288d5989b9e28006bd5aec13e591c1431e974c6bc"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "Reviewed all twenty scenes mapped to the manual and s13 against the orgchart correction. s13 directs operators to prepare a chart using the linked format; it never claims the repository lacks a fixture. The new manual caption describes the actual illustrative audit image; s20 directs receipt/audit inspection without claiming a visible row proves a retraction. All other manual-supported claims remain unchanged."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "Separate pass across mapped narration, command/action lines and visual declarations. s20 still shows generic recorded activity with collapsed Action details; its instructions remain useful without claiming a particular date, sweep or inline reason. Retained capture label says illustrative records. Native/Docker, simulation, support-window and recovery limits remain explicit."
      },
      "result": "Source-only refresh. Narration, content, script, captions, diagrams, screenshots, timeline, stills and final encoded media unchanged. Original build and delivery evidence retained.",
      "preserved": {
        "contentSha256": "b272001bc3da85747eda0064f00193cb8dc8d2a580e7d51d3c5168e9e4add449",
        "mp4Sha256": "5b31bae2975f9f09f4ac7701794f946b4c2f60522c850d7f20b241caf559f41c",
        "timelineSha256": "42458da97b1a9ef2246745c616c9ea883a20b281b180f57b1ea4245edcc6c173",
        "buildUnchanged": true
      },
      "limits": [
        "No new speech, encoding, browser playback or human voice listening was performed. Previously inspected unchanged media evidence is carried forward."
      ]
    },
    {
      "video": "ops-guide",
      "reviewedAt": "2026-10-19T18:35:45.294Z",
      "contentSha256": "1ceacabe32d48657c3db8984a92d73770ceb61d5b3e6602cde8a4c9faaa1e0f6",
      "checkedSceneIds": [
        "s00",
        "s01",
        "s02",
        "s08",
        "s09",
        "s10",
        "s11",
        "s12",
        "s13",
        "s14",
        "s15",
        "s16",
        "s17",
        "s18",
        "s19",
        "s20",
        "s21",
        "s22",
        "s23",
        "s24"
      ],
      "sources": [
        {
          "path": "apps/docs/content/manuals/operations-manual.mdx",
          "previousSha256": "005ea974071c65bcedc2621985b0f6a404b3ca728963ebb742f6bd1d23aae04b",
          "sha256": "fec844c46b82e7f11649c5c90435fbf84c2dca6080e0eb36f15f5ca1912066bf",
          "scenes": [
            "s00",
            "s01",
            "s02",
            "s08",
            "s09",
            "s10",
            "s11",
            "s12",
            "s13",
            "s14",
            "s15",
            "s16",
            "s17",
            "s18",
            "s19",
            "s20",
            "s21",
            "s22",
            "s23",
            "s24"
          ]
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "Reviewed current Docker setup guide and corrected manual prerequisite/setup sections against their actual commands. Default latest, no image-release prompt, archive/container Git and repeated selected version match the retained or newly authored narration. Removing the obsolete saved-image-release recovery step changes no narrated setup, resume, service, evidence, persistence or advisory boundary. Operating overview distinguishes Docker-contained customer-launcher storage from Compose volumes."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "Read the changed source passages and affected film narration/commands separately for operator meaning. Host prerequisites and the first-run choices now agree with the existing Docker-only/latest flow. Source corrections require no further narration or visual change. Overview s06 remains a general demo introduction; architecture service/version claims and internal getting-started setup/resume instructions remain accurate."
      },
      "mediaChangeRequired": false,
      "limits": [
        "Source-only review does not claim a new playback, frame or listening review. Ops-guide is separately regenerated for its merged authored changes."
      ],
      "reviewReport": "out/issue41-installation-source-reconciliation.json"
    },
    {
      "path": "apps/docs/content/architecture/operations/docker-demo.mdx",
      "previousSha256": "837e74785e44b8b98e813e1367687cb40eaba00d57caa35d52a4489b47056cd1",
      "sha256": "67b2edc0617cdc76f9aeecbba71ef785f203d6bc941734325f6f8ed8d5aaaadf",
      "checkedSceneIds": [
        "s25"
      ],
      "reviewedAt": "2026-10-19T23:46:01.982Z",
      "mergeSource": "origin/main 114b01763889c48344e1ed167d74cacec61e272e",
      "reviewMethod": "Read the full final cited page, its exact hunk against the owned parent, and all 11 affected scene narrations, commands and visual declarations. Compared both manifest stages with actual current authored content and rendered MP4 bytes; incoming manifests identify older, mismatched films.",
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "Preserved six-image shared-base packaging, Docker-only application toolchains, latest after each verified main merge and explicit immutable zero-series releases. The page corrects runner routing to native Blacksmith with persisted caches and specifies release: published. These details do not alter the advisory boundary, services, persistence, resume, version commands or narrated acceptance limits. Architecture s31 states that a workflow request itself does not establish runner capacity or successful rehearsal; it does not claim the current provider lacks native capacity."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "Reviewed separately for operator meaning. Architecture s31 describes requested dual-architecture builds, retained tested artifacts and bounded acceptance; it names neither macOS CI nor a nightly schedule. Getting-started s16 describes unchanged status/resume behaviour, and ops-guide s25 keeps latest/dev/local/immutable version selection and configuration steps. Narration, declared visuals and commands remain valid without new speech or rendering."
      },
      "mediaChangeRequired": false,
      "preservedBuildSha256": "80b54fdbed585f6e12c307f66f391207abc7b2b87baa88d3effb658bbd3ce5a2",
      "preservedMp4Sha256": "929714a35c2410075f3734fcb01636780aa226c91e9fe3d5fbc3f66719c5fc93",
      "limits": [
        "Source-only semantic review; no new frame capture, rendering, playback or listening is claimed. Existing approved rendered-media and delivery review provenance is retained."
      ]
    },
    {
      "kind": "source-only-semantic-review",
      "reviewedAt": "2026-10-20T00:36:23.598Z",
      "contentSha256": "1ceacabe32d48657c3db8984a92d73770ceb61d5b3e6602cde8a4c9faaa1e0f6",
      "checkedSceneIds": [
        "s00",
        "s01",
        "s02",
        "s08",
        "s09",
        "s10",
        "s25",
        "s11",
        "s12",
        "s13",
        "s14",
        "s15",
        "s16",
        "s17",
        "s18",
        "s19",
        "s20",
        "s21",
        "s22",
        "s23",
        "s24"
      ],
      "sourceChanges": [
        {
          "path": "apps/docs/content/architecture/operations/docker-demo.mdx",
          "previousSha256": "67b2edc0617cdc76f9aeecbba71ef785f203d6bc941734325f6f8ed8d5aaaadf",
          "sha256": "1deb35a2e2aac725127ddb15cd2d30d0cfa222ea458b837531c0749940cffd47",
          "scenes": [
            "s25"
          ]
        },
        {
          "path": "apps/docs/content/manuals/operations-manual.mdx",
          "previousSha256": "fec844c46b82e7f11649c5c90435fbf84c2dca6080e0eb36f15f5ca1912066bf",
          "sha256": "315e45d6f166b2aa329d69a26574a31178c145397951c8cacb61b3550cea001f",
          "scenes": [
            "s00",
            "s01",
            "s02",
            "s08",
            "s09",
            "s10",
            "s11",
            "s12",
            "s13",
            "s14",
            "s15",
            "s16",
            "s17",
            "s18",
            "s19",
            "s20",
            "s21",
            "s22",
            "s23",
            "s24"
          ]
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "findings": [
          "Reviewed actual narration, commands and bullet text for every listed scene against the corrected source sections. Nightly and published release runs build and rehearse six images; only nightlies update latest. PR checks are fast and main pushes do not perform full image builds or publication. No scene asserts per-merge publication, SHA tags, nightly tags or reuse of nightly images instead of release builds. Architecture s04 retains exact shared-base identity; s31 distinguishes requested builds from actual acceptance evidence. Advisory, primary-store and recovery limits remain intact."
        ]
      },
      "audienceReadability": {
        "status": "pass",
        "findings": [
          "Separate operator/technical-reader pass: version-mode choices, immutable release identity, repeat-version instructions, configuration, journals and recovery guidance remain understandable and supported. Trigger timing is not stated in these narrations or scene bullets. Corrected source prose distinguishes nightly latest updates from published immutable releases. No authored input needs changing."
        ]
      },
      "mediaDisposition": "Preserve existing rendered media, build hashes, sourceRevision and prior delivery/browser review histories. No TTS, still capture, encoding, playback or listening was performed for this source-only policy review."
    },
    {
      "kind": "source-only-semantic-review",
      "reviewedAt": "2026-10-20T03:27:43.785Z",
      "contentSha256": "0c92679974c49659d5a8c5dff57706974572437ccb18169a44fa3d5221a6b1cf",
      "checkedSceneIds": [
        "s00",
        "s01",
        "s02",
        "s03",
        "s04",
        "s08",
        "s09",
        "s10",
        "s25",
        "s11",
        "s12",
        "s13",
        "s14",
        "s15",
        "s16",
        "s17",
        "s18",
        "s19",
        "s20",
        "s21",
        "s22",
        "s23",
        "s24"
      ],
      "sourceChanges": [
        {
          "path": "apps/docs/content/manuals/operations-manual.mdx",
          "previousSha256": "087f156d56e8b14170b1019f2651efe424b466397c0c3b9cddb2cfd4ed3f8b09",
          "sha256": "bf985f0e160489634315c85aaa5e41360d6ac925a04e96442582bf0e5c2b50ca",
          "scenes": [
            "s00",
            "s01",
            "s02",
            "s03",
            "s04",
            "s08",
            "s09",
            "s10",
            "s25",
            "s11",
            "s12",
            "s13",
            "s14",
            "s15",
            "s16",
            "s17",
            "s18",
            "s19",
            "s20",
            "s21",
            "s22",
            "s23",
            "s24"
          ]
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "findings": [
          "The manual now names Ubuntu, Debian and Fedora for lens's Docker package offer and sends Red Hat Enterprise Linux and its rebuilds to the Docker guide; it states that lens refuses a /tmp path that exists on the host, that any other path must be a host file, and that uploaded copies are removed when the command ends. Reviewed every citing scene's narration, bullets and commands: none names a Linux distribution, a /tmp rule or the lifetime of uploaded copies. s00 says to install Docker and its Compose plugin, which still holds; s11 says lens copies each named input file into the container and passes the new path on, which still holds. Advisory and recovery limits are unchanged."
        ]
      },
      "audienceReadability": {
        "status": "pass",
        "findings": [
          "Separate operator pass: the film's commands (./lens doctor, ./lens document --file ./note.md) behave as narrated under the corrected text. The added detail serves the written manual only. No authored input needs changing."
        ]
      },
      "mediaDisposition": "Preserve existing rendered media, build hashes, sourceRevision and prior delivery/browser review histories. No TTS, still capture, encoding, playback or listening was performed for this source-only review."
    },
    {
      "kind": "source-only-semantic-review",
      "reviewedAt": "2026-10-20T03:43:58.000Z",
      "contentSha256": "0c92679974c49659d5a8c5dff57706974572437ccb18169a44fa3d5221a6b1cf",
      "checkedSceneIds": [
        "s00",
        "s01",
        "s02",
        "s03",
        "s04",
        "s08",
        "s09",
        "s10",
        "s25",
        "s11",
        "s12",
        "s13",
        "s14",
        "s15",
        "s16",
        "s17",
        "s18",
        "s19",
        "s20",
        "s21",
        "s22",
        "s23",
        "s24"
      ],
      "sourceChanges": [
        {
          "path": "apps/docs/content/manuals/operations-manual.mdx",
          "previousSha256": "bf985f0e160489634315c85aaa5e41360d6ac925a04e96442582bf0e5c2b50ca",
          "sha256": "6eaad9eca6a2ddf93513a6ca7c10c9c20dcd0a175c0e96a2d503c7bb643e358d",
          "scenes": [
            "s00",
            "s01",
            "s02",
            "s03",
            "s04",
            "s08",
            "s09",
            "s10",
            "s25",
            "s11",
            "s12",
            "s13",
            "s14",
            "s15",
            "s16",
            "s17",
            "s18",
            "s19",
            "s20",
            "s21",
            "s22",
            "s23",
            "s24"
          ]
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "findings": [
          "The manual now limits lens's Debian package offer to Debian 13 or newer and names Debian 12 among the distributions sent to the Docker Engine guide. Reviewed every citing scene's narration, bullets and commands: none names a Linux distribution or version. s00 still says to install Docker and its Compose plugin, which holds. Advisory and recovery limits are unchanged."
        ]
      },
      "audienceReadability": {
        "status": "pass",
        "findings": [
          "Separate operator pass: the film's commands (./lens doctor, ./lens document --file ./note.md) behave as narrated under the corrected text. The added version detail serves the written manual only. No authored input needs changing."
        ]
      },
      "mediaDisposition": "Preserve existing rendered media, build hashes, sourceRevision and prior delivery/browser review histories. No TTS, still capture, encoding, playback or listening was performed for this source-only review."
    },
    {
      "reviewed": "2026-10-20",
      "reviewRevision": "5f7433164915525e1040512f478c49979f114df4",
      "sourceSnapshot": "Issue #52 prose: step 5 of the Docker demo page adds the monitor's fault list, DOWN badge, CPU and memory, and the n and v log filters. Exact reviewed source hash below; reviewRevision does not assert a clean tree.",
      "checkedSceneIds": [
        "s00",
        "s01",
        "s02",
        "s03",
        "s04",
        "s05",
        "s06",
        "s07",
        "s08",
        "s09",
        "s10",
        "s25",
        "s11",
        "s23",
        "s24"
      ],
      "sources": [
        {
          "path": "apps/docs/content/operating/docker-demo.mdx",
          "sha256": "0d64b5c3b8794fcc0a525c3d4793c6879f4dd09372e796ac957d46874ae7dd0d",
          "scenes": [
            "s00",
            "s01",
            "s02",
            "s03",
            "s04",
            "s05",
            "s06",
            "s07",
            "s08",
            "s09",
            "s10",
            "s25",
            "s11",
            "s23",
            "s24"
          ],
          "previousSha256": "fd93e3e906b6811198208b4fe8db85b6fa66dec2fa66d19b1da65ebf8b6d035c"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "The monitor still only observes one installation and never starts, stops or removes anything. Deployment, storage, evidence and advisory boundaries are unchanged."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "s09 says the monitor shows service state and health, analysis age, the model server and the setup journal, and that leaving it keeps the services running. All remain true; the added views and keys are not narrated, and l still opens a service's logs and q still leaves."
      },
      "result": "Source-only review. Narration, slides, captions, timeline, encoded media and existing delivery evidence remain unchanged.",
      "preserved": {
        "contentSha256": "45599402f5fb0fb7d5eab650dfa1156d5bdcf713e9ccd30a45758324d22bfd3e",
        "mp4Sha256": "0ab455b729093b9ee5f893416aee5a2c4d5225808f068933b54ba52e1ef31cc5",
        "buildUnchanged": true
      },
      "limits": [
        "No new encoding, playback or human voice listening. Existing unchanged media evidence is retained."
      ]
    },
    {
      "reviewed": "2026-10-20",
      "reviewRevision": "cecf347798c5365c0fb5f7fa4dddffcd3c9624ca",
      "sourceSnapshot": "PR #70 adds unattended setup guidance and reconciles Compose backup/restore instructions against the packaged installer. Exact reviewed source hashes below; reviewRevision does not assert a clean tree.",
      "checkedSceneIds": [
        "s03",
        "s04"
      ],
      "sources": [
        {
          "path": "apps/docs/content/operating/installation.mdx",
          "sha256": "a33cff84ea4313b7b733e9dab640be907d9554bb046595262542a909e6ca3c2b",
          "scenes": [
            "s03",
            "s04"
          ],
          "previousSha256": "653e20046bf74a3a8349a0f24f02dec8a87b5c9f05ae218bda0a654438884ffd"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "The installation page now documents the tested ./lens backup and ./lens restore commands and their Compose-volume scope. It also adds --defaults for scripted setup. Scenes s03/s04 cover host checks and interactive image selection; they do not describe backups or claim that setup must always be interactive. The saved release choices remain latest, local, dev or an immutable registry release."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "Reviewed s03 and s04 separately for operator meaning. Their host checks, private registry sign-in and --init selection remain correct for the narrated interactive path. Neither scene claims backup behavior or a scripted setup path, so no narration or visual change is needed."
      },
      "result": "Source-only review. Narration, slides, captions, timeline, encoded media and existing delivery evidence remain unchanged.",
      "preserved": {
        "contentSha256": "85b01d56571dc6077b1df6d63fd8f4269be9adfc8622f229b8f40064d5ff2aa3",
        "mp4Sha256": "11cbcb84d6c1c3c851ebe3227351e0cfc801723b1d6cecc577fd863514547aaf",
        "buildUnchanged": true
      },
      "limits": [
        "No new encoding, playback or human voice listening. Existing unchanged media and delivery evidence are retained."
      ]
    },
    {
      "reviewed": "2026-10-20",
      "reviewRevision": "b01c633e4d48138bfe2175fb499a6f4d96c5771a",
      "sourceSnapshot": "Architecture page now documents bare setup/latest, the masked registry prompt, host helpers and current publication channels. Exact reviewed source hashes below; reviewRevision does not assert a clean tree.",
      "checkedSceneIds": [
        "s25"
      ],
      "sources": [
        {
          "path": "apps/docs/content/architecture/operations/docker-demo.mdx",
          "sha256": "ff102776f11086cecee5c28927f4f83bc661344cc449fec247de8c13192e4afc",
          "scenes": [
            "s25"
          ],
          "previousSha256": "5e65eb54498419ab23472bdb32a2eb256c2753b0c9f8b9e726bd7483276413f2"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "Reviewed s25 against the full corrected page. Explicit alternate mode choices remain valid; the scene already describes latest as the default and preserves the advisory and recovery boundaries."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "The scene distinguishes the default from optional init selections and uses unchanged, accurate operator commands. No narration or visual change is needed."
      },
      "result": "Source-only review. Narration, slides, captions, timeline, encoded media and existing delivery evidence remain unchanged.",
      "preserved": {
        "contentSha256": "9a427b2fd9fdc4f4178817961203305786e6e80a0b76bfa105fc588ea47b53f4",
        "mp4Sha256": "7d49b1f7bb525082d52de59bf3d9ddfc8017db78022eb406b821e40ee1f81ce8",
        "buildUnchanged": true
      },
      "limits": [
        "No new encoding, playback or human voice listening. Existing unchanged media evidence is retained."
      ]
    },
    {
      "reviewed": "2026-10-20",
      "reviewRevision": "b01c633e4d48138bfe2175fb499a6f4d96c5771a",
      "sourceSnapshot": "Operations manual now distinguishes the installation directory, generated Compose files and saved image selection from source-only checkout and commit requirements. Exact reviewed source hashes below; reviewRevision does not assert a clean tree.",
      "checkedSceneIds": [
        "s00",
        "s01",
        "s02",
        "s03",
        "s04",
        "s08",
        "s09",
        "s10",
        "s11",
        "s12",
        "s13",
        "s14",
        "s15",
        "s16",
        "s17",
        "s18",
        "s19",
        "s20",
        "s21",
        "s22",
        "s23",
        "s24",
        "s25"
      ],
      "sources": [
        {
          "path": "apps/docs/content/manuals/operations-manual.mdx",
          "sha256": "eb459ab5bfdb86dd95f4b1f4cc86dbe5f4c728d49207ff0f18c402a5d8fc05d5",
          "scenes": [
            "s00",
            "s01",
            "s02",
            "s03",
            "s04",
            "s08",
            "s09",
            "s10",
            "s25",
            "s11",
            "s12",
            "s13",
            "s14",
            "s15",
            "s16",
            "s17",
            "s18",
            "s19",
            "s20",
            "s21",
            "s22",
            "s23",
            "s24"
          ],
          "previousSha256": "89da3e5948b2901be855ecb4f244692a0b07bcf573d6a816b6af33865a31d991"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "Reviewed all cited scenes against the whole changed page. Existing installer, backup, restore and version claims remain supported; no narration or visual change required."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "Separate audience review passed: installation state and image selection apply generally; source checkout and commit apply only to dev/local builds."
      },
      "result": "Source-only review. Narration, slides, captions, timeline, encoded media and existing delivery evidence remain unchanged.",
      "preserved": {
        "contentSha256": "9a427b2fd9fdc4f4178817961203305786e6e80a0b76bfa105fc588ea47b53f4",
        "mp4Sha256": "7d49b1f7bb525082d52de59bf3d9ddfc8017db78022eb406b821e40ee1f81ce8",
        "buildUnchanged": true
      },
      "limits": [
        "No new encoding, playback or human voice listening. Existing unchanged media evidence is retained."
      ]
    },
    {
      "reviewedAt": "2026-10-20T11:13:37.035880+00:00",
      "reviewRevision": "afb96df34369fcb145abc83a76b7c8e25014bf4a",
      "checkedSceneIds": [
        "s25"
      ],
      "sourcePages": [
        {
          "path": "apps/docs/content/architecture/operations/docker-demo.mdx",
          "sha256": "5a516a87805655a3039cb5447d4fcc55a11a283eb1c72a18c1a7698e409391da",
          "scenes": [
            "s25"
          ],
          "previousSha256": "eb56d937ccecf8fc241d5184397b6846d5ee1259d20584d6b0c01852ef8143aa"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "conclusion": "Independent review checked the affected scenes against the revised source pages. Application installation, runtime, deployment and advisory boundaries are unchanged. The changed instructions concern developer commands only and are not narrated or shown in these scenes."
      },
      "audienceReadability": {
        "status": "pass",
        "conclusion": "Independent review confirmed the affected narration, commands and slide text remain accurate. Native recording/OpenSSL instructions and the narrower developer policy do not alter these application explanations."
      },
      "mediaUnchanged": true,
      "mp4Sha256": "0ab455b729093b9ee5f893416aee5a2c4d5225808f068933b54ba52e1ef31cc5",
      "limitations": [
        "Source and script review only; existing visual, playback and listening evidence is carried forward without claiming a new media review.",
        "Dependency hashes capture final working-tree documentation; reviewRevision identifies the base commit."
      ]
    },
    {
      "reviewed": "2026-10-20",
      "reviewRevision": "a5642238736a7579ecb85c7bd104b80eb7403c3d",
      "sourceSnapshot": "PR #70 prose: the installation page adds Install without questions, setup --defaults with NOVUSLENS_ADMIN_PASSPHRASE and GHCR_TOKEN. Exact reviewed source hashes below; reviewRevision does not assert a clean tree.",
      "checkedSceneIds": [
        "s03",
        "s04"
      ],
      "sources": [
        {
          "path": "apps/docs/content/operating/installation.mdx",
          "sha256": "149156b79eb2ccf00e182e61a7c3e46a8dd1bbe8c91e6baed35e8c945134a545",
          "scenes": [
            "s03",
            "s04"
          ],
          "previousSha256": "32d39dfd51cc1c4a4eda037c7feb81117c60a6993863abaa5d9cdd40407e18a3"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "Setup still configures and deploys one self-run installation; the new flag only answers its questions with their defaults."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "Scenes s03 and s04 narrate the interactive setup, which is unchanged; signing in first remains a valid route."
      },
      "result": "Source-only review. Narration, slides, captions, timeline, encoded media and existing delivery evidence remain unchanged.",
      "preserved": {
        "contentSha256": "45599402f5fb0fb7d5eab650dfa1156d5bdcf713e9ccd30a45758324d22bfd3e",
        "mp4Sha256": "0ab455b729093b9ee5f893416aee5a2c4d5225808f068933b54ba52e1ef31cc5",
        "buildUnchanged": true
      },
      "limits": [
        "No new encoding, playback or human voice listening. Existing unchanged media evidence is retained."
      ]
    },
    {
      "reviewed": "2026-10-20",
      "reviewRevision": "0d508fa115510e1461302d62c14dc7d45c0fb78c",
      "sourceSnapshot": "The blanket Docker requirement is restricted to application execution and gates; development commands run directly in worktrees. Exact reviewed source hashes below; reviewRevision does not assert a clean tree.",
      "checkedSceneIds": [
        "s25"
      ],
      "sources": [
        {
          "path": "apps/docs/content/architecture/operations/docker-demo.mdx",
          "sha256": "a4c1d555fb48b62fd92ebf52dec5491d0103e866780bc61f2f438887c8a68d9e",
          "scenes": [
            "s25"
          ],
          "previousSha256": "5e65eb54498419ab23472bdb32a2eb256c2753b0c9f8b9e726bd7483276413f2"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "Scene s25 still describes the saved application release, model choices and installation identity; these application semantics are unchanged."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "Reviewed the current narration, configure/resume commands and bullets in s25. They describe application setup, not developer checks, and remain accurate."
      },
      "result": "Source-only review. Narration, slides, captions, timeline, encoded media and existing delivery evidence remain unchanged.",
      "preserved": {
        "contentSha256": "85b01d56571dc6077b1df6d63fd8f4269be9adfc8622f229b8f40064d5ff2aa3",
        "mp4Sha256": "11cbcb84d6c1c3c851ebe3227351e0cfc801723b1d6cecc577fd863514547aaf",
        "buildUnchanged": true
      },
      "limits": [
        "No new encoding, playback or human voice listening. Existing unchanged media evidence is retained."
      ]
    },
    {
      "reviewed": "2026-10-20",
      "reviewRevision": "58ebe3ec48181d6c592b2ad806f2f72d03e0cb93",
      "sourceSnapshot": "Architecture source now distinguishes native development from Docker application execution and gates. Exact reviewed source hashes below; reviewRevision does not assert a clean tree.",
      "checkedSceneIds": [
        "s25"
      ],
      "sources": [
        {
          "path": "apps/docs/content/architecture/operations/docker-demo.mdx",
          "sha256": "978a31035dd809670a31ea96a648d5699ef5344ea9cafb3af2cc53246e37752b",
          "scenes": [
            "s25"
          ],
          "previousSha256": "ff102776f11086cecee5c28927f4f83bc661344cc449fec247de8c13192e4afc"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "Independent review of s25 against the final source passed: latest setup default, checkout requirements for dev/local and saved release selection remain accurate."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "Operator instructions remain clear; the changed development guidance is not narrated."
      },
      "result": "Source-only review. Narration, slides, captions, timeline, encoded media and existing delivery evidence remain unchanged.",
      "preserved": {
        "contentSha256": "9a427b2fd9fdc4f4178817961203305786e6e80a0b76bfa105fc588ea47b53f4",
        "mp4Sha256": "7d49b1f7bb525082d52de59bf3d9ddfc8017db78022eb406b821e40ee1f81ce8",
        "buildUnchanged": true
      },
      "limits": [
        "No new encoding, playback or human voice listening. Existing unchanged media evidence is retained."
      ]
    },
    {
      "reviewed": "2026-10-20",
      "reviewRevision": "d8ac02bf6480a194aa7a8a39778dd1c157106bc9",
      "sourceSnapshot": "Recovery and publication guidance now matches the existing backup and main/latest, nightly/nightly and immutable release workflows. Exact reviewed source hashes below; reviewRevision does not assert a clean tree.",
      "checkedSceneIds": [
        "s00",
        "s01",
        "s02",
        "s03",
        "s04",
        "s08",
        "s09",
        "s10",
        "s11",
        "s12",
        "s13",
        "s14",
        "s15",
        "s16",
        "s17",
        "s18",
        "s19",
        "s20",
        "s21",
        "s22",
        "s23",
        "s24",
        "s25"
      ],
      "sources": [
        {
          "path": "apps/docs/content/manuals/operations-manual.mdx",
          "sha256": "a2855eed546bdbd96de6bddd6726f7d7e4b562083fb155933aa830b44ba00bce",
          "scenes": [
            "s00",
            "s01",
            "s02",
            "s03",
            "s04",
            "s08",
            "s09",
            "s10",
            "s25",
            "s11",
            "s12",
            "s13",
            "s14",
            "s15",
            "s16",
            "s17",
            "s18",
            "s19",
            "s20",
            "s21",
            "s22",
            "s23",
            "s24"
          ],
          "previousSha256": "eb459ab5bfdb86dd95f4b1f4cc86dbe5f4c728d49207ff0f18c402a5d8fc05d5"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "Independent review of every cited scene passed: backup scope, separate private configuration, mismatch refusals and compatibility-launcher distinctions remain accurate. No narrated publication claim changes."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "Separate audience review passed. Existing operator scene instructions remain clear; no narration or visual change needed."
      },
      "result": "Source-only review. Narration, slides, captions, timeline, encoded media and existing delivery evidence remain unchanged.",
      "preserved": {
        "contentSha256": "9a427b2fd9fdc4f4178817961203305786e6e80a0b76bfa105fc588ea47b53f4",
        "mp4Sha256": "7d49b1f7bb525082d52de59bf3d9ddfc8017db78022eb406b821e40ee1f81ce8",
        "buildUnchanged": true
      },
      "limits": [
        "No new encoding, playback or human voice listening. Existing unchanged media evidence is retained."
      ]
    },
    {
      "reviewed": "2026-10-20",
      "reviewRevision": "6fc83c341afda541ea69fa11270dfbc21967d180",
      "sourceSnapshot": "The operations manual's Docker host section names CentOS Stream, Rocky Linux, AlmaLinux and openSUSE Leap, merged with main's native development changes. Exact reviewed source hashes below; reviewRevision does not assert a clean tree.",
      "checkedSceneIds": [
        "s00",
        "s01",
        "s02",
        "s03",
        "s04",
        "s08",
        "s09",
        "s10",
        "s11",
        "s12",
        "s13",
        "s14",
        "s15",
        "s16",
        "s17",
        "s18",
        "s19",
        "s20",
        "s21",
        "s22",
        "s23",
        "s24",
        "s25"
      ],
      "sources": [
        {
          "path": "apps/docs/content/manuals/operations-manual.mdx",
          "sha256": "4a6c5ad49d653c27a99e183e946e4b0faab1eef98a22838c5c9f76f2788a35e9",
          "scenes": [
            "s00",
            "s01",
            "s02",
            "s03",
            "s04",
            "s08",
            "s09",
            "s10",
            "s25",
            "s11",
            "s12",
            "s13",
            "s14",
            "s15",
            "s16",
            "s17",
            "s18",
            "s19",
            "s20",
            "s21",
            "s22",
            "s23",
            "s24"
          ],
          "previousSha256": "0f5b8e6f85f9d1bcb04e845003674affd5c53b26c444ed475da3ec09e2c1989b"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "No framework claim changed: the sentences name supported Docker hosts only; no scene shows the Docker host list."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "Plain sentences naming distributions; the narration is unaffected."
      },
      "result": "Source-only review. Narration, slides, captions, timeline, encoded media and existing delivery evidence remain unchanged.",
      "preserved": {
        "contentSha256": "85b01d56571dc6077b1df6d63fd8f4269be9adfc8622f229b8f40064d5ff2aa3",
        "mp4Sha256": "11cbcb84d6c1c3c851ebe3227351e0cfc801723b1d6cecc577fd863514547aaf",
        "buildUnchanged": true
      },
      "limits": [
        "No new encoding, playback or human voice listening. Existing unchanged media evidence is retained."
      ]
    },
    {
      "reviewed": "2026-10-20",
      "reviewRevision": "7a0ccfc0e934164c78acdfa072fa5a641d2bf820",
      "sourceSnapshot": "Lean merge-to-main CI: the Docker demo page now says latest.yml builds and publishes each main push as latest without a rehearsal, the nightly updates nightly rather than latest, and drops the mutable nightly Git tag claim. Exact reviewed source hash below; reviewRevision does not assert a clean tree.",
      "checkedSceneIds": [
        "s25"
      ],
      "sources": [
        {
          "path": "apps/docs/content/architecture/operations/docker-demo.mdx",
          "sha256": "10a4ef1b765a48b80d6ab3ed9b6301294e4458cd1b02186f0b42495caa219a03",
          "scenes": [
            "s25"
          ],
          "previousSha256": "a4c1d555fb48b62fd92ebf52dec5491d0103e866780bc61f2f438887c8a68d9e"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "Release selection and the advisory boundary are unchanged; the page change concerns CI publication only."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "s25 says the first demonstration uses latest, the default published images. latest remains the default published tag; only the workflow that moves it changed (each main push, not the nightly). The narration does not say how latest is produced."
      },
      "result": "Source-only review. Narration, slides, captions, timeline, encoded media and existing delivery evidence remain unchanged.",
      "preserved": {
        "contentSha256": "85b01d56571dc6077b1df6d63fd8f4269be9adfc8622f229b8f40064d5ff2aa3",
        "mp4Sha256": "11cbcb84d6c1c3c851ebe3227351e0cfc801723b1d6cecc577fd863514547aaf",
        "buildUnchanged": true
      }
    },
    {
      "reviewed": "2026-10-20",
      "reviewRevision": "f5a5b1dc2f0b4ebb11461b152f230f7aba033766",
      "sourceSnapshot": "Lean merge-to-main CI follow-up: the Operations Manual upgrade section and the pins and release page now say each main push publishes latest without a rehearsal and the nightly publishes nightly, replacing the stale claims that the nightly moved latest and that no nightly tag existed. Exact reviewed source hashes below; reviewRevision does not assert a clean tree.",
      "checkedSceneIds": [
        "s00",
        "s01",
        "s02",
        "s03",
        "s04",
        "s08",
        "s09",
        "s10",
        "s25",
        "s11",
        "s12",
        "s13",
        "s14",
        "s15",
        "s16",
        "s17",
        "s18",
        "s19",
        "s20",
        "s21",
        "s22",
        "s23",
        "s24"
      ],
      "sources": [
        {
          "path": "apps/docs/content/manuals/operations-manual.mdx",
          "sha256": "815c8d0c4319ae8f52dab2c721ebc4520a7a367d909b48f97211c41bab73be59",
          "scenes": [
            "s00",
            "s01",
            "s02",
            "s03",
            "s04",
            "s08",
            "s09",
            "s10",
            "s25",
            "s11",
            "s12",
            "s13",
            "s14",
            "s15",
            "s16",
            "s17",
            "s18",
            "s19",
            "s20",
            "s21",
            "s22",
            "s23",
            "s24"
          ],
          "previousSha256": "4a6c5ad49d653c27a99e183e946e4b0faab1eef98a22838c5c9f76f2788a35e9"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "The corrections concern which CI run publishes which image tag. Release selection, the deployment model and the advisory boundary are unchanged."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "s04 and s25 say the first demonstration uses latest, the default published images. latest remains the default published tag; only the run that moves it changed (each main push, not the nightly). No other cited scene narrates publication."
      },
      "result": "Source-only review. Narration, slides, captions, timeline, encoded media and existing delivery evidence remain unchanged.",
      "preserved": {
        "contentSha256": "85b01d56571dc6077b1df6d63fd8f4269be9adfc8622f229b8f40064d5ff2aa3",
        "mp4Sha256": "11cbcb84d6c1c3c851ebe3227351e0cfc801723b1d6cecc577fd863514547aaf",
        "buildUnchanged": true
      }
    },
    {
      "reviewed": "2026-10-20",
      "reviewRevision": "6befcf34bb225f06c677803461b2b2957549eb1c",
      "sourceSnapshot": "Merged current native main/latest publication without rehearsal, rehearsed nightly/release publication and tagged local builds. Exact reviewed source hashes below; reviewRevision does not assert a clean tree.",
      "checkedSceneIds": [
        "s00",
        "s01",
        "s02",
        "s03",
        "s04",
        "s08",
        "s09",
        "s10",
        "s11",
        "s12",
        "s13",
        "s14",
        "s15",
        "s16",
        "s17",
        "s18",
        "s19",
        "s20",
        "s21",
        "s22",
        "s23",
        "s24",
        "s25"
      ],
      "sources": [
        {
          "path": "apps/docs/content/architecture/operations/docker-demo.mdx",
          "sha256": "cc53179e85edac04c91db54cd2c48211cae6cd167ee0ec257f5c4720817b5499",
          "scenes": [
            "s25"
          ],
          "previousSha256": "978a31035dd809670a31ea96a648d5699ef5344ea9cafb3af2cc53246e37752b"
        },
        {
          "path": "apps/docs/content/manuals/operations-manual.mdx",
          "sha256": "4c3d2e3cf5f9149d7677c6ea1fc422a9288e5195bb44a49e2310873f6980f2c9",
          "scenes": [
            "s00",
            "s01",
            "s02",
            "s03",
            "s04",
            "s08",
            "s09",
            "s10",
            "s25",
            "s11",
            "s12",
            "s13",
            "s14",
            "s15",
            "s16",
            "s17",
            "s18",
            "s19",
            "s20",
            "s21",
            "s22",
            "s23",
            "s24"
          ],
          "previousSha256": "a2855eed546bdbd96de6bddd6726f7d7e4b562083fb155933aa830b44ba00bce"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "Independent review of every cited scene passed. Setup, release selection, source-checkout requirements and recovery claims remain accurate; changed CI implementation is not narrated in these scenes."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "Separate audience review passed. Existing operator instructions remain clear and need no media change."
      },
      "result": "Source-only review. Narration, slides, captions, timeline, encoded media and existing delivery evidence remain unchanged.",
      "preserved": {
        "contentSha256": "9a427b2fd9fdc4f4178817961203305786e6e80a0b76bfa105fc588ea47b53f4",
        "mp4Sha256": "7d49b1f7bb525082d52de59bf3d9ddfc8017db78022eb406b821e40ee1f81ce8",
        "buildUnchanged": true
      },
      "limits": [
        "No new encoding, playback or human voice listening. Existing unchanged media evidence is retained."
      ]
    },
    {
      "reviewed": "2026-10-20",
      "reviewRevision": "94d633d95f44706ce12a407963729e6ef9b5a4c1",
      "sourceSnapshot": "Issue 74: the port-change steps now use ./lens resume --interview (setup --interview for a full deploy), the operating page adds that the installer keeps its GHCR login in the private .novuslens-registry.json, and the architecture page names setup --interview beside declining reuse. Exact reviewed source hashes below; reviewRevision does not assert a clean tree.",
      "checkedSceneIds": [
        "s00",
        "s01",
        "s02",
        "s03",
        "s04",
        "s05",
        "s06",
        "s07",
        "s08",
        "s09",
        "s10",
        "s11",
        "s23",
        "s24",
        "s25"
      ],
      "sources": [
        {
          "path": "apps/docs/content/operating/docker-demo.mdx",
          "sha256": "83df2ce3d3d9a8aa6979c460149bf27500f2fa12b24d25c481c38c7f2a17c7f6",
          "scenes": [
            "s00",
            "s01",
            "s02",
            "s03",
            "s04",
            "s05",
            "s06",
            "s07",
            "s08",
            "s09",
            "s10",
            "s25",
            "s11",
            "s23",
            "s24"
          ],
          "previousSha256": "c14283b039cf18df43f1610500894071f7342bd2085b1717184d0c22216d329f"
        },
        {
          "path": "apps/docs/content/architecture/operations/docker-demo.mdx",
          "sha256": "27e777a510a5b0bbc55028894cf1060ffefc5370290e049d0fc06cb3c5ac70b0",
          "scenes": [
            "s25"
          ],
          "previousSha256": "10a4ef1b765a48b80d6ab3ed9b6301294e4458cd1b02186f0b42495caa219a03"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "Every cited scene was read against the changed pages. No narration repeats the changed port-change steps or claims the registry login is asked again on each deploy. configure with reuse declined, then resume, still works. Sign in to the registry before setup refers to the host installer pull, which is unchanged. The advisory role and the simulated labelling are unaffected."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "No scene wording, command or slide changes. The new options are additions, so the existing instructions remain correct and clear for their audience."
      },
      "result": "Source-only review. Narration, slides, captions, timeline, encoded media and existing delivery evidence remain unchanged.",
      "preserved": {
        "contentSha256": "85b01d56571dc6077b1df6d63fd8f4269be9adfc8622f229b8f40064d5ff2aa3",
        "mp4Sha256": "11cbcb84d6c1c3c851ebe3227351e0cfc801723b1d6cecc577fd863514547aaf",
        "buildUnchanged": true
      },
      "limits": [
        "No new encoding, playback or human voice listening. Existing unchanged media evidence is retained."
      ]
    },
    {
      "reviewed": "2026-10-21",
      "reviewRevision": "236826058010c1923d770d20f354c9454927c4fe",
      "sourceSnapshot": "PR #77 (#58): lens copies a host --out path back after the command; the operations manual's remit example uses host paths and the operator's shell section names the --out rule; operator-shell pages move the persistent launcher's NOVUSLENS_IMPORT_DIR rule to /operating/operator-shell; installation and document-format pages reword their links. Re-recorded after merging origin/main 720d53e, which changed none of these pages. Exact reviewed source hashes below; reviewRevision does not assert a clean tree.",
      "checkedSceneIds": [
        "s00",
        "s01",
        "s02",
        "s03",
        "s04",
        "s08",
        "s09",
        "s10",
        "s11",
        "s12",
        "s13",
        "s14",
        "s15",
        "s16",
        "s17",
        "s18",
        "s19",
        "s20",
        "s21",
        "s22",
        "s23",
        "s24",
        "s25"
      ],
      "sources": [
        {
          "path": "apps/docs/content/manuals/operations-manual.mdx",
          "sha256": "5c52a4f1c93e12d0df94231755649eba1b62de9b8a74a8d8c450f40f8378af60",
          "scenes": [
            "s00",
            "s01",
            "s02",
            "s03",
            "s04",
            "s08",
            "s09",
            "s10",
            "s25",
            "s11",
            "s12",
            "s13",
            "s14",
            "s15",
            "s16",
            "s17",
            "s18",
            "s19",
            "s20",
            "s21",
            "s22",
            "s23",
            "s24"
          ],
          "previousSha256": "815c8d0c4319ae8f52dab2c721ebc4520a7a367d909b48f97211c41bab73be59"
        },
        {
          "path": "apps/docs/content/data/formats/documents.mdx",
          "sha256": "6ffa6c8988273f8f39c6f31ea6e82374702cb3e7db99c84ae07f362474c86a45",
          "scenes": [
            "s14"
          ],
          "previousSha256": "4107be03072a44287371b4f15cc11cbadebeff6a1093fa83c535ec3204c5788c"
        },
        {
          "path": "apps/docs/content/operating/installation.mdx",
          "sha256": "58c5613533234c8c6091c974990da8fe487063a0086a391737687cf01e6c5a21",
          "scenes": [
            "s03",
            "s04"
          ],
          "previousSha256": "a33cff84ea4313b7b733e9dab640be907d9554bb046595262542a909e6ca3c2b"
        },
        {
          "path": "apps/docs/content/operating/operator-shell.mdx",
          "sha256": "22eda860b5aaa6657ad59dff17ad0ed69767139dce96fe056484853dbba73ec7",
          "scenes": [
            "s11",
            "s12"
          ],
          "previousSha256": "85b1a3833a57ac4be716b94ff5efff2b1d4f3433206174416d28a6d8eed5e0c6"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "s11 says lens copies each named input file into the container and passes the new path on: still true, and --out copy-back adds to it. s14's ./lens document --file ./note.md is unchanged. s17 points to the Guide's enrolment steps without quoting the old /tmp path. s03, s04, s12 and s25 are unchanged by these edits. The other cited manual scenes cover setup, accounts, evidence and stewardship that these changes do not touch."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "Reviewed each cited scene for operator actions and commands against the changed pages. No command, button action or file path shown on screen changes; no narration or visual change is needed."
      },
      "result": "Source-only review. Narration, slides, captions, timeline, encoded media and existing delivery evidence remain unchanged.",
      "preserved": {
        "contentSha256": "85b01d56571dc6077b1df6d63fd8f4269be9adfc8622f229b8f40064d5ff2aa3",
        "mp4Sha256": "11cbcb84d6c1c3c851ebe3227351e0cfc801723b1d6cecc577fd863514547aaf",
        "buildUnchanged": true
      },
      "limits": [
        "No new encoding, playback or human voice listening. Existing unchanged media evidence is retained."
      ]
    },
    {
      "reviewed": "2026-10-21",
      "sourceSnapshot": "Merged host --out copy-back and compatibility-launcher staging documentation; retained this branch’s rebuilt film. Exact reviewed source hashes below.",
      "checkedSceneIds": [
        "s00",
        "s01",
        "s02",
        "s03",
        "s04",
        "s08",
        "s09",
        "s10",
        "s11",
        "s12",
        "s13",
        "s14",
        "s15",
        "s16",
        "s17",
        "s18",
        "s19",
        "s20",
        "s21",
        "s22",
        "s23",
        "s24",
        "s25"
      ],
      "sources": [
        {
          "path": "apps/docs/content/data/formats/documents.mdx",
          "sha256": "6ffa6c8988273f8f39c6f31ea6e82374702cb3e7db99c84ae07f362474c86a45",
          "scenes": [
            "s14"
          ],
          "previousSha256": "4107be03072a44287371b4f15cc11cbadebeff6a1093fa83c535ec3204c5788c"
        },
        {
          "path": "apps/docs/content/manuals/operations-manual.mdx",
          "sha256": "7eb0ada29f0660c9439f03116b5d439f476ad00a954716573e20fbb8564e6490",
          "scenes": [
            "s00",
            "s01",
            "s02",
            "s03",
            "s04",
            "s08",
            "s09",
            "s10",
            "s25",
            "s11",
            "s12",
            "s13",
            "s14",
            "s15",
            "s16",
            "s17",
            "s18",
            "s19",
            "s20",
            "s21",
            "s22",
            "s23",
            "s24"
          ],
          "previousSha256": "4c3d2e3cf5f9149d7677c6ea1fc422a9288e5195bb44a49e2310873f6980f2c9"
        },
        {
          "path": "apps/docs/content/operating/installation.mdx",
          "sha256": "6e41ed99e0a58af5c77a2578eafbc1bfaa170d13545579b1e182cf3fa4cb298b",
          "scenes": [
            "s03",
            "s04"
          ],
          "previousSha256": "a9c708a805dd70174ee455a75d530bb8d5073a4b5557325b0d7b607c0e17133f"
        },
        {
          "path": "apps/docs/content/operating/operator-shell.mdx",
          "sha256": "22eda860b5aaa6657ad59dff17ad0ed69767139dce96fe056484853dbba73ec7",
          "scenes": [
            "s11",
            "s12"
          ],
          "previousSha256": "85b1a3833a57ac4be716b94ff5efff2b1d4f3433206174416d28a6d8eed5e0c6"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "Reviewed all 23 manual-citing scenes plus documents s14, installation s03/s04 and operator-shell s11/s12. No narrated enrolment command changes; s17 delegates exact steps to the Guide/manual. Compose document --file remains correct. Import-directory changes concern the compatibility launcher."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "Reviewed narration, commands and slides separately for clarity. Existing setup, registry, administration and backup actions remain understandable. No new action or prerequisite. No new encoding, playback or listening."
      },
      "result": "Source-only review. Narration, slides, captions, timeline, encoded media and existing delivery evidence remain unchanged.",
      "preserved": {
        "contentSha256": "911f2b6d69008ac94a5b105e6b7cf5cc1396f21114c6a422472c9698ffc608c4",
        "mp4Sha256": "89ae53e35c2c35a1464e7f502acc5bf312881d0b5cca1a36c31beb220dd87118",
        "buildUnchanged": true
      },
      "limits": [
        "No new encoding, playback or human voice listening. Existing unchanged media evidence is retained."
      ]
    },
    {
      "reviewed": "2026-10-21",
      "reviewRevision": "573abaa8a84844ec7eadbb144028a0c0c74e348b",
      "sourceSnapshot": "Merged main host --out copy-back, relocated persistent-launcher input guidance and links. Clarified the installation directory and bare persistent-runner release selector; existing commands remain supported. Exact reviewed source hashes below; reviewRevision does not assert a clean tree.",
      "checkedSceneIds": [
        "s00",
        "s01",
        "s02",
        "s03",
        "s04",
        "s08",
        "s09",
        "s10",
        "s11",
        "s12",
        "s13",
        "s14",
        "s15",
        "s16",
        "s17",
        "s18",
        "s19",
        "s20",
        "s21",
        "s22",
        "s23",
        "s24",
        "s25"
      ],
      "sources": [
        {
          "path": "apps/docs/content/data/formats/documents.mdx",
          "sha256": "e098ac0cfb716960d7f62ecfe68fff469f22f29902f16bec860f2ecb254d0f37",
          "scenes": [
            "s14"
          ],
          "previousSha256": "4107be03072a44287371b4f15cc11cbadebeff6a1093fa83c535ec3204c5788c"
        },
        {
          "path": "apps/docs/content/manuals/operations-manual.mdx",
          "sha256": "7eb0ada29f0660c9439f03116b5d439f476ad00a954716573e20fbb8564e6490",
          "scenes": [
            "s00",
            "s01",
            "s02",
            "s03",
            "s04",
            "s08",
            "s09",
            "s10",
            "s25",
            "s11",
            "s12",
            "s13",
            "s14",
            "s15",
            "s16",
            "s17",
            "s18",
            "s19",
            "s20",
            "s21",
            "s22",
            "s23",
            "s24"
          ],
          "previousSha256": "4c3d2e3cf5f9149d7677c6ea1fc422a9288e5195bb44a49e2310873f6980f2c9"
        },
        {
          "path": "apps/docs/content/operating/installation.mdx",
          "sha256": "6e41ed99e0a58af5c77a2578eafbc1bfaa170d13545579b1e182cf3fa4cb298b",
          "scenes": [
            "s03",
            "s04"
          ],
          "previousSha256": "a9c708a805dd70174ee455a75d530bb8d5073a4b5557325b0d7b607c0e17133f"
        },
        {
          "path": "apps/docs/content/operating/operator-shell.mdx",
          "sha256": "d549a5ec36820ab02a8ef558df41c24448662af8d4a4dfd48d7c4a7c2618a09d",
          "scenes": [
            "s11",
            "s12"
          ],
          "previousSha256": "85b1a3833a57ac4be716b94ff5efff2b1d4f3433206174416d28a6d8eed5e0c6"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "Separate read-only review checked every scene citing the changed pages against the merged sources. Ops-guide input-file, administration and recovery commands remain supported; getting-started s35 and architecture s30 backup/store descriptions remain true. Additive output copying does not invalidate existing container paths."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "Separate audience review passed. Existing film commands and preparation remain usable; the new host output copying and reorganised guidance add options without changing the narrated tasks. No narration or visual changes are required."
      },
      "result": "Source-only review. Narration, slides, captions, timeline, encoded media and existing delivery evidence remain unchanged.",
      "preserved": {
        "contentSha256": "911f2b6d69008ac94a5b105e6b7cf5cc1396f21114c6a422472c9698ffc608c4",
        "mp4Sha256": "89ae53e35c2c35a1464e7f502acc5bf312881d0b5cca1a36c31beb220dd87118",
        "buildUnchanged": true
      },
      "limits": [
        "No new encoding, playback or human voice listening. Existing unchanged media evidence is retained."
      ]
    },
    {
      "reviewed": "2026-10-21",
      "sourceSnapshot": "Preserved concurrent clarifications: use the installation directory for Compose and name the existing bare runner selectors for the compatibility launcher. Exact reviewed source hashes below.",
      "checkedSceneIds": [
        "s11",
        "s12",
        "s14"
      ],
      "sources": [
        {
          "path": "apps/docs/content/data/formats/documents.mdx",
          "sha256": "e098ac0cfb716960d7f62ecfe68fff469f22f29902f16bec860f2ecb254d0f37",
          "scenes": [
            "s14"
          ],
          "previousSha256": "6ffa6c8988273f8f39c6f31ea6e82374702cb3e7db99c84ae07f362474c86a45"
        },
        {
          "path": "apps/docs/content/operating/operator-shell.mdx",
          "sha256": "d549a5ec36820ab02a8ef558df41c24448662af8d4a4dfd48d7c4a7c2618a09d",
          "scenes": [
            "s11",
            "s12"
          ],
          "previousSha256": "22eda860b5aaa6657ad59dff17ad0ed69767139dce96fe056484853dbba73ec7"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "Reviewed s11, s12 and s14. s14 already says installation directory and shows ./lens document --file ./note.md. s11/s12 use Compose and do not quote compatibility-launcher selectors. No application role or measurement claim changes."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "Read the affected narration, commands and slide definitions separately for clarity. The source edits clarify existing directory and selector spelling; no scene action, command or prerequisite changes. No encoding, playback or listening performed."
      },
      "result": "Source-only review. Narration, slides, captions, timeline, encoded media and existing delivery evidence remain unchanged.",
      "preserved": {
        "contentSha256": "911f2b6d69008ac94a5b105e6b7cf5cc1396f21114c6a422472c9698ffc608c4",
        "mp4Sha256": "89ae53e35c2c35a1464e7f502acc5bf312881d0b5cca1a36c31beb220dd87118",
        "buildUnchanged": true
      },
      "limits": [
        "No new encoding, playback or human voice listening. Existing unchanged media evidence is retained."
      ]
    },
    {
      "reviewed": "2026-10-21",
      "reviewRevision": "bc2d962d6206944172c03c39344f5a328fcff6f4",
      "sourceSnapshot": "Installation moved to its top-level section. The old route links to its canonical index; all other film source pages are unchanged. Exact reviewed source hashes below; reviewRevision does not assert a clean tree.",
      "checkedSceneIds": [
        "s03",
        "s04"
      ],
      "sources": [
        {
          "path": "apps/docs/content/operating/installation.mdx",
          "sha256": "d5f74a48aac3c044cee5b6ee8e834fd20d6be25b89147b826626e97fa1ff06bb",
          "scenes": [
            "s03",
            "s04"
          ],
          "previousSha256": "a33cff84ea4313b7b733e9dab640be907d9554bb046595262542a909e6ca3c2b"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "Read scenes s03-s04 against the canonical Installation index and local, remote and development pages. Doctor, registry access, ghcr:latest, local and dev remain supported, and the saved release continues to select later commands. No domain measurement or advisory claim changed."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "The old Installation route links directly to the new section. Existing terminal commands and narration still name supported interfaces. The new section explains remote as another published-image spelling. Media and delivery evidence are unchanged."
      },
      "result": "Source-only review. Narration, slides, captions, timeline, encoded media and existing delivery evidence remain unchanged.",
      "preserved": {
        "contentSha256": "85b01d56571dc6077b1df6d63fd8f4269be9adfc8622f229b8f40064d5ff2aa3",
        "mp4Sha256": "11cbcb84d6c1c3c851ebe3227351e0cfc801723b1d6cecc577fd863514547aaf",
        "buildUnchanged": true
      },
      "limits": [
        "No new encoding, playback or human voice listening. Existing unchanged media evidence is retained."
      ]
    },
    {
      "reviewed": "2026-10-21",
      "reviewRevision": "763d3275957a465d29db43a1276841b0230b5f69",
      "sourceSnapshot": "Merge main PRs #77 and #88: preserve their source review and move installation instructions under the canonical Installation section; its operator-shell link now describes administration commands and files. Exact reviewed source hashes below; reviewRevision does not assert a clean tree.",
      "checkedSceneIds": [
        "s03",
        "s04"
      ],
      "sources": [
        {
          "path": "apps/docs/content/operating/installation.mdx",
          "sha256": "d5f74a48aac3c044cee5b6ee8e834fd20d6be25b89147b826626e97fa1ff06bb",
          "scenes": [
            "s03",
            "s04"
          ],
          "previousSha256": "58c5613533234c8c6091c974990da8fe487063a0086a391737687cf01e6c5a21"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "Reviewed s03-s04 against the canonical Installation index and local, remote and development pages. Doctor, registry access, ghcr:latest, local and dev remain supported, and saved releases select subsequent commands. No measurement or advisory claims changed."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "The former installation route directly links to the new section. Existing scene commands and narration remain accurate. The canonical operator-shell link agrees with PR #77 host file handling. Media and delivery evidence are unchanged."
      },
      "result": "Source-only review. Narration, slides, captions, timeline, encoded media and existing delivery evidence remain unchanged.",
      "preserved": {
        "contentSha256": "85b01d56571dc6077b1df6d63fd8f4269be9adfc8622f229b8f40064d5ff2aa3",
        "mp4Sha256": "11cbcb84d6c1c3c851ebe3227351e0cfc801723b1d6cecc577fd863514547aaf",
        "buildUnchanged": true
      },
      "limits": [
        "No new encoding, playback or human voice listening. Existing unchanged media evidence is retained."
      ]
    },
    {
      "reviewed": "2026-10-21",
      "sourceSnapshot": "Main moves installation choices and Quick Start into the canonical Installation section; compatibility routes link there. Reviewed the canonical copy-only lens, chmod, bare setup/default latest/PAT, saved configuration and sign-in steps. Supporting canonical page hashes are recorded below. Exact reviewed source hashes below.",
      "checkedSceneIds": [
        "s03",
        "s04"
      ],
      "sources": [
        {
          "path": "apps/docs/content/operating/installation.mdx",
          "sha256": "d5f74a48aac3c044cee5b6ee8e834fd20d6be25b89147b826626e97fa1ff06bb",
          "scenes": [
            "s03",
            "s04"
          ],
          "previousSha256": "6e41ed99e0a58af5c77a2578eafbc1bfaa170d13545579b1e182cf3fa4cb298b"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "Reviewed current scenes against the compatibility route, canonical target pages and actual merged setup defaults. The existing single-file preparation, bare setup, registry access, latest selection, saved configuration and deploy/sign-in claims remain true. remote is an additional supported alias; deletion is an additional operator action, not part of the narrated flow."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "Separate audience review passed: current commands remain usable and the canonical pages describe the same copy-only installation. Navigation changes do not require narration or visual changes. No source archive is needed for published images."
      },
      "result": "Source-only review. Narration, slides, captions, timeline, encoded media and existing delivery evidence remain unchanged.",
      "preserved": {
        "contentSha256": "911f2b6d69008ac94a5b105e6b7cf5cc1396f21114c6a422472c9698ffc608c4",
        "mp4Sha256": "89ae53e35c2c35a1464e7f502acc5bf312881d0b5cca1a36c31beb220dd87118",
        "buildUnchanged": true
      },
      "limits": [
        "No new encoding, playback or human voice listening. Existing unchanged media evidence is retained."
      ],
      "supportingPages": [
        {
          "path": "apps/docs/content/installation/index.mdx",
          "sha256": "ff2729889fc277974535ebdc6b763e4cd08d98e7c0eea6d783ffad3221c096c5"
        },
        {
          "path": "apps/docs/content/installation/remote.mdx",
          "sha256": "760075d9b9001a1545160fe23ccb9a12a13a68da991606855eb48bb32dca2251"
        }
      ]
    },
    {
      "reviewed": "2026-10-21",
      "sourceSnapshot": "Clarify that application runtime uses Docker while CI builds, skills and development tools run on the host. Exact reviewed source hashes below.",
      "checkedSceneIds": [
        "s25"
      ],
      "sources": [
        {
          "path": "apps/docs/content/architecture/operations/docker-demo.mdx",
          "sha256": "855c980bdc1ca4ff55eb6b575e84687448050320fc97697f795a556ba47f8163",
          "scenes": [
            "s25"
          ],
          "previousSha256": "27e777a510a5b0bbc55028894cf1060ffefc5370290e049d0fc06cb3c5ac70b0"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "Reviewed s25 against the runtime and image-build boundary. The scene describes installer and runtime behaviour and does not claim that host build orchestration runs in Docker. Advisory limits are unchanged."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "Reviewed s25 narration, commands and visuals. The setup explanation remains accurate and clear; the CI execution-location correction needs no narration or visual change."
      },
      "result": "Source-only review. Narration, slides, captions, timeline, encoded media and existing delivery evidence remain unchanged.",
      "preserved": {
        "contentSha256": "85b01d56571dc6077b1df6d63fd8f4269be9adfc8622f229b8f40064d5ff2aa3",
        "mp4Sha256": "11cbcb84d6c1c3c851ebe3227351e0cfc801723b1d6cecc577fd863514547aaf",
        "buildUnchanged": true
      },
      "limits": [
        "No new encoding, playback or human voice listening. Existing unchanged media evidence is retained."
      ]
    },
    {
      "reviewed": "2026-10-21",
      "sourceSnapshot": "Merged main host build orchestration with the corrected main/latest, nightly and release publication description. Current rebuilt film media is retained. Exact reviewed source hashes below.",
      "checkedSceneIds": [
        "s25"
      ],
      "sources": [
        {
          "path": "apps/docs/content/architecture/operations/docker-demo.mdx",
          "sha256": "752d15691801cd9eb9dcf26c33f919d4b82395b3dc0849d7bc344d3a92528064",
          "scenes": [
            "s25"
          ],
          "previousSha256": "52385057a4b24a1f1d9be8ba8852c47bc99df8c419b2d9b56586e01765b0d1cd"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "Read every scene citing the changed page against the merged workflows. Host build commands and skills run directly; application execution and runtime gates use Docker. Runtime setup, storage, release selection and publication claims remain accurate."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "Read narration and commands for every citing scene. The source change clarifies CI execution location; the installation and recovery instructions remain clear. No narration or visual change is required."
      },
      "result": "Source-only review. Narration, slides, captions, timeline, encoded media and existing delivery evidence remain unchanged.",
      "preserved": {
        "contentSha256": "911f2b6d69008ac94a5b105e6b7cf5cc1396f21114c6a422472c9698ffc608c4",
        "mp4Sha256": "89ae53e35c2c35a1464e7f502acc5bf312881d0b5cca1a36c31beb220dd87118",
        "buildUnchanged": true
      },
      "limits": [
        "No new encoding, playback or human voice listening. Existing unchanged media evidence is retained."
      ]
    },
    {
      "reviewed": "2026-10-22",
      "sourceSnapshot": "OpenRouter became setup's default model server (models openrouter/free, API key required, link to https://openrouter.ai/settings/keys); the pages add that choice, the CONWAY_LLM_API_KEY saving rule and the env example line. The first-run recommendation stays none. Exact reviewed source hashes below.",
      "checkedSceneIds": [
        "s00",
        "s01",
        "s02",
        "s03",
        "s04",
        "s05",
        "s06",
        "s07",
        "s08",
        "s09",
        "s10",
        "s11",
        "s12",
        "s13",
        "s14",
        "s15",
        "s16",
        "s17",
        "s18",
        "s19",
        "s20",
        "s21",
        "s22",
        "s23",
        "s24",
        "s25"
      ],
      "sources": [
        {
          "path": "apps/docs/content/operating/docker-demo.mdx",
          "sha256": "40f1e8e3cfd2c8f82d23fa4d2fc050ce2dee684cf9a327750f928d44ff558b54",
          "scenes": [
            "s00",
            "s01",
            "s02",
            "s03",
            "s04",
            "s05",
            "s06",
            "s07",
            "s08",
            "s09",
            "s10",
            "s25",
            "s11",
            "s23",
            "s24"
          ],
          "previousSha256": "671899f16178828248a0442287b958be473fbef39e806c1d55c52020e247dc66"
        },
        {
          "path": "apps/docs/content/architecture/operations/docker-demo.mdx",
          "sha256": "6ddd290fec1eccbcfb86e7fe35330882ae1c1683fa92d0721f7c19c60373e6b9",
          "scenes": [
            "s25"
          ],
          "previousSha256": "752d15691801cd9eb9dcf26c33f919d4b82395b3dc0849d7bc344d3a92528064"
        },
        {
          "path": "apps/docs/content/manuals/operations-manual.mdx",
          "sha256": "788ae2fec50823524f44f0af396363e84522bb27cff0fa545b3522bae1c7401a",
          "scenes": [
            "s00",
            "s01",
            "s02",
            "s03",
            "s04",
            "s08",
            "s09",
            "s10",
            "s25",
            "s11",
            "s12",
            "s13",
            "s14",
            "s15",
            "s16",
            "s17",
            "s18",
            "s19",
            "s20",
            "s21",
            "s22",
            "s23",
            "s24"
          ],
          "previousSha256": "7eb0ada29f0660c9439f03116b5d439f476ad00a954716573e20fbb8564e6490"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "Narration still true: NovusLens maps and advises; model-backed work still needs a configured model server; a first run with no model server is still documented. No Capability, Authority, Responsibility or C/A/R wording is affected."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "Scenes stay accurate: the first run still uses no model server. Limit: s25 lists external and local but not openrouter, the new default; a narration update should add it."
      },
      "result": "Source-only review. Narration, slides, captions, timeline, encoded media and existing delivery evidence remain unchanged.",
      "preserved": {
        "contentSha256": "911f2b6d69008ac94a5b105e6b7cf5cc1396f21114c6a422472c9698ffc608c4",
        "mp4Sha256": "89ae53e35c2c35a1464e7f502acc5bf312881d0b5cca1a36c31beb220dd87118",
        "buildUnchanged": true
      },
      "limits": [
        "No new encoding, playback or human voice listening. Existing unchanged media evidence is retained."
      ]
    },
    {
      "reviewed": "2026-10-22",
      "sourceSnapshot": "Docker installer page: long steps show the latest output line and keep a redacted .novuslens-install.log; common_py page: sign_document_with, new_signing_key and public_key_b64 for the Meridian seed. Exact reviewed source hashes below.",
      "checkedSceneIds": [
        "s25"
      ],
      "sources": [
        {
          "path": "apps/docs/content/architecture/operations/docker-demo.mdx",
          "sha256": "af3f01aeca1b140dbc2956530079bde1d03f253685c2e1e73490a3d14444de63",
          "scenes": [
            "s25"
          ],
          "previousSha256": "6ddd290fec1eccbcfb86e7fe35330882ae1c1683fa92d0721f7c19c60373e6b9"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "Read every cited scene's narration against both page diffs; no scene states install output behaviour or the signing helpers, so all narration stays true and within A17 (maps and advises)."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "Narration unchanged; no new terms reach the audience."
      },
      "result": "Source-only review. Narration, slides, captions, timeline, encoded media and existing delivery evidence remain unchanged.",
      "preserved": {
        "contentSha256": "911f2b6d69008ac94a5b105e6b7cf5cc1396f21114c6a422472c9698ffc608c4",
        "mp4Sha256": "89ae53e35c2c35a1464e7f502acc5bf312881d0b5cca1a36c31beb220dd87118",
        "buildUnchanged": true
      },
      "limits": [
        "No new encoding, playback or human voice listening. Existing unchanged media evidence is retained."
      ]
    },
    {
      "reviewed": "2026-10-23",
      "sourceSnapshot": "quick-start.mdx: one added sentence links to the new Network access page. settings.mdx: new rows for who opens the web interface (this-host by default), the bind address (proxy only) and the advanced-settings gate (no by default); a new Advanced settings table, which now holds the projection interval; a sentence that setup leaves a setting at its default out of .novuslens.env. Exact reviewed source hashes below. Exact reviewed source hashes below.",
      "checkedSceneIds": [
        "s01",
        "s02",
        "s03",
        "s05",
        "s06",
        "s07",
        "s08",
        "s09",
        "s10",
        "s25"
      ],
      "sources": [
        {
          "path": "apps/docs/content/installation/quick-start.mdx",
          "sha256": "07e02aaa3dc38c37163e8a8fb0709a1dd6b28473210c8772b49cbddc81304c29",
          "scenes": [
            "s01",
            "s03",
            "s05",
            "s06",
            "s08",
            "s09",
            "s10"
          ],
          "previousSha256": "94a60b0aa86ae080c4cdc699dea01903b951db050a7516cfacbe7dd316095213"
        },
        {
          "path": "apps/docs/content/installation/settings.mdx",
          "sha256": "a391fde41c95f5ae1c8e7c1fc46c07b1b0e05c7713ca083377e6912f556f8ec4",
          "scenes": [
            "s02",
            "s05",
            "s06",
            "s07",
            "s25"
          ],
          "previousSha256": "b550bd99e0938853ae98bd9c2c2a1b6955f5f9e9ce7b8e9802b99aaee0315d98"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "Each narrated choice (web port, mesh prefix, operator login, passphrase, model server, demo, deploy) stays true. The access question defaults to this-host, so the 127.0.0.1 binding and 'a browser on this Docker host' remain accurate on the default path the film follows; the film makes no claim about proxies or advanced settings. Known gap: the replayed wizard recording (demo-installation.cast) predates the access and advanced questions, whose defaults keep the film's path; #139 (step 6) re-records the cast and rebuilds this film."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "No narration or visual changes; the new rows and the Network access page are not shown in the film."
      },
      "result": "Source-only review. Narration, slides, captions, timeline, encoded media and existing delivery evidence remain unchanged.",
      "preserved": {
        "contentSha256": "3dc0bc5b5987d8fa9b396c7eafa38781a80de00e64eb7d33537788ac9c1d4086",
        "mp4Sha256": "8190d406808caef95cc4c847bf301e3392b827961064393abc7397fe93c0497a",
        "buildUnchanged": true
      },
      "limits": [
        "No new encoding, playback or human voice listening. Existing unchanged media evidence is retained."
      ]
    },
    {
      "reviewed": "2026-10-23",
      "sourceSnapshot": "settings.mdx: setup always writes NOVUSLENS_PROJECTION_INTERVAL (30 unless changed under Advanced settings); the sentence on lines left out at their defaults now names that exception, and the always-written table gains its row. Exact reviewed source hashes below.",
      "checkedSceneIds": [
        "s02",
        "s05",
        "s06",
        "s07",
        "s25"
      ],
      "sources": [
        {
          "path": "apps/docs/content/installation/settings.mdx",
          "sha256": "7b348c19c9452d07c63a9cf17f668cdc12e9f8ac13fceb033af5187338adb607",
          "scenes": [
            "s02",
            "s05",
            "s06",
            "s07",
            "s25"
          ],
          "previousSha256": "a391fde41c95f5ae1c8e7c1fc46c07b1b0e05c7713ca083377e6912f556f8ec4"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "Author read, not independent: every scene citing settings.mdx was read against the change. No scene mentions the projection interval or which lines setup leaves out at their defaults, so each spoken claim stays true."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "Spoken text, captions and on-screen commands are unchanged; the change adds no term to the film."
      },
      "result": "Source-only review. Narration, slides, captions, timeline, encoded media and existing delivery evidence remain unchanged.",
      "preserved": {
        "contentSha256": "3dc0bc5b5987d8fa9b396c7eafa38781a80de00e64eb7d33537788ac9c1d4086",
        "mp4Sha256": "8190d406808caef95cc4c847bf301e3392b827961064393abc7397fe93c0497a",
        "buildUnchanged": true
      },
      "limits": [
        "No new encoding, playback or human voice listening. Existing unchanged media evidence is retained."
      ]
    },
    {
      "reviewed": "2026-10-23",
      "sourceSnapshot": "Added the download site, Novus-i2 password request and distinction between the launcher and application images; retained current installation guidance. Exact reviewed source hashes below.",
      "checkedSceneIds": [
        "s00",
        "s04",
        "s07",
        "s10",
        "s23",
        "s25"
      ],
      "sources": [
        {
          "path": "apps/docs/content/installation/index.mdx",
          "sha256": "7f929d64cbbaf20e071bf87f86a177b7832dc3bc2dd2839c87c5f9a732249974",
          "scenes": [
            "s00",
            "s04",
            "s07",
            "s10",
            "s25",
            "s23"
          ],
          "previousSha256": "6e2ac76f5b5475d5c026ff437c7919910afc570438818c11bdea67013f46563a"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "Reviewed s00, s04, s07, s10, s25 and s23 against the full installation page. Preparation, release selection, private configuration, stop/deploy and backup/restore claims remain supported. The new acquisition instructions do not change runtime behaviour or advisory boundaries."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "Reviewed narration, terminal commands and bullets in s00, s04, s07, s10, s25 and s23. Download guidance is an additional preparation detail; existing instructions remain accurate and clear without changed narration or visuals. Existing media evidence is carried forward, not replayed."
      },
      "result": "Source-only review. Narration, slides, captions, timeline, encoded media and existing delivery evidence remain unchanged.",
      "preserved": {
        "contentSha256": "3dc0bc5b5987d8fa9b396c7eafa38781a80de00e64eb7d33537788ac9c1d4086",
        "mp4Sha256": "8190d406808caef95cc4c847bf301e3392b827961064393abc7397fe93c0497a",
        "buildUnchanged": true
      },
      "limits": [
        "No new encoding, playback or human voice listening. Existing unchanged media evidence is retained."
      ]
    },
    {
      "reviewed": "2026-10-23",
      "sourceSnapshot": "Main adds the protected download-site address and says it supplies lens; all installation commands, image choices and recovery statements are unchanged. Exact reviewed source hashes below.",
      "checkedSceneIds": [
        "s00",
        "s04",
        "s07",
        "s10",
        "s23",
        "s25"
      ],
      "sources": [
        {
          "path": "apps/docs/content/installation/index.mdx",
          "sha256": "7f929d64cbbaf20e071bf87f86a177b7832dc3bc2dd2839c87c5f9a732249974",
          "scenes": [
            "s00",
            "s04",
            "s07",
            "s10",
            "s25",
            "s23"
          ],
          "previousSha256": "6e2ac76f5b5475d5c026ff437c7919910afc570438818c11bdea67013f46563a"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "Read s00, s04, s07, s10, s25 and s23 against the complete Installation page. Their prerequisites, source/published modes, private configuration, retained volumes and backup/restore meaning remain true. The added file-acquisition paragraph changes no framework or runtime boundary."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "Separate operator-clarity review of s00, s04, s07, s10, s25 and s23: their commands and order stay accurate. The film starts with a prepared host and copying an obtained lens file; it does not claim to show the password-protected download site."
      },
      "result": "Source-only review. Narration, slides, captions, timeline, encoded media and existing delivery evidence remain unchanged.",
      "preserved": {
        "contentSha256": "21249875413cd3fe062cb29469ea479b12c11f14380916f25f3a2dd8c7b5792b",
        "mp4Sha256": "5da2018f0235752ad44fb8d0b591078ac4ebe27c7f5cba2eda4dbce6fe7d0359",
        "buildUnchanged": true
      },
      "limits": [
        "No new encoding, playback or human voice listening. Existing unchanged media evidence is retained."
      ]
    },
    {
      "reviewed": "2026-10-23",
      "sourceSnapshot": "The error section names the full traceback file and its secret-handling restriction; imports and their semantics are unchanged. Exact reviewed source hashes below.",
      "checkedSceneIds": [
        "s13"
      ],
      "sources": [
        {
          "path": "apps/docs/content/data/formats/orgchart.mdx",
          "sha256": "984d5c6e465143e2f8e3ebba035a8640add956c011c0069d73c6825b16299a4f",
          "scenes": [
            "s13"
          ],
          "previousSha256": "769029285beeaa288dc243ce6ab01d8e8f7b7be50a34e50de44b17e1fd565ecd"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "Author review of s13: narration describes chart import, shown/told evidence and confirmation. The changed error guidance alters none of these claims or the screenshot."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "No spoken or visible text changes. The source adds concrete diagnostic guidance only. Existing media evidence retained; no new playback or listening."
      },
      "result": "Source-only review. Narration, slides, captions, timeline, encoded media and existing delivery evidence remain unchanged.",
      "preserved": {
        "contentSha256": "3dc0bc5b5987d8fa9b396c7eafa38781a80de00e64eb7d33537788ac9c1d4086",
        "mp4Sha256": "8190d406808caef95cc4c847bf301e3392b827961064393abc7397fe93c0497a",
        "buildUnchanged": true
      },
      "limits": [
        "No new encoding, playback or human voice listening. Existing unchanged media evidence is retained."
      ]
    },
    {
      "reviewed": "2026-10-23",
      "sourceSnapshot": "Logging dependency adds the full traceback-file warning to org-chart refusal documentation. Exact reviewed source hashes below.",
      "checkedSceneIds": [
        "s13"
      ],
      "sources": [
        {
          "path": "apps/docs/content/data/formats/orgchart.mdx",
          "sha256": "984d5c6e465143e2f8e3ebba035a8640add956c011c0069d73c6825b16299a4f",
          "scenes": [
            "s13"
          ],
          "previousSha256": "769029285beeaa288dc243ce6ab01d8e8f7b7be50a34e50de44b17e1fd565ecd"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "Reviewed s13 narration, import actions and screenshot against the full final org-chart page. It still distinguishes chart structure at shown from interview statements at told; the added refusal diagnostic changes no narrated claim or visual."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "Reviewed s13 for operator clarity. Existing browser import steps remain accurate; the new CLI diagnostic and secret-file warning need no narration change. No fresh playback or listening."
      },
      "result": "Source-only review. Narration, slides, captions, timeline, encoded media and existing delivery evidence remain unchanged.",
      "preserved": {
        "contentSha256": "21249875413cd3fe062cb29469ea479b12c11f14380916f25f3a2dd8c7b5792b",
        "mp4Sha256": "5da2018f0235752ad44fb8d0b591078ac4ebe27c7f5cba2eda4dbce6fe7d0359",
        "buildUnchanged": true
      },
      "limits": [
        "No new encoding, playback or human voice listening. Existing unchanged media evidence is retained."
      ]
    },
    {
      "reviewed": "2026-10-23",
      "sourceSnapshot": "Merge retains the installation-route and download guidance from main. The developer gate example uses lens ops. Scene s25 remains unchanged. Exact reviewed source hashes below.",
      "checkedSceneIds": [
        "s25"
      ],
      "sources": [
        {
          "path": "apps/docs/content/architecture/operations/docker-demo.mdx",
          "sha256": "671b92fee59c91ec63c3db7023f7165c2f4c41276940be11d0d8281fe95b754e",
          "scenes": [
            "s25"
          ],
          "previousSha256": "d77ef05beece54077e5d899091eae3fc9c17e7f5212ecfeb328033026d2ca975"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "The command spelling changes no release, model or fictional-data claim. Incoming installation source reviews and the verified media are preserved."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "The configuration scene still uses lens configure and resume. The developer example is outside its commands and narration."
      },
      "result": "Source-only review. Narration, slides, captions, timeline, encoded media and existing delivery evidence remain unchanged.",
      "preserved": {
        "contentSha256": "3dc0bc5b5987d8fa9b396c7eafa38781a80de00e64eb7d33537788ac9c1d4086",
        "mp4Sha256": "8190d406808caef95cc4c847bf301e3392b827961064393abc7397fe93c0497a",
        "buildUnchanged": true
      },
      "limits": [
        "No new encoding, playback or human voice listening. Existing unchanged media evidence is retained."
      ]
    },
    {
      "reviewed": "2026-10-23",
      "sourceSnapshot": "Current main changes the working-tree gate command from ./ops --version dev to ./lens ops --version dev; the Compose installation body remains supported. Exact reviewed source hashes below.",
      "checkedSceneIds": [
        "s25"
      ],
      "sources": [
        {
          "path": "apps/docs/content/architecture/operations/docker-demo.mdx",
          "sha256": "671b92fee59c91ec63c3db7023f7165c2f4c41276940be11d0d8281fe95b754e",
          "scenes": [
            "s25"
          ],
          "previousSha256": "d77ef05beece54077e5d899091eae3fc9c17e7f5212ecfeb328033026d2ca975"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "Reviewed full Docker deployment page and s25 narration, commands, terminal visual mapping and release/model choices. The updated working-tree gate command changes no narrated operator workflow or advisory boundary."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "s25 still clearly identifies setup, configure and resume with the saved installation identity. No narration or encoded media change is needed for the updated working-tree gate command. No fresh playback or listening."
      },
      "result": "Source-only review. Narration, slides, captions, timeline, encoded media and existing delivery evidence remain unchanged.",
      "preserved": {
        "contentSha256": "21249875413cd3fe062cb29469ea479b12c11f14380916f25f3a2dd8c7b5792b",
        "mp4Sha256": "5da2018f0235752ad44fb8d0b591078ac4ebe27c7f5cba2eda4dbce6fe7d0359",
        "buildUnchanged": true
      },
      "limits": [
        "No new encoding, playback or human voice listening. Existing unchanged media evidence is retained."
      ]
    },
    {
      "reviewed": "2026-10-23",
      "sourceSnapshot": "Integrate current main while preserving the reviewed Luna default and explicit setup model choices. Exact reviewed source hashes below.",
      "checkedSceneIds": [
        "s02",
        "s05",
        "s06",
        "s07",
        "s25"
      ],
      "sources": [
        {
          "path": "apps/docs/content/architecture/operations/docker-demo.mdx",
          "sha256": "80bbf62a861fb6a073c9f9d1a4caee4d0262acc8d3ea1d6354590d7c64ae0c34",
          "scenes": [
            "s25"
          ],
          "previousSha256": "671b92fee59c91ec63c3db7023f7165c2f4c41276940be11d0d8281fe95b754e"
        },
        {
          "path": "apps/docs/content/installation/settings.mdx",
          "sha256": "3d97ca2a3e8842c8fbbcf64fe852dfaa0d53b778f505f10e0e4c32d2242601da",
          "scenes": [
            "s02",
            "s05",
            "s06",
            "s07",
            "s25"
          ],
          "previousSha256": "b550bd99e0938853ae98bd9c2c2a1b6955f5f9e9ce7b8e9802b99aaee0315d98"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "Scenes s02, s05, s06, s07 and s25 remain accurate. They do not state a hosted default model; the model changes preserve the advisory boundary."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "Existing setup instructions remain accurate. New model flags are optional and do not change the demonstrated journey. Media unchanged."
      },
      "result": "Source-only review. Narration, slides, captions, timeline, encoded media and existing delivery evidence remain unchanged.",
      "preserved": {
        "contentSha256": "3dc0bc5b5987d8fa9b396c7eafa38781a80de00e64eb7d33537788ac9c1d4086",
        "mp4Sha256": "8190d406808caef95cc4c847bf301e3392b827961064393abc7397fe93c0497a",
        "buildUnchanged": true
      },
      "limits": [
        "No new encoding, playback or human voice listening. Existing unchanged media evidence is retained."
      ]
    },
    {
      "reviewed": "2026-10-24",
      "sourceSnapshot": "New main adds explicit model-option answers, free/tilde support and gpt-6-luna as the new OpenRouter default; final setup page retains network and advanced questions. Exact reviewed source hashes below.",
      "checkedSceneIds": [
        "s02",
        "s05",
        "s06",
        "s07",
        "s25"
      ],
      "sources": [
        {
          "path": "apps/docs/content/installation/settings.mdx",
          "sha256": "cd868282f82e2b7a836860114408f8ccb542bf187eb0e238f71ae99fc948a390",
          "scenes": [
            "s02",
            "s05",
            "s06",
            "s07",
            "s25"
          ],
          "previousSha256": "7b348c19c9452d07c63a9cf17f668cdc12e9f8ac13fceb033af5187338adb607"
        },
        {
          "path": "apps/docs/content/architecture/operations/docker-demo.mdx",
          "sha256": "80bbf62a861fb6a073c9f9d1a4caee4d0262acc8d3ea1d6354590d7c64ae0c34",
          "scenes": [
            "s25"
          ],
          "previousSha256": "671b92fee59c91ec63c3db7023f7165c2f4c41276940be11d0d8281fe95b754e"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "Read both full final source pages and reviewed s02,s05,s06,s07,s25 narration, commands and terminal mapping. These scenes choose no model server for the demo and describe OpenRouter without naming a default model. The recorded cast contains neither openrouter/free nor gpt-6-luna and asks no model-name question on its none path. All claims remain true, including saved configuration and network identity. No product authority claim changes."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "The filmed none path, port, private range, account and private configuration remain clear and supported. Optional explicit model answers and the new OpenRouter model default do not alter the demonstrated path or any named slide text. No fresh rendering, playback or listening."
      },
      "result": "Source-only review. Narration, slides, captions, timeline, encoded media and existing delivery evidence remain unchanged.",
      "preserved": {
        "contentSha256": "21249875413cd3fe062cb29469ea479b12c11f14380916f25f3a2dd8c7b5792b",
        "mp4Sha256": "5da2018f0235752ad44fb8d0b591078ac4ebe27c7f5cba2eda4dbce6fe7d0359",
        "buildUnchanged": true
      },
      "limits": [
        "No new encoding, playback or human voice listening. Existing unchanged media evidence is retained."
      ]
    },
    {
      "reviewed": "2026-10-23",
      "sourceSnapshot": "Added eight running-installation doctor checks and repair commands; existing troubleshooting and diagnostic-packet sections remain. Exact reviewed source hashes below.",
      "checkedSceneIds": [
        "s09",
        "s24"
      ],
      "sources": [
        {
          "path": "apps/docs/content/operating/troubleshooting.mdx",
          "sha256": "d9a93b776ebaa57dc7cf7ba931bf1a16a8a4ecadcf8923f9b90eb77daf1a9705",
          "scenes": [
            "s09",
            "s24"
          ],
          "previousSha256": "83d555c1f3c878c07c458037c660580e32e1faad6b8e90ddc80c0267f7f45fb5"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "Reviewed scenes s09 and s24: preserving the installation, using status/logs and collecting redacted diagnostics remain correct. The new checks retain tested release identity and the advisory product boundary."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "The scenes still give clear operator steps and preserve-state guidance. The new table adds doctor details without changing the narrated recovery sequence."
      },
      "result": "Source-only review. Narration, slides, captions, timeline, encoded media and existing delivery evidence remain unchanged.",
      "preserved": {
        "contentSha256": "3dc0bc5b5987d8fa9b396c7eafa38781a80de00e64eb7d33537788ac9c1d4086",
        "mp4Sha256": "8190d406808caef95cc4c847bf301e3392b827961064393abc7397fe93c0497a",
        "buildUnchanged": true
      },
      "limits": [
        "No new encoding, playback or human voice listening. Existing unchanged media evidence is retained."
      ]
    },
    {
      "reviewed": "2026-10-23",
      "sourceSnapshot": "Doctor adds eight running-installation checks and repair commands; the troubleshooting and diagnostic-packet sections remain. Exact reviewed source hashes below.",
      "checkedSceneIds": [
        "s09",
        "s24"
      ],
      "sources": [
        {
          "path": "apps/docs/content/operating/troubleshooting.mdx",
          "sha256": "d9a93b776ebaa57dc7cf7ba931bf1a16a8a4ecadcf8923f9b90eb77daf1a9705",
          "scenes": [
            "s09",
            "s24"
          ],
          "previousSha256": "83d555c1f3c878c07c458037c660580e32e1faad6b8e90ddc80c0267f7f45fb5"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "Read current approved film scenes s09 and s24 against the complete troubleshooting page. Preserve configuration and journals, status/logs, release identity, redacted diagnostics and model checks remain accurate. New doctor checks preserve actual runtime identity and the advisory boundary."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "Both current scenes give clear operator actions and preserve-state guidance. Added doctor details do not change their narrated recovery sequence; existing current wizard media is retained."
      },
      "result": "Source-only review. Narration, slides, captions, timeline, encoded media and existing delivery evidence remain unchanged.",
      "preserved": {
        "contentSha256": "21249875413cd3fe062cb29469ea479b12c11f14380916f25f3a2dd8c7b5792b",
        "mp4Sha256": "5da2018f0235752ad44fb8d0b591078ac4ebe27c7f5cba2eda4dbce6fe7d0359",
        "buildUnchanged": true
      },
      "limits": [
        "No new encoding, playback or human voice listening. Existing unchanged media evidence is retained."
      ]
    },
    {
      "reviewed": "2026-10-23",
      "sourceSnapshot": "Codex reviewed main download-site instructions against all six cited Operations scenes Exact reviewed source hashes below.",
      "checkedSceneIds": [
        "s00",
        "s04",
        "s07",
        "s10",
        "s23",
        "s25"
      ],
      "sources": [
        {
          "path": "apps/docs/content/installation/index.mdx",
          "sha256": "7f929d64cbbaf20e071bf87f86a177b7832dc3bc2dd2839c87c5f9a732249974",
          "scenes": [
            "s00",
            "s04",
            "s07",
            "s10",
            "s25",
            "s23"
          ],
          "previousSha256": "6e2ac76f5b5475d5c026ff437c7919910afc570438818c11bdea67013f46563a"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "Acquisition paragraph does not change host prerequisites, saved identity, setup modes, stop, backup or restore claims in s00 s04 s07 s10 s25 s23."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "The new password and release-download guidance supplies context before installation; existing Operations narration remains accurate."
      },
      "result": "Source-only review. Narration, slides, captions, timeline, encoded media and existing delivery evidence remain unchanged.",
      "preserved": {
        "contentSha256": "21249875413cd3fe062cb29469ea479b12c11f14380916f25f3a2dd8c7b5792b",
        "mp4Sha256": "5da2018f0235752ad44fb8d0b591078ac4ebe27c7f5cba2eda4dbce6fe7d0359",
        "buildUnchanged": true
      },
      "limits": [
        "No new encoding, playback or human voice listening. Existing unchanged media evidence is retained."
      ]
    },
    {
      "reviewed": "2026-10-23",
      "sourceSnapshot": "Main adds the password-protected lens download site and explains separate application download. Exact reviewed source hashes below.",
      "checkedSceneIds": [
        "s00",
        "s04",
        "s07",
        "s10",
        "s23",
        "s25"
      ],
      "sources": [
        {
          "path": "apps/docs/content/installation/index.mdx",
          "sha256": "7f929d64cbbaf20e071bf87f86a177b7832dc3bc2dd2839c87c5f9a732249974",
          "scenes": [
            "s00",
            "s04",
            "s07",
            "s10",
            "s25",
            "s23"
          ],
          "previousSha256": "6e2ac76f5b5475d5c026ff437c7919910afc570438818c11bdea67013f46563a"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "Read every cited scene s00 s04 s07 s10 s25 s23 against the page: copying lens, setup modes, saved credentials, configuration identity and recovery facts remain true; no narration or media changed."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "The extra download instructions are plain operational detail; existing narration remains understandable."
      },
      "result": "Source-only review. Narration, slides, captions, timeline, encoded media and existing delivery evidence remain unchanged.",
      "preserved": {
        "contentSha256": "21249875413cd3fe062cb29469ea479b12c11f14380916f25f3a2dd8c7b5792b",
        "mp4Sha256": "5da2018f0235752ad44fb8d0b591078ac4ebe27c7f5cba2eda4dbce6fe7d0359",
        "buildUnchanged": true
      },
      "limits": [
        "No new encoding, playback or human voice listening. Existing unchanged media evidence is retained."
      ]
    },
    {
      "reviewed": "2026-10-26",
      "sourceSnapshot": "Docs-only edit: removed the maintainer recording-tool instructions, the remote:<version> paragraph or added a Next steps list; no narrated claim changed. Exact reviewed source hashes below.",
      "checkedSceneIds": [
        "s00",
        "s01",
        "s02",
        "s03",
        "s04",
        "s05",
        "s06",
        "s07",
        "s08",
        "s09",
        "s10",
        "s11",
        "s12",
        "s13",
        "s14",
        "s15",
        "s16",
        "s17",
        "s18",
        "s19",
        "s20",
        "s21",
        "s22",
        "s23",
        "s24",
        "s25"
      ],
      "sources": [
        {
          "path": "apps/docs/content/installation/index.mdx",
          "sha256": "9d4f39252a8e3f1adaae0ae4ebbade1c7167cdc0d869ae21928a19a259ee7eca",
          "scenes": [
            "s00",
            "s04",
            "s07",
            "s10",
            "s25",
            "s23"
          ],
          "previousSha256": "7f929d64cbbaf20e071bf87f86a177b7832dc3bc2dd2839c87c5f9a732249974"
        },
        {
          "path": "apps/docs/content/installation/quick-start.mdx",
          "sha256": "22dcce6788f392343814d135fc838fce406995cb3ea2d081fce0080b27eff1ff",
          "scenes": [
            "s01",
            "s03",
            "s05",
            "s06",
            "s08",
            "s09",
            "s10"
          ],
          "previousSha256": "07e02aaa3dc38c37163e8a8fb0709a1dd6b28473210c8772b49cbddc81304c29"
        },
        {
          "path": "apps/docs/content/manuals/operations-manual.mdx",
          "sha256": "8ecd6818d7bab7fc4ea67bcd24b4c5f1a757d8b9f3d9b6128c3cdd5847ae28b9",
          "scenes": [
            "s00",
            "s01",
            "s02",
            "s03",
            "s04",
            "s08",
            "s09",
            "s10",
            "s25",
            "s11",
            "s12",
            "s13",
            "s14",
            "s15",
            "s16",
            "s17",
            "s18",
            "s19",
            "s20",
            "s21",
            "s22",
            "s23",
            "s24"
          ],
          "previousSha256": "0f8596f4de07b85feb44e465f43f1c6fba49f090fdaa4d9182b29b4032072fba"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "Read each cited scene's narration against the page: none mentions the removed or added text, so every claim still holds."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "Narration text and media unchanged, so readability metrics are unchanged."
      },
      "result": "Source-only review. Narration, slides, captions, timeline, encoded media and existing delivery evidence remain unchanged.",
      "preserved": {
        "contentSha256": "21249875413cd3fe062cb29469ea479b12c11f14380916f25f3a2dd8c7b5792b",
        "mp4Sha256": "5da2018f0235752ad44fb8d0b591078ac4ebe27c7f5cba2eda4dbce6fe7d0359",
        "buildUnchanged": true
      },
      "limits": [
        "No new encoding, playback or human voice listening. Existing unchanged media evidence is retained."
      ]
    },
    {
      "reviewed": "2026-10-26",
      "sourceSnapshot": "Docs-only edit: removed the remote:<version> note; kept the marker sentence. Exact reviewed source hashes below.",
      "checkedSceneIds": [
        "s00",
        "s04",
        "s07",
        "s10",
        "s23",
        "s25"
      ],
      "sources": [
        {
          "path": "apps/docs/content/installation/index.mdx",
          "sha256": "10b11f4e68dd33d074d18f214877a4bb568c1eff9449527f22c3574adc472919",
          "scenes": [
            "s00",
            "s04",
            "s07",
            "s10",
            "s25",
            "s23"
          ],
          "previousSha256": "9d4f39252a8e3f1adaae0ae4ebbade1c7167cdc0d869ae21928a19a259ee7eca"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "Read each cited scene's narration against the page: none mentions the removed text, so every claim still holds."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "Narration text and media unchanged, so readability metrics are unchanged."
      },
      "result": "Source-only review. Narration, slides, captions, timeline, encoded media and existing delivery evidence remain unchanged.",
      "preserved": {
        "contentSha256": "21249875413cd3fe062cb29469ea479b12c11f14380916f25f3a2dd8c7b5792b",
        "mp4Sha256": "5da2018f0235752ad44fb8d0b591078ac4ebe27c7f5cba2eda4dbce6fe7d0359",
        "buildUnchanged": true
      },
      "limits": [
        "No new encoding, playback or human voice listening. Existing unchanged media evidence is retained."
      ]
    },
    {
      "reviewed": "2026-10-26",
      "sourceSnapshot": "Issue #183, merged with main: 16 dash-split headings in the operations manual were renamed without the dash (for example 'The stack — five layers, in Docker' became 'The five-layer Docker stack'). Explicit anchors and body text are unchanged; main's own edits to the page are carried unchanged. Exact reviewed source hashes below. Exact reviewed source hashes below.",
      "checkedSceneIds": [
        "s00",
        "s01",
        "s02",
        "s03",
        "s04",
        "s08",
        "s09",
        "s10",
        "s11",
        "s12",
        "s13",
        "s14",
        "s15",
        "s16",
        "s17",
        "s18",
        "s19",
        "s20",
        "s21",
        "s22",
        "s23",
        "s24",
        "s25"
      ],
      "sources": [
        {
          "path": "apps/docs/content/manuals/operations-manual.mdx",
          "sha256": "78b0fed177c76a4269b0ccfee3e214a0fc8f5e84a174e6951247e1a3e757f79f",
          "scenes": [
            "s00",
            "s01",
            "s02",
            "s03",
            "s04",
            "s08",
            "s09",
            "s10",
            "s25",
            "s11",
            "s12",
            "s13",
            "s14",
            "s15",
            "s16",
            "s17",
            "s18",
            "s19",
            "s20",
            "s21",
            "s22",
            "s23",
            "s24"
          ],
          "previousSha256": "8ecd6818d7bab7fc4ea67bcd24b4c5f1a757d8b9f3d9b6128c3cdd5847ae28b9"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "Compared the merged page with main: the only differences are the 16 heading renames. No narration, slide or command quotes a renamed heading (one scene says 'Prepare the Docker host', which is the new heading). Anchors and body claims are unchanged, so advisory role, evidence limits and commands remain as reviewed."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "Scene titles are the film's own and do not repeat the old manual headings. The renamed headings name each task more plainly; no scene needs a wording change."
      },
      "result": "Source-only review. Narration, slides, captions, timeline, encoded media and existing delivery evidence remain unchanged.",
      "preserved": {
        "contentSha256": "21249875413cd3fe062cb29469ea479b12c11f14380916f25f3a2dd8c7b5792b",
        "mp4Sha256": "5da2018f0235752ad44fb8d0b591078ac4ebe27c7f5cba2eda4dbce6fe7d0359",
        "buildUnchanged": true
      },
      "limits": [
        "No new encoding, playback or human voice listening. Existing unchanged media evidence is retained."
      ]
    },
    {
      "reviewed": "2026-10-26",
      "sourceSnapshot": "Issue #184, re-recorded after merging main (a0cb0e04): the Quick Start monitor step adds the m (mesh) and d (read model) views, the key that returns to the setup journal, and faults for a missing peer, a rising alarm count, a failed analysis pass and a quarantined record. The operations manual's monitor sentence names the m and d keys. Main's own edits to these pages carry main's recorded review. Exact reviewed source hashes below.",
      "checkedSceneIds": [
        "s00",
        "s01",
        "s02",
        "s03",
        "s04",
        "s05",
        "s06",
        "s08",
        "s09",
        "s10",
        "s11",
        "s12",
        "s13",
        "s14",
        "s15",
        "s16",
        "s17",
        "s18",
        "s19",
        "s20",
        "s21",
        "s22",
        "s23",
        "s24",
        "s25"
      ],
      "sources": [
        {
          "path": "apps/docs/content/installation/quick-start.mdx",
          "sha256": "8f5f82fc714ece90ab79c0d6a9705466a7c8650dc1a6855ff4c9b67e8fda7ac2",
          "scenes": [
            "s01",
            "s03",
            "s05",
            "s06",
            "s08",
            "s09",
            "s10"
          ],
          "previousSha256": "22dcce6788f392343814d135fc838fce406995cb3ea2d081fce0080b27eff1ff"
        },
        {
          "path": "apps/docs/content/manuals/operations-manual.mdx",
          "sha256": "ce797b9db408494f7b54332b4cbacc715018ece299925de163705452755ceefb",
          "scenes": [
            "s00",
            "s01",
            "s02",
            "s03",
            "s04",
            "s08",
            "s09",
            "s10",
            "s25",
            "s11",
            "s12",
            "s13",
            "s14",
            "s15",
            "s16",
            "s17",
            "s18",
            "s19",
            "s20",
            "s21",
            "s22",
            "s23",
            "s24"
          ],
          "previousSha256": "78b0fed177c76a4269b0ccfee3e214a0fc8f5e84a174e6951247e1a3e757f79f"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "The monitor still only observes one installation: the new views read node statistics and the read model read-only and never start, stop or change anything (A17). No affected scene describes monitor screens, views, keys or faults; the films show only the ./lens monitor command, so narration, commands and visuals stay accurate."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "No affected scene narrates the monitor's views, keys or fault list, so the added detail changes nothing a viewer hears or reads. Reviewed every affected scene's narration and visual; no media was rebuilt, played or listened to."
      },
      "result": "Source-only review. Narration, slides, captions, timeline, encoded media and existing delivery evidence remain unchanged.",
      "preserved": {
        "contentSha256": "21249875413cd3fe062cb29469ea479b12c11f14380916f25f3a2dd8c7b5792b",
        "mp4Sha256": "5da2018f0235752ad44fb8d0b591078ac4ebe27c7f5cba2eda4dbce6fe7d0359",
        "buildUnchanged": true
      },
      "limits": [
        "No new encoding, playback or human voice listening. Existing unchanged media evidence is retained."
      ]
    },
    {
      "reviewed": "2026-10-26",
      "sourceSnapshot": "Issue #198: the Docker demo page now says every build stages its images in the registry under temporary architecture tags, and that nightly and release builds stage only after their rehearsal, under run-named tags, instead of retaining image artifacts. Exact reviewed source hashes below. Exact reviewed source hashes below.",
      "checkedSceneIds": [
        "s25"
      ],
      "sources": [
        {
          "path": "apps/docs/content/architecture/operations/docker-demo.mdx",
          "sha256": "bd1d588952a0fca9445c489c34a48a71497bdef87fa58fe4ad545066c50cc0a1",
          "scenes": [
            "s25"
          ],
          "previousSha256": "80bbf62a861fb6a073c9f9d1a4caee4d0262acc8d3ea1d6354590d7c64ae0c34"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "Reviewed every scene citing the page. No narration, slide or command mentions image artifacts or staging tags. The film names GHCR only for the sign-in that pulls published images, which this change does not touch; its claims stay within the advisory role and evidence limits."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "No scene repeats the changed sentences, so no wording change is needed; the page's new sentences are plainer about how images reach publication."
      },
      "result": "Source-only review. Narration, slides, captions, timeline, encoded media and existing delivery evidence remain unchanged.",
      "preserved": {
        "contentSha256": "21249875413cd3fe062cb29469ea479b12c11f14380916f25f3a2dd8c7b5792b",
        "mp4Sha256": "5da2018f0235752ad44fb8d0b591078ac4ebe27c7f5cba2eda4dbce6fe7d0359",
        "buildUnchanged": true
      },
      "limits": [
        "No new encoding, playback or human voice listening. Existing unchanged media evidence is retained."
      ]
    },
    {
      "reviewed": "2026-10-27",
      "sourceSnapshot": "Merge of origin/main into the lens start branch. Main's edits to these pages: operations-manual headings reworded and a Next steps list added; monitor m and d keys added (quick-start, operations-manual); the recording-tool details and the remote:<version> spelling removed (quick-start, index); image staging reworded (docker-demo). This branch's edits rename ./lens deploy to ./lens start. The two sets of edits touch different lines. Exact reviewed source hashes below.",
      "checkedSceneIds": [
        "s00",
        "s01",
        "s02",
        "s03",
        "s04",
        "s05",
        "s06",
        "s07",
        "s08",
        "s09",
        "s10",
        "s11",
        "s12",
        "s13",
        "s14",
        "s15",
        "s16",
        "s17",
        "s18",
        "s19",
        "s20",
        "s21",
        "s22",
        "s23",
        "s24",
        "s25"
      ],
      "sources": [
        {
          "path": "apps/docs/content/architecture/operations/docker-demo.mdx",
          "sha256": "ee64fdb229c5b8a5cea70b2540ffcc4e6d52a6586190d966c8dd105b1fe6f63e",
          "scenes": [
            "s25"
          ],
          "previousSha256": "d8fb952e2fae2fc392ecfd5908f6c242a9ad71ee450d32042b070b7aa6159f1b"
        },
        {
          "path": "apps/docs/content/installation/index.mdx",
          "sha256": "4dac41c6fb34a8b76d220ea5372fd796b367e91a38db935e556ef35995bca3e7",
          "scenes": [
            "s00",
            "s04",
            "s07",
            "s10",
            "s25",
            "s23"
          ],
          "previousSha256": "dd17ae9a2a9b6ae2953c863456316286d14380fca702f7400e9503e87141110e"
        },
        {
          "path": "apps/docs/content/installation/quick-start.mdx",
          "sha256": "01e92dfa3c14e02efddc23146853817331da4af2a25ff4c76fcf36b73f373738",
          "scenes": [
            "s01",
            "s03",
            "s05",
            "s06",
            "s08",
            "s09",
            "s10"
          ],
          "previousSha256": "8f1538216a17fb3298d2f8259fc485ee67016f1c97563f6075c7de900b72c42e"
        },
        {
          "path": "apps/docs/content/manuals/operations-manual.mdx",
          "sha256": "05d2e122fc2b88136a3c3738387cab3001b55da12824ebe30067ae7deb53dd8a",
          "scenes": [
            "s00",
            "s01",
            "s02",
            "s03",
            "s04",
            "s08",
            "s09",
            "s10",
            "s25",
            "s11",
            "s12",
            "s13",
            "s14",
            "s15",
            "s16",
            "s17",
            "s18",
            "s19",
            "s20",
            "s21",
            "s22",
            "s23",
            "s24"
          ],
          "previousSha256": "47c02365cc6b02c3b07c338174f12ef921314d14b73eab03213f4b9dff347873"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "Pass: main's edits were reviewed against each scene in its own source review, and this branch's rename was reviewed when the films were rebuilt. Read together, no scene names the removed recording tool, the remote: spelling, an old heading or the image staging step, so every claim still holds. The films still say ./lens start where the pages do. Limit: text review only; no media changed."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "Pass: the merged pages add no term the narration repeats, and no wording a viewer hears depends on the changed lines. Limit: no media was regenerated or replayed for this record."
      },
      "result": "Source-only review. Narration, slides, captions, timeline, encoded media and existing delivery evidence remain unchanged.",
      "preserved": {
        "contentSha256": "4926096abee8aae3ac68b06c212ba60b7a9b90a8aa8a11f033ee6e657b885018",
        "mp4Sha256": "587fac6ae84ed48a040a08c925dd88af2e9b0b5841bfac0f0d1796ccb84cdc1c",
        "buildUnchanged": true
      },
      "limits": [
        "No new encoding, playback or human voice listening. Existing unchanged media evidence is retained."
      ]
    },
    {
      "reviewed": "2026-10-27",
      "sourceSnapshot": "settings.mdx adds that each installation on one host needs its own COMPOSE_PROJECT_NAME because deployment, backup and restore refuse another installation's volumes; troubleshooting.mdx adds the 'volume <name> belongs to the installation in <directory>' row with its repairs. Exact reviewed source hashes below.",
      "checkedSceneIds": [
        "s02",
        "s05",
        "s06",
        "s07",
        "s09",
        "s24",
        "s25"
      ],
      "sources": [
        {
          "path": "apps/docs/content/installation/settings.mdx",
          "sha256": "505300e49f5fa756839f6a2d84d80050ea0d1e274790a1099634369bb7818a39",
          "scenes": [
            "s02",
            "s05",
            "s06",
            "s07",
            "s25"
          ],
          "previousSha256": "583ee5512ae65fb48145251ba7cdc2887a599a368057f537e9e548b29dfed7ff"
        },
        {
          "path": "apps/docs/content/operating/troubleshooting.mdx",
          "sha256": "24d21f5c7e6fe18dfd4b806617868d5fee984fc7e1e75e229f1dbc5c6ad9160a",
          "scenes": [
            "s09",
            "s24"
          ],
          "previousSha256": "b5997e4c0880a33ee53bbde8e391aa0418aac8c982331196cdb2c3f69e35e319"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "Additive only. No scene claims two installations may share a project name; 'keep the project name unchanged' for one installation's upgrades still holds. Maps and advises; no boundary change."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "No narration, slide or command text changes; the added page text is not spoken."
      },
      "result": "Source-only review. Narration, slides, captions, timeline, encoded media and existing delivery evidence remain unchanged.",
      "preserved": {
        "contentSha256": "b8fff2673d509a4289db43c80e4da86e789c4f3af94691eaed3edeb0df2cada6",
        "mp4Sha256": "2ce9d3655080d845ac1775cd5a0921cf0836da7f75d3fd5d768fc2e6cbd9d8b3",
        "buildUnchanged": true
      },
      "limits": [
        "No new encoding, playback or human voice listening. Existing unchanged media evidence is retained."
      ]
    },
    {
      "reviewed": "2026-10-27",
      "sourceSnapshot": "PR #225 (#220): operator-shell.mdx changes 19f87ab7 -> bb8ee2ec. The create-viewer row now says it refuses an existing name and names ./lens graph update-viewer, and that ./lens viewer, ./lens create-viewer and ./lens graph viewer run it with the same flags; ./lens viewer leaves the not-a-command list. No other page cited by the film changed. Exact reviewed source hashes below. Exact reviewed source hashes below.",
      "checkedSceneIds": [
        "s11",
        "s12"
      ],
      "sources": [
        {
          "path": "apps/docs/content/operating/operator-shell.mdx",
          "sha256": "bb8ee2ecc8dd98efe7a60655d820fb7ca9ad3fa968718271905449409b833000",
          "scenes": [
            "s11",
            "s12"
          ],
          "previousSha256": "19f87ab72c3ad0311562f5897f029b50a4ed9324141c8121a0386e3a1bbaa523"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "Reviewed s11 and s12, the only scenes citing the page. Both show and narrate ./lens graph create-viewer, which stays the canonical command with the same flags; the role, organisation scope, no-self-signup and passphrase claims are unchanged. No narrated or on-screen claim became false. Advisory role and product boundary unaffected."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "s11 and s12 narration and on-screen commands remain accurate and complete for an operator; the new shorthands are optional and need no mention in the film. Media, build, mastering and delivery evidence carried forward unchanged; no fresh render, playback or listening was done."
      },
      "result": "Source-only review. Narration, slides, captions, timeline, encoded media and existing delivery evidence remain unchanged.",
      "preserved": {
        "contentSha256": "b8fff2673d509a4289db43c80e4da86e789c4f3af94691eaed3edeb0df2cada6",
        "mp4Sha256": "2ce9d3655080d845ac1775cd5a0921cf0836da7f75d3fd5d768fc2e6cbd9d8b3",
        "buildUnchanged": true
      },
      "limits": [
        "No new encoding, playback or human voice listening. Existing unchanged media evidence is retained."
      ]
    },
    {
      "reviewed": "2026-10-28",
      "sourceSnapshot": "Issue #221: the Docker demo page now shows ./lens graph create-viewer --help as the administration example, and keeps ./lens run -- <command> for any other command through the Compose cli service. Exact reviewed source hashes below.",
      "checkedSceneIds": [
        "s25"
      ],
      "sources": [
        {
          "path": "apps/docs/content/architecture/operations/docker-demo.mdx",
          "sha256": "fa260f2d1e594ba426b69a72506728325551465f77cd97175cab16886b0f42a7",
          "scenes": [
            "s25"
          ],
          "previousSha256": "828939d8648a1cc1d68ad203d8705516b25c11474586ee0f8544ad0815bcc59b"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "Pass: scene s25 does not mention how administration commands run, so the changed example does not affect any claim it makes. Limit: text review only."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "Pass: the change adds no term the narration repeats. Limit: no media was regenerated or replayed for this record."
      },
      "result": "Source-only review. Narration, slides, captions, timeline, encoded media and existing delivery evidence remain unchanged.",
      "preserved": {
        "contentSha256": "b8fff2673d509a4289db43c80e4da86e789c4f3af94691eaed3edeb0df2cada6",
        "mp4Sha256": "2ce9d3655080d845ac1775cd5a0921cf0836da7f75d3fd5d768fc2e6cbd9d8b3",
        "buildUnchanged": true
      },
      "limits": [
        "No new encoding, playback or human voice listening. Existing unchanged media evidence is retained."
      ]
    },
    {
      "reviewed": "2026-10-28",
      "sourceSnapshot": "Issues #213 and #214: the operator shell page now says ./lens update-viewer runs ./lens graph update-viewer with the same flags, and adds a paragraph on the --rich, --plain and --json output modes and --wizard, which needs a terminal for both input and output. Exact reviewed source hashes below. Exact reviewed source hashes below.",
      "checkedSceneIds": [
        "s11",
        "s12"
      ],
      "sources": [
        {
          "path": "apps/docs/content/operating/operator-shell.mdx",
          "sha256": "73271436cf37a0996fea94f8042243ac16fde6cc6bf817f7f5b32e55bee82c98",
          "scenes": [
            "s11",
            "s12"
          ],
          "previousSha256": "bb8ee2ecc8dd98efe7a60655d820fb7ca9ad3fa968718271905449409b833000"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "Pass: s11 says lens runs administration commands in the reasoning service, and s12 shows create-viewer with explicit flags. Both remain true: the change adds a shorthand and output options and changes no command the scenes show. The advisory role is unchanged. Limit: text review only."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "Pass: the narration repeats no new term, and the command on screen still runs as shown. Limit: no media was regenerated or replayed for this record."
      },
      "result": "Source-only review. Narration, slides, captions, timeline, encoded media and existing delivery evidence remain unchanged.",
      "preserved": {
        "contentSha256": "b8fff2673d509a4289db43c80e4da86e789c4f3af94691eaed3edeb0df2cada6",
        "mp4Sha256": "2ce9d3655080d845ac1775cd5a0921cf0836da7f75d3fd5d768fc2e6cbd9d8b3",
        "buildUnchanged": true
      },
      "limits": [
        "No new encoding, playback or human voice listening. Existing unchanged media evidence is retained."
      ]
    },
    {
      "reviewed": "2026-10-28",
      "sourceSnapshot": "Docs walk of the operations manual (PR #230): the manual now downloads lens from the download site with curl, names ./lens doctor output, the Docker install offer, the registry token file, the agent attestation upload, the backup and restore output, the monitor keys, the upgrade path from latest and an older release's refusal, the Compose file names and the diagnostic packet link; Docs opens on Start here and Product Guide is expanded in its sidebar. quick-start.mdx: only the diagnostic packet link target changed. Exact reviewed source hashes below.",
      "checkedSceneIds": [
        "s00",
        "s01",
        "s02",
        "s03",
        "s04",
        "s05",
        "s06",
        "s08",
        "s09",
        "s10",
        "s11",
        "s12",
        "s13",
        "s14",
        "s15",
        "s16",
        "s17",
        "s18",
        "s19",
        "s20",
        "s21",
        "s22",
        "s23",
        "s24",
        "s25"
      ],
      "sources": [
        {
          "path": "apps/docs/content/installation/quick-start.mdx",
          "sha256": "df6ef31e279711caa8aecd7d1ba06eaa29148572a7ada58b88850cc4c59dba28",
          "scenes": [
            "s01",
            "s03",
            "s05",
            "s06",
            "s08",
            "s09",
            "s10"
          ],
          "previousSha256": "a9395eacc462a5cdd3e950eabd8b8f99fb0c8a69c5fa4de5ca8a80362f7ec53b"
        },
        {
          "path": "apps/docs/content/manuals/operations-manual.mdx",
          "sha256": "866de722f8719f1aefc775a34395c7307e925ac43ad70364ce748c52264dd4c8",
          "scenes": [
            "s00",
            "s01",
            "s02",
            "s03",
            "s04",
            "s08",
            "s09",
            "s10",
            "s25",
            "s11",
            "s12",
            "s13",
            "s14",
            "s15",
            "s16",
            "s17",
            "s18",
            "s19",
            "s20",
            "s21",
            "s22",
            "s23",
            "s24"
          ],
          "previousSha256": "e895836a3f7c8977c42c51731cf86ee409fea7c6e1566522129c58383c5d93dd"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "Every citing scene was compared with the change: token storage, monitor q, backup privacy, restore, Activity log and diagnostic packet narration match the page; no scene mentions the Docker install offer, --attest-by, the release download location or older-release behaviour. s01's 'copy the lens file' is less specific than the curl download, not contradicted."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "No narration or visual changes. Slides that say 'Copy the lens file into a new installation directory' and narration that says 'select Product Guide' are less specific than the page but do not mislead; tightening them waits for the next regeneration."
      },
      "result": "Source-only review. Narration, slides, captions, timeline, encoded media and existing delivery evidence remain unchanged.",
      "preserved": {
        "contentSha256": "b8fff2673d509a4289db43c80e4da86e789c4f3af94691eaed3edeb0df2cada6",
        "mp4Sha256": "2ce9d3655080d845ac1775cd5a0921cf0836da7f75d3fd5d768fc2e6cbd9d8b3",
        "buildUnchanged": true
      },
      "limits": [
        "No new encoding, playback or human voice listening. Existing unchanged media evidence is retained."
      ]
    },
    {
      "reviewed": "2026-10-28",
      "sourceSnapshot": "Docs walk re-record (PR #230): Configure the demonstration now embeds a recording of a whole first setup, from the GHCR sign-in to the sign-in address, in place of the wizard-summary recording; one lead-in sentence and the embed title changed. Exact reviewed source hashes below.",
      "checkedSceneIds": [
        "s00",
        "s01",
        "s02",
        "s03",
        "s04",
        "s08",
        "s09",
        "s10",
        "s11",
        "s12",
        "s13",
        "s14",
        "s15",
        "s16",
        "s17",
        "s18",
        "s19",
        "s20",
        "s21",
        "s22",
        "s23",
        "s24",
        "s25"
      ],
      "sources": [
        {
          "path": "apps/docs/content/manuals/operations-manual.mdx",
          "sha256": "b46622ebe3243e4e600c4d8448519c290593242faca1e13dad7a184c33dbdb1a",
          "scenes": [
            "s00",
            "s01",
            "s02",
            "s03",
            "s04",
            "s08",
            "s09",
            "s10",
            "s25",
            "s11",
            "s12",
            "s13",
            "s14",
            "s15",
            "s16",
            "s17",
            "s18",
            "s19",
            "s20",
            "s21",
            "s22",
            "s23",
            "s24"
          ],
          "previousSha256": "866de722f8719f1aefc775a34395c7307e925ac43ad70364ce748c52264dd4c8"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "pass: the cited scenes narrate the mesh prefix, the saved .novuslens.env and the deploy prompt; the new recording shows the same choices and file, so no scene is contradicted."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "pass: no narration, slide or caption changes; the page sentence names what the recording shows in plain words."
      },
      "result": "Source-only review. Narration, slides, captions, timeline, encoded media and existing delivery evidence remain unchanged.",
      "preserved": {
        "contentSha256": "b8fff2673d509a4289db43c80e4da86e789c4f3af94691eaed3edeb0df2cada6",
        "mp4Sha256": "2ce9d3655080d845ac1775cd5a0921cf0836da7f75d3fd5d768fc2e6cbd9d8b3",
        "buildUnchanged": true
      },
      "limits": [
        "No new encoding, playback or human voice listening. Existing unchanged media evidence is retained."
      ]
    },
    {
      "reviewed": "2026-10-28",
      "sourceSnapshot": "The sign-in animation's alt text now starts at sign-in, matching the re-recorded GIF. Exact reviewed source hashes below.",
      "checkedSceneIds": [
        "s00",
        "s01",
        "s02",
        "s03",
        "s04",
        "s08",
        "s09",
        "s10",
        "s11",
        "s12",
        "s13",
        "s14",
        "s15",
        "s16",
        "s17",
        "s18",
        "s19",
        "s20",
        "s21",
        "s22",
        "s23",
        "s24",
        "s25"
      ],
      "sources": [
        {
          "path": "apps/docs/content/manuals/operations-manual.mdx",
          "sha256": "d60fb78a4ef924ac734a4cf8f74e65d847f5e7d268a4193c5268e6b90a9e1108",
          "scenes": [
            "s00",
            "s01",
            "s02",
            "s03",
            "s04",
            "s08",
            "s09",
            "s10",
            "s25",
            "s11",
            "s12",
            "s13",
            "s14",
            "s15",
            "s16",
            "s17",
            "s18",
            "s19",
            "s20",
            "s21",
            "s22",
            "s23",
            "s24"
          ],
          "previousSha256": "b46622ebe3243e4e600c4d8448519c290593242faca1e13dad7a184c33dbdb1a"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "Alt text only; no product claim or boundary wording changes."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "The alt text names each action in the order the animation shows it."
      },
      "result": "Source-only review. Narration, slides, captions, timeline, encoded media and existing delivery evidence remain unchanged.",
      "preserved": {
        "contentSha256": "b8fff2673d509a4289db43c80e4da86e789c4f3af94691eaed3edeb0df2cada6",
        "mp4Sha256": "2ce9d3655080d845ac1775cd5a0921cf0836da7f75d3fd5d768fc2e6cbd9d8b3",
        "buildUnchanged": true
      },
      "limits": [
        "No new encoding, playback or human voice listening. Existing unchanged media evidence is retained."
      ]
    },
    {
      "reviewed": "2026-10-28",
      "sourceSnapshot": "Configure the demonstration lists the wizard's eight questions in the order it asks them, starting with the GitHub login and token. The browser import says the success link opens Overview and the units are under Organisation → Map. Erasure has limits says a forgotten organisation identifier cannot be imported again. Exact reviewed source hashes below.",
      "checkedSceneIds": [
        "s00",
        "s01",
        "s02",
        "s03",
        "s04",
        "s08",
        "s09",
        "s10",
        "s11",
        "s12",
        "s13",
        "s14",
        "s15",
        "s16",
        "s17",
        "s18",
        "s19",
        "s20",
        "s21",
        "s22",
        "s23",
        "s24",
        "s25"
      ],
      "sources": [
        {
          "path": "apps/docs/content/manuals/operations-manual.mdx",
          "sha256": "329a19a84a06310efcb05c66ea6d23cb173684055806abb6ab5d5d7d537ec566",
          "scenes": [
            "s00",
            "s01",
            "s02",
            "s03",
            "s04",
            "s08",
            "s09",
            "s10",
            "s25",
            "s11",
            "s12",
            "s13",
            "s14",
            "s15",
            "s16",
            "s17",
            "s18",
            "s19",
            "s20",
            "s21",
            "s22",
            "s23",
            "s24"
          ],
          "previousSha256": "d60fb78a4ef924ac734a4cf8f74e65d847f5e7d268a4193c5268e6b90a9e1108"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "No framework claim changes: setup steps, navigation and an erasure limit only. The tool still maps and records; nothing claims enforcement or compliance."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "Numbered questions in the wizard's order with bold prompt names; short sentences; no new jargon."
      },
      "result": "Source-only review. Narration, slides, captions, timeline, encoded media and existing delivery evidence remain unchanged.",
      "preserved": {
        "contentSha256": "b8fff2673d509a4289db43c80e4da86e789c4f3af94691eaed3edeb0df2cada6",
        "mp4Sha256": "2ce9d3655080d845ac1775cd5a0921cf0836da7f75d3fd5d768fc2e6cbd9d8b3",
        "buildUnchanged": true
      },
      "limits": [
        "No new encoding, playback or human voice listening. Existing unchanged media evidence is retained."
      ]
    },
    {
      "reviewed": "2026-10-28",
      "sourceSnapshot": "operations-import.gif and operations-activity-log.jpg replaced from walk mvsit556p4ul; alt text updated Exact reviewed source hashes below.",
      "checkedSceneIds": [
        "s00",
        "s01",
        "s02",
        "s03",
        "s04",
        "s08",
        "s09",
        "s10",
        "s11",
        "s12",
        "s13",
        "s14",
        "s15",
        "s16",
        "s17",
        "s18",
        "s19",
        "s20",
        "s21",
        "s22",
        "s23",
        "s24",
        "s25"
      ],
      "sources": [
        {
          "path": "apps/docs/content/manuals/operations-manual.mdx",
          "sha256": "013816836099e8910e4e31b8011aaec0ff489a5cccf2aedd97c839093d6d095a",
          "scenes": [
            "s00",
            "s01",
            "s02",
            "s03",
            "s04",
            "s08",
            "s09",
            "s10",
            "s25",
            "s11",
            "s12",
            "s13",
            "s14",
            "s15",
            "s16",
            "s17",
            "s18",
            "s19",
            "s20",
            "s21",
            "s22",
            "s23",
            "s24"
          ],
          "previousSha256": "329a19a84a06310efcb05c66ea6d23cb173684055806abb6ab5d5d7d537ec566"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "maps and records only; the import still waits for Confirm and record"
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "alt text and caption in plain English"
      },
      "result": "Source-only review. Narration, slides, captions, timeline, encoded media and existing delivery evidence remain unchanged.",
      "preserved": {
        "contentSha256": "b8fff2673d509a4289db43c80e4da86e789c4f3af94691eaed3edeb0df2cada6",
        "mp4Sha256": "2ce9d3655080d845ac1775cd5a0921cf0836da7f75d3fd5d768fc2e6cbd9d8b3",
        "buildUnchanged": true
      },
      "limits": [
        "No new encoding, playback or human voice listening. Existing unchanged media evidence is retained."
      ]
    },
    {
      "reviewed": "2026-10-28",
      "sourceSnapshot": "The forget-organisation section adds that an import refuses a forgotten identifier at the first check, and that a new identifier is needed to import the organisation again. Exact reviewed source hashes below. Exact reviewed source hashes below.",
      "checkedSceneIds": [
        "s11",
        "s12",
        "s20",
        "s21",
        "s22"
      ],
      "sources": [
        {
          "path": "apps/docs/content/operating/administration.mdx",
          "sha256": "04ccc0f9a7fd96d1e2237082d2ff216b2f7892196f9accd88acf9764f08e74e6",
          "scenes": [
            "s11",
            "s12",
            "s20",
            "s21",
            "s22"
          ],
          "previousSha256": "3b2d0b00fee02eb76a6432645c05a2e4172b57414ec57c098f5aa9382b06f4b6"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "No change to the film: its narration calls forgetting a separate erasure procedure with wider consequences and makes no claim about re-import, so the new sentence does not contradict it. The wording stays within maps and advises (A17)."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "No change to the film: the added page sentence is plain and the narration is unchanged."
      },
      "result": "Source-only review. Narration, slides, captions, timeline, encoded media and existing delivery evidence remain unchanged.",
      "preserved": {
        "contentSha256": "b8fff2673d509a4289db43c80e4da86e789c4f3af94691eaed3edeb0df2cada6",
        "mp4Sha256": "2ce9d3655080d845ac1775cd5a0921cf0836da7f75d3fd5d768fc2e6cbd9d8b3",
        "buildUnchanged": true
      },
      "limits": [
        "No new encoding, playback or human voice listening. Existing unchanged media evidence is retained."
      ]
    }
  ],
  "build": {
    "durationSeconds": 820.688,
    "voice": {
      "provider": "openrouter",
      "model": "heygen/heygen-voice-1",
      "voice": "tabitha",
      "responseFormat": "pcm",
      "pcmEncoding": "s16le",
      "sampleRate": 44100,
      "channels": 1,
      "mp3Bitrate": "192k",
      "pronunciation": "Replace NovusLens with Novus Lens before speech synthesis",
      "maxInputCharacters": 5000,
      "timing": "Whisper word timestamps"
    },
    "captionTiming": "Whisper word timestamps",
    "mp4": "out/ops-guide.mp4",
    "mp4Sha256": "2ce9d3655080d845ac1775cd5a0921cf0836da7f75d3fd5d768fc2e6cbd9d8b3",
    "timelineSha256": "c13d6ec379fec7846309a8efeb103bc327124b5afd8cf05b62ddb593da805e9a",
    "rendererSha256": "eea8bc5fb88910fa5eee0de0e748463bdcb60d532751172d3ce4de33de41ff47",
    "slidesSha256": "b5ea851b6d5e3426029873ec8db3a0ea025e790e1fb7881720d45f7e12a5cd2e",
    "filmSha256": "12816c4f493a8ce0b2f17ec8c1fb8168b25e76f5ea70a1dd0667dc0d9ad12972",
    "motion": {
      "inputs": [
        {
          "path": "apps/docs/public/recordings/demo-installation.cast",
          "sha256": "65691e2a41c40e736b4c413252d957b61517263327932965a2d09106c53a2e6f"
        },
        {
          "path": "scripts/docs-videos/ops-motion.mjs",
          "sha256": "1144408682d67561f1519c48c23681aba034b7bb69bfd4efc82ed1b63b4a1563"
        },
        {
          "path": "scripts/docs-videos/terminal-motion.mjs",
          "sha256": "d2cbe72bcea9b66aef11102d2c8cc5bc8b3920c239ab13d34eec8f0d0c2d3d95"
        },
        {
          "path": "apps/docs/public/recordings/vendor/asciinema-player.min.js",
          "sha256": "a13c37632e1b5c49fe9128417b9319a9b5bc64cb457dd5ae52cbba8a3aceb880"
        },
        {
          "path": "apps/docs/public/recordings/vendor/asciinema-player.css",
          "sha256": "f619fe17597043564f03b2c6918b3daf890ee8b912fb408542fba11afade4fdb"
        }
      ],
      "windows": [
        {
          "scene": "s05",
          "from": 0,
          "to": 7.890516,
          "at": 4,
          "rate": 0.6,
          "start": 162.1,
          "duration": 27.3
        },
        {
          "scene": "s06",
          "from": 7.890516,
          "to": 11.305029,
          "at": 0.7,
          "rate": 0.5,
          "start": 189.4,
          "duration": 34.166666666666664
        },
        {
          "scene": "s07",
          "from": 11.305029,
          "to": 12.709462,
          "at": 1.4,
          "rate": 0.5,
          "start": 223.56666666666666,
          "duration": 31.033333333333335
        }
      ],
      "sourceVideo": {
        "path": "apps/docs/videos/ops-guide/out/installer-terminal.mp4",
        "sha256": "063d4dc01cf593b14f39f16d91735e1d793308d8dd951985587b696f5be33394"
      },
      "baseMp4Sha256": "c3118cc50ed06849de7d7f1dad79a3305098bd432977eb267a763531beffefe6",
      "composedMp4Sha256": "0acce9cae77c25a7c516ba90522df8cc204f429dde544bab0ea11e68201020aa",
      "rectangle": {
        "x": 48,
        "y": 155,
        "width": 1824,
        "height": 720
      },
      "frameRate": 30
    },
    "mastering": {
      "profile": "aac-final-headroom-v1",
      "gainDb": -1.5,
      "inputSha256": "0acce9cae77c25a7c516ba90522df8cc204f429dde544bab0ea11e68201020aa",
      "outputSha256": "2ce9d3655080d845ac1775cd5a0921cf0836da7f75d3fd5d768fc2e6cbd9d8b3",
      "helperSha256": "0d4eb99d43aff2dd3eab7209d646c494dfb0df424c55257b27c55bc06d2a39d4"
    }
  }
}
