{
  "schemaVersion": 1,
  "id": "quick-start",
  "title": "Quick Start",
  "audience": "Readers who want a local demonstration running before exploring the product",
  "maxDurationSeconds": 240,
  "contentSha256": "39b222e5f8b1fddb870a987ffcb83d8964bad0bb44971fd2c7ab4bdc8082c2b2",
  "sourcePages": [
    {
      "path": "apps/docs/content/installation/index.mdx",
      "sha256": "eb370e279b6066312ccece6d4cc21dc3572ff0e10ea7d037535055446d5e4355",
      "scenes": [
        "s00",
        "s01"
      ]
    },
    {
      "path": "apps/docs/content/installation/quick-start.mdx",
      "sha256": "df6ef31e279711caa8aecd7d1ba06eaa29148572a7ada58b88850cc4c59dba28",
      "scenes": [
        "s00",
        "s01",
        "s02"
      ]
    },
    {
      "path": "apps/docs/content/installation/settings.mdx",
      "sha256": "505300e49f5fa756839f6a2d84d80050ea0d1e274790a1099634369bb7818a39",
      "scenes": [
        "s01"
      ]
    }
  ],
  "diagrams": [],
  "scenes": [
    {
      "id": "s00",
      "chapter": "Prepare the host",
      "sourcePages": [
        "apps/docs/content/installation/quick-start.mdx",
        "apps/docs/content/installation/index.mdx"
      ],
      "diagram": null
    },
    {
      "id": "s01",
      "chapter": "Run the installer",
      "sourcePages": [
        "apps/docs/content/installation/quick-start.mdx",
        "apps/docs/content/installation/index.mdx",
        "apps/docs/content/installation/settings.mdx"
      ],
      "diagram": null
    },
    {
      "id": "s02",
      "chapter": "Sign in",
      "sourcePages": [
        "apps/docs/content/installation/quick-start.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 quick-start --provider openrouter",
      "regenerate": "node scripts/docs-videos/ops-motion.mjs voice --video quick-start --provider openrouter; node scripts/docs-videos/ops-motion.mjs timeline --video quick-start; node scripts/docs-videos/ops-motion.mjs stills --video quick-start; node scripts/docs-videos/ops-motion.mjs render --video quick-start"
    },
    "motionRenderer": "scripts/docs-videos/ops-motion.mjs"
  },
  "sourceReviews": [
    {
      "kind": "source-only-merge-reconciliation",
      "reviewedAt": "2026-10-20T09:06:00Z",
      "reviewRevision": "271e7340a9471863aa51b81c19dd4f4f2e3ff9a6",
      "contentSha256": "4f730faae01c99317526b74d35ff7d2a73c130251d3f93bc074723af50f3fbbb",
      "checkedSceneIds": [
        "s00",
        "s01",
        "s02"
      ],
      "sourceChanges": [
        {
          "path": "apps/docs/content/operating/docker-demo.mdx",
          "previousSha256": "b2cc74c595b407526e4a2391006b38686c4249297d2deec5107f9dd4ab68c3e9",
          "sha256": "33da2bf4b380c06b8d801db95d553280be70801a61c8404bfa4e1114631d9873",
          "scenes": [
            "s00",
            "s01",
            "s02"
          ]
        },
        {
          "path": "apps/docs/content/start/demo-installation.mdx",
          "previousSha256": "331a7576fa5becdd2e481561d41c993d77402ae432ba77ccfb19a793b556e69c",
          "sha256": "5fef89ec4195de6a0b608bfde6d378e39b2322e2f10964748922aebaa268c061",
          "scenes": [
            "s00",
            "s01",
            "s02"
          ]
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "The merged Quick Start page now names Python 3.9 as a host prerequisite, uses `./lens` wrappers and selects published latest once with `./lens setup --init ghcr:latest`; later deployment uses the saved selection. Scenes s00–s02 narrate those prerequisites, setup choice, checks, deployment, sign-in and persistence. All claims and commands match the merged pages."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "Read both complete supporting pages and all three scenes. The host prerequisite is spoken in s00; s01’s title and narration identify the latest selection and deliberate deployment pause; s02 directs deployment and sign-in. No command, value or visual is stale, and the links supply the detailed network checks."
      },
      "mediaDisposition": "Preserve sourceRevision, narration, visuals, build/mastering hashes, media and delivery evidence. This was source-only; no render, playback or listening was performed.",
      "limits": [
        "Reviewed the complete changed cited MDX pages, every mapped scene narration and visual, and scene mappings.",
        "Hashes identify the merged working-tree bytes; sourceRevision remains unchanged.",
        "This review makes no claim that the updated CLI commands were executed or that media was replayed."
      ]
    },
    {
      "reviewed": "2026-10-20",
      "reviewRevision": "54335d1f7372904f6523949e2f20b34359c06662",
      "sourceSnapshot": "Issue #57, after merging main: the installer's backup, restore and forget-org commands are documented on the cited pages; exact source hashes below. reviewRevision is review provenance, not an assertion of a clean tree.",
      "checkedSceneIds": [
        "s00",
        "s01",
        "s02"
      ],
      "sources": [
        {
          "path": "apps/docs/content/operating/docker-demo.mdx",
          "sha256": "d270e50450d7d508f7fcd2ef4218838ff7a02abd9f3b7cb2f5983aafbe277b9a",
          "scenes": [
            "s00",
            "s01",
            "s02"
          ],
          "previousSha256": "ee91d1395a3143fa69a2ba35139e06ca7a8ff928d66b3f5b09d25dc5e64848a6"
        },
        {
          "path": "apps/docs/content/start/demo-installation.mdx",
          "sha256": "50cb4f8bc0ec1b2515da9ffab2eb8da143bf13705b1848096484dec5de50ae79",
          "scenes": [
            "s00",
            "s01",
            "s02"
          ],
          "previousSha256": "98fbe53d7609e3ac82435542f29eee2614cb62a0937430d7e455c60dcb0f813b"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "The changed text adds the installer's backup, restore and forget-org commands and corrects the old statement that it had none. Scenes s00 to s02 narrate clone, install, deploy and sign-in only; none mentions backup or restore, and the advisory and simulated-data claims are unchanged."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "No narrated wording, command or bullet in the checked scenes depends on the changed sentences, so the audience reading is unchanged."
      },
      "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": "57c9492026f491c0009eedc548afb9664e5d3097716b03709d220d2c030e1fe9",
        "mp4Sha256": "bfaab3d7aeed8e0e94ad317e37a985493382ce315b6d08eeda90ef30b83cb507",
        "buildUnchanged": true
      },
      "limits": [
        "No new speech, encoding, browser playback or human voice listening was performed. Previously inspected unchanged media evidence is carried forward."
      ]
    },
    {
      "reviewed": "2026-10-20",
      "reviewRevision": "698e743953fac16b9232d07c67736264135b993b",
      "sourceSnapshot": "Issue #57, after merging the lens command: the cited pages now give ./lens backup, restore and forget-org and keep the launcher's own verbs under ./lens launcher; exact source hashes below. reviewRevision is review provenance, not an assertion of a clean tree.",
      "checkedSceneIds": [
        "s00",
        "s01",
        "s02"
      ],
      "sources": [
        {
          "path": "apps/docs/content/operating/docker-demo.mdx",
          "sha256": "fd93e3e906b6811198208b4fe8db85b6fa66dec2fa66d19b1da65ebf8b6d035c",
          "scenes": [
            "s00",
            "s01",
            "s02"
          ],
          "previousSha256": "d270e50450d7d508f7fcd2ef4218838ff7a02abd9f3b7cb2f5983aafbe277b9a"
        },
        {
          "path": "apps/docs/content/start/demo-installation.mdx",
          "sha256": "12efec59510c9392a9a4e61922830b8af734038c026b91619bde8dddd236f991",
          "scenes": [
            "s00",
            "s01",
            "s02"
          ],
          "previousSha256": "50cb4f8bc0ec1b2515da9ffab2eb8da143bf13705b1848096484dec5de50ae79"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "The changed text gives the lens form of the installer's backup, restore and forget-org verbs. Scenes s00 to s02 narrate clone, install, deploy and sign-in only; none mentions backup or restore. The advisory boundary is unchanged."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "No narrated wording, command or bullet in the checked scenes depends on the changed sentences, so the audience reading is unchanged."
      },
      "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": "57c9492026f491c0009eedc548afb9664e5d3097716b03709d220d2c030e1fe9",
        "mp4Sha256": "bfaab3d7aeed8e0e94ad317e37a985493382ce315b6d08eeda90ef30b83cb507",
        "buildUnchanged": true
      },
      "limits": [
        "No new speech, encoding, browser playback or human voice listening was performed. Previously inspected unchanged media evidence is carried forward."
      ]
    },
    {
      "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"
      ],
      "sources": [
        {
          "path": "apps/docs/content/operating/docker-demo.mdx",
          "sha256": "0d64b5c3b8794fcc0a525c3d4793c6879f4dd09372e796ac957d46874ae7dd0d",
          "scenes": [
            "s00",
            "s01",
            "s02"
          ],
          "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": "No cited scene narrates the monitor's views or keys."
      },
      "result": "Source-only review. Narration, slides, captions, timeline, encoded media and existing delivery evidence remain unchanged.",
      "preserved": {
        "contentSha256": "57c9492026f491c0009eedc548afb9664e5d3097716b03709d220d2c030e1fe9",
        "mp4Sha256": "bfaab3d7aeed8e0e94ad317e37a985493382ce315b6d08eeda90ef30b83cb507",
        "buildUnchanged": true
      },
      "limits": [
        "No new encoding, playback or human voice listening. Existing unchanged media evidence is retained."
      ]
    },
    {
      "kind": "source-only-merge-reconciliation",
      "reviewedAt": "2026-10-20T11:07:42Z",
      "reviewRevision": "86a85eae6073e85b455f3a1416bf9d67835d66e5",
      "contentSha256": "4f730faae01c99317526b74d35ff7d2a73c130251d3f93bc074723af50f3fbbb",
      "checkedSceneIds": [
        "s00",
        "s01",
        "s02"
      ],
      "sourceChanges": [
        {
          "path": "apps/docs/content/operating/docker-demo.mdx",
          "previousSha256": "33da2bf4b380c06b8d801db95d553280be70801a61c8404bfa4e1114631d9873",
          "incomingSha256": "0d64b5c3b8794fcc0a525c3d4793c6879f4dd09372e796ac957d46874ae7dd0d",
          "sha256": "c14283b039cf18df43f1610500894071f7342bd2085b1717184d0c22216d329f",
          "scenes": [
            "s00",
            "s01",
            "s02"
          ]
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "The added monitor reports observed state and faults; the page explicitly says it does not control services. No affected scene implies that the monitor enforces, changes, or validates NovusLens findings. Advisory and evidence boundaries remain intact."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "Quick Start s00–s02 covers host checks, saved image selection, deployment and sign-in; no scene describes monitor screens, fault ordering, CPU/memory, log filters or keyboard controls.The incoming monitor detail therefore leaves narration, slide commands and visuals accurate."
      },
      "mediaDisposition": "Source-only reconciliation. Preserve sourceRevision, content, narration, visuals, build/master hashes, media and delivery evidence.",
      "limits": [
        "Reviewed the full changed monitor section and every affected scene narration, command/bullets and visual mapping.",
        "No monitor operation was executed; no media was rebuilt, played or listened to.",
        "Source hash records merged working-tree bytes; sourceRevision and existing delivery evidence remain unchanged."
      ]
    },
    {
      "reviewedAt": "2026-10-20T11:13:37.040419+00:00",
      "reviewRevision": "afb96df34369fcb145abc83a76b7c8e25014bf4a",
      "checkedSceneIds": [
        "s00",
        "s01",
        "s02"
      ],
      "sourcePages": [
        {
          "path": "apps/docs/content/start/demo-installation.mdx",
          "sha256": "0411841b19b27ca3d8f115b4fd5fdebc847528d7481b1303f50b30859d89488c",
          "scenes": [
            "s00",
            "s01",
            "s02"
          ],
          "previousSha256": "12efec59510c9392a9a4e61922830b8af734038c026b91619bde8dddd236f991"
        }
      ],
      "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": "bfaab3d7aeed8e0e94ad317e37a985493382ce315b6d08eeda90ef30b83cb507",
      "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."
      ]
    },
    {
      "reviewedAt": "2026-10-20T16:47:35.532225+00:00",
      "reviewRevision": "fdb4ceda4d00592f2fbfa4722d2404e8d5145d9f",
      "contentSha256": "56c0d600066abbb81196d65c0fe12b5e33948119bc8ca14b07be94a1bdeb5e0e",
      "checkedSceneIds": [
        "s00",
        "s01",
        "s02"
      ],
      "sourceChanges": [
        {
          "path": "apps/docs/content/start/demo-installation.mdx",
          "previousSha256": "5fef89ec4195de6a0b608bfde6d378e39b2322e2f10964748922aebaa268c061",
          "sha256": "1b073b1b5ef7303e29bdac80643734949ba780f50a6b573d561bdf77597fd083",
          "scenes": [
            "s00",
            "s01",
            "s02"
          ]
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "The page change only runs the optional developer recording helper natively. The three scenes continue to show the self-run application setup and fictional Retail Lending data, preserving the advisory boundary."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "Reviewed current scenes s00-s02 narration, commands and bullets against the full Quick Start page. They cover Docker preflight, setup --init, deployment and sign-in, and never narrate the optional recording helper."
      },
      "mediaDisposition": "Source-only review. Existing narration, visuals, timeline, original sourceRevision, build, MP4 and delivery reviews are retained unchanged.",
      "preserved": {
        "contentSha256": "56c0d600066abbb81196d65c0fe12b5e33948119bc8ca14b07be94a1bdeb5e0e",
        "mp4Sha256": "f3127db98a757805b160a3ece3c6a69c57bf3d7d593a326c1a7a54ea936ca045",
        "buildUnchanged": true
      },
      "limits": [
        "No new media rendering, playback or listening is claimed for Quick Start. Source hash identifies reviewed working-tree bytes."
      ]
    },
    {
      "reviewed": "2026-10-20",
      "reviewRevision": "58ebe3ec48181d6c592b2ad806f2f72d03e0cb93",
      "sourceSnapshot": "Native recording-tool command replaces the Docker development wrapper. Exact reviewed source hashes below; reviewRevision does not assert a clean tree.",
      "checkedSceneIds": [
        "s00",
        "s01",
        "s02"
      ],
      "sources": [
        {
          "path": "apps/docs/content/start/demo-installation.mdx",
          "sha256": "ce17473a625eb3acc44aa7f02e5ab170ab51596f7edcc4c9d89e5ce6dd4fc23c",
          "scenes": [
            "s00",
            "s01",
            "s02"
          ],
          "previousSha256": "91d7a8594af787e0e3930dbac4d3e9371a4748347c046453453ff3572d072837"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "Reviewed s00-s02 against the full changed page. Preparation, setup and deploy claims remain accurate; recording tooling is not narrated."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "Independent audience review passed; operator installation instructions remain unchanged."
      },
      "result": "Source-only review. Narration, slides, captions, timeline, encoded media and existing delivery evidence remain unchanged.",
      "preserved": {
        "contentSha256": "ef3c4b97282ef4d5adf0f100bf8a71c3b7a0c12e0321941db98300480f826578",
        "mp4Sha256": "df7a5ae5e24679c02b215efe34f8db52a6879223a219553d9a6de4a170d82d8e",
        "buildUnchanged": true
      },
      "limits": [
        "No new encoding, playback or human voice listening. Existing unchanged media evidence is retained."
      ]
    },
    {
      "reviewed": "2026-10-20",
      "reviewRevision": "efd1fddd38bbae7bf1b2b6499a9800a943e77594",
      "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"
      ],
      "sources": [
        {
          "path": "apps/docs/content/operating/docker-demo.mdx",
          "sha256": "83df2ce3d3d9a8aa6979c460149bf27500f2fa12b24d25c481c38c7f2a17c7f6",
          "scenes": [
            "s00",
            "s01",
            "s02"
          ],
          "previousSha256": "c14283b039cf18df43f1610500894071f7342bd2085b1717184d0c22216d329f"
        }
      ],
      "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": "56c0d600066abbb81196d65c0fe12b5e33948119bc8ca14b07be94a1bdeb5e0e",
        "mp4Sha256": "f3127db98a757805b160a3ece3c6a69c57bf3d7d593a326c1a7a54ea936ca045",
        "buildUnchanged": true
      },
      "limits": [
        "No new encoding, playback or human voice listening. Existing unchanged media evidence is retained."
      ]
    },
    {
      "reviewed": "2026-10-21",
      "reviewRevision": "5a9d8680fefb80b54da703ca99b6f587d858a57c",
      "sourceSnapshot": "Merged setup --interview alternatives and the separately retained private GHCR login. Existing setup defaults, single-file acquisition, configure and resume remain supported. Exact reviewed source hashes below; reviewRevision does not assert a clean tree.",
      "checkedSceneIds": [
        "s00",
        "s01",
        "s02"
      ],
      "sources": [
        {
          "path": "apps/docs/content/operating/docker-demo.mdx",
          "sha256": "671899f16178828248a0442287b958be473fbef39e806c1d55c52020e247dc66",
          "scenes": [
            "s00",
            "s01",
            "s02"
          ],
          "previousSha256": "0ec31618f1a5b19ed204a014f7c05dee72facb00c14a67114dfb67698bcb5263"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "Reviewed every cited scene against the merged pages and actual launcher and installer behavior. None of these scenes denies the separate registry-login file or requires an unsupported command; the setup and release claims remain true."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "Separate audience review: existing commands remain usable; the new interview option is additive. The private registry-login file supplements the existing private-configuration instructions. No scene or visual change is needed."
      },
      "result": "Source-only review. Narration, slides, captions, timeline, encoded media and existing delivery evidence remain unchanged.",
      "preserved": {
        "contentSha256": "ef3c4b97282ef4d5adf0f100bf8a71c3b7a0c12e0321941db98300480f826578",
        "mp4Sha256": "df7a5ae5e24679c02b215efe34f8db52a6879223a219553d9a6de4a170d82d8e",
        "buildUnchanged": true
      },
      "limits": [
        "No new encoding, playback or human voice listening. Existing unchanged media evidence is retained."
      ]
    },
    {
      "reviewed": "2026-10-21",
      "reviewRevision": "bc2d962d6206944172c03c39344f5a328fcff6f4",
      "sourceSnapshot": "Quick start moved under Installation; its old route links to the canonical page. Read the canonical procedure and unchanged detailed Docker demo guide with scenes s00-s02. Exact reviewed source hashes below; reviewRevision does not assert a clean tree.",
      "checkedSceneIds": [
        "s00",
        "s01",
        "s02"
      ],
      "sources": [
        {
          "path": "apps/docs/content/start/demo-installation.mdx",
          "sha256": "6502948bbd98f9f1be46ef65dab7a0644ca2976b2b6d1fee7591f3ad2661197a",
          "scenes": [
            "s00",
            "s01",
            "s02"
          ],
          "previousSha256": "1b073b1b5ef7303e29bdac80643734949ba780f50a6b573d561bdf77597fd083"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "Scenes s00-s02 remain correct for the supplied-archive installation route. The ghcr:latest spelling remains supported; remote:latest selects the same images. Preparation, fictional Retail Lending data, saved configuration, deployment and sign-in behaviour remain unchanged. No measurement or advisory boundary claim changed."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "The compatibility route names the new Installation page. The canonical page explains the lens-only route and links the detailed archive procedure still demonstrated by the film. Existing narration and terminal commands remain usable. No new playback or listening evidence."
      },
      "result": "Source-only review. Narration, slides, captions, timeline, encoded media and existing delivery evidence remain unchanged.",
      "preserved": {
        "contentSha256": "56c0d600066abbb81196d65c0fe12b5e33948119bc8ca14b07be94a1bdeb5e0e",
        "mp4Sha256": "f3127db98a757805b160a3ece3c6a69c57bf3d7d593a326c1a7a54ea936ca045",
        "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": [
        "s00",
        "s01",
        "s02"
      ],
      "sources": [
        {
          "path": "apps/docs/content/start/demo-installation.mdx",
          "sha256": "6502948bbd98f9f1be46ef65dab7a0644ca2976b2b6d1fee7591f3ad2661197a",
          "scenes": [
            "s00",
            "s01",
            "s02"
          ],
          "previousSha256": "ce17473a625eb3acc44aa7f02e5ab170ab51596f7edcc4c9d89e5ce6dd4fc23c"
        }
      ],
      "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": "ef3c4b97282ef4d5adf0f100bf8a71c3b7a0c12e0321941db98300480f826578",
        "mp4Sha256": "df7a5ae5e24679c02b215efe34f8db52a6879223a219553d9a6de4a170d82d8e",
        "buildUnchanged": true
      },
      "limits": [
        "No new encoding, playback or human voice listening. Existing unchanged media evidence is retained."
      ],
      "supportingPages": [
        {
          "path": "apps/docs/content/installation/quick-start.mdx",
          "sha256": "5fa09d35e8c603e02c9d0c20e53c43d1d3a9ea2f0ff9a04f84e8dbf6740a377e"
        },
        {
          "path": "apps/docs/content/installation/index.mdx",
          "sha256": "ff2729889fc277974535ebdc6b763e4cd08d98e7c0eea6d783ffad3221c096c5"
        },
        {
          "path": "apps/docs/content/installation/remote.mdx",
          "sha256": "760075d9b9001a1545160fe23ccb9a12a13a68da991606855eb48bb32dca2251"
        }
      ]
    },
    {
      "reviewed": "2026-10-21",
      "sourceSnapshot": "Corrected the canonical Quick Start prerequisite link to the existing Docker demo Before you start section. Reviewed the full canonical page and scenes s00–s02; narration and media remain unchanged. Exact reviewed source hashes below.",
      "checkedSceneIds": [
        "s00",
        "s01",
        "s02"
      ],
      "sources": [
        {
          "path": "apps/docs/content/start/demo-installation.mdx",
          "sha256": "6502948bbd98f9f1be46ef65dab7a0644ca2976b2b6d1fee7591f3ad2661197a",
          "scenes": [
            "s00",
            "s01",
            "s02"
          ]
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "The prerequisite link targets the current host checklist. The copy-only lens, chmod, bare setup/latest/PAT and deploy/sign-in instructions remain true; no product measurement or advisory claim changed."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "Independent review passed for the complete Quick Start page and prerequisite destination. The link label describes its host checklist, and scenes s00–s02 remain consistent. No narration or media change is needed."
      },
      "result": "Source-only review. Narration, slides, captions, timeline, encoded media and existing delivery evidence remain unchanged.",
      "preserved": {
        "contentSha256": "ef3c4b97282ef4d5adf0f100bf8a71c3b7a0c12e0321941db98300480f826578",
        "mp4Sha256": "df7a5ae5e24679c02b215efe34f8db52a6879223a219553d9a6de4a170d82d8e",
        "buildUnchanged": true
      },
      "limits": [
        "No new encoding, playback or human voice listening. Existing unchanged media evidence is retained."
      ],
      "supportingPages": [
        {
          "path": "apps/docs/content/installation/quick-start.mdx",
          "sha256": "124e5bd9505c219f5af5ba8c57d6fb5b70dfcd8cdcdc89a91805f4d01becbb6f",
          "previousSha256": "5fa09d35e8c603e02c9d0c20e53c43d1d3a9ea2f0ff9a04f84e8dbf6740a377e"
        },
        {
          "path": "apps/docs/content/installation/index.mdx",
          "sha256": "ff2729889fc277974535ebdc6b763e4cd08d98e7c0eea6d783ffad3221c096c5"
        },
        {
          "path": "apps/docs/content/installation/remote.mdx",
          "sha256": "760075d9b9001a1545160fe23ccb9a12a13a68da991606855eb48bb32dca2251"
        }
      ]
    },
    {
      "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"
      ],
      "sources": [
        {
          "path": "apps/docs/content/operating/docker-demo.mdx",
          "sha256": "40f1e8e3cfd2c8f82d23fa4d2fc050ce2dee684cf9a327750f928d44ff558b54",
          "scenes": [
            "s00",
            "s01",
            "s02"
          ],
          "previousSha256": "671899f16178828248a0442287b958be473fbef39e806c1d55c52020e247dc66"
        }
      ],
      "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": "s00-s02 stay accurate: the film still chooses no model server, which the page still recommends for the first run."
      },
      "result": "Source-only review. Narration, slides, captions, timeline, encoded media and existing delivery evidence remain unchanged.",
      "preserved": {
        "contentSha256": "ef3c4b97282ef4d5adf0f100bf8a71c3b7a0c12e0321941db98300480f826578",
        "mp4Sha256": "df7a5ae5e24679c02b215efe34f8db52a6879223a219553d9a6de4a170d82d8e",
        "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": [
        "s00",
        "s01",
        "s02"
      ],
      "sources": [
        {
          "path": "apps/docs/content/installation/quick-start.mdx",
          "sha256": "07e02aaa3dc38c37163e8a8fb0709a1dd6b28473210c8772b49cbddc81304c29",
          "scenes": [
            "s00",
            "s01",
            "s02"
          ],
          "previousSha256": "94a60b0aa86ae080c4cdc699dea01903b951db050a7516cfacbe7dd316095213"
        },
        {
          "path": "apps/docs/content/installation/settings.mdx",
          "sha256": "a391fde41c95f5ae1c8e7c1fc46c07b1b0e05c7713ca083377e6912f556f8ec4",
          "scenes": [
            "s01"
          ],
          "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": "59e85a4362133d1a72480e463ba941dd391d03925c5b855737f3bf9b52ec304d",
        "mp4Sha256": "0142fd9d1234ec3a4d37c7af2bebcf9bd09c4db9d72e0828956f9b61cdded62d",
        "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": [
        "s01"
      ],
      "sources": [
        {
          "path": "apps/docs/content/installation/settings.mdx",
          "sha256": "7b348c19c9452d07c63a9cf17f668cdc12e9f8ac13fceb033af5187338adb607",
          "scenes": [
            "s01"
          ],
          "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": "59e85a4362133d1a72480e463ba941dd391d03925c5b855737f3bf9b52ec304d",
        "mp4Sha256": "0142fd9d1234ec3a4d37c7af2bebcf9bd09c4db9d72e0828956f9b61cdded62d",
        "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",
        "s01"
      ],
      "sources": [
        {
          "path": "apps/docs/content/installation/index.mdx",
          "sha256": "7f929d64cbbaf20e071bf87f86a177b7832dc3bc2dd2839c87c5f9a732249974",
          "scenes": [
            "s00",
            "s01"
          ],
          "previousSha256": "6e2ac76f5b5475d5c026ff437c7919910afc570438818c11bdea67013f46563a"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "Reviewed s00 and s01 against the full installation page. Host preparation, copying the launcher and published-image setup remain supported. The added download instructions change no command or product claim; advisory boundaries remain unchanged."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "Reviewed s00 and s01 narration, terminal commands and bullets. Copying lens and running setup remain clear and accurate. The page now explains where to obtain lens; no existing narration or visual requires replacement. 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": "59e85a4362133d1a72480e463ba941dd391d03925c5b855737f3bf9b52ec304d",
        "mp4Sha256": "0142fd9d1234ec3a4d37c7af2bebcf9bd09c4db9d72e0828956f9b61cdded62d",
        "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 and prerequisites are unchanged. Exact reviewed source hashes below.",
      "checkedSceneIds": [
        "s00",
        "s01"
      ],
      "sources": [
        {
          "path": "apps/docs/content/installation/index.mdx",
          "sha256": "7f929d64cbbaf20e071bf87f86a177b7832dc3bc2dd2839c87c5f9a732249974",
          "scenes": [
            "s00",
            "s01"
          ],
          "previousSha256": "6e2ac76f5b5475d5c026ff437c7919910afc570438818c11bdea67013f46563a"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "Read s00 and s01 against the complete Installation page. The film assumes the lens file has been obtained, then explains the same copied-file published-release route. The new acquisition paragraph adds no runtime-control or forecast claim and changes no installation behaviour."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "Read s00 and s01 separately for operator clarity. Copying lens, running setup and handling GHCR access remain accurate; the added website-password instruction is an earlier acquisition step that the film does not claim to demonstrate."
      },
      "result": "Source-only review. Narration, slides, captions, timeline, encoded media and existing delivery evidence remain unchanged.",
      "preserved": {
        "contentSha256": "ece9020f694d72659789aec3390171007c08c09285c2b89c03ef0fb00b0f2eb5",
        "mp4Sha256": "c6d608123526b8eee3a8214a0eaad72899da77ad04280d5580bdb3b1cf286e55",
        "buildUnchanged": true
      },
      "limits": [
        "No new encoding, playback or human voice listening. Existing unchanged media evidence is retained."
      ]
    },
    {
      "reviewed": "2026-10-23",
      "sourceSnapshot": "Resolve main integration while retaining the Luna setup default, explicit model flags and preserved tilde IDs. Exact reviewed source hashes below.",
      "checkedSceneIds": [
        "s01"
      ],
      "sources": [
        {
          "path": "apps/docs/content/installation/settings.mdx",
          "sha256": "3d97ca2a3e8842c8fbbcf64fe852dfaa0d53b778f505f10e0e4c32d2242601da",
          "scenes": [
            "s01"
          ],
          "previousSha256": "b550bd99e0938853ae98bd9c2c2a1b6955f5f9e9ce7b8e9802b99aaee0315d98"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "Scene s01 chooses no model server and fictional Retail Lending, so its instructions and advisory claims remain accurate."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "The same first-run instructions apply. This scene states no hosted model default, so narration and visuals remain unchanged."
      },
      "result": "Source-only review. Narration, slides, captions, timeline, encoded media and existing delivery evidence remain unchanged.",
      "preserved": {
        "contentSha256": "59e85a4362133d1a72480e463ba941dd391d03925c5b855737f3bf9b52ec304d",
        "mp4Sha256": "0142fd9d1234ec3a4d37c7af2bebcf9bd09c4db9d72e0828956f9b61cdded62d",
        "buildUnchanged": true
      },
      "limits": [
        "No new encoding, playback or human voice listening. Existing unchanged media evidence is retained."
      ]
    },
    {
      "reviewed": "2026-10-24",
      "sourceSnapshot": "Main adds model-answer CLI options and changes the OpenRouter model default while retaining the setup-stack questions. Exact reviewed source hashes below.",
      "checkedSceneIds": [
        "s01"
      ],
      "sources": [
        {
          "path": "apps/docs/content/installation/settings.mdx",
          "sha256": "cd868282f82e2b7a836860114408f8ccb542bf187eb0e238f71ae99fc948a390",
          "scenes": [
            "s01"
          ],
          "previousSha256": "7b348c19c9452d07c63a9cf17f668cdc12e9f8ac13fceb033af5187338adb607"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "Read the full final settings page and reviewed s01 narration, command, bullets and recorded terminal source. The demo explicitly chooses no model server; neither captured wizard output nor narration names a free/default model. The new gpt-6-luna default and explicit options change no claim on this path."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "s01 still gives the correct port, private network, account, private saved configuration and deployment-declined checkpoint. No narration change is needed; preserved media evidence is not fresh playback or listening."
      },
      "result": "Source-only review. Narration, slides, captions, timeline, encoded media and existing delivery evidence remain unchanged.",
      "preserved": {
        "contentSha256": "ece9020f694d72659789aec3390171007c08c09285c2b89c03ef0fb00b0f2eb5",
        "mp4Sha256": "c6d608123526b8eee3a8214a0eaad72899da77ad04280d5580bdb3b1cf286e55",
        "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 preserved wizard film scenes s00 and s01 Exact reviewed source hashes below.",
      "checkedSceneIds": [
        "s00",
        "s01"
      ],
      "sources": [
        {
          "path": "apps/docs/content/installation/index.mdx",
          "sha256": "7f929d64cbbaf20e071bf87f86a177b7832dc3bc2dd2839c87c5f9a732249974",
          "scenes": [
            "s00",
            "s01"
          ],
          "previousSha256": "6e2ac76f5b5475d5c026ff437c7919910afc570438818c11bdea67013f46563a"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "Password-gated lens download adds acquisition detail; copying the single executable and setup release selection remain true."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "Download instructions precede the unchanged copy and setup steps; both cited scenes remain clear without narration changes."
      },
      "result": "Source-only review. Narration, slides, captions, timeline, encoded media and existing delivery evidence remain unchanged.",
      "preserved": {
        "contentSha256": "ece9020f694d72659789aec3390171007c08c09285c2b89c03ef0fb00b0f2eb5",
        "mp4Sha256": "c6d608123526b8eee3a8214a0eaad72899da77ad04280d5580bdb3b1cf286e55",
        "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",
        "s01"
      ],
      "sources": [
        {
          "path": "apps/docs/content/installation/index.mdx",
          "sha256": "7f929d64cbbaf20e071bf87f86a177b7832dc3bc2dd2839c87c5f9a732249974",
          "scenes": [
            "s00",
            "s01"
          ],
          "previousSha256": "6e2ac76f5b5475d5c026ff437c7919910afc570438818c11bdea67013f46563a"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "Read cited scenes s00 and s01 against the page: copy only lens for published images, then setup downloads the application and requires GHCR credentials; recording and narration remain true."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "Download location adds a concrete preparatory action without changing the demonstrated setup questions."
      },
      "result": "Source-only review. Narration, slides, captions, timeline, encoded media and existing delivery evidence remain unchanged.",
      "preserved": {
        "contentSha256": "ece9020f694d72659789aec3390171007c08c09285c2b89c03ef0fb00b0f2eb5",
        "mp4Sha256": "c6d608123526b8eee3a8214a0eaad72899da77ad04280d5580bdb3b1cf286e55",
        "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"
      ],
      "sources": [
        {
          "path": "apps/docs/content/installation/index.mdx",
          "sha256": "9d4f39252a8e3f1adaae0ae4ebbade1c7167cdc0d869ae21928a19a259ee7eca",
          "scenes": [
            "s00",
            "s01"
          ],
          "previousSha256": "7f929d64cbbaf20e071bf87f86a177b7832dc3bc2dd2839c87c5f9a732249974"
        },
        {
          "path": "apps/docs/content/installation/quick-start.mdx",
          "sha256": "22dcce6788f392343814d135fc838fce406995cb3ea2d081fce0080b27eff1ff",
          "scenes": [
            "s00",
            "s01",
            "s02"
          ],
          "previousSha256": "07e02aaa3dc38c37163e8a8fb0709a1dd6b28473210c8772b49cbddc81304c29"
        }
      ],
      "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": "ece9020f694d72659789aec3390171007c08c09285c2b89c03ef0fb00b0f2eb5",
        "mp4Sha256": "c6d608123526b8eee3a8214a0eaad72899da77ad04280d5580bdb3b1cf286e55",
        "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",
        "s01"
      ],
      "sources": [
        {
          "path": "apps/docs/content/installation/index.mdx",
          "sha256": "10b11f4e68dd33d074d18f214877a4bb568c1eff9449527f22c3574adc472919",
          "scenes": [
            "s00",
            "s01"
          ],
          "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": "ece9020f694d72659789aec3390171007c08c09285c2b89c03ef0fb00b0f2eb5",
        "mp4Sha256": "c6d608123526b8eee3a8214a0eaad72899da77ad04280d5580bdb3b1cf286e55",
        "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"
      ],
      "sources": [
        {
          "path": "apps/docs/content/installation/quick-start.mdx",
          "sha256": "8f5f82fc714ece90ab79c0d6a9705466a7c8650dc1a6855ff4c9b67e8fda7ac2",
          "scenes": [
            "s00",
            "s01",
            "s02"
          ],
          "previousSha256": "22dcce6788f392343814d135fc838fce406995cb3ea2d081fce0080b27eff1ff"
        }
      ],
      "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": "ece9020f694d72659789aec3390171007c08c09285c2b89c03ef0fb00b0f2eb5",
        "mp4Sha256": "c6d608123526b8eee3a8214a0eaad72899da77ad04280d5580bdb3b1cf286e55",
        "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"
      ],
      "sources": [
        {
          "path": "apps/docs/content/installation/index.mdx",
          "sha256": "4dac41c6fb34a8b76d220ea5372fd796b367e91a38db935e556ef35995bca3e7",
          "scenes": [
            "s00",
            "s01"
          ],
          "previousSha256": "dd17ae9a2a9b6ae2953c863456316286d14380fca702f7400e9503e87141110e"
        },
        {
          "path": "apps/docs/content/installation/quick-start.mdx",
          "sha256": "01e92dfa3c14e02efddc23146853817331da4af2a25ff4c76fcf36b73f373738",
          "scenes": [
            "s00",
            "s01",
            "s02"
          ],
          "previousSha256": "8f1538216a17fb3298d2f8259fc485ee67016f1c97563f6075c7de900b72c42e"
        }
      ],
      "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": "39b222e5f8b1fddb870a987ffcb83d8964bad0bb44971fd2c7ab4bdc8082c2b2",
        "mp4Sha256": "022261d85e0d13fd197a8b0e96c277efb33cb97e96d80b20a7b3c348a6965a58",
        "buildUnchanged": true
      },
      "limits": [
        "No new encoding, playback or human voice listening. Existing unchanged media evidence is retained."
      ]
    },
    {
      "reviewed": "2026-10-27",
      "sourceSnapshot": "Reviewed against main's re-voiced build: quick-start.mdx step 4 gains an optional paragraph on creating a colleague's read-only board account with ./lens graph create-viewer (passphrase on the command line, update-viewer to change it) and the step 5 administration note with ./lens viewer -- --help is removed; docker-demo.mdx's administration example behind ./lens run -- now reads python -m conway_graph create-viewer --help (#195, #196). Installation, setup answers, lens start and sign-in steps are unchanged. Exact reviewed source hashes below.",
      "checkedSceneIds": [
        "s00",
        "s01",
        "s02"
      ],
      "sources": [
        {
          "path": "apps/docs/content/installation/quick-start.mdx",
          "sha256": "badb18293f02ce1d71d406f45b011985486cf743b72d91810aabb17bdbd9a769",
          "scenes": [
            "s00",
            "s01",
            "s02"
          ],
          "previousSha256": "01e92dfa3c14e02efddc23146853817331da4af2a25ff4c76fcf36b73f373738"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "s00, s01 and s02 narrate copying lens, setup answers, lens start and sign-in only; no scene names the account command or the removed administration note, so no claim changed. Fictional Retail Lending stays labelled and the model-server limit is still stated."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "Narration, bullets and on-screen commands still match the page's steps 1 to 4 in the same order; the optional colleague-login step follows sign-in, where the film ends, so nothing is missing for a first-time operator. No wording change needed."
      },
      "result": "Source-only review. Narration, slides, captions, timeline, encoded media and existing delivery evidence remain unchanged.",
      "preserved": {
        "contentSha256": "39b222e5f8b1fddb870a987ffcb83d8964bad0bb44971fd2c7ab4bdc8082c2b2",
        "mp4Sha256": "022261d85e0d13fd197a8b0e96c277efb33cb97e96d80b20a7b3c348a6965a58",
        "buildUnchanged": true
      },
      "limits": [
        "No new encoding, playback or human voice listening. Existing unchanged media evidence is retained."
      ]
    },
    {
      "reviewed": "2026-10-27",
      "sourceSnapshot": "PR #208 merged with origin/main (e09448a8): backups hold .novuslens.env (archive mode 600), and restore needs no earlier setup when the installation has no configuration file. The page edits say the archive holds the file and must be kept private.",
      "checkedSceneIds": [
        "s00",
        "s01",
        "s02"
      ],
      "sources": [
        {
          "path": "apps/docs/content/installation/index.mdx",
          "sha256": "eb370e279b6066312ccece6d4cc21dc3572ff0e10ea7d037535055446d5e4355",
          "scenes": [
            "s00",
            "s01"
          ],
          "previousSha256": "4dac41c6fb34a8b76d220ea5372fd796b367e91a38db935e556ef35995bca3e7"
        },
        {
          "path": "apps/docs/content/installation/quick-start.mdx",
          "sha256": "a9395eacc462a5cdd3e950eabd8b8f99fb0c8a69c5fa4de5ca8a80362f7ec53b",
          "scenes": [
            "s00",
            "s01",
            "s02"
          ],
          "previousSha256": "badb18293f02ce1d71d406f45b011985486cf743b72d91810aabb17bdbd9a769"
        },
        {
          "path": "apps/docs/content/installation/settings.mdx",
          "sha256": "583ee5512ae65fb48145251ba7cdc2887a599a368057f537e9e548b29dfed7ff",
          "scenes": [
            "s01"
          ],
          "previousSha256": "cd868282f82e2b7a836860114408f8ccb542bf187eb0e238f71ae99fc948a390"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "Scenes s00 to s02 narrate getting the lens file, setup prompts and the first start; none says what a backup holds or that the configuration file must be kept outside it, so every narrated claim stays true."
      },
      "audienceReadability": {
        "status": "pass",
        "finding": "The page edits are plain instructions with reasons; the narration is unchanged."
      },
      "result": "Source-only review. Narration, slides, captions, timeline, encoded media and existing delivery evidence remain unchanged.",
      "preserved": {
        "contentSha256": "39b222e5f8b1fddb870a987ffcb83d8964bad0bb44971fd2c7ab4bdc8082c2b2",
        "mp4Sha256": "022261d85e0d13fd197a8b0e96c277efb33cb97e96d80b20a7b3c348a6965a58",
        "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": [
        "s01"
      ],
      "sources": [
        {
          "path": "apps/docs/content/installation/settings.mdx",
          "sha256": "505300e49f5fa756839f6a2d84d80050ea0d1e274790a1099634369bb7818a39",
          "scenes": [
            "s01"
          ],
          "previousSha256": "583ee5512ae65fb48145251ba7cdc2887a599a368057f537e9e548b29dfed7ff"
        }
      ],
      "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": "39b222e5f8b1fddb870a987ffcb83d8964bad0bb44971fd2c7ab4bdc8082c2b2",
        "mp4Sha256": "022261d85e0d13fd197a8b0e96c277efb33cb97e96d80b20a7b3c348a6965a58",
        "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"
      ],
      "sources": [
        {
          "path": "apps/docs/content/installation/quick-start.mdx",
          "sha256": "df6ef31e279711caa8aecd7d1ba06eaa29148572a7ada58b88850cc4c59dba28",
          "scenes": [
            "s00",
            "s01",
            "s02"
          ],
          "previousSha256": "a9395eacc462a5cdd3e950eabd8b8f99fb0c8a69c5fa4de5ca8a80362f7ec53b"
        }
      ],
      "frameworkIntegrity": {
        "status": "pass",
        "finding": "Scenes s00-s02 cover download, setup and sign-in; none mentions the damaged-journal step or the diagnostic packet link, so every citing scene stays true."
      },
      "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": "39b222e5f8b1fddb870a987ffcb83d8964bad0bb44971fd2c7ab4bdc8082c2b2",
        "mp4Sha256": "022261d85e0d13fd197a8b0e96c277efb33cb97e96d80b20a7b3c348a6965a58",
        "buildUnchanged": true
      },
      "limits": [
        "No new encoding, playback or human voice listening. Existing unchanged media evidence is retained."
      ]
    }
  ],
  "build": {
    "durationSeconds": 88.122,
    "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/quick-start.mp4",
    "mp4Sha256": "022261d85e0d13fd197a8b0e96c277efb33cb97e96d80b20a7b3c348a6965a58",
    "timelineSha256": "3692993b2ab651bb2300af57c3240c5111ba4787d6b46d4293d1932e8aab05b4",
    "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": "s01",
          "from": 0,
          "to": 12.709462,
          "at": 0.7,
          "rate": 2,
          "start": 22.466666666666665,
          "duration": 39.233333333333334
        }
      ],
      "sourceVideo": {
        "path": "apps/docs/videos/quick-start/out/installer-terminal.mp4",
        "sha256": "063d4dc01cf593b14f39f16d91735e1d793308d8dd951985587b696f5be33394"
      },
      "baseMp4Sha256": "18b05680dfe0e47946f4cca9410daaac0a9f07b4f789083cc3187ea3ee39c378",
      "composedMp4Sha256": "c1dc273a927baf4593f96dbd3a9a81d6ab9810533802fed34e6f21cb3dd258af",
      "rectangle": {
        "x": 48,
        "y": 155,
        "width": 1824,
        "height": 720
      },
      "frameRate": 30
    },
    "mastering": {
      "profile": "aac-final-headroom-v1",
      "gainDb": -1.5,
      "inputSha256": "c1dc273a927baf4593f96dbd3a9a81d6ab9810533802fed34e6f21cb3dd258af",
      "outputSha256": "022261d85e0d13fd197a8b0e96c277efb33cb97e96d80b20a7b3c348a6965a58",
      "helperSha256": "0d4eb99d43aff2dd3eab7209d646c494dfb0df424c55257b27c55bc06d2a39d4"
    }
  }
}
