{
  "title": "Trip report field log",
  "intro": "A plain-language view of what is live, what Codex is improving, and how each checkpoint earned its place in the public report.",
  "updated": "2026-08-11",
  "current_focus": {
    "status": "Rc.93 deployed and live-verified",
    "title": "Ivirua is named correctly throughout the field guide",
    "why": "HS111 was published under incorrect spellings even though the Mangaia village and field locality are named Ivirua.",
    "chosen_from": "A repository and rendered-output inventory found the wrong spellings in canonical site metadata, field notes, GPS labels, photo captions, synthesis text, the web report, the legacy itinerary, public data exports, and the downloadable PDF.",
    "steps": [
      "Make Ivirua the canonical HS111 display name while preserving old spellings as input aliases.",
      "Correct human-readable field-note, GPS, photo, synthesis, report, and legacy text.",
      "Preserve stable source IDs, photo IDs, URLs, and anchors that contain the older spelling.",
      "Rebuild the site and regenerate the canonical PDF from the same report context.",
      "Scan all rendered pages and public data for the retired display spellings.",
      "Verify the deployed HTML and PDF against the validated local artifacts."
    ]
  },
  "next_three": [
    {
      "title": "Verify the Ivirua correction",
      "why": "The corrected name must be consistent in rendered pages, data downloads, and the PDF.",
      "boundary": "Preserve raw recorder evidence and stable machine identifiers."
    },
    {
      "title": "Preserve name normalization",
      "why": "Older recorder and metadata inputs may still contain either historical misspelling.",
      "boundary": "Normalize only public display text; do not migrate IDs or URLs."
    },
    {
      "title": "Verify the deployed artifact",
      "why": "The field guide and downloadable report were verified together on `master`.",
      "boundary": "Keep the successful Pages run and exact public PDF checksum in the release record."
    }
  ],
  "timeline": [
    {
      "version": "report-0.2.0-rc.93",
      "headline": "Ivirua is named correctly throughout the field guide",
      "changed": "HS111 now uses Ivirua in public site metadata, field notes, GPS and photo copy, synthesis pages, the web report, the legacy itinerary, data exports, and the PDF.",
      "learned": "A place-name correction must reach denormalized evidence and publication artifacts while stable provenance identifiers remain intact.",
      "next": "Preserve the normalization guard when future recorder or metadata inputs are added.",
      "proof": {
        "version": "report-0.2.0-rc.93",
        "date": "2026-08-11",
        "state": "Public; deployed and verified",
        "checkpoint": "Ivirua is named correctly throughout the field guide",
        "artifact": "Content a49324c2850181586bf91b94641f677588291744; Pages 31568973849; canonical HS111 display name corrected across source data, 102 generated pages, public exports, and the report while stable provenance identifiers remain unchanged; 43-page PDF exported by Chromium; 36,154,530 bytes; SHA-256 1d2063b9b629b6bf683fadf679730157cac70b5b6d702d80282ba7828845cfbb; byte-identical canonical and live PDF; spelling-focused checks pass; 29 unrelated pre-existing report-fixture tests remain failing locally",
        "commit": "a49324c2850181586bf91b94641f677588291744",
        "pdf_sha256": "1d2063b9b629b6bf683fadf679730157cac70b5b6d702d80282ba7828845cfbb",
        "pdf_pages": 43,
        "status": "deployed and live-verified",
        "deployed": true,
        "public_changes": [
          "Corrects the HS111 place name to Ivirua across the field guide, scientific synthesis, trip report, public data downloads, and legacy itinerary.",
          "Treats the historical misspellings as input aliases while retaining stable site, photo, URL, and anchor identifiers for provenance and compatibility.",
          "Regenerates the downloadable report from the corrected web edition."
        ],
        "validation": [
          "The local build completes with 102 generated pages, and exact spelling scans find Ivirua across the HS111, Mangaia, daily-log, synthesis, report, legacy, and public-data surfaces without either retired display spelling.",
          "Chromium exports all 43 PDF pages; extracted text contains Ivirua in all five expected report passages and neither retired spelling.",
          "The canonical data and public PDF copies are byte-identical, and all spelling-focused, progress, and PDF-export checks pass. The full report suite retains 29 unrelated pre-existing failures involving local photograph hashes/captions and historical CSS checkpoint assertions.",
          "GitHub Pages run 31568973849 successfully deployed content commit a49324c2850181586bf91b94641f677588291744. Cache-busted live checks confirm Ivirua on HS111 and the web report, with neither retired display spelling in public output."
        ],
        "release_record": [
          "Canonical and deployed PDF: 43 pages; 36,154,530 bytes; SHA-256 1d2063b9b629b6bf683fadf679730157cac70b5b6d702d80282ba7828845cfbb; byte-identical source, build, and live artifacts."
        ],
        "workflow_run": "31568973849",
        "real_play": "Chromium \u00b7 full PDF",
        "deployed_label": "Live verified"
      }
    },
    {
      "version": "report-0.2.0-rc.92",
      "headline": "The PDF catches up with the web report",
      "changed": "A dedicated A4 layout restores the web report's visual hierarchy, pairs related site records, keeps feature evidence intact, and reduces the report from 42 to 32 pages.",
      "learned": "Page-count reduction works best when pagination follows editorial relationships, not when every repeated component receives an unconditional page break.",
      "next": "Keep the locally generated PDF open for review without publishing remotely.",
      "proof": {
        "version": "report-0.2.0-rc.92",
        "date": "2026-07-22",
        "state": "Locally validated; remote publication deferred",
        "checkpoint": "The PDF catches up with the web report",
        "artifact": "Dedicated A4 print system; natural chapter and evidence breaks; related two-site folios; intact feature records; 32-page PDF exported by Chromium; 27,938,202 bytes; SHA-256 def7ba27f1e63d987ad3fcbf00951bd934921a444b1fd805af1a2c5fb6d51af2; canonical artifact parity; focused report/export tests and layout checks pass",
        "commit": "",
        "pdf_sha256": "def7ba27f1e63d987ad3fcbf00951bd934921a444b1fd805af1a2c5fb6d51af2",
        "pdf_pages": 32,
        "status": "locally validated; remote publication remains deferred",
        "deployed": false,
        "public_changes": [
          "Rebuilds the PDF as a dedicated 32-page A4 edition while preserving the web report's cover, map, campaign, methods, makatea, island, tidal, site, research, and glossary compositions.",
          "Pairs related site records on shared sheets, keeps field-note features and high-value single records intact, and places page breaks at chapter and evidence boundaries.",
          "Removes the inherited one-site-per-page rule that left almost half of many sheets unused, without changing report wording, images, captions, or evidence order."
        ],
        "validation": [
          "Chromium exports the full PDF as all 32 pages at A4 size; a complete contact-sheet review and high-resolution checks cover the opening, makatea explainer, all chapter transitions, representative paired sites, full-sheet features, research close, and glossary.",
          "The exporter rebuilds the report by default, validates the rendered report version, canonicalizes links, and writes byte-identical data and public artifacts.",
          "Focused report, progress, and exporter tests, layout lint, and whitespace checks pass locally. No push, deployment, remote check, or public promotion is part of this checkpoint."
        ],
        "release_record": [
          "Canonical PDF: 32 pages; 27,938,202 bytes; SHA-256 def7ba27f1e63d987ad3fcbf00951bd934921a444b1fd805af1a2c5fb6d51af2."
        ],
        "workflow_run": "",
        "real_play": "Chromium \u00b7 full PDF",
        "deployed_label": "locally validated; remote publication remains deferred"
      }
    },
    {
      "version": "report-0.2.0-rc.91",
      "headline": "A living reef becomes readable makatea",
      "changed": "A new coast-to-forest explainer aligns one real aerial, a two-line profile, Rarotongan coastal terms, plain-language time context, and four real evidence photographs.",
      "learned": "The profile becomes useful when its topographic breaks register to the photograph and the whole composition stays on the report grid rather than breaking beneath navigation.",
      "next": "Keep the local page open for user inspection and refine this section without publishing remotely.",
      "proof": {
        "version": "report-0.2.0-rc.91",
        "date": "2026-07-22",
        "state": "Locally validated; remote publication deferred",
        "checkpoint": "A living reef becomes readable makatea",
        "artifact": "Approved 1536 \u00d7 1024 target archived at visual-targets/rc91-makatea-explainer/makatea-explainer-approved-target.png, SHA-256 1e992ca9c2274b309916029260ed438a15dc3149741290927a5d255ecb987f68; real Mitiaro transect plus four real field photographs; deterministic two-line profile; direct Chromium comparison; desktop + phone + true 200% text; exact report-grid alignment and zero overflow",
        "commit": "",
        "pdf_sha256": "1e992ca9c2274b309916029260ed438a15dc3149741290927a5d255ecb987f68",
        "pdf_pages": null,
        "status": "locally validated; remote publication remains deferred",
        "deployed": false,
        "public_changes": [
          "Adds a non-specialist makatea explainer between Methods and the island chapters, pairing a real coast-to-forest aerial with a deterministic profile, Rarotongan coastal terms, and four real field photographs.",
          "Shows present water meeting the deeper modern tidal notch and a smaller, explicitly tentative upper Holocene notch in a schematic containing exactly one topographic path and one water line.",
          "Aligns the complete section to the existing report grid so neither the aerial nor profile intrudes under or beyond the persistent navigation."
        ],
        "validation": [
          "Direct headed-Chromium comparison against the approved 1536 \u00d7 1024 target guided four desktop iterations and a final grid-alignment correction.",
          "At 1440 px the section and report content share the exact 1,294.8 px width and x-position. At 390 px both are 375 px wide with zero horizontal overflow; true 200% text also retains zero page overflow.",
          "All five section images decode at their intended intrinsic dimensions in the real local build. No push, deployment, remote check, or public promotion is part of this checkpoint."
        ],
        "release_record": [],
        "workflow_run": "",
        "real_play": "Chromium \u00b7 desktop + phone + 200% text",
        "deployed_label": "locally validated; remote publication remains deferred"
      }
    },
    {
      "version": "report-0.2.0-rc.90",
      "headline": "Evidence keys and provenance stay readable",
      "changed": "All nested island and site map keys and source credits now share the established 14-pixel screen floor without changing content or print.",
      "learned": "Raising a caption container is incomplete when nested metadata silently overrides it; computed descendant audits are necessary for a true floor.",
      "next": "Pause after the fifth requested local cycle and await manual inspection.",
      "proof": {
        "version": "report-0.2.0-rc.90",
        "date": "2026-07-21",
        "state": "Locally validated; cycle 5 of 5; paused for manual inspection; remote publication deferred",
        "checkpoint": "Evidence keys and provenance stay readable",
        "artifact": "Fresh 14-frame desktop read; 125 caption descendants audited; 14.4 px desktop, 14 px phone, and 28 px true-200%-text floors; zero page or caption-node overflow; print unchanged",
        "commit": "",
        "pdf_sha256": "",
        "pdf_pages": null,
        "status": "locally validated; cycle 5 of the user-requested five-cycle local run;",
        "deployed": false,
        "public_changes": [
          "Raises every nested island/site map key and source credit to the established 14 px screen floor while preserving the report's words, figures, photographs, captions, pairings, muted metadata color, and print treatment.",
          "Removes the hidden type drop inside captions: legend labels and provenance now follow the same responsive scale as their parent evidence caption."
        ],
        "validation": [
          "A fresh 14-frame desktop read and descendant audit ranked three weaknesses: 67 caption-internal labels/credits below 14 px, source credits as small as 10.88 px, and site dates at 12.48 px beside 16 px disclosure labels. Evidence interpretation and provenance were selected as the bounded highest-leverage issue.",
          "Real headed Chromium reports 125 caption descendants at a 14.4 px minimum on desktop, 14 px on phone, and 28 px under true 200% text. All three states retain zero horizontal overflow and zero caption-node overflow.",
          "The real local build contains 102 pages. The change is screen-scoped, so print remains unchanged. No push, deployment, remote check, or public promotion is part of this cycle."
        ],
        "release_record": [],
        "workflow_run": "",
        "real_play": "Local: Chromium \u00b7 desktop + phone + 200% text",
        "deployed_label": "locally validated; cycle 5 of the user-requested five-cycle local run;"
      }
    },
    {
      "version": "report-0.2.0-rc.89",
      "headline": "Evidence captions no longer require a lean-in",
      "changed": "All 58 island opener and site evidence captions now keep a 14-pixel minimum on screens with slightly more leading and unchanged horizontal spans.",
      "learned": "Caption hierarchy can stay subordinate without becoming the smallest sustained reading text in a long scientific report.",
      "next": "Start cycle 5 with a fresh desktop read, select one final bounded weakness, then stop for manual inspection after validation.",
      "proof": {
        "version": "report-0.2.0-rc.89",
        "date": "2026-07-21",
        "state": "Locally validated; cycle 4 of 5; remote publication deferred",
        "checkpoint": "Evidence captions no longer require a lean-in",
        "artifact": "Fresh 21-view desktop read; computed audit of 58 captions; final 14.4 px desktop, 14 px phone, and 28 px true-200%-text floors; zero overflow; print unchanged",
        "commit": "",
        "pdf_sha256": "",
        "pdf_pages": null,
        "status": "locally validated; cycle 4 of the user-requested five-cycle local run",
        "deployed": false,
        "public_changes": [
          "Raises all 58 island-opener and numbered-site evidence captions to a 14 px minimum on screens, reaching 14.4 px at the 1440 px desktop canvas.",
          "Adds slightly more caption leading while preserving every word, horizontal span, figure pairing, image, map, and print style."
        ],
        "validation": [
          "A fresh 21-view desktop read and computed-type audit finds all 49 site captions at 13.12 px before the change, plus the same weak scale on opener evidence.",
          "The first implementation pass exposed two incomplete selectors\u2014Rarotonga and compact layouts\u2014which were repaired rather than accepted. Final Chromium reports all 58 captions at 14.4 px desktop, 14 px phone, and 28 px under true 200% text, with zero overflow at every state.",
          "Print is unchanged because the caption floor is screen-scoped. No push, deployment, remote check, or public promotion is part of this cycle."
        ],
        "release_record": [],
        "workflow_run": "",
        "real_play": "Local: Chromium \u00b7 desktop + phone + 200% text",
        "deployed_label": "locally validated; cycle 4 of the user-requested five-cycle local run"
      }
    },
    {
      "version": "report-0.2.0-rc.88",
      "headline": "The chapter spine follows the reader's island",
      "changed": "Existing desktop and mobile current-location states now use the same place-derived color as the active island chapter.",
      "learned": "A persistent control can reinforce orientation through state alone without becoming wider, louder, or more verbose.",
      "next": "Start cycle 4 with a fresh desktop read and rank at least three broad reader-visible weaknesses.",
      "proof": {
        "version": "report-0.2.0-rc.88",
        "date": "2026-07-21",
        "state": "Locally validated; cycle 3 of 5; remote publication deferred",
        "checkpoint": "The chapter spine follows the reader's island",
        "artifact": "Fresh 28-frame desktop read; three ranked broad weaknesses plus DOM audit; five exact desktop current-state transitions; 390 px mobile and true 200% text verified; zero overflow",
        "commit": "",
        "pdf_sha256": "",
        "pdf_pages": null,
        "status": "locally validated; cycle 3 of the user-requested five-cycle local run",
        "deployed": false,
        "public_changes": [
          "Synchronizes the existing desktop chapter-spine and mobile chapter-navigation current states with the active island's place-derived color.",
          "Preserves the 76 px spine, eight existing destinations, hover/focus labels, current-location semantics, and print omission. No content, imagery, evidence, or navigation destination changes."
        ],
        "validation": [
          "A fresh 28-frame desktop read ranks three broad weaknesses: the universal-blue current state, sparse single-evidence folios, and long low-density pauses. A DOM audit finds only one true single-evidence plate, making the persistent spine the higher-leverage repair.",
          "Real Chromium scrolling selects Rarotonga, Atiu, Mangaia, Mauke, and Mitiaro exactly and exposes the correct computed color, translucent field, and inset rule for each. The page reports zero overflow.",
          "Mangaia's mobile state matches at 390 px and remains contained at true 200% text in a 320 px viewport. Print is unchanged because chapter navigation remains explicitly omitted. No push, deployment, remote check, or public promotion is part of this cycle."
        ],
        "release_record": [],
        "workflow_run": "",
        "real_play": "Local: Chromium \u00b7 desktop + phone + 200% text",
        "deployed_label": "locally validated; cycle 3 of the user-requested five-cycle local run"
      }
    },
    {
      "version": "report-0.2.0-rc.87",
      "headline": "Island identity continues through the field records",
      "changed": "Each chapter's existing field color now marks its site-entry rule, record numbers, question labels, and evidence disclosures without recoloring data.",
      "learned": "A restrained repeated cue can sustain orientation through a long evidence sequence without becoming a new navigation system.",
      "next": "Start cycle 3 with a fresh desktop read and rank at least three broad reader-visible weaknesses.",
      "proof": {
        "version": "report-0.2.0-rc.87",
        "date": "2026-07-21",
        "state": "Locally validated; cycle 2 of 5; remote publication deferred",
        "checkpoint": "Island identity continues through the field records",
        "artifact": "Fresh 42-frame desktop read; three ranked broad weaknesses; all four numbered-site chapter entries inspected at 1440 \u00d7 1100; phone and true 200% text containment verified; progress suite 8/8",
        "commit": "",
        "pdf_sha256": "",
        "pdf_pages": null,
        "status": "locally validated; cycle 2 of the user-requested five-cycle local run",
        "deployed": false,
        "public_changes": [
          "Extends the five rc.86 island identities into the long evidence sequence using only a colored site-entry rule, numbered record discs, open-question labels, and evidence-disclosure symbols.",
          "Preserves every word, map, photograph, figure, caption, data color, evidence order, and print structure. No new navigation, cards, or decorative imagery are added."
        ],
        "validation": [
          "A fresh 42-frame, 1440 \u00d7 1100 Chromium read ranks three broad weaknesses: island identity ending at the opener, identical low-key site entries, and uneven wide-folio lower space. The first is selected because it affects all 25 site records while remaining visually subordinate.",
          "output/playwright/rc87-broad-audit/site-entry-colors.png records Atiu, Mangaia, Mauke, and Mitiaro entry pages. Each chapter exposes its exact field color through the intended cues and reports zero horizontal overflow.",
          "The real Mangaia chapter remains contained at 390 px and at true 200% root text in a 320 px viewport. The rc.87 progress suite passes all 8 checks. No push, deployment, remote check, or public promotion is part of this cycle."
        ],
        "release_record": [],
        "workflow_run": "",
        "real_play": "Local: Chromium \u00b7 desktop + phone + 200% text",
        "deployed_label": "locally validated; cycle 2 of the user-requested five-cycle local run"
      }
    },
    {
      "version": "report-0.2.0-rc.86",
      "headline": "Every island opens in its own field color",
      "changed": "Five place-derived dark fields, colored chapter edges, and aligned opener plates make each island transition unmistakable while preserving all text, photographs, maps, captions, and evidence.",
      "learned": "Chapter identity can repair the rhythm of a very long evidence sequence without adding navigation, content, or decorative cards.",
      "next": "Start cycle 2 with a fresh desktop read and rank at least three broad reader-visible weaknesses.",
      "proof": {
        "version": "report-0.2.0-rc.86",
        "date": "2026-07-21",
        "state": "Locally validated; cycle 1 of 5; remote publication deferred",
        "checkpoint": "Every island opens in its own field color",
        "artifact": "Complete 41-frame desktop read; three ranked broad weaknesses; image-generated 1440 \u00d7 1100 target archived at visual-targets/rc86-island-chapter-fields/island-transition-target.png, SHA-256 27a106f07399dcd2ab9aef60923236cf7532ff1659e8b55219adce7c19d965fa; all five desktop openers, phone, true 200% text, 76/76 image decode, keyboard, and fully loaded 41-page Letter print verified",
        "commit": "",
        "pdf_sha256": "27a106f07399dcd2ab9aef60923236cf7532ff1659e8b55219adce7c19d965fa",
        "pdf_pages": null,
        "status": "locally validated; cycle 1 of the user-requested five-cycle local run",
        "deployed": false,
        "public_changes": [
          "Gives Rarotonga, Atiu, Mangaia, Mauke, and Mitiaro distinct place-derived chapter fields, colored transition edges, and one reusable opener composition while preserving every existing word, photograph, map, caption, and figure.",
          "Reframes each opener as a dark chapter reset followed by the existing aligned evidence plate. The palettes remain within the Field Notebook Atlas system and avoid cards, shadows, invented imagery, or additional reader controls.",
          "Archives the 1440 \u00d7 1100 image-generated composition reference at docs/trip-report/visual-targets/rc86-island-chapter-fields/island-transition-target.png, SHA-256 27a106f07399dcd2ab9aef60923236cf7532ff1659e8b55219adce7c19d965fa. Generated pixels are directional only; no generated image enters the report."
        ],
        "validation": [
          "A complete 41-frame, 1440 \u00d7 1100 Chromium read ranks three broad weaknesses: the visually uniform 32,000-pixel island run, weak chapter-transition reset, and uneven wide-screen site-folio space. Chapter identity is selected because it affects most of the report without changing evidence.",
          "output/playwright/rc86-broad-audit/mangaia-target-comparison.png compares the real page directly with the generated target. All five real desktop openers are retained in island-openers-desktop-3.png; every sampled chapter and the whole page report zero horizontal overflow.",
          "Mangaia remains contained at 390 \u00d7 844 and at true 200% root text in a 320 \u00d7 800 viewport. The enlarged-text pass exposed and closed a negative-margin mismatch; the final hero is exactly 320 px wide with its six-pixel accent edge intact.",
          "A complete real-page scroll decodes all 76 images. Fresh keyboard entry first reaches the native skip link. The inspected, fully loaded local Chromium print export remains 41 Letter pages; explicit print colors restore dark atlas ink and all five opener pages preserve their original figures and captions. No push, deployment, remote check, or public promotion is part of this cycle."
        ],
        "release_record": [],
        "workflow_run": "",
        "real_play": "Local: Chromium \u00b7 desktop + phone + 200% text",
        "deployed_label": "locally validated; cycle 1 of the user-requested five-cycle local run"
      }
    },
    {
      "version": "report-0.2.0-rc.85",
      "headline": "Team & Thanks converges with its approved target",
      "changed": "Three responsive iterations and a final polish pass move all seven photo numbers close to their faces, add hover/focus names, and restore the target's rail, band, roster, pledge, and bounded print geometry. The roster now adds professional titles, and an ampersand plus small `to` connect the two thanks.",
      "learned": "A section can contain all requested content and still miss its target when proportion, alignment, and cross-width behavior are not equally exact.",
      "next": "Keep the live local page open for user review and iterate within this section until the target comparison and responsive behavior are accepted.",
      "proof": {
        "version": "report-0.2.0-rc.85",
        "date": "2026-07-21",
        "state": "Locally validated; user visual review open; remote publication deferred",
        "checkpoint": "Team & Thanks converges through three iterations and final polish",
        "artifact": "Approved rc.83 target retained; direct Chromium comparison; desktop + intermediate + tablet + phone + true 200% text; face-adjacent markers; hover/focus names; 4032 \u00d7 3024 image decode; inspected 41-page Letter print export",
        "commit": "",
        "pdf_sha256": "",
        "pdf_pages": null,
        "status": "active local visual convergence with user review open. Remote publication",
        "deployed": false,
        "public_changes": [
          "Brings Team & Thanks closer to its approved visual target while preserving all established HISEAS, gratitude, affiliation, email, and acknowledgement prose; small verified professional-title labels are added at the user's request.",
          "Adds the target's narrow field-team rail, corrects the Meitaki/Maata band geometry, reverses the community/Climate Change proportions, strengthens the office callout, centers the bilingual closing pledge, and replaces roster dividers with the target's horizontal sequence lines.",
          "Repositions the seven photograph numbers against the original 4:3 team image. Desktop pointer hover and keyboard focus reveal each person's name; the numbered roster remains the persistent identification key at every size.",
          "Places Climate Change Cook Islands on the left and island/community thanks on the right, joined by a large navy ampersand; matching small italic to labels introduce both groups. Blake Dyer's corrected title is Associate Professor."
        ],
        "validation": [
          "output/playwright/rc85-team-thanks/final-target-comparison.png places the approved target directly beside the real local Chromium section after three iterations and a final polish pass.",
          "Desktop, intermediate breakpoint, tablet, phone, and true 200% text checks report zero page and section horizontal overflow. The 4032 \u00d7 3024 photograph loads at full intrinsic dimensions; pointer hover and keyboard focus expose the name treatment.",
          "The final local Letter print export is 41 pages and retains the bounded team photograph, HISEAS introduction, complete seven-person roster, and bilingual pledge. The focused Team & Thanks test, progress suite, and git diff --check pass. No push, deployment, remote check, or public promotion is part of this cycle."
        ],
        "release_record": [],
        "workflow_run": "",
        "real_play": "Chromium \u00b7 desktop + phone + 200% text",
        "deployed_label": "active local visual convergence with user review open. Remote publication"
      }
    },
    {
      "version": "report-0.2.0-rc.84",
      "headline": "The glossary becomes a field ledger",
      "changed": "The closing glossary is rebuilt as a ruled editorial ledger while preserving every existing term and definition verbatim.",
      "learned": "The report's final practical reference should inherit the research finale's calm hierarchy instead of returning readers to a generic card grid.",
      "next": "Begin a fresh desktop read, rank at least three broad reader-visible weaknesses, and select only the highest-leverage one.",
      "proof": {
        "version": "report-0.2.0-rc.84",
        "date": "2026-07-21",
        "state": "Locally validated; remote publication deferred",
        "checkpoint": "The glossary becomes a field ledger",
        "artifact": "Approved 1536 \u00d7 1024 target archived at visual-targets/rc84-glossary-ledger/glossary-ledger-target.png, SHA-256 468496baccc90d07bf1d4ff2250782ada2ab233f57e9bd0b02da338adc2073a4; direct Chromium target comparison, desktop + phone + 200% text, 76-image decode, keyboard, and local 46-page Letter print export verified",
        "commit": "",
        "pdf_sha256": "468496baccc90d07bf1d4ff2250782ada2ab233f57e9bd0b02da338adc2073a4",
        "pdf_pages": null,
        "status": "locally validated. Remote publication remains deferred until the user",
        "deployed": false,
        "public_changes": [
          "Replaces the closing glossary's equal boxed matrix with a quiet, ruled field ledger while preserving every term and definition verbatim.",
          "The approved visual direction is stored at docs/trip-report/visual-targets/rc84-glossary-ledger/glossary-ledger-target.png, SHA-256 468496baccc90d07bf1d4ff2250782ada2ab233f57e9bd0b02da338adc2073a4."
        ],
        "validation": [
          "Direct Chromium comparison is stored at output/playwright/rc84-broad/glossary-target-comparison.png, pairing the approved target with the real local section. At 1536 px, the live glossary is 1,390.8 px wide and 1,080.9 px tall; the broad left title field, warm-paper ground, fine navy rules, restrained coral term marks, and two-column ledger converge without a boxed matrix or overflow.",
          "Chromium desktop, 390 px phone, and true 200% root text in a 320 px viewport pass with zero page and section overflow. The phone ledger uses one 358 px track; the enlarged-text ledger uses one 288 px track.",
          "A full real-page scroll decodes all 76 report images with no broken source; the final Chromium console is clean and first keyboard focus reaches the native skip link.",
          "A local Chromium print export is coherent at 46 Letter pages and retains the full glossary immediately after the research finale. No push, deployment, remote check, or public promotion is part of this local cycle."
        ],
        "release_record": [],
        "workflow_run": "",
        "real_play": "Chromium \u00b7 desktop + phone + 200% text",
        "deployed_label": "locally validated. Remote publication remains deferred until the user"
      }
    }
  ],
  "releases": [
    {
      "version": "report-0.2.0-rc.93",
      "date": "2026-08-11",
      "state": "Public; deployed and verified",
      "checkpoint": "Ivirua is named correctly throughout the field guide",
      "artifact": "Content a49324c2850181586bf91b94641f677588291744; Pages 31568973849; canonical HS111 display name corrected across source data, 102 generated pages, public exports, and the report while stable provenance identifiers remain unchanged; 43-page PDF exported by Chromium; 36,154,530 bytes; SHA-256 1d2063b9b629b6bf683fadf679730157cac70b5b6d702d80282ba7828845cfbb; byte-identical canonical and live PDF; spelling-focused checks pass; 29 unrelated pre-existing report-fixture tests remain failing locally",
      "commit": "a49324c2850181586bf91b94641f677588291744",
      "pdf_sha256": "1d2063b9b629b6bf683fadf679730157cac70b5b6d702d80282ba7828845cfbb",
      "pdf_pages": 43,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Corrects the HS111 place name to Ivirua across the field guide, scientific synthesis, trip report, public data downloads, and legacy itinerary.",
        "Treats the historical misspellings as input aliases while retaining stable site, photo, URL, and anchor identifiers for provenance and compatibility.",
        "Regenerates the downloadable report from the corrected web edition."
      ],
      "validation": [
        "The local build completes with 102 generated pages, and exact spelling scans find Ivirua across the HS111, Mangaia, daily-log, synthesis, report, legacy, and public-data surfaces without either retired display spelling.",
        "Chromium exports all 43 PDF pages; extracted text contains Ivirua in all five expected report passages and neither retired spelling.",
        "The canonical data and public PDF copies are byte-identical, and all spelling-focused, progress, and PDF-export checks pass. The full report suite retains 29 unrelated pre-existing failures involving local photograph hashes/captions and historical CSS checkpoint assertions.",
        "GitHub Pages run 31568973849 successfully deployed content commit a49324c2850181586bf91b94641f677588291744. Cache-busted live checks confirm Ivirua on HS111 and the web report, with neither retired display spelling in public output."
      ],
      "release_record": [
        "Canonical and deployed PDF: 43 pages; 36,154,530 bytes; SHA-256 1d2063b9b629b6bf683fadf679730157cac70b5b6d702d80282ba7828845cfbb; byte-identical source, build, and live artifacts."
      ],
      "workflow_run": "31568973849",
      "real_play": "Chromium \u00b7 full PDF",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.92",
      "date": "2026-07-22",
      "state": "Locally validated; remote publication deferred",
      "checkpoint": "The PDF catches up with the web report",
      "artifact": "Dedicated A4 print system; natural chapter and evidence breaks; related two-site folios; intact feature records; 32-page PDF exported by Chromium; 27,938,202 bytes; SHA-256 def7ba27f1e63d987ad3fcbf00951bd934921a444b1fd805af1a2c5fb6d51af2; canonical artifact parity; focused report/export tests and layout checks pass",
      "commit": "",
      "pdf_sha256": "def7ba27f1e63d987ad3fcbf00951bd934921a444b1fd805af1a2c5fb6d51af2",
      "pdf_pages": 32,
      "status": "locally validated; remote publication remains deferred",
      "deployed": false,
      "public_changes": [
        "Rebuilds the PDF as a dedicated 32-page A4 edition while preserving the web report's cover, map, campaign, methods, makatea, island, tidal, site, research, and glossary compositions.",
        "Pairs related site records on shared sheets, keeps field-note features and high-value single records intact, and places page breaks at chapter and evidence boundaries.",
        "Removes the inherited one-site-per-page rule that left almost half of many sheets unused, without changing report wording, images, captions, or evidence order."
      ],
      "validation": [
        "Chromium exports the full PDF as all 32 pages at A4 size; a complete contact-sheet review and high-resolution checks cover the opening, makatea explainer, all chapter transitions, representative paired sites, full-sheet features, research close, and glossary.",
        "The exporter rebuilds the report by default, validates the rendered report version, canonicalizes links, and writes byte-identical data and public artifacts.",
        "Focused report, progress, and exporter tests, layout lint, and whitespace checks pass locally. No push, deployment, remote check, or public promotion is part of this checkpoint."
      ],
      "release_record": [
        "Canonical PDF: 32 pages; 27,938,202 bytes; SHA-256 def7ba27f1e63d987ad3fcbf00951bd934921a444b1fd805af1a2c5fb6d51af2."
      ],
      "workflow_run": "",
      "real_play": "Chromium \u00b7 full PDF",
      "deployed_label": "locally validated; remote publication remains deferred"
    },
    {
      "version": "report-0.2.0-rc.91",
      "date": "2026-07-22",
      "state": "Locally validated; remote publication deferred",
      "checkpoint": "A living reef becomes readable makatea",
      "artifact": "Approved 1536 \u00d7 1024 target archived at visual-targets/rc91-makatea-explainer/makatea-explainer-approved-target.png, SHA-256 1e992ca9c2274b309916029260ed438a15dc3149741290927a5d255ecb987f68; real Mitiaro transect plus four real field photographs; deterministic two-line profile; direct Chromium comparison; desktop + phone + true 200% text; exact report-grid alignment and zero overflow",
      "commit": "",
      "pdf_sha256": "1e992ca9c2274b309916029260ed438a15dc3149741290927a5d255ecb987f68",
      "pdf_pages": null,
      "status": "locally validated; remote publication remains deferred",
      "deployed": false,
      "public_changes": [
        "Adds a non-specialist makatea explainer between Methods and the island chapters, pairing a real coast-to-forest aerial with a deterministic profile, Rarotongan coastal terms, and four real field photographs.",
        "Shows present water meeting the deeper modern tidal notch and a smaller, explicitly tentative upper Holocene notch in a schematic containing exactly one topographic path and one water line.",
        "Aligns the complete section to the existing report grid so neither the aerial nor profile intrudes under or beyond the persistent navigation."
      ],
      "validation": [
        "Direct headed-Chromium comparison against the approved 1536 \u00d7 1024 target guided four desktop iterations and a final grid-alignment correction.",
        "At 1440 px the section and report content share the exact 1,294.8 px width and x-position. At 390 px both are 375 px wide with zero horizontal overflow; true 200% text also retains zero page overflow.",
        "All five section images decode at their intended intrinsic dimensions in the real local build. No push, deployment, remote check, or public promotion is part of this checkpoint."
      ],
      "release_record": [],
      "workflow_run": "",
      "real_play": "Chromium \u00b7 desktop + phone + 200% text",
      "deployed_label": "locally validated; remote publication remains deferred"
    },
    {
      "version": "report-0.2.0-rc.90",
      "date": "2026-07-21",
      "state": "Locally validated; cycle 5 of 5; paused for manual inspection; remote publication deferred",
      "checkpoint": "Evidence keys and provenance stay readable",
      "artifact": "Fresh 14-frame desktop read; 125 caption descendants audited; 14.4 px desktop, 14 px phone, and 28 px true-200%-text floors; zero page or caption-node overflow; print unchanged",
      "commit": "",
      "pdf_sha256": "",
      "pdf_pages": null,
      "status": "locally validated; cycle 5 of the user-requested five-cycle local run;",
      "deployed": false,
      "public_changes": [
        "Raises every nested island/site map key and source credit to the established 14 px screen floor while preserving the report's words, figures, photographs, captions, pairings, muted metadata color, and print treatment.",
        "Removes the hidden type drop inside captions: legend labels and provenance now follow the same responsive scale as their parent evidence caption."
      ],
      "validation": [
        "A fresh 14-frame desktop read and descendant audit ranked three weaknesses: 67 caption-internal labels/credits below 14 px, source credits as small as 10.88 px, and site dates at 12.48 px beside 16 px disclosure labels. Evidence interpretation and provenance were selected as the bounded highest-leverage issue.",
        "Real headed Chromium reports 125 caption descendants at a 14.4 px minimum on desktop, 14 px on phone, and 28 px under true 200% text. All three states retain zero horizontal overflow and zero caption-node overflow.",
        "The real local build contains 102 pages. The change is screen-scoped, so print remains unchanged. No push, deployment, remote check, or public promotion is part of this cycle."
      ],
      "release_record": [],
      "workflow_run": "",
      "real_play": "Local: Chromium \u00b7 desktop + phone + 200% text",
      "deployed_label": "locally validated; cycle 5 of the user-requested five-cycle local run;"
    },
    {
      "version": "report-0.2.0-rc.89",
      "date": "2026-07-21",
      "state": "Locally validated; cycle 4 of 5; remote publication deferred",
      "checkpoint": "Evidence captions no longer require a lean-in",
      "artifact": "Fresh 21-view desktop read; computed audit of 58 captions; final 14.4 px desktop, 14 px phone, and 28 px true-200%-text floors; zero overflow; print unchanged",
      "commit": "",
      "pdf_sha256": "",
      "pdf_pages": null,
      "status": "locally validated; cycle 4 of the user-requested five-cycle local run",
      "deployed": false,
      "public_changes": [
        "Raises all 58 island-opener and numbered-site evidence captions to a 14 px minimum on screens, reaching 14.4 px at the 1440 px desktop canvas.",
        "Adds slightly more caption leading while preserving every word, horizontal span, figure pairing, image, map, and print style."
      ],
      "validation": [
        "A fresh 21-view desktop read and computed-type audit finds all 49 site captions at 13.12 px before the change, plus the same weak scale on opener evidence.",
        "The first implementation pass exposed two incomplete selectors\u2014Rarotonga and compact layouts\u2014which were repaired rather than accepted. Final Chromium reports all 58 captions at 14.4 px desktop, 14 px phone, and 28 px under true 200% text, with zero overflow at every state.",
        "Print is unchanged because the caption floor is screen-scoped. No push, deployment, remote check, or public promotion is part of this cycle."
      ],
      "release_record": [],
      "workflow_run": "",
      "real_play": "Local: Chromium \u00b7 desktop + phone + 200% text",
      "deployed_label": "locally validated; cycle 4 of the user-requested five-cycle local run"
    },
    {
      "version": "report-0.2.0-rc.88",
      "date": "2026-07-21",
      "state": "Locally validated; cycle 3 of 5; remote publication deferred",
      "checkpoint": "The chapter spine follows the reader's island",
      "artifact": "Fresh 28-frame desktop read; three ranked broad weaknesses plus DOM audit; five exact desktop current-state transitions; 390 px mobile and true 200% text verified; zero overflow",
      "commit": "",
      "pdf_sha256": "",
      "pdf_pages": null,
      "status": "locally validated; cycle 3 of the user-requested five-cycle local run",
      "deployed": false,
      "public_changes": [
        "Synchronizes the existing desktop chapter-spine and mobile chapter-navigation current states with the active island's place-derived color.",
        "Preserves the 76 px spine, eight existing destinations, hover/focus labels, current-location semantics, and print omission. No content, imagery, evidence, or navigation destination changes."
      ],
      "validation": [
        "A fresh 28-frame desktop read ranks three broad weaknesses: the universal-blue current state, sparse single-evidence folios, and long low-density pauses. A DOM audit finds only one true single-evidence plate, making the persistent spine the higher-leverage repair.",
        "Real Chromium scrolling selects Rarotonga, Atiu, Mangaia, Mauke, and Mitiaro exactly and exposes the correct computed color, translucent field, and inset rule for each. The page reports zero overflow.",
        "Mangaia's mobile state matches at 390 px and remains contained at true 200% text in a 320 px viewport. Print is unchanged because chapter navigation remains explicitly omitted. No push, deployment, remote check, or public promotion is part of this cycle."
      ],
      "release_record": [],
      "workflow_run": "",
      "real_play": "Local: Chromium \u00b7 desktop + phone + 200% text",
      "deployed_label": "locally validated; cycle 3 of the user-requested five-cycle local run"
    },
    {
      "version": "report-0.2.0-rc.87",
      "date": "2026-07-21",
      "state": "Locally validated; cycle 2 of 5; remote publication deferred",
      "checkpoint": "Island identity continues through the field records",
      "artifact": "Fresh 42-frame desktop read; three ranked broad weaknesses; all four numbered-site chapter entries inspected at 1440 \u00d7 1100; phone and true 200% text containment verified; progress suite 8/8",
      "commit": "",
      "pdf_sha256": "",
      "pdf_pages": null,
      "status": "locally validated; cycle 2 of the user-requested five-cycle local run",
      "deployed": false,
      "public_changes": [
        "Extends the five rc.86 island identities into the long evidence sequence using only a colored site-entry rule, numbered record discs, open-question labels, and evidence-disclosure symbols.",
        "Preserves every word, map, photograph, figure, caption, data color, evidence order, and print structure. No new navigation, cards, or decorative imagery are added."
      ],
      "validation": [
        "A fresh 42-frame, 1440 \u00d7 1100 Chromium read ranks three broad weaknesses: island identity ending at the opener, identical low-key site entries, and uneven wide-folio lower space. The first is selected because it affects all 25 site records while remaining visually subordinate.",
        "output/playwright/rc87-broad-audit/site-entry-colors.png records Atiu, Mangaia, Mauke, and Mitiaro entry pages. Each chapter exposes its exact field color through the intended cues and reports zero horizontal overflow.",
        "The real Mangaia chapter remains contained at 390 px and at true 200% root text in a 320 px viewport. The rc.87 progress suite passes all 8 checks. No push, deployment, remote check, or public promotion is part of this cycle."
      ],
      "release_record": [],
      "workflow_run": "",
      "real_play": "Local: Chromium \u00b7 desktop + phone + 200% text",
      "deployed_label": "locally validated; cycle 2 of the user-requested five-cycle local run"
    },
    {
      "version": "report-0.2.0-rc.86",
      "date": "2026-07-21",
      "state": "Locally validated; cycle 1 of 5; remote publication deferred",
      "checkpoint": "Every island opens in its own field color",
      "artifact": "Complete 41-frame desktop read; three ranked broad weaknesses; image-generated 1440 \u00d7 1100 target archived at visual-targets/rc86-island-chapter-fields/island-transition-target.png, SHA-256 27a106f07399dcd2ab9aef60923236cf7532ff1659e8b55219adce7c19d965fa; all five desktop openers, phone, true 200% text, 76/76 image decode, keyboard, and fully loaded 41-page Letter print verified",
      "commit": "",
      "pdf_sha256": "27a106f07399dcd2ab9aef60923236cf7532ff1659e8b55219adce7c19d965fa",
      "pdf_pages": null,
      "status": "locally validated; cycle 1 of the user-requested five-cycle local run",
      "deployed": false,
      "public_changes": [
        "Gives Rarotonga, Atiu, Mangaia, Mauke, and Mitiaro distinct place-derived chapter fields, colored transition edges, and one reusable opener composition while preserving every existing word, photograph, map, caption, and figure.",
        "Reframes each opener as a dark chapter reset followed by the existing aligned evidence plate. The palettes remain within the Field Notebook Atlas system and avoid cards, shadows, invented imagery, or additional reader controls.",
        "Archives the 1440 \u00d7 1100 image-generated composition reference at docs/trip-report/visual-targets/rc86-island-chapter-fields/island-transition-target.png, SHA-256 27a106f07399dcd2ab9aef60923236cf7532ff1659e8b55219adce7c19d965fa. Generated pixels are directional only; no generated image enters the report."
      ],
      "validation": [
        "A complete 41-frame, 1440 \u00d7 1100 Chromium read ranks three broad weaknesses: the visually uniform 32,000-pixel island run, weak chapter-transition reset, and uneven wide-screen site-folio space. Chapter identity is selected because it affects most of the report without changing evidence.",
        "output/playwright/rc86-broad-audit/mangaia-target-comparison.png compares the real page directly with the generated target. All five real desktop openers are retained in island-openers-desktop-3.png; every sampled chapter and the whole page report zero horizontal overflow.",
        "Mangaia remains contained at 390 \u00d7 844 and at true 200% root text in a 320 \u00d7 800 viewport. The enlarged-text pass exposed and closed a negative-margin mismatch; the final hero is exactly 320 px wide with its six-pixel accent edge intact.",
        "A complete real-page scroll decodes all 76 images. Fresh keyboard entry first reaches the native skip link. The inspected, fully loaded local Chromium print export remains 41 Letter pages; explicit print colors restore dark atlas ink and all five opener pages preserve their original figures and captions. No push, deployment, remote check, or public promotion is part of this cycle."
      ],
      "release_record": [],
      "workflow_run": "",
      "real_play": "Local: Chromium \u00b7 desktop + phone + 200% text",
      "deployed_label": "locally validated; cycle 1 of the user-requested five-cycle local run"
    },
    {
      "version": "report-0.2.0-rc.85",
      "date": "2026-07-21",
      "state": "Locally validated; user visual review open; remote publication deferred",
      "checkpoint": "Team & Thanks converges through three iterations and final polish",
      "artifact": "Approved rc.83 target retained; direct Chromium comparison; desktop + intermediate + tablet + phone + true 200% text; face-adjacent markers; hover/focus names; 4032 \u00d7 3024 image decode; inspected 41-page Letter print export",
      "commit": "",
      "pdf_sha256": "",
      "pdf_pages": null,
      "status": "active local visual convergence with user review open. Remote publication",
      "deployed": false,
      "public_changes": [
        "Brings Team & Thanks closer to its approved visual target while preserving all established HISEAS, gratitude, affiliation, email, and acknowledgement prose; small verified professional-title labels are added at the user's request.",
        "Adds the target's narrow field-team rail, corrects the Meitaki/Maata band geometry, reverses the community/Climate Change proportions, strengthens the office callout, centers the bilingual closing pledge, and replaces roster dividers with the target's horizontal sequence lines.",
        "Repositions the seven photograph numbers against the original 4:3 team image. Desktop pointer hover and keyboard focus reveal each person's name; the numbered roster remains the persistent identification key at every size.",
        "Places Climate Change Cook Islands on the left and island/community thanks on the right, joined by a large navy ampersand; matching small italic to labels introduce both groups. Blake Dyer's corrected title is Associate Professor."
      ],
      "validation": [
        "output/playwright/rc85-team-thanks/final-target-comparison.png places the approved target directly beside the real local Chromium section after three iterations and a final polish pass.",
        "Desktop, intermediate breakpoint, tablet, phone, and true 200% text checks report zero page and section horizontal overflow. The 4032 \u00d7 3024 photograph loads at full intrinsic dimensions; pointer hover and keyboard focus expose the name treatment.",
        "The final local Letter print export is 41 pages and retains the bounded team photograph, HISEAS introduction, complete seven-person roster, and bilingual pledge. The focused Team & Thanks test, progress suite, and git diff --check pass. No push, deployment, remote check, or public promotion is part of this cycle."
      ],
      "release_record": [],
      "workflow_run": "",
      "real_play": "Chromium \u00b7 desktop + phone + 200% text",
      "deployed_label": "active local visual convergence with user review open. Remote publication"
    },
    {
      "version": "report-0.2.0-rc.84",
      "date": "2026-07-21",
      "state": "Locally validated; remote publication deferred",
      "checkpoint": "The glossary becomes a field ledger",
      "artifact": "Approved 1536 \u00d7 1024 target archived at visual-targets/rc84-glossary-ledger/glossary-ledger-target.png, SHA-256 468496baccc90d07bf1d4ff2250782ada2ab233f57e9bd0b02da338adc2073a4; direct Chromium target comparison, desktop + phone + 200% text, 76-image decode, keyboard, and local 46-page Letter print export verified",
      "commit": "",
      "pdf_sha256": "468496baccc90d07bf1d4ff2250782ada2ab233f57e9bd0b02da338adc2073a4",
      "pdf_pages": null,
      "status": "locally validated. Remote publication remains deferred until the user",
      "deployed": false,
      "public_changes": [
        "Replaces the closing glossary's equal boxed matrix with a quiet, ruled field ledger while preserving every term and definition verbatim.",
        "The approved visual direction is stored at docs/trip-report/visual-targets/rc84-glossary-ledger/glossary-ledger-target.png, SHA-256 468496baccc90d07bf1d4ff2250782ada2ab233f57e9bd0b02da338adc2073a4."
      ],
      "validation": [
        "Direct Chromium comparison is stored at output/playwright/rc84-broad/glossary-target-comparison.png, pairing the approved target with the real local section. At 1536 px, the live glossary is 1,390.8 px wide and 1,080.9 px tall; the broad left title field, warm-paper ground, fine navy rules, restrained coral term marks, and two-column ledger converge without a boxed matrix or overflow.",
        "Chromium desktop, 390 px phone, and true 200% root text in a 320 px viewport pass with zero page and section overflow. The phone ledger uses one 358 px track; the enlarged-text ledger uses one 288 px track.",
        "A full real-page scroll decodes all 76 report images with no broken source; the final Chromium console is clean and first keyboard focus reaches the native skip link.",
        "A local Chromium print export is coherent at 46 Letter pages and retains the full glossary immediately after the research finale. No push, deployment, remote check, or public promotion is part of this local cycle."
      ],
      "release_record": [],
      "workflow_run": "",
      "real_play": "Chromium \u00b7 desktop + phone + 200% text",
      "deployed_label": "locally validated. Remote publication remains deferred until the user"
    },
    {
      "version": "report-0.2.0-rc.83",
      "date": "2026-07-21",
      "state": "Locally validated; remote publication deferred",
      "checkpoint": "Team, thanks, and partnership become a documentary landmark",
      "artifact": "Approved 1536 \u00d7 1024 target archived at visual-targets/rc83-team-thanks/team-thanks-approved-target.png, SHA-256 329c6338764afc43b3b0a19d6c3e3ed0bf227f757f94ac63a518d4390b34a2ae; original 4032 \u00d7 3024 Mangaia team photograph, SHA-256 67defa09798689bc6ee176f17468ef3cec99ebf44fa31e67eb5d904b8254c919; direct Chromium target comparison, desktop + phone + 200% text, image decode, native-link keyboard path, and local browser print export verified",
      "commit": "",
      "pdf_sha256": "329c6338764afc43b3b0a19d6c3e3ed0bf227f757f94ac63a518d4390b34a2ae",
      "pdf_pages": null,
      "status": "locally validated. Remote publication remains deferred until the user",
      "deployed": false,
      "public_changes": [],
      "validation": [
        "Direct Chromium comparison is stored at output/playwright/rc83-team-thanks/desktop-target-comparison.png, pairing the approved target with the real local section. The real 1536 px report canvas is 1,391 px wide and the finished landmark is 1,061 px tall: the photo / bilingual gratitude split, community and Climate Change Cook Islands acknowledgement, HISEAS band, seven-person ruled roster, and closing pledge retain the target's single vertical sequence without overflow.",
        "Chromium desktop, phone, and true 200% text pass with zero page and section overflow. The supplied 4032 \u00d7 3024 photograph decodes in the live local build; final artifacts are retained at output/playwright/rc83-team-thanks/.",
        "The marker-to-roster links, all seven email links, and the external HISEAS link remain keyboard-addressable native links. The final Chromium console is clean.",
        "A local browser print export retains the complete Team & Thanks content. No push, deployment, remote check, or public promotion is part of this local cycle."
      ],
      "release_record": [],
      "workflow_run": "",
      "real_play": "Chromium \u00b7 desktop + phone + 200% text",
      "deployed_label": "locally validated. Remote publication remains deferred until the user"
    },
    {
      "version": "report-0.2.0-rc.82",
      "date": "2026-07-21",
      "state": "Locally validated; remote publication deferred",
      "checkpoint": "Methods become one visible evidence chain",
      "artifact": "Complete 1440 \u00d7 1100 desktop read; three ranked broad weaknesses; image-generated 1536 \u00d7 1024 target; direct comparison; Chromium \u00b7 desktop + phone + 200% text; interaction, loading, keyboard, and print verified; 75/75 images decoded; 41 A4 pages; 23,237,430 bytes; SHA-256 de07e4411545135308b8dbaed86d4bebe7d17236f25bac600a61bc91d97cfcc7",
      "commit": "",
      "pdf_sha256": "de07e4411545135308b8dbaed86d4bebe7d17236f25bac600a61bc91d97cfcc7",
      "pdf_pages": null,
      "status": "locally validated. Remote publication remains deferred until",
      "deployed": false,
      "public_changes": [
        "Reconnects the unchanged Map, Measure, Model, and Collect methods as one horizontal evidence chain.",
        "Moves the existing HS123 surveyed surface and texture-to-wireframe comparison beneath that chain as its full-width worked example.",
        "Preserves every method sentence, factual figure, interaction, caption, and survey link while removing the former split-column dead zone."
      ],
      "validation": [
        "A complete 1440 \u00d7 1100 Playwright read ranks three broad weaknesses: the disconnected methods/example columns, the long uniform site-folio cadence, and the boxed glossary close. Methods is selected because it teaches readers how to interpret every later evidence type.",
        "The 1536 \u00d7 1024 image-generated target is archived at docs/trip-report/visual-targets/rc82-methods-chain/methods-chain-target.png, SHA-256 28054b11fe1d7e2d9679b6d2ec9125857700c9769bfdc04e2ff106791a6bdbff. Generated pixels remain directional only; the implementation uses the existing factual HS123 assets.",
        "Direct Chromium comparison is stored at output/playwright/rc82-audit/methods-target-comparison.png. At 1440 px the real section is 1,295 px wide, its four steps occupy equal 288 px tracks, and the 1,151 px worked example contains both existing views and the complete caption column without overflow.",
        "At 390 \u00d7 844 each method explanation receives the full 351 px content width and both evidence views render at 358 \u00d7 223.75 px. At a true 200% root size in a 320 px viewport, explanations receive the full 288 px content width with no page or section overflow.",
        "The texture-to-wireframe range remains keyboard operable and moves from 50 to 51 with ArrowRight. All 75 report images decode and the final browser console is clean.",
        "All 11 rc.82 progress, version, target, and preservation checks pass. The broader focused suite records 113 passes and the same 27 unrelated stale copy/style expectation failures present before this checkpoint.",
        "The canonical and public PDFs match at 41 unrotated A4 pages and 23,237,430 bytes, SHA-256 de07e4411545135308b8dbaed86d4bebe7d17236f25bac600a61bc91d97cfcc7. Direct inspection of page 4 confirms the complete four-step chain, both real figures, every caption, and the survey link.",
        "No push, deployment, remote check, or public promotion is part of this local cycle."
      ],
      "release_record": [],
      "workflow_run": "",
      "real_play": "Chromium \u00b7 desktop + phone + 200% text",
      "deployed_label": "locally validated. Remote publication remains deferred until"
    },
    {
      "version": "report-0.2.0-rc.81",
      "date": "2026-07-21",
      "state": "Locally validated; remote publication deferred",
      "checkpoint": "The field campaign opens through people and place",
      "artifact": "Complete 1440 \u00d7 1100 desktop read; three ranked broad layout weaknesses; four image-generated directions and approved synthesis; two original HISEAS photographs; direct comparison; Chromium \u00b7 desktop + phone + 200% text; loading, keyboard, and print verified; 75/75 images decoded; 41 A4 pages; 23,255,658 bytes; SHA-256 19da87d30d90396f4b6ccf9d7c8cff1255244a39a64d169ac69bae6260df91fe",
      "commit": "",
      "pdf_sha256": "19da87d30d90396f4b6ccf9d7c8cff1255244a39a64d169ac69bae6260df91fe",
      "pdf_pages": null,
      "status": "locally validated. Remote publication remains deferred until",
      "deployed": false,
      "public_changes": [
        "Replaces the fragmented three-column field-campaign introduction and separate caution box with one bold navy-and-paper photographic spread.",
        "Preserves every existing campaign sentence verbatim while placing \u201cWhat remains uncertain\u201d beneath the field photograph and \u201cSchools and community events\u201d beneath the school photograph, as approved.",
        "Adds the original HISEAS field-traverse and classroom-circle photographs, never generated substitutes, with their source captions and repository provenance.",
        "Uses one borderless caption language, a single fine orange rule, aligned halves, and no cards, rounded panels, or shadows.",
        "Preserves every prior report figure, photograph, caption, chapter, site, tidal-datum plate, research section, and exact-location boundary."
      ],
      "validation": [
        "A complete 1440 \u00d7 1100 Playwright read ranks three broad remaining weaknesses: the fragmented campaign promise, the disconnected methods/example columns, and the boxed glossary matrix. The campaign introduction is selected as the highest-leverage repair.",
        "Four deliberately different image-generated directions were reviewed. The approved synthesis is stored at docs/trip-report/visual-targets/rc81-field-campaign/direction-4-approved-synthesis.png (1536 \u00d7 1024; SHA-256 07a44eac6c55d15a435d4e92f8849ccf75334a056f27a0df5424ebc99263d576). Generated pixels are directional only.",
        "The real field image is the 1600 \u00d7 1205 HISEAS source at SHA-256 b694750609a3706a054581d19222bd0c93d3e09658fd4a767ced2ab73428406e; the school image is the 1024 \u00d7 768 HISEAS source at SHA-256 c18b9474f376c1fe9203bafb5fc669e904272ceca2bc79992ecb3749bad6c7d8.",
        "Direct Chromium comparison is stored at output/playwright/rc81-field/desktop-target-comparison.png. At 1440 px the real section is 1,295 px wide, divides into two 647 px halves, preserves the approved note swap, and contains every child without horizontal overflow.",
        "At 390 \u00d7 844 both photographs render at 375 \u00d7 281.25 px with a contained one-column reading order. At a true 200% root size in a 320 px viewport, the section remains 320 px wide, its heading remains contained at 48 px, and both photographs remain 320 \u00d7 240 px.",
        "Keyboard entry visibly reaches the skip link, both new photographs decode at their exact source dimensions, and the browser console is clean.",
        "All 9 rc.81 campaign/progress assertions pass. The broader focused suite records 112 passes and 27 unrelated stale copy/style expectation failures; none targets the new campaign composition, source-photo provenance, or progress receipt.",
        "The canonical and public PDF copies match at 41 unrotated A4 pages and 23,255,658 bytes, SHA-256 19da87d30d90396f4b6ccf9d7c8cff1255244a39a64d169ac69bae6260df91fe. Direct inspection of page 3 confirms the two real photographs, captions, full campaign copy, approved note order, and repaired print grid.",
        "No push, deployment, remote check, or public promotion is part of this local cycle."
      ],
      "release_record": [],
      "workflow_run": "",
      "real_play": "Chromium \u00b7 desktop + phone + 200% text",
      "deployed_label": "locally validated. Remote publication remains deferred until"
    },
    {
      "version": "report-0.2.0-rc.80",
      "date": "2026-07-21",
      "state": "Locally validated; remote publication deferred",
      "checkpoint": "The research program becomes the report's destination",
      "artifact": "Complete 1440 \u00d7 1100 desktop read; three ranked broad layout weaknesses; image-generated 1536 \u00d7 1024 target; direct comparison; Chromium \u00b7 desktop + phone + 200% text; loading, keyboard, and print verified; 73/73 images decoded; 41 A4 pages; 22,609,715 bytes; SHA-256 cb2c087c34a9f3b7749c3493abdf6d4be4d631ff9097f4061ee63fc28361ce84",
      "commit": "",
      "pdf_sha256": "cb2c087c34a9f3b7749c3493abdf6d4be4d631ff9097f4061ee63fc28361ce84",
      "pdf_pages": null,
      "status": "locally validated. Remote publication remains deferred until",
      "deployed": false,
      "public_changes": [
        "Replaces the full navy research-program slab and its equal bordered cards with one continuous warm-paper editorial conclusion.",
        "Preserves verbatim all three paper titles and summaries, all three immediate-work items, and all four citations and source descriptions.",
        "Gives the three papers a clear left-to-right sequence separated by fine rules, then distinguishes action from scholarship with a compact work band and source ledger.",
        "Preserves every prior report figure, photograph, caption, chapter, and the approved rc.79 tidal-datum plates."
      ],
      "validation": [
        "A complete 1440 \u00d7 1100 Playwright read ranks three broad remaining weaknesses: the card-heavy navy research finale, the boxed glossary grid, and the long uniform site-folio cadence. The research finale is selected as the highest-leverage repair because it is the report's intellectual destination.",
        "The target is stored at docs/trip-report/visual-targets/rc80-research-finale/research-finale-target.png (1536 \u00d7 1024; SHA-256 216260113d105e576ea77077f4d029c06e9de18e09117559c61ccea3ca6127e5). Generated pixels are directional only.",
        "Direct Chromium desktop comparison is stored at output/playwright/rc80-broad/research-target-comparison.png. At 1440 px the real section holds three ruled paper columns, a three-item work band, and a four-source ledger with no overflow.",
        "At 390 \u00d7 844 the section stacks to one 358 px column with no horizontal overflow. At a true 200% root size in a 320 px viewport, the section and title remain exactly contained.",
        "Keyboard entry visibly reaches the skip link, research-source focus has a solid 2 px outline, all 73 report images decode, and the final browser console is clean.",
        "The focused report and progress suite records 84 passes and 26 unrelated pre-existing copy/style expectation failures; the three rc.80 progress failures disappear once this validated receipt replaces the in-progress state.",
        "The canonical and public PDF copies match at 41 unrotated A4 pages and 22,609,715 bytes, SHA-256 cb2c087c34a9f3b7749c3493abdf6d4be4d631ff9097f4061ee63fc28361ce84. Direct inspection of pages 39\u201340 confirms the research sequence, work band, and source ledger print without the former navy slab or cards.",
        "No push, deployment, remote check, or public promotion is part of this local cycle."
      ],
      "release_record": [],
      "workflow_run": "",
      "real_play": "Chromium \u00b7 desktop + phone + 200% text",
      "deployed_label": "locally validated. Remote publication remains deferred until"
    },
    {
      "version": "report-0.2.0-rc.79",
      "date": "2026-07-21",
      "state": "Locally validated; remote publication deferred",
      "checkpoint": "Tide records become one readable height reference",
      "artifact": "102-page local build; user-selected 1536 \u00d7 1024 target; deterministic real-data traces for 4 islands; direct 1440 px Playwright comparison; phone, true 200% text, loading, keyboard, and all 4 print plates verified; 41 A4 pages; 22,606,533 bytes; SHA-256 bff353f4dd1504f67547eba8f8dda26667d19c0d281b8af9f304bd80559bab31",
      "commit": "",
      "pdf_sha256": "bff353f4dd1504f67547eba8f8dda26667d19c0d281b8af9f304bd80559bab31",
      "pdf_pages": null,
      "status": "locally validated. Remote publication remains deferred until",
      "deployed": false,
      "public_changes": [
        "Replaces the four dashboard-like tidal-datum sections with one shared editorial plate modeled directly on the user-selected \u201cTide as landscape\u201d reference.",
        "Distills the explanation to a plain-language statement of how the harbour record establishes local mean sea level and why measured reef and shore features are compared to that zero.",
        "Keeps every working datum, mean-water value, gauge tie, representative feature offset, and field screening range sourced from the real data.",
        "Adds deterministic report-specific SVG traces generated from each corrected logger record, with observed dates, noon rhythm, real mean water, units, and a restrained trace key.",
        "Reduces each ruler to one gauge control and one representative point per available evidence category, while retaining the full technical evidence on the standalone tidal-datum pages.",
        "Uses one warm-paper, rule-based, shadow-free composition across Atiu, Mangaia, Mauke, and Mitiaro, including data-ordered label placement for close measurements."
      ],
      "validation": [
        "The cycle began with a fresh 1440 \u00d7 1100 browser read and ranked three broad weaknesses: the cyan slab broke report cadence; two bordered mini-apps separated the evidence chain; and dense legends and tiny point indexes obscured the datum relationship. The integrated plate was selected as the highest-leverage repair.",
        "The exact approved reference is archived at docs/trip-report/visual-targets/rc79-tidal-landscape/tidal-landscape-reference.png (1536 \u00d7 1024; SHA-256 eeeb9eaf5775c8d2d2af18db04056502f86f0412d10a3cd8eafc7723fc7e86cc). Generated pixels remain an acceptance reference only and never replace scientific evidence.",
        "Repeated headed-Chromium captures of all four local sections repaired title scale, label clipping, duplicate axis text, real screening whiskers, symmetric reader scales, and close-point collisions.",
        "The final 1440 \u00d7 1100 Playwright captures cover all four islands; a fresh normalized comparison against the exact target is stored at output/playwright/rc79-tidal-target/atiu-target-comparison.png. The report has no horizontal overflow, and every ruler label remains contained.",
        "At 390 \u00d7 844 the four plates stack cleanly at 343 px. At a true 200% root size in a 320 px viewport, all four remain exactly 288 px wide with contained labels and no page overflow. Keyboard entry visibly reaches the skip link, and all 73 report images decode.",
        "The 102-page local build and deterministic datum-output check pass. Rc.79-specific tidal and progress assertions pass; unrelated pre-existing report-copy assertions remain outside this visual checkpoint.",
        "The first PDF export exposed a print-only collapse of the absolutely positioned ruler labels. The repaired print cascade preserves every dot, whisker, datum line, leader, and label. Direct inspection of pages 7, 16, 26, and 34 confirms all four plates.",
        "The canonical and public PDF copies match at 41 unrotated A4 pages and 22,606,533 bytes, SHA-256 bff353f4dd1504f67547eba8f8dda26667d19c0d281b8af9f304bd80559bab31.",
        "No push, deployment, remote check, or public promotion is part of this local cycle."
      ],
      "release_record": [],
      "workflow_run": "",
      "real_play": "Chromium \u00b7 desktop + phone + 200% text",
      "deployed_label": "locally validated. Remote publication remains deferred until"
    },
    {
      "version": "report-0.2.0-rc.78",
      "date": "2026-07-20",
      "state": "Locally validated; remote publication deferred",
      "checkpoint": "Island openers pair place with geography",
      "artifact": "102-page local build; image-generated geographic-opener target; complete 35-frame desktop read; 4/4 opener pairs and 24/24 site pairs exact; 73/73 images decoded; 1280 px, 1120 px, 900 px, phone, keyboard, loading, and true 200% text verified; 41 A4 pages raster-identical to rc.77; 22,833,802 bytes; SHA-256 1ae808221a2c806fe94719ed39f1aa6f2bd819a0c8d2792717d905e2ca77dcb8",
      "commit": "",
      "pdf_sha256": "1ae808221a2c806fe94719ed39f1aa6f2bd819a0c8d2792717d905e2ca77dcb8",
      "pdf_pages": null,
      "status": "locally validated. Remote publication is deferred until the",
      "deployed": false,
      "public_changes": [
        "Recomposes the four wide-screen raised-island openers as a shallow identity-and-narrative header above a balanced field-photograph and island-map row.",
        "Gives both real media fields equal width and image height, keeps every map pixel visible, and uses one shared borderless caption treatment with natural caption depth.",
        "Reformats each unchanged chapter tally into three legible statistic blocks divided by simple rules.",
        "Applies the same exact-height, shadow-free media treatment to all 24 numbered-site map-and-photo pairs; the single-map HS114 record uses the same caption language.",
        "Centers each 4:3 site-map caption beneath the visible contained map instead of spanning the wider 16:10 evidence field.",
        "Preserves every report sentence, date, count, figure, photograph choice, map, caption, and compact or print composition."
      ],
      "validation": [
        "Begins with a complete 39-frame, 1440 \u00d7 1100 desktop read of rc.77 and ranks four broad weaknesses: geography trailing photography in repeated raised-island openers; number-only orientation through the long middle; an equal-box research conclusion; and underweighted evidence captions. The repeated island-opening composition was selected because it strengthens both chapter rhythm and geographic orientation without adding navigation or undoing rc.75's recovered evidence width.",
        "Impeccable's isolated visual assessment identifies the same weak island-scale rhythm and geographic context; its isolated active-source detector returns [], with no arbitrary Tailwind spacing or z-index forms.",
        "The built-in image-generation workflow produced docs/trip-report/visual-targets/rc78-island-opener-direction/geographic-island-opener.png (1531 \u00d7 1027; SHA-256 1a9e56d6e80d85997c1e9ed5313de93ea6fb59a08a5c8676b799ad5b309dc731). It is a composition reference only; generated text, photograph, and map pixels never enter the report.",
        "The final 1440 \u00d7 1100 headed-Chromium read covers 35 stable viewports and a 38,442 px report. All 73 images decode, all 74 figures and 70 captions remain, all 25 site records are present, and the console reports no warning or error.",
        "Direct computed-geometry validation confirms 4/4 raised-island pairs and 24/24 numbered-site pairs have equal widths, equal heights, exact image bottoms, shared borderless caption styles, and no figure shadow. Every 4:3 site-map caption uses 83.333% of its evidence-field width.",
        "The real build passes at 1280, 1120, 900, and 390 px. At phone width the stacked HS117 map and photograph are each 343 \u00d7 257.25 px; at true 200% root text they remain equal-width and equal-height with no horizontal overflow.",
        "Keyboard entry visibly focuses the skip link, all 73 images finish decoding, both annotated field-note photographs reach ready state, and the report has zero horizontal overflow at every checked state.",
        "The final canonical PDF is 41 unrotated A4 pages and 22,833,802 bytes at SHA-256 1ae808221a2c806fe94719ed39f1aa6f2bd819a0c8d2792717d905e2ca77dcb8; its 41 page rasters are byte-identical to rc.77, and the canonical and public PDF copies match.",
        "No commit, push, deployment, remote check, or public promotion was performed."
      ],
      "release_record": [],
      "workflow_run": "",
      "real_play": "Chromium \u00b7 desktop + phone + 200% text",
      "deployed_label": "locally validated. Remote publication is deferred until the"
    },
    {
      "version": "report-0.2.0-rc.77",
      "date": "2026-07-20",
      "state": "Locally validated; remote publication deferred",
      "checkpoint": "Site records become field folios",
      "artifact": "102-page local build; image-generated alternating-folio target; complete 41-frame rebuilt desktop read; 25 contained site records; 73/73 images decoded; 1280 px, compact, phone, keyboard, loading, and true 200% text verified; 41 A4 pages raster-identical to rc.76; 22,833,802 bytes; SHA-256 dfc5f712e35db84c5667d2ff40c1240bc9d99769a4aa685c44ed488fdb27c578",
      "commit": "",
      "pdf_sha256": "dfc5f712e35db84c5667d2ff40c1240bc9d99769a4aa685c44ed488fdb27c578",
      "pdf_pages": null,
      "status": "locally validated. Remote publication is deferred until the user",
      "deployed": false,
      "public_changes": [
        "Reorganizes each of the 25 wide-screen site records into a compact field-folio header above its existing map and field photograph.",
        "Gives maps and photographs near-equal scientific reading space instead of reducing every photograph to the same narrow supporting column.",
        "Alternates map-led and photograph-led evidence rows through each island sequence, creating a deliberate reading rhythm while preserving DOM order and every source asset.",
        "Replaces the wide-screen question side stripe with a quiet top rule that belongs to the folio header.",
        "Preserves every report sentence, question, figure, photograph choice, caption, map marker, scale, evidence disclosure, chapter, compact layout, and print composition."
      ],
      "validation": [
        "Begins with a fresh complete 34-frame, 1440 \u00d7 1100 desktop read of rc.76 and explicitly ranks three broad weaknesses: the uniform 25-record site cadence; geography remaining secondary to photography in opening compositions; and desktop grids flattening into an approximately 53,000 px phone stream. The repeated site-record cadence was selected as the highest-leverage desktop concern.",
        "Impeccable's required isolated assessment and mechanical pre-scan agree that the site macro is the report's main structural monotony point; the layout detector returns no findings and no arbitrary Tailwind spacing or z-index values.",
        "A new image-generated visual target, grounded in the existing HS102 and HS103 records, is stored at docs/trip-report/visual-targets/rc77-site-folio-direction/alternating-site-folios.png (1536 \u00d7 1024; SHA-256 1cb5c34ea92aa0894fe5631c1efad395ab6b508ee306de17d857bb91e54c94c1). It is a composition reference only; generated map and photograph pixels never enter the report.",
        "The exact local build emits 102 pages and declares rc.77 in the report and companion data.",
        "Direct 1440 px inspection confirms the alternating HS101 and HS102 variants, the single-map HS114 variant, complete captions, contained disclosures, and uncropped map evidence.",
        "A complete 41-frame, 1440 \u00d7 1100 headed Chromium read covers the 40,608 px rebuilt report: all 73 images decode, all 74 figures and 70 captions remain present, all 25 site records contain their children, both annotated photographs reach their ready state, the glossary is the final current chapter, and the report produces no runtime warning or error.",
        "At 1440 px, HS101 is a 1,180 \u00d7 896 px map-led folio with 626 px map and 533 px photograph; HS102 is a 1,180 \u00d7 863 px photograph-led folio with 626 px photograph and 533 px map; the single-map HS114 is capped at 880 px. Every map remains uncropped and every caption and disclosure remains contained.",
        "At 1280 \u00d7 800 the folio remains a contained wide composition; at 900 \u00d7 800 it yields to the compact evidence order; at 390 \u00d7 844 it remains one stacked 343 px column with no horizontal overflow. At a true 200% root size in a 320 px viewport, the report remains exactly 320 px wide and a direct HS102 anchor lands visibly without chrome overlap.",
        "Headed Chromium validates the real new report at desktop, phone, and true 200% text. Keyboard focus reaches the native evidence disclosure with a visible outline, and loading completion confirms 73 of 73 images decoded and both annotated fields ready.",
        "The first PDF gate caught and repaired a compact-screen rule leaking into print. The corrected canonical PDF is 41 unrotated A4 pages and 22,833,802 bytes at SHA-256 dfc5f712e35db84c5667d2ff40c1240bc9d99769a4aa685c44ed488fdb27c578; all 41 rasterized pages are byte-identical to rc.76 and the complete contact sheet was directly inspected.",
        "No commit, push, deployment, remote check, or public promotion was performed."
      ],
      "release_record": [],
      "workflow_run": "",
      "real_play": "Chromium \u00b7 desktop + phone + 200% text",
      "deployed_label": "locally validated. Remote publication is deferred until the user"
    },
    {
      "version": "report-0.2.0-rc.76",
      "date": "2026-07-20",
      "state": "Locally validated; remote publication deferred",
      "checkpoint": "Datum evidence gets the full width",
      "artifact": "102-page local build; image-generated editorial target; complete 34-frame rebuilt desktop read; all four datum variants contained; 589 px and 522 px figure cards at 1440 px; 1280 px desktop, phone, keyboard, and true 200% text verified; 41 A4 pages; 22,833,802 bytes; SHA-256 b8a3c56bacf71ea5b391de1f91b66ccf08273b857a6182c206a03cad89157ed8",
      "commit": "",
      "pdf_sha256": "b8a3c56bacf71ea5b391de1f91b66ccf08273b857a6182c206a03cad89157ed8",
      "pdf_pages": null,
      "status": "locally validated. Remote publication is deferred until the user",
      "deployed": false,
      "public_changes": [
        "Reorganizes each of the four wide-screen tidal-datum sections into a shallow full-width editorial header above the two existing scientific figures.",
        "Replaces the stranded tall cyan copy column with one purposeful height-reference band while materially enlarging the logger and datum-connection evidence.",
        "Gives the connection plot the same 8:5 visual field as the logger plot at wide report widths, while preserving every existing point, range, reference line, label, note, legend, and caption.",
        "Preserves every report sentence, datum value, figure, photograph, caption, map, chapter, compact layout, and print composition."
      ],
      "validation": [
        "Begins with a fresh complete 33-frame, 1440 \u00d7 1100 desktop read of rc.75 and explicitly ranks three layout-system weaknesses: empty cyan space beside compressed datum figures; repetitive site-record cadence; and chapter openings sharing a viewport with the previous disclosure. The repeated datum composition was selected as the highest-leverage concern.",
        "A new image-generated visual target, grounded in the existing Atiu and Mangaia sections, is stored at docs/trip-report/visual-targets/rc76-datum-direction/editorial-datum-target.png (1435 \u00d7 1096; SHA-256 bd2fade079aa191974b5b9f34e73583535e88dc02eec42178ae817ab725c4825). It is a composition reference only; the actual report figures and values remain authoritative.",
        "The exact local build emits 102 pages and declares rc.76 in the report and companion data.",
        "At 1440 px, Atiu's 1,180 \u00d7 693 px baseline section had a 322 \u00d7 611 px copy column, 374 px and 332 px figure cards, and a 315 px connection plot. Rc.76 uses a 1,178 \u00d7 297 px header, 589 px and 522 px figure cards, and 571 px and 505 px plot fields. Mangaia and Mitiaro use 317 px headers; all four sections contain every child with zero horizontal overflow.",
        "Direct inspection confirms both three-stat and two-stat headers balance cleanly and the enlarged plots retain complete notes, legends, indexes, and scientific cautions.",
        "At 1280 \u00d7 800, Atiu's datum section is 1,032 px wide with 511 px and 453 px cards; all three metrics retain equal 170.5 px columns and horizontal overflow is zero.",
        "Headed Chromium validates the real new report at desktop, phone, and true 200% text. At 390 \u00d7 844, the established stacked phone composition remains active, the section is 358 px wide, the figure grid is one 324 px column, compact navigation remains active, and horizontal overflow is zero. At 320 \u00d7 800 with a true 32 px root, the existing enlarged-text composition remains active at 288 px with zero overflow.",
        "The canonical PDF remains 41 unrotated A4 pages and 22,833,802 bytes at SHA-256 b8a3c56bacf71ea5b391de1f91b66ccf08273b857a6182c206a03cad89157ed8; all 41 rasterized pages are byte-identical to rc.75 and the complete contact sheet was directly inspected.",
        "No commit, push, deployment, remote check, or public promotion was performed."
      ],
      "release_record": [],
      "workflow_run": "",
      "real_play": "Chromium \u00b7 desktop + phone + 200% text",
      "deployed_label": "locally validated. Remote publication is deferred until the user"
    },
    {
      "version": "report-0.2.0-rc.75",
      "date": "2026-07-20",
      "state": "Locally validated; remote publication deferred",
      "checkpoint": "The chapter spine gives evidence room",
      "artifact": "102-page local build; image-generated two-state target; complete 33-frame rebuilt desktop read; 76 px spine and 1,295 px report canvas at 1440 px; keyboard label, 1280 px desktop, phone, and true 200% text verified; 41 A4 pages; 22,833,802 bytes; SHA-256 6d4fa8ebff1d79dba47f89df3f4cee1857946d21021b8a11221475ac646b5bcc",
      "commit": "",
      "pdf_sha256": "6d4fa8ebff1d79dba47f89df3f4cee1857946d21021b8a11221475ac646b5bcc",
      "pdf_pages": null,
      "status": "locally validated. Remote publication is deferred until the user",
      "deployed": false,
      "public_changes": [
        "Rebalances the wide desktop shell from a 192 px chapter rail to a 76 px numbered chapter spine, returning 116 px to the report canvas at 1440 px.",
        "Preserves complete chapter names as pointer- and keyboard-revealed labels while keeping the established current-section rule visible at all times.",
        "Removes the decorative chapter numbers from each link's accessible name so assistive technology announces the existing destination label directly.",
        "Preserves every report sentence, figure, photograph choice, caption, map, chapter destination, compact navigation behavior, and print layout."
      ],
      "validation": [
        "Begins with a complete 32-frame, 1440 \u00d7 1100 desktop read of rc.74 and explicitly ranks three layout-system weaknesses: duplicated navigation chrome compressing evidence; repetitive site-plate cadence; and the visual seam between editorial chapters and cyan datum blocks. The shell compression was selected as the highest-leverage concern.",
        "A new two-state image-generated visual target, grounded in the existing Rarotonga opener and Atiu site plates, is stored at docs/trip-report/visual-targets/rc75-layout-direction/desktop-shell-and-evidence-target.png (1536 \u00d7 1024; SHA-256 f209c43417c39c2fe30a118120e0757d1e33184ce94104d0321d286e2465e0a0). It is a layout reference only; the real report's photographs, maps, figures, captions, and claims remain authoritative.",
        "The exact local build emits 102 pages and declares rc.75 in the report and companion data.",
        "A second complete 33-frame, 1440 \u00d7 1100 contact read covers the 32,734 px rebuilt report. All 73 images decode, both annotated field notes reach their ready state, all 74 figures and 70 captions remain present, the glossary owns the final current state, and document width remains exact.",
        "At 1440 px the report content grows from approximately 1,179 px to 1,295 px. The HS103 plate is 1,180 px wide and its map is 579 px wide. At 1280 \u00d7 800 the spine is 76 px, content is 1,135 px, Atiu lands at the established 128 px clearance, and horizontal overflow is zero.",
        "Keyboard focus on the Atiu spine destination exposes its complete label in a contained 109\u2013154 px box while retaining the established focus outline and zero overflow.",
        "Headed Chromium validates the real new report at desktop, phone, and true 200% text. At 390 \u00d7 844 the established compact chapter control remains in use, HS103 is 358 px wide, its cold target lands at 128 px, and horizontal overflow is zero. At 320 \u00d7 800 with a true 32 px root, the compact navigation remains active and the HS103 plate and map both reflow to 288 px with zero overflow.",
        "The fresh canonical PDF remains 41 unrotated A4 pages and 22,833,802 bytes at SHA-256 6d4fa8ebff1d79dba47f89df3f4cee1857946d21021b8a11221475ac646b5bcc; all 41 rasterized pages are byte-identical to rc.74 and the complete contact sheet was directly inspected.",
        "No commit, push, deployment, remote check, or public promotion was performed."
      ],
      "release_record": [],
      "workflow_run": "",
      "real_play": "Chromium \u00b7 desktop + phone + 200% text",
      "deployed_label": "locally validated. Remote publication is deferred until the user"
    },
    {
      "version": "report-0.2.0-rc.74",
      "date": "2026-07-20",
      "state": "Locally validated; remote publication deferred",
      "checkpoint": "Image annotations wait for their evidence",
      "artifact": "102-page local build; delayed HS117 and HS125 pending/decoded states verified at desktop and phone; true 200% text and reduced motion retain exact width; 41 A4 pages; 22,833,802 bytes; SHA-256 2512d361b5b409eada0a198f430231cebd3caa634da85729fcfaa9258a175a5e",
      "commit": "",
      "pdf_sha256": "2512d361b5b409eada0a198f430231cebd3caa634da85729fcfaa9258a175a5e",
      "pdf_pages": null,
      "status": "locally validated. Remote publication is deferred until the user",
      "deployed": false,
      "public_changes": [
        "Gives each existing annotated field-note photograph a calm, static reserved frame while its image is pending.",
        "Hides only the spatial number markers until the photograph has decoded, preventing annotations from appearing over a blank canvas while preserving all explanatory copy and legend text.",
        "Exposes aria-busy=\"true\" during the pending state and removes it when the real image becomes ready.",
        "Preserves every report sentence, figure, photograph choice, caption, marker position, section, and print layout."
      ],
      "validation": [
        "Begins with a new complete 32-frame, 1440 \u00d7 1100 desktop contact read of rc.73. Rapid traversal visibly caught HS117 markers over its still-blank lazy image, which was selected as the highest-leverage reader-visible loading failure.",
        "The exact local build emits 102 pages and declares rc.74 in the report and companion data.",
        "A headed-Chromium route delays the local HS117 photograph for six seconds. Before response and decode, its frame is pending and busy, natural width is zero, the static placeholder is present, and both markers are hidden. After decode, the busy and pending states clear, natural width is 1205 px, and both original markers become visible. Both states were directly inspected.",
        "A separate delayed HS125 route proves the same transition at 390 \u00d7 844: the frame remains exactly 356 \u00d7 237 px in both states, both markers move from hidden to visible, and document width remains exact. Both captures were directly inspected.",
        "At 320 \u00d7 800 with true 200% text, the decoded HS125 frame remains contained at 286 \u00d7 191 px with both markers visible and zero horizontal overflow.",
        "With reduced motion requested, the pending placeholder has no animation or transition, both markers remain hidden, and document width remains exact. The linked image remains keyboard-focusable with its native focus indicator.",
        "The pending treatment is explicitly screen-only. The fresh canonical PDF remains 41 unrotated A4 pages and 22,833,802 bytes at SHA-256 2512d361b5b409eada0a198f430231cebd3caa634da85729fcfaa9258a175a5e; all 41 rasterized pages are pixel-identical to rc.73.",
        "No commit, push, deployment, remote check, or public promotion was performed."
      ],
      "release_record": [],
      "workflow_run": "",
      "real_play": "Chromium \u00b7 desktop + phone + 200% text",
      "deployed_label": "locally validated. Remote publication is deferred until the user"
    },
    {
      "version": "report-0.2.0-rc.73",
      "date": "2026-07-20",
      "state": "Locally validated; remote publication deferred",
      "checkpoint": "The field glossary owns the final destination",
      "artifact": "102-page local build; research-to-glossary transition, cold deep link, keyboard entry, compact reveal, phone, and true 200% text verified; exact width retained; 41 A4 pages; 22,833,802 bytes; SHA-256 7c2b819b15c351cb58c3a41fd9014241723fdb7151925f6e72ddf9fb7f280fb7",
      "commit": "",
      "pdf_sha256": "7c2b819b15c351cb58c3a41fd9014241723fdb7151925f6e72ddf9fb7f280fb7",
      "pdf_pages": null,
      "status": "locally validated. Remote publication is deferred until the user",
      "deployed": false,
      "public_changes": [
        "Adds the existing Field glossary section as the eighth and final destination in both established chapter-navigation variants.",
        "Gives the glossary its own synchronized current state instead of continuing to mark Next research at the report's end.",
        "Treats the final reachable document position as the final destination, allowing the short closing section to remain naturally composed without artificial bottom space.",
        "Preserves every report sentence, figure, photograph, caption, map, section, and the established section order and print layout."
      ],
      "validation": [
        "Begins with a new complete 32-frame, 1440 \u00d7 1100 desktop contact read of rc.72. Its last two frames visibly showed Next research as current through the separate glossary, which was selected as the highest-leverage reader-visible mismatch.",
        "The exact local build emits 102 pages and declares rc.73 in the report and companion data.",
        "Headed Chromium keeps Next research current at its exact 128 px reading line, then marks Field glossary at the natural 246 px desktop page-end position. Exactly one current link appears in each navigation variant with zero horizontal overflow.",
        "A cold phone link lands Field glossary at 168 px; opening the compact menu reveals the final active link after 279 px of horizontal movement. The expanded state was directly inspected.",
        "At 320 \u00d7 800 with true 200% text, Field glossary lands at the established 336 px clearance with exact document width.",
        "Keyboard Enter on the wide glossary link reaches the final section and synchronizes both navigation variants. The report emits no runtime error or warning; the local server's inherited /favicon.ico 404 remains the sole console error.",
        "The navigation remains hidden by the established print rule. The fresh canonical PDF is 41 unrotated A4 pages and 22,833,802 bytes at SHA-256 7c2b819b15c351cb58c3a41fd9014241723fdb7151925f6e72ddf9fb7f280fb7; all 41 rasterized pages are pixel-identical to rc.72.",
        "No commit, push, deployment, remote check, or public promotion was performed."
      ],
      "release_record": [],
      "workflow_run": "",
      "real_play": "Chromium \u00b7 desktop + phone + 200% text",
      "deployed_label": "locally validated. Remote publication is deferred until the user"
    },
    {
      "version": "report-0.2.0-rc.72",
      "date": "2026-07-20",
      "state": "Locally validated; remote publication deferred",
      "checkpoint": "The chapter index shows the current island",
      "artifact": "102-page local build; all seven desktop transitions and mid-chapter persistence verified; cold-link and keyboard entry verified; compact current label and off-screen link reveal verified; phone and true 200% text retain exact width; 41 A4 pages; 22,833,757 bytes; SHA-256 e430014043768e44dab1aeb63bcc39f86e0206837d1e908d6d33b3cc35ccb06c",
      "commit": "",
      "pdf_sha256": "e430014043768e44dab1aeb63bcc39f86e0206837d1e908d6d33b3cc35ccb06c",
      "pdf_pages": null,
      "status": "locally validated. Remote publication is deferred until the user",
      "deployed": false,
      "public_changes": [
        "Marks exactly one current chapter in the persistent wide index with a restrained blue field and inset rule.",
        "Shows the same current chapter beside the compact Report chapters summary and marks its destination when the control opens.",
        "Horizontally reveals a current compact destination that would otherwise begin outside the menu viewport.",
        "Preserves every report sentence, figure, photograph, caption, map, chapter, deep-link position, and print layout."
      ],
      "validation": [
        "Begins with a complete 32-frame, 1440 \u00d7 1100 desktop contact read of the locally validated rc.71 report from opening through glossary. The unchanged index state across the 31,237 px document was selected as the highest-leverage reader-visible weakness.",
        "The exact local build emits 102 pages and declares rc.72 in the report and companion data.",
        "Headed Chromium updates Overview, Rarotonga, Atiu, Mangaia, Mauke, Mitiaro, and Next research at their exact 128 px desktop reading line. Each navigation exposes exactly one aria-current=\"location\" link, and mid-chapter Mangaia reading retains Mangaia.",
        "A cold phone link lands Mauke at 168 px with the compact summary reading Report chapters \u00b7 Mauke. A cold Next research link opens its compact menu with the active link fully visible after a 169 px horizontal reveal.",
        "At 320 \u00d7 800 with true 200% text, Next research remains current at the established 336 px deep-link clearance with zero horizontal overflow.",
        "Keyboard Enter on the wide Mitiaro link lands at 128 px and synchronizes both navigation variants. The report emits no runtime error or warning; the local server's inherited /favicon.ico 404 remains the sole console error.",
        "The navigation is hidden by the established print rule. The fresh canonical PDF remains 41 unrotated A4 pages and 22,833,757 bytes at SHA-256 e430014043768e44dab1aeb63bcc39f86e0206837d1e908d6d33b3cc35ccb06c; all 41 rasterized pages are pixel-identical to rc.71.",
        "No commit, push, deployment, remote check, or public promotion was performed."
      ],
      "release_record": [],
      "workflow_run": "",
      "real_play": "Chromium \u00b7 desktop + phone + 200% text",
      "deployed_label": "locally validated. Remote publication is deferred until the user"
    },
    {
      "version": "report-0.2.0-rc.71",
      "date": "2026-07-20",
      "state": "Locally validated; remote publication deferred",
      "checkpoint": "Chapter links keep their place",
      "artifact": "102-page local build; six cold desktop deep links at exact 128 px clearance; phone at 168 px; true 200% text at 336 px; keyboard entry and reader-input cancellation verified; zero horizontal overflow; 41 A4 pages; 22,833,757 bytes; SHA-256 9eb5df8794ad1e775a6cfa4b33c904fdca95b560ceca52806576401dabb49b6c",
      "commit": "",
      "pdf_sha256": "9eb5df8794ad1e775a6cfa4b33c904fdca95b560ceca52806576401dabb49b6c",
      "pdf_pages": null,
      "status": "locally validated. Remote publication is deferred until the user",
      "deployed": false,
      "public_changes": [
        "Keeps recognized report chapter destinations aligned while cold maps, media, and layout enhancements settle.",
        "Preserves the established 8 rem desktop and 10.5 rem compact clearances rather than introducing a new navigation position.",
        "Yields immediately to wheel, touch, pointer, or scrolling-key input so the report never fights deliberate reader movement.",
        "Preserves every report sentence, figure, photograph, caption, map, chapter, and print layout."
      ],
      "validation": [
        "A fresh complete 1440 \u00d7 1100 desktop read of rc.70 selected cold deep-link drift as the highest-leverage reader-visible weakness: later chapter links could initially expose content from the preceding chapter.",
        "The exact local build emits 102 pages and declares rc.71 in the report and companion data.",
        "Six independent headed-Chromium desktop sessions land Rarotonga, Atiu, Mangaia, Mauke, Mitiaro, and Next research at exactly 128 px after the bounded settling window, with zero horizontal overflow.",
        "Phone lands Mauke at 168 px; 320 \u00d7 800 with true 200% text (a 32 px root) lands Next research at 336 px; both retain exact document width and were directly inspected.",
        "Keyboard Enter on the desktop chapter index lands Next research at 128 px. Page Down during stabilization cancels it and remains at the reader-selected position after the full window.",
        "The report console is clean. Focused navigation tests pass. A fresh canonical export remains 41 unrotated A4 pages and 22,833,757 bytes at SHA-256 9eb5df8794ad1e775a6cfa4b33c904fdca95b560ceca52806576401dabb49b6c.",
        "A second independent export differs only in generated PDF timestamps: all 41 rasterized pages are pixel-identical. The complete 41-page contact sheet was directly inspected and retains the rc.70 print composition.",
        "No commit, push, deployment, remote check, or public promotion was performed."
      ],
      "release_record": [],
      "workflow_run": "",
      "real_play": "Chromium \u00b7 desktop + phone + 200% text",
      "deployed_label": "locally validated. Remote publication is deferred until the user"
    },
    {
      "version": "report-0.2.0-rc.70",
      "date": "2026-07-20",
      "state": "Locally validated; remote publication deferred",
      "checkpoint": "The printable report is visible at the start",
      "artifact": "102-page local build; 19 focused checks; headed Chromium at desktop, phone, keyboard focus, and 320 px with true 200% text; browser-downloaded PDF matches both local canonical copies; 41 A4 pages; 22,833,757 bytes; SHA-256 3f4bdd81ec43e35a7c105d3268157bbcefaf9b2ae4933985faf4816c2ef3686b",
      "commit": "",
      "pdf_sha256": "3f4bdd81ec43e35a7c105d3268157bbcefaf9b2ae4933985faf4816c2ef3686b",
      "pdf_pages": null,
      "status": "locally validated. Remote publication is deferred until the user",
      "deployed": false,
      "public_changes": [
        "Adds one restrained Download report PDF action beneath the established report status in the opening title column.",
        "Links directly to the canonical generated report PDF and supplies a useful filename through the native download attribute.",
        "Preserves every report sentence, figure, photograph, caption, map, chapter, and the verified map/title/field-photo opening composition.",
        "Hides the web-only action from print so the printable edition does not advertise a download of itself."
      ],
      "validation": [
        "Resumes from the exact deployed rc.69 checkpoint and the user-approved working-tree candidate rather than restarting report ideation.",
        "Fresh desktop inspection at 1440 \u00d7 1100 confirms that the action is visible, subordinate to the title and promise, and contained inside the established editorial axis.",
        "The exact local build emits 102 pages and declares rc.70 in the report and companion data.",
        "All 19 report-opening, progress-companion, and PDF-export focused checks pass.",
        "Headed Chromium passes the opening at 1440 \u00d7 1100, 390 \u00d7 844, and 320 \u00d7 800 with a true 32 px root for 200% text. Directly inspected captures keep the action contained and subordinate, with no horizontal spill.",
        "Fifteen keyboard tabs reach the download link in source order; its visible double outline is fully contained, and Enter downloads cook-islands-2026-initial-trip-report.pdf without navigating away.",
        "The browser-downloaded PDF and both local canonical copies are byte-identical at 22,833,757 bytes and SHA-256 3f4bdd81ec43e35a7c105d3268157bbcefaf9b2ae4933985faf4816c2ef3686b.",
        "The fresh PDF is 41 unrotated A4 pages. A complete 41-page contact sheet was directly inspected: all island openers, four datum pages, 25 site plates, research coda, sources, and glossary remain present, and the web-only download action is absent.",
        "The only browser console entry is the local test server's inherited /favicon.ico 404; the report itself emits no warning or runtime failure.",
        "The broader report test module retains 17 inherited failures where assertions still require pre-manual-revision phrases that the current report no longer contains. Rc.70 does not alter report text to satisfy those stale checks; all tests directly affected by this checkpoint pass."
      ],
      "release_record": [],
      "workflow_run": "",
      "real_play": "Chromium \u00b7 desktop + phone + 200% text",
      "deployed_label": "locally validated. Remote publication is deferred until the user"
    },
    {
      "version": "report-0.2.0-rc.69",
      "date": "2026-07-18",
      "state": "Public; deployed and verified",
      "checkpoint": "HS125 reveals the recorded clast-rich band",
      "artifact": "Content 18d912f119064d5cf3b5d33b40081b408969769c; Pages 29651824476; accepted Darktable image 154786; recorder note MITIARO-20260611-RN-008; exact local/artifact/public parity; 132 focused checks; 215 tests; 42-page PDF; 21,768,474 bytes; SHA-256 b3083d5854fa98c043b0773433e6fa38868c8ab09b046c862d7d591cc8c804aa",
      "commit": "18d912f119064d5cf3b5d33b40081b408969769c",
      "pdf_sha256": "b3083d5854fa98c043b0773433e6fa38868c8ab09b046c862d7d591cc8c804aa",
      "pdf_pages": 42,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Adds one accepted HS125 ground photograph beneath the established orthomosaic-led site plate, showing Jacky beside the clast-rich band and differently weathered rock recorded at 14:51 on June 11.",
        "Uses two restrained, numbered image markers with a complete external legend, literal report-only copy, and two links to the exact daily field-note event.",
        "Preserves the dominant HS125 orthomosaic, coast-to-forest oblique, samples, evidence bullets, scientific question, site layout, daily record, archive caption, and Darktable state.",
        "Caps field-note marker size only in the established narrow-container state so the labels remain distinct at true 200% text without changing normal web or print geometry."
      ],
      "validation": [
        "Begins from exact public rc.68 content eefe471459791a24c334ac738c214d14b2c2b302, promotion receipt 4842fe8e5c18ce28429d5a2d95c1d61930af2626, content Pages run 29648765912, and receipt run 29649442204.",
        "Re-read the complete exact public report, all 42 PDF pages, roadmap, changelog, version history, devlog, durable photograph audit, approved references, June 10 and June 11 daily records, and the relevant accepted photographs before choosing one bounded bridge.",
        "Retires the suspected companion-header overlap after real Chromium and Firefox geometry checks: normal-phone headings remain well below the sticky header and the true 200% header is static. The earlier element-targeted captures, not the public reading flow, created the apparent obstruction.",
        "Rejects HS123 frame 153918 for this checkpoint even though it is only nine seconds from the crack note and 0.16 m from its nearest GPS record: the exact daily event also groups two earlier photographs that do not show the crack. HS125 supplies the cleaner one-event bridge.",
        "Accepted Google Pixel image 154786 was captured at 2026-06-11 14:50:43, 17 seconds from recorder note MITIARO-20260611-RN-008, 3.21 m from nearest GPS record MITIARO-20260611-RN-009, and is assigned to the exact MITIARO-HS125-BACKREEF-SPURS site. The builder fails closed if a configured catalog photo is missing, duplicated, or assigned to another site.",
        "The exact six-variable Pages-mode build emits 102 pages. Chromium and Firefox focused HS125 reads pass at 1536 \u00d7 1024, 390 \u00d7 844, and 320 \u00d7 800 with true 200% text. The 1594 \u00d7 1200 display resolves; the feature switches from side-by-side to stacked; both markers, both legend labels, copy, and daily link remain contained; document width is exact; and runtime logs are clean. All six captures were directly inspected.",
        "The complete report contains 73 decoded images, 74 figures, 70 captions, and 30 maps with exact document width, contained labels, the static 50/50 HS123 comparison, no video, and clean Chromium and Firefox logs at desktop, phone, and true 200% text.",
        "The source and generated-public PDFs are byte-identical at 42 unrotated A4 pages, 21,768,474 bytes, and SHA-256 b3083d5854fa98c043b0773433e6fa38868c8ab09b046c862d7d591cc8c804aa. The public content/layout change is confined to HS125 page 39; all 42 pages, all three contact sheets, and page 39 at full 144 dpi were inspected. A second independent export renders pixel-identically on every page.",
        "All nine fonts are embedded, subsetted, and Unicode-mapped; all 7,300 extracted word boxes remain inside A4. The PDF retains 31 unique canonical HTTPS targets and seven named destinations, has no attachment, encryption, form, or JavaScript, and passes Ghostscript rendering.",
        "The 132 focused report/progress/link/PDF checks and all 215 repository tests pass. YAML parsing, source compilation, and whitespace checks pass.",
        "GitHub Pages run 29651824476 successfully deploys exact content commit 18d912f119064d5cf3b5d33b40081b408969769c; its only annotation is the inherited Node.js 20-to-24 runtime warning.",
        "The GitHub artifact record is 364,734,162 compressed bytes with digest sha256:cb4a4ff64afdc90d0665d513e6590707960d70c82d637f09ed4113081ea30593; the downloaded tar is 722,616,320 bytes. Final local, artifact, and cache-busted public bytes match exactly for report HTML, transitional companion HTML, progress JSON, report JSON, PDF, report CSS, and companion CSS at SHA-256 22d5436b437c75cb0b4b93708b52c1e3cde91be3fb86bf9be2426c8c2fd68397, 24c37476e782410855f467236dba27b12d16e724d5b762140a6e8d46ad86aed5, 903823d67de6701990e5c1bba80bc0087dc083735b78914e07f4d7af32618e99, be59777dc198a1b0d2cad27ed2c52b70f5aec5e1fc2ec42adff83017454a9a3a, b3083d5854fa98c043b0773433e6fa38868c8ab09b046c862d7d591cc8c804aa, 3b88f714448bb393a31e38b2cdc335644c823abff82d4e0bd37be0130c4d5749, and 030a38ce24f217beb739fa99b8892b0d830a2ec5be95b28db1de07dcbad25401 respectively.",
        "Fresh public Chromium and Firefox repeat the complete-report, focused HS125, and transitional-companion matrices at desktop, phone, and true 200% text. Every report image decodes, every audited label remains contained, the new feature has exact responsive geometry and clean logs, and direct inspection of the deployed HS125 and companion contact sheets finds no public regression.",
        "The public PDF is byte-identical to the validated source object at SHA-256 b3083d5854fa98c043b0773433e6fa38868c8ab09b046c862d7d591cc8c804aa. Rc.69 is deployed and live-verified; the goal is paused for the requested manual review before any rc.70 work."
      ],
      "release_record": [
        "Content commit: 18d912f11",
        "GitHub Pages workflow: run 29651824476 \u2014 successful",
        "Companion: https://blakedyer.github.io/cook_islands_2026/trip-report/progress/",
        "Web: https://blakedyer.github.io/cook_islands_2026/trip-report/?v=18d912f119064d5cf3b5d33b40081b408969769c",
        "PDF: https://blakedyer.github.io/cook_islands_2026/data/documents/field/cook-islands-2026-initial-trip-report.pdf"
      ],
      "workflow_run": "29651824476",
      "real_play": "Chromium + Firefox \u00b7 desktop + phone + 200% text + full PDF",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.68",
      "date": "2026-07-18",
      "state": "Public; deployed and verified",
      "checkpoint": "Chapter dates identify field records",
      "artifact": "Content eefe471459791a24c334ac738c214d14b2c2b302; Pages 29648765912; exact five chapter ranges and overview windows preserved; 131 focused checks; 214 tests; 42-page PDF; 21,119,934 bytes; SHA-256 2fdb7e497c01120cae102dd241c977065a75c55ce4d87953d70a8fccd0ccde0f",
      "commit": "eefe471459791a24c334ac738c214d14b2c2b302",
      "pdf_sha256": "2fdb7e497c01120cae102dd241c977065a75c55ce4d87953d70a8fccd0ccde0f",
      "pdf_pages": 42,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Prefixes each island chapter's existing date span with Field records \u00b7, distinguishing dates derived from daily field records from the opening map's inclusive work-and-transfer windows.",
        "Preserves all five chapter date spans, all approved overview-map windows, the June 3\u20135 split-team Rarotonga commitments, and every transfer date exactly.",
        "Adds no new panel, legend, footnote, route, map label, date source, or typographic style; the existing chapter-date line carries the clarification."
      ],
      "validation": [
        "Begins from exact public and live-verified rc.67 content 7d7344f0d43fa249afa1380c607b9dd323fe8225, promotion receipt 8e50f4c24d577d61f2785da56af104b8b7d6bf51, content Pages run 29646413343, and receipt run 29647143547.",
        "Re-read the exact live report from start to finish, inspected all 42 public PDF pages, reviewed the roadmap, changelog, version history, devlog, durable photograph audit, and approved opening target, and compared data/stays.yml, data/schedule.yml, and every chapter's dated field-note set.",
        "Confirms that the overview intentionally shows inclusive stays and transfers, while chapter ranges intentionally span only dated field records. The mismatch is semantic labeling, not an incorrect itinerary date.",
        "The exact six-variable Pages-mode build emits 102 pages. Chromium and Firefox pass the complete report at 1536 \u00d7 1024, 390 \u00d7 844, and 320 \u00d7 800 with true 200% text: all 72 images decode; all 73 figures, 69 captions, 30 maps, and audited labels remain contained; document width is exact; the HS123 comparison remains at 50% with no video; and runtime logs are clean.",
        "Focused reads of all five chapter openings pass in both engines at desktop, phone, and true 200% text. Every exact Field records \u00b7 line is visible and contained, and direct inspection of all 30 captures confirms that the qualifier remains a quiet part of the existing date tier rather than new editorial scaffolding.",
        "The companion passes Chromium and Firefox at 1440 \u00d7 1000, 390 \u00d7 844, and 320 \u00d7 800 with true 200% text: rc.68 is the locally validated candidate over live rc.67, its one map decodes, three queue items, six timeline entries, and 68 release rows remain contained, and runtime logs are clean. Direct inspection confirms no rc.68 regression; the inherited sticky shared header still crosses the top of element-targeted normal-phone NOW/queue captures and is recorded for fresh-cycle ranking rather than folded into this date checkpoint.",
        "The source and generated-public PDFs are byte-identical at 42 unrotated A4 pages, 21,119,934 bytes, and SHA-256 2fdb7e497c01120cae102dd241c977065a75c55ce4d87953d70a8fccd0ccde0f. Only pages 5, 7, 16, 26, and 34 differ visually from rc.67; all 42 pages, three contact sheets, and the five changed pages at full 144 dpi were inspected. A second independent export renders pixel-identically on every page.",
        "All nine fonts are embedded, subsetted, and Unicode-mapped; all 7,232 extracted word boxes remain inside A4. The PDF retains 32 HTTPS annotations to 30 unique HTTP-200 targets and seven named destinations, has no attachment, encryption, form, or JavaScript, and passes Ghostscript rendering.",
        "The 131 focused report/progress/link/PDF checks and all 214 repository tests pass. The exact source dates, generated report text, and overview-caption provenance have dedicated regression coverage; YAML/build parsing and whitespace checks pass.",
        "GitHub Pages run 29648765912 successfully deploys exact content commit eefe471459791a24c334ac738c214d14b2c2b302; its only annotation is the inherited Node.js 20-to-24 runtime warning.",
        "The 721,960,960-byte downloaded artifact, final local build, and cache-busted public origin match byte-for-byte for report HTML, transitional companion HTML, progress JSON, report JSON, PDF, report CSS, and companion CSS at SHA-256 e19d2ffe91616b1ce05a0a05d857434c8357f2e6666a1ee8cad9a2a8881c83dd, 4aa45203ce322ce41c57670446f9af527b86e93b933322f1af6d983aac219b07, 4411905fc899ab1dfbf56731e139b1a4edf47b219518ab6c56b42e6a606bf0dd, 7056c13dff8ed860045af7b2efb1848733245b46f17b364dddf5773238802b0f, 2fdb7e497c01120cae102dd241c977065a75c55ce4d87953d70a8fccd0ccde0f, 8596d46866924c27843545de67573a4c826e419996e4fc51609d9c869d29fe34, and 030a38ce24f217beb739fa99b8892b0d830a2ec5be95b28db1de07dcbad25401 respectively. The GitHub artifact record is 364,099,404 compressed bytes.",
        "Fresh public Chromium and Firefox repeat the three-state complete-report and focused five-opening matrices with all images decoded, every audited label contained, exact width parity, the static 50/50 HS123 comparison, no video, and clean logs. All 30 live chapter captures are pixel-identical to their directly inspected local counterparts.",
        "The transitional public companion passes both engines at desktop, phone, and true 200% text with rc.68 locally validated over rc.67, three queue items, six timeline entries, 68 release rows, exact containment, and clean logs. Its 18 live captures are pixel-identical to local; the recorded inherited normal-phone sticky-header overlap remains visible and ranked rather than hidden."
      ],
      "release_record": [
        "Content commit: eefe47145",
        "GitHub Pages workflow: run 29648765912 \u2014 successful",
        "Companion: https://blakedyer.github.io/cook_islands_2026/trip-report/progress/",
        "Web: https://blakedyer.github.io/cook_islands_2026/trip-report/?v=eefe471459791a24c334ac738c214d14b2c2b302",
        "PDF: https://blakedyer.github.io/cook_islands_2026/data/documents/field/cook-islands-2026-initial-trip-report.pdf"
      ],
      "workflow_run": "29648765912",
      "real_play": "Chromium + Firefox \u00b7 desktop + phone + 200% text + full PDF",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.67",
      "date": "2026-07-18",
      "state": "Public; deployed and verified",
      "checkpoint": "HS113 shows field scale across its relief",
      "artifact": "Content 7d7344f0d43fa249afa1380c607b9dd323fe8225; Pages 29646413343; accepted Darktable image 147161; exact 1600 \u00d7 1200 derivative; JPEG SHA-256 c61cb01bada43f6a2d5f94254da81d46e5d7f8e792623d36c3c03fdd240da404; 130 focused checks; 213 tests; 42-page PDF; 21,119,782 bytes; SHA-256 d170a934599a2080a94a8b2c7a07d8d6235a7d1a663a040323a7e99a8bde0845",
      "commit": "7d7344f0d43fa249afa1380c607b9dd323fe8225",
      "pdf_sha256": "c61cb01bada43f6a2d5f94254da81d46e5d7f8e792623d36c3c03fdd240da404",
      "pdf_pages": 42,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Replaces HS113's narrow, repetitive texture photograph with accepted Google Pixel 9 Pro frame 147161, where a GPS operator stands in a vegetation-lined low below rising jagged limestone.",
        "Uses a controlled right-biased 4:3 crop so field scale and local relief remain legible beside the dominant orthomosaic at web and print sizes.",
        "Rewrites only the report caption and alt to describe visible scale first while leaving the patch-reef-versus-remnant question unresolved. The archive caption, Darktable state, field note, map, samples, and layout system remain unchanged."
      ],
      "validation": [
        "Begins from exact public and live-verified rc.66 content 5be0f4123f3d97298957718727618c83f2f88372, successful Pages run 29643470403, promotion receipt c283a6fc3dae1c82f2b7d1a36161a0bdf58cd6b4, and successful receipt run 29644011978.",
        "Re-read the exact public report from start to finish, all 42 PDF pages at publication size, the roadmap and release records, and the full durable photograph audit. Direct pixel checks reconfirm that HS110's caption and the HS121/HS116 aerial decisions were already completed in rc.63, so those stale public queue items are retired rather than repeated.",
        "Compared full-resolution HS113 frames 147158, 147161, and 147163, their field-note ties, accepted captions, media provenance, and the exact rc.66 site plate. Frame 147161 supplies the strongest place, scale, and relief story without replacing the orthomosaic or asserting a geological interpretation.",
        "Binds immutable public UID sha256:03167224b485539af1b697f5b215552297b572c1fdf8c7e5aa5ee45277ed769e, canonical filename 20260603-170603-03167224b485-4e9472eb8dd3.jpg, local source SHA-256 2356c74df10e9741161b7cd28ecc6bf3a519ed8050ab4344ff31606633c6a84b, and exact source crop 5440 \u00d7 4080+704+700.",
        "The tracked 1600 \u00d7 1200 progressive JPEG is 565,931 bytes at SHA-256 c61cb01bada43f6a2d5f94254da81d46e5d7f8e792623d36c3c03fdd240da404. Codex's user-authorized direct caption review applies only to this report role; archive metadata and Darktable state remain unchanged.",
        "Focused Chromium and Firefox reads pass at desktop, 390 px phone, and true 320 px / 200% text. The exact 1600 \u00d7 1200 derivative, report-only caption, alt, dominant orthomosaic, and map-first responsive geometry remain fully contained; direct captures are clear and runtime logs are clean.",
        "The exact six-variable Pages-mode build emits 102 pages. Chromium and Firefox pass the complete report at 1536 \u00d7 1024, 1280 \u00d7 700, 390 \u00d7 844, and 320 \u00d7 800, plus true 200% text at both phone widths. All 72 images decode; all 73 figures, 69 captions, 30 maps, HTML labels, and SVG text remain contained with exact document-width parity. The HS123 comparison initializes at exactly 50%, no video appears, and runtime logs are clean.",
        "The companion passes Chromium and Firefox at desktop, phone, and true 200% text with one rc.67 candidate over the rc.66 public authority, three newly bounded directions, six timeline entries, 67 release rows, one decoded geographic image, exact containment, and clean runtime logs. All 18 hero, NOW, and queue captures were directly inspected.",
        "The source and generated-public PDFs are byte-identical at 42 unrotated A4 pages, 21,119,782 bytes, and SHA-256 d170a934599a2080a94a8b2c7a07d8d6235a7d1a663a040323a7e99a8bde0845. Page 23 is the only content and layout change from rc.66. Chrome's fresh print compositing produces a low-amplitude whole-document color/rasterization shift against the retained rc.66 rasters, so no false pixel-identity claim is made across versions; every candidate page, all three contact sheets, and page 23 at full 144 dpi were inspected directly. A second independent rc.67 export renders pixel-identically on all 42 pages.",
        "All nine fonts are embedded, subsetted, and Unicode-mapped; all 7,217 extracted word boxes remain inside A4. The PDF retains 32 canonical HTTPS annotations to 30 unique targets and seven named destinations, has no encryption or JavaScript, and passes Ghostscript rendering.",
        "The 130 focused report/progress/link/PDF checks and all 213 repository tests pass. YAML parsing, Python and JavaScript source checks, and whitespace checks pass.",
        "GitHub Pages run 29646413343 successfully deploys exact content commit 7d7344f0d43fa249afa1380c607b9dd323fe8225; its only annotation is the inherited upstream Node.js 20-to-24 runtime warning.",
        "The 721,950,720-byte downloaded artifact, final local build, and cache-busted public origin match byte-for-byte for report HTML, transitional companion HTML, progress JSON, report JSON, PDF, HS113 JPEG, map manifest, report CSS, and progress CSS at SHA-256 38c8b5a85494da66a3d5dc163ec482ad67b651baa698fc0189501c2d4e3f8c99, a2c8a2cf461ca6318051fe1f7ab244bc60d0caa7e0fb4e59e864e97ac699ac89, 545238d831acf4df9f6e2839eeeba3bb54648fd0947c9d6a6f5027af4aca7c62, 49d3a3a2e7380a2615035a777e84edf5b55fa29741a251f6e53ca54d33246f3b, d170a934599a2080a94a8b2c7a07d8d6235a7d1a663a040323a7e99a8bde0845, c61cb01bada43f6a2d5f94254da81d46e5d7f8e792623d36c3c03fdd240da404, 41891167e9ab1fc8c53696e3e50e2821f63e10c0138a89db2a394462f54e075a, 8596d46866924c27843545de67573a4c826e419996e4fc51609d9c869d29fe34, and 030a38ce24f217beb739fa99b8892b0d830a2ec5be95b28db1de07dcbad25401 respectively. The GitHub artifact record is 364,098,014 compressed bytes.",
        "Fresh public Chromium and Firefox repeat the six-state complete-report matrix with all 72 images decoded, all 73 figures, 69 captions, 30 maps, and visible labels contained, exact width parity, the static 50/50 HS123 comparison, no video, and clean logs.",
        "Focused public HS113 reads pass both engines at desktop, phone, and true 320 px / 200% text. They resolve the exact 1800 \u00d7 1350 orthomosaic and 1600 \u00d7 1200 derivative, exact caption and alt, 2:1 desktop plate, stacked compact plates, and zero spill; all six final captures were inspected directly.",
        "The transitional public companion passes both engines at desktop, phone, and true 200% text with rc.67 locally validated over the rc.66 live authority, three newly bounded directions, six timeline rows, 67 release rows, exact containment, and clean logs. All 18 captures were inspected; this promotion receipt makes rc.67 the latest verified authority before another cycle begins.",
        "The promoted companion passes local Chromium and Firefox at desktop, phone, and true 200% text with rc.67 as both current and latest verified, one fresh-read NOW item, three ordered ideas, six timeline entries, 67 live-verified release rows, exact containment, and clean logs. All 18 hero, NOW, and queue captures were directly inspected before committing this receipt."
      ],
      "release_record": [
        "Content commit: 7d7344f0d",
        "GitHub Pages workflow: run 29646413343 \u2014 successful",
        "Companion: https://blakedyer.github.io/cook_islands_2026/trip-report/progress/",
        "Web: https://blakedyer.github.io/cook_islands_2026/trip-report/?v=7d7344f0d43fa249afa1380c607b9dd323fe8225",
        "PDF: https://blakedyer.github.io/cook_islands_2026/data/documents/field/cook-islands-2026-initial-trip-report.pdf"
      ],
      "workflow_run": "29646413343",
      "real_play": "Chromium + Firefox \u00b7 desktop + phone + 200% text + full PDF",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.66",
      "date": "2026-07-18",
      "state": "Public; deployed and verified",
      "checkpoint": "HS114 shows the measured reef-flat survey",
      "artifact": "Content 5be0f4123f3d97298957718727618c83f2f88372; Pages 29643470403; exact HISEAS features 206-226; 15 water-depth and 6 ground-control GPS records; 212 tests; 42-page PDF; 20,591,351 bytes; SHA-256 2010ec5276c19e32e97c657bbd27854578928b11f58ebd9dc6f4cb7e794d4b0a",
      "commit": "5be0f4123f3d97298957718727618c83f2f88372",
      "pdf_sha256": "2010ec5276c19e32e97c657bbd27854578928b11f58ebd9dc6f4cb7e794d4b0a",
      "pdf_pages": 42,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Replaces HS114's single generic mapped-site locator with 15 water-depth and 6 ground-control GPS record markers on the existing drone orthomosaic.",
        "Uses separate, externally labeled circular and diamond symbols; all 21 records remain individually plotted, while one repeat occupation of the same control is stated plainly in the caption.",
        "Gives the orthomosaic direct evidentiary weight without adding a photograph, connecting line, per-point label, depth/elevation value, or parallel figure system. The two catalogued HS114 samples remain explicitly unmapped."
      ],
      "validation": [
        "Began from exact public and live-verified rc.65 content 24ff9bb53585ce3693d57c769d07ba1993d3bb1a, Pages run 29640959139, promotion receipt a6ed93779181350ffd528da0de4e4fa83c89e068, and successful receipt run 29641532882.",
        "Re-read the complete exact public report, all 42 PDF pages, release records, durable photograph audit, field notes, GPS ledger, and approved visual references. A second HS114 photograph was rejected because the strongest candidates either repeat the Mangaia opener or add less than the existing orthomosaic.",
        "Validates exact tracked HISEAS feature IDs MANGAIA-20260604-HISEAS-206 through -226, their HS114 assignment, source CSV, point geometry, field-role prefixes, and exact 15/6 class counts. The report does not expose the provisional depth/elevation strings in those source labels.",
        "Full-resolution, 356 px web-floor, and 254 px PDF-size raster inspections keep the HS114 code, north arrow, scale, and both marker roles visible and contained. Focused Chromium and Firefox reads pass at desktop, 390 px phone, and 320 px with true 200% text; the image decodes at 1800 \u00d7 1350, document width remains exact, caption and labels have no horizontal spill, and runtime error logs are clean.",
        "The exact six-variable Pages-mode build emits 102 pages. Chromium and Firefox pass the complete report at 1536 \u00d7 1024, 1280 \u00d7 700, 390 \u00d7 844, and 320 \u00d7 800, plus true 200% text at both phone widths. All 72 images decode; all 73 figures, 69 captions, 30 maps, and every audited visible label remain contained with exact document-width parity. The static HS123 comparison initializes at exactly 50%, no video appears, and runtime error logs are clean.",
        "The companion passes Chromium and Firefox at desktop, phone, and true 200% text with one current checkpoint, three ordered next ideas, six timeline entries, 66 release rows, one decoded geographic image, exact containment, and clean runtime logs. Direct hero, NOW, and queue captures are visually clean.",
        "The source and generated-public PDFs are byte-identical at 42 unrotated A4 pages, 20,591,351 bytes, and SHA-256 2010ec5276c19e32e97c657bbd27854578928b11f58ebd9dc6f4cb7e794d4b0a. Only page 24 changes visually from rc.65; all 42 pages were compared at 144 dpi, all three contact sheets and page 24 at full size were inspected, and a second independent export renders pixel-identically on all 42 pages.",
        "All nine fonts are embedded, subsetted, and Unicode-mapped; all 7,215 extracted word boxes remain inside A4. The PDF retains 32 canonical HTTPS annotations to 30 unique targets and seven named destinations, has no encryption or JavaScript, and passes Ghostscript rendering.",
        "The 129 focused report/progress/link/PDF checks pass, and all 212 repository tests pass. YAML parsing, source compilation, and whitespace checks pass.",
        "GitHub Pages run 29643470403 successfully deploys exact content commit 5be0f4123f3d97298957718727618c83f2f88372; its only annotations are the inherited upstream Node.js 20-to-24 runtime warnings.",
        "The 720,844,800-byte downloaded artifact, final local build, and cache-busted public origin match byte-for-byte for report HTML, transitional companion HTML, progress JSON, PDF, map manifest, HS114 map, and report CSS at SHA-256 ef4f396b2470a9187c69c9808bab1275268177e1f4e794ecc1fce480d1690d54, 9cb5f7f9649411a60726ea390efacc709c0b74f7e9d15e4de0cd754da923eb83, 16c63c4fcb89119e18388f98ee28e8ec1ec7f39c75a3542ea6ce8c452928cb79, 2010ec5276c19e32e97c657bbd27854578928b11f58ebd9dc6f4cb7e794d4b0a, 41891167e9ab1fc8c53696e3e50e2821f63e10c0138a89db2a394462f54e075a, 81d890c3581db03d8d891d2b7e4d8f034f1d7d3e10eef57f955909e97d156c6b, and 8596d46866924c27843545de67573a4c826e419996e4fc51609d9c869d29fe34 respectively. The GitHub artifact record is 362,996,910 compressed bytes.",
        "Fresh public Chromium and Firefox repeat the six-state complete-report matrix with all 72 images decoded, all 73 figures, 69 captions, 30 maps, and audited labels contained, exact width parity, the static 50/50 HS123 comparison, no video, and clean logs. Focused HS114 desktop and phone captures in both engines resolve the exact 1800 \u00d7 1350 map, caption, legend, and credit cleanly.",
        "The transitional public companion passes both engines at desktop, phone, and true 200% text with one rc.66 candidate over the rc.65 authority, three ordered ideas, six timeline entries, 66 release rows, exact containment, and clean logs. Rc.66 is the exact public checkpoint; the final receipt promotes the companion before another cycle begins."
      ],
      "release_record": [
        "Content commit: 5be0f4123",
        "GitHub Pages workflow: run 29643470403 \u2014 successful",
        "Companion: https://blakedyer.github.io/cook_islands_2026/trip-report/progress/",
        "Web: https://blakedyer.github.io/cook_islands_2026/trip-report/?v=5be0f4123f3d97298957718727618c83f2f88372",
        "PDF: https://blakedyer.github.io/cook_islands_2026/data/documents/field/cook-islands-2026-initial-trip-report.pdf"
      ],
      "workflow_run": "29643470403",
      "real_play": "Chromium + Firefox \u00b7 desktop + phone + 200% text + full PDF",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.65",
      "date": "2026-07-18",
      "state": "Public; deployed and verified",
      "checkpoint": "Mitiaro opens from reef flat to inland lake",
      "artifact": "Content 24ff9bb53585ce3693d57c769d07ba1993d3bb1a; Pages 29640959139; provenance-bound HS123 frame 18_06_34_0.JPG; HS122 and HS123 site evidence preserved; 42-page PDF; 20,582,857 bytes; SHA-256 9bb345bab03eb8e261cf4025024e7f4ef18306d3ae2382442b464a3ceec6cdd2",
      "commit": "24ff9bb53585ce3693d57c769d07ba1993d3bb1a",
      "pdf_sha256": "9bb345bab03eb8e261cf4025024e7f4ef18306d3ae2382442b464a3ceec6cdd2",
      "pdf_pages": 42,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Replaces Mitiaro's ground-level Teunu chapter opener with one low-oblique HS123 drone view that joins the wave-washed reef flat and repeated limestone spurs to the vegetated interior, an access track, and an inland lake.",
        "Keeps HS122's published exposed-coast oblique, HS123's close notch photograph, and the exact surveyed-surface and 50/50 texture-to-wireframe Methods comparison in their established roles.",
        "Adds no gallery, annotation, animation, map label, or parallel media system and changes no archive caption, Darktable state, GPS point, sample, model, daily record, site question, or layout rule."
      ],
      "validation": [
        "Began from exact public and live-verified rc.64 content a75f9eaabe0f5de8c53c36b592d1fafb5313c51e, successful content Pages run 29638321443, promotion receipt ee073a6523233c35e9f3f92c4900e0fdca96a091, and successful receipt run 29639089542.",
        "Re-read the exact public report from start to finish, inspected all 42 rc.64 PDF pages at publication size, and reviewed the roadmap, release records, durable photograph audit, current captions, and the live roles of the queued HS123, HS109, and HS104 obliques. The ground-level Mitiaro opener remains the largest bounded island-story gap.",
        "Directly reviewed full-resolution DJI FC6310S frame 2026/06/10/18_06_34_0.JPG, its corrected 2026-06-10 12:06:34 local timestamp, GPS metadata, XMP tags, Darktable image 152961, HS123 media-manifest assignment, June 10 field record, canonical public full object, and the real 8:5 report crop. The source and canonical public full object are byte-identical at SHA-256 c6f0228a73ea80eeefa4ac725e45718a29cd87c11d2570700319d7d2c9f6e896.",
        "The tracked 1600 \u00d7 1000 progressive JPEG derivative is 500,700 bytes at SHA-256 3f7508f91f318428a736126c6ac0094d3d31f901a7b81c963e77bc3b08bd3a69. Codex's user-authorized direct caption review clears a literal report-only caption that states the visible coast-to-inland relation while leaving surface age, elevation, and origin unresolved; the archive caption remains empty and unchanged.",
        "The exact six-variable Pages-mode build emits 102 pages. Chromium and Firefox pass the complete report at 1536 \u00d7 1024, 1280 \u00d7 700, 390 \u00d7 844, and 320 \u00d7 800, plus true 200% text at both phone widths. All 72 images decode; all 73 figures, 69 captions, 30 maps, and every visible node in the 31-label audit remain contained with exact document-width parity, one static 50/50 HS123 comparison, no video, and clean runtime logs.",
        "Focused Mitiaro opening reads pass both engines at desktop and phone sizes with the exact derivative, caption, and alt; the chapter has no spill and both the derivative and island map decode. Directly inspected captures confirm that the 8:5 crop retains reef flat, limestone spurs, vegetation, access track, and lake. HS122 keeps hs122-exposed-coast-relief.jpg; HS123 keeps hs123-coast-notch.jpg; neither site reuses the opener, and the Methods feature stays unchanged.",
        "The source and generated-public PDFs are byte-identical at 42 unrotated A4 pages, 20,582,857 bytes, and SHA-256 9bb345bab03eb8e261cf4025024e7f4ef18306d3ae2382442b464a3ceec6cdd2. Only page 34 changes visually from rc.64; all 42 pages were compared at 144 dpi, page 34 and the unchanged HS123 site and Methods pages were inspected at full size, and a second independent export renders pixel-identically on all 42 pages.",
        "All nine fonts are embedded, subsetted, and Unicode-mapped; all 7,194 extracted word boxes remain inside A4. The PDF retains 32 canonical HTTPS annotations to 30 unique HTTP-200 targets and seven named destinations, has no encryption, and passes Ghostscript rendering.",
        "Focused provenance, caption, role-boundary, progress, link, rendering, and PDF-export checks pass; all 212 repository tests pass.",
        "GitHub Pages run 29640959139 successfully deployed exact content commit 24ff9bb53585ce3693d57c769d07ba1993d3bb1a; its only annotation is the inherited upstream Node.js 20-to-24 runtime warning.",
        "The 720,742,400-byte downloaded artifact, final local build, and cache-busted public origin match byte-for-byte for report HTML, transitional companion HTML, progress JSON, PDF, and the Mitiaro derivative at SHA-256 a6f0a9d74e4f0d549decb6d9dee70cfc9dfa686e7a3cf578b895cb3db4d8a5fc, 9bb3b92c8e46c9dac513fdc62b1be5c0d26eecefa6f32d8abcee8269e4019795, 85ad850628191c2d35fb6849dd1b7a6c92f24d0356adef3c885801f8070ea22c, 9bb345bab03eb8e261cf4025024e7f4ef18306d3ae2382442b464a3ceec6cdd2, and 3f7508f91f318428a736126c6ac0094d3d31f901a7b81c963e77bc3b08bd3a69 respectively. The GitHub artifact record is 362,968,507 compressed bytes.",
        "Fresh public Chromium and Firefox repeat the six-state complete-report matrix with all 72 images decoded, all 73 figures, 69 captions, 30 maps, and visible labels contained, exact width parity, the static 50/50 HS123 comparison, no video, and clean logs.",
        "Focused public Mitiaro reads in both engines resolve the exact new opener, HS122's exposed-coast oblique, and HS123's notch photograph; every Mitiaro image decodes. Direct desktop and phone captures are clean, and Chromium's desktop hero capture is pixel-identical to local. Firefox differs only in rasterization; direct paired inspection confirms identical content, caption, and geometry.",
        "The transitional public companion passes Chromium and Firefox at desktop, phone, and true 200% text with one rc.65 candidate over the rc.64 authority, three ordered ideas, six timeline entries, 65 release rows, exact containment, and clean logs. Rc.65 is the exact public checkpoint; the next cycle begins with a fresh read rather than automatic queue promotion.",
        "The final promoted companion passes local Chromium and Firefox at desktop, phone, and true 200% text with rc.65 as both current and latest verified, one fresh-read NOW item, three ordered ideas, six timeline entries, 65 live-verified release rows, exact containment, and clean logs. All 18 hero, NOW, and queue captures were directly inspected before committing this receipt."
      ],
      "release_record": [
        "Content commit: 24ff9bb53",
        "GitHub Pages workflow: run 29640959139 \u2014 successful",
        "Companion: https://blakedyer.github.io/cook_islands_2026/trip-report/progress/",
        "Web: https://blakedyer.github.io/cook_islands_2026/trip-report/?v=24ff9bb53585ce3693d57c769d07ba1993d3bb1a",
        "PDF: https://blakedyer.github.io/cook_islands_2026/data/documents/field/cook-islands-2026-initial-trip-report.pdf"
      ],
      "workflow_run": "29640959139",
      "real_play": "Chromium + Firefox \u00b7 desktop + phone + 200% text + full PDF",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.64",
      "date": "2026-07-18",
      "state": "Public; deployed and verified",
      "checkpoint": "Mauke opens from limestone spur to reef flat",
      "artifact": "Content a75f9eaabe0f5de8c53c36b592d1fafb5313c51e; Pages 29638321443; accepted Darktable image 149904; HS116 image 149933 preserved; 42-page PDF; 20,156,391 bytes; SHA-256 66f6a830d6a4c667604525876031e021e2dbf8a6d182fc98b756b49844d5a227",
      "commit": "a75f9eaabe0f5de8c53c36b592d1fafb5313c51e",
      "pdf_sha256": "66f6a830d6a4c667604525876031e021e2dbf8a6d182fc98b756b49844d5a227",
      "pdf_pages": 42,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Replaces Mauke's duplicated chapter-opening HS116 wall with accepted Google Pixel 9 Pro frame 149904, where a western-coast limestone spur, shallow pool, exposed reef flat, and breaking-wave edge read together.",
        "Keeps accepted image 149933 and its established literal caption on the HS116 site plate, giving the chapter and first site two distinct visual roles.",
        "Adds no gallery, aerial, annotation, map label, motion, or parallel media system and changes no archive caption, review state, GPS point, sample, surface model, daily record, site question, or scientific claim."
      ],
      "validation": [
        "Began from exact public and live-verified rc.63 content e8f30fab04b581ad9837b0dd7d572372a463b655, successful content Pages run 29636057853, promotion receipt fbb668c6fd519ec8319015a3b0f8e266d673812d, and successful receipt run 29636717989. Local, artifact, cache-busted public, and both-engine companion gates match.",
        "Re-read the exact public report from start to finish and inspected all 42 PDF pages at publication size with the current roadmap, release records, and photograph audit. Mauke alone repeats its chapter opener on the immediately following first site plate; the other island openers establish a distinct island-scale role.",
        "Directly compared full-resolution accepted frame 149904 with current accepted frame 149933, the rc.63 report crop, the June 6 synthesized field record, media provenance, and the remaining HS123 and HS109 aerial directions. The duplicated Mauke role is the larger bounded public-visible weakness.",
        "Image 149904 was captured 2026-06-06 09:16:15 local during the western-road and modern reef-flat checks, 15 seconds from recorder record MAUKE-20260606-RN-053 and 0.2 m from the same nearest GPS point. Its public UID is sha256:3cab31adba05498028584ead471c211c9639a381c2d3449d1aa912a2df66551c.",
        "The 6144 \u00d7 8160 camera source and canonical public full object are byte-identical at SHA-256 48c25ee12fce727cb6d3df63135a0c44fccaea631c7ed803d75846295e84bb5b. Codex's user-authorized direct review clears one literal report-only chapter caption while leaving the archive caption and Darktable state unchanged.",
        "The exact six-variable Pages-mode build emits 102 pages. Chromium and Firefox pass the complete report at 1536 \u00d7 1024, 1280 \u00d7 700, 390 \u00d7 844, and 320 \u00d7 800, plus true 200% text at both phone widths. All 72 images decode; all 73 figures, 69 captions, 30 maps, and every visible node in the 31-label audit remain contained with exact document-width parity, one static 50/50 HS123 comparison, no video, and clean runtime logs.",
        "Focused Mauke chapter and HS116 reads pass both engines in the same six states. The chapter resolves canonical image 149904; HS116 resolves 149933; their sources, captions, and alts are distinct and exact. All 24 final chapter/site captures were directly inspected; the wide crop emphasizes the undercut spur while the phone crop retains the pool-to-reef-flat setting, and HS116 keeps its map-first desktop and stacked phone plate.",
        "The candidate companion passes Chromium and Firefox at 1440 \u00d7 1000, 390 \u00d7 844, and 320 \u00d7 800 with true 200% text. It has one decoded geographic image, one current checkpoint, three ordered ideas, six timeline entries, 64 release rows, honest rc.64-candidate/rc.63-public framing, exact containment, and clean runtime logs; all hero, NOW, and queue captures were inspected.",
        "The source and generated-public PDFs are byte-identical at 42 unrotated A4 pages, 20,156,391 bytes, and SHA-256 66f6a830d6a4c667604525876031e021e2dbf8a6d182fc98b756b49844d5a227. Only page 26 changes from rc.63; all 42 pages and page 26 at full 144 dpi were inspected, and a second independent export renders pixel-identically on all 42 pages.",
        "All nine fonts are embedded, subsetted, and Unicode-mapped; all 7,169 extracted word boxes remain inside A4. The PDF retains 32 canonical HTTPS annotations to 30 unique HTTP-200 targets and seven named destinations, has no attachment, encryption, form, JavaScript, or signature, and passes Ghostscript rendering.",
        "Focused binding, caption, archive-boundary, progress, link, rendering, and PDF-export checks pass, all 212 repository tests pass locally, and git diff --check is clean.",
        "GitHub Pages run 29638321443 successfully deployed exact content commit a75f9eaabe0f5de8c53c36b592d1fafb5313c51e; its only annotation is the inherited upstream Node.js 20-to-24 runtime warning.",
        "The 719,800,320-byte downloaded Pages artifact, final local build, and cache-busted public origin match byte-for-byte for report HTML, transitional companion HTML, progress JSON, and the PDF at SHA-256 0e72a62901a6b3271dcf171b81739ee3436096729483391239a0e1b6a6ab896a, d1f8fdb60231e92b3493aa6d3c700af7d5786ecdeda6b02e5470f6803fc6446, 71abb51845271604a351d32cd0bee6ed8aca3372baa5cb5f701fa7b36aaee71c, and 66f6a830d6a4c667604525876031e021e2dbf8a6d182fc98b756b49844d5a227 respectively.",
        "The generated and live Mauke static map are byte-identical at SHA-256 6d474dc4021c439ffef15cf9b2217c4daf5ecb7561e507c04408f0afa7fbeaac. The canonical full, display, and thumbnail renditions for 149904 resolve at their audited dimensions and SHA-256 values; the 6144 \u00d7 8160 full object remains byte-identical to the camera source.",
        "Fresh public Chromium and Firefox repeat the six-state complete-report and focused Mauke/HS116 matrices with all images, figures, captions, maps, and visible labels contained, distinct chapter/site sources and wording, exact width parity, one static HS123 comparison, no video, and clean logs. All Firefox captures and all focused Chromium captures are pixel-identical to local; the remaining Chromium desktop chapter difference is confined to the byte-identical static-map raster, and direct paired inspection confirms the same content, labels, and geometry.",
        "The public transitional companion passes both engines at desktop, phone, and true 200% text with one rc.64 candidate over rc.63 before this promotion receipt, three ordered ideas, six timeline entries, 64 release rows, exact containment, and clean logs. All 18 captures are pixel-identical to local. Rc.64 is the exact public checkpoint, and the next cycle begins with a fresh read rather than automatic promotion of a queued direction.",
        "The final promoted companion passes local Chromium and Firefox at desktop, phone, and true 200% text with rc.64 as both current and latest verified, one fresh-read NOW item, three ordered ideas, six timeline entries, 64 live-verified release rows, exact containment, and clean logs. All 18 hero, NOW, and queue captures were directly inspected before committing this receipt."
      ],
      "release_record": [
        "Content commit: a75f9eaab",
        "GitHub Pages workflow: run 29638321443 \u2014 successful",
        "Companion: https://blakedyer.github.io/cook_islands_2026/trip-report/progress/",
        "Web: https://blakedyer.github.io/cook_islands_2026/trip-report/?v=a75f9eaabe0f5de8c53c36b592d1fafb5313c51e",
        "PDF: https://blakedyer.github.io/cook_islands_2026/data/documents/field/cook-islands-2026-initial-trip-report.pdf"
      ],
      "workflow_run": "29638321443",
      "real_play": "Chromium + Firefox \u00b7 desktop + phone + 200% text + full PDF",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.63",
      "date": "2026-07-17",
      "state": "Public; deployed and verified",
      "checkpoint": "Five site captions describe the visible evidence",
      "artifact": "Content e8f30fab04b581ad9837b0dd7d572372a463b655; Pages 29636057853; accepted Darktable images 144098, 146454, 147158, 150185, and 150208; archive captions unchanged; 42-page PDF; 20,119,283 bytes; SHA-256 eaed4f4727f3746c47c3cc037b48e22ae98084034dcd56d2d17449a29cd34924",
      "commit": "e8f30fab04b581ad9837b0dd7d572372a463b655",
      "pdf_sha256": "eaed4f4727f3746c47c3cc037b48e22ae98084034dcd56d2d17449a29cd34924",
      "pdf_pages": 42,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Keeps accepted site photographs 144098, 146454, 147158, 150185, and 150208 in their established HS110, HS112, HS113, HS120, and HS121 roles, but replaces the remaining recorder-style report wording with five literal captions and alts reviewed directly against the full sources and publication crops.",
        "Describes only visible cave materials, coastal setting, uneven relief, an undercut recess, and a marked survey target before keeping age, emplacement, growth position, elevation correlation, surface identity, and historical-profile identity unresolved.",
        "Leaves every photograph, crop, archive caption, Darktable review state, orthomosaic-first plate, map, sample, GPS point, model, field note, daily record, scientific question, and layout rule unchanged."
      ],
      "validation": [
        "Began from exact public and live-verified rc.62 at content commit 4171acd880a14c5689b23ff210ae4531f5592bd9, successful Pages run 29632928840, and promotion receipt 6ca398c98082f522f23991949511d1f13dcf3279 after receipt run 29633687443; local, artifact, cache-busted public, canonical media, full-report, focused HS115, and companion gates match.",
        "Re-read the complete exact public report text and all 42 PDF pages, then reviewed every one of the report's 69 captions. Five remaining captions expose raw headings or claims not legible in their published crop: HS110, HS112, HS113, HS120, and HS121.",
        "Directly inspected full-resolution accepted frames 144098, 146454, 147158, 150185, and 150208 with their manifests, synthesized field notes, current orthomosaic-led roles, web crops, and PDF pages. The user explicitly authorizes Codex to complete caption review; archive captions and review states remain unchanged.",
        "Compared queued HS121 drone frame 22_19_24 and HS116 frame 16_43_17 at full resolution. Both are attractive coastal overviews, but neither supplies more site-specific evidence than the accepted ground frame in its present role; neither is promoted.",
        "The final exact six-variable Pages-mode candidate emits 102 pages. Chromium and Firefox pass the six-state complete-report matrix at 1536 \u00d7 1024, 1280 \u00d7 700, 390 \u00d7 844, and 320 \u00d7 800 plus true 200% text at both phone widths. All 72 images decode; all 73 figures, 69 captions, 30 maps, and every visible node in the 31-label audit stay contained with exact document-width parity, one static 50/50 HS123 comparison, no video, and clean runtime logs.",
        "Focused HS110, HS112, HS113, HS120, and HS121 reads pass both engines at desktop, phone, and true 200% text. All 30 final element captures were directly inspected. That inspection removed an initial HS113 reference to people absent from the publication crop; the final five images, captions, alts, 2:1 desktop plates, and stacked mobile plates remain clear and fully contained.",
        "The source and generated-public PDFs are byte-identical at 42 unrotated A4 pages, 20,119,283 bytes, and SHA-256 eaed4f4727f3746c47c3cc037b48e22ae98084034dcd56d2d17449a29cd34924. Only caption pages 20, 22, 23, 32, and 33 change visibly from rc.62; all 42 pages and the five changed pages at full 144 dpi were inspected, and a second independent export renders pixel-identically on all 42 pages.",
        "All nine fonts are embedded, subsetted, and Unicode-mapped; all 7,159 extracted word boxes remain inside A4. The PDF retains 32 canonical HTTPS annotations to 30 unique HTTP-200 targets and seven named destinations, has no attachment, encryption, form, JavaScript, or signature, and passes Ghostscript rendering.",
        "The candidate companion passes Chromium and Firefox at 1440 \u00d7 1000, 390 \u00d7 844, and 320 \u00d7 800 with true 200% text. It contains every visible element, decodes its geographic image, keeps one current checkpoint and three ordered ideas, six timeline entries, 63 release rows, honest rc.63-candidate/rc.62-public framing, exact width parity, and clean runtime logs.",
        "Focused caption, archive-boundary, rendering, progress, link, and PDF-export checks pass, and all 212 repository tests pass locally. git diff --check is clean.",
        "GitHub Pages run 29636057853 successfully deployed exact content commit e8f30fab04b581ad9837b0dd7d572372a463b655; its only annotation is the inherited upstream Node.js 20-to-24 runtime warning.",
        "The 719,759,360-byte downloaded Pages artifact, final local build, and cache-busted public origin match byte-for-byte for report HTML, transitional companion HTML, progress JSON, and the PDF at SHA-256 0dd0376bbe2311660405898b2fc249ecf5ca5dd975772c5ecce99a1f943397ab, 0045d0d07e1263bcb499eb4802a5d10eb6fb9078c03240bb68838f48a07b6913, b61c173562f616400a396301a38d5884563f72a472ae9b95912503eebd16a2b7, and eaed4f4727f3746c47c3cc037b48e22ae98084034dcd56d2d17449a29cd34924 respectively.",
        "Fresh public Chromium and Firefox repeat the six-state complete-report matrix with all 72 images decoded, all 73 figures, 69 captions, 30 maps, and visible labels contained, exact width parity, the static 50/50 HS123 comparison, no video, and clean runtime logs. All five corrected captions and alts remain bound to their exact accepted images.",
        "All 30 focused public site captures pass direct inspection at desktop, phone, and true 200% text. Twenty-nine are pixel-identical to local; Chromium's phone HS110 capture differs only within the photograph by low-amplitude decode rasterization (maximum channel delta 4, mean 0.269), and direct paired inspection shows identical content, text, and geometry.",
        "The public transitional companion passes both engines at desktop, phone, and true 200% text with one candidate over the rc.62 authority before this receipt, three ordered ideas, six timeline entries, 63 release rows, exact containment, and clean runtime logs.",
        "Rc.63 is the exact public checkpoint. No later photograph, caption, or layout direction began before promotion."
      ],
      "release_record": [
        "Content commit: e8f30fab0",
        "GitHub Pages workflow: run 29636057853 \u2014 successful",
        "Companion: https://blakedyer.github.io/cook_islands_2026/trip-report/progress/",
        "Web: https://blakedyer.github.io/cook_islands_2026/trip-report/?v=e8f30fab04b581ad9837b0dd7d572372a463b655",
        "PDF: https://blakedyer.github.io/cook_islands_2026/data/documents/field/cook-islands-2026-initial-trip-report.pdf"
      ],
      "workflow_run": "29636057853",
      "real_play": "Chromium + Firefox \u00b7 desktop + phone + 200% text + full PDF",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.62",
      "date": "2026-07-17",
      "state": "Public; deployed and verified",
      "checkpoint": "HS115 joins coast and transect",
      "artifact": "4171acd880a14c5689b23ff210ae4531f5592bd9; Pages 29632928840; Codex-reviewed DJI frame 148286; tracked 1600 \u00d7 1200 progressive JPEG 554604560612d34dc302f74211ea5ed1574dfda28bd26590c42fc620a44b7e6b; 42-page PDF; 20,118,289 bytes; SHA-256 b38d7a4ffa0fa647e0f3b5b7a373ff63cf8ff66f1d6a208d658e6b1f887fdbee",
      "commit": "4171acd880a14c5689b23ff210ae4531f5592bd9",
      "pdf_sha256": "b38d7a4ffa0fa647e0f3b5b7a373ff63cf8ff66f1d6a208d658e6b1f887fdbee",
      "pdf_pages": 42,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Replaces HS115's accepted ground-level cleared-surface frame with one Codex-reviewed low oblique DJI view that connects the shallow reef flat, coastal cliff edge, cleared shoreward transect, access track, and vegetated inland rise in one image.",
        "Keeps the established orthomosaic-first 2:1 site plate and adds no gallery, player, annotation system, label, map, sample point, or scientific claim.",
        "Uses a report-only literal caption that makes the spatial context visible while stating that the aerial does not resolve whether the visible mounds are in place, moved, or part of one reef surface; archive caption and review state remain unchanged."
      ],
      "validation": [
        "Began from exact public rc.61 content 3b000e1e23f7297d834848cb666de5ac032c4cd6, promotion receipt 78188ec33643f2dd208828f76c534c8a543f451a, and successful receipt Pages run 29631068766; the promoted companion, report, and PDF were already byte-verified and browser-verified before selection.",
        "Re-read the complete exact public report text and all 42 PDF pages, then directly compared the full-resolution HS114 15_07_46, existing Mangaia opener 15_26_31, HS115 21_43_07, accepted HS115 ground frame 147195, and accepted HS110 frame 144098 against their live publication roles and field-note evidence.",
        "Rejected HS114 15_07_46 because its near-nadir beach/reef-flat geometry repeats the orthomosaic and adds less than its queued beach-to-cliff description implied. HS110's raw caption remains a valid editorial repair, but the HS115 oblique supplies the larger public-visible gain.",
        "The selected 5472 \u00d7 3078 DJI source, Darktable image 148286, is assigned to HS115 in the public media manifest at corrected local time 2026-06-04 15:43:07. The local camera file and canonical public full object are byte-identical at SHA-256 1073ef2acf0e62ce49aaab3ce7267f1d1e4e59d906779742e2bc09790f4aa189; the public thumbnail is 2b9e6667475aa5b8570c269a3004a66ed6ec5f0d39ebf22763ab25ad9f311bf1.",
        "Direct crop comparison selected the left-anchored 4104 \u00d7 3078 source box because it retains the complete sea-to-land sequence and vehicle scale; center and right crops lose progressively more shoreline. The tracked 1600 \u00d7 1200 progressive JPEG is 554604560612d34dc302f74211ea5ed1574dfda28bd26590c42fc620a44b7e6b.",
        "The user confirmed that Codex may perform captions requiring human review. Direct pixel, metadata, manifest, field-note, and publication-role review clears this report-specific caption without changing the archive caption or Darktable review state.",
        "The exact six-variable Pages-mode build emits 102 pages. Chromium and Firefox each pass the complete report at 1536 \u00d7 1024, 1280 \u00d7 700, 390 \u00d7 844, and 320 \u00d7 800, plus true 200% text at both phone widths. All 72 images decode; all 73 figures, 69 captions, 30 maps, HTML labels, and SVG text remain contained with exact document-width parity, the static 50/50 HS123 comparison, and clean logs.",
        "Focused HS115 reads pass both engines at desktop, phone, and true 200% text. They resolve the exact 1600 \u00d7 1200 derivative, report-only caption, and alt; the retired public source is absent; the desktop plate keeps the established 2:1 map-first geometry; phone and enlarged-text views stack at full width. Direct inspection of all six captures confirms that reef flat, low cliff, cleared transect, track, and inland rise remain legible without a cropped label or photograph.",
        "The candidate companion passes Chromium and Firefox at 1440 \u00d7 1000, 390 \u00d7 844, and 320 \u00d7 800 with true 200% text. It honestly presents locally validated rc.62 over public rc.61, one current checkpoint, three ordered ideas, six timeline entries, 62 release rows, a decoded geographic image, exact containment, and clean logs; all six captures were inspected directly.",
        "The source and generated-public PDF copies are byte-identical at 42 unrotated A4 pages, 20,118,289 bytes, and SHA-256 b38d7a4ffa0fa647e0f3b5b7a373ff63cf8ff66f1d6a208d658e6b1f887fdbee. Only HS115 page 25 changes from rc.61; every candidate page and full-size page 25 were inspected, and a second independent export renders pixel-identically on all 42 pages.",
        "All nine fonts are embedded, subsetted, and Unicode-mapped; all 7,080 extracted word boxes remain inside A4. The PDF retains 32 canonical HTTPS annotations to 30 unique HTTP-200 targets and seven named destinations, has no attachment, encryption, form, JavaScript, or signature, and Ghostscript reports no render error.",
        "Focused provenance, crop, caption, layout, and progress regressions pass, and all 211 repository tests pass locally.",
        "GitHub Pages run 29632928840 successfully deployed exact content commit 4171acd880a14c5689b23ff210ae4531f5592bd9; its only annotation is the inherited upstream Node.js 20-to-24 runtime warning.",
        "The downloaded Pages artifact, local authority, and cache-busted live origin match byte-for-byte for report HTML, transitional companion HTML, progress JSON, the PDF, and the tracked HS115 derivative at SHA-256 c971ce6d49fde429ad1c9afe8789da95dc20265cc4610a3203af2365bd81b633, c6534f12d2fc5ed47bbf7d46b255aac88db8b2052833f6c09370640c531f169e, 05629395c1ca67bb42a83d13ef6de30c8815e31341d00ba3caa3a6cd17720cf3, b38d7a4ffa0fa647e0f3b5b7a373ff63cf8ff66f1d6a208d658e6b1f887fdbee, and 554604560612d34dc302f74211ea5ed1574dfda28bd26590c42fc620a44b7e6b respectively.",
        "The live canonical full and thumbnail objects match their audited SHA-256 values 1073ef2acf0e62ce49aaab3ce7267f1d1e4e59d906779742e2bc09790f4aa189 and 2b9e6667475aa5b8570c269a3004a66ed6ec5f0d39ebf22763ab25ad9f311bf1; the full object remains byte-identical to the 5472 \u00d7 3078 camera source.",
        "Fresh public Chromium and Firefox repeat the six-state report matrix with all 72 images decoded, all 73 figures, 69 captions, and 30 maps contained, exact document-width parity, the static 50/50 HS123 comparison, and clean runtime logs. Focused HS115 reads repeat the exact derivative, caption, alt, retired-source boundary, and responsive geometry. Four focused captures are pixel-identical to local; the two Chromium mobile element captures differ only by subpixel rasterization and direct paired inspection shows the same readable content and geometry.",
        "The public transitional companion passes both engines at 1440 \u00d7 1000, 390 \u00d7 844, and 320 \u00d7 800 with true 200% text. Before this receipt it honestly presents locally validated rc.62 over live rc.61; all six public captures are pixel-identical to their approved local counterparts.",
        "Rc.62 is the exact public checkpoint. No later photograph or caption direction began before promotion."
      ],
      "release_record": [
        "Content commit: 4171acd88",
        "GitHub Pages workflow: run 29632928840 \u2014 successful",
        "Companion: https://blakedyer.github.io/cook_islands_2026/trip-report/progress/",
        "Web: https://blakedyer.github.io/cook_islands_2026/trip-report/?v=4171acd880a14c5689b23ff210ae4531f5592bd9",
        "PDF: https://blakedyer.github.io/cook_islands_2026/data/documents/field/cook-islands-2026-initial-trip-report.pdf"
      ],
      "workflow_run": "29632928840",
      "real_play": "Chromium + Firefox \u00b7 desktop + phone + 200% text + full PDF",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.61",
      "date": "2026-07-17",
      "state": "Public; deployed and verified",
      "checkpoint": "Mauke describes the exposure",
      "artifact": "3b000e1e23f7297d834848cb666de5ac032c4cd6; Pages 29630283607; accepted Darktable image 149933; camera/public full digest e6bfd44e0edc67a3364b5b46c92ec9074a3e2c6e93ae354ff78efb799f98df09; 42-page PDF; 19,573,414 bytes; SHA-256 c730424420a3d1a8bccf95f445d7a63b022bcfa8603d1dff76442ec4f4c624be",
      "commit": "3b000e1e23f7297d834848cb666de5ac032c4cd6",
      "pdf_sha256": "c730424420a3d1a8bccf95f445d7a63b022bcfa8603d1dff76442ec4f4c624be",
      "pdf_pages": 42,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Keeps accepted image 149933 in its established Mauke chapter-opener and HS116 site roles, but replaces the duplicated raw \u201cHS116 notch horizon\u201d wording with one literal report-only caption and alt.",
        "Describes the undercut limestone face, shallow reef-edge water, dark irregular bands, and rougher rock near the base before stating that separate reef units, older notch fill, and later weathering remain unresolved alternatives.",
        "Leaves the photograph, archive caption, Darktable review state, field notes, daily evidence, GPS, samples, maps, and layout system unchanged."
      ],
      "validation": [
        "A fresh start-to-finish read covered exact public rc.60, all 42 PDF pages at publication size, the roadmap, current release records, durable photo audit, HS114 and HS115 queued directions, the full-resolution 149933 source, and its field-note tie. The duplicated Mauke raw heading is the highest-leverage bounded defect because it appears in both the island opener and first site plate; HS115 is already literal, and HS114's alternate risks repeating the established Mangaia opener.",
        "Accepted Google Pixel 9 Pro image 149933 was captured 2026-06-06 10:19:28 local, 0.36 m from MAUKE-20260606-RN-043. Its 6144 \u00d7 8160 camera source and canonical public full object are byte-identical at SHA-256 e6bfd44e0edc67a3364b5b46c92ec9074a3e2c6e93ae354ff78efb799f98df09; the current 904 \u00d7 1200 display object is 4cf2d4370a8fa3621c358639a7957649580a0178958f2a2264233ed479c65863.",
        "The exact six-variable Pages-mode build emits 102 pages. Chromium and Firefox each pass the complete report at 1536 \u00d7 1024, 1280 \u00d7 700, 390 \u00d7 844, and 320 \u00d7 800, plus true 200% text at both phone widths. All 72 images decode; all 73 figures, 69 captions, 30 maps, HTML labels, and SVG text remain contained with exact document-width parity and clean logs.",
        "Focused Mauke reads pass both engines at desktop, phone, and true 200% text. Both roles resolve the exact canonical 149933 source, reviewed caption, and alt; the raw heading is absent; the desktop site plate retains its 2:1 map-first geometry; phone and enlarged-text views stack at full width. Direct inspection confirms that the new wording remains readable and proportionate in the chapter opener and HS116 plate.",
        "The candidate companion passes Chromium and Firefox at 1440 \u00d7 1000, 390 \u00d7 844, and 320 \u00d7 800 with true 200% text. It honestly presents local rc.61 over public rc.60, one current checkpoint, three ordered ideas, six timeline entries, 61 release rows, a decoded geographic image, exact containment, and clean logs; direct desktop, phone, and enlarged-text captures remain coherent.",
        "The source and generated-public PDF copies are byte-identical at 42 unrotated A4 pages, 19,573,414 bytes, and SHA-256 c730424420a3d1a8bccf95f445d7a63b022bcfa8603d1dff76442ec4f4c624be. Only Mauke pages 26 and 28 change from rc.60; every page and both full-size changed pages were inspected, and a second independent export renders pixel-identically on all 42 pages.",
        "All nine fonts are embedded, subsetted, and Unicode-mapped; all 7,057 extracted word boxes remain inside A4. The PDF retains 32 canonical URL annotations to 30 unique HTTP-200 targets and seven named destinations, has no attachment, encryption, form, JavaScript, or signature, and Ghostscript reports no render error.",
        "Focused caption/source regressions and all 210 repository tests pass locally.",
        "GitHub Pages run 29630283607 successfully deployed exact content commit 3b000e1e23f7297d834848cb666de5ac032c4cd6; its only annotation is the inherited upstream Node.js 20-to-24 runtime warning.",
        "The downloaded Pages artifact, local authority, and cache-busted live origin match byte-for-byte for report HTML, transitional companion HTML, progress JSON, and the PDF at SHA-256 4100c82817e5f35e38105c89ff2b775b91b84d29cbcf140c1c607bf5e86a1580, 70aae48ad9208b46bfbcd31a3bb150b7bde52c047e06a26aede4fbd95c2f4791, 2c748d58096b583534f76f8b27f2d584f9cb918006097bd195b147e84b693d11, and c730424420a3d1a8bccf95f445d7a63b022bcfa8603d1dff76442ec4f4c624be respectively.",
        "The live canonical 149933 full, display, and thumbnail objects match their audited SHA-256 values e6bfd44e0edc67a3364b5b46c92ec9074a3e2c6e93ae354ff78efb799f98df09, 4cf2d4370a8fa3621c358639a7957649580a0178958f2a2264233ed479c65863, and 0c7cc9af2eabd619a3d232e1fb3cfb906decfbfbddb163f56b27fa94df1f7d01.",
        "Fresh public Chromium and Firefox repeat the six-state report matrix with all 72 images decoded, all 73 figures, 69 captions, and 30 maps contained, exact document-width parity, a static 50/50 HS123 comparison, and clean runtime logs. Focused Mauke reads repeat the exact source, caption, alt, raw-heading boundary, and responsive geometry; all 12 public focused captures are pixel-identical to their approved local counterparts.",
        "The public transitional companion passes both engines at 1440 \u00d7 1000, 390 \u00d7 844, and 320 \u00d7 800 with true 200% text. Before this receipt it honestly presents locally validated rc.61 over live rc.60; all six public captures are pixel-identical to their approved local counterparts."
      ],
      "release_record": [
        "Content commit: 3b000e1e2",
        "GitHub Pages workflow: run 29630283607 \u2014 successful",
        "Companion: https://blakedyer.github.io/cook_islands_2026/trip-report/progress/",
        "Web: https://blakedyer.github.io/cook_islands_2026/trip-report/?v=3b000e1e23f7297d834848cb666de5ac032c4cd6",
        "PDF: https://blakedyer.github.io/cook_islands_2026/data/documents/field/cook-islands-2026-initial-trip-report.pdf"
      ],
      "workflow_run": "29630283607",
      "real_play": "Chromium + Firefox \u00b7 desktop + phone + 200% text + full PDF",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.60",
      "date": "2026-07-17",
      "state": "Public; deployed and verified",
      "checkpoint": "Rarotonga reads from coast to living detail",
      "artifact": "f3dd6b045773ddc5d10406159d001e957ffa1f18; Pages 29628073721; accepted Darktable images 143593, 143497, and 143505; canonical public full 143593 rendition digest 0691cf1aa8576eb83dcc31636e371d9a0eaf8fad98fd444bbadcc5899a18256e; 42-page PDF; 19,573,199 bytes; PDF SHA-256 7fbc8e91a024a1f061a885afc9cb6b480451cdc301ea74b7c836e7bb3ff6bf58",
      "commit": "f3dd6b045773ddc5d10406159d001e957ffa1f18",
      "pdf_sha256": "7fbc8e91a024a1f061a885afc9cb6b480451cdc301ea74b7c836e7bb3ff6bf58",
      "pdf_pages": 42,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Replaces the first Rarotonga comparison-strip image, accepted close wall 143557, with accepted broad low-tide frame 143593, where weathered coastal rock, water-filled pools, the exposed modern reef flat, breaking waves, and open ocean read together.",
        "Keeps the accepted rc.49 Roger-on-the-coast chapter hero and accepted 143497 living-reef and 143505 Jacky-with-ledge photographs, but gives all three comparison images concise report-only captions and alts reviewed directly against their pixels.",
        "Removes repeated place-name headings, casual \u201corganisms calling this place home\u201d language, unsupported in-place-reef wording, and unqualified growth-position language from the first island's comparison strip. Archive caption and review records remain unchanged."
      ],
      "validation": [
        "Began from exact public and live-verified rc.59, content commit 996c3cf5556c5d2b47c45d6c68a918a4c4900c21, Pages run 29626361439, promotion receipt a017cfe565b6ec182c5a1a2c0a3de492d9e2e1c3, and receipt run 29626900511.",
        "Re-read the complete live report text, all 42 PDF pages, current roadmap/changelog/version/devlog, durable photograph audit, all three queued directions, full HS115 current/candidate pixels, and the complete Rarotonga comparison page. HS104's oblique had already lost a direct rc.59 comparison, and HS114's queued horizon frame already owns Mangaia's opener. The early raw-caption strip is the higher-leverage bounded repair.",
        "Accepted Olympus TG-5 image 143593 was captured 2026-05-31 at 15:41:50 local, 6.08 m from nearest GPS record RAROTONGA-20260531-RN-002, and is tied to the accepted Ngatangiia reef-terrace record. Its canonical public object is 20260531-154150-07dbf1dfa4f2-1a90edce26c5.jpg.",
        "Direct review distinguishes the 4000 \u00d7 3000 camera source at SHA-256 1fdc5cf0a76e50a933d0f3f0c61fc84adf5864662ffb499e8c89ec15963f3fef from the 4016 \u00d7 3016 canonical public full rendition at 0691cf1aa8576eb83dcc31636e371d9a0eaf8fad98fd444bbadcc5899a18256e; the 639 \u00d7 480 public thumbnail is f3e0c7ad337d2ffaf5a367ca520bbb549f4b52bfd1d98d91771c527ee380fe5c. All three actual images were inspected, and the public rendition is the intended report source.",
        "The exact six-variable Pages-mode build emits 102 pages, and all 209 repository tests pass. The explicit gallery path fails closed on missing, duplicate, hero-repeating, or incomplete bindings while preserving every unconfigured island's established selection behavior.",
        "Chromium and Firefox pass the complete report at 1536 \u00d7 1024, 1280 \u00d7 700, 390 \u00d7 844, and 320 \u00d7 800, plus true 200% text at both phone widths. All 72 images decode; all 73 figures, 69 captions, 30 maps, HTML labels, and SVG text remain contained with exact document-width parity and clean logs.",
        "Focused Rarotonga reads pass both engines at desktop and phone. The three intended public sources, captions, and alts resolve in exact order; the retired close wall and old strip wording are absent; captions remain inside equal-width three-column figures on desktop and full-width stacked figures on phones. Direct inspection confirms that the new first frame reads as coast-scale context rather than another close detail.",
        "The candidate companion passes both engines at 1440 \u00d7 1000, 390 \u00d7 844, and 320 \u00d7 800 with true 200% text. It honestly presents local rc.60 over live rc.59, one current checkpoint, three ordered ideas, six timeline entries, 60 release rows, a decoded geographic image, complete containment, and clean logs.",
        "Source and generated-public PDF copies are byte-identical at 42 unrotated A4 pages, 19,573,199 bytes, and SHA-256 7fbc8e91a024a1f061a885afc9cb6b480451cdc301ea74b7c836e7bb3ff6bf58. Only page 5 changes from rc.59; every page and full-size page 5 were inspected, and two independent exports render pixel-identically on all 42 pages.",
        "All nine fonts are embedded, subsetted, and Unicode-mapped; all 7,025 extracted word boxes remain inside A4. The PDF retains 32 canonical URL annotations to 30 unique targets and seven named destinations, has no attachment, encryption, form, JavaScript, or signature, and Ghostscript reports no render error.",
        "GitHub Pages run 29628073721 successfully deployed exact content commit f3dd6b045773ddc5d10406159d001e957ffa1f18; its only annotations are the inherited upstream Node.js 20-to-24 runtime warnings.",
        "The downloaded Pages artifact, local authority, and cache-busted live origin match byte-for-byte for report HTML, transitional companion HTML, progress JSON, and the PDF at SHA-256 be7760a2bc5cdaf0cf6f61fead63cd2f497fa303d00c408f32282eb7aa16b71a, defc3faaa2dc44df2d90a6ffc109afcb6ac10ca0d60d3efef1095d4bfffeacad, c91e23545298ae38d9f9a8dd32aa2a61f2b65fc93f3973539b9f53dc8120a769, and 7fbc8e91a024a1f061a885afc9cb6b480451cdc301ea74b7c836e7bb3ff6bf58 respectively. The live canonical 143593 object separately matches its audited SHA-256 0691cf1aa8576eb83dcc31636e371d9a0eaf8fad98fd444bbadcc5899a18256e.",
        "Fresh public Chromium and Firefox repeat the six-state report matrix with all 72 images decoded, all 73 figures, 69 captions, and 30 maps contained, exact document-width parity, a static 50/50 HS123 comparison, and clean runtime logs. Focused Rarotonga desktop and phone reads preserve the exact three-source order, captions, alts, three-column/stacked hierarchy, and retired-frame boundary; direct inspection of the live captures confirms the coast-to-detail sequence remains clear.",
        "The public transitional companion passes both engines at 1440 \u00d7 1000, 390 \u00d7 844, and 320 \u00d7 800 with true 200% text. Before this receipt it honestly presents locally validated rc.60 over live rc.59, with one current checkpoint, three queued ideas, six timeline entries, 60 release rows, a decoded geographic image, complete containment, and clean logs."
      ],
      "release_record": [
        "Content commit: f3dd6b045",
        "GitHub Pages workflow: run 29628073721 \u2014 successful",
        "Promotion receipt: 55629eb8f",
        "Promotion workflow: run 29628659155 \u2014 successful",
        "Companion: https://blakedyer.github.io/cook_islands_2026/trip-report/progress/",
        "Web: https://blakedyer.github.io/cook_islands_2026/trip-report/?v=f3dd6b045773ddc5d10406159d001e957ffa1f18",
        "PDF: https://blakedyer.github.io/cook_islands_2026/data/documents/field/cook-islands-2026-initial-trip-report.pdf"
      ],
      "workflow_run": "29628073721",
      "real_play": "Chromium + Firefox \u00b7 desktop + phone + 200% text + full PDF",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.59",
      "date": "2026-07-17",
      "state": "Public; deployed and verified",
      "checkpoint": "HS117 makes the recorded band visible",
      "artifact": "996c3cf5556c5d2b47c45d6c68a918a4c4900c21; Pages 29626361439; accepted Darktable image 149963; existing 1205 \u00d7 1600 report rendition 5f14371ced81ca66892c402bcc5a7e43aef26be7fcd518035f6929b68c2baa15; 42-page PDF; 19,592,441 bytes; SHA-256 a5fd43f45200aacd3455f23eb8328d162ef10dc6582c6735d86d3cb952654658",
      "commit": "996c3cf5556c5d2b47c45d6c68a918a4c4900c21",
      "pdf_sha256": "a5fd43f45200aacd3455f23eb8328d162ef10dc6582c6735d86d3cb952654658",
      "pdf_pages": 42,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Replaces HS117's shadow-dominated groove view with accepted Google Pixel 9 Pro image 149963, where a pale irregular band and large coral forms are legible across the sunlit wall.",
        "Preserves the rc.31 annotated 149966 field-note feature below the plate. The primary supplies an unannotated relationship view; the feature retains the exact recorded-contact and coral-marker role.",
        "Uses Codex's authorized literal report-only caption to distinguish what the photograph shows from what the field notes call a contact. It does not assign growth position, age, or distinct reef-unit identity from pixels alone."
      ],
      "validation": [
        "Re-read the complete exact public rc.58 report and 42-page PDF, current release records, durable photograph audit, HS109 and HS104 queued alternatives, current HS117 plate, accepted images 149961, 149963, and 149966, and the complete June 6 field synthesis before selection.",
        "The corrected June 1 HS109 aerial adds makatea and route context but loses to its current people-and-cliff frame in exposure, immediacy, and publication-scale subject clarity. The HS104 oblique is strong but would displace exact wall evidence with broader context. HS117 is the highest-leverage bounded replacement because its current primary obscures the relationship named by its caption.",
        "Accepted image 149963 was captured 2026-06-06 13:26:58 local, two seconds before recorder note MAUKE-20260606-RN-018 and 5.95 m from that nearest GPS record. Public UID sha256:6eff1e21399d15f0c08deb4fb25cb8a86ee145f8c8d32eeec3b8e358015b3220 resolves to canonical object 20260606-132658-6eff1e21399d-bf810a4e25c9.jpg.",
        "The 6144 \u00d7 8160 camera source and canonical public full object are byte-identical at SHA-256 5f66ddef4ad557de455cc29a76bd6db5c39527bb5b68cc61b2771e07d98969dc. The existing 1205 \u00d7 1600 report rendition is 922,712 bytes at SHA-256 5f14371ced81ca66892c402bcc5a7e43aef26be7fcd518035f6929b68c2baa15.",
        "The exact six-variable Pages-mode build emits 102 pages. All 209 repository tests pass, including the new contract that an explicitly selected accepted frame remains eligible even when caption de-duplication would otherwise omit it from the four-photo site set.",
        "Chromium and Firefox pass the report at 1536 \u00d7 1024, 1280 \u00d7 700, 390 \u00d7 844, and 320 \u00d7 800, plus true 200% text at both phone widths. All 72 images decode; all 73 figures, 69 captions, and 30 maps remain contained, with no HTML label or SVG text crossing a figure edge. Direct desktop and phone inspection confirms the pale band is legible, the orthomosaic remains dominant, and annotated 149966 retains both markers.",
        "The candidate companion passes both engines at 1440 \u00d7 1000, 390 \u00d7 844, and 320 \u00d7 800 with true 200% text. It honestly distinguishes local rc.59 from verified rc.58, keeps one current checkpoint and three ordered ideas, carries 59 release rows, decodes its geographic image, and contains every element and label.",
        "Source and generated-public PDF copies are byte-identical at 42 unrotated A4 pages, 19,592,441 bytes, and SHA-256 a5fd43f45200aacd3455f23eb8328d162ef10dc6582c6735d86d3cb952654658. Only page 29 changes from rc.58; every page and full-size page 29 were inspected, and two independent exports render pixel-identically on all 42 pages.",
        "All nine fonts are embedded, subsetted, and Unicode-mapped; all 7,004 extracted word boxes stay inside A4. The PDF retains 32 canonical URL annotations to 30 unique targets and seven named destinations, has no attachment, encryption, form, JavaScript, or signature, and Ghostscript reports no render error.",
        "GitHub Pages run 29626361439 successfully deployed exact content commit 996c3cf5556c5d2b47c45d6c68a918a4c4900c21; its only annotation is the inherited upstream Node.js 20-to-24 runtime warning.",
        "The downloaded Pages artifact, local authority, and cache-busted live origin match byte-for-byte for report HTML, transitional companion HTML, progress JSON, the HS117 map, and the PDF at SHA-256 a7c513ebcc430ffb3382b7d8630cfa63438d8f2a8b2567008cafd849b8dd73ab, 4d08308741f439bdcb6b93a2b41ebb32d566c57828542dd5a4c82ac00c1ebb55, 10e452c2eb23c96364e1afdf59671b5a0c70dd1a6685b943d5e04acf943849d2, 5d47c7d587b2acdafb0adc6c70f5141b5ea954770078ab6249c7de6ae1188d94, and a5fd43f45200aacd3455f23eb8328d162ef10dc6582c6735d86d3cb952654658 respectively.",
        "Fresh public Chromium and Firefox repeat the six-state report matrix with all 72 images decoded, all 73 figures, 69 captions, and 30 maps contained, exact document-width parity, a static 50/50 HS123 comparison, and clean runtime logs. Focused HS117 desktop and phone reads preserve the exact selected source, map-first 2:1/stacked hierarchy, literal caption boundary, annotated 149966, both markers, and daily link.",
        "The public transitional companion passes both engines at 1440 \u00d7 1000, 390 \u00d7 844, and 320 \u00d7 800 with true 200% text. Before this receipt it honestly presents locally validated rc.59 over live rc.58, with one current checkpoint, three queued ideas, six timeline entries, 59 release rows, a decoded geographic image, complete containment, and clean logs."
      ],
      "release_record": [
        "Content commit: 996c3cf55",
        "GitHub Pages workflow: run 29626361439 \u2014 successful",
        "Companion: https://blakedyer.github.io/cook_islands_2026/trip-report/progress/",
        "Web: https://blakedyer.github.io/cook_islands_2026/trip-report/?v=996c3cf5556c5d2b47c45d6c68a918a4c4900c21",
        "PDF: https://blakedyer.github.io/cook_islands_2026/data/documents/field/cook-islands-2026-initial-trip-report.pdf"
      ],
      "workflow_run": "29626361439",
      "real_play": "Chromium + Firefox \u00b7 desktop + phone + 200% text + full PDF",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.58",
      "date": "2026-07-17",
      "state": "Public; deployed and verified",
      "checkpoint": "Atiu opens with human scale",
      "artifact": "aecfe4c3d; 42-page PDF; SHA-256 cb655ab832a7f2fed47d1ba69d04153b64e1efb90454cef196f66085e9c49797",
      "commit": "aecfe4c3dbdd8007700d2cac6afbc96ba62ea31c",
      "pdf_sha256": "cb655ab832a7f2fed47d1ba69d04153b64e1efb90454cef196f66085e9c49797",
      "pdf_pages": 42,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Replaces Atiu's inherited HS101 coral macro chapter opener with accepted Google Pixel 9 Pro frame 146408, where Oana, a narrow beach, shallow reef flat, breaking waves, and a vegetation-covered limestone overhang read together.",
        "Gives the photograph one island-level people-and-place role. The HS106 site plate keeps its distinct low-oblique DJI coast view, and no site photograph, map, gallery, motion, or media system changes.",
        "Replaces the interpretive source caption with Codex's authorized literal report-only caption. It does not assign notch identity, age, elevation, growth position, unit, or origin to the visible ledge."
      ],
      "validation": [
        "Re-read the complete exact public rc.57 report and 42-page PDF, current roadmap, changelog, version history, devlog, durable photograph audit, current Atiu chapter and HS106 plate, and complete May 28 field synthesis before selection.",
        "Accepted image 146408 was captured 2026-05-28 09:16:42 local within the HS106 visit, 18 seconds before recorder note ATIU-20260528-RN-031 and 0.33 m from nearest GPS record ATIU-20260528-RN-024. Public UID sha256:246aadae7d9c54d531e7f7e0de870fd0f3d891f08181d72c748c3c8c367c78a4 resolves to canonical object 20260528-091642-246aadae7d9c-006d23175b53.jpg.",
        "The 6144 \u00d7 8160 camera source and canonical public full object are byte-identical at SHA-256 72db4f533a05ec098ee7f4a37610d34ff235e42400dcda058e278fcb3fb98e97.",
        "Four full-width 8:5 crops were inspected. Source y=2400 best balances horizon, breaking-wave edge, shallow reef, person, beach, and overhang. Its 493,301-byte 1600 \u00d7 1000 progressive derivative is SHA-256 6b87e2d3bed35e600358bdd353b95ca26d7c3c7c1a3fb48f9dd3dc8cbad0e553.",
        "The exact six-variable Pages-mode build emits 102 pages. Chromium and Firefox complete the report at 1536 \u00d7 1024, 1280 \u00d7 700, 390 \u00d7 844, and 320 \u00d7 800, plus true 200% text at both phone widths. All 71 visible images decode; all 73 figures, 69 captions, and 30 maps remain contained. The 1600 \u00d7 1000 Atiu frame and literal caption remain clear in every state.",
        "The candidate companion passes both engines at 1440 \u00d7 1000, 390 \u00d7 844, and 320 \u00d7 800 with true 200% text: it distinguishes local rc.58 from verified rc.57, keeps one current checkpoint and three ordered ideas, carries 58 release rows, decodes its geographic image, and contains every element and label.",
        "All 209 repository tests pass after the editorial-photo inventory was advanced from two to three provenance-bound chapter heroes. Python/YAML parsing, exact source/crop/derivative contracts, generated-PDF parity, and whitespace checks pass.",
        "The source/public PDF is byte-identical at 42 unrotated A4 pages, 19,584,329 bytes, and SHA-256 cb655ab832a7f2fed47d1ba69d04153b64e1efb90454cef196f66085e9c49797. Only page 7 changes from rc.57; every page and full-size page 7 were inspected, and two independent exports render pixel-identically on all 42 pages.",
        "All nine fonts are embedded, subsetted, and Unicode-mapped; all 6,981 extracted words stay inside A4; 32 canonical URL annotations and seven named destinations remain. The PDF has no attachment, encryption, form, JavaScript, or signature, and Ghostscript reports no render error.",
        "GitHub Pages run 29624194325 successfully deployed exact content commit aecfe4c3dbdd8007700d2cac6afbc96ba62ea31c; its only annotations are the inherited upstream Node.js 20-to-24 runtime warnings.",
        "The downloaded Pages artifact, local authority, and cache-busted live origin match byte-for-byte for report HTML, transitional companion HTML, progress JSON, the Atiu JPEG, and the PDF at SHA-256 90c2fbf70f8ed5a5e2c932137ec32b8c1ca061a1706af02bb739eea6a2825e68, 16fc84a7216784bb795afaa0fafce7b5576a74dfc029312d4ff11c976a089d10, 2592165640aab4a9c319cbbb74e9c481de911979f054332cdfbaaf2b59d0699f, 6b87e2d3bed35e600358bdd353b95ca26d7c3c7c1a3fb48f9dd3dc8cbad0e553, and cb655ab832a7f2fed47d1ba69d04153b64e1efb90454cef196f66085e9c49797 respectively.",
        "Fresh public Chromium and Firefox repeat the six-state report matrix. All 71 visible images decode; all 73 figures, 69 captions, and 30 maps remain contained with exact document-width parity. The Atiu asset, literal caption, and full chapter opener were read directly in both engines, and both runtime consoles are clean.",
        "The public transitional companion passes both engines at 1440 \u00d7 1000, 390 \u00d7 844, and 320 \u00d7 800 with true 200% text. It honestly presents locally validated rc.58 over live rc.57 before this receipt, with one current checkpoint, three queued ideas, six timeline entries, 58 release rows, a decoded geographic image, exact containment, and clean runtime logs."
      ],
      "release_record": [
        "Content commit: aecfe4c3d",
        "GitHub Pages workflow: run 29624194325 \u2014 successful",
        "Companion: https://blakedyer.github.io/cook_islands_2026/trip-report/progress/",
        "Web: https://blakedyer.github.io/cook_islands_2026/trip-report/?v=aecfe4c3dbdd8007700d2cac6afbc96ba62ea31c",
        "PDF: https://blakedyer.github.io/cook_islands_2026/data/documents/field/cook-islands-2026-initial-trip-report.pdf"
      ],
      "workflow_run": "29624194325",
      "real_play": "Chromium + Firefox \u00b7 desktop + phone + 200% text + full PDF",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.57",
      "date": "2026-07-17",
      "state": "Public; deployed and verified",
      "checkpoint": "HS122 reveals exposed-coast relief",
      "artifact": "bf28e917f67cacec048a8ddb2a55faebcfb0a3d4; Pages 29621511023; Codex-reviewed DJI image 151797; tracked 1600 \u00d7 1200 progressive JPEG 9106b1898179831191f6be45eccac440bce5f6909a75ed106dde4dc76a7e0ada; 42-page PDF; 19,160,317 bytes; SHA-256 b78d0ef78ec6c8ff715f4c5bab95220b41481f8b0c5cf27f6d8f7c512cb87f76",
      "commit": "bf28e917f67cacec048a8ddb2a55faebcfb0a3d4",
      "pdf_sha256": "b78d0ef78ec6c8ff715f4c5bab95220b41481f8b0c5cf27f6d8f7c512cb87f76",
      "pdf_pages": 42,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Replaces HS122's strong but duplicated ground-boulder supporting image with reviewed DJI frame 151797, where jagged coastal spurs, the wave-washed reef flat, vegetated interior, forest edge, and access road read together.",
        "Keeps the HS122 orthomosaic first and visually dominant and preserves the ground-boulder frame as the Mitiaro chapter opener. No gallery, annotation, map change, motion, or media system is added.",
        "Applies Codex's authorized review to a literal report-only caption. It does not assign age, unit, transport history, growth position, surface origin, datum, or surveyed height to the aerial pixels."
      ],
      "validation": [
        "Re-read the complete exact rc.56 PDF, current release records, durable photograph audit, current HS122 and HS109 plates, full June 9 field synthesis, complete HS122 site ledger, and June 9 daily narrative before selection.",
        "Corrected the HS109 candidate from the same-named 2026/06/07 Mauke frame to its true 2026/06/01 Mangaia source. The current people-and-cliff image remains stronger in the supporting role. Retired the stale HS125 queue item because rc.42 already delivered its coast-to-forest overview.",
        "DJI image 151797 was captured 2026-06-09 15:20:18 local within the recorded HS122 visit. Its canonical public UID is sha256:eaa49f45f38176f5b083eeb6a50baa2ef14f8ae35a6305485e6ebfc98cda65fe; the manifest assigns it to HS122, and its nearest GPS record is MITIARO-20260609-RN-004 at 81.63 m.",
        "The 5472 \u00d7 3078 source and canonical public full object are byte-identical at SHA-256 b69eef0e86915cf00d4cdc4ce9e6a44c79b2d99a572a63314adfc45e297ff323.",
        "Three 4:3 crops were inspected. The centered crop best preserves both ends of the spur sequence, reef-flat water, vegetated surface, and road/forest context. Its 865,735-byte 1600 \u00d7 1200 progressive derivative is SHA-256 9106b1898179831191f6be45eccac440bce5f6909a75ed106dde4dc76a7e0ada.",
        "The exact six-variable Pages-mode build emits 102 pages. All 208 repository tests pass, together with Python/YAML parsing, exact source/crop/derivative contracts, generated-PDF parity, and whitespace checks.",
        "Chromium and Firefox complete the report at 1536 \u00d7 1024, 1280 \u00d7 700, 390 \u00d7 844, and 320 \u00d7 800, plus true 200% text at both phone widths. All 72 images decode; all 73 figures, 69 captions, 30 maps, SVG text, and HTML figure labels remain contained. The exact HS122 plate retains the 2:1 orthomosaic lead on wide screens and map-first full-width order on phones; both consoles are clean.",
        "The candidate companion passes both engines at 1440 \u00d7 1000, 390 \u00d7 844, and 320 \u00d7 800 with true 200% text: rc.57 is the candidate over verified rc.56, exactly three queued ideas and 57 release rows are complete, its map decodes, and no element or label crosses the viewport or figure frame.",
        "The source/public PDF is byte-identical at 42 unrotated A4 pages, 19,160,317 bytes, and SHA-256 b78d0ef78ec6c8ff715f4c5bab95220b41481f8b0c5cf27f6d8f7c512cb87f76. Only page 36 changes from rc.56; every page and full-size page 36 were inspected, and two independent exports render pixel-identically on all 42 pages.",
        "All nine fonts are embedded, subsetted, and Unicode-mapped; all 6,958 extracted words stay inside A4; 32 canonical URL annotations and seven named destinations remain. The PDF has no attachment, encryption, form, JavaScript, or signature, and Ghostscript reports no render error.",
        "GitHub Pages run 29621511023 successfully deployed exact content commit bf28e917f67cacec048a8ddb2a55faebcfb0a3d4; its only annotations are the inherited upstream Node.js 20-to-24 runtime warnings.",
        "The downloaded Pages artifact, local authority, and cache-busted live origin match byte-for-byte for report HTML, transitional companion HTML, progress JSON, the HS122 JPEG, and the PDF at SHA-256 403adf9fe7eff57aaaf2add4bd8468ef8ead43af0809c1ccdb4c1f9c3d2bb1a8, e4d40b01463c26d4568488cc37ef78105ae90e2a93ffefadab19995f8c5a5060, 80daa7214ff80fa71bcc3a93e7fc6c76ca2c87d6924ba3d1873e1eaa73d013f8, 9106b1898179831191f6be45eccac440bce5f6909a75ed106dde4dc76a7e0ada, and b78d0ef78ec6c8ff715f4c5bab95220b41481f8b0c5cf27f6d8f7c512cb87f76 respectively.",
        "Fresh public Chromium and Firefox repeat the complete report matrix at 1536 \u00d7 1024, 1280 \u00d7 700, 390 \u00d7 844, 320 \u00d7 800, and true 200% text at both phone widths. Every visible image decodes; all 73 figures, 69 captions, and 30 maps remain contained with exact document-width parity. HS122 retains its 2:1 wide hierarchy and equal-width map-first phone stack, and both runtime consoles are clean.",
        "The public companion passes both engines at 1440 \u00d7 1000, 390 \u00d7 844, and 320 \u00d7 800 with true 200% text. It honestly presents rc.57 over live rc.56 before this receipt, with one current checkpoint, three queued ideas, six readable log entries, 57 release rows, a decoded geographic image, exact width containment, and clean runtime logs."
      ],
      "release_record": [
        "Content commit: bf28e917f",
        "GitHub Pages workflow: run 29621511023 \u2014 successful",
        "Companion: https://blakedyer.github.io/cook_islands_2026/trip-report/progress/",
        "Web: https://blakedyer.github.io/cook_islands_2026/trip-report/?v=bf28e917f67cacec048a8ddb2a55faebcfb0a3d4",
        "PDF: https://blakedyer.github.io/cook_islands_2026/data/documents/field/cook-islands-2026-initial-trip-report.pdf"
      ],
      "workflow_run": "29621511023",
      "real_play": "Chromium + Firefox \u00b7 desktop + phone + 200% text + full PDF",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.56",
      "date": "2026-07-17",
      "state": "Public; deployed and verified",
      "checkpoint": "HS123 connects its recess to the coast",
      "artifact": "6bc3fd92b9032752a36060b5117d0ca1fe9cca3b; Pages 29617708187; accepted Darktable image 153903; tracked 1600 \u00d7 1205 progressive JPEG 59da9acbacc5e82a71bef4dc827e19ab0359ab6b0d7db0178f2875b32fde34bf; 42-page PDF; 18,294,154 bytes; SHA-256 fae49c2666e6646106110c3c9375c9addea855867be0d5c73bc2e1c31f2de9d3",
      "commit": "6bc3fd92b9032752a36060b5117d0ca1fe9cca3b",
      "pdf_sha256": "fae49c2666e6646106110c3c9375c9addea855867be0d5c73bc2e1c31f2de9d3",
      "pdf_pages": 42,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Replaces HS123's accurate but visually detached angular-sand macro with accepted image 153903, where the notch-like recess, coral-rich coastal limestone, exposed reef-flat path, and ocean edge read together.",
        "Keeps the HS123 orthomosaic first and visually dominant. The replacement occupies the existing single supporting-photo role and does not change the completed Methods model comparison, add a gallery, or reintroduce animation.",
        "Applies Codex's authorized caption review to a literal report-only caption. It does not assign Holocene or Pleistocene age, older or younger unit identity, datum, sea-level meaning, sample position, growth position, or origin to the pixels."
      ],
      "validation": [
        "Re-read the complete exact public rc.55 report, current release records, durable photograph ranking, current live HS123 plate, full June 10 field synthesis, accepted records for images 153885, 153901, 153903, and 153917, and all four image renditions before selection.",
        "Accepted Google Pixel 9 Pro image 153903 was captured 2026-06-10 10:46:56 local, 64 seconds from recorder note MITIARO-20260610-RN-023 and 0.42 m from nearest GPS record MITIARO-20260610-RN-022. Public UID sha256:81c01bd1e0f4fd35ac2f25d3430e12ef1508ad36f724454e23988f870446d788 resolves to canonical object 20260610-104656-81c01bd1e0f4-d0ac9fba6db4.jpg.",
        "The 8160 \u00d7 6144 camera source and canonical public full object are byte-identical at SHA-256 2a93d363e7377bb71060b5db9ffe7efc99672af71b7fae2260f11f53e78f4a97.",
        "Lossless coefficient optimization of the accepted 1600 \u00d7 1205 rendition produces a 678,444-byte progressive JPEG at SHA-256 59da9acbacc5e82a71bef4dc827e19ab0359ab6b0d7db0178f2875b32fde34bf with zero changed decoded pixels.",
        "The exact six-variable Pages-mode build emits 102 pages. Chromium and Firefox complete the report at 1536 \u00d7 1024, 1280 \u00d7 700, 390 \u00d7 844, and 320 \u00d7 800, plus true 200% text at both phone widths; all 72 images decode, all 73 figures, 69 captions, and 30 maps remain contained, and no HTML label or SVG text crosses a figure edge. The exact HS123 plate retains the 2:1 orthomosaic lead on wide screens and map-first full-width order on phones.",
        "The candidate companion passes both engines at 1440 \u00d7 1000, 390 \u00d7 844, and 320 \u00d7 800 with true 200% text: rc.56 is the local candidate, rc.55 remains latest verified, the three-item queue and 56-row ledger are complete, the geographic map decodes, and no content or label crosses the viewport or map frame.",
        "The source/public PDF is byte-identical at 42 unrotated A4 pages, 18,294,154 bytes, and SHA-256 fae49c2666e6646106110c3c9375c9addea855867be0d5c73bc2e1c31f2de9d3. Every page was raster-inspected; same-renderer comparison changes only page 37 from rc.55, and two clean exports render pixel-identically across all 42 pages.",
        "All nine fonts are embedded, subsetted, and Unicode-mapped; all 6,935 extracted words stay inside A4; 32 canonical URL annotations and seven named destinations remain. Ghostscript reports no rendering error, and the PDF has no encryption, form, JavaScript, embedded attachment, or signature.",
        "Python compilation, whitespace checks, and all 207 repository tests pass.",
        "GitHub Pages run 29617708187 successfully deployed exact content commit 6bc3fd92b9032752a36060b5117d0ca1fe9cca3b; its only annotation is the inherited upstream Node.js 20-to-24 runtime warning.",
        "The downloaded Pages artifact, local authority, and cache-busted live origin match byte-for-byte for report HTML, transitional companion HTML, progress JSON, the HS123 JPEG, and the PDF at SHA-256 a246523e485e4d3d252b7484f67a191eb6e7b15723c10c9a16810f07d030b9ed, 3399e166d03a58a2176be4ad517bc9f9dbecbe5ae60e195f88200f8f165c3d7d, c01c7527674e0c5df0aab0a09eefa4231b6dfcd34fca98ade725ffa5453351b3, 59da9acbacc5e82a71bef4dc827e19ab0359ab6b0d7db0178f2875b32fde34bf, and fae49c2666e6646106110c3c9375c9addea855867be0d5c73bc2e1c31f2de9d3 respectively.",
        "Fresh public Chromium and Firefox repeat the complete six-state report matrix and three-state companion matrix. Every report image, figure, caption, map, HTML label, and SVG text remains contained; HS123 retains its exact wide and phone hierarchy; the Methods comparison remains a static 50/50 control with no video; the transitional companion records rc.56 over rc.55 honestly; and runtime logs are clean."
      ],
      "release_record": [
        "Content commit: 6bc3fd92b",
        "GitHub Pages workflow: run 29617708187 \u2014 successful",
        "Companion: https://blakedyer.github.io/cook_islands_2026/trip-report/progress/",
        "Web: https://blakedyer.github.io/cook_islands_2026/trip-report/?v=6bc3fd92b9032752a36060b5117d0ca1fe9cca3b",
        "PDF: https://blakedyer.github.io/cook_islands_2026/data/documents/field/cook-islands-2026-initial-trip-report.pdf"
      ],
      "workflow_run": "29617708187",
      "real_play": "Chromium + Firefox \u00b7 desktop + phone + 200% text + full PDF",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.55",
      "date": "2026-07-17",
      "state": "Public; deployed and verified",
      "checkpoint": "HS124 puts people beside the channel",
      "artifact": "3bf3e7aa86bc6ada4d8bc4f6e175a658fee79d99; Pages 29614612784; accepted Darktable image 153955; tracked 1600 \u00d7 1205 progressive JPEG 5f9f37a6fbbffd23c5d0411d34dfeea5f20d8447004cd57aeb3cac1c367056a2; 42-page PDF; 17,663,173 bytes; PDF SHA-256 4636913c2585c02b79604cd25d32687613da8b3ff96425ec1117d46bdff13c9e",
      "commit": "3bf3e7aa86bc6ada4d8bc4f6e175a658fee79d99",
      "pdf_sha256": "4636913c2585c02b79604cd25d32687613da8b3ff96425ec1117d46bdff13c9e",
      "pdf_pages": 42,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Replaces HS124's accurate but hard-to-read water-and-rim detail with accepted image 153955, where two fieldworkers, a red survey tripod, a narrow water-filled channel, jagged reef rock, vegetation, and the inland track are legible together.",
        "Keeps the orthomosaic first and visually dominant. The replacement occupies the existing single supporting-photo role and adds no gallery, annotation, map change, animation, or media system.",
        "Applies Codex's authorized caption review to a literal report-only caption. It does not assign microatoll identity, colored-rim elevation, tide correction, age, unit, channel origin, or storm history to the pixels."
      ],
      "validation": [
        "Re-read the exact public rc.54 report and 42-page PDF, complete release records and photograph ranking, current HS124 plate, full June 10 field synthesis, complete HS124 site page, and full pixels for accepted images 153953\u2013153956 plus the ranked aerial overview before selection.",
        "Accepted Google Pixel 9 Pro image 153955 was captured 2026-06-10 15:53:38 local, 38 seconds from recorder note MITIARO-20260610-RN-006 and 0.61 m from nearest GPS record MITIARO-20260610-RN-004. Public UID sha256:893bfe464cc756ae9ed711f8913f77cc4a220d410a4a58d495e4257ed1b6c005 resolves to canonical object 20260610-155338-893bfe464cc7-0f094e799b01.jpg.",
        "The 8160 \u00d7 6144 camera source and canonical public full object are byte-identical at SHA-256 3fa784dcf184848d7ec26706faf86ebcd995a10078c4a7847c4891a39800461b.",
        "Lossless coefficient optimization of the accepted 1600 \u00d7 1205 rendition produces a 752,466-byte progressive JPEG at SHA-256 5f9f37a6fbbffd23c5d0411d34dfeea5f20d8447004cd57aeb3cac1c367056a2 with zero changed decoded pixels.",
        "The exact six-variable Pages-mode build emits 102 pages. Python compilation, whitespace checks, and all 206 repository tests pass; focused coverage binds the accepted source, current manifest identity, full-frame crop, lossless derivative, literal caption limits, and orthomosaic-first rendered order.",
        "Chromium and Firefox pass the complete report at desktop 1536 \u00d7 1024 and 1280 \u00d7 700, phone 390 \u00d7 844 and 320 \u00d7 800, plus true 200% text at both phone widths. All 72 images decode in every state; all 73 figures, 69 captions, and 30 maps remain contained; no HTML label or SVG text crosses a figure edge; and the exact HS124 plate is clear in both engines.",
        "The source/public PDF is byte-identical at 42 unrotated A4 pages, 17,663,173 bytes, and SHA-256 4636913c2585c02b79604cd25d32687613da8b3ff96425ec1117d46bdff13c9e. All 42 pages were raster-inspected; same-renderer comparison changes only page 38 from rc.54, and a second export renders pixel-identically across all 42 pages.",
        "All nine fonts are embedded and subsetted; all 6,924 extracted words stay inside A4; 32 canonical URL annotations and seven named destinations remain. Ghostscript reports no rendering error, and the PDF has no encryption, form, JavaScript, embedded attachment, or signature.",
        "Before deployment, the companion honestly records rc.55 as locally validated and rc.54 as latest verified, with one current checkpoint, three ordered next ideas, six timeline entries, and 55 release rows.",
        "After deployment, fresh Chromium and Firefox repeat the complete report at desktop 1536 \u00d7 1024 and 1280 \u00d7 700, phone 390 \u00d7 844 and 320 \u00d7 800, and true 200% text at both phone widths. All 72 images decode in every state; all 73 figures, 69 captions, and 30 maps remain contained; no HTML label or SVG text crosses a figure edge; the exact HS124 derivative and reviewed caption render beside the dominant orthomosaic; and both consoles are clean.",
        "The live transitional companion passes both engines at 1440 \u00d7 1000, 390 \u00d7 844, and 320 \u00d7 800 with true 200% text: rc.55 is locally validated, rc.54 remains latest verified, the three-item queue and 55-row ledger are complete, the geographic map decodes, width is exact, and both consoles are clean."
      ],
      "release_record": [
        "GitHub Pages run 29614612784 completed successfully for exact content commit 3bf3e7aa86bc6ada4d8bc4f6e175a658fee79d99; its only annotation is the inherited upstream Node.js 20-to-24 runtime warning.",
        "Cache-busted live report HTML, HS124 JPEG, PDF, transitional companion HTML, and progress JSON match GitHub's exact Pages artifact and the local authority byte-for-byte at SHA-256 f805edb10d893b213d2131350940752911b92f73ebd98d8ed74d8f772760d241, 5f9f37a6fbbffd23c5d0411d34dfeea5f20d8447004cd57aeb3cac1c367056a2, 4636913c2585c02b79604cd25d32687613da8b3ff96425ec1117d46bdff13c9e, 6a129bc08a32268caa014c7b2b7f27b9a736deafa7cbc4ba123a5dd507ad91f7, and 542eec14883a76b5a3c8f8d16c5f04e33826d49d8916b7ee7e96feb9ca674a3e respectively.",
        "The live PDF remains byte-identical to the fully inspected local authority at 42 A4 pages, 17,663,173 bytes, and SHA-256 4636913c2585c02b79604cd25d32687613da8b3ff96425ec1117d46bdff13c9e.",
        "Content commit: 3bf3e7aa8",
        "GitHub Pages workflow: run 29614612784 \u2014 successful",
        "Companion: https://blakedyer.github.io/cook_islands_2026/trip-report/progress/",
        "Web: https://blakedyer.github.io/cook_islands_2026/trip-report/?v=3bf3e7aa86bc6ada4d8bc4f6e175a658fee79d99",
        "PDF: https://blakedyer.github.io/cook_islands_2026/data/documents/field/cook-islands-2026-initial-trip-report.pdf"
      ],
      "workflow_run": "29614612784",
      "real_play": "Chromium + Firefox \u00b7 desktop + phone + 200% text + full PDF",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.54",
      "date": "2026-07-17",
      "state": "Public; deployed and verified",
      "checkpoint": "HS103 opens from reef flat to forest",
      "artifact": "22be49d847f551328842c68bdf32c19d190df189; Pages 29611358408; Codex-reviewed DJI image 142307; tracked 1600 \u00d7 1200 progressive JPEG 8ee358b3f9ea9f098e0caa555d225996cefb3a91524811b5cd5230bacc1401d9; 42-page PDF; 16,958,078 bytes; PDF SHA-256 90f61d7fb136c9da8d95d118256a3eeed4550b2c0b723e6f620070b89e311097",
      "commit": "22be49d847f551328842c68bdf32c19d190df189",
      "pdf_sha256": "90f61d7fb136c9da8d95d118256a3eeed4550b2c0b723e6f620070b89e311097",
      "pdf_pages": 42,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Replaces HS103's accurate but tight grey framework detail with DJI frame 142307, an oblique view joining the shallow reef flat, jagged limestone coast, pale pocket beach, forest edge, one fieldworker, and a red tripod.",
        "Keeps the orthomosaic first and visually dominant. The replacement uses the existing single supporting-photo role and adds no gallery, annotation, map change, animation, or media system.",
        "Applies the user's authorization for Codex to close caption review through direct full-pixel and field-evidence review. The report-only caption stays literal; the sand-rich interval, reef-unit correlation, contact elevation, and buried-reef-flat interpretation remain in the field evidence rather than being assigned to the aerial pixels."
      ],
      "validation": [
        "Re-read the exact public rc.53 report, complete 73-figure and 42-page PDF references, release records, durable photograph ranking, current HS103 plate, May 27 daily log and field synthesis, complete HS103 survey page, current full-resolution photograph, selected DJI source, and its two nearest overview alternatives before selection.",
        "A centered 4104 \u00d7 3078 crop of 16_34_50_0.JPG preserves more exposed coast and field setup than adjacent frames 16_34_58_0.JPG and 16_35_18_0.JPG in the established 4:3 site role. The orthomosaic retains the plan view; the oblique supplies coast-to-forest relief and field scale.",
        "The selected DJI FC6310S frame was captured 2026-05-27 10:34:50 local during the HS103 flight sequence and remains Darktable rating 1 with caption-review. Codex's report-specific review does not modify its raw XMP or general photo-review state.",
        "The 5472 \u00d7 3078, 6,799,406-byte camera source and canonical public full object are byte-identical at SHA-256 d4c23d7984eac8e3d9c3e6fd27b71184d0352224d1f50ab4e856da0feaf342c5. Public UID sha256:8dc183686d6333513022ceb840cc25bf269e1b792513cbd837dfa1477df30a69 resolves to canonical object 20260527-103450-8dc183686d63-ea28d5ece6b3.jpg.",
        "The centered crop produces a 653,971-byte, 1600 \u00d7 1200, stripped 4:2:0 progressive JPEG at SHA-256 8ee358b3f9ea9f098e0caa555d225996cefb3a91524811b5cd5230bacc1401d9 using the established quality-88 site-photo recipe.",
        "The exact six-variable Pages-mode build emits 102 pages. All 205 repository tests pass with Python compilation, YAML parsing, generated-PDF byte parity, exact provenance/crop/caption/source-isolation coverage, progressive-JPEG checks, and whitespace checks.",
        "Chromium and Firefox pass complete report reads at desktop 1536 \u00d7 1024, compact desktop 1280 \u00d7 700, phone 390 \u00d7 844, and 320 \u00d7 800 with true 200% text through a 32 px root. All 72 images settle in both engines; all 73 figures, 69 captions, and 30 maps remain contained. No HTML label or SVG text crosses its figure edge, and the exact HS103 derivative, caption, and orthomosaic-first hierarchy were inspected directly.",
        "Source and generated-public PDFs are byte-identical at 42 unrotated A4 pages, 16,958,078 bytes, and SHA-256 90f61d7fb136c9da8d95d118256a3eeed4550b2c0b723e6f620070b89e311097. Every page was raster-inspected; only page 11 changes from rc.53, and a second export renders pixel-identically on all 42 pages.",
        "All nine fonts are embedded and subsetted; 6,902 extracted words stay inside A4; 32 canonical URL annotations and seven named destinations remain. Ghostscript reports no rendering error, and the PDF has no encryption, form, JavaScript, or embedded attachment.",
        "Before deployment, the companion honestly records rc.54 as locally validated and rc.53 as latest verified, with one current checkpoint, three ordered next ideas, six timeline entries, and 54 release rows."
      ],
      "release_record": [
        "GitHub Pages run 29611358408 completed successfully for exact content commit 22be49d847f551328842c68bdf32c19d190df189; its only annotations are the inherited upstream Node.js 20-to-24 runtime warnings.",
        "Cache-busted live report HTML, HS103 JPEG, PDF, companion HTML, and progress JSON match GitHub's exact Pages artifact and the local authority byte-for-byte at SHA-256 36d61a14055992d9f471ef43660b9db2d41cec455c8e2fc7d9da6239b58e2083, 8ee358b3f9ea9f098e0caa555d225996cefb3a91524811b5cd5230bacc1401d9, 90f61d7fb136c9da8d95d118256a3eeed4550b2c0b723e6f620070b89e311097, 3d02fc76e41c26b05332f9eede9a3b00087f0e47423ba7cfb9328976fb9d5874, and 31fc9039f2e8e1fcdfc0cebef4891d44a1133afea61b5b686bf4d2cbe6f1d962 respectively.",
        "Fresh live Chromium and Firefox repeat the complete report at 1536 \u00d7 1024, 1280 \u00d7 700, 390 \u00d7 844, and 320 \u00d7 800 with true 200% text. All 72 images decode in every state; all 73 figures, 69 captions, and 30 maps remain contained; no HTML label or SVG text crosses its figure edge; the exact 1600 \u00d7 1200 HS103 derivative and reviewed caption render beside the dominant orthomosaic; and both consoles are clean.",
        "The live companion passes both engines at 1440 \u00d7 1000, 390 \u00d7 844, and 320 \u00d7 800 with true 200% text: exact rc.54/rc.53 transitional state, three queued ideas, 54 release rows, exact document width, its map decoded, and clean consoles.",
        "The live PDF remains byte-identical to the fully inspected local authority at 42 A4 pages, 16,958,078 bytes, and SHA-256 90f61d7fb136c9da8d95d118256a3eeed4550b2c0b723e6f620070b89e311097.",
        "Content commit: 22be49d84",
        "GitHub Pages workflow: run 29611358408 \u2014 successful",
        "Companion: https://blakedyer.github.io/cook_islands_2026/trip-report/progress/",
        "Web: https://blakedyer.github.io/cook_islands_2026/trip-report/?v=22be49d847f551328842c68bdf32c19d190df189",
        "PDF: https://blakedyer.github.io/cook_islands_2026/data/documents/field/cook-islands-2026-initial-trip-report.pdf"
      ],
      "workflow_run": "29611358408",
      "real_play": "Chromium + Firefox \u00b7 desktop + phone + 200% text + full PDF",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.53",
      "date": "2026-07-17",
      "state": "Public; deployed and verified",
      "checkpoint": "HS101 reveals the branching framework",
      "artifact": "affe712f93e7be58306ed117078247c99236de8b; Pages 29607774570; accepted Darktable image 141587; tracked 1600 \u00d7 1200 progressive JPEG 3f41828e8a5c7024e1e4aafbd15e9bbee2e7ec6548d746107e769208a3793fc2; 42-page PDF; 16,368,945 bytes; PDF SHA-256 e101ea803ecc5b9d8041ccbe41fe083a77ad1a0b85656ea5be7a07c6702ad348",
      "commit": "affe712f93e7be58306ed117078247c99236de8b",
      "pdf_sha256": "e101ea803ecc5b9d8041ccbe41fe083a77ad1a0b85656ea5be7a07c6702ad348",
      "pdf_pages": 42,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Replaces HS101's accurate but tight brain-coral detail with accepted image 141587, a broad view of branching coral framework across the Matai exposure.",
        "Keeps the orthomosaic first and visually dominant. The replacement uses the existing single supporting-photo role and adds no gallery, annotation, map change, animation, or new media system.",
        "Uses Codex's authorized direct caption review. The caption describes the visible framework first and attributes its tens-of-metres extent explicitly to field observations; it makes no age, unit, elevation, growth-position, hiatus, or depositional-break claim."
      ],
      "validation": [
        "Re-read the exact public rc.52 report, all 73 figure captures, all 42 PDF pages, release records, durable photograph ranking, current HS101 plate, May 26 field synthesis, source and public records, and the full-resolution current, scale-bearing, and proposed photographs before selection.",
        "Accepted Olympus TG-5 image 141587 is captured 2026-05-26 10:01:02 local, two seconds from ATIU-20260526-RN-049 and 7.76 m from nearest GPS record ATIU-20260526-RN-051. Public UID sha256:8e275856837e7a2562fb9354281f4c337e30210a3d15e7a1c7ae8a66d9891fd8 resolves to current canonical object 20260526-100102-8e275856837e-fa21740e233b.jpg.",
        "The 4000 \u00d7 3000, 5,743,452-byte camera source and current canonical public full object are byte-identical at SHA-256 ce06ed5bdd9fc6de641d517bec159008baaad4ac260e3762f6539392cecb5f08.",
        "The first Pages-mode build failed closed because the checked-in fallback record still named an older public rendition for the immutable UID. The report config, normalized photo match, and fallback manifest now use the current remote filename and URLs; no selected pixels, caption, or layout changed in the reconciliation.",
        "The accepted 1600 \u00d7 1200 local rendition is losslessly optimized into a 662,009-byte progressive JPEG at SHA-256 3f41828e8a5c7024e1e4aafbd15e9bbee2e7ec6548d746107e769208a3793fc2; decoded pixels are identical.",
        "The exact six-variable Pages-mode build emits 102 pages. All 204 repository tests pass with Python compilation, YAML parsing, whitespace checks, generated-PDF byte parity, and zero changed decoded pixels in the losslessly optimized JPEG.",
        "Chromium and Firefox pass complete report reads at desktop 1536 \u00d7 1024, compact desktop 1280 \u00d7 700, phone 390 \u00d7 844, and 320 \u00d7 800 with true 200% text through a 32 px root. After the established HS124 inferred-display fallback settles, all 72 images decode; all 73 figures, 69 captions, and 30 maps remain contained without horizontal overflow. Every figure was captured and reviewed together, and the HS101 plate was inspected directly in both engines.",
        "Source and generated-public PDFs are byte-identical at 42 unrotated A4 pages, 16,368,945 bytes, and SHA-256 e101ea803ecc5b9d8041ccbe41fe083a77ad1a0b85656ea5be7a07c6702ad348. Every page was raster-inspected; only page 9 changes from rc.52. A second export has identical extracted text and pixel-identical rasters on all 42 pages.",
        "All nine fonts are embedded and subsetted; 6,888 extracted words stay inside A4; 32 canonical URL annotations resolve to 30 unique targets and seven named destinations remain. Ghostscript reports no rendering error, and the PDF has no encryption, form, JavaScript, signature, or embedded attachment.",
        "Before promotion, the live companion honestly records rc.53 as locally validated and rc.52 as latest verified, with one current checkpoint, three honest queued ideas, six timeline entries, and 53 release rows."
      ],
      "release_record": [
        "GitHub Pages run 29607774570 completed successfully for exact content commit affe712f93e7be58306ed117078247c99236de8b; its only annotation is the inherited upstream Node.js 20-to-24 runtime warning.",
        "Cache-busted live report HTML, HS101 JPEG, PDF, companion HTML, and progress JSON match GitHub's exact Pages artifact byte-for-byte at SHA-256 dcd0d19ed923233926de0909c0605f339fd03df6b21f6347bcd29a4478a82bcb, 3f41828e8a5c7024e1e4aafbd15e9bbee2e7ec6548d746107e769208a3793fc2, e101ea803ecc5b9d8041ccbe41fe083a77ad1a0b85656ea5be7a07c6702ad348, 78ada99ad6d84232356be668214a3c258025c5d2c2367406c0355d9ea0d55803, and ca9b98d28238ead813e6557a3fe47f7aab5124a44c5846b3a49e64dc136fcb60 respectively.",
        "Fresh live Chromium and Firefox repeat the complete report at 1536 \u00d7 1024, 1280 \u00d7 700, 390 \u00d7 844, and 320 \u00d7 800 with true 200% text. The image-by-image lazy-load pass settles at all 72 decoded images in each engine after the established HS124 fallback. All 73 figures, 69 captions, and 30 maps remain contained, the exact 1600 \u00d7 1200 HS101 derivative and reviewed caption render beside the dominant orthomosaic, and both consoles are clean.",
        "The live companion passes both engines at 1440 \u00d7 1000, 390 \u00d7 844, and 320 \u00d7 800 with true 200% text: exact rc.53/rc.52 transitional state, three queued ideas, 53 release rows, exact document width, its one map decoded, the honest public-log/private-repository access wording, and clean consoles.",
        "The live PDF remains byte-identical to the fully inspected local authority at 42 A4 pages, 16,368,945 bytes, and SHA-256 e101ea803ecc5b9d8041ccbe41fe083a77ad1a0b85656ea5be7a07c6702ad348.",
        "Content commit: affe712f9",
        "GitHub Pages workflow: run 29607774570 \u2014 successful",
        "Companion: https://blakedyer.github.io/cook_islands_2026/trip-report/progress/",
        "Web: https://blakedyer.github.io/cook_islands_2026/trip-report/?v=affe712f93e7be58306ed117078247c99236de8b",
        "PDF: https://blakedyer.github.io/cook_islands_2026/data/documents/field/cook-islands-2026-initial-trip-report.pdf"
      ],
      "workflow_run": "29607774570",
      "real_play": "Chromium + Firefox \u00b7 desktop + phone + 200% text + full PDF",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.52",
      "date": "2026-07-17",
      "state": "Public; deployed and verified",
      "checkpoint": "HS106 opens from reef flat to forest",
      "artifact": "a3dc07cec4f0b090c78c50fdf28160fb45aff484; Pages 29602434737; reviewed DJI image 142788; tracked 1600 \u00d7 1200 progressive JPEG 0878709836c10be51f7873296104a8930c67c0f02c002e3d314048ae39e4e6db; 42-page PDF; 15,706,593 bytes; PDF SHA-256 37eda8e26114118d58e052693f5534778ced8c2a616a8a12eecf7ad5504421a0",
      "commit": "a3dc07cec4f0b090c78c50fdf28160fb45aff484",
      "pdf_sha256": "37eda8e26114118d58e052693f5534778ced8c2a616a8a12eecf7ad5504421a0",
      "pdf_pages": 42,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Replaces HS106's tight coral-fragment photograph with one reviewed low-oblique DJI frame that joins the field team, vegetated limestone coast, narrow beach, shallow reef flat, and breaking surf.",
        "Keeps the orthomosaic first and visually dominant. The replacement occupies the existing single supporting-photo role; it adds no gallery, map change, annotation, animation, or media system.",
        "Uses a Codex-reviewed literal report caption. It makes no age, unit, elevation, tide-datum, sample-position, growth-position, or microatoll claim."
      ],
      "validation": [
        "Re-read the exact live rc.51 figure sequence, all 42 PDF pages, release records, durable photograph audit, current HS106 plate, May 28 field synthesis, full-size DJI source, canonical public object, and accepted phone alternatives 146405 and 146408 before selection. The current photo is accurate but cannot show the relationship described by the site; the phone frames are strong but lose too much geometry in the established 4:3 site role.",
        "Direct full-pixel caption review clears DJI image 142788 for one report-only role. The 5472 \u00d7 3078 local source and canonical public full object are byte-identical at SHA-256 e08204cefc3eaeb0d315f5c059387afafc5b33d72c060c424eefed016917fb9c; public UID sha256:6fbeba417132a192962c1725e1999881dbd080638f8d13538d6b71f6ec631b47 resolves to canonical object 20260528-085111-6fbeba417132-ee066e8cc6ee.jpg in the current remote manifest.",
        "The centered 4104 \u00d7 3078 crop retains the complete coast-to-vegetation relation and produces a 621,991-byte progressive 1600 \u00d7 1200 JPEG at SHA-256 0878709836c10be51f7873296104a8930c67c0f02c002e3d314048ae39e4e6db.",
        "The exact Pages-mode production build emits 102 pages. The HS106 regression locks public identity, source/full byte parity, the exact crop and derivative, literal caption limits, source isolation, progressive encoding, dimensions, and the orthomosaic-first rendered order. All 203 repository tests pass.",
        "Chromium and Firefox pass complete report reads at 1536 \u00d7 1024, 1280 \u00d7 700, 390 \u00d7 844, and 320 \u00d7 800 with true 200% text through a 32 px root. All states contain all 73 figures, 69 captions, and 30 maps without horizontal overflow or clipped figure/caption boxes. Image-by-image instant scrolling decodes all 72 images in both engines. The exact HS106 derivative, caption, hierarchy, and compact stack were inspected directly; all 73 desktop figures were captured and reviewed together.",
        "Source and generated-public PDFs are byte-identical at 42 unrotated A4 pages, 15,706,593 bytes, and SHA-256 37eda8e26114118d58e052693f5534778ced8c2a616a8a12eecf7ad5504421a0. Every page was raster-inspected, with HS106 page 14 read at full 144 dpi. Page 14 is the intended report change; deterministic remote-photo re-encodings on pages 1, 20, and 29 remain confined exactly to their established image rectangles. A second export has identical extracted text and pixel-identical rasters on all 42 pages.",
        "All nine fonts are embedded and subsetted; 6,880 extracted words stay inside A4; 32 canonical URL annotations resolve to 30 unique targets and seven named destinations remain. Ghostscript reports no rendering error, and the PDF has no encryption, form, JavaScript, signature, or embedded attachment.",
        "Before promotion, the live companion honestly records rc.52 as locally validated and rc.51 as latest verified, with one current checkpoint, three honest queued ideas, six timeline entries, and 52 release rows."
      ],
      "release_record": [
        "GitHub Pages run 29602434737 completed successfully for exact content commit a3dc07cec4f0b090c78c50fdf28160fb45aff484; its only annotation is the inherited upstream Node.js 20-to-24 runtime warning.",
        "Cache-busted live report HTML, HS106 JPEG, PDF, companion HTML, and progress JSON match GitHub's exact Pages artifact byte-for-byte at SHA-256 9b9a8ab561b895b7bcd5d1e2ef234dea40ab760862e7551b6c9f943048359e4f, 0878709836c10be51f7873296104a8930c67c0f02c002e3d314048ae39e4e6db, 37eda8e26114118d58e052693f5534778ced8c2a616a8a12eecf7ad5504421a0, 67805b0df1630ff76bb5cb828101fafc65b010747bb1063beb37203936b00d76, and c35377d78cab73d1eaa497de60575b9e0a3285a6e6fb4145e5b42a24f4702dd8 respectively.",
        "Fresh live Chromium and Firefox repeat the complete report at 1536 \u00d7 1024, 1280 \u00d7 700, 390 \u00d7 844, and 320 \u00d7 800 with true 200% text. Image-by-image lazy loading decodes all 72 images in every state. All 73 figures, 69 captions, and 30 maps remain contained, the exact 1600 \u00d7 1200 HS106 derivative and caption render beside the dominant orthomosaic, and both consoles are clean.",
        "The live companion passes both engines at 1440 \u00d7 1000, 390 \u00d7 844, and 320 \u00d7 800 with true 200% text: exact rc.52/rc.51 transitional state, three queued ideas, 52 release rows, exact document width, no overflow, and clean consoles.",
        "The live PDF remains byte-identical to the fully inspected local authority at 42 A4 pages, 15,706,593 bytes, and SHA-256 37eda8e26114118d58e052693f5534778ced8c2a616a8a12eecf7ad5504421a0.",
        "Content commit: a3dc07cec",
        "GitHub Pages workflow: run 29602434737 \u2014 successful",
        "Companion: https://blakedyer.github.io/cook_islands_2026/trip-report/progress/",
        "Web: https://blakedyer.github.io/cook_islands_2026/trip-report/?v=a3dc07cec4f0b090c78c50fdf28160fb45aff484",
        "PDF: https://blakedyer.github.io/cook_islands_2026/data/documents/field/cook-islands-2026-initial-trip-report.pdf"
      ],
      "workflow_run": "29602434737",
      "real_play": "Chromium + Firefox \u00b7 desktop + phone + 200% text + full PDF",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.51",
      "date": "2026-07-17",
      "state": "Public; deployed and verified",
      "checkpoint": "HS102 works above the rough surf",
      "artifact": "4441cbfc772f65211f61947daca9ef69dcccd49f; Pages 29589085810; 42-page PDF; 15,994,134 bytes; PDF SHA-256 99ae0fcfd6b0bd8462aae3b9e5b41aa885085cd89d645f4c5171f8a84cbf4055; accepted Darktable image 141709; tracked 1600 \u00d7 1200 progressive JPEG 8459c3eaaf3a5e4d5fd7518e3f5a9375b0a5a3f9c2c83e619886e3831fdc9a6a",
      "commit": "4441cbfc772f65211f61947daca9ef69dcccd49f",
      "pdf_sha256": "99ae0fcfd6b0bd8462aae3b9e5b41aa885085cd89d645f4c5171f8a84cbf4055",
      "pdf_pages": 42,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Replaces HS102's tight pipe-like coral macro with one accepted coast-scale field photograph showing two researchers above jagged limestone and rough surf.",
        "Keeps the orthomosaic first and visually dominant. The replacement occupies the existing single supporting-photo role; it adds no gallery, annotation, map change, or new media system.",
        "Uses a directly reviewed report caption that separates what the photograph shows from the recorder-confirmed reason drone and Nikon photography stopped. It makes no age, unit, elevation, growth-position, or storm-history claim."
      ],
      "validation": [
        "Re-read the complete live rc.50 figure set, the ranked photograph audit, HS102's current and candidate pixels, accepted photo record, source and public identities, May 26 daily notes, and recorder corrections before selection. Both the live visual audit and durable ranking place accepted image 141709 ahead of the remaining bounded site-photo repairs.",
        "The selected Olympus TG-5 frame was captured 2026-05-26 15:07:57 local, three seconds from recorder note ATIU-20260526-RN-006; its nearest GPS record is ATIU-20260526-RN-004 at 2.56 m. Darktable marks it accepted, and the media manifest binds public UID sha256:a4b7ced2c6bec546b0d4a9cf5ff251079b8c3f16a1aea7833b930a96665d7dd1 to image IDs 141709 and 141710.",
        "The 4000 \u00d7 3000 source is SHA-256 7c199b9d90a56aac525120572566664935ac103ee055bf67ceffb7e08ce63624. Its accepted 1600 \u00d7 1200 rendition is losslessly optimized into a 350,331-byte progressive JPEG at SHA-256 8459c3eaaf3a5e4d5fd7518e3f5a9375b0a5a3f9c2c83e619886e3831fdc9a6a; decoded pixels are identical.",
        "Direct full-pixel caption review confirms two researchers, dark jagged limestone, green groundcover, white rough surf, and grey open ocean. The field record confirms the photography limit and the decision to rely on samples and mapped GPS ties. No separate human caption review remains pending.",
        "The exact production build emits 102 pages. The new provenance/caption/source-isolation regression and all 202 repository tests pass with Python compilation, YAML parsing, generated-PDF byte parity, and whitespace checks.",
        "The first Pages run, 29588321729, correctly failed closed before artifact upload because the checked-in HS102 public filename lagged the current remote Backblaze manifest for the same immutable photo UID. The configured report record, normalized photo match, and local manifest now use canonical object 20260526-150757-a4b7ced2c6be-c5c3285b37a0.jpg; the exact six-variable Pages-mode build then completes all 102 pages locally. No image pixel, caption, or report layout changed in this reconciliation.",
        "Chromium and Firefox pass complete report reads at 1536 \u00d7 1024 and 390 \u00d7 844; Chromium additionally passes 320 \u00d7 800 with true 200% text through a 32 px root. All states contain all 73 figures and 69 captions without horizontal overflow. The full scroll decodes 72 of 72 images, and the exact HS102 asset is the local 1600 \u00d7 1200 derivative with the approved caption. All 73 desktop figures were captured and reviewed together; the HS102 plate was also inspected directly in both engines and at the enlarged-text stress size.",
        "The regenerated PDF remains 42 unrotated A4 pages and is 15,994,134 bytes at SHA-256 99ae0fcfd6b0bd8462aae3b9e5b41aa885085cd89d645f4c5171f8a84cbf4055. All 42 pages were raster-inspected; only page 10 changes from rc.50, and a second export is pixel-identical on every page. All nine fonts are embedded and subsetted; 6,868 extracted words stay inside the page bounds; 32 canonical URL annotations and seven named destinations remain; Ghostscript reports no error; and the file has no encryption, form, JavaScript, or embedded attachment.",
        "Before promotion, the live companion honestly records rc.51 as locally validated and rc.50 as latest verified, with one current checkpoint, three honest queued ideas, six timeline entries, and 51 release rows."
      ],
      "release_record": [
        "GitHub Pages run 29589085810 completed successfully for exact content commit 4441cbfc772f65211f61947daca9ef69dcccd49f; its only annotations are the inherited upstream Node.js 20-to-24 runtime warnings.",
        "Cache-busted live report HTML, HS102 JPEG, PDF, companion HTML, and progress JSON match GitHub's exact Pages artifact byte-for-byte at SHA-256 b8fa04c4d07b32f038bbada45e968c79c56ee8b914256c68e34d582dd5be4ac1, 8459c3eaaf3a5e4d5fd7518e3f5a9375b0a5a3f9c2c83e619886e3831fdc9a6a, 99ae0fcfd6b0bd8462aae3b9e5b41aa885085cd89d645f4c5171f8a84cbf4055, 5ff312890b60d2a77d5232bc9efbac0f85a6105f692a62e876b55cdd301adbf0, and e9b58fb4dc14c6eace5a53a3a56acb676752afc9ae22a63f225daf56b9ccbc61 respectively.",
        "Fresh live Chromium and Firefox repeat the desktop and phone report reads; Chromium also repeats the 320 px true-200%-text state. An image-by-image lazy-load pass decodes all 72 images in each engine. All 73 figures and 69 captions remain contained, the exact 1600 \u00d7 1200 HS102 derivative and caption render beside the orthomosaic, and both consoles remain clean.",
        "The live PDF remains byte-identical to the inspected local authority at 42 A4 pages, 15,994,134 bytes, and SHA-256 99ae0fcfd6b0bd8462aae3b9e5b41aa885085cd89d645f4c5171f8a84cbf4055.",
        "Content commit: 4441cbfc7",
        "GitHub Pages workflow: run 29589085810 \u2014 successful",
        "Companion: https://blakedyer.github.io/cook_islands_2026/trip-report/progress/",
        "Web: https://blakedyer.github.io/cook_islands_2026/trip-report/?v=4441cbfc772f65211f61947daca9ef69dcccd49f",
        "PDF: https://blakedyer.github.io/cook_islands_2026/data/documents/field/cook-islands-2026-initial-trip-report.pdf"
      ],
      "workflow_run": "29589085810",
      "real_play": "Chromium + Firefox \u00b7 desktop + phone + 200% text + full PDF",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.50",
      "date": "2026-07-17",
      "state": "Public; deployed and verified",
      "checkpoint": "HS123 reveals the mesh beneath the texture",
      "artifact": "05b68a9794a429b0a4b3823a6ecc2a804f5df81b; Pages 29584409075; source Blender digest 042362e0a022a6738e9a9ebf6a55a352cba1670070eb145ef7498259d9578aaa; registered texture 6a37140c3784abb773e69e0c0cb71e82815e69cb6b79625d03c4e5556b3d1b44; wireframe d836404d93ffbb3a7cd232068d955cc841225743a9ff186820380e6775c64186; 42-page PDF; 15,693,476 bytes; PDF SHA-256 2e5d41221fa1c05e8acfeb4c7cb9dc7d4ea0cb009a8334cd6f84fc860c9942ce",
      "commit": "05b68a9794a429b0a4b3823a6ecc2a804f5df81b",
      "pdf_sha256": "2e5d41221fa1c05e8acfeb4c7cb9dc7d4ea0cb009a8334cd6f84fc860c9942ce",
      "pdf_pages": 42,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Removes the six explanatory callouts from the two HS123 Methods images while preserving the complete Surveyed surface overview and its established place in the page.",
        "Replaces the annotated lower interpretation still with exactly registered texture and diffuse-wireframe renders from HeroWalk_Sequence, frame 960. The lower heading is now Fully realized 3D model.",
        "Adds one standard range control that opens at exactly 50%, exposes a small contained left/right divider, and works without autoplay. The PDF receives a separate static 50% crossfade with no control or handle.",
        "Rewrites the inset caption and alt text around the visible model construction rather than a Holocene interpretation. It retains the explicit no-height-datum and no-settled-age boundary."
      ],
      "validation": [
        "Re-read the complete 42-page rc.49 report and exact Methods implementation, the HS123 pipeline record, source Blender project, hero-walk metadata, earlier rc.27/rc.29/rc.41 decisions, and the directed roadmap checkpoint before implementation.",
        "Verified source Blender SHA-256 042362e0a022a6738e9a9ebf6a55a352cba1670070eb145ef7498259d9578aaa, scene HeroWalk_Sequence, frame 960, camera HeroWalk_Camera, 34 mm lens, active depth of field at f/0.85, and authoritative HeroWalk_TerrainBlock geometry with 2,672,743 polygons.",
        "Rendered 2560 \u00d7 1440 texture and wireframe sources with annotations hidden, then applied the directed 2560 \u00d7 1067+0+187 crop and 1600 \u00d7 667 delivery size. The tracked texture, wireframe, and print crossfade are SHA-256 6a37140c3784abb773e69e0c0cb71e82815e69cb6b79625d03c4e5556b3d1b44, d836404d93ffbb3a7cd232068d955cc841225743a9ff186820380e6775c64186, and b17e1f454de9f6ecfb6677ee3906b91a571f968ee033f78ae6438a5537000abe.",
        "Chromium and Firefox pass at 1536 \u00d7 1024, 1280 \u00d7 700, 390 \u00d7 844, and 320 \u00d7 800 with true 200% text. Every state loads 72 of 72 images, contains all 73 figures, 69 captions, and 30 maps, and reports no clipped figure, caption, or label. The divider begins at exactly 50%, responds to pointer and keyboard input from 0% through 100%, remains contained at both extremes, and caps at 48 px under enlarged text.",
        "Reduced-motion retains the exact static starting split with no transition. True no-JavaScript retains a registered half split without exposing a control, divider, or handle. A forced wireframe failure substitutes only the static crossfade and removes the unavailable control from the accessibility tree.",
        "All 73 figures were captured in Chromium and reviewed together. The retained PDF is 42 A4 pages and 15,693,476 bytes; SHA-256 2e5d41221fa1c05e8acfeb4c7cb9dc7d4ea0cb009a8334cd6f84fc860c9942ce. All 42 pages were raster-inspected, a second export is pixel-identical on every page, all nine fonts are embedded and subsetted, and pdftotext -bbox-layout finds 6,852 words with zero text boxes outside the page. Ghostscript reports no rendering errors; the PDF has no encryption, form, or JavaScript.",
        "The clean 102-page production build, source compilation, YAML parsing, generated-asset byte parity, whitespace check, and all 201 repository tests pass.",
        "The companion progress page passes Chromium and Firefox at 1440 \u00d7 1000, 390 \u00d7 844, and 320 \u00d7 800 with true 200% text: exact Rc.50/Rc.49 state, one NOW item, three queued checkpoints, six timeline entries, 50 ledger rows, four maintainer-access labels, exact document width, no horizontal overflow, and clean logs."
      ],
      "release_record": [
        "GitHub Pages run 29584409075 completed successfully for exact content commit 05b68a9794a429b0a4b3823a6ecc2a804f5df81b; its only annotation is the inherited upstream Node.js 20-to-24 runtime warning.",
        "Cache-busted live report HTML, companion HTML, field-guide CSS, progress CSS, site JavaScript, progress JSON, PDF, texture, wireframe, and print crossfade match GitHub's exact Pages artifact byte-for-byte at SHA-256 10618762af915e67b8a30a08315c5f79db4adfaa3cf28214e83aae28405f1bff, 51916f0aef16d3f14783eefa7c3d924212ba2c600880db3127bfd1cdb9db13ac, 838673ce66b3e7aeb68cb9c183e99e2ddafd8fb2dc4bb73174a06c167026b7d0, 030a38ce24f217beb739fa99b8892b0d830a2ec5be95b28db1de07dcbad25401, aca64688629ee2cbd89f175d1bbdad38ea1cd134a3540934663b81b68ff97f69, b93cee209e753fc0dc683a5a85512820c185c537facf42ef9bfb91e8c67adc34, 2e5d41221fa1c05e8acfeb4c7cb9dc7d4ea0cb009a8334cd6f84fc860c9942ce, 6a37140c3784abb773e69e0c0cb71e82815e69cb6b79625d03c4e5556b3d1b44, d836404d93ffbb3a7cd232068d955cc841225743a9ff186820380e6775c64186, and b17e1f454de9f6ecfb6677ee3906b91a571f968ee033f78ae6438a5537000abe respectively. The production report HTML resolves current field-photo transport URLs during the Pages build; comparison against that downloaded artifact, rather than the offline local fallback build, is exact.",
        "Fresh live Chromium and Firefox repeat the complete report matrix at 1536 \u00d7 1024, 1280 \u00d7 700, 390 \u00d7 844, and 320 \u00d7 800 with true 200% text. All 72 images decode; all 73 figures, 69 captions, 30 maps, and visible labels remain contained; the exact comparator assets, 50% split, titles, zero annotations, zero video, and capped handle pass with clean logs. Keyboard interaction reaches 0%, 51%, and 100%; pointer input returns the live divider to 50%.",
        "All 73 production figure captures were reviewed together. The live companion passes both engines at 1440 \u00d7 1000, 390 \u00d7 844, and 320 \u00d7 800 with true 200% text, exact transitional rc.50/rc.49 state, one NOW item, three queued ideas, six timeline entries, 50 ledger rows, four maintainer-access labels, exact width, no overflow, and clean logs. Locator screenshots that scroll the tall Methods feature can surface the offscreen skip link as a capture artifact; ordinary viewport state keeps it offscreen unless focused.",
        "The live PDF remains byte-identical to the inspected local authority at 42 A4 pages, 15,693,476 bytes, and SHA-256 2e5d41221fa1c05e8acfeb4c7cb9dc7d4ea0cb009a8334cd6f84fc860c9942ce.",
        "Content commit: 05b68a979",
        "GitHub Pages workflow: run 29584409075 \u2014 successful",
        "Companion: https://blakedyer.github.io/cook_islands_2026/trip-report/progress/",
        "Web: https://blakedyer.github.io/cook_islands_2026/trip-report/?v=05b68a9794a429b0a4b3823a6ecc2a804f5df81b",
        "PDF: https://blakedyer.github.io/cook_islands_2026/data/documents/field/cook-islands-2026-initial-trip-report.pdf"
      ],
      "workflow_run": "29584409075",
      "real_play": "Chromium + Firefox \u00b7 desktop + phone + 200% text + full PDF",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.49",
      "date": "2026-07-17",
      "state": "Public; deployed and verified",
      "checkpoint": "Rarotonga opens at low tide",
      "artifact": "7421c451c4ded6b4cfb4a9c20209e46bb42fc03c; Pages 29577825483; 42-page PDF; 15,069,378 bytes; PDF SHA-256 d1ca77c6d9e6e8b693198845692c1f85260c7d0fa132714ad22d845b2f4e6720; JPEG SHA-256 d3f576152d1e3d44becfd37594194d67fcf1799884febaa44f652bc3d1100b60",
      "commit": "7421c451c4ded6b4cfb4a9c20209e46bb42fc03c",
      "pdf_sha256": "d1ca77c6d9e6e8b693198845692c1f85260c7d0fa132714ad22d845b2f4e6720",
      "pdf_pages": 42,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Replaces only Rarotonga's tight reef-detail opener with accepted Olympus TG-5 image 143591, where Roger stands between a water-filled channel and weathered coastal rock with the modern reef flat, breaking waves, and open ocean beyond.",
        "Uses a Codex-reviewed, report-only literal caption. It does not assign MIS 5e, Pleistocene, Holocene, growth-position, age, elevation, unit, or dated meaning to the pixels.",
        "Preserves the Rarotonga chapter copy, its three close evidence photographs, the established island layout, and every other island and site role. Atiu remains unchanged after direct side-by-side review."
      ],
      "validation": [
        "Directly compared the exact rc.48 Rarotonga and Atiu pages, their current openers and evidence rows, accepted Rarotonga source 143591, review-pending HS106 drone source 142788, field and recorder ties, full-size source pixels, crop resilience, novelty, and caption limits. Rarotonga is the higher-leverage single change because it opens the first island chapter and uniquely supplies coast, person, low-tide process, and depth without repeating its evidence row.",
        "The 4000 \u00d7 3000 Rarotonga source is 5,849,914 bytes at SHA-256 40aa64ea840e9e5923322b04bb506ee2b845e57dea0ff90a9e2383ad4ff77ddc; the current public photo manifest resolves the same UID to the canonical c30cc3e8007e object. A centered 4000 \u00d7 2500 crop produces a 417,457-byte, progressive 1600 \u00d7 1000 JPEG at SHA-256 d3f576152d1e3d44becfd37594194d67fcf1799884febaa44f652bc3d1100b60.",
        "The exact Pages-mode build produces 102 HTML pages, and all 200 repository tests pass. Python compilation, YAML parsing, progressive-JPEG dimensions/checksum, exact provenance and source-isolation assertions, and whitespace checks are clean.",
        "Fresh isolated Chromium and Firefox pass at 1536 \u00d7 1024, 1280 \u00d7 700, 390 \u00d7 844, and 320 \u00d7 800 with true 200% text. All 70 images decode; all 73 figures, 69 captions, and 30 maps are visible and contained at exact document width; the complete figure contact sheet was inspected; the Rarotonga image is uncropped in layout with its exact caption and alt text; its three evidence images remain distinct; and console, page, request, and HTTP logs are clean.",
        "The companion passes Chromium and Firefox at desktop, phone, and true 200% text with one NOW item, three queued ideas, six timeline entries, 49 release rows, honest public-versus-maintainer access language, and no overflow or runtime errors.",
        "The final PDF is 42 unrotated A4 pages, 15,069,378 bytes, and SHA-256 d1ca77c6d9e6e8b693198845692c1f85260c7d0fa132714ad22d845b2f4e6720. Every page was inspected; only Rarotonga page 5 changes from rc.48; every text block remains inside A4; all ten fonts are embedded, subsetted, and Unicode-mapped; 32 external annotations and seven named destinations remain; the exact tracked JPEG is embedded byte-for-byte; and two exports render pixel-for-pixel identically on all 42 pages."
      ],
      "release_record": [
        "GitHub Pages run 29577825483 completed successfully for exact content commit 7421c451c4ded6b4cfb4a9c20209e46bb42fc03c; its only annotations are the inherited upstream Node.js 20-to-24 runtime warnings. Cache-busted canonical routes and all eleven explicit artifacts return HTTP 200 with their expected content types.",
        "Cache-busted live report HTML, companion HTML, field-guide CSS, progress CSS, report JSON, overview, trip-report map manifest, media manifest, progress JSON, PDF, and Rarotonga JPEG match the exact Pages-mode build byte-for-byte at SHA-256 765c4d661f1c7ba80d1f56e002e01f46507ef4c7486b08e0e67a2be1e11462a8, ba2f2e854f1b5c0e33313aad8f4b54ed26eee01a62fd13d28b78d6eac899663a, cc5e2679b9dd9eef6dc19c500e38834987b422ff32b2c8fba857431e5bad9968, 030a38ce24f217beb739fa99b8892b0d830a2ec5be95b28db1de07dcbad25401, 788c704ad3de6a0e8ac75ae99c47690f2a19e61a2b9f22377168212bf9ea990a, f7390978220498a568e972a145bc8162c08631cb7c7748336d0e1e3cdd29a3af, fff9addc7973e363986ded16c6711378f3ac47aea261e6573a44f9be8b44222e, c9f507f0f8aadbbaf2a69e09e7399a4d60e342c06f9838a8ad9bd0dfc88b5c01, 78c01796e70fb56e782fe40322c5a5b482060a6c2d99716f53440848b6971df0, d1ca77c6d9e6e8b693198845692c1f85260c7d0fa132714ad22d845b2f4e6720, and d3f576152d1e3d44becfd37594194d67fcf1799884febaa44f652bc3d1100b60 respectively.",
        "Fresh live Chromium and Firefox repeat the complete report matrix at 1536 \u00d7 1024, 1280 \u00d7 700, 390 \u00d7 844, and 320 \u00d7 800 with true 200% text. All 70 images decode; all 73 figures, 69 captions, and 30 maps and their visible labels remain contained; the full 1600 \u00d7 1000 Rarotonga raster, exact caption and alt, single local request, three distinct evidence images, and source isolation pass with clean runtime and network logs.",
        "The live companion passes both engines at 1440, 390, and 320-root-32 with the exact rc.49/rc.48 transitional state, one NOW item, three queued ideas, six timeline entries, 49 release rows, four maintainer-access labels, and clean contained layouts. Programmatic viewport captures confirm that the shared skip link remains offscreen unless focused; locator screenshots that scroll the full chapter can surface it as a capture artifact.",
        "The live PDF remains byte-identical to the fully inspected local authority at 42 unrotated A4 pages, 15,069,378 bytes, and SHA-256 d1ca77c6d9e6e8b693198845692c1f85260c7d0fa132714ad22d845b2f4e6720; it is unencrypted and contains no JavaScript.",
        "Content commit: 7421c451c",
        "GitHub Pages workflow: run 29577825483 \u2014 successful",
        "Companion: https://blakedyer.github.io/cook_islands_2026/trip-report/progress/",
        "Web: https://blakedyer.github.io/cook_islands_2026/trip-report/?v=7421c451c4ded6b4cfb4a9c20209e46bb42fc03c",
        "PDF: https://blakedyer.github.io/cook_islands_2026/data/documents/field/cook-islands-2026-initial-trip-report.pdf"
      ],
      "workflow_run": "29577825483",
      "real_play": "Chromium + Firefox \u00b7 desktop + phone + 200% text + full PDF",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.48",
      "date": "2026-07-17",
      "state": "Public; deployed and verified",
      "checkpoint": "HS107 meets the breaking-wave edge",
      "artifact": "f263751d1699b2507b3c1659ebb109cfc0e6dce6; Codex-reviewed DJI image 143215; tracked 1600 \u00d7 1200 progressive JPEG; JPEG checksum 3c16681b75481178e3a0d7228d2151e2f635b77c1a5d53899c1e99735558105c; 42-page PDF; 14,700,146 bytes; SHA-256 bab6b459ed692b9efcaff69a7baaa13fe324c3d6a5b34977d8a744ab53c914bd",
      "commit": "f263751d1699b2507b3c1659ebb109cfc0e6dce6",
      "pdf_sha256": "bab6b459ed692b9efcaff69a7baaa13fe324c3d6a5b34977d8a744ab53c914bd",
      "pdf_pages": 42,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Replaces only HS107's accepted sample-detail photograph with reviewed DJI frame 143215, a low-oblique view of breaking waves, a dark coastal bench, pale undercut limestone, and rough ground with low vegetation near Totiko.",
        "Uses a report-only literal caption for those visible relationships. It does not assign an age, elevation, notch meaning, tide datum, sample position, growth position, reef-unit identity, or formation history to the pixels.",
        "Preserves the orthomosaic as the first and dominant HS107 visual. The mapped samples, surface model, daily evidence, Darktable/XMP state, scientific question, and every other report role remain unchanged."
      ],
      "validation": [
        "Directly reviewed the source pixels, neighboring drone orbit, current sample photograph, site and recorder evidence, and public manifest. The user explicitly authorized Codex to resolve caption-review records through this evidence-backed editorial review.",
        "The 5472 \u00d7 3078 local source and canonical public full object are byte-identical at SHA-256 6bc2abaa1c21682a0a3125cc338610887743b430e919bd1d680edcd87e1f9938. A centered 4104 \u00d7 3078 crop produces the tracked 1600 \u00d7 1200 progressive JPEG at 651,384 bytes and SHA-256 3c16681b75481178e3a0d7228d2151e2f635b77c1a5d53899c1e99735558105c.",
        "The exact 102-page build and all 199 repository tests pass, together with Python compilation, YAML parsing, JPEG structure and checksum assertions, and whitespace checks. One stale test contract still expected rc.47; it was corrected to assert the report's actual rc.48 version without changing public content.",
        "Fresh isolated Chromium and Firefox pass at 1536 \u00d7 1024, 1280 \u00d7 700, 390 \u00d7 844, and 320 \u00d7 800 with a true 32 px root. All 70 images decode; all 73 figures, 69 captions, and 30 maps remain visible and contained; every figure and map capture was reviewed; labels remain readable; the HS107 deep link, exact local asset, map-first 2:1 wide hierarchy, compact stacking, caption, alt, and source isolation pass with clean runtime and network logs.",
        "Firefox exposed three compact site titles that remained inside the document but clipped their own text at true 200% sizing. Reducing only the compact title cap from 14vw to 10.5vw keeps Taunganui, Karanganui, and South Southwest fully visible without changing normal or print layouts.",
        "The public companion no longer says that every technical source is openly reachable while linking to a private repository. It identifies the friendly log and generated JSON as public and labels the roadmap, changelog, devlog, and version-history links as requiring maintainer access.",
        "The final PDF is 42 unrotated A4 pages, 14,700,146 bytes, and SHA-256 bab6b459ed692b9efcaff69a7baaa13fe324c3d6a5b34977d8a744ab53c914bd. All pages were inspected; only HS107 page 15 differs from rc.47; all ten fonts are embedded, subsetted, and Unicode-mapped; 32 external link annotations remain; and two independent exports render pixel-for-pixel identically on every page."
      ],
      "release_record": [
        "GitHub Pages run 29573136349 completed successfully for exact content commit f263751d1699b2507b3c1659ebb109cfc0e6dce6; its only annotations are the inherited upstream Node.js 20-to-24 runtime warnings. Cache-busted canonical routes and all eleven explicit artifacts return HTTP 200 with their expected content types.",
        "Cache-busted live report HTML, transitional companion HTML, field-guide CSS, progress CSS, report JSON, overview, trip-report map manifest, media manifest, progress JSON, PDF, and HS107 JPEG match the exact Pages-mode build byte-for-byte at SHA-256 36ecf308776957c6283298c5b2284ab32810e3be91c5d099857812fb86e32607, 026027c0694cb4b85bfb2bd379f3a4cb60dfcd89700c93e73b752feb9a988c96, cc5e2679b9dd9eef6dc19c500e38834987b422ff32b2c8fba857431e5bad9968, 030a38ce24f217beb739fa99b8892b0d830a2ec5be95b28db1de07dcbad25401, df2523c514697848df9d99e1ba980326ffe2538df61a701f2fe752dc9b6256f6, f7390978220498a568e972a145bc8162c08631cb7c7748336d0e1e3cdd29a3af, fff9addc7973e363986ded16c6711378f3ac47aea261e6573a44f9be8b44222e, efd191245792124cdb84325e99c55573bbd0b43a724c3dd670c7cbd8af0415bf, 226317e8fe5fd0c5cdd95f1cfdd07c21986bcb075e505142f1d12043439f3965, bab6b459ed692b9efcaff69a7baaa13fe324c3d6a5b34977d8a744ab53c914bd, and 3c16681b75481178e3a0d7228d2151e2f635b77c1a5d53899c1e99735558105c respectively.",
        "Fresh live Chromium and Firefox repeat the complete report gate at 1536 px, 390 \u00d7 844, and 320 \u00d7 800 with true 200% text: 70/70 images, 73 figures, 69 captions, 30 maps, exact width parity, map-first HS107 composition, exact 2:1 wide and stacked compact hierarchies, the full 1600 \u00d7 1200 local JPEG, exact caption and alt text, zero stale or remote-primary requests, readable contained labels, and clean isolated logs. Fresh #atiu-atiu-hs107-gcp-samples links clear responsive navigation.",
        "The transitional companion passes both engines at 1440, 390, and 320-root-32 with candidate rc.48, verified rc.47, one NOW item, three queued ideas, six timeline entries, 48 contained release rows, public log/JSON wording, and four clearly labelled maintainer-access records.",
        "The live PDF remains byte-identical to the fully inspected local authority at 42 unrotated A4 pages, 14,700,146 bytes, and SHA-256 bab6b459ed692b9efcaff69a7baaa13fe324c3d6a5b34977d8a744ab53c914bd; it is unencrypted and contains no JavaScript.",
        "Content commit: f263751d1",
        "GitHub Pages workflow: run 29573136349 \u2014 successful",
        "Companion: https://blakedyer.github.io/cook_islands_2026/trip-report/progress/",
        "Web: https://blakedyer.github.io/cook_islands_2026/trip-report/?v=f263751d1699b2507b3c1659ebb109cfc0e6dce6",
        "PDF: https://blakedyer.github.io/cook_islands_2026/data/documents/field/cook-islands-2026-initial-trip-report.pdf"
      ],
      "workflow_run": "29573136349",
      "real_play": "Chromium + Firefox \u00b7 phone + 200% text + full PDF",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.47",
      "date": "2026-07-17",
      "state": "Public; deployed and verified",
      "checkpoint": "HS104 reads across the fresh wall",
      "artifact": "9fe3142f95bd2b7844bf26a760651837f2535e8e; accepted Darktable image 141815; tracked 1600 \u00d7 1200 progressive JPEG; JPEG checksum d3134ca7bec9c62c2007859d472843ad583862d3b49e1b1ac047ac01ea992775; 42-page PDF; 14,102,293 bytes; SHA-256 6bb2027f67489777f440f0a292aa67806171d6c110ac5da39a43737e94878a16",
      "commit": "9fe3142f95bd2b7844bf26a760651837f2535e8e",
      "pdf_sha256": "6bb2027f67489777f440f0a292aa67806171d6c110ac5da39a43737e94878a16",
      "pdf_pages": 42,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Replaces only HS104's tight, shell-rich close-up with accepted Darktable image 141815, a frontal section of the freshly cut Taunganui wall where dark irregular bands cross lighter coral and rubble.",
        "Rewrites the report-only caption to distinguish what the pixels show from the field interpretation: the bands and reef material are visible, while the field team traced several bands as encruster horizons and used them to infer that the upper jumble is locally coherent.",
        "Preserves the orthomosaic as the first and dominant HS104 visual. The daily evidence, Darktable/XMP state, survey model, mapped samples, scientific question, and every other report role remain unchanged; the more dramatic drone oblique remains unpublished because all frames in its orbit are review-pending.",
        "Repairs a Firefox-only 390 px spill in the progress companion after the current commit hash made the NOW grid about 5 px wider than its section. The compact track and children can now shrink, and the hash wraps safely without disturbing the normal or enlarged-text layouts."
      ],
      "validation": [
        "Re-read the complete verified rc.46 report, all 42 PDF pages, the roadmap and release records, the ranked photograph audit, the May 27 field and recorder evidence, current image 141809, accepted image 141815, the complete review-pending drone orbit, the media manifest, XMP records, and the actual source pixels. Independent evidence and visual audits agree that 141815 is the one qualified bounded replacement.",
        "The selected accepted source is public UID sha256:fa12dfe60a186af385406dc6f50bbb7d05c04ebbe420a269ee3119103ca5af99, captured 2026-05-27 12:54:23 local by Olympus TG-5. It is 23 seconds after and 1.38 m from recorder/GPS record ATIU-20260527-RN-012. The frame does not independently establish metre-scale extent, numerical scale, contact elevation, growth position, age, or the whole-wall lower/upper transition.",
        "The 4000 \u00d7 3000 source and canonical public full object are byte-identical at SHA-256 5eb3bb11d55f1483fc4a24dd4bdad5d751e8196013dcfffa8e7b90672240e8d6. The accepted 1600 \u00d7 1200 rendition is losslessly coefficient-optimized into a 639,783-byte progressive JPEG at SHA-256 d3134ca7bec9c62c2007859d472843ad583862d3b49e1b1ac047ac01ea992775; decoded pixels remain identical.",
        "The exact Pages-mode build produces 102 HTML pages. All 198 repository tests pass, including the preserved user-owned photo-sync work; Python compilation, YAML parsing, the progressive-JPEG dimensions/checksum, exact source/full byte parity, decoded-pixel equality, and whitespace checks are clean.",
        "Fresh isolated Chromium and Firefox desktop, 390 px phone, and 320 px with true 200% text reads decode 70/70 images, contain all 73 figures and 69 captions, preserve all 30 maps, and keep exact document-width parity with clean console, page, request, and HTTP logs. HS104 remains map-first at an exact 2:1 wide ratio and stacks map then photograph compactly; the exact 1600 \u00d7 1200 local JPEG, caption, alt, source isolation, and deep link pass. All 73 figures and 30 maps were captured and inspected. Firefox exposed the companion's 4.93 px NOW-grid spill at 390 px; after the bounded compact-track fix, both engines pass the 1440/390/root32 companion matrix, and Firefox's 1,770-word root32 scan finds zero unexpected splits or short fragments.",
        "Source and generated-public PDFs are byte-identical at 42 unrotated A4 pages, 14,102,293 bytes, SHA-256 6bb2027f67489777f440f0a292aa67806171d6c110ac5da39a43737e94878a16. All 42 pages were inspected; only HS104 page 12 changes from rc.46, and it embeds the exact tracked 1600 \u00d7 1200 JPEG. All 6,798 words, 1,451 lines, and 903 text blocks remain inside A4; all ten fonts are embedded, subsetted, and Unicode-mapped; 32 HTTPS annotations resolve to 30 unique HTTP-200 targets with seven named destinations intact. A repeat export differs only in six timestamp bytes and is pixel-identical on all 42 pages."
      ],
      "release_record": [
        "GitHub Pages run 29567037892 completed successfully for exact content commit 9fe3142f95bd2b7844bf26a760651837f2535e8e; its only annotations are the inherited upstream Node.js 20-to-24 runtime warnings. Cache-busted canonical routes and every explicit artifact return HTTP 200.",
        "Cache-busted live report HTML, transitional companion HTML, field-guide CSS, progress CSS, report JSON, overview, trip-report map/media manifest, progress JSON, PDF, and HS104 JPEG match the exact Pages-mode build byte-for-byte at SHA-256 05e30fec77f5101b1b88c853f367fd02a50984bf59c90366d43c1a51b12e2cdd, 5bdda5ef32269b4edea83c66a5af96b3ad4fbc2df9e9a83cd56cc69a79a9a116, 1d00b7702e24daff6322078ee8e4efddd3f4ad1e71bd522af8bc3013487cdf51, 030a38ce24f217beb739fa99b8892b0d830a2ec5be95b28db1de07dcbad25401, 685ed35eb748a562bb52da2d025402b0715e309bfb4daff51ebe924598f28f91, f7390978220498a568e972a145bc8162c08631cb7c7748336d0e1e3cdd29a3af, fff9addc7973e363986ded16c6711378f3ac47aea261e6573a44f9be8b44222e, e903a63ba22d0da584de80b0bd3c56c4aec6e475b740c6c3efd093d4103f033c, 6bb2027f67489777f440f0a292aa67806171d6c110ac5da39a43737e94878a16, and d3134ca7bec9c62c2007859d472843ad583862d3b49e1b1ac047ac01ea992775 respectively.",
        "Fresh live Chromium and Firefox repeat the report gate at desktop, 390 \u00d7 844, and 320 \u00d7 800 with true 200% text: 70/70 images, 73 figures, 69 captions, 30 maps, exact width parity, map-first HS104 composition, exact 2:1 wide and stacked compact hierarchies, the full 1600 \u00d7 1200 local JPEG, exact caption and alt text, zero stale or remote-primary requests, and clean isolated logs. Fresh #atiu-atiu-tangaroa-hs104 links clear responsive navigation; labels, captions, north arrows, scales, and map copy remain readable and contained.",
        "The transitional companion passes both engines at 1440, 390, and 320-root-32 with candidate rc.47, verified rc.46, one NOW item, three queued ideas, six timeline entries, and 47 contained release rows. NOW, its marker and body, the queue, proof ledger, ordinary words, and the long commit hash remain contained and readable.",
        "All 30 unique PDF annotation targets return HTTP 200. The live PDF remains 42 unrotated A4 pages, unencrypted and without JavaScript, with 32 canonical HTTPS annotations and seven named destinations.",
        "Content commit: 9fe3142f9",
        "GitHub Pages workflow: run 29567037892 \u2014 successful",
        "Companion: https://blakedyer.github.io/cook_islands_2026/trip-report/progress/",
        "Web: https://blakedyer.github.io/cook_islands_2026/trip-report/?v=9fe3142f95bd2b7844bf26a760651837f2535e8e",
        "PDF: https://blakedyer.github.io/cook_islands_2026/data/documents/field/cook-islands-2026-initial-trip-report.pdf"
      ],
      "workflow_run": "29567037892",
      "real_play": "Chromium + Firefox \u00b7 desktop + phone + 200% text + full PDF",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.46",
      "date": "2026-07-16",
      "state": "Public; deployed and verified",
      "checkpoint": "HS108 reads along the coastal traverse",
      "artifact": "1872bb43e0497325171d5815c7183a01ae79e6a3; accepted Darktable image 144016; tracked 1600 \u00d7 1200 progressive JPEG; JPEG checksum ddf58dffa115dc426b2ea5d80eab69fbf3418e70b25492a9a4523a92f51be856; 42-page PDF; 13,515,528 bytes; SHA-256 6c4bd90d77116daae2db2379119bd32850b36c16afe25edcd9ebb63bc6bd7255",
      "commit": "1872bb43e0497325171d5815c7183a01ae79e6a3",
      "pdf_sha256": "6c4bd90d77116daae2db2379119bd32850b36c16afe25edcd9ebb63bc6bd7255",
      "pdf_pages": 42,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Replaces only HS108's washed-out, high-key slab photograph with accepted Darktable image 144016, a wide southward view across low reef-flat rock, shallow pools, pale sand patches, dense coastal vegetation, and water.",
        "Rewrites the report-only caption to describe those visible relationships without assigning Holocene, MIS 5e, beachrock, contact, tide-gauge, or datum meaning to the pixels.",
        "Preserves the existing satellite locator as the first and dominant HS108 visual. The daily record, Darktable/XMP state, mapped point, scientific question, Mangaia opener, and every other report role remain unchanged.",
        "Repairs the progress companion's extreme 320 px plus doubled-text fallback after visual review found technically contained but fragmentary prose. NOW steps, queued ideas, log headings, and raw-data heading now retain whole ordinary words; long hashes and URLs still wrap safely."
      ],
      "validation": [
        "Re-read the exact live rc.45 report and HS108 plate, the durable ranked photograph audit, June 1 field notes and recorder evidence, current image 144012, accepted ground candidates 144014, 144016, 144022, 144024, 144026, 144028, and 144030, the only DJI-tagged HS108 frame 143613, and the actual source pixels. 144016 ranks first for composition, exposure, depth, place-scale storytelling, and a distinct role beside the map and Mangaia opener. 143613 is a ground-level, review-pending harbor-concrete frame with a cut-off crane or post, not a qualified perspective overview.",
        "The selected accepted source is public UID sha256:e77d68dc686eeadcdd1a368d657e27fd2554b3feba49fa1700dfd62618322ddd, captured 2026-06-01 12:59:02 local by Olympus TG-5 during the 12:48\u201314:05 HS108 traverse. Its camera direction is 194\u00b0 magnetic. Its 93.78 m nearest-note distance and roughly 167 m separation from the single mapped locator prevent the report from treating the photograph as the exact contact or tide-gauge position.",
        "The 4000 \u00d7 3000 source is 5,573,922 bytes at SHA-256 993c32b2e514ca7663f572c722a8ad8bebdadc99fa75ab42f4f757f15bffcc8c; the canonical public full object is byte-identical. The accepted 1600 \u00d7 1200 rendition is losslessly coefficient-optimized into a 410,490-byte progressive JPEG at SHA-256 ddf58dffa115dc426b2ea5d80eab69fbf3418e70b25492a9a4523a92f51be856; decoded pixels remain identical. The report will request only this tracked local derivative.",
        "The exact Pages-mode build produces 102 HTML pages. All 78 focused report tests, eight progress tests, and all 197 repository tests pass, including the preserved user-owned photo-sync work. Python compilation, YAML parsing, the progressive-JPEG dimensions/checksum, exact source/full byte parity, decoded-pixel equality, and whitespace checks are clean.",
        "Fresh isolated Chromium and Firefox reads at 1536 \u00d7 1024, 1280 \u00d7 700, 390 \u00d7 844, and 320 \u00d7 800 with true 200% text decode 70/70 images, contain all 73 figures and 69 captions, and preserve all 30 maps and exact document-width parity. HS108 stays map-first with an exact 2:1 wide map/photo ratio and map-above-photo compact order; the full-frame local photograph loads exactly once per context at 1600 \u00d7 1200. The exact caption, alt text, deep link, all figure labels, enlarged-text navigation, and all four tidal figures pass. Old image 144012 and every remote HS108 primary-source request remain absent. Both engines return zero console, page, request, or HTTP errors. All 73 figures and all 30 map frames were captured and inspected. The companion passes at 1440, 390, and 320-root-32 with candidate rc.46, verified rc.45, one NOW item, three queued ideas, six timeline entries, and 46 contained release rows. A final full-page visual read caught prose splitting into two- and three-letter fragments in the extreme compact state even though containment metrics passed. The corrected fallback gives NOW prose 256 px and queue/log prose 288 px, keeps ordinary words whole throughout the companion, and preserves intentional wrapping for hashes and URLs; normal 390 and 1440 layouts remain unchanged.",
        "Source and generated-public PDFs are byte-identical at 42 unrotated A4 pages, 13,515,528 bytes, SHA-256 6c4bd90d77116daae2db2379119bd32850b36c16afe25edcd9ebb63bc6bd7255. All 42 pages were inspected; only HS108 page 18 changes from rc.45, while pages 1\u201317 and 19\u201342 are pixel-identical. Page 18 retains the map-first 1.50:1 print hierarchy and embeds the exact 1600 \u00d7 1200 local JPEG. All 6,790 words, 1,451 lines, and 903 text blocks remain inside A4; all ten fonts are embedded, subsetted, and Unicode-mapped; 32 HTTPS annotations resolve to 30 unique HTTP-200 targets with seven named destinations intact. A repeat export differs only in timestamp bytes and is pixel-identical on all 42 pages."
      ],
      "release_record": [
        "GitHub Pages run 29560726328 completed successfully for exact content commit 1872bb43e0497325171d5815c7183a01ae79e6a3; its only annotations are the inherited upstream Node.js 20-to-24 runtime warnings. Cache-busted canonical routes and every explicit artifact return HTTP 200.",
        "Cache-busted live report HTML, transitional companion HTML, field-guide CSS, progress CSS, report JSON, overview, trip-report map/media manifest, progress JSON, PDF, and HS108 JPEG match the exact Pages-mode build byte-for-byte at SHA-256 7e2ab75257515e9df1aa8f670239c721bc330866ec5282ad43181e2484fd8084, 2fed8bdba8aa197ceea98252e81ba889ec9f52d7bd772c90291bbf6888e5d4e5, 1d00b7702e24daff6322078ee8e4efddd3f4ad1e71bd522af8bc3013487cdf51, 996de49390615848a60a45f3dbaa58b55e0f2812980274d0d182de19fa1d7275, 3671671a12ae20ac05388e4dffb86a8e4e38c02af5a4020fca447cca121173a2, f7390978220498a568e972a145bc8162c08631cb7c7748336d0e1e3cdd29a3af, fff9addc7973e363986ded16c6711378f3ac47aea261e6573a44f9be8b44222e, 0b9611f6dc0e95c7c939def100878ab26b498aa7912eaf558250131c795b23c0, 6c4bd90d77116daae2db2379119bd32850b36c16afe25edcd9ebb63bc6bd7255, and ddf58dffa115dc426b2ea5d80eab69fbf3418e70b25492a9a4523a92f51be856 respectively.",
        "Fresh live Chromium and Firefox repeat the report gate at 1536 \u00d7 1024, 1280 \u00d7 700, 390 \u00d7 844, and 320 \u00d7 800 with true 200% text: 70/70 images, 73 figures, 69 captions, 30 maps, exact width parity, map-first HS108 composition, exact 2:1 wide and stacked compact hierarchies, the full 1600 \u00d7 1200 local JPEG, exact caption and alt text, zero stale or remote-primary requests, and clean isolated logs. Fresh #mangaia-mangaia-hs108-harbor-reef-flat links clear responsive navigation. All 73 figure frames and all 30 maps were inspected with readable, contained labels. Default-state captures keep the keyboard skip link hidden; its separate focus-and-activation gate also passes.",
        "The transitional companion passes both engines at 1440, 390, and 320-root-32 with candidate rc.46, verified rc.45, one NOW item, three queued ideas, six timeline entries, and 46 contained release rows. Complete whole-word scans find no unexpected intra-word splits or short fragments; clean default-state captures confirm the skip link does not obscure the reading view.",
        "All 30 unique PDF annotation targets return HTTP 200. The live PDF remains 42 unrotated A4 pages, unencrypted and without JavaScript, with 32 canonical HTTPS annotations and seven named destinations.",
        "Content commit: 1872bb43e",
        "GitHub Pages workflow: run 29560726328 \u2014 successful",
        "Companion: https://blakedyer.github.io/cook_islands_2026/trip-report/progress/",
        "Web: https://blakedyer.github.io/cook_islands_2026/trip-report/?v=1872bb43e0497325171d5815c7183a01ae79e6a3",
        "PDF: https://blakedyer.github.io/cook_islands_2026/data/documents/field/cook-islands-2026-initial-trip-report.pdf"
      ],
      "workflow_run": "29560726328",
      "real_play": "Chromium + Firefox \u00b7 desktop + phone + 200% text + full PDF",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.45",
      "date": "2026-07-16",
      "state": "Public; deployed and verified",
      "checkpoint": "Old Canyon emerges beneath the canopy",
      "artifact": "cce36ab1d2deff8afc4c4b64ba65575819bd2a3e; accepted Darktable image 141889; tracked 1600 \u00d7 1200 progressive JPEG; JPEG checksum 2aaeef7e72780df9499170029b56bac44624fb8a289cb7244f75297ac8f916ed; 42-page PDF; 13,159,126 bytes; SHA-256 6bc4a43502785aa2df1a2561527f0d5b33094d6375762927d4e551248b2081e3",
      "commit": "cce36ab1d2deff8afc4c4b64ba65575819bd2a3e",
      "pdf_sha256": "6bc4a43502785aa2df1a2561527f0d5b33094d6375762927d4e551248b2081e3",
      "pdf_pages": 42,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Gives photo-less HS105 one accepted field view of the weathered inland reef-limestone face beneath dense Old Canyon forest while preserving the existing map as the first and dominant visual.",
        "Corrects only the report plate's date from the stale May 25 coastal record to the evidenced May 27 Old Canyon visit. Raw field records, historical daily logs, and mapped source points remain unchanged.",
        "Uses a literal report-only caption: the pixels establish the dark, weathered forest exposure, while coral and shell fragments, recrystallization, and the absence of an obvious coast-tying notch remain explicitly attributed to close field inspection."
      ],
      "validation": [
        "Re-read the complete rc.44 report, all current release records, the ranked photograph audit, the exact live HS105 and HS114 plates, May 25\u201328 Atiu records, RN001, HISEAS-072/073, the accepted-photo record, public manifest, and actual source pixels. HS105 is the higher-leverage photo-less site because it has neither a photograph nor a surface model; HS114 has a complete orthomosaic/model and its best frame already serves as Mangaia's opener.",
        "The selected accepted source is Darktable image 141889, public UID sha256:a2c4e32a9aee4e674aee133fff149637ec14523a08b2821a84b7b221fa03f5e4, captured 2026-05-27 15:30:50 local by Olympus TG-5 and assigned to ATIU-OLD-CANYON-MAKATEA. It precedes RN001 by ten seconds. The accepted record's 75.96 m nearest-point value reflects an inferred HISEAS-073 georeference rather than survey-grade camera GPS, so the report does not use it as a measured photo position.",
        "The 4000 \u00d7 3000 source is 5,755,654 bytes at SHA-256 cef04bafeb238f627bde207592762ffe7fbadad575209589fee355ca5d85914e. The current public manifest resolves that same source checksum at its canonical full URL and a 470,368-byte 1600 \u00d7 1200 display. The accepted local 1600 \u00d7 1200 rendition is losslessly coefficient-optimized into a 600,950-byte progressive JPEG at SHA-256 2aaeef7e72780df9499170029b56bac44624fb8a289cb7244f75297ac8f916ed; decoded pixels remain identical to the audited accepted rendition, so the report and PDF use one stable tracked derivative. The repository fallback manifest's one stale HS105 filename/URL record is synchronized to the same canonical thumb, display, and full paths without weakening exact UID/filename/URL validation.",
        "The exact Pages-mode build produces 102 HTML pages. All 113 focused report, progress, PDF-export, and public-link tests and all 196 repository tests pass, including the preserved user-owned photo-sync work. Python compilation, YAML parsing, the progressive-JPEG dimensions/checksum, exact source/full byte parity, decoded-pixel equality, and whitespace checks are clean.",
        "Fresh isolated Chromium and Firefox reads at 1536 \u00d7 1024, 1280 \u00d7 700, 390 \u00d7 844, and 320 \u00d7 800 with true 200% text decode 70/70 images, contain all 73 figures and 69 captions, and preserve exact width parity with no clipped visible label or text. The final extreme-width read caught and removed an awkward intra-word Canyo / n wrap without reducing normal typography. HS105 stays map-first with an exact 2:1 wide map/photo ratio and map-above-photo compact order; the local photograph loads exactly once at 1600 \u00d7 1200. The exact May 27 date, refined caption, alt text, deep link, enlarged-text navigation, and all four tidal-plot labels pass. May 25 and every remote primary-photo request remain absent from the HS105 article and request logs. Both engines return zero console, page, request, or HTTP errors. The companion passes at 1440, 390, and 320-root-32 with candidate rc.45, verified rc.44, one NOW item, three queued ideas, six timeline entries, and 45 contained release rows.",
        "Source and generated-public PDFs are byte-identical at 42 unrotated A4 pages, 13,159,126 bytes, SHA-256 6bc4a43502785aa2df1a2561527f0d5b33094d6375762927d4e551248b2081e3. All 42 pages were inspected; only HS105 page 13 changes from rc.44. The refined caption is complete and legible, all 6,792 words remain inside A4, all ten fonts are embedded/subsetted/Unicode-mapped, and 32 HTTPS annotations resolve to 30 unique HTTP-200 targets with seven named destinations intact."
      ],
      "release_record": [
        "GitHub Pages run 29554845908 completed successfully for exact content commit cce36ab1d2deff8afc4c4b64ba65575819bd2a3e; its only annotations are the inherited upstream Node.js 20-to-24 runtime warnings. Cache-busted canonical routes and all explicit artifacts return HTTP 200.",
        "Cache-busted live report HTML, transitional companion HTML, field-guide CSS, progress CSS, report JSON, overview, trip-report map/media manifest, progress JSON, PDF, and HS105 JPEG match the exact Pages-mode build byte-for-byte at SHA-256 c7a47c4eab7963d50d8a6957af42805caac953514e519a79635903b6620c5f25, 835189e31b52cf4711f5848bca5013019254b6b6e71b69f6087c1744eefcc0f2, 1d00b7702e24daff6322078ee8e4efddd3f4ad1e71bd522af8bc3013487cdf51, 09b65a7266d45b4292bcb7b8c74f2ac6b3d93195d0d0965496cccadc6d7248ac, ed09c418685b9ee51ef6cfcb44c5d8b1d7d804b4863ddb3e96eab6db0e2ec035, f7390978220498a568e972a145bc8162c08631cb7c7748336d0e1e3cdd29a3af, fff9addc7973e363986ded16c6711378f3ac47aea261e6573a44f9be8b44222e, fc6f9ba20ecc3614325270b059bf3eec15824ebe3c3c24a0c480cf9e3afd7744, 6bc4a43502785aa2df1a2561527f0d5b33094d6375762927d4e551248b2081e3, and 2aaeef7e72780df9499170029b56bac44624fb8a289cb7244f75297ac8f916ed respectively.",
        "Fresh live Chromium and Firefox repeat the report gate at 1536 \u00d7 1024, 1280 \u00d7 700, 390 \u00d7 844, and 320 \u00d7 800 with true 200% text: 70/70 images, 73 figures, 69 captions, 30 maps, exact width parity, map-first HS105 composition, an exact 2:1 wide map/photo ratio, full 1600 \u00d7 1200 local JPEG, exact May 27 date, caption, and alt text, zero stale or remote-primary requests, whole-word Canyon at the hardest reflow state, and clean isolated logs. Fresh #atiu-atiu-hs105-old-canyon links clear responsive navigation. All 30 map frames were inspected with readable, fully contained labels. The transitional companion passes both engines at 1440, 390, and 320-root-32 with candidate rc.45, verified rc.44, one NOW item, three queued ideas, six timeline entries, and 45 contained release rows.",
        "All 30 unique PDF annotation targets return successfully. The live PDF remains 42 unrotated A4 pages, unencrypted and without JavaScript, with 32 canonical HTTPS annotations and seven named destinations.",
        "Content commit: cce36ab1d",
        "GitHub Pages workflow: run 29554845908 \u2014 successful",
        "Companion: https://blakedyer.github.io/cook_islands_2026/trip-report/progress/",
        "Web: https://blakedyer.github.io/cook_islands_2026/trip-report/?v=cce36ab1d2deff8afc4c4b64ba65575819bd2a3e",
        "PDF: https://blakedyer.github.io/cook_islands_2026/data/documents/field/cook-islands-2026-initial-trip-report.pdf"
      ],
      "workflow_run": "29554845908",
      "real_play": "Chromium + Firefox \u00b7 desktop + phone + 200% text + full PDF",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.44",
      "date": "2026-07-16",
      "state": "Public; deployed and verified",
      "checkpoint": "HS119 reads from wall to reef flat",
      "artifact": "99dd82f570d5324b7fb55ee1f9f1ae805c405e67; accepted Darktable image 150137; tracked 1600 \u00d7 1205 progressive JPEG; 42-page PDF; 12,565,872 bytes; SHA-256 f1fd7a41de2f2ce31f2f21abbc8b45d6cf0f4ee9cf6439655ef52ad85d85d827; JPEG checksum b05dbc689f253acbd18af5f94339eefd5a52129da709bb8d30bb34d19720e1ab",
      "commit": "99dd82f570d5324b7fb55ee1f9f1ae805c405e67",
      "pdf_sha256": "f1fd7a41de2f2ce31f2f21abbc8b45d6cf0f4ee9cf6439655ef52ad85d85d827",
      "pdf_pages": 42,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Replaces only HS119's tight marker-and-vegetated-rock close-up with accepted Darktable image 150137, a broad coastal view that shows the undercut reef-limestone wall meeting the exposed modern reef flat, with vegetation above and ocean to the right.",
        "Uses a literal report-only caption that records no clear two-layer boundary in this frame and sends the wall-to-inland relationship back to surveyed heights. It does not claim age, unit identity, coral abundance, or relative elevation from the photograph.",
        "Preserves the existing orthomosaic as the first and dominant HS119 visual. The source photo, Darktable/XMP review state, daily record, GPS evidence, site interpretation, and every other report role remain unchanged."
      ],
      "validation": [
        "Re-read the complete live rc.43 report, all 42 PDF pages, the durable ranked photograph audit, current source evidence, and actual source pixels for the leading remaining repair candidates. Three independent audits rank HS119 image 150137 first; the next strongest bounded alternatives are HS102 141709, HS101 141587, and HS104 141815.",
        "The selected accepted source is Darktable image 150137, public UID sha256:a67e5f46c8d1b1120533ce9d5dd27e41210105a0d2bca6ea567ae64f26791910, captured 2026-06-07 09:16:06 local by Google Pixel 9 Pro and tied to recorder note MAUKE-20260607-RN-043 at a six-second offset. Its nearest GPS record is the same note at 5.87 m.",
        "The 8160 \u00d7 6144 source has SHA-256 a0f1d228727aefd34e7095e4f88e55a1ade12d0d55fbfd19122072f7de282b30. The accepted 1600 \u00d7 1205 rendition is losslessly coefficient-optimized into a 682,435-byte progressive JPEG at SHA-256 b05dbc689f253acbd18af5f94339eefd5a52129da709bb8d30bb34d19720e1ab; decoded pixels remain identical. The established fail-closed trip-report asset lane prevents both a 16.4 MB full-source web request and a low-resolution PDF thumbnail.",
        "The exact Pages-mode build produces 102 HTML pages. All 91 focused report, progress, and PDF-export tests and all 194 repository tests pass; Python compilation, YAML parsing, the 1600 \u00d7 1205 progressive-JPEG dimensions/checksum, and decoded-pixel equality with the accepted rendition are clean.",
        "Fresh isolated Chromium and Firefox reads at 1536 \u00d7 1024, 1280 \u00d7 700, 390 \u00d7 844, and 320 \u00d7 800 with true 200% text (a 32 px root) decode 69/69 images, contain all 72 figures and 68 captions, and preserve exact width parity. HS119 stays map-first, with an exact 2:1 orthomosaic/photo width ratio on wide screens and correct compact stacking. The local progressive JPEG loads once at its full 1600 \u00d7 1205 dimensions; caption and alt text remain exact, complete, and contained. The old 150135 image and every public a67e5f46c8d1 full/thumb reference are absent from the DOM and request logs. The companion passes both engines at 1440, 390, and 320-root-32 with candidate rc.44, verified rc.43, one NOW item, three queued ideas, six timeline entries, and 44 contained release rows. All isolated runtime and network logs are clean.",
        "Source and generated-public PDFs are byte-identical at 42 unrotated A4 pages, 12,565,872 bytes, SHA-256 f1fd7a41de2f2ce31f2f21abbc8b45d6cf0f4ee9cf6439655ef52ad85d85d827. All 42 pages were inspected; only HS119 page 31 changes from rc.43, with the other 41 pages pixel-identical. Page 31 preserves the established 1.50:1 print map/photo hierarchy and embeds the exact 1600 \u00d7 1205 JPEG rather than the 637 \u00d7 480 public thumbnail. All 6,753 words, 1,440 lines, and 902 text blocks remain inside A4; all ten fonts are embedded, subsetted, and Unicode-mapped; 32 HTTPS annotations, 30 unique canonical targets, and seven named destinations remain intact."
      ],
      "release_record": [
        "GitHub Pages run 29551132036 completed successfully for exact content commit 99dd82f570d5324b7fb55ee1f9f1ae805c405e67; its only annotations are the inherited upstream Node.js 20-to-24 runtime warnings. Cache-busted canonical routes and all explicit artifacts return HTTP 200.",
        "Cache-busted live report HTML, transitional companion HTML, field-guide CSS, progress CSS, report JSON, overview, trip-report map/media manifest, progress JSON, PDF, and HS119 JPEG match the exact Pages-mode build byte-for-byte at SHA-256 fe8f3c4f693ef60344e3bf230a4e23589116d20e9106bcab4394b2c914f9c969, 955651290e5af5ea05054b809687d890dc942b5ea67f4d97b5728b8b649f55eb, fef791ba743794a29a74f797a60daffbbb9580a126be0830ead345c1fdef9fb8, 09b65a7266d45b4292bcb7b8c74f2ac6b3d93195d0d0965496cccadc6d7248ac, ed67d0377f812d5870383c6f1b13f90ac3b906249a6247c0832a974fa711ff6b, f7390978220498a568e972a145bc8162c08631cb7c7748336d0e1e3cdd29a3af, fff9addc7973e363986ded16c6711378f3ac47aea261e6573a44f9be8b44222e, 1a80ef45c411d8b4b1681c53fbf38a2d82cb1181dad7d8eb462e167e5b7fc173, f1fd7a41de2f2ce31f2f21abbc8b45d6cf0f4ee9cf6439655ef52ad85d85d827, and b05dbc689f253acbd18af5f94339eefd5a52129da709bb8d30bb34d19720e1ab respectively.",
        "Fresh live Chromium and Firefox repeat the report gate at 1536 \u00d7 1024, 1280 \u00d7 700, 390 \u00d7 844, and 320 \u00d7 800 with true 200% text: 69/69 images, 72 figures, 68 captions, exact width parity, map-first HS119 composition, an exact 2:1 wide map/photo ratio, full 1600 \u00d7 1205 local JPEG, exact caption and alt text, zero old-primary or remote-source requests, and clean isolated logs. Fresh #mauke-mauke-hs119-uriaata links land below responsive navigation. The transitional companion passes both engines at 1440, 390, and 320-root-32 with candidate rc.44, verified rc.43, one NOW item, three queued ideas, six timeline entries, and 44 contained release rows.",
        "All 30 unique PDF annotation targets return successfully. The live PDF remains 42 unrotated A4 pages, unencrypted and without JavaScript, with 32 canonical HTTPS annotations and seven named destinations.",
        "Content commit: 99dd82f57",
        "GitHub Pages workflow: run 29551132036 \u2014 successful",
        "Companion: https://blakedyer.github.io/cook_islands_2026/trip-report/progress/",
        "Web: https://blakedyer.github.io/cook_islands_2026/trip-report/?v=99dd82f570d5324b7fb55ee1f9f1ae805c405e67",
        "PDF: https://blakedyer.github.io/cook_islands_2026/data/documents/field/cook-islands-2026-initial-trip-report.pdf"
      ],
      "workflow_run": "29551132036",
      "real_play": "Chromium + Firefox \u00b7 desktop + phone + 200% text + full PDF",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.43",
      "date": "2026-07-16",
      "state": "Public; deployed and verified",
      "checkpoint": "Mangaia opens at reef-flat scale",
      "artifact": "d30874ea244689b47b0f0e5ff3f82f9d40029159; tracked 1600 \u00d7 1000 derivative; 42-page PDF; 11,964,817 bytes; SHA-256 bf5b99486bce012bc23d5c77d2123506cc9e0724dd65993ccc757b140441e413",
      "commit": "d30874ea244689b47b0f0e5ff3f82f9d40029159",
      "pdf_sha256": "bf5b99486bce012bc23d5c77d2123506cc9e0724dd65993ccc757b140441e413",
      "pdf_pages": 42,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Replaces Mangaia's washed-out HS108 slab opener with one low drone view of two field team members standing on the shallow Araoa reef flat during the HS114 survey.",
        "Uses a literal report-only caption about the visible people, reef flat, breaking waves, and open ocean; it removes the old opener's unsupported request that one slab view establish perched beachrock and nearby possible last-interglacial framework.",
        "Serves one tracked 1600 \u00d7 1000 progressive JPEG with a restrained gamma lift. The HS114 site plate keeps its orthomosaic and does not repeat the opener."
      ],
      "validation": [
        "Re-read the exact live rc.42 report and PDF, all five chapter openers, the complete ranked photograph audit, the leading source frame for every island, the June 4 daily and recorder evidence, and the adjacent HS114 drone frames. Mangaia is the single strongest repair: Mitiaro is already resolved; Mauke's alternative duplicates HS120; Rarotonga and Atiu have worthwhile but lower-leverage later candidates.",
        "The selected source is Darktable image 147820, public UID sha256:88f5fdf80e65c73eba89eaac14da963c1fc0007f12eecd411298e48624063fbd, captured 2026-06-04 09:26:31 local by DJI FC6310S and assigned to HS114. Its source SHA-256 is c5d07cd954696ab816d340d9a103549f32729426441eb9cd7a483f986e4277ab.",
        "A 4920 \u00d7 3075 center crop removes the lower-right edge rock while preserving the full horizon, foreground reef texture, breaking-wave line, and safe right margin around both people. Gamma 1.08 lifts the reef subtly without flattening the cloudy sky. The 1600 \u00d7 1000 progressive JPEG is 226,346 bytes with SHA-256 8d9ab27b3f2c938e50b28903d573a3687d1b088df2b7d06226edf33aa9e613cc.",
        "The exact Pages-mode build produces 102 HTML pages. All 89 focused report, progress, and PDF-export tests and all 192 repository tests pass; Python compilation, YAML parsing, asset dimensions/checksums, and whitespace checks are clean.",
        "Fresh isolated Chromium and Firefox reads at 1536 \u00d7 1024, 1280 \u00d7 700, 390 \u00d7 844, and 320 \u00d7 800 with true 200% text (a 32 px root) decode 69/69 images, contain all 72 figures and 68 captions, and preserve exact width parity. The local 1600 \u00d7 1000 derivative loads once, retains its full 1.6:1 frame and both people, and is not duplicated at HS114; its exact caption and alt text remain complete. No 7.7 MB source request occurs, the other four island heroes remain unchanged, and both engines return clean isolated console, page-error, HTTP, and request-failure logs. The companion passes at 1440, 390, and 320-root-32 with candidate rc.43, verified rc.42, one NOW item, three queued ideas, six timeline entries, and 43 contained release rows.",
        "Source and generated-public PDFs are byte-identical at 42 A4 pages, 11,964,817 bytes, SHA-256 bf5b99486bce012bc23d5c77d2123506cc9e0724dd65993ccc757b140441e413. All 42 pages were inspected; only Mangaia opener page 16 changes from rc.42, and pages 1\u201315 and 17\u201342 are pixel-identical. All 6,753 words, 1,440 lines, and 902 text blocks remain inside A4; all ten fonts are embedded/subsetted/Unicode-mapped; 32 HTTPS annotations, 30 unique canonical targets, and seven named destinations remain intact."
      ],
      "release_record": [
        "GitHub Pages run 29547755202 completed successfully for exact content commit d30874ea244689b47b0f0e5ff3f82f9d40029159; its only annotations are the inherited upstream Node.js 20-to-24 runtime warnings. Cache-busted canonical routes and all explicit artifacts return HTTP 200.",
        "Cache-busted live report HTML, transitional companion HTML, field-guide CSS, progress CSS, report JSON, overview, trip-report map/media manifest, progress JSON, PDF, and Mangaia derivative match the exact Pages-mode build byte-for-byte at SHA-256 b8fc77319c1d363c5b398c82c414b50bdb0a5a9ed554baa7497de42e18211379, 4a9361aa1507179caf805fb239c82d89625772e44a10150ac9fd5d340e630a86, fef791ba743794a29a74f797a60daffbbb9580a126be0830ead345c1fdef9fb8, 09b65a7266d45b4292bcb7b8c74f2ac6b3d93195d0d0965496cccadc6d7248ac, 54fd0925e27227b3fd69002c5921664e7665e3e78b88ad8bc0ae431f79855c62, f7390978220498a568e972a145bc8162c08631cb7c7748336d0e1e3cdd29a3af, fff9addc7973e363986ded16c6711378f3ac47aea261e6573a44f9be8b44222e, ddedc6b2940fefd05d9013d4c86220fe78404e0ac95985c701761c2777e002d0, bf5b99486bce012bc23d5c77d2123506cc9e0724dd65993ccc757b140441e413, and 8d9ab27b3f2c938e50b28903d573a3687d1b088df2b7d06226edf33aa9e613cc respectively.",
        "Fresh live Chromium and Firefox repeat the report gate at 1536 \u00d7 1024, 1280 \u00d7 700, 390 \u00d7 844, and 320 \u00d7 800 with true 200% text: 69/69 images, 72 figures, 68 captions, exact width parity, full uncropped Mangaia hero, exact caption and alt text, no HS114 site duplicate, no full-source request, unchanged other island heroes, and clean isolated logs. Fresh #mangaia deep links land below the sticky header in both engines. The transitional companion passes both engines at 1440, 390, and 320-root-32 with candidate rc.43, verified rc.42, one NOW item, three queued ideas, six timeline entries, and 43 contained release rows.",
        "All 30 unique PDF annotation targets return HTTP 200. The live PDF remains 42 A4 pages, unencrypted and without JavaScript, with 32 canonical HTTPS annotations and seven named destinations.",
        "Content commit: d30874ea2",
        "GitHub Pages workflow: run 29547755202 \u2014 successful",
        "Companion: https://blakedyer.github.io/cook_islands_2026/trip-report/progress/",
        "Web: https://blakedyer.github.io/cook_islands_2026/trip-report/?v=d30874ea244689b47b0f0e5ff3f82f9d40029159",
        "PDF: https://blakedyer.github.io/cook_islands_2026/data/documents/field/cook-islands-2026-initial-trip-report.pdf"
      ],
      "workflow_run": "29547755202",
      "real_play": "Chromium + Firefox \u00b7 desktop + phone + 200% text + full PDF",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.42",
      "date": "2026-07-16",
      "state": "Public; deployed and verified",
      "checkpoint": "HS125 reads from sea to forest",
      "artifact": "61710e69220c8f9cac5e551a851b8bbc35f45d86; tracked 1600 \u00d7 1200 derivative; 42-page PDF; 11,738,185 bytes; SHA-256 ce380cabbcb6b1bda1b916cc6c866d2ab1895b0dbd88ac04e486d2f4b9a883b9",
      "commit": "61710e69220c8f9cac5e551a851b8bbc35f45d86",
      "pdf_sha256": "ce380cabbcb6b1bda1b916cc6c866d2ab1895b0dbd88ac04e486d2f4b9a883b9",
      "pdf_pages": 42,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Replaces HS125's narrow GCP close-up with one low-oblique drone overview that shows the wave-washed reef flat, broad pale landward surface, and forest edge together while keeping the orthomosaic first and dominant.",
        "Gives the new view a literal report-only caption that sends relative heights and the field-described gentle slope back to the surveyed elevation model rather than claiming that the photograph proves them.",
        "Serves a tracked 1600 \u00d7 1200 progressive JPEG instead of requesting the 7.8 MB source. The exact public UID, source filename and checksum, capture time, crop, public source URL, and derivative checksum remain bound in configuration and fail closed during the build."
      ],
      "validation": [
        "Re-read the complete rc.41 PDF, the ranked photo audit, the four Mitiaro site plates, the HS125 field note, current report JSON, and the three leading perspective sources. HS123 repeats the prominent Methods feature; HS122 repeats its strong existing coast frame; HS125 alone repairs a current caption/pixel mismatch while adding site geometry the orthomosaic cannot supply.",
        "The source is exact Darktable image 153974, public UID sha256:d8683160c718d42da25a6e3a7b61ebf9e2383ea7277a9c79f2ca789e0eca6e1d, captured 2026-06-11 15:04:34 local by DJI FC6310S and assigned to HS125. The tracked source SHA-256 is 476986cec1b0391c5e8dc5de62d34958f179a246fc63ef1c158e1ffdcce17da9; the centered 4:3 derivative is 587,075 bytes with SHA-256 c3188b0214ec594d52258a779002e15738c59ff3d5af63d5f081789fde63bfe0.",
        "The first exact PDF exposed that Chromium embedded the visually approved WebP as a 4.1 MB decoded bitmap, inflating the report to 15,346,706 bytes. The same crop as a progressive JPEG embeds at 573 KB with no visual or layout regression; the final report is 11,738,185 bytes.",
        "The exact Pages-mode build produces 102 HTML pages. All 88 focused report, progress, and PDF-export tests and all 191 repository tests pass; Python compilation, YAML parsing, asset dimensions/checksums, and whitespace checks are clean.",
        "Fresh Chromium and Firefox reads at 1536 \u00d7 1024, 1280 \u00d7 700, 390 \u00d7 844, and 320 \u00d7 800 with true 200% text (a 32 px root) decode 69/69 images, contain all 72 figures and 68 captions, and preserve exact width parity. HS125 loads only the local 1600 \u00d7 1200 JPEG; its full 4:3 coast/flat/pale-surface/forest frame and complete caption remain contained. The orthomosaic stays first and exactly twice the photograph width on wide screens; compact views retain map-first order. No 7.8 MB source request occurs. Both engines return clean isolated logs. The companion passes at 1440, 390, and 320-root-32 with candidate rc.42, verified rc.41, one NOW item, three queued ideas, six timeline entries, and 42 contained release rows.",
        "Source and generated-public PDFs are byte-identical at 42 A4 pages, 11,738,185 bytes, SHA-256 ce380cabbcb6b1bda1b916cc6c866d2ab1895b0dbd88ac04e486d2f4b9a883b9. All 42 pages were inspected; pages 1\u201338 and 40\u201342 are pixel-identical to rc.41, while only page 39 changes. All 6,755 words, 1,441 lines, and 902 text blocks remain inside A4; all ten fonts are embedded/subsetted/Unicode-mapped; 32 annotations, 30 unique canonical targets, and seven named destinations remain intact."
      ],
      "release_record": [
        "GitHub Pages run 29545267584 completed successfully for exact content commit 61710e69220c8f9cac5e551a851b8bbc35f45d86; its only annotation is the inherited upstream Node.js 20-to-24 runtime warning. Cache-busted live report HTML, transitional companion HTML, field-guide CSS, progress CSS, report JSON, overview, manifest, progress JSON, PDF, and HS125 JPEG match the exact Pages-mode build byte-for-byte at SHA-256 561f433a8d740c0042841206ec1c333a3d06e6d13deff9ef004ded409bb36f03, b8345d901895ddcade6458db8ac58f2529b96c596f7db3d9f38553e7aa5a9e73, fef791ba743794a29a74f797a60daffbbb9580a126be0830ead345c1fdef9fb8, 09b65a7266d45b4292bcb7b8c74f2ac6b3d93195d0d0965496cccadc6d7248ac, 219ba5cf8550910126e28dac58f6390878cb49d5a7288803bdcbaaefe52d5d07, f7390978220498a568e972a145bc8162c08631cb7c7748336d0e1e3cdd29a3af, fff9addc7973e363986ded16c6711378f3ac47aea261e6573a44f9be8b44222e, 4b413e144f5bf02b4361713d994c23ca9ee557f669d08453d359a894134a25d8, ce380cabbcb6b1bda1b916cc6c866d2ab1895b0dbd88ac04e486d2f4b9a883b9, and c3188b0214ec594d52258a779002e15738c59ff3d5af63d5f081789fde63bfe0 respectively.",
        "Fresh live Chromium and Firefox repeat the report gate at 1536 \u00d7 1024, 1280 \u00d7 700, 390 \u00d7 844, and 320 \u00d7 800 with true 200% text (a 32 px root): 69/69 images, 72 figures, 68 captions, exact width parity, map-first HS125 composition, an exact 2:1 wide orthomosaic/aerial ratio, the full uncropped 1600 \u00d7 1200 local JPEG, complete caption and alt text, zero source-image request, a working HS125 survey link, and clean isolated logs. The transitional companion passes both engines at 1440 px, 390 px, and the enlarged-text stress case with candidate rc.42, verified rc.41, one NOW item, three queued directions, six timeline entries, and 42 contained release rows.",
        "Content commit: 61710e692",
        "GitHub Pages workflow: run 29545267584 \u2014 successful",
        "Companion: https://blakedyer.github.io/cook_islands_2026/trip-report/progress/",
        "Web: https://blakedyer.github.io/cook_islands_2026/trip-report/?v=61710e69220c8f9cac5e551a851b8bbc35f45d86",
        "PDF: https://blakedyer.github.io/cook_islands_2026/data/documents/field/cook-islands-2026-initial-trip-report.pdf"
      ],
      "workflow_run": "29545267584",
      "real_play": "Chromium + Firefox \u00b7 desktop + phone + 200% text + full PDF",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.41",
      "date": "2026-07-16",
      "state": "Public; deployed and verified",
      "checkpoint": "The stronger HS123 explanation stays still",
      "artifact": "37e22ca165f0c169ff7d21ae79576518fe3dc395; 42-page PDF retained byte-for-byte from rc.40; 11,238,087 bytes; SHA-256 a3e76fed19f7a833c1dec0c579c12e9d6917c4ba9a813f8349ee288e53bed6e7",
      "commit": "37e22ca165f0c169ff7d21ae79576518fe3dc395",
      "pdf_sha256": "a3e76fed19f7a833c1dec0c579c12e9d6917c4ba9a813f8349ee288e53bed6e7",
      "pdf_pages": 42,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Removed the report-only HS123 autoplay turntable after its source-quality gate failed. The Methods feature now keeps the approved annotated surveyed-surface still visible at all times instead of replacing its title and positioned labels with a softer rotating derivative and generic legend.",
        "Preserved the paired interpretive close view, all six observation/interpretation labels, captions, scientific cautions, and the link to the full HS123 survey. The separate HS123 site player, source renders, archived report MP4, and historical rc.29 evidence remain intact.",
        "Avoided a 903,437-byte report media request for eligible motion users. Reduced-motion, reduced-data, save-data, failure, no-JavaScript, and print users already received the static pair; rc.41 makes that stronger explanation universal."
      ],
      "validation": [
        "The audit began at the authoritative Metashape GCP Refined chunk, its refreshed twelve-UDIM export, the July 1 recut Blender handoff, marker exports, render scripts and metadata, both report stills, the 960 \u00d7 400 derivative, and the 2560 \u00d7 1440 source turntable. The July 6 terrain-block visual specification remains the authority for any future rebuild.",
        "Twelve-angle contact sheets show rough rear shell/terrain edges and weak quarters in both the report derivative and full source. Direct Blender inspection measures the block at 55.0\u201388.9% of frame width through the orbit; the report loop boundary has normalized RMSE 0.0504 versus 0.0220\u20130.0233 for adjacent frames. A render-only camera or codec change cannot repair those source-geometry and composition failures.",
        "The exact build produces 102 HTML pages. All 86 focused report/progress/PDF checks and all 189 repository tests pass; changed Python compiles, both YAML files parse, and whitespace checks are clean.",
        "Fresh Chromium and Firefox reads at 1536 \u00d7 1024, 1280 \u00d7 700, 390 \u00d7 844, and 320 \u00d7 800 with true 200% text (a 32 px root) decode 69/69 images, contain all 72 figures and 68 captions, and preserve exact viewport/document/body width parity. At every size HS123 has two images, zero videos, zero controls, zero generic legends, six visible and contained labels, its full-survey link, and zero MP4/WebM requests. The companion passes both engines at 1440 px, 390 px, and the 32 px-root stress case with candidate rc.41, verified rc.40, one NOW item, three queued directions, six timeline entries, and 41 contained release rows. Instrumented logs are clean.",
        "The exact rc.40 PDF is correctly retained: source and public copies are byte-identical at 42 A4 pages, 11,238,087 bytes, SHA-256 a3e76fed19f7a833c1dec0c579c12e9d6917c4ba9a813f8349ee288e53bed6e7. A controlled print-DOM comparison with and without the old motion markup differs only in six timestamp bytes; rendered content, 6,741 extracted words, links, seven destinations, embedded fonts, HS123 geometry, and every page remain unchanged."
      ],
      "release_record": [
        "GitHub Pages run 29541719578 completed successfully for exact content commit 37e22ca165f0c169ff7d21ae79576518fe3dc395; its only annotations are inherited upstream Node.js 20-to-24 runtime warnings. Cache-busted live report HTML, transitional companion HTML, field-guide CSS, progress CSS, report JSON, overview, manifest, progress JSON, and PDF match the exact Pages-mode build byte-for-byte at SHA-256 abe79196b627eee03627b9f68d0d2cb4f63e1dda75be06aa244693577133d14e, e42316e6739eea40d44dc16ae7933eedcb37720ee312577174d936895299382a, fef791ba743794a29a74f797a60daffbbb9580a126be0830ead345c1fdef9fb8, 09b65a7266d45b4292bcb7b8c74f2ac6b3d93195d0d0965496cccadc6d7248ac, 1b715126854db3148c6e549668c3cc15f0b4249bacad78c96391a6adcb19cd50, f7390978220498a568e972a145bc8162c08631cb7c7748336d0e1e3cdd29a3af, fff9addc7973e363986ded16c6711378f3ac47aea261e6573a44f9be8b44222e, 00094e700d097282217fc74250f88477dc8086c5b16b4a83426a7d3377a7b4da, and a3e76fed19f7a833c1dec0c579c12e9d6917c4ba9a813f8349ee288e53bed6e7 respectively.",
        "Fresh live Chromium and Firefox repeat the report gate at 1536 \u00d7 1024, 1280 \u00d7 700, 390 \u00d7 844, and 320 \u00d7 800 with true 200% text (a 32 px root): 69/69 images, 72 figures, 68 captions, exact width parity, two HS123 stills, six readable and contained labels, zero video/control/legend nodes, zero MP4 requests, a working HS123 survey link, and clean logs. The transitional companion passes both engines at 1440 px, 390 px, and the enlarged-text stress case with candidate rc.41, verified rc.40, three queued directions, six timeline entries, and 41 contained release rows.",
        "Content commit: 37e22ca16",
        "GitHub Pages workflow: run 29541719578 \u2014 successful",
        "Companion: https://blakedyer.github.io/cook_islands_2026/trip-report/progress/",
        "Web: https://blakedyer.github.io/cook_islands_2026/trip-report/?v=37e22ca165f0c169ff7d21ae79576518fe3dc395",
        "PDF: https://blakedyer.github.io/cook_islands_2026/data/documents/field/cook-islands-2026-initial-trip-report.pdf"
      ],
      "workflow_run": "29541719578",
      "real_play": "Chromium + Firefox \u00b7 desktop + phone + 200% text + full PDF",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.40",
      "date": "2026-07-16",
      "state": "Public; deployed and verified",
      "checkpoint": "Primary photographs now describe what they show",
      "artifact": "29ae466b280c9d94b32e9768f3306a0d0fd011ed; 42-page PDF; 11,238,087 bytes; SHA-256 a3e76fed19f7a833c1dec0c579c12e9d6917c4ba9a813f8349ee288e53bed6e7",
      "commit": "29ae466b280c9d94b32e9768f3306a0d0fd011ed",
      "pdf_sha256": "a3e76fed19f7a833c1dec0c579c12e9d6917c4ba9a813f8349ee288e53bed6e7",
      "pdf_pages": 42,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Replaced four unequivocally mismatched site primaries with accepted photographs tied by exact ID: HS109 now shows researchers on the inland makatea cliff, HS115 shows the cleared irregular surface, HS118 shows the reef-limestone exposure, and HS122 shows coral-bearing boulders on the exposed coast.",
        "Added concise report-only captions and alternative text that begin with what is visible and keep uncertain growth position, contacts, and storm transport unresolved. The accepted daily records and source captions remain unchanged.",
        "Replaced Mitiaro's chapter-opening TEUNU sign frame with the accepted HS122 coast-and-boulders photograph and a separate literal chapter caption.",
        "Added a durable ranked audit of all five island openers, all 25 numbered sites, and the perspective source frames from all 21 surface-model projects. The audit is an editorial queue, not a mandate to add a photograph or drone panel everywhere."
      ],
      "validation": [
        "The audit inspected 596 accepted photographs and perspective source frames from all 21 surface-model projects. An independent second pass verified the four exact files against their pixels, accepted records, GPS/audio links, report crop, and literal captions. Configured site and island roles fail closed if a selected ID is no longer attached.",
        "The exact Pages-mode environment builds 102 HTML pages. All 86 focused report/progress/PDF-export checks and all 189 repository tests pass; changed Python compiles, YAML parses, and whitespace checks are clean. The current Impeccable detector reports 674 inherited warnings in unchanged template/CSS sources, so none is attributed to this data/editorial checkpoint.",
        "Fresh local and live Chromium and Firefox reads at 1536 \u00d7 1024, 1280 \u00d7 700, 390 \u00d7 844, and 320 \u00d7 800 with true 200% text (a 32 px root) decode 69/69 images, contain all 72 figures and 68 captions, preserve exact document/body width parity, and return clean isolated console, page, request, and HTTP logs. All five changed visual roles and every caption/alt pair were directly inspected; compact navigation retains its intentional internal scroller without widening the document.",
        "The promoted companion passes both engines at 1440 px, 390 px, and 320 px with a true 32 px root: candidate and latest verified both resolve to rc.40, NOW names the HS123 perfection-or-removal gate, the queue contains three bounded later directions, the readable log contains six checkpoints, all 40 release states are contained, and runtime logs are clean.",
        "The release PDF is 42 A4 pages, 11,238,087 bytes, and SHA-256 a3e76fed19f7a833c1dec0c579c12e9d6917c4ba9a813f8349ee288e53bed6e7. Every page was raster-inspected. Exactly pages 19, 25, 30, 34, and 36 change against rc.39; the other 37 are pixel-identical. All 6,741 words, 1,437 lines, and 902 blocks stay inside A4; all ten fonts are embedded/subsetted/Unicode-mapped; 32 annotations, 30 unique canonical URLs, and seven named destinations remain intact. Source and public copies are byte-identical."
      ],
      "release_record": [
        "GitHub Pages run 29539308536 completed successfully for content commit 29ae466b280c9d94b32e9768f3306a0d0fd011ed. Cache-busted live report HTML, transitional companion HTML, field-guide CSS, progress CSS, report JSON, overview, manifest, progress JSON, and PDF match the exact Pages-mode build byte-for-byte at SHA-256 a24a7ef66d386a659fc14f09068519a2543d75258ed41a19539d22e1030e46fd, 47cff514d0110fbf67d91a045795e99bfd535fb273699870a40c18146129c98f, fef791ba743794a29a74f797a60daffbbb9580a126be0830ead345c1fdef9fb8, 09b65a7266d45b4292bcb7b8c74f2ac6b3d93195d0d0965496cccadc6d7248ac, 9548cacd85314fc0d7d72f11d2ff27070169281d1e19d9588ad7c87c91847b94, f7390978220498a568e972a145bc8162c08631cb7c7748336d0e1e3cdd29a3af, fff9addc7973e363986ded16c6711378f3ac47aea261e6573a44f9be8b44222e, 4c47f1e1cd4b622969d51de1384aa65fe72deeb8bc9160cd64048ec976723199, and a3e76fed19f7a833c1dec0c579c12e9d6917c4ba9a813f8349ee288e53bed6e7 respectively.",
        "Fresh live Chromium and Firefox repeat the complete report gate at 1536 \u00d7 1024, 1280 \u00d7 700, 390 \u00d7 844, and 320-root-32, and the transitional companion gate at 1440, 390, and 320-root-32. All images, figures, captions, changed crops, exact widths, and isolated runtime logs pass. Independent visual review judges HS109 the strongest repair, HS115 accurate if quieter, and the HS118/HS122/Mitiaro roles crisp and caption-faithful; no photograph warrants rollback.",
        "Content commit: 29ae466b2",
        "GitHub Pages workflow: run 29539308536 \u2014 successful",
        "Companion: https://blakedyer.github.io/cook_islands_2026/trip-report/progress/",
        "Web: https://blakedyer.github.io/cook_islands_2026/trip-report/?v=29ae466b280c9d94b32e9768f3306a0d0fd011ed",
        "PDF: https://blakedyer.github.io/cook_islands_2026/data/documents/field/cook-islands-2026-initial-trip-report.pdf"
      ],
      "workflow_run": "29539308536",
      "real_play": "Chromium + Firefox \u00b7 desktop + phone + 200% text + full PDF",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.39",
      "date": "2026-07-16",
      "state": "Public; deployed and verified",
      "checkpoint": "The opening settles onto one editorial axis",
      "artifact": "0566516124827de5c8fe8e9b073271a11aad91fe; 42-page PDF; 11,287,002 bytes; SHA-256 7f046f346d8526305d5d34b0fcad479b4f46e0078ec791fe4f353d356086af47",
      "commit": "0566516124827de5c8fe8e9b073271a11aad91fe",
      "pdf_sha256": "7f046f346d8526305d5d34b0fcad479b4f46e0078ec791fe4f353d356086af47",
      "pdf_pages": 42,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Rebuilt only the wide opening's row choreography. The title, promise, status, and audience now sit on one centered editorial axis; a short departure-clay rule separates title from promise, and a quiet hairline gives the audience its own pause.",
        "Quieted the wide promise from 30.4 to 26.4 CSS pixels so it resolves in four deliberate lines at the approved 1536 px reference instead of five forced lines. The text, title type, status, audience, map, photograph, counts, shell columns, chapter rail, and lower report are unchanged.",
        "Turned the existing four-value expedition tally into a slim one-row band immediately below the map/title/photo field on wide screens. Its semantic markup remains inside the established support wrapper, so compact title \u2192 map \u2192 audience/tally \u2192 photograph order and the verified print cover sequence remain unchanged.",
        "Corrected the hero photograph's wide-screen caption cascade. It now retains warm-white text, blurred shadow, and a transparent-to-dark padded gradient instead of being overridden to dark text directly over the field image.",
        "Preserved the exact rc.38 overview WebP and manifest, every geographic/date label and utility, accepted Anaraura photograph and crop anchor, all report claims and figures, and every layout below the opening."
      ],
      "validation": [
        "Direct 1536 \u00d7 1024 comparison with the approved target measured rc.38's title about 90 px too high and its visual hero extending to y=1212. Browser probing showed that the apparent one-line 3fr / 2fr fix only shortened the hero: the title row's intrinsic height still pinned the copy at y\u2248113. The final five-row composition places the title at y\u2248210 visually, clay rule at y\u2248489, promise at y\u2248521, status at y\u2248696, audience divider at y\u2248742, and the map/photo field bottom at y\u22481023, closely tracking the approved target without copying its pixels.",
        "Two isolated layout assessments were synthesized. The mechanical Impeccable detector reports [] before and after the implementation, with no arbitrary Tailwind spacing or z-index patterns. Independent visual/source assessment confirms the two equal intrinsic rows\u2014not the established three columns\u2014as the root layout constraint and agrees that the tally must stop competing inside the editorial field.",
        "Fresh Chromium and Firefox reads at 1536 \u00d7 1024, 1280 \u00d7 700, 390 \u00d7 844, and 320 px with true 200% text (a 32 px root) decode 69/69 images, contain all 72 figures and 68 captions, preserve exact document/body width parity, and show no non-navigation overflow. The hero, map, photograph, tally, island/date labels, and utilities are contained and readable; the corrected photograph caption computes as warm white over an 87 px padded gradient. Isolated-page request, console, and page-error logs are clean.",
        "The exact Pages-mode build produces 102 HTML pages. All 84 focused report/progress/PDF-export checks and all 187 repository tests pass; Python compilation, whitespace checks, and the post-edit mechanical layout detector pass cleanly.",
        "The full retained PDF remains byte-for-byte rc.38 because every rc.39 declaration is screen-only and the print structure is unchanged: 42 A4 pages, 11,287,002 bytes, SHA-256 7f046f346d8526305d5d34b0fcad479b4f46e0078ec791fe4f353d356086af47. A fresh isolation export differs in only ten creation/modification timestamp bytes. Its extracted text and page content are identical; all 42 pages were reinspected, all 6,740 words, 1,439 lines, and 902 blocks remain inside A4, and all ten embedded/subsetted/Unicode fonts, 32 annotations, 30 unique canonical URLs, and seven named destinations remain intact."
      ],
      "release_record": [
        "GitHub Pages run 29514480372 completed successfully for content commit 0566516124827de5c8fe8e9b073271a11aad91fe; its only annotations are inherited upstream Node.js 20-to-24 runtime warnings. Cache-busted live report HTML, transitional companion HTML, field-guide CSS, progress CSS, report JSON, overview, manifest, progress JSON, and PDF match the exact Pages-mode build byte-for-byte at SHA-256 20d74c96d7a32620db182bfde6f2eae85d8f1118bc1b2e698205a16913f9b9a5, 68dc5c1f47233d84241fab54d05793a2c6ebda9d07c603820d510a4a445257ed, fef791ba743794a29a74f797a60daffbbb9580a126be0830ead345c1fdef9fb8, 09b65a7266d45b4292bcb7b8c74f2ac6b3d93195d0d0965496cccadc6d7248ac, 9fc50e22b2ebe0dc8834b8b171856df09d15aa1ca1f9f87b3b763890a8d8eb4c, f7390978220498a568e972a145bc8162c08631cb7c7748336d0e1e3cdd29a3af, fff9addc7973e363986ded16c6711378f3ac47aea261e6573a44f9be8b44222e, a15f7171b27a5d2ae367e343d186bd09754e0e2a1cd5e211ecce4473e438caea, and 7f046f346d8526305d5d34b0fcad479b4f46e0078ec791fe4f353d356086af47 respectively.",
        "Fresh live Chromium and Firefox repeat the complete report gate at 1536 \u00d7 1024, 1280 \u00d7 700, 390 \u00d7 844, and 320-root-32, and the companion gate at 1440, 390, and 320-root-32. All 69 images decode; all 72 figures, 68 captions, hero parts, map labels/utilities, crop anchors, and 39 companion release states remain contained; exact width parity and clean HTTP/request/console/page logs hold. All 14 live viewport screenshots are pixel-identical to the passed local screenshots.",
        "Content commit: 056651612",
        "GitHub Pages workflow: run 29514480372 \u2014 successful",
        "Companion: https://blakedyer.github.io/cook_islands_2026/trip-report/progress/",
        "Web: https://blakedyer.github.io/cook_islands_2026/trip-report/?v=0566516124827de5c8fe8e9b073271a11aad91fe",
        "PDF: https://blakedyer.github.io/cook_islands_2026/data/documents/field/cook-islands-2026-initial-trip-report.pdf"
      ],
      "workflow_run": "29514480372",
      "real_play": "Chromium + Firefox \u00b7 phone + 200% text + full PDF",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.38",
      "date": "2026-07-16",
      "state": "Public; deployed and verified",
      "checkpoint": "Every island owns its field dates",
      "artifact": "4059944d61fb7a8f2a73e6f161bc68fe5fe95693; 42-page PDF; 11,287,002 bytes; SHA-256 7f046f346d8526305d5d34b0fcad479b4f46e0078ec791fe4f353d356086af47",
      "commit": "4059944d61fb7a8f2a73e6f161bc68fe5fe95693",
      "pdf_sha256": "7f046f346d8526305d5d34b0fcad479b4f46e0078ec791fe4f353d356086af47",
      "pdf_pages": 42,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Recomposed only the overview's five existing island/date blocks around their immutable geographic cutouts. Atiu reads to the left of its crop; Mitiaro is centered immediately above; Mauke, Rarotonga, and Mangaia read immediately below. Rarotonga now follows the approved target's island-first relationship instead of preceding its cutout.",
        "Quieted the date tier from 60 to 52 source pixels while retaining 76 px island names and 60 px utilities. At the real 286 px stress width, dates still project to 12.39 CSS pixels with 5.81:1 conservative contrast, a pale keyline, and restrained blurred shadow; the ordinary wide opening renders them at roughly 16.2 px.",
        "Preserved the exact five Web Mercator centers, crop boxes, real Esri pixels, 5\u00d7 magnification, every date string and two-line Rarotonga wording, compass, regional title, segmented scale, graticule, background, caption, credit, no-route/no-number decision, report copy, tally, photograph, shell, responsive/print order, and every section below the opening."
      ],
      "validation": [
        "The normalized manifest retains rc.37's exact locator_pixels, crop_boxes, crop effects, center offsets, sources, dates, and furniture. All 13 hard annotations remain collision-free across 78/78 checked pairs, and all conservative effect bounds remain contained.",
        "Direct 1536 px comparison with the approved target caught and corrected an initially ambiguous Mitiaro label. The final block is horizontally centered within one source pixel of Mitiaro's own crop; the four other curated adjacency relationships are locked by tests. The focused 69-test report suite passes after an offline overview-only render.",
        "Two independent offline overview-only renders reproduce the WebP and normalized manifest byte-for-byte at SHA-256 f7390978220498a568e972a145bc8162c08631cb7c7748336d0e1e3cdd29a3af and fff9addc7973e363986ded16c6711378f3ac47aea261e6573a44f9be8b44222e. All 187 repository tests, eight PDF-export tests, Python compilation, and whitespace checks pass.",
        "Fresh Chromium and Firefox reads at 1536 px, 390 px, and 320 px with a true 32 px root decode 69/69 images, contain all 72 figures and 68 captions, preserve exact width parity, and show all five island/date groups plus the compass, regional title, and full segmented scale clearly and without clipping. The companion passes both engines at 1440 px, 390 px, and enlarged text with exact rc.38/rc.37 identity, the ordered queue, 38 release states, and no overflow. Request and console logs are clean.",
        "The public PDF is 42 A4 pages, 11,287,002 bytes, and SHA-256 7f046f346d8526305d5d34b0fcad479b4f46e0078ec791fe4f353d356086af47. All 42 pages were raster-inspected; only page 2 differs from rc.37, and pages 1 and 3\u201342 are pixel-identical. All 6,740 words, 1,439 lines, and 902 blocks remain inside A4; all ten fonts remain embedded/subsetted/Unicode-mapped, with 32 annotations, 30 unique canonical URLs, and seven named destinations intact.",
        "GitHub Pages run 29508268001 completed successfully for content commit 4059944d61fb7a8f2a73e6f161bc68fe5fe95693; its only annotation is the inherited upstream Node.js 20-to-24 runtime warning. Cache-busted live report HTML, transitional companion HTML, field-guide CSS, progress CSS, report JSON, overview, manifest, progress JSON, and PDF match the exact Pages-mode build byte-for-byte at SHA-256 cb96c9e715e6044633f959d27f3114e266a28f4a4e2ebfc9d49cea88408cfe01, dd5d69ffa2d72145221d68792933e16b41108c53e9b26c5ead77713b8c0a4eee, c574a94bd447d3131157fcfb575ea3c6a2235bfa977abc9784f4743d7ba7b952, 09b65a7266d45b4292bcb7b8c74f2ac6b3d93195d0d0965496cccadc6d7248ac, a34e9d3537b05ab28939c02a3374d34e0644c48882c866bfdb826e2831d6a0ce, f7390978220498a568e972a145bc8162c08631cb7c7748336d0e1e3cdd29a3af, fff9addc7973e363986ded16c6711378f3ac47aea261e6573a44f9be8b44222e, b3db5c7973ef372625caf14fa39b3e1e51bbc0e650079d051c75b723e56fa452, and 7f046f346d8526305d5d34b0fcad479b4f46e0078ec791fe4f353d356086af47 respectively.",
        "Fresh live Chromium and Firefox repeat the report gate at 1536 px, 390 px, and 320 px with true 200% text: all 69 images, 72 figures, 68 captions, five island/date groups, map utilities, widths, and clean logs pass. The live companion independently repeats its strict 1440/390/320-root-32 gate with 38 contained release states and the exact transition into cycle 3."
      ],
      "release_record": [
        "Content commit: 4059944d6",
        "GitHub Pages workflow: run 29508268001 \u2014 successful",
        "Companion: https://blakedyer.github.io/cook_islands_2026/trip-report/progress/",
        "Web: https://blakedyer.github.io/cook_islands_2026/trip-report/?v=4059944d61fb7a8f2a73e6f161bc68fe5fe95693",
        "PDF: https://blakedyer.github.io/cook_islands_2026/data/documents/field/cook-islands-2026-initial-trip-report.pdf"
      ],
      "workflow_run": "29508268001",
      "real_play": "Chromium + Firefox \u00b7 desktop + phone + 200% text + full PDF",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.37",
      "date": "2026-07-16",
      "state": "Public; deployed and verified",
      "checkpoint": "The overview gains a calm atlas field",
      "artifact": "446f5288b4599a30d100ddd80cbe599b059fb75b; 42-page PDF; 11,296,435 bytes; SHA-256 b448f8f139c9dfd0a45698e9244f9223372a62893e8b700a4b2a5b499dc32ace",
      "commit": "446f5288b4599a30d100ddd80cbe599b059fb75b",
      "pdf_sha256": "b448f8f139c9dfd0a45698e9244f9223372a62893e8b700a4b2a5b499dc32ace",
      "pdf_pages": 42,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Rebuilt only the overview's background and factual furniture against the approved target. A deterministic warm-to-cool paper field and transparent grain now sit beneath the existing Web Mercator graticule; the grain is explicitly decorative and carries no bathymetric meaning.",
        "Replaced the heavy north arrow with a restrained compass rose, added the regional field title SOUTHERN COOK ISLANDS, and replaced the blunt 100 km bar with a segmented 0 \u00b7 50 \u00b7 100 \u00b7 150 km scale. Every utility remains publication-size, softly separated from the field, and fully contained.",
        "Preserved all five exact projected centers, centered 5\u00d7 real Esri cutouts, island/date labels and positions, work windows, route-free/no-number decision, external imagery credit, report copy, tally, photograph, responsive order, print order, and every report section below the opening."
      ],
      "validation": [
        "The overview manifest retains the exact rc.36 locator_pixels, crop_boxes, and crop-center offsets (all within 0.5 source pixel). It records 13 hard annotations, 13 conservative effect bounds, 78 collision checks, full containment, a 0\u2013150 km segmented scale, and the explicit non-bathymetric background description.",
        "At the real 286 px minimum map width, island names project to 18.11 CSS pixels and dates/utilities to 14.3 pixels. Conservative contrast remains 9.49:1 for navy labels/utilities and 5.81:1 for clay dates.",
        "A second offline overview-only render reproduces the WebP and normalized manifest byte-for-byte at SHA-256 d1b59fc3067d18e5e4212b1b5f8c42105288716d66179ee9dca198cfd7856db8 and c652eb0d78630c672beff102b8db13c4549991f1a13e4f0a2655de989c051cd4. All 187 repository tests, eight PDF-export tests, Python compilation, and whitespace checks pass.",
        "Fresh Chromium and Firefox reads of the real report at 1536 px, 390 px, and 320 px with a true 32 px root decode 69/69 images, contain all 72 figures and 68 captions, preserve exact width parity, and show the compass, regional title, all island/date labels, and full segmented scale without clipping. The companion passes both engines at 1440 px, 390 px, and the enlarged-text stress case with the exact candidate/verified identities, three-item queue, 37 release states, and no overflow. Request and console logs are clean.",
        "The candidate PDF is 42 A4 pages, 11,296,435 bytes, and SHA-256 b448f8f139c9dfd0a45698e9244f9223372a62893e8b700a4b2a5b499dc32ace. All 42 pages were raster-inspected. Only page 2 differs from rc.36 at 72 dpi; pages 1 and 3\u201342 are pixel-identical. All 6,740 words, 1,439 lines, and 902 blocks remain inside A4; all ten fonts remain embedded/subsetted/Unicode-mapped, with 32 annotations, 30 unique canonical URLs, and seven named destinations intact.",
        "GitHub Pages run 29503706632 completed successfully for content commit 446f5288b4599a30d100ddd80cbe599b059fb75b; the only annotations are inherited upstream Node.js 20-to-24 runtime warnings. Cache-busted live report HTML, transitional companion HTML, field-guide CSS, progress CSS, report JSON, overview, manifest, progress JSON, and PDF match the exact Pages-mode build byte-for-byte at SHA-256 5bd0a7277e6f335d3eff57154787cf868ffdca1170b77fb295f036c81daef29d, 3dada2ac59ec18af56d9d4936231ddbdaf1af4c5140d76f335251abcaaee78e6, c574a94bd447d3131157fcfb575ea3c6a2235bfa977abc9784f4743d7ba7b952, 09b65a7266d45b4292bcb7b8c74f2ac6b3d93195d0d0965496cccadc6d7248ac, bbf477907ead84c52ee941e94a0a448d83168d858e2769f77fe75a85e36f25e9, d1b59fc3067d18e5e4212b1b5f8c42105288716d66179ee9dca198cfd7856db8, c652eb0d78630c672beff102b8db13c4549991f1a13e4f0a2655de989c051cd4, 0a4f135bb6a420702b6b9afadb11b36b6c909e27672333f889b5add3f3271d06, and b448f8f139c9dfd0a45698e9244f9223372a62893e8b700a4b2a5b499dc32ace respectively.",
        "Fresh live Chromium and Firefox repeat the full report gate at 1536 px, 390 px, and 320 px with true 200% text: all images, figures, captions, map utilities, widths, and clean logs pass. The live companion independently repeats its strict 1440/390/320-root-32 gate with 37 contained release states and the exact transition into cycle 2."
      ],
      "release_record": [
        "Content commit: 446f5288b",
        "GitHub Pages workflow: run 29503706632 \u2014 successful",
        "Companion: https://blakedyer.github.io/cook_islands_2026/trip-report/progress/",
        "Web: https://blakedyer.github.io/cook_islands_2026/trip-report/?v=446f5288b4599a30d100ddd80cbe599b059fb75b",
        "PDF: https://blakedyer.github.io/cook_islands_2026/data/documents/field/cook-islands-2026-initial-trip-report.pdf"
      ],
      "workflow_run": "29503706632",
      "real_play": "Chromium + Firefox \u00b7 desktop + phone + 200% text + full PDF",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.36",
      "date": "2026-07-16",
      "state": "Public; deployed and verified",
      "checkpoint": "HS111 puts scale on the framework",
      "artifact": "260600a6d9a37d3207fab5012b6a6adbf1ca8d6d; 42-page PDF; 11,262,207 bytes; SHA-256 1eb648835be5ac8c57bc39da99c96981b4d4fbbc4afdbf1b2d75ac9bd963294a",
      "commit": "260600a6d9a37d3207fab5012b6a6adbf1ca8d6d",
      "pdf_sha256": "1eb648835be5ac8c57bc39da99c96981b4d4fbbc4afdbf1b2d75ac9bd963294a",
      "pdf_pages": 42,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Replaced HS111's access-route primary frame with the already accepted close photograph of branching coral and a ruler. The orthomosaic remains the dominant site evidence; the existing photo slot, 4:3 geometry, reading order, disclosure, and print cadence do not change.",
        "Bound that role to exact photo ID 2026-06-02-mangaia-hs111-irovua-framework-08-57-15-0-144168 instead of changing global chronological ordering. The build now fails if the configured photograph is no longer attached to HS111.",
        "Added concise report-only caption and alternative text describing the ruler's scale role. The raw photograph, XMP, accepted photo record, recorder transcript, GPS point, daily-log caption, and global survey-detail filter remain unchanged."
      ],
      "validation": [
        "The accepted Olympus TG-5 source was captured at 13:57:15, lies 0.55 m from recorder point MANGAIA-20260602-RN-023, and is 15 seconds from its accepted caption. SHA-256 values lock the raw photograph (4d55b23ead087677074292fbe49a7cc63496a33f4257a62019bf0b6d8d8220e6), XMP (769fc42be8907574b6d20dac057fe93b0f27320b49934af8b4dd8f2ab2dcf42d), normalized display (0fbe1cb290bc39454ff00c6535bc2f4eee0b233ee34690d0e4ef0382436b78e4), and thumbnail (4cf3ef2cbcc107619c9f3bcc120f6a390f31da0fdff36b4a943a5c16711df22a).",
        "Independent local Chromium and Firefox reads pass at 1536 px, 390 px, and 320 px with a true 32 px root. All 69 images decode; all 72 figures and 68 captions remain contained; document and viewport widths match exactly; the HS111 deep link clears the shell; and isolated stable-load consoles, failed-request logs, and HTTP error logs are empty. The ruler frame and caption are clear at every size, while the orthomosaic remains visually dominant on desktop.",
        "A final direct read of the companion at 320 px with a true 32 px root caught candidate-status pills extending 13.19 px past the viewport even though the page itself retained width parity; Firefox then exposed the same intrinsic-column pressure in the NOW panel. The compact NOW panel and release ledger now use shrinkable one-column tracks, and long statuses wrap inside their cards. Corrected Chromium and Firefox reads at 1440 px, 390 px, and the enlarged-text stress case have zero element overflow, exact width parity, a decoded map, and clean request and console logs.",
        "The exact Pages-mode build produces 102 HTML pages. All 84 focused report/progress/PDF-export checks and all 187 repository tests pass; the configured-photo regression also proves an unattached ID fails closed. Python compilation and git diff --check pass.",
        "The candidate PDF remains 42 A4 pages, 11,262,207 bytes, SHA-256 1eb648835be5ac8c57bc39da99c96981b4d4fbbc4afdbf1b2d75ac9bd963294a. All 42 pages were raster-inspected; only page 21 differs from rc.35 at 72 dpi, and the other 41 pages are pixel-identical. Direct inspection confirms the new frame and caption are clear. All 6,740 words, 1,439 lines, and 902 blocks remain inside A4; all ten fonts are embedded, subsetted, and Unicode-mapped; and 32 annotations, 30 unique canonical HTTPS targets, and seven named destinations remain intact.",
        "The user-selected hero/map concept, rc.35 opening, all 30 maps, all other site plates, raw evidence, daily and historical pages, and the user's unrelated photo-sync, timestamp-tool, and photo-sync-test edits remain outside this checkpoint.",
        "GitHub Pages run 29499458713 completed successfully for final corrective commit 260600a6d9a37d3207fab5012b6a6adbf1ca8d6d. Build and deploy passed; the only annotations are inherited upstream Node.js 20-to-24 runtime warnings. Earlier run 29498533582 successfully deployed the HS111 content commit, but the companion overflow found in its final visual read correctly kept rc.36 from promotion until the corrective build passed.",
        "Cache-busted live report HTML, transitional companion HTML, field-guide CSS, progress CSS, report JSON, overview, manifest, progress JSON, and PDF match the exact corrective Pages-mode build byte-for-byte at SHA-256 4cb30f550ad8d139c3f2e4b75fb0151ccb9e1039c4d8b643cb739c5dc3d8dc6d, c96084e9d02e851213d93827311383880d4a7750857ecb11f0b2c9edadc8cf6d, c574a94bd447d3131157fcfb575ea3c6a2235bfa977abc9784f4743d7ba7b952, 09b65a7266d45b4292bcb7b8c74f2ac6b3d93195d0d0965496cccadc6d7248ac, eb4ec414d26318f0727e4889baf057ca27965e4a35d37356923ff7d1f55e9867, aa3fa0c41fa02aa4871ff9fa0967f93a11f757e07b51125b3743663713d8e830, 2c54709724be32568ccd1cfb1066cc9d1af3cc6185c6ca1e58c37b35ace6ec7f, 50b8dab6c7192680a44f9d1d5fb5302e390efea24c43bf81771894540707a26e, and 1eb648835be5ac8c57bc39da99c96981b4d4fbbc4afdbf1b2d75ac9bd963294a respectively.",
        "Fresh live Chromium and Firefox reads at 1536 px, 390 px, and 320 px with true 200% text (a 32 px root) decode all 69 images, contain all 72 figures and 68 captions, preserve exact document/viewport width parity, and show the exact HS111 photograph. The live companion independently passes at 1440 px, 390 px, and the enlarged-text stress case with zero element overflow, 36 contained release states, a decoded map, and clean request and console logs."
      ],
      "release_record": [
        "Content commit: 260600a6d",
        "GitHub Pages workflow: run 29499458713 \u2014 successful",
        "Companion: https://blakedyer.github.io/cook_islands_2026/trip-report/progress/",
        "Web: https://blakedyer.github.io/cook_islands_2026/trip-report/?v=260600a6d9a37d3207fab5012b6a6adbf1ca8d6d",
        "PDF: https://blakedyer.github.io/cook_islands_2026/data/documents/field/cook-islands-2026-initial-trip-report.pdf"
      ],
      "workflow_run": "29499458713",
      "real_play": "Chromium + Firefox \u00b7 desktop + phone + 200% text + full PDF",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.35",
      "date": "2026-07-16",
      "state": "Public; deployed and verified",
      "checkpoint": "The opening unites geography, promise, and field evidence",
      "artifact": "ef9c3f6fce3f160a8039d32c987c368a1f2516e6; 42-page PDF; 11,270,365 bytes; SHA-256 5ecd3bc4be2ca5716e90505afd26fdcec581b143a19394bd3412d0c36966abba",
      "commit": "ef9c3f6fce3f160a8039d32c987c368a1f2516e6",
      "pdf_sha256": "5ecd3bc4be2ca5716e90505afd26fdcec581b143a19394bd3412d0c36966abba",
      "pdf_pages": 42,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Rebuilt the opening around the approved visual target as one wide map/title/field-photo composition. The established chapter rail, report promise, audience, expedition tally, accepted Anaraura photograph, compact reading order, collapsed mobile navigation, and print sequence remain intact.",
        "Replaced the overview's route curves, leaders, anchors, and stop numbers with a quiet geographic field of five real satellite cutouts. Each cutout remains centered on its exact projected island location and uses the same 5\u00d7 magnification, while relative geography is preserved by the projected centers.",
        "Added calm island name-and-date labels for Atiu May 25\u201329, Mangaia June 1\u20135, Mauke June 5\u20138, Mitiaro June 8\u201312, and Rarotonga's four documented windows. The Rarotonga caption and alternative text distinguish the June 3\u20135 split-team commitments from the travel-stay sequence.",
        "Increased the wide opening's visual weight without copying generated evidence: the tracked concept controls composition and tone only; the public map uses repository dates, verified coordinates, cached Esri imagery, deterministic rendering, and the real field photograph.",
        "Kept the progress companion's caption clear of the cartography: it occupies the overview's blank upper-left field on wide screens and follows the complete map in normal flow at phone and enlarged-text widths, leaving every name, date, north arrow, and scale unobscured."
      ],
      "validation": [
        "The overview manifest records a 1200 \u00d7 2400 Web Mercator figure, exact centers for all five islands, centered crop offsets no greater than 0.5 source pixel, collision-free and fully contained hard/effect bounds, and no route, leader, anchor, arrow, or stop-number metadata.",
        "At the real 286 px minimum report width, embedded island names project to 18.11 CSS pixels and dates/utilities to 14.3 pixels; the conservative label contrast ratios are 5.81:1 and 9.49:1. All five satellite cutouts and all date labels remain visible in the direct minimum-width map capture.",
        "Independent local Chromium and Firefox reads at 1536 px, 390 px, and 320 px with true 200% root text decode all 69 report images, contain all 72 figures and 68 captions, preserve exact viewport-width parity, and keep every overview name, date, island, utility, caption, and credit visible. The wide composition closely matches the selected target; compact order remains title \u2192 map \u2192 support \u2192 photograph, and the enlarged-text header/index correctly become static.",
        "The progress companion now names the route-free figure truthfully, constrains the portrait map to a usable 30 rem desktop column, and uses the report's compact-text containment pattern. A direct visual read of the first cache-busted deployment caught its bottom overlay covering the scale even though DOM containment passed; the corrected desktop caption sits above the first map label and the phone/enlarged-text caption follows the image. At 320 px + true 200% text, its header is static, display title reflows, document width equals viewport width, and no tested text or visual leaves the viewport.",
        "The exact Pages-mode build produces 102 HTML pages. All 82 focused report/progress/PDF-export tests and all 185 repository tests pass. An offline overview rerender reproduces the committed map and manifest byte-for-byte at SHA-256 aa3fa0c41fa02aa4871ff9fa0967f93a11f757e07b51125b3743663713d8e830 and 2c54709724be32568ccd1cfb1066cc9d1af3cc6185c6ca1e58c37b35ace6ec7f.",
        "Source and generated-public PDFs are byte-identical: 42 A4 pages, 11,270,365 bytes, SHA-256 5ecd3bc4be2ca5716e90505afd26fdcec581b143a19394bd3412d0c36966abba. All 42 pages were raster-inspected; all 6,748 words, 1,441 lines, and 902 blocks remain inside A4; ten font subsets are embedded, subsetted, and Unicode-mapped; and 32 annotations, 30 unique canonical HTTPS targets, and seven named destinations remain intact. Pages 1\u20132 carry the intended material changes, page 3 retains exact text with only 528 low-amplitude raster pixels changed, and pages 4\u201342 are pixel-identical to rc.34 at 72 dpi.",
        "The user's existing photo-sync, timestamp-tool, and photo-sync-test edits remain outside this checkpoint.",
        "GitHub Pages run 29492975060 completed successfully for final corrective content commit ef9c3f6fce3f160a8039d32c987c368a1f2516e6. Build and deploy passed; the only annotations are inherited upstream Node.js 20-to-24 runtime warnings, with no report error. Earlier run 29491639866 successfully deployed the main opening at 4320b6147165ca6feb1a31c820f6f3478c2596ec, but the companion scale occlusion found in its visual read correctly kept rc.35 from promotion until the corrective commit passed.",
        "Cache-busted live report HTML, transitional companion HTML, field-guide CSS, progress CSS, overview, manifest, progress JSON, and PDF match the exact corrective Pages-mode build byte-for-byte at SHA-256 a30ee281665be344d1e15a9b5b5e455adf76e9a7b4724a27eca07c31edc25f65, 23391a226276116122ab16e730695f7d5955935247871f7f268863daadaf0263, c574a94bd447d3131157fcfb575ea3c6a2235bfa977abc9784f4743d7ba7b952, 4241b59cbc086c341f1f21d15d2630a98f3558740dd40d162373e6dbc2679c30, aa3fa0c41fa02aa4871ff9fa0967f93a11f757e07b51125b3743663713d8e830, 2c54709724be32568ccd1cfb1066cc9d1af3cc6185c6ca1e58c37b35ace6ec7f, 8f1ce71c258289a7c10ff5bdfd1d52828eb75f04716fbb9f70add6211a1b7d37, and 5ecd3bc4be2ca5716e90505afd26fdcec581b143a19394bd3412d0c36966abba respectively.",
        "Fresh live Chromium and Firefox reads reproduce the report gate at 1536 px, 390 px, and 320 px + true 200% text: all 69 images decode, all 72 figures and 68 captions remain contained, document width equals viewport width, compact order remains title \u2192 map \u2192 support \u2192 photograph, and every overview label, date, island, north arrow, and scale remains visible. The final live companion passes at 1440/1536 and 390 px in both engines; its 304 \u00d7 83.9 px wide caption clears all map content, its phone caption follows the 390 \u00d7 780 px image, and stable-load consoles and request logs are clean."
      ],
      "release_record": [
        "Content commit: ef9c3f6fc",
        "GitHub Pages workflow: run 29492975060 \u2014 successful",
        "Companion: https://blakedyer.github.io/cook_islands_2026/trip-report/progress/",
        "Web: https://blakedyer.github.io/cook_islands_2026/trip-report/?v=ef9c3f6fce3f160a8039d32c987c368a1f2516e6",
        "PDF: https://blakedyer.github.io/cook_islands_2026/data/documents/field/cook-islands-2026-initial-trip-report.pdf"
      ],
      "workflow_run": "29492975060",
      "real_play": "Chromium + Firefox \u00b7 desktop + phone + 200% text + full PDF",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.34",
      "date": "2026-07-16",
      "state": "Public; deployed and verified",
      "checkpoint": "Island context maps become quiet and legible",
      "artifact": "50f4567b530a849a4fc18634134b5a4253a50a48; 42-page PDF; 11,239,251 bytes; SHA-256 9cae913de2873ce076e565fba1aca1639723385ef615dea36062e67a303a236b",
      "commit": "50f4567b530a849a4fc18634134b5a4253a50a48",
      "pdf_sha256": "9cae913de2873ce076e565fba1aca1639723385ef615dea36062e67a303a236b",
      "pdf_pages": 42,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Rebuilt the four existing island context maps around quiet continuous route segments. Rounded clay lines replace the jagged dash rhythm while retaining all 15 daily route sources, 5,766 raw GPS positions, 32 rendered segments, 22 recording gaps, chronology, and endpoints.",
        "Replaced bitmap microtype with contained publication-size callouts: site labels use 112 source pixels, tide-gauge and utility labels use 108, and coincident site/gauge positions become deliberate composite callouts rather than overlapping symbols.",
        "Moved the marker key and full Esri/Maxar/Earthstar/GIS User Community credit into accessible report text. Redundant bitmap headers, legends, and credits no longer compete with the map itself.",
        "Used restrained translucent navy-to-transparent plates, blurred shadows, and short leaders to separate labels from imagery. Every hard annotation, conservative effect bound, and leader clears the canvas and other map geometry.",
        "Released the shared header and mobile chapter index from sticky positioning only under the existing 19 rem text-enlargement container gate. This closes an occlusion found during the real 320 px + 200% text inspection without changing ordinary desktop or phone behavior.",
        "Preserved the satellite sources, island bounds, route evidence, figure order, 42-page cadence, report promise, and all raw field data. The overview and all 25 site-map assets remain byte-identical to rc.33."
      ],
      "validation": [
        "The normalized manifest records Atiu 11/1,537/6, Mangaia 7/1,898/6, Mauke 3/1,164/0, and Mitiaro 11/1,167/10 for rendered segments/raw points/recording gaps. Their totals exactly match the 32/5,766/22 source audit, and the renderer preserves five isolated positions as intentionally unconnected evidence rather than inventing lines.",
        "At the real 286 px minimum report width, site and utility labels project to 14.56 and 14.04 CSS pixels; in the PDF they project to 12.68 and 12.22 points. The conservative translucent-plate contrast floor is 4.85:1. Collision, containment, route-gap, leader-clearance, external-key, and unchanged nonchapter-asset gates pass for all four maps.",
        "Local Chromium and Firefox reads at 1440 px, 390 px, and combined 320 px + true 200% text decode all 69 images, contain all 72 figures and 68 captions, preserve exact viewport-width parity, and keep all four map images, labels, keys, and credits visible. The enlarged-text audit found and closed the sticky-chrome occlusion before release.",
        "The exact Pages-mode build produces 102 HTML pages. All 184 repository tests pass, including real renderer execution, minimum-label floors, contrast, collision and leader geometry, route provenance, nonchapter-asset preservation, external key semantics, and enlarged-text sticky-chrome regression coverage.",
        "Source and generated-public PDFs are byte-identical: 42 A4 pages, 11,239,251 bytes, SHA-256 9cae913de2873ce076e565fba1aca1639723385ef615dea36062e67a303a236b. Only pages 7, 16, 26, and 34 differ from rc.33; the other 38 pages are pixel-identical. Every page and the four changed chapter pages were inspected directly at print scale.",
        "The user's existing photo-sync, timestamp-tool, and photo-sync-test edits remain unstaged and outside this checkpoint.",
        "GitHub Pages run 29482030698 completed successfully for exact content commit 50f4567b530a849a4fc18634134b5a4253a50a48. Build and deploy passed; the only annotation is the inherited upstream Node.js 20-to-24 runtime warning, with no report error.",
        "Cache-busted live report HTML, transitional companion HTML, field-guide CSS, map manifest, progress JSON, and PDF match the exact Pages-mode build byte-for-byte at SHA-256 56298278f0d8ebdc7b8d38fe5236a8447f441df88a0e30957c9eadec840e6849, af7020ece495f000eccd44266e92010bd3aa92175d06adb9db1dd192e7edd9fd, 9e28a5f0fa98af4348d3489479feb9e23955ccc144a0a11d248ae0ce7f16df74, f97f73e3623cc36c8e078115b46a2fec128716572eb7b1dfc7e91b050d347795, 4e25b7eb91d3f58f6ba5721826a07aa7bc253758e9074cfa4bc818a3f0fe4557, and 9cae913de2873ce076e565fba1aca1639723385ef615dea36062e67a303a236b respectively. The four live map hashes also exactly match the committed assets.",
        "Fresh live Chromium and Firefox reads reproduce the complete report gate at 1440 px, 390 px, and combined 320 px + true 200% text. All 69 images decode, all 72 figures and 68 captions remain contained, the four island maps and all 36 rendered key items remain visible, document width equals viewport width, enlarged-text chrome remains non-occluding, and isolated final-state runs report no application console, page, request, or HTTP error.",
        "Before receipt promotion, the live companion correctly presents rc.34 as the candidate, rc.33 as latest verified, HS111 as paused for inspection, and exactly three ordered next ideas at desktop and phone widths in both engines. This receipt promotes rc.34 without starting HS111 or changing the queue.",
        "The exact receipt build produces a promoted companion at SHA-256 781df54c8caa9874c73cba24be4ed4bece1a9e2c6a4ec7c3f57faf82c6868563. It presents rc.34 as both candidate/latest and latest verified, retains the paused HS111 direction and three-item queue, and remains contained at desktop and phone widths."
      ],
      "release_record": [
        "Content commit: 50f4567b5",
        "GitHub Pages workflow: run 29482030698 \u2014 successful",
        "Companion: https://blakedyer.github.io/cook_islands_2026/trip-report/progress/",
        "Web: https://blakedyer.github.io/cook_islands_2026/trip-report/?v=50f4567b530a849a4fc18634134b5a4253a50a48",
        "PDF: https://blakedyer.github.io/cook_islands_2026/data/documents/field/cook-islands-2026-initial-trip-report.pdf"
      ],
      "workflow_run": "29482030698",
      "real_play": "Chromium + Firefox \u00b7 desktop + phone + 200% text + full PDF",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.33",
      "date": "2026-07-15",
      "state": "Public; deployed and verified",
      "checkpoint": "The title opens without a translation matrix",
      "artifact": "aac8ef2fd366127b7774e39a49616fa1fa091dfb; 42-page PDF; 11,165,882 bytes; SHA-256 1b72efc8f1d4ca249665930f705184515dc7b58c0935394d0b750ac566daf4d6",
      "commit": "aac8ef2fd366127b7774e39a49616fa1fa091dfb",
      "pdf_sha256": "1b72efc8f1d4ca249665930f705184515dc7b58c0935394d0b750ac566daf4d6",
      "pdf_pages": 42,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Removed the one-off opening Rarotongan/English Kite / Post-trip field report matrix and its ornamental site symbol, allowing the report title to become the first content in the hero.",
        "Removed the now-unused template macro and all report-only matrix styles rather than hiding the device or replacing it with another ceremonial label system.",
        "Preserved the exact title, initial-report promise, audience, date, expedition counts, overview, hero photograph, community context, Field Notebook Atlas identity, and every verified island and place name.",
        "Let the established responsive and print grids close the vacated space naturally. No hero dimensions, type scale, evidence order, navigation, map, photograph, or scientific claim changed."
      ],
      "validation": [
        "Source and rendered-output contracts confirm that the matrix had one macro, one hero call, and no scientific or place-name dependency. The candidate contains no .trip-kicker selector or markup, lang=\"rar\" matrix token, Rarotongan matrix label, or Kite; the h1 directly opens the hero copy.",
        "Compared with Direction A, Direction B, the implemented reference, and rc.32 at 1440 px, 390 px, and combined 320 px + true 200% text, the title-first candidate is quieter without introducing another eyebrow, badge, symbol, or translation treatment. Independent Chromium and Firefox reads retain exact viewport-width parity, decode all 69 images, contain all 72 figures and 68 captions, and find no painted text, image, or figure outside the viewport. Firefox consoles are clear; Chromium's only local noise is the browser's automatic undeclared /favicon.ico request, not a report asset.",
        "The exact Pages-mode candidate build still produces 102 pages. Report HTML is 175,241 bytes at SHA-256 3b637b7acd392440ee2ef815fcc6703069d2d644cd3b72aee7133f68fa6010b0; field-guide CSS is 393,057 bytes at 1019be5b253443577271c88b45c08ae240c2faece3c771ee8a7cccf6a4607b88. All report content and CSS removed by the checkpoint belongs to the retired matrix.",
        "Source and generated-public candidate PDFs are byte-identical: 42 A4 pages, 11,165,882 bytes, SHA-256 1b72efc8f1d4ca249665930f705184515dc7b58c0935394d0b750ac566daf4d6. All ten fonts remain embedded, subsetted, and Unicode-mapped; all 6,709 word boxes, 1,429 line boxes, and 890 block boxes remain inside A4.",
        "The PDF text layer equals rc.32 after removing only six matrix tokens. Only page 1 changes at 144 and 96 dpi; pages 2\u201342 are pixel-identical. Every page was raster-inspected; the title-first cover, all-page contact sheet, 32 annotations/30 canonical HTTPS targets, and seven named destinations pass direct inspection.",
        "All 69 focused report and PDF-export tests and all 179 repository tests pass. Before receipt promotion, the local companion presented rc.33 as the validated candidate and rc.32 as latest verified, exposed route breadcrumbs as NOW with exactly three ordered next checkpoints, and remained readable and contained at 1440 px and 390 px in Chromium and Firefox.",
        "GitHub Pages run 29474025126 completed successfully for exact content commit aac8ef2fd366127b7774e39a49616fa1fa091dfb. Build and deploy both passed; the only annotation is the inherited upstream Node.js 20-to-24 runtime warning, with no report error.",
        "Cache-busted live report HTML, transitional companion HTML, field-guide CSS, and PDF match the exact Pages-mode build byte-for-byte. Their SHA-256 values are respectively 3b637b7acd392440ee2ef815fcc6703069d2d644cd3b72aee7133f68fa6010b0, 8abd86f3f249de2b169af14e9743bc0dcd064818ca571fb5d859c4e9a5517b69, 1019be5b253443577271c88b45c08ae240c2faece3c771ee8a7cccf6a4607b88, and 1b72efc8f1d4ca249665930f705184515dc7b58c0935394d0b750ac566daf4d6.",
        "Fresh live Chromium and Firefox reads reproduce the complete report gate at 1440 px, 390 px, and combined 320 px + true 200% text. All 69 images decode, all 72 figures and 68 captions remain contained, document width equals viewport width, the title-first hierarchy remains intact, and no application console or request error appears.",
        "Before receipt promotion, the live progress companion correctly presents rc.33 as candidate, rc.32 as latest verified, route breadcrumbs as NOW, and exactly three ordered next checkpoints at 1440 px and 390 px in both engines. This receipt promotes rc.33 to latest verified without changing the NOW item or queue."
      ],
      "release_record": [
        "Content commit: aac8ef2fd",
        "GitHub Pages workflow: run 29474025126 \u2014 successful",
        "Companion: https://blakedyer.github.io/cook_islands_2026/trip-report/progress/",
        "Web: https://blakedyer.github.io/cook_islands_2026/trip-report/?v=aac8ef2fd366127b7774e39a49616fa1fa091dfb",
        "PDF: https://blakedyer.github.io/cook_islands_2026/data/documents/field/cook-islands-2026-initial-trip-report.pdf"
      ],
      "workflow_run": "29474025126",
      "real_play": "Chromium + Firefox \u00b7 desktop + phone + 200% text + full PDF",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.32",
      "date": "2026-07-15",
      "state": "Public; deployed and verified",
      "checkpoint": "The overview distinguishes geography from magnification",
      "artifact": "5dffa12553f10be15f1424de7d81ca9de2a384a3; 42-page PDF; 11,166,556 bytes; SHA-256 45c379a9d8fb37bce33eb7a05a6c279ffe69041b38885a28a7fb1598210411f7",
      "commit": "5dffa12553f10be15f1424de7d81ca9de2a384a3",
      "pdf_sha256": "45c379a9d8fb37bce33eb7a05a6c279ffe69041b38885a28a7fb1598210411f7",
      "pdf_pages": 42,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Rebuilt the existing five-island overview around exact projected anchor dots. The source coordinates, Web Mercator field, seven directional transfers, eight-stop sequence, one-map opening role, and uniformly magnified 5\u00d7 satellite imagery remain unchanged.",
        "Moved the satellite crops into explicit offset callouts with restrained leaders, so their frames no longer imply geographic footprints. Rarotonga, Atiu, Mangaia, Mauke, and Mitiaro retain their correct west/east and north/south relationships at the anchor dots.",
        "Replaced the frame-edge line fan and seven floating arrowheads with five smooth, continuous, undirected corridors. Stop numbers retain the directional sequence without jagged breadcrumb dashes or decorative arrowheads.",
        "Removed the redundant embedded map title and micro-attribution. The report heading supplies context, while the complete satellite credit remains in the readable HTML/PDF figcaption.",
        "Raised every embedded island name, stop number, north label, and scale label to at least 12.4 CSS pixels at a conservative 254 px validation width, below the final 286 px enlarged-text render. The darker clay stop color clears 4.5:1 contrast, and restrained blurred shadows remain subordinate to the cartography."
      ],
      "validation": [
        "The renderer records distinct hard-content and conservative visual-effect bounds for all five callouts, five anchors, five labels, north arrow, and scale bar. It rejects every hard annotation collision, off-canvas blur/halo, or sampled route crossing within a 12 px source clearance.",
        "The committed manifest preserves all five exact coordinates and seven source route legs, derives five explicitly undirected corridor edge sets whose leg counts sum to seven, and records the complete eight-stop route in both visible labels and alt text.",
        "Complete local Chromium and Firefox reads contain all 69 report images, 72 figures, and 68 captions at 1440 px, 390 px, and combined 320 px + true 200% text. Document width equals viewport width, the map renders at approximately 606, 356, and 286 px respectively, and all labels, callouts, anchors, corridors, caption text, and credit remain visible and contained. Final browser consoles are clear.",
        "The first live 320 px + true 200% text audit found that the report shell's horizontal clip masked inherited min-content overflow in the brand, bilingual kicker, introduction, research cards, and Firefox glossary. The corrective build uses zero-minimum compact tracks and a text-enlargement-only container gate for viewport-capped header, display-type, icon, gap, and padding geometry; both engines show the complete text instead of merely reporting a 320 px document width. Normal desktop and 320/390 px phone layouts were revalidated and retain the established composition.",
        "Source, generated-public, and live PDFs are byte-identical: 42 A4 pages, 11,166,556 bytes, SHA-256 45c379a9d8fb37bce33eb7a05a6c279ffe69041b38885a28a7fb1598210411f7. Every page was rasterized into a contact sheet, and the changed page 2 was inspected directly. The overview labels, exact anchors, callouts, smooth routes, scale, north arrow, caption, and credit remain clear and contained; the other 41 established pages retain their expected composition.",
        "A real renderer regression test now runs the full Pillow and geometry path with mocked satellite pixels, alongside exact source-coordinate, corridor-provenance, all-category collision, visual-effect containment, route-clearance, minimum-type, contrast, and committed-asset dimension gates.",
        "All 179 repository tests pass, including the compact-track regression and final rc.32 deployed/latest alignment; the predeployment build separately proved the rc.32 candidate/rc.31 live separation. Python syntax, git diff --check, the exact 102-page Pages-mode build, source/public PDF equality, map/manifest hashes, full PDF inspection, and local Chromium/Firefox gates pass.",
        "The user's existing photo-sync, timestamp-tool, and photo-sync-test edits remain unstaged and outside this checkpoint.",
        "GitHub Pages run 29471292444 completed successfully for exact content commit 5dffa12553f10be15f1424de7d81ca9de2a384a3. Build and deploy both passed; the only annotation is the inherited upstream Node.js 20-to-24 runtime warning, with no report error.",
        "Cache-busted live content-run artifacts match the exact Pages-mode build byte-for-byte. Report HTML is SHA-256 7a587b1e58dee2b86c703574f8098c5d52a27c7f4c334ed7644b2368d4755f1d; the transitional companion HTML is 0f791801bfa0fbe3df3971ef0cfb7bd8d45e48462cd8d1adb303a4063b22919a; field-guide CSS is 238bda632656edd3528597260644d38f895067d9301af834b54976744f04507d; the overview WebP is f3b8902988b528c7a5247180a1c66936bfa0a573827182668311ed760fd78e32; and the normalized map manifest is de01adb03cb50154c49931ddc03e3c045820faa29e513adee5edb6455bee43cb.",
        "Fresh live Chromium and Firefox reads reproduce the complete report gate at 1440 px, 390 px, and combined 320 px + true 200% text. All 69 report images decode; all 72 figures and 68 captions remain contained; document width equals viewport width; every painted text and image box remains inside the 320 px stress viewport; the overview and its publication-size labels remain clear; and browser error arrays are empty.",
        "Before receipt promotion, the separate public progress companion correctly exposes rc.32 as the validated candidate, rc.31 as latest verified, translation-matrix removal as NOW, and exactly three ordered next ideas at desktop and 390 px in both live engines. This receipt build promotes rc.32 to latest verified while preserving the same NOW item and queue. Its inherited combined 320 px + true 200% min-content clipping remains separate technical debt and is not claimed as passing."
      ],
      "release_record": [
        "Content commit: 5dffa1255",
        "GitHub Pages workflow: run 29471292444 \u2014 successful",
        "Companion: https://blakedyer.github.io/cook_islands_2026/trip-report/progress/",
        "Web: https://blakedyer.github.io/cook_islands_2026/trip-report/?v=5dffa12553f10be15f1424de7d81ca9de2a384a3",
        "PDF: https://blakedyer.github.io/cook_islands_2026/data/documents/field/cook-islands-2026-initial-trip-report.pdf"
      ],
      "workflow_run": "29471292444",
      "real_play": "Chromium + Firefox \u00b7 desktop + phone + 200% text + full PDF",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.31",
      "date": "2026-07-15",
      "state": "Public; deployed and verified",
      "checkpoint": "HS117 puts the field note on the contact",
      "artifact": "d4ab79e5a852d4bda834af46ed8ebd564e323bd9; 42-page PDF; 11,107,896 bytes; SHA-256 5816efae89d8f7741edc5d695200c318a5fd9f0cd5198f3421df6b4568d419ba",
      "commit": "d4ab79e5a852d4bda834af46ed8ebd564e323bd9",
      "pdf_sha256": "5816efae89d8f7741edc5d695200c318a5fd9f0cd5198f3421df6b4568d419ba",
      "pdf_pages": 42,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Added one restrained HS117 field-note evidence strip beneath the existing orthomosaic-led plate. The accepted 13:29 photograph is tied to the 13:30 recorder note and the exact June 6 daily-log event rather than becoming a gallery or parallel photo system.",
        "Marked only the recorded contact surface and corals noted directly on it. Two numbered markers remain inside an 8\u201392% safe area; the complete labels sit in the adjacent legend instead of covering the geology.",
        "Replaced the report-only primary HS117 caption that called the colonies \u201cPorites-like\u201d and said they had \u201creoccupied\u201d the contact. The report now states only that coral colonies occur around an irregular contact and keeps their growth position unresolved; the accepted daily-log record remains unchanged.",
        "Preserved the orthomosaic as the first and dominant site image, the existing site-map evidence, all raw field records, and the 25-plate report structure."
      ],
      "validation": [
        "The feature resolves the photograph by exact accepted photo ID and fails closed if the configured photo, local daily-record route, focal position, required copy, or one-to-three safe-area markers are invalid. The final report uses the verified 904 \u00d7 1200 display rendition, not the 361 \u00d7 480 thumbnail or an inferred URL.",
        "Complete Chromium and Firefox reads at 1440 px, 390 px, and combined 320 px + 200% text retain exact viewport-width parity and contain all 72 report figures. The changed image, both markers, both adjacent labels, cautious copy, and exact daily-note target pass; no console, request, page, or HTTP error remains. The stress read caught and closed a two-column legend overflow before release.",
        "The final PDF is 42 A4 pages and 11,107,896 bytes; SHA-256 5816efae89d8f7741edc5d695200c318a5fd9f0cd5198f3421df6b4568d419ba. Source and public copies are byte-identical. All 42 PDF pages were raster-inspected; all 1,438 extracted text boxes remain within their page; all fonts are embedded; 32 link annotations resolve to 30 canonical project HTTPS targets; and all seven named destinations remain intact.",
        "Only page 29 differs from rc.30; pages 1\u201328 and 30\u201342 are pixel-identical, including the HS118 transition. The feature body is 8.5 pt, its legend and footer are 8 pt, and both image-marker numerals are 8 pt. Direct physical-A4 inspection confirms every new label is comfortably readable and contained.",
        "All 177 repository tests pass, including exact photo/copy/focal-position/marker contracts, safe-area and local-route failure gates, responsive and print type rules, PDF-link canonicalization, and the release-state contracts. The exact Pages-mode build produces 102 pages.",
        "The user's three existing photo-sync/timestamp files remain unstaged and untouched.",
        "GitHub Pages run 29462603294 completed successfully for exact content commit d4ab79e5a852d4bda834af46ed8ebd564e323bd9. Build and deploy both passed; the only annotations are the inherited upstream Node.js 20-to-24 runtime warnings, with no report error.",
        "Cache-busted live artifacts match the exact content build byte-for-byte. Report HTML is SHA-256 b6433bd07f04482b7ec69b2c93f32fa8cc1e451f0153b750bc4148bfc35771a5; companion HTML is acff8c75bda59b3288e4661eb85c8b0313575606cc26caaf93599300638c03ac; report JSON is 419a670dac6178f7ac3b8fcf02e7c690a708306ebdf57dc623519c7646956f8e; progress JSON is bda4b7ae3778ff4c083b43571e1f134382f04517745b0b9fbbc12663f97343f3; field-guide CSS is 210a7694047664414adc279bebf1226c8195a167be77b75422f5fa7c3ee787ed; and the exact June 6 daily page is d567547ae78a84925376bea776a545f9b0f64e70b565ac83f97b18c564b99c31.",
        "Fresh live Chromium and Firefox reads reproduce the complete report gate at 1440 px, 390 px, and combined 320 px + 200% text. All 69 report images decode; all 72 figures remain contained; the 904 \u00d7 1200 HS117 display image, crop, two markers, two labels, cautious copy, orthomosaic-first order, and two exact daily links agree with the release. The daily target returns HTTP 200 and resolves uniquely. Document width equals viewport width, and console, page, request, and HTTP-error arrays are empty.",
        "The separate public progress companion correctly exposes rc.31, the overview-map NOW item, and the exact three-item queue at desktop and 390 px in both live engines. Its inherited min-content clipping under the combined 320 px + true 200% text stress setting remains recorded technical debt; this receipt does not claim that companion-only extreme as passing and does not confuse it with the report's successful stress gate.",
        "The public PDF serves 42 A4 pages and is byte-identical to both retained copies at 11,107,896 bytes and SHA-256 5816efae89d8f7741edc5d695200c318a5fd9f0cd5198f3421df6b4568d419ba."
      ],
      "release_record": [
        "Content commit: d4ab79e5a",
        "GitHub Pages workflow: run 29462603294 \u2014 successful",
        "Companion: https://blakedyer.github.io/cook_islands_2026/trip-report/progress/",
        "Web: https://blakedyer.github.io/cook_islands_2026/trip-report/?v=d4ab79e5a852d4bda834af46ed8ebd564e323bd9",
        "Daily evidence: https://blakedyer.github.io/cook_islands_2026/daily/2026-06-06/#2026-06-06-mauke-20260606-rn-017",
        "PDF: https://blakedyer.github.io/cook_islands_2026/data/documents/field/cook-islands-2026-initial-trip-report.pdf"
      ],
      "workflow_run": "29462603294",
      "real_play": "Chromium + Firefox \u00b7 desktop + phone + 200% text + full PDF",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.30",
      "date": "2026-07-15",
      "state": "Public; deployed and verified",
      "checkpoint": "Site locators become truthful and quiet",
      "artifact": "1b37cada8f31733c1cb168eca29ce76ffef57faf; 42-page PDF; 10,583,778 bytes; SHA-256 e78a47e1bef343f3e2ee9b677fce6f821d31f5fdee471dfb49624dd897fc51d3",
      "commit": "1b37cada8f31733c1cb168eca29ce76ffef57faf",
      "pdf_sha256": "e78a47e1bef343f3e2ee9b677fce6f821d31f5fdee471dfb49624dd897fc51d3",
      "pdf_pages": 42,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Made the established site-map locator conditional on the evidence already present. The 21 maps with plotted, coordinate-backed sample GPS records now show only those orange positions; the larger white mapped-site locator and its key remain on HS105, HS106, HS108, and HS114, which have no plotted sample coordinate.",
        "Corrected HS105 from the rough May 25 coastal arrival point to tracked GPS feature ATIU-20260527-HISEAS-073, the HS105 Old Canyon parking 50-position average at \u221220.0078661840033, \u2212158.126253605763 with 1.188269 m average horizontal accuracy. The report frame moves roughly 585 m inland, and the HS105 site page now uses the same exact feature as its initial view.",
        "Kept the public language as precise as the evidence. Sample-backed maps no longer claim or describe a separate mapped-site position; coordinate-free maps retain that language. Raster annotations, manifest bounds, alt text, captions, and visible marker keys now agree with the actual 21/4 split.",
        "Increased the shared source type from 80 to 92 px for site codes and from 72 to 88 px for north/scale utilities. At the ordinary 356 px report width they project to about 18.2 and 17.4 px; at the combined 320 px + 200% text stress width of 254 px they remain about 13.0 and 12.4 px. The existing translucent gradients, blurred shadows, and contained capsules remain unchanged.",
        "Preserved all 98 plotted sample records, 121 catalogued numbered-site samples, 21 orthomosaics, sample-marker size, orthomosaic extents, map-first hierarchy, map/photo ratios, caption structure, credits, and the four coordinate-free locators. No raw GPS, sample, field-note, or photogrammetry source changed.",
        "Closed one inherited enlarged-text failure found by the all-figure release gate: the opening and island hero grids now permit their figure children to shrink, so all 71 figures and 67 captions remain visible at 320 px with a true 200% text setting instead of being silently clipped at their min-content widths.",
        "Advanced the directed next checkpoint to one provenance-checked annotated daily-log photograph that materially explains scale, a contact, datum control, or uncertainty without creating a gallery or photo dump."
      ],
      "validation": [
        "The renderer resolves HS105 by exact feature ID from tracked data/gps_points.geojson and fails closed if the feature is absent, not a point, or belongs to another site. The manifest records the feature ID, label, source path, 50-position count, and 1.188269 m accuracy alongside the exact center.",
        "All 25 regenerated 1800 \u00d7 1350 maps retain their full 4:3 frames. Their manifest contains 98 sample markers, exactly four mapped-site markers, and 177 contained annotation boxes: 75 site-code/north/scale utilities, 98 sample positions, and four white locators.",
        "A complete 5 \u00d7 5 source contact sheet shows every site code, north arrow, scale label, marker, and orthomosaic inside its frame. HS105 now shows inland forest/canyon context rather than the former coastline; removing the white locator exposes formerly crowded sample constellations at HS119 and HS121 without enlarging or moving any sample marker.",
        "Complete Chromium and Firefox reads at 1440 px, 390 px, and combined 320 px + 200% text retain exact viewport-width parity, 68/68 decoded report images, all 71 figures and 67 captions contained, four mapped-site keys, 21 sample keys, and map-first order for every paired site plate. The only local Chromium console entry is the repository's known missing-favicon 404; report requests, page errors, and Firefox's clean-load error arrays are empty.",
        "The HS105 site page centers exactly on HISEAS-073 at zoom 18, loads 12/12 ArcGIS satellite tiles, and shows inland forest/canyon context rather than coast. Its report and detail-page coordinates agree byte for byte.",
        "The retained PDF is 42 A4 pages and 10,583,778 bytes; SHA-256 e78a47e1bef343f3e2ee9b677fce6f821d31f5fdee471dfb49624dd897fc51d3. All 42 pages were raster-inspected, all 6,646 extracted word boxes remain inside A4, and the source/public copies are byte-identical. It retains 30 canonical HTTPS annotations and seven named destinations. Only the 25 site-record pages differ from rc.29; the other 17 are pixel-identical.",
        "The PDF audit caught and closed a stale no-model sentence before release: HS102 and HS118 now name their mapped sample positions, while HS105 and HS108 retain mapped-site wording. The final four affected pages remain contained, and the post-fix print rasters otherwise match the already inspected candidate.",
        "The exact Pages-mode build generates 102 pages. All 88 focused trip-report, progress, and daily-log checks and all 176 repository tests pass. Python syntax, git diff --check, source/public PDF equality, and the final map/manifest inventory also pass.",
        "The user's three existing photo-sync/timestamp files remain unstaged and untouched.",
        "GitHub Pages run 29456880585 completed successfully for exact content commit 1b37cada8f31733c1cb168eca29ce76ffef57faf. Build and deploy both passed; the only annotations are the inherited upstream Node.js 20-to-24 runtime warnings, with no report error.",
        "Cache-busted live artifacts match the exact Pages-mode build byte-for-byte. Report HTML is SHA-256 ba23b1492fe8a960eb7ea7aea966e2bed7acf27615be7715aa3fc64b9f5ff088; companion HTML is b17220bcae2cfbbe14aa248f51e308f4c2938d9106bd61c78723188a4128fcff; raw progress JSON is dc97bd7a4cb99a120ae16000723d4465c26287ffaaaeb6062dcbbb78b2f1f850; report JSON is 601cf45ad594ae664142245ea2f2621c76c6d6b25f40b0848e3293dfc659cfde; field-guide CSS is f879edc2974bd92ab17619e680a0961350b8e961057f6d188b17c3d728aa9a90; the site-map manifest is 408d99a978e1e979448edf498876820735f5e74b0e7556f9ae72b97d2e8c89e1; and the corrected HS105 map is fa4e97cd5aa092141ff1c0648b0c05f30d9bfd12c853548a106e9aceaceb994d.",
        "Fresh live Chromium and Firefox reads at 1440 px, 390 px, and combined 320 px + 200% text reproduce the complete candidate gate: 68/68 images decode; all 71 figures and 67 captions remain contained; all 25 maps retain their 1800 \u00d7 1350 sources; the four mapped-site and 21 sample-record keys remain exact; all 23 paired site plates stay map-first; document width equals viewport width; and console, request, page, and HTTP-error arrays are empty.",
        "The public PDF serves 42 A4 pages and is byte-identical to both retained copies at 10,583,778 bytes and SHA-256 e78a47e1bef343f3e2ee9b677fce6f821d31f5fdee471dfb49624dd897fc51d3.",
        "Before this release record, the transitional live companion correctly showed rc.30 as deployment-pending and rc.29 as latest-live. This record promotes rc.30 automatically while preserving the annotated daily-log photograph as NOW and the exact overview, translation-matrix, and route-breadcrumb queue."
      ],
      "release_record": [
        "Content commit: 1b37cada8",
        "GitHub Pages workflow: run 29456880585 \u2014 successful",
        "Companion: https://blakedyer.github.io/cook_islands_2026/trip-report/progress/",
        "Web: https://blakedyer.github.io/cook_islands_2026/trip-report/?v=1b37cada8f31733c1cb168eca29ce76ffef57faf",
        "PDF: https://blakedyer.github.io/cook_islands_2026/data/documents/field/cook-islands-2026-initial-trip-report.pdf"
      ],
      "workflow_run": "29456880585",
      "real_play": "Chromium + Firefox \u00b7 desktop + phone + 200% text + full PDF",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.29",
      "date": "2026-07-15",
      "state": "Public; deployed and verified",
      "checkpoint": "HS123 separates observation from working interpretation",
      "artifact": "content 39b17581ff0ada1739141f3c5faeb50a22eeb906; receipt 765787137228174d3fd0189fcf42655f0d746115; 42-page PDF; 10,592,748 bytes; SHA-256 c487df63288f6cfe285067cfe7413b31480a40fbbbbe0a398b176aec73aaa81f",
      "commit": "39b17581ff0ada1739141f3c5faeb50a22eeb906",
      "pdf_sha256": "c487df63288f6cfe285067cfe7413b31480a40fbbbbe0a398b176aec73aaa81f",
      "pdf_pages": 42,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Expanded the existing HS123 Methods feature into one compact two-view evidence diptych without adding another report section, gallery, or player system.",
        "Kept the established clean overview and added four contained observational labels: Flat behind spurs, Groove, Spur, and Notch-like recess.",
        "Added a clean close rendering from the approved hero-walk camera. Its caption separates observation from inference: corals occupy a notch-like recess, while Possible Holocene notch fill remains a working field interpretation rather than a dated unit.",
        "Kept the unresolved scientific boundaries explicit. The older reef-limestone contact, sample preservation, elevation tie, and feature age remain open; the report asserts no model datum or quantitative elevation.",
        "Added one report-specific 960 \u00d7 400 muted turntable loop. It is the report's only autoplay-capable motion asset; the hero walk and transition gates remain static destinations.",
        "Made motion poster-first and conditional. Reduced-motion, reduced-data, save-data, failure, no-JavaScript, and print states retain the static overview and readable labels. During rotation a compact legend names the observed forms without pretending that fixed leaders track moving geometry.",
        "Preserved the established Methods workflow, HS123 link, Field Notebook Atlas hierarchy, and 42-page print target.",
        "Promoted site-map locator truth to the next bounded checkpoint: maps with coordinate-backed sample GPS records do not need a duplicate white site locator, and HS105\u2014which has no mapped sample coordinate\u2014must align with the existing Old Canyon Parking record."
      ],
      "validation": [
        "Overview WebP: 2560 \u00d7 1067; SHA-256 535276d3bc756fabc0c7a4647adc5abc0f3bee5cfa020350d883e8afe9141db2.",
        "Close WebP: 1600 \u00d7 667; 303,286 bytes; SHA-256 e13925d4aaeeaf0e5f6dd82f49ed1c1db605458b85a34680c52e9365d7637c6a.",
        "Turntable MP4: 960 \u00d7 400; 29.584 seconds; 903,437 bytes; SHA-256 c3aaf78ebd00b05624b98293d67cb1bc6847b6239dfce49ad2ec860f8e0fd0e8.",
        "The GitHub Pages-equivalent build generated all 102 pages with the tracked report video available from a clean checkout path; the published copy preserved the MP4 byte for byte and removed a seeded stale video.",
        "Chromium checks covered 1440 px desktop, 390 px and 320 px phones, true 200% text, and the combined 320 px + 200% stress state. Desktop keeps anchored labels; compact screens reflow them into a contained evidence key. All six feature labels and the interpretation qualifier remain readable and mutually clear, and the document stays within its viewport.",
        "Chromium motion checks covered deferred loading, autoplay only while visible, manual pause persistence, offscreen pause/resume, reduced motion, reduced data, Save-Data, media failure, and the no-JavaScript/static-poster contract. Firefox at 390 px loaded the same poster-first treatment and reported no console errors or warnings.",
        "The retained PDF is 42 A4 pages and 10,592,748 bytes; SHA-256 c487df63288f6cfe285067cfe7413b31480a40fbbbbe0a398b176aec73aaa81f. All 42 pages were raster-inspected, the HS123 Methods page keeps both static panels and an 8 pt floor for every feature label and the interpretation qualifier, and pdftotext -bbox-layout found 6,704 words with no text boxes outside a page.",
        "The 64 focused trip-report and progress tests and all 175 repository tests pass. git diff --check, the exact 102-page Pages-mode build, source/public PDF equality, and source/public image/video equality also pass.",
        "GitHub Pages run 29448378533 completed successfully for exact content commit 39b17581ff0ada1739141f3c5faeb50a22eeb906. Build and deploy both passed; the only annotations are the existing upstream Node.js 20-to-24 runtime warnings, with no report error.",
        "Cache-busted live fetches match the exact Pages-mode build byte-for-byte. Report HTML is 177,206 bytes at SHA-256 93337e5aac59c8c2cd3dc04e1afd07747eddff7517e6d6009077c1abda47e900; report JSON is 26,095,469 bytes at 57ec9ff5873dbf9af6ba1e4c7928a1ef2fd29fe030da136a6bccfef1b2220894; field-guide CSS is 387,551 bytes at fb233361976a47a8a27816fb320fd5e233d44e5a4d186c6540c4b4386bba3170; and site JavaScript is 299,905 bytes at 2c7b93cac6146a27ab8559c5e51e6dcb7f18da8c9b70d1c732f768e9f95851dd.",
        "The live close WebP and turntable are byte-identical to the release assets at e13925d4aaeeaf0e5f6dd82f49ed1c1db605458b85a34680c52e9365d7637c6a and c3aaf78ebd00b05624b98293d67cb1bc6847b6239dfce49ad2ec860f8e0fd0e8. The public 42-page PDF serves 10,592,748 bytes and matches both retained copies at c487df63288f6cfe285067cfe7413b31480a40fbbbbe0a398b176aec73aaa81f.",
        "Fresh live Chromium and Firefox reads reproduce the candidate geometry and behavior. At 1440 px, 320 px, 390 px, and combined 320 px + 200% text, both stills decode, the document width equals the viewport, every title, label, qualifier, and control remains contained and unclipped, and no console error or warning appears. The turntable loads and autoplays only in its eligible visible state, while the static evidence key remains complete.",
        "Before this receipt, the transitional live companion correctly exposed rc.29 as deployment-pending and rc.28 as latest-live. Its 30,513-byte HTML and 249,246-byte JSON matched the candidate at 7a6ec60dc85df8f65869e607f3bef24f0761f8187ad6fff7276cf0ccbcd5a6c4 and 555a9c1c9e5f3dfd9791e70322af3e133cb7c6ad7a2eeea023854fe5e08148a5; this record now promotes rc.29 automatically while preserving site-map locator truth as NOW and exactly three ordered next directions."
      ],
      "release_record": [
        "Content commit: 39b17581f",
        "GitHub Pages workflow: run 29448378533 \u2014 successful",
        "Release receipt: 765787137; run 29450981242 \u2014 successful",
        "Companion: https://blakedyer.github.io/cook_islands_2026/trip-report/progress/",
        "Web: https://blakedyer.github.io/cook_islands_2026/trip-report/?v=39b17581ff0ada1739141f3c5faeb50a22eeb906",
        "Motion: https://blakedyer.github.io/cook_islands_2026/static/video/site-assets/HS123/HS123_turntable_report_960x400.mp4",
        "PDF: https://blakedyer.github.io/cook_islands_2026/data/documents/field/cook-islands-2026-initial-trip-report.pdf"
      ],
      "workflow_run": "29448378533",
      "real_play": "Chromium + Firefox \u00b7 desktop + phone + 200% text + full PDF",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.28",
      "date": "2026-07-15",
      "state": "Public; deployed and verified",
      "checkpoint": "Logger records become legible and faithful",
      "artifact": "8256c707908f18d79e1cbf5979a4e967141f8093; 42-page PDF; 8,714,882 bytes; SHA-256 bf16ee1b9f4097536cb07d6622ed8d9e84e9e0d81e2bb20b51631b9cacc3055b",
      "commit": "8256c707908f18d79e1cbf5979a4e967141f8093",
      "pdf_sha256": "bf16ee1b9f4097536cb07d6622ed8d9e84e9e0d81e2bb20b51631b9cacc3055b",
      "pdf_pages": 42,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Rebuilt all four repeated water-depth records as one publication-scale vector treatment. Each SVG now declares its intrinsic 1000 \u00d7 625 dimensions, uses 44-unit visible type, names CKT (UTC\u221210), labels only noon and date boundaries, and keeps the clipped mean in a contained key above the trace.",
        "Corrected the technical diagnosis recorded at rc.27: these sources were always deterministic vector SVGs with a 1000 \u00d7 370 viewBox. Browsers reported a 300 \u00d7 111 natural fallback because the SVG roots omitted width and height; the problem was undersized internal type and aspect treatment, not raster resolution.",
        "Preserved Direction B's paired logger/datum structure, Direction A's openness, the established Field Notebook Atlas cards, all evidence notes, and the one-page-per-island print cadence. The report record now fits completely on phones instead of forcing a partial 544 px pan, while the separate live tidal explorer deliberately keeps its named, keyboard-focusable touch/arrow pan surface.",
        "Replaced generic stride sampling only for the logger trace with deterministic chronological min/max buckets. The renderer retains the first and last samples and every bucket's measured extrema within a 700-point ceiling, so brief accepted observations that establish the plotted range no longer disappear from the line. No smoothing or inferred value was introduced.",
        "Clamped the padded lower plot domain at zero when every accepted depth is positive. Mitiaro therefore shows a truthful 0.00 m lower axis instead of the former \u22120.13 m padded label; every underlying depth and working datum remains unchanged.",
        "Kept the semantic island title and full plot description in SVG metadata while removing the redundant visible island title inside the already labeled report panel. A restrained transparent gradient separates the vector record from the paper without competing with the data.",
        "Advanced the directed next checkpoint to the existing HS123 evidence path: contained model labels and a second hero-walk still at the working notch interpretation. \u201cHolocene\u201d remains provisional unless supporting age evidence is added; only the low-resolution muted turntable may autoplay on the web, with static, reduced-motion, and reduced-data fallbacks, and neither the hero walk nor transition gates may autoplay."
      ],
      "validation": [
        "python scripts/process_tide_gauge_datums.py --check passes after deterministic regeneration. Exact pre/post hashes prove data/tide_gauge_datums.json, data/gps_points.geojson, and all four *-datum.svg connection figures remain byte-identical; raw logger files, clock conversion, pressure pairing, accepted windows, zero references, clipping bounds, GPS heights, and public evidence copy are unchanged.",
        "The four accepted display records retain 10,427 Atiu, 10,732 Mangaia, 7,492 Mauke, and 7,594 Mitiaro samples. Mangaia retains its intentional 90-minute display trim while its published mean continues to use the full accepted window. The new reducer preserves each accepted display record's first point, last point, observed minimum, and observed maximum.",
        "Direct source contact sheets plus independent Chromium and Firefox report reads show every title, value, time label, date, and axis label fully contained. At the real paired width, the 44-unit labels project to 13.71 px at 1440, 13.40 px at 390, 10.32 px at 320, and 46.87 px under a true 32 px root; each plot is completely visible and the document width exactly equals the viewport in both engines.",
        "The separate live tidal explorer at 320 px retains a 544 px plot inside a 231 px viewport, exposes role=\"region\", tabindex=\"0\", and its associated instruction only when overflow is present, and remains operable with touch or arrow keys. Repeated ArrowRight reaches the exact 313 px maximum in both engines. Native Home/End does not map to horizontal start/end; this inherited, unadvertised shortcut gap is recorded for the queued tidal-browser focus/role pass. The static report emits none of that unnecessary overflow state.",
        "New processor regressions require chronological unique min/max buckets, endpoint retention, exact intrinsic SVG geometry, metadata-only island titles, visible CKT, a 44-unit label floor, nonnegative positive-data axes, and contained label coordinates. Report regressions require intrinsic image dimensions, complete-fit 8:5 report sizing, live-only mobile overflow, and the split print height rule.",
        "The complete repository gate passes all 172 tests. git diff --check, deterministic datum-output verification, the exact 102-page production build, and the candidate companion's rc.28-pending/rc.27-live split all pass.",
        "The candidate PDF remains 42 A4 pages. All 42 pages were inspected, with pages 8, 17, 27, and 35 checked individually at 144 dpi: the logger type is about 10.5 pt, all labels and traces are contained, the neighboring datum connections remain unchanged, and the established page cadence is intact. All 6,624 extracted word boxes remain inside A4 bounds. Control pages outside the four logger records remain pixel-identical apart from the known remote cover-image re-encoding in a fresh isolation export.",
        "Two clean candidate exports have identical extracted text and sampled page rasters; they differ only in four creation/modification timestamp bytes. The retained PDF is 8,714,882 bytes at SHA-256 bf16ee1b9f4097536cb07d6622ed8d9e84e9e0d81e2bb20b51631b9cacc3055b; the live copy is byte-identical.",
        "The user's existing photo-sync, timestamp-tool, and photo-sync-test edits remain unstaged and outside this checkpoint.",
        "GitHub Pages run 29434500012 completed successfully for exact content commit 8256c707908f18d79e1cbf5979a4e967141f8093. Both build and deploy jobs passed; the only annotations are upstream Node.js 20-to-24 runtime warnings, with no error annotation.",
        "An exact workflow-mode rebuild matches every cache-busted live artifact byte-for-byte: report HTML is 173,642 bytes at SHA-256 7dc043d240786d4aa57b95106d44f63fa0eeaa55fdc7fd59eb9362701f70bdbb; report JSON is 26,093,785 bytes at 53e6325220ee67d316779cca83ef6c42ab7f8e1f07dcc2745d3dd29985570a1d; field-guide CSS is 380,300 bytes at b3092db4028e29f95ad7d692dbf289582290ad3d9eccaa80ff794f85f14562cc; and the Atiu, Mangaia, Mauke, and Mitiaro logger SVGs match at 8d6d8d30ac14e023fc76a6b2f1f27a1dd4628c5ebc2af87eb0324bf1699c9c4f, b85b461dc4050a33f7df10538f15f2984dcc86747196db4615a38cdf12ae52bb, 90596737662f8e71a2b2a77c1fb5bacbc6924267948a3a0a601869dd9fd183a2, and 87777eb0479cfc1cb77de2fb845bf4e6136efc621c9c2fbc2db376f0985da2ac.",
        "Fresh live Chromium and Firefox reads at 1440 px, 390 px, 320 px, and a true 32 px root (200% text) repeat the complete gate: rc.28 is visible; 67/67 images decode; all 71 figures, 67 captions, 30 maps, 25 mapped-site locators, four tidal groups, and eight tidal panels remain present and contained; report logger instances have no pan semantics; exact document-width parity holds; and console, page, request, and HTTP-error arrays remain empty.",
        "The live tidal explorer retains its named focusable mobile record. At 320 px, the 544 px surface sits inside 231 px and paced ArrowRight reaches the exact 313 px maximum with focus retained and no error surface.",
        "The transitional live companion correctly keeps rc.28 deployment-pending and rc.27 latest-live before this receipt, with HS123 as NOW and the exact annotated-photo, overview-geography, and tidal-browser queue. Its 30,095-byte HTML and 244,217-byte JSON match the candidate at 4a187cf22c3e92824810c7f30036a5b3261c99a0b7e8429585698debbbdc2054 and 31a393f67ca6b92eaf7e3733eeea930431d89069a630edd68ad8f64b94a9da79; this record now promotes rc.28 and switches the report/PDF actions to verified automatically.",
        "The live 42-page PDF serves 8,714,882 bytes and is byte-identical to both retained copies at SHA-256 bf16ee1b9f4097536cb07d6622ed8d9e84e9e0d81e2bb20b51631b9cacc3055b."
      ],
      "release_record": [
        "Content commit: 8256c7079",
        "GitHub Pages workflow: run 29434500012 \u2014 successful",
        "Companion: https://blakedyer.github.io/cook_islands_2026/trip-report/progress/",
        "Web: https://blakedyer.github.io/cook_islands_2026/trip-report/?v=8256c707908f18d79e1cbf5979a4e967141f8093",
        "PDF: https://blakedyer.github.io/cook_islands_2026/data/documents/field/cook-islands-2026-initial-trip-report.pdf"
      ],
      "workflow_run": "29434500012",
      "real_play": "Chromium + Firefox \u00b7 desktop + phone + 200% text + full PDF",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.27",
      "date": "2026-07-15",
      "state": "Public; deployed and verified",
      "checkpoint": "HS123 carries the survey into 3D",
      "artifact": "bbd75af1a131415932889e39730dce95314a3e98; 42-page PDF; 8,310,137 bytes; SHA-256 0a1127e047e9ea90fe69353c5553d6854aec1248d720431e0dff44cdf9f68225",
      "commit": "bbd75af1a131415932889e39730dce95314a3e98",
      "pdf_sha256": "0a1127e047e9ea90fe69353c5553d6854aec1248d720431e0dff44cdf9f68225",
      "pdf_pages": 42,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Added one clean HS123 terrain rendering to the Methods page, connecting overlapping drone photography to a textured 3D surface, orthomosaic, and elevation model without adding a report video, player, gallery, or duplicate model system.",
        "Compared the current report with Direction A's photographic openness, Direction B's structured \u201chow we worked\u201d treatment, and the approved implemented reference. The existing lower-left Methods space gives the model meaningful visual weight while preserving the established workflow list and one-site-per-page evidence cadence.",
        "Used the exact approved final turntable camera with its working annotations hidden, then retained a label-free 12:5 crop. The figure therefore communicates surface form at report scale without shrinking, clipping, or publishing the source animation's unverified categorical age labels.",
        "Added concise semantic captioning and a direct link to the existing HS123 survey record. The copy identifies the clipped block sides as presentation geometry and keeps feature ages and the elevation reference under review; it does not claim a datum, quantitative elevation range, subsurface geometry, exact historical transect, or complete marker coverage.",
        "Kept the feature static, lazy-loaded, keyboard accessible, print visible, and subordinate to the Methods evidence chain. The image has intrinsic dimensions and a restrained blurred shadow on screen; print removes the shadow and retains a readable 9 pt caption and 12 pt title.",
        "Made the public companion's primary actions name the artifact they actually open. Before the deployment receipt they say candidate build and candidate PDF with rc.27, while the adjacent proof passport continues to identify rc.26 as the latest live-verified release; after the receipt the same actions become verified automatically.",
        "Let the required whole-report figure read displace the provisional queue: the four repeated water-depth logger vectors appeared at a 300 \u00d7 111 browser fallback and their internal title, axes, and dates became too small at normal web and PDF size. The directed HS123 follow-up will build on the clean inset with contained labels, a second hero-walk still at the working Holocene-notch interpretation, and web motion limited to a low-resolution muted turntable autoplay with static accessibility fallbacks. One evidence-bearing annotated photograph and overview geography/linework follow; tidal-browser focus/roles remain recorded farther back."
      ],
      "validation": [
        "The clean terrain frame was rendered twice from the approved final camera with annotations hidden. The two crops compare at absolute error zero, and the committed 2560 \u00d7 1067 WebP is 131,408 bytes at SHA-256 535276d3bc756fabc0c7a4647adc5abc0f3bee5cfa020350d883e8afe9141db2; its built public copy is byte-identical.",
        "Chromium verifies 1440, 901, 900, 768, 621, 620, 390, and 320 px plus a true 32 px root. Every state has exact viewport/document-width parity, a decoded 2560 \u00d7 1067 image, and contained image, caption, and link boxes. Normal viewport captures keep the skip link offscreen; the earlier tall-element capture artifact does not reproduce.",
        "Firefox independently passes 1440, 390, and 320 px plus true 200% text with exact containment. A clean report load makes exactly one model-preview request, no video request, and no failed or HTTP-error request; the console stays clean.",
        "Complete progressive reads in Chromium and Firefox cover all 71 current report figures at 1440 px, 390 px, and a true 32 px root. Both engines decode 67/67 images, retain all 30 maps, 25 natural 1800 \u00d7 1350 site maps and map-first records, four tidal groups/eight panels, contained figure boxes and captions, exact document widths, and zero console, page, HTTP, or request failures.",
        "At 390 px the four logger records retain their established named, focusable touch/keyboard scroll regions: each complete 544 px plot is reachable across a 305 px viewport with the visible instruction intact. Direct inspection nevertheless confirms that the vectors' 11\u201312-unit internal title, axes, and dates become too small at normal web and PDF size; the 300 \u00d7 111 value was the SVG natural fallback caused by missing intrinsic dimensions. This is an inherited, operable but not publication-ready label failure, explicitly promoted to NOW rather than hidden by the containment pass.",
        "Both engines expose one ordinary Methods image and zero Methods videos. The link has a visible solid 2 px focus outline, remains one line at 320 px, and reaches the real /sites/hs123/ page with HTTP 200 and the correct title.",
        "The 54-test trip-report module and all 89 focused report, companion, PDF-export, and public-link checks pass. All 169 repository tests pass across two isolated groups of 89 and 80, including the user's preserved photo-sync work. Python syntax and git diff --check pass.",
        "The exact Pages-mode build generates 102 HTML pages and carries report-0.2.0-rc.27. The companion keeps rc.27 deployment-pending and rc.26 latest-live, starts with the logger-plot legibility pass, publishes exactly three queued ideas, retains six timeline rows, and exposes 27 release receipts.",
        "Chromium and Firefox verify that companion at 1440 px, 390 px, 320 px, and true 200% text. Its DOM agrees with the raw JSON, the complete 2400 \u00d7 1500 route decodes without cropping, candidate actions name the rc.27 artifacts they open, the passport keeps rc.26 as latest-live, keyboard interactions return focus correctly, exact width containment holds, and console/page/request/HTTP error arrays stay empty.",
        "The final candidate PDF remains 42 A4 pages and 8,310,137 bytes at SHA-256 0a1127e047e9ea90fe69353c5553d6854aec1248d720431e0dff44cdf9f68225. Pages 1\u20133 and 5\u201342 are pixel-identical to rc.26; only the intended Methods page 4 changes.",
        "All 6,694 extracted words remain inside the A4 bounds. The new 2560 \u00d7 1067 model is embedded crisply at approximately 836 ppi; all fonts remain embedded, subsetted, and Unicode-capable. Thirty canonical HTTPS annotations contain no localhost target, and the HS123 annotation resolves successfully.",
        "All 42 PDF pages were inspected. Methods page 4 is balanced and readable, the terrain block and caption are fully contained, later pagination is unchanged, and the source and generated-public copies match the inspected isolation artifact byte-for-byte.",
        "The user's existing photo-sync, timestamp-tool, and photo-sync-test edits remain unstaged and outside this checkpoint.",
        "GitHub Pages run 29424222207 completed successfully for exact content commit bbd75af1a131415932889e39730dce95314a3e98. Both build and deploy jobs passed; the only annotations are two upstream Node.js 20-to-24 runtime warnings, with no error annotation.",
        "Cache-busted live fetches are exact: report HTML is 174,929 bytes at SHA-256 f9308cd507bebcf00d715130ac6935c8ebc41f1d6f02e0d924dab53bd459dc1a; report JSON is 26,093,785 bytes at 73e7ccba75ddd22eb5909d07f5010872622c07c18318dfb19c384196b9106f78; field-guide CSS is 380,081 bytes at 9c78800fc1b8b887066de7daf0fa8fa7df6dc2930e0c4799bb25599c9424f59b; and the 131,408-byte HS123 WebP is byte-identical at 535276d3bc756fabc0c7a4647adc5abc0f3bee5cfa020350d883e8afe9141db2.",
        "Fresh live Chromium and Firefox reads at 1440 px, 390 px, 320 px, and true 200% text repeat the complete gate: 67/67 images decode; all 71 figures and 67 captions remain contained; all 30 maps, 25 map-first site locators, and four tidal groups/eight panels remain present; the Methods feature exposes one image and zero video; exact width containment holds; and console, page, request, and HTTP-error arrays remain empty.",
        "The transitional live companion correctly kept rc.27 deployment-pending and rc.26 latest-live before this receipt, with logger plots as NOW, the exact directed three-item queue, six timeline rows, 27 release receipts, and honest candidate report/PDF actions. Its live HTML and raw JSON matched the candidate byte-for-byte; this record now promotes rc.27 and switches those actions to the verified labels automatically.",
        "The live 42-page PDF serves 8,310,137 bytes and is byte-identical to both retained copies at SHA-256 0a1127e047e9ea90fe69353c5553d6854aec1248d720431e0dff44cdf9f68225."
      ],
      "release_record": [
        "Content commit: bbd75af1a",
        "GitHub Pages workflow: run 29424222207 \u2014 successful",
        "Companion: https://blakedyer.github.io/cook_islands_2026/trip-report/progress/",
        "Web: https://blakedyer.github.io/cook_islands_2026/trip-report/?v=bbd75af1a131415932889e39730dce95314a3e98",
        "PDF: https://blakedyer.github.io/cook_islands_2026/data/documents/field/cook-islands-2026-initial-trip-report.pdf"
      ],
      "workflow_run": "29424222207",
      "real_play": "Chromium + Firefox \u00b7 desktop + phone + 200% text + full PDF",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.26",
      "date": "2026-07-15",
      "state": "Public; deployed and verified",
      "checkpoint": "Orthomosaics now lead the site evidence",
      "artifact": "6ce5fce5701bf7f05b93f463000d84aedca2b01e; 42-page PDF; 6,604,655 bytes; SHA-256 4c20885e846f94fdc5c55f5276b8960f9d5d817fcb2e2eb8b130f41d2608bd4e",
      "commit": "6ce5fce5701bf7f05b93f463000d84aedca2b01e",
      "pdf_sha256": "4c20885e846f94fdc5c55f5276b8960f9d5d817fcb2e2eb8b130f41d2608bd4e",
      "pdf_pages": 42,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Made the existing orthomosaics the primary site evidence without adding a gallery or second plate system. Every one of the 25 site records now begins with its locator; the 23 paired records give the map twice the screen width of the field photograph, while HS105 and HS114 retain their established map-only treatment.",
        "Rebuilt all 25 site locators so their rasters contain only coordinate-bound evidence: an 80 px short site code, 72 px north and scale labels, a 60 px mapped-site marker, and 40 px unlabeled sample-record markers. The long imagery source, GPS-record state, marker key, and credit now remain crisp semantic HTML below each map.",
        "Kept 21 drone orthomosaics and four satellite fallbacks, all 1800 \u00d7 1350 frames, exact rendered bounds, 25 mapped-site anchors, and 98 coordinate-backed sample GPS records. The other 23 numbered-site samples remain deliberately unplotted rather than receiving invented positions or specimen footprints.",
        "Added a restrained translucent gradient and soft blurred shadow behind the three raster label groups. All 198 calculated label and marker boxes remain inside their source frames; dense HS113 and edge-near HS111 records retain clear separation without individual sample-ID clutter.",
        "Preserved the one-site-per-page print cadence while reversing the paired print plate to a restrained 60:40 map-to-photo hierarchy. No site claim, question, photograph, route, source imagery, datum figure, model, chapter order, or approved Field Notebook Atlas structure changed.",
        "Advanced the directed next pass to one HS123 photogrammetry path, followed by one evidence-bearing annotated field photograph, the separate tidal browser's focus/role repair, and refinement of the existing overview map's relative geography and linework. These remain bounded passes rather than parallel galleries or players."
      ],
      "validation": [
        "An offline deterministic rerender produces all 25 site WebPs byte-for-byte at aggregate SHA-256 6bdcf86101d5431db71a84c16c3d907b33a9e0f48b5941a6a5d609e1d54e04e1; the normalized manifest is exact at SHA-256 bb8cb78ce9807dba6347079b61432e06562c9e0913a870b16f0a1d1e05f4ca08. The overview and four chapter maps remain byte-identical at set SHA-256 3c133f0b3bf36b98256561b6fb001eaa45135231949dc76781ecea9dad160f36.",
        "Source contact sheets at the 356 px phone floor and representative HS102, HS104, HS113, HS114, HS120, and HS123 rasters were inspected directly. All 25 maps retain readable, contained code, north, scale, site, and sample marks; the complete set remains visually calm and professionally subordinate to the imagery.",
        "Complete progressive Chromium and Firefox reads decode 66/66 images with zero failures, retain 25/25 natural 1800 \u00d7 1350 site maps, preserve map-first order and caption containment on all 25 records, and expose 25 mapped-site keys plus 21 conditional sample-record keys. Both engines report zero application console or page errors; the ordinary local server's absent /favicon.ico is the only non-content 404 in the final Chromium receipt.",
        "At 1440 px the 23 paired records render at an exact 2:1 map-to-photo ratio; at 620 px and below they stack map-first. Chromium verifies every responsive boundary from 901 through 320 px and a true 32 px root without horizontal overflow. At the 390 px publication floor, raster code and utility labels remain about 15.82 and 14.24 CSS px; at true 200% text they grow to about 34.37 and 30.93 px.",
        "Firefox independently completes clean 1440 and 390 px reads with 66/66 final images, no superseded or failed request, exact width containment, 23 paired/two map-only records, and the same 2:1/stacked geometry. Representative Chromium and Firefox captures are retained under output/playwright/rc26-candidate/.",
        "The 52-test trip-report module and all 87 focused report, companion, PDF-export, and public-link checks pass, as do all 167 repository tests in 113.571 seconds. Python syntax and git diff --check pass. The exact Pages-mode candidate build generates 102 HTML pages and declares rc.26; its companion keeps rc.26 deployment-pending and rc.25 latest-live with HS123 as NOW, exactly three queued ideas, six timeline rows, and 26 release receipts.",
        "The regenerated PDF remains 42 A4 pages. Its 6,655-word text layer preserves the complete rc.25 word multiset and adds exactly 25 \u201cMapped site\u201d plus 21 \u201cSample GPS record\u201d keys; all 29 canonical URL annotations and seven named destinations remain intact with no loopback target. The 25 intended site pages and the known remotely re-encoded cover change, while all 16 other pages are pixel-identical to rc.25.",
        "Source and generated-public PDFs are byte-identical at 6,604,655 bytes and SHA-256 4c20885e846f94fdc5c55f5276b8960f9d5d817fcb2e2eb8b130f41d2608bd4e. Their text and all 42 page rasters match the inspected isolation export. Every page was read directly through seven contact sheets, with HS102, HS113, HS114, and HS123 also inspected at full 144 dpi.",
        "The user's existing photo-sync, timestamp-tool, and photo-sync-test edits remain unstaged and outside this checkpoint.",
        "GitHub Pages run 29413467494 completed successfully for exact content commit 6ce5fce5701bf7f05b93f463000d84aedca2b01e. The Node.js 20 deprecation annotation concerns upstream action runtimes and did not affect the successful build or deployment.",
        "Cache-busted live fetches expose rc.26. All 25 served site WebPs and the manifest are byte-identical to source; the deployed stylesheet matches at SHA-256 617548345d8b93b86362f7f2798c1476625312db19333c2a8b04fee63bd372f2, and the PDF matches at SHA-256 4c20885e846f94fdc5c55f5276b8960f9d5d817fcb2e2eb8b130f41d2608bd4e.",
        "Live Chromium and Firefox each decode 66/66 images, retain all 25 natural 1800 \u00d7 1350 site maps, preserve 25 map-first orders and captions, and report exact desktop/390 px width containment with zero console, page, HTTP, or request failures. The 23 paired desktop plates remain exactly 2:1 and stack at 390 px; Chromium also repeats true 200% text, while representative live captures confirm HS113 and HS123 visually.",
        "The transitional live companion correctly keeps rc.26 deployment-pending and rc.25 latest-live before this receipt, with HS123 as NOW, three ordered ideas, six timeline rows, and 26 release receipts. Chromium and Firefox verify it at desktop, 390 px, and true 200% text with exact width containment and no console or page errors. This record promotes candidate/latest and latest verified to rc.26.",
        "The live PDF serves 6,604,655 bytes and is byte-identical to both retained copies at SHA-256 4c20885e846f94fdc5c55f5276b8960f9d5d817fcb2e2eb8b130f41d2608bd4e."
      ],
      "release_record": [
        "Content commit: 6ce5fce57",
        "GitHub Pages workflow: run 29413467494 \u2014 successful",
        "Companion: https://blakedyer.github.io/cook_islands_2026/trip-report/progress/",
        "Web: https://blakedyer.github.io/cook_islands_2026/trip-report/?v=6ce5fce5701bf7f05b93f463000d84aedca2b01e",
        "PDF: https://blakedyer.github.io/cook_islands_2026/data/documents/field/cook-islands-2026-initial-trip-report.pdf"
      ],
      "workflow_run": "29413467494",
      "real_play": "Chromium + Firefox \u00b7 desktop + phone + 200% text + full PDF",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.25",
      "date": "2026-07-15",
      "state": "Public; deployed and verified",
      "checkpoint": "Tidal control labels stay inside the figure",
      "artifact": "e16f5c73140654ede5ce70b35311d7ea330bbddc; 42-page PDF retained byte-for-byte; 6,913,773 bytes; SHA-256 9d8d5136c63c828d42b95b06481246049fa6226f7d0e70147efcd07d6cdea66c",
      "commit": "e16f5c73140654ede5ce70b35311d7ea330bbddc",
      "pdf_sha256": "9d8d5136c63c828d42b95b06481246049fa6226f7d0e70147efcd07d6cdea66c",
      "pdf_pages": 42,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Repaired the named harbor-control callout in all four report tidal-datum plots. Atiu, Mangaia, Mauke, and Mitiaro now keep the complete label and value inside the plot instead of losing the left edge; Mauke also retains its top edge at true 200% text.",
        "Replaced point-centred translation with plot-aware horizontal and vertical clamps, a content-sized label, and an explicit contained maximum width. The callout now follows its plotted point while respecting all four plot boundaries.",
        "Raised the callout from 9.92 px to 11.2 px at normal report scale and retained the proportional 22.4 px treatment at a true 32 px root. A restrained translucent gradient and blurred shadow separate the label from plotted evidence without obscuring nearby points.",
        "Kept the established phone and print treatments: below 641 px the redundant in-plot callout stays hidden while the complete 12-row evidence index remains visible; print likewise uses that complete index. No tidal value, uncertainty range, point position, chart scale, caption, page cadence, or scientific claim changed.",
        "Compared the next evidence pass with Directions A and B and representative HS104, HS113, HS114, HS123, and HS102 plates. The directed next checkpoint is one map-led refinement of the existing 25-site component, with semantic map labels moved out of undersized raster text. Annotated-photo and HS123 additions remain separate later choices rather than parallel systems."
      ],
      "validation": [
        "Before the repair, all four desktop labels began 27.55\u201332.63 px outside their plot and the enlarged-text Mauke label crossed its top boundary. After the repair, Chromium leaves at least 23.38 px horizontal and 8.19 px vertical clearance at 1440 px; Firefox independently reports all four label rectangles contained with the same 11.2 px font floor.",
        "At true 200% text, Chromium and Firefox retain exact 1440 px document width, render every label at 22.4 px, and report positive clearance on every side. Direct captures of all four normal and enlarged figures are retained under output/playwright/rc25-candidate/.",
        "At 390 px in both engines, the redundant plot callouts remain intentionally absent while all 12 evidence-index rows remain visible. The complete report retains exact 390 px width and loads all 66 images without failure.",
        "Complete progressive reads in Chromium and Firefox retain 66 decoded images, 30 maps, 25 site records, four tidal groups/eight panels, exact desktop and phone widths, and zero console errors or warnings. No report content, map, image, interaction, or chapter geometry changed outside the four labels.",
        "The 51-test trip-report module and all 86 focused report, companion, PDF-export, and public-link checks pass, as do all 166 repository tests in 113.229 seconds. Python syntax and git diff --check pass. The exact Pages-mode build generates 102 HTML pages and declares rc.25.",
        "A fresh candidate export remains 42 A4 pages with byte-identical extracted text, 29 identical URL annotations, and seven identical named destinations. Its 40 unaffected page rasters are pixel-identical to rc.24; only pages 1 and 20 differ because the remote cover and HS110 photographs were re-encoded during the isolation export. Because the changed callout is intentionally hidden in print, the sharper retained source and public PDFs remain the release artifact, byte-identical at 6,913,773 bytes and SHA-256 9d8d5136c63c828d42b95b06481246049fa6226f7d0e70147efcd07d6cdea66c.",
        "All 42 candidate pages were inspected through six contact sheets. The user's existing photo-sync, timestamp-tool, and photo-sync-test edits remain outside this checkpoint.",
        "GitHub Pages run 29406152628 completed successfully for exact content commit e16f5c73140654ede5ce70b35311d7ea330bbddc. The Node.js 20 deprecation annotations concern upstream action runtimes and did not affect the successful build or deployment.",
        "Cache-busted live fetches expose rc.25 and the exact candidate clamp, 0.7 rem label floor, translucent gradient, and blurred shadow. The deployed CSS is byte-identical to source at SHA-256 2ad252a13a5f5e1689d7fa42fec52d30862d2eb33269c0a7d18075332437ce23.",
        "Live Chromium and Firefox each verify all four labels at 1440 px and a true pre-load 32 px root with positive clearance on every side, exact viewport/document-width parity, 11.2/22.4 px type, and zero console errors or warnings. Both 390 px passes retain all 12 evidence-index rows and decode all 66 report images without failure. The live report retains 30 maps, 25 site records, and four tidal groups/eight panels.",
        "The transitional live companion correctly keeps rc.25 deployment-pending and rc.24 latest-live before this release record, while exposing the map-led orthomosaic checkpoint as NOW, three ordered ideas, six timeline rows, and 25 release receipts at desktop, phone, and true 200% text in both engines. This record promotes candidate and latest verified to rc.25.",
        "The live PDF serves 6,913,773 bytes and is byte-identical to both retained copies at SHA-256 9d8d5136c63c828d42b95b06481246049fa6226f7d0e70147efcd07d6cdea66c."
      ],
      "release_record": [
        "Content commit: e16f5c731",
        "GitHub Pages workflow: run 29406152628 \u2014 successful",
        "Companion: https://blakedyer.github.io/cook_islands_2026/trip-report/progress/",
        "Web: https://blakedyer.github.io/cook_islands_2026/trip-report/?v=e16f5c73140654ede5ce70b35311d7ea330bbddc",
        "PDF: https://blakedyer.github.io/cook_islands_2026/data/documents/field/cook-islands-2026-initial-trip-report.pdf"
      ],
      "workflow_run": "29406152628",
      "real_play": "Chromium + Firefox \u00b7 desktop + phone + 200% text",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.24",
      "date": "2026-07-15",
      "state": "Public; deployed and verified",
      "checkpoint": "Modern island overviews now speak from the field",
      "artifact": "bf3bf37b72a46a6d7c45113d72ef54b955f9cb93; 42-page PDF retained byte-for-byte; 6,913,773 bytes; SHA-256 9d8d5136c63c828d42b95b06481246049fa6226f7d0e70147efcd07d6cdea66c",
      "commit": "bf3bf37b72a46a6d7c45113d72ef54b955f9cb93",
      "pdf_sha256": "9d8d5136c63c828d42b95b06481246049fa6226f7d0e70147efcd07d6cdea66c",
      "pdf_pages": 42,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Replaced the five modern island-overview logistics summaries with concise post-trip accounts grounded in the completed field report and daily evidence. Rarotonga now introduces coordination, outreach, and the Ngatangiia comparison; Atiu, Mangaia, Mauke, and Mitiaro identify their surveyed settings, strongest initial observations, and unresolved questions.",
        "Removed the literal Mitiaro placeholder and other pre-departure language from the modern island index and detail pages without rewriting the frozen historical itinerary or basecamp pages.",
        "Separated the two editorial roles in data/islands.yml: overview_summary now drives modern public surfaces, while the original summary remains available to dated planning records. The build requires a post-trip summary for every island rather than silently falling back to planning copy.",
        "Kept the trip report itself, all scientific claims and counts, maps, figures, photographs, visual tokens, and the retained 42-page PDF unchanged. This is a bounded integrity repair to six surrounding public surfaces, not a parallel report rewrite.",
        "Advanced the public workbench to an evidence-led visual checkpoint: give orthomosaics more visual weight, curate only a few annotated daily-log photographs, and add one strong HS123 Methods preview that links to the existing complete site experience. No new gallery or duplicate player is proposed.",
        "Made publication-size label review a standing direction. Every figure is inspected at web, phone, enlarged-text, and PDF size; new or changed labels must be readable and contained, and inherited failures are recorded and ranked rather than hidden by a passing crop or overflow check."
      ],
      "validation": [
        "Re-read the complete current report, all six modern island surfaces, relevant daily records, frozen itinerary and basecamp pages, release records, and retained 42-page PDF references before selecting and writing the bounded summaries.",
        "A focused regression verifies all five modern summaries against their source field, enforces distinct planning and post-trip roles plus a 20\u201335-word range, rejects retired planning phrases, checks exact rendering once on the index and once on every detail page, and proves that the frozen itinerary still contains its dated Rarotonga, Mitiaro, and Mangaia planning text.",
        "Chromium and Firefox each check the island index and five details at 1440 px, 390 px, and a true pre-load 32 px root. All 36 states retain exact viewport/document width, the intended desktop or compact header, visible complete summaries, initialized maps, loaded tiles, and contained map controls and labels. Normal, phone, and enlarged-text contact sheets were inspected directly.",
        "The required whole-report figure read records separate inherited publication-size weaknesses. At normal desktop size, 23 of 25 unchanged site plates render at about 374.6 px wide, reducing their baked title, subtitle, and credit to about 7.91, 4.16, and 2.91 CSS px; at 390 px they become 7.52, 3.96, and 2.77 px. The overview and chapter-map support labels are similarly small, and all four desktop tidal control-label pairs clip at the plot edge. No asset frame or baked map label is cut off. The full Chromium/Firefox desktop, phone, and true-200%-text matrix is identical to rc.23 with no rc.24 regression or page overflow.",
        "A safe fresh rc.24 PDF export remains 42 A4 pages and 6,913,773 bytes. Its 6,542-word text layer, all 42 Ghostscript page rasters, 29 URL annotations, and seven named destinations are byte-identical to rc.23; only ten raw CreationDate/ModDate bytes differ. The sharper retained source and generated-public PDFs remain byte-identical at SHA-256 9d8d5136c63c828d42b95b06481246049fa6226f7d0e70147efcd07d6cdea66c.",
        "The 50-test trip-report module and all 65 focused report, progress-companion, and PDF-export tests pass, as do all 165 repository tests. The exact Pages-mode build generates 102 HTML pages and declares rc.24; the companion correctly keeps rc.24 pending and rc.23 latest-live with one NOW item, three ordered ideas, six timeline entries, and 24 release rows. Python syntax and git diff --check pass.",
        "The user's existing photo-sync, timestamp-tool, and photo-sync-test edits remain outside this checkpoint.",
        "GitHub Pages run 29400776331 completed successfully for exact content commit bf3bf37b72a46a6d7c45113d72ef54b955f9cb93. The Node.js 20 deprecation annotation concerns upstream action runtimes and did not affect the successful build or deployment.",
        "Cache-busted public fetches return HTTP 200 for the report, companion, raw receipt, island index, and all five island details. Ten exact index/detail summary checks pass, retired planning phrases are absent from modern surfaces, and the frozen itinerary still contains its dated Mitiaro placeholder.",
        "Live Chromium and Firefox verify the companion at desktop, 390 px, and true pre-load 200% text with rc.24 candidate/latest, rc.23 latest-live before this release record, one NOW item, three queued ideas, six timeline entries, 24 release rows, correct headers, and exact width parity. Both engines report zero application console, page, or network failures.",
        "The live island index exposes all five complete summaries in both engines. Mangaia and Mitiaro retain exact copy, contained layouts, and fully loaded Leaflet tiles at desktop and phone; Mangaia also passes true pre-load 200% text. No retired modern planning copy, broken tile or image, or HTTP error response remains.",
        "Live Chromium and Firefox each verify the complete report at 1440 px, 390 px, and true pre-load 200% text: rc.24, 66/66 decoded images, zero failed images, 30 maps, 25 site maps and records, four tidal groups/eight panels, intended headers, exact width parity, and zero application console, page, HTTP, or network failures. Geometry matches the candidate; the four desktop tidal control-label clips, root32 Mauke boundary clip in Firefox, and undersized baked map annotations remain explicitly inherited rather than rc.24 regressions.",
        "The live PDF serves as application/pdf at 6,913,773 bytes and is byte-identical to the retained release source at SHA-256 9d8d5136c63c828d42b95b06481246049fa6226f7d0e70147efcd07d6cdea66c.",
        "The transitional companion correctly kept locally verified rc.24 separate from live rc.23. This release record promotes rc.24 to candidate/latest and latest verified without changing the evidence-led next-cycle decision."
      ],
      "release_record": [
        "Content commit: bf3bf37b7",
        "GitHub Pages workflow: run 29400776331 \u2014 successful",
        "Companion: https://blakedyer.github.io/cook_islands_2026/trip-report/progress/",
        "Web: https://blakedyer.github.io/cook_islands_2026/trip-report/?v=bf3bf37b72a46a6d7c45113d72ef54b955f9cb93",
        "PDF: https://blakedyer.github.io/cook_islands_2026/data/documents/field/cook-islands-2026-initial-trip-report.pdf"
      ],
      "workflow_run": "29400776331",
      "real_play": "Chromium + Firefox \u00b7 desktop + phone + 200% text",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.23",
      "date": "2026-07-14",
      "state": "Public; deployed and verified",
      "checkpoint": "Shared navigation respects enlarged text",
      "artifact": "c7120e9e9bbaf168d1cf8afaff616ca2c13a909d; 42-page PDF retained byte-for-byte; 6,913,773 bytes; SHA-256 9d8d5136c63c828d42b95b06481246049fa6226f7d0e70147efcd07d6cdea66c",
      "commit": "c7120e9e9bbaf168d1cf8afaff616ca2c13a909d",
      "pdf_sha256": "9d8d5136c63c828d42b95b06481246049fa6226f7d0e70147efcd07d6cdea66c",
      "pdf_pages": 42,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Made the shared site frame a screen-only inline-size query container and reused the report's established compact-navigation pattern when enlarged text consumes the available width.",
        "At true 200% text on a 1440 px viewport, the site mark and desktop links now yield to one contained Menu control instead of overlapping. The compact panel preserves the existing link order, current-page indication, and open/close treatment.",
        "Kept the ordinary wide header at normal text and the existing phone header at narrow widths. The report and progress companion retain their own already-verified container fallbacks.",
        "Preserved every report word, claim, count, map, figure, photograph, data record, visual token, and print rule. No shared menu JavaScript or information architecture changed.",
        "Advanced the workbench to post-trip island-overview integrity after the complete page read found pre-field logistics summaries on all five modern island pages, including a literal Mitiaro placeholder. Historical itinerary and basecamp pages remain dated records rather than targets for silent rewriting."
      ],
      "validation": [
        "Before the change, true 200% text at 1440 px produced a 37.42 px site-mark/Home collision on the island index in Chromium and a 172.83 px collision on the tidal browser in Firefox. The shared frame's horizontal clipping hid the failure from document-width-only checks; direct visual and rectangle inspection exposed it.",
        "A focused regression locks the screen-only site-shell container, its established 54.25rem compact threshold, the compact menu rules, and the absence of overflow-x masking inside the query. The 49-test trip-report module and all 64 focused report/companion/PDF tests pass, as do all 164 repository tests.",
        "The exact GitHub Pages-mode build generates 102 HTML pages and declares report-0.2.0-rc.23. The companion keeps candidate rc.23 separate from live rc.22, publishes one evidence-backed NOW item, exactly three ordered ideas, six timeline entries, and 23 release rows.",
        "Chromium checks all 102 generated pages at 1440 \u00d7 1000 with normal text, 1440 \u00d7 1000 with a true 32 px root, and 390 \u00d7 844. All 306 page states select the intended desktop or compact header, keep the mark and controls separate, leave the closed navigation hidden, and retain exact viewport/document-width parity.",
        "Firefox independently repeats the same 306-state whole-site matrix with no header-state, collision, control-containment, closed-menu, or document-width failure.",
        "Keyboard play at enlarged text passes on the real tidal page in both engines: Enter opens the menu, Tab moves to Home, and Escape closes the panel and returns focus to Menu. Representative enlarged-text contact sheets cover the landing page, daily log, island index, historical itinerary, progress companion, report, site detail, and tidal browser in both engines; their consoles contain zero errors or warnings.",
        "Normal-text Chromium captures of the report, landing page, and progress companion are pixel-for-pixel identical to their verified rc.22 references. This proves that the new checkpoint does not restyle the ordinary report or surrounding public surfaces.",
        "The new container setup and query are scoped to screen, so print never acquires the shared containment behavior. A fresh repository-local export remains 42 A4 pages and 6,913,773 bytes with 29 canonical URL annotations and seven named destinations. Its extracted text and all 42 Ghostscript 72 dpi page rasters are byte-identical to rc.22; cmp finds only ten creation/modification timestamp bytes changed. The sharper retained source and generated-public copies therefore stay byte-identical at SHA-256 9d8d5136c63c828d42b95b06481246049fa6226f7d0e70147efcd07d6cdea66c.",
        "Python and JavaScript syntax checks and git diff --check pass. The user's existing photo-sync, timestamp-tool, and photo-sync-test edits remain outside the checkpoint.",
        "GitHub Pages run 29395047107 completed successfully for exact content commit c7120e9e9bbaf168d1cf8afaff616ca2c13a909d. The Node.js 20 deprecation annotation concerns upstream action runtimes and did not affect the successful build or deployment.",
        "Cache-busted public fetches expose rc.23, the exact site-shell query, one NOW item, three ordered ideas, six timeline entries, and 23 release rows. The served CSS is byte-identical to source at SHA-256 335a35ccc652356c5eda59a97110ea76bafcad9d18557e9f286e92be450ba6df.",
        "Live Chromium and Firefox each load all 66 report images without failure and retain 30 maps, 25 site records, four tidal figures, and exact viewport/document-width parity. The normal Chromium opening is pixel-identical to rc.22; 200% text and 390 px use the compact header in both engines.",
        "Live keyboard play opens Menu, advances to Home, closes with Escape, and returns focus to Menu in both engines. Seven surrounding page types\u2014landing, daily, island index, site detail, tidal browser, historical itinerary, and companion\u2014return HTTP 200 and retain contained enlarged-text headers with zero console warnings or errors.",
        "The live PDF is byte-identical to the retained release source at 42 A4 pages, 6,913,773 bytes, and SHA-256 9d8d5136c63c828d42b95b06481246049fa6226f7d0e70147efcd07d6cdea66c.",
        "The transitional companion correctly kept locally verified rc.23 separate from live rc.22. This release record promotes rc.23 to candidate/latest and latest verified without changing the next-cycle decision."
      ],
      "release_record": [
        "Content commit: c7120e9e9",
        "GitHub Pages workflow: run 29395047107 \u2014 successful",
        "Companion: https://blakedyer.github.io/cook_islands_2026/trip-report/progress/",
        "Web: https://blakedyer.github.io/cook_islands_2026/trip-report/?v=c7120e9e9bbaf168d1cf8afaff616ca2c13a909d",
        "PDF: https://blakedyer.github.io/cook_islands_2026/data/documents/field/cook-islands-2026-initial-trip-report.pdf"
      ],
      "workflow_run": "29395047107",
      "real_play": "Chromium + Firefox \u00b7 desktop + phone + 200% text",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.22",
      "date": "2026-07-14",
      "state": "Public; deployed and verified",
      "checkpoint": "Measured field routes recede behind the evidence",
      "artifact": "67a158f5e544ce8b2287e7f6a45684e074e8fb55; 42-page PDF; 6,913,773 bytes; SHA-256 9d8d5136c63c828d42b95b06481246049fa6226f7d0e70147efcd07d6cdea66c",
      "commit": "67a158f5e544ce8b2287e7f6a45684e074e8fb55",
      "pdf_sha256": "9d8d5136c63c828d42b95b06481246049fa6226f7d0e70147efcd07d6cdea66c",
      "pdf_pages": 42,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Recast the jagged \u201cbreadcrumb\u201d weakness as GPS cartography after directly auditing the report, landing page, five modern island pages, daily logs, site atlas, and frozen itinerary/basecamp pages. No conventional navigation breadcrumb component exists in the modern site.",
        "Split island-scale display routes at timestamp gaps longer than five minutes, leaving 24 missing-observation gaps open across the five modern island maps instead of drawing false straight connections; 22 of those gaps occur on the four report islands. The raw GeoJSON, daily point sequences, event indices, and already-calm animated daily maps remain unchanged.",
        "Replaced the report's heavy orange route lines with thinner, muted, round-ended field-route notation. Static report routes use endpoint-preserving screen-space vertex removal only; no road snapping, spline interpolation, or invented intermediate GPS positions are introduced.",
        "Removed coarse fixed-window route snippets from all 25 site evidence plates. Their mapped site anchors and 98 coordinate-backed sample records now carry the location evidence without route triangles, off-frame excursions, or a competing trace.",
        "Renamed public \u201cbreadcrumb\u201d labels to plain \u201cfield route\u201d language and added route derivation/source counts to generated GeoJSON and report-map records.",
        "Preserved the rc.19 coordinate-derived overview and all seven transfer legs byte-for-byte, the rc.20 4:3 site frames and sample markers, home-card and daily-map treatments, site atlas point layers, frozen legacy pages, scientific claims, and approved Field Notebook Atlas composition."
      ],
      "validation": [
        "All 63 focused report, progress-companion, and PDF tests pass, including deterministic timestamp ordering, five-minute gap splitting, exact preservation of retained raw positions, explicit isolated-point counts, MultiLineString expansion, endpoint-safe simplification, route-style scoping, and singular/plural sample-caption grammar. All 163 repository tests, Python and JavaScript syntax, and git diff --check pass.",
        "The exact GitHub Pages-mode build generates 102 HTML pages and declares report-0.2.0-rc.22. Before deployment, the companion correctly keeps candidate rc.22 separate from latest-verified rc.21, publishes one reasoned NOW item, exactly three ordered ideas, six timeline entries, and 22 release rows.",
        "A separate offline probe rendered all four 2200 \u00d7 1400 island maps and all 25 1800 \u00d7 1350 site maps. Every source asset was inspected through complete contact sheets; HS101 and all four island plates were compared directly with rc.21 at real report scale. The maps contain 98 sample markers and no site-scale route traces. The rc.19 overview artifact remains byte-identical at SHA-256 6fb0a70d8f6a77179b87b452a68728d7404e6377830938e3a512168e74fc7daf.",
        "Chromium and Firefox verify the report at 1440 px, 390 px, 320 px, and true 200% / 32 px root text with exact viewport/document-width parity. Both engines decode all 66 images and retain all 30 maps and 25 natural/rendered 4:3 site plates; visible \u201cbreadcrumb,\u201d \u201csite route,\u201d and \u201cCommunity review\u201d matches are zero.",
        "All five modern island maps initialize in both engines with thin muted dashed routes subordinate to field points. The Daily field routes overlay toggles off and back on, and the derived report-island route inventory is 32 displayed segments across 15 days with 22 recording gaps. Home retains four quiet context maps. Representative daily maps preserve their original raw point arrays, animated walkers, event synchronization, and exact width containment.",
        "Daily-log QA also reproduced missing Backblaze display renditions whose full variants remain available and whose fallback backdrops continue to render. This pre-existing media-publication debt is recorded under Responsive image completion rather than widening the route checkpoint.",
        "The repository-local-photo PDF is 42 A4 pages and 6,913,773 bytes at SHA-256 9d8d5136c63c828d42b95b06481246049fa6226f7d0e70147efcd07d6cdea66c. Source and generated public copies are byte-identical and retain 29 canonical URL annotations and seven named destinations. Every page was inspected; compared with rc.21, exactly the four island-openers and 25 site pages change, while pages 1\u20136, 8, 17, 27, 35, and 40\u201342 remain pixel-identical.",
        "The independent PDF read caught and corrected the sole singular caption, \u201c1 sample GPS record is shown,\u201d before release. The corrected HS120 web plate and PDF page 32 were re-inspected directly; the text layer contains no retired route claims, and all map labels remain inside their frames. Direct pdftoppm -jpeg showed a renderer-only text omission that complete pdftocairo and Ghostscript renders disproved; future contact sheets should use either of those renderers.",
        "GitHub Pages run 29390386763 completed successfully for exact content commit 67a158f5e544ce8b2287e7f6a45684e074e8fb55. Direct fetches confirm all four chapter maps, all 25 site maps, the map manifest, and static/js/site.js are byte-identical to the release sources.",
        "Cache-busted live Chromium verification repeats exact width containment at 1440 px, 390 px, 320 px, and true 200% text. The live report declares rc.22, decodes all 66 images, retains 30 maps and 25 natural/rendered 4:3 site plates, exposes the corrected HS120 singular caption, and reports no application console error. All five island maps initialize and toggle their Daily field routes overlay true \u2192 false \u2192 true; direct visual inspection confirms the route linework remains subordinate.",
        "Live Firefox independently confirms rc.22, the complete 66-image/30-map/25-site-plate inventory, exact width containment at the same four responsive states, the corrected HS120 caption, and zero stale route or workflow wording. The five island route layers, four home context cards, representative raw daily animation, and progress companion initialize without JavaScript or final-tile failures.",
        "The transitional companion correctly kept locally verified rc.22 separate from live rc.21 before this release record. It retains one reasoned NOW item, exactly three ordered queue ideas, six timeline entries, and 22 release rows; the release record promotes rc.22 to latest verified without changing the next-cycle choice before a fresh reread.",
        "The served PDF is byte-identical to the source and generated copies at 6,913,773 bytes and SHA-256 9d8d5136c63c828d42b95b06481246049fa6226f7d0e70147efcd07d6cdea66c."
      ],
      "release_record": [
        "Content commit: 67a158f5e",
        "GitHub Pages workflow: run 29390386763 \u2014 successful",
        "Companion: https://blakedyer.github.io/cook_islands_2026/trip-report/progress/",
        "Web: https://blakedyer.github.io/cook_islands_2026/trip-report/?v=67a158f5e544ce8b2287e7f6a45684e074e8fb55",
        "PDF: https://blakedyer.github.io/cook_islands_2026/data/documents/field/cook-islands-2026-initial-trip-report.pdf"
      ],
      "workflow_run": "29390386763",
      "real_play": "Chromium + Firefox \u00b7 desktop + phone + 200% text + full PDF",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.21",
      "date": "2026-07-14",
      "state": "Public; deployed and verified",
      "checkpoint": "Editorial restraint without erasing place",
      "artifact": "0e0466645078fcf248d9b7f1422b084994b2a5e4; 42-page PDF; 7,012,639 bytes; SHA-256 52346c6440263bf73e9d1a4c8e9a2a2443dcc4750286cc499fef19aa44e1d8d2",
      "commit": "0e0466645078fcf248d9b7f1422b084994b2a5e4",
      "pdf_sha256": "52346c6440263bf73e9d1a4c8e9a2a2443dcc4750286cc499fef19aa44e1d8d2",
      "pdf_pages": 42,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Preserved the opening Kite / Post-trip field report bilingual signature as the report's one established identity mark. It is the sole remaining two-language editorial matrix.",
        "Replaced the other 17 repeated Rarotongan/English matrices with quieter functional labels: Field campaign, Field methods, Island N of 5, Height reference, Site records, Next research, and Field glossary. Their existing field symbols remain as restrained wayfinding cues.",
        "Replaced five repeated per-island outreach boxes with one factual \u201cSchools and community events\u201d paragraph covering the five school visits and the Rarotonga community project event. The Rarotonga chapter now states its coordination and comparison role directly instead of repeating the delivery story.",
        "Kept community_review as an internal publication-status value, removed it from the visible hero status, and changed the audience line to say that the report was prepared for island leaders, schools, communities, project partners, and everyone who made the fieldwork possible. The report remains visibly an initial report, not an iterative feedback workflow.",
        "Retained canonical island and site names, Tama, the explained term makatea, and the complete scientific evidence chain. Redundant parenthetical makatea glosses were removed after its first explanation; maps, counts, photographs, site records, uncertainty, and research objectives remain in place.",
        "Preserved the approved Field Notebook Atlas composition. The approved implemented reference supports keeping the hero signature, while Directions A and B support quieter editorial labels through the rest of the report."
      ],
      "validation": [
        "All 57 focused report, progress-companion, and PDF tests pass, as do all 157 repository tests. The exact GitHub Pages-mode build generates 102 HTML pages and declares report-0.2.0-rc.21. Before deployment, the companion correctly kept candidate rc.21 separate from latest-verified rc.20; NOW was \u201cQuiet the breadcrumb trail,\u201d followed by exactly three ordered ideas, six timeline entries, and 21 release-candidate rows.",
        "Chromium at 1440 \u00d7 1000, 390 \u00d7 844, 320 \u00d7 844, and true 200% root text, plus Firefox at the same layout widths, retains exact viewport/document-width parity. The one hero bilingual signature and 17 direct one-line labels remain free of clipping or collision, and no repeated community-note box remains.",
        "Full progressive reads load all 66 images, all 30 maps, and all 25 site maps. Every site map retains a 4:3 natural and rendered ratio, the report has no response or page error, and the scientific counts and map inventory are unchanged. Deep links remain valid; Firefox passes all 15 hash links and reports no console output. Chromium also reports no console output when the browser-only local favicon request is suppressed.",
        "The companion passes Chromium and Firefox at desktop, 390 px, and true 200% text with exact width containment, its one image decoded, three queue entries, 21 release rows, and no console output. Candidate screenshots are retained in output/playwright/rc21-candidate/ and output/playwright/rc21-candidate-firefox/.",
        "The repository-local-photo PDF remains 42 A4 pages at 7,012,639 bytes and SHA-256 52346c6440263bf73e9d1a4c8e9a2a2443dcc4750286cc499fef19aa44e1d8d2. Source and generated public copies are byte-identical and retain all 29 canonical URL annotations and seven named destinations.",
        "All 42 PDF pages were inspected through six contact sheets in output/playwright/checkpoint-rc21-candidate-pdf-pages/. Compared with rc.20, the 19 intended pages 1, 3\u20135, 7\u20139, 16\u201318, 26\u201328, 34\u201336, and 40\u201342 change; the other 23 are pixel-identical. Page 41 changes only in the delivery objective.",
        "The 42-page text layer contains no visible \u201cCommunity review\u201d status or retired generic section labels; the sole bilingual editorial matrix is the hero Kite signature. All canonical place language and scientific content remain intact.",
        "GitHub Pages run 29383711050 completed successfully for the exact content commit 0e0466645078fcf248d9b7f1422b084994b2a5e4.",
        "Cache-busted live Chromium verification at 1440 px, 390 px, 320 px, and true 200% root text confirms rc.21, all 66 images, all 30 maps and 25 site maps, the one hero bilingual signature, 17 direct labels, no visible \u201cCommunity review,\u201d and exact width containment. Deep links land at about 128 px below the persistent shell; the compact menu and chapter index pass, with no console, page, HTTP, or overflow errors.",
        "Live Firefox independently confirms rc.21, all 66 images, 30 maps and 25 site maps, one hero signature, 17 unwrapped and unclipped direct labels, and no visible \u201cCommunity review.\u201d Horizontal overflow remains zero at 1440 px (29,870 px document height), 390 px (52,900 px), 320 px (54,669 px), and true 200% / 32 px root text (78,752 px, with zero overwide elements). The compact menu, chapter index, and all 15 anchors pass; #atiu and #research-program settle at about 168 px, with zero network, HTTP, or console failures.",
        "The pre-record live companion correctly showed rc.21 as deployment-pending and rc.20 as latest verified. This release record promotes candidate/latest rc.21 to Live verified while keeping breadcrumb calm as NOW, three ordered queue items, six timeline entries, and 21 release rows. Chromium and Firefox retain exact width containment at desktop, mobile, and 200% text with clean network and console results. Firefox references are retained in output/playwright/rc21-live-firefox/.",
        "The live 42-page PDF is byte-identical to source at 7,012,639 bytes and SHA-256 52346c6440263bf73e9d1a4c8e9a2a2443dcc4750286cc499fef19aa44e1d8d2."
      ],
      "release_record": [
        "Content commit: 0e0466645",
        "GitHub Pages workflow: run 29383711050 \u2014 successful",
        "Companion: https://blakedyer.github.io/cook_islands_2026/trip-report/progress/",
        "Web: https://blakedyer.github.io/cook_islands_2026/trip-report/?v=0e0466645078fcf248d9b7f1422b084994b2a5e4",
        "PDF: https://blakedyer.github.io/cook_islands_2026/data/documents/field/cook-islands-2026-initial-trip-report.pdf"
      ],
      "workflow_run": "29383711050",
      "real_play": "Chromium + Firefox \u00b7 desktop + phone + 200% text + full PDF",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.20",
      "date": "2026-07-14",
      "state": "Public; deployed and verified",
      "checkpoint": "Contained site-map evidence",
      "artifact": "f9d90741f; 42-page PDF; 7,013,556 bytes; SHA-256 767e86903bb53fae5b7485ad6e309780d06dd72769623ee0f407437b5c3432b2",
      "commit": "f9d90741f35f921ba406d8889ce99e7bdaab9be2",
      "pdf_sha256": "767e86903bb53fae5b7485ad6e309780d06dd72769623ee0f407437b5c3432b2",
      "pdf_pages": 42,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Rebuilt all 25 site maps as true 1800 \u00d7 1350, 4:3 assets and changed their report placement from cropping to containment. Headings, scale bars, north arrows, and imagery credits now remain inside the frame while the established paired map/photograph rhythm stays intact.",
        "Added restrained sample GPS record markers to 21 site maps. The markers match all 98 coordinate-backed records in tracked data/sample_manifest.json; no coordinates were invented for the other 23 samples in the 121-sample numbered-site subset.",
        "Kept each site's blue locator anchor as the primary location cue and made the smaller sample markers subordinate. HS111C remains visible through an honestly expanded map extent instead of being clipped or silently omitted.",
        "Clarified the evidence boundary in captions and provenance: the markers are catalogued GPS record positions, not exact specimen footprints or validated elevations. The report's whole-publication inventory remains 123 samples because it includes two records outside the numbered-site subset.",
        "Added a bounded sites-only render path that preserves the overview map, all four chapter maps, and their manifest records. Site-map counts, coordinate matches, plotted IDs, source basis, 4:3 frame, and containment state are now recorded and tested.",
        "Preserved the approved Field Notebook Atlas direction, route-first opening, scientific claims, chapter sequence, photography, and one existing map system. The next checkpoint is a complete pass for less ceremonial language and typographic repetition; community review remains the delivery audience, not an iterative feedback loop."
      ],
      "validation": [
        "All 40 focused trip-report tests and all 153 tests in the isolated staged candidate pass. They lock 25 true 4:3 site assets, 121 numbered-site samples, 98 coordinate-backed and rendered positions across 21 maps, no coordinate-backed record outside its frame, exact tracked-manifest matching, contained CSS placement, and direct preservation of overview/chapter files and records during a sites-only render. Both supported Python interpreters compile the renderer and git diff --check passes.",
        "Source-map visual QA passes complete 360 px and 288 px contact sheets: all 25 headings, scale bars, north arrows, and credits remain contained, site anchors remain primary, and the 98 sample markers remain legible without becoming a dashboard. HS111C appears within the expanded HS111 extent.",
        "A second clean --sites-only --offline render reproduces all 25 WebP assets byte-for-byte. Its site manifest records match after normalizing the output-local src values, while the preserved overview and four chapter maps retain their verified SHA-256 values.",
        "Chromium and Firefox progressively decode all 66 report images, including all 25 site maps and all 30 report maps, with no console errors after complete reads. The maps retain exact width containment in Chromium at 1440 px (374.625 / 764.031), 390 px (356), 320 px (286), and true 200% root text (579.422 / 1186.438), and in Firefox at 1440 px (374.6 / 764) and 390 px (356).",
        "The production-equivalent Pages build generates 102 HTML pages and declares report-0.2.0-rc.20. Its companion keeps rc.20 deployment-pending, rc.19 latest-live, one editorial-restraint NOW item, exactly three ordered ideas, six timeline entries, and 20 release-candidate rows; no deployment result is inferred from this local build.",
        "The final repository-local-photo export is 42 A4 pages, 7,013,556 bytes, and SHA-256 767e86903bb53fae5b7485ad6e309780d06dd72769623ee0f407437b5c3432b2, with 29 canonical URL annotations and seven named destinations. Source and generated public copies are byte-identical. At 96 dpi, exactly the 25 site-map pages\u20149\u201315, 18\u201325, 28\u201333, and 36\u201339\u2014differ from rc.19; the other 17 pages are pixel-identical. All 42 pages were inspected. The PDF remains an untagged visual/print edition, so this checkpoint makes no PDF-accessibility or whole-report conformance claim.",
        "Before deployment, the candidate records kept rc.20 separate from deployed rc.19, advanced NOW to language/type restraint, and exposed exactly three ordered next ideas, six timeline entries, and 20 release-candidate rows.",
        "The real companion retains exact viewport/document-width parity at 1440 px, 390 px, and true 200% root text. Its complete 2400 \u00d7 1500 route image decodes, and full-page visual inspection passes the desktop, phone, and enlarged-text compositions in output/playwright/rc20-candidate/progress-*.",
        "GitHub Pages run 29380676997 completed successfully at the exact content commit f9d90741f. A cache-busted live report fetch declares rc.20, and the served CSS contains the exact aspect-ratio: 4 / 3 and object-fit: contain rules.",
        "The live report contains exactly 25 site-map tags and captions at 1800 \u00d7 1350, each matching its manifest record. The live manifest records 121 numbered-site samples, 98 coordinate-backed positions, 98 rendered markers across 21 maps, and no unplotted coordinate-backed IDs. Independent fetches confirm that all 25 served site-map files are byte-identical to the release sources.",
        "Cache-busted live-browser passes in Chromium and Firefox at 1440 \u00d7 1000 and 390 \u00d7 844 load all 66 report images, expose all 30 report maps and 25 site maps, preserve exact viewport/document-width parity, and finish with no failed images or console warnings/errors. Every live site map reports a 1800 \u00d7 1350 natural frame with proportional contained rendering; representative desktop and phone captures for HS101, HS105, HS111, and HS120 are in output/playwright/rc20-live/.",
        "The pre-record live companion correctly keeps rc.20 as deployment-pending and rc.19 as latest-live. This release record promotes candidate/latest rc.20 to Live verified while keeping \u201cUse less ceremonial language and type\u201d as NOW, exactly three ordered ideas, six timeline entries, and all 20 release-candidate rows.",
        "The live PDF is byte-identical to source at 7,013,556 bytes and SHA-256 767e86903bb53fae5b7485ad6e309780d06dd72769623ee0f407437b5c3432b2, with 42 A4 pages, 29 canonical URL annotations, and seven named destinations."
      ],
      "release_record": [
        "Content commit: f9d90741f",
        "GitHub Pages workflow: run 29380676997 \u2014 successful",
        "Companion: https://blakedyer.github.io/cook_islands_2026/trip-report/progress/",
        "Web: https://blakedyer.github.io/cook_islands_2026/trip-report/",
        "PDF: https://blakedyer.github.io/cook_islands_2026/data/documents/field/cook-islands-2026-initial-trip-report.pdf"
      ],
      "workflow_run": "29380676997",
      "real_play": "Chromium + Firefox \u00b7 desktop + phone + 200% text + full PDF",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.19",
      "date": "2026-07-14",
      "state": "Public; deployed and verified",
      "checkpoint": "Coordinate-derived overview geography with restrained route linework and derived stop provenance",
      "artifact": "9441d5794; 42-page PDF; SHA-256 d1b991917ad616a23d939e404ede5cb3d1b473ac310dd89ee25eae408e13dd4b",
      "commit": "9441d5794722167c3c737c5afdbc7a71a486d204",
      "pdf_sha256": "d1b991917ad616a23d939e404ede5cb3d1b473ac310dd89ee25eae408e13dd4b",
      "pdf_pages": 42,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Rebuilt the one Southern Cook Islands itinerary from the five documented maps.yml centers instead of arranging the insets by hand. Rarotonga now sits west, Mangaia south, Mitiaro north, and Atiu and Mauke retain their real relative order in a north-up Web Mercator field.",
        "Preserved relative island size through one disclosed, uniform 5\u00d7 enlargement around each canonical anchor. The satellite crops are centered on those same anchors, so the views no longer imply a second, conflicting location inside their frames.",
        "Replaced seven thick black-and-orange curved loops with five quiet geographic corridors: thin dashed navy for the longer connections, a short solid Mauke\u2013Mitiaro bridge, and small clay arrowheads for all seven scheduled transfer directions. Reciprocal Rarotonga legs share their corridor instead of becoming oversized return arcs.",
        "Derived the eight displayed stop numbers from the dated route sequence rather than maintaining a second hand-written itinerary. Direct island labels, a north arrow, a 100 km scale, embedded imagery attribution, and the existing external credit keep the asset legible and accountable without opaque label panels.",
        "Kept one 2400 \u00d7 1500 overview asset, the approved route-first opening, all report copy and science, five chapters, 25 site records, 29 other maps, photography, navigation, and responsive layout. Only the overview image, its honest alt text/caption, and its provenance manifest changed visibly.",
        "Added a bounded --overview-only renderer path. It requires an existing map manifest and updates only the itinerary image and overview entry; a temporary-directory regression proves that chapter/site manifest records and their sentinel files remain untouched.",
        "Advanced the public workbench to site-map containment and sample authority. Community review remains the report's audience and delivery purpose, not an iterative feedback workflow."
      ],
      "validation": [
        "All 38 focused trip-report tests pass, including projected geographic order, all seven dated route legs, the derived stop sequence, embedded-credit metadata, and direct preservation of existing chapter/site maps during an overview-only render. All 151 tests in the isolated staged candidate, Python 3.8 and 3.10 compilation, and diff whitespace checks pass.",
        "The production-equivalent Pages build generates 102 HTML pages and declares report-0.2.0-rc.19. The committed and generated overview files are byte-identical at 124,912 bytes and SHA-256 6fb0a70d8f6a77179b87b452a68728d7404e6377830938e3a512168e74fc7daf; a second --overview-only --offline run succeeds from the tile cache.",
        "Geographic audit reproduces the five configured centers and their exact projected order: west\u2192east Rarotonga, Atiu, Mangaia, Mitiaro, Mauke; north\u2192south Mitiaro, Atiu, Mauke, Rarotonga, Mangaia. Frame enlargement measures 4.994\u00d7\u20135.008\u00d7 after integer rounding, the north arrow is correct, and the 100 km bar is within one percent across its placement.",
        "Comparing the real asset with Direction A, Direction B, the implemented reference, and the prior montage selected the coordinate-derived layout. Independent visual review passes the final artifact at 2400, 608, 358, and 288 px: all labels remain contained, the attribution stays subordinate, the lines no longer dominate, and the short Mauke\u2192Mitiaro direction remains readable through the solid bridge and 6\u21927 labels.",
        "Chromium keeps the verified rc.18 opening geometry exactly at 1440, 768, 390, 320, and true 200% text. The overview figure remains (739.86, 144.38, 607.95 \u00d7 427.67) at 1440 px, (16, 516.13, 358 \u00d7 302.42) at 390 px, (16, 528.52, 288 \u00d7 258.67) at 320 px, and (125.78, 959.03, 1188.44 \u00d7 837.45) at 200% text. Every state retains exact viewport/document-width parity.",
        "Firefox repeats its verified geometry and exact width containment: (739.88, 144.40, 607.92 \u00d7 427.70) at 1440 px and (16, 515.43, 358 \u00d7 302.50) at 390 px. Full progressive reads in both engines decode all 66 images, retain 30 maps, five chapters, and 25 site records, and report zero console errors or warnings.",
        "Candidate references are output/playwright/checkpoint-rc19-candidate-opening-*, the matching opening-firefox-* captures, and checkpoint-rc19-candidate-overview-1440.png. The map is inspected at its real 608, 358, and 288 px report widths rather than only at source resolution.",
        "The fresh print artifact remains 42 A4 pages at 6,714,820 bytes and SHA-256 d1b991917ad616a23d939e404ede5cb3d1b473ac310dd89ee25eae408e13dd4b. It preserves all 29 canonical URL annotations and seven named destinations. Extracted text differs from rc.18 only in the overview caption.",
        "All 42 pages were inspected at 96 dpi through output/playwright/checkpoint-rc19-candidate-pdf-pages-*. Only page 2 differs from the retained rc.18 rasters; it contains the intended map. The repository-local verified-photo export keeps page 1's 1205 \u00d7 1600 cover and page 20's HS110 photograph byte-equivalent to the sharper retained sources. Source and public PDF copies are byte-identical. The PDF remains untagged, so this checkpoint makes no PDF-accessibility or whole-report conformance claim.",
        "The local companion separates candidate rc.19 from deployed rc.18, makes site-map containment/sample authority NOW, and exposes exactly three ordered next ideas, six readable log entries, and 19 release-candidate rows. Desktop, phone, and true 200% text retain exact width containment, and the complete route asset decodes.",
        "GitHub Pages run 29376769105 completed successfully at the exact content commit 9441d5794. Cache-busted public fetches expose rc.19, the concise projection/enlargement caption, and the byte-identical committed 124,912-byte overview map.",
        "Live Chromium reproduces the candidate opening exactly: the route is (739.86, 144.38, 607.95 \u00d7 427.67) at 1440 px and (16, 516.13, 358 \u00d7 302.42) at 390 px. Both states retain exact viewport/document-width parity; a complete progressive read decodes all 66 images, 30 maps, five chapters, and 25 site records without failure or console output. Live references are output/playwright/checkpoint-rc19-live-opening-1440.png and checkpoint-rc19-live-opening-390.png.",
        "The live companion keeps site-map containment/sample authority as NOW with exactly three directed ideas, six log entries, and 19 release rows. At 390 px it remains exact-width, decodes the complete 2400 \u00d7 1500 route asset, and reports no console output; output/playwright/checkpoint-rc19-live-progress-390.png records the state. This release record promotes candidate/latest rc.19 to Live verified.",
        "The live PDF is byte-identical to source at 6,714,820 bytes and SHA-256 d1b991917ad616a23d939e404ede5cb3d1b473ac310dd89ee25eae408e13dd4b, with 42 A4 pages, 29 canonical URL annotations, and seven named destinations."
      ],
      "release_record": [
        "Content commit: 9441d5794",
        "GitHub Pages workflow: run 29376769105 \u2014 successful",
        "Companion: https://blakedyer.github.io/cook_islands_2026/trip-report/progress/",
        "Web: https://blakedyer.github.io/cook_islands_2026/trip-report/",
        "PDF: https://blakedyer.github.io/cook_islands_2026/data/documents/field/cook-islands-2026-initial-trip-report.pdf"
      ],
      "workflow_run": "29376769105",
      "real_play": "Chromium + Firefox \u00b7 desktop + phone + 200% text + full PDF",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.18",
      "date": "2026-07-14",
      "state": "Public; deployed and verified",
      "checkpoint": "Valid named tidal-detail groups and restrained local report landmarks",
      "artifact": "84bdacffa; 42-page PDF retained byte-for-byte; SHA-256 aeb9af3f37b7a32112f26ecb54ca04ed898006340de3afa6cbe12eb505740b64",
      "commit": "84bdacffa0dfab1d5b858fd9e03d347ccc903863",
      "pdf_sha256": "aeb9af3f37b7a32112f26ecb54ca04ed898006340de3afa6cbe12eb505740b64",
      "pdf_pages": 42,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Gave the report's four datum-note containers, four datum-reference-line containers, and four GPS-indicator legends valid named-group semantics. Their existing labels now have a supported accessibility role instead of relying on author names prohibited on a generic div.",
        "Replaced the outer aside wrappers around the chapter index, community story, and uncertainty callout with neutral div wrappers. The labelled chapter navigation and both callout headings remain in the same reading order without adding three misleading complementary landmarks inside the report article.",
        "Preserved every class, visible word, control, figure, source order, scientific claim, report count, map, photograph, and layout rule. The checkpoint changes accessibility structure only; the established Field Notebook Atlas composition is visually unchanged.",
        "The shared tidal-datums page inherits the corrected role for its four reference-line groups and four indicator legends. This is not a whole-page cleanup: its island selectors, interactive live-chart role, and island-switch focus continuity remain explicitly bounded follow-up work.",
        "Updated the public workbench and roadmap with the directed visual queue: overview-map geography and linework first, followed by site-map containment/sample authority, less forced language and typesetting, and calmer breadcrumbs. Community review is now recorded as the report's audience and delivery purpose, not an invented iterative feedback workflow.",
        "Made no PDF-accessibility or whole-report conformance claim. The retained public PDF remains an untagged visual/print edition, and the five frozen legacy pages remain outside this source change."
      ],
      "validation": [
        "All 151 repository tests pass. A new rendered-page regression locks four valid instances of each report group, neutral wrappers around the three local structures, preserved chapter-navigation and callout text, and all eight inherited groups on the shared tidal page. The exact GitHub Pages-mode build generates 102 HTML pages and declares report-0.2.0-rc.18.",
        "Before the change, Chromium and Firefox exposed twelve labelled generic containers and three complementary landmarks in the report. Axe 4.12.1 reported twelve serious aria-prohibited-attr incomplete results; its explicitly enabled complementary-landmark rule selected exactly the three local aside wrappers.",
        "After the change, both engines expose twelve named group nodes, zero report aside elements, and zero complementary roles for those wrappers. The chapter index remains a named navigation, both callout headings remain in the accessibility tree, Axe reports zero violations, and the twelve prohibited-name results are gone. Color-contrast candidates remain manual review rather than a new conformance claim.",
        "Chromium preserves rc.17 geometry exactly at 1440, 768, 390, 320, and true 200% text. The route remains (739.86, 144.38, 607.95 \u00d7 427.67) at 1440 px, (16, 516.13, 358 \u00d7 302.42) at 390 px, and (125.78, 959.03, 1188.44 \u00d7 837.45) at 200% text. Every state retains exact viewport/document-width parity.",
        "Firefox repeats its exact rc.17 geometry and width containment at the same five states: its route remains (739.88, 144.40, 607.92 \u00d7 444.55) at 1440 px and (16, 515.43, 358 \u00d7 302.50) at 390 px. Candidate references are output/playwright/checkpoint-rc18-candidate-opening-* and the corresponding opening-firefox-* captures.",
        "Full progressive reads decode all 66 report images in both engines and retain 30 maps, four tidal figures, five island chapters, and 25 site records. The skip link still lands exactly below the 54.59 px phone header, the compact menu returns focus on Escape, the research deep link settles at 168.09 px, and the first 305/544 px Chromium tidal record moves 40 px under Arrow Right.",
        "On the affected shared tidal page, all four island panels retain their data and controls, the active panel exposes two corrected named groups, and Atiu\u2192Mangaia\u2192Mitiaro switching remains visually correct. Reference-note and point popovers stay contained at 390 px and show the expected record in Chromium and Firefox. Validation also exposed, but did not fold into this report-bounded checkpoint, the live plot's nested-interactive role and focus dropping to body when an island switch hides its pressed button.",
        "The local companion correctly separates candidate rc.18 from deployed rc.17, advances NOW to the user-directed overview-map geography and linework checkpoint, and shows exactly three ordered visual/editorial directions, six readable log entries, and 18 release-candidate rows. Desktop, 390 px, and true 200% text retain exact width parity; the complete route image decodes at 2400 \u00d7 1500 px, and the only console error is the known local favicon 404.",
        "A fresh export remains 42 A4 pages with byte-identical extracted text, 29 canonical URL annotations, and seven named destinations. At 96 dpi, pages 2\u201319 and 21\u201342 are raster-identical to rc.17. Page 1 differs only in the known remotely re-encoded cover photograph, and page 20 differs only within its remotely delivered HS110 field-photo rectangle; text, geometry, map, and all other pixels remain stable. All 42 pages were inspected through output/playwright/checkpoint-rc18-candidate-pdf-pages-*.",
        "The sharper verified source/public PDF is retained byte-for-byte at 6,783,244 bytes and SHA-256 aeb9af3f37b7a32112f26ecb54ca04ed898006340de3afa6cbe12eb505740b64 rather than replacing it with a 6,382,156-byte export containing unrelated remote-image re-encoding.",
        "GitHub Pages run 29370940137 completed successfully at the exact content commit 84bdacffa. Cache-busted public fetches expose rc.18, all twelve intended named groups in source order, neutral div elements for the three corrected wrappers, eight inherited groups on the tidal page, byte-identical committed CSS, and the exact retained PDF.",
        "Live Chromium reproduces the candidate opening geometry exactly: the route is (739.86, 144.38, 607.95 \u00d7 427.67) at 1440 px and (16, 516.13, 358 \u00d7 302.42) at 390 px. Both states retain exact viewport/document-width parity, a complete progressive read decodes all 66 images without failure, and the console remains empty. Live references are output/playwright/checkpoint-rc18-live-opening-1440.png and checkpoint-rc18-live-opening-390.png.",
        "At 390 px, the live shared tidal page exposes eight corrected named groups with exact width containment. Atiu\u2192Mangaia selection, datum-note disclosure, and a real point disclosure all remain operable and visually contained with no console output; output/playwright/checkpoint-rc18-live-tidal-point-390.png records the point state. The separately recorded live-chart ownership and island-switch focus defects remain out of scope.",
        "The live companion promotes candidate/latest rc.18 after this release record, keeps overview-map geography and linework as NOW, and exposes exactly three directed ideas, six log entries, and 18 release rows. The public PDF remains byte-identical to source at 6,783,244 bytes and SHA-256 aeb9af3f37b7a32112f26ecb54ca04ed898006340de3afa6cbe12eb505740b64."
      ],
      "release_record": [
        "Content commit: 84bdacffa",
        "GitHub Pages workflow: run 29370940137 \u2014 successful",
        "Companion: https://blakedyer.github.io/cook_islands_2026/trip-report/progress/",
        "Web: https://blakedyer.github.io/cook_islands_2026/trip-report/",
        "PDF: https://blakedyer.github.io/cook_islands_2026/data/documents/field/cook-islands-2026-initial-trip-report.pdf"
      ],
      "workflow_run": "29370940137",
      "real_play": "Chromium + Firefox \u00b7 desktop + phone + 200% text + full PDF",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.17",
      "date": "2026-07-14",
      "state": "Public; deployed and verified",
      "checkpoint": "Route-first opening with logical reading order and unchanged print composition",
      "artifact": "ac6f405f1; 42-page PDF retained byte-for-byte; SHA-256 aeb9af3f37b7a32112f26ecb54ca04ed898006340de3afa6cbe12eb505740b64",
      "commit": "ac6f405f174bbdfb48705462e613a9752e4ee944",
      "pdf_sha256": "aeb9af3f37b7a32112f26ecb54ca04ed898006340de3afa6cbe12eb505740b64",
      "pdf_pages": 42,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Brought the existing five-island itinerary into the opening story. On wide screens, report identity and status now share the first row with the route map; audience, expedition counts, and the field photograph form the second row.",
        "Made the source order match the reading order: identity/status \u2192 route map \u2192 audience/counts \u2192 field photograph. Tablet, phone, and enlarged-text layouts therefore stack the same sequence without CSS-only reordering.",
        "Reused the approved one-map artifact, existing copy, real photography, captions, credits, palette, typography, side index, and mobile navigation. No scientific claim, count, location, image, chapter, or report promise changed.",
        "Matched the preserved route-first prototype's wide composition with a 20 px row gap, a 608 px route figure, and a 608 \u00d7 384 px landscape photograph at the canonical 1440 px viewport. Existing compact breakpoints retain the report's larger photographic scale below the two-column threshold.",
        "Preserved direct browser printing with an explicit cover order and restored the verified pre-rc.17 hero hierarchy inside the official exporter before Chromium paginates. The established portrait cover photograph and page-two overview map remain unchanged."
      ],
      "validation": [
        "All 150 repository tests pass. New regressions lock the rendered source order, exactly one overview map and one hero photograph, the preserved wide-screen geometry, the direct-print fallback, guarded PDF normalization, and movement of audience/count nodes back into the verified print cover. node --check static/js/site.js and git diff --check pass.",
        "The GitHub Pages-mode build generates 102 HTML pages and declares report-0.2.0-rc.17. The generated report contains the exact logical hero order and the same 30 report maps, four tidal records, five island chapters, and 25 site plates.",
        "Chromium at 1440 \u00d7 1100 places the route at x 739.86, y 144.38 with a 607.95 \u00d7 427.67 px figure. Audience and photograph begin together at y 690.77; the 607.95 \u00d7 384 px photograph retains both researchers and the tripod; the hero ends at y 1156.41. The document keeps exact 1440/1440 px width parity.",
        "At 768 px, the logical stack gives the route 671.38 px of width beginning at y 486.03. At 390 px it begins at x 16, y 516.13 with a 358 px width and ends at y 818.55; at 320 px it begins at y 528.52 with a 288 px width. All three retain exact document-width parity and the approved route \u2192 audience/counts \u2192 photograph sequence.",
        "At a 1440 px viewport with root text enlarged to 200%, the existing container fallback activates and the route begins at x 125.78, y 959.03 with 1188.44 px of usable width. The compact menu remains operable and the page keeps exact 1440/1440 px width parity without clipping.",
        "Chromium decodes all 66 report images after a complete lazy-load sweep with zero failures, and reports zero console errors or warnings. Firefox repeats the wide and 390 px hierarchy, logical order, opening-image loading, and exact width containment with zero console errors or warnings.",
        "Phone keyboard play opens the compact menu with Enter and returns focus to Menu with Escape. The settled research deep link retains 168.09 px clearance, and the first named 305/544 px tidal record moves exactly 40 px under Arrow Right.",
        "Candidate references are output/playwright/checkpoint-rc17-candidate-opening-1440.png, checkpoint-rc17-candidate-opening-768.png, checkpoint-rc17-candidate-opening-390.png, checkpoint-rc17-candidate-opening-320.png, checkpoint-rc17-candidate-opening-text200.png, and the matching opening-firefox-* views.",
        "The companion correctly separates the locally verified rc.17 candidate from the deployed rc.16 release and publishes one NOW item, exactly three queued ideas, six log entries, and 17 release-candidate rows. Desktop, 390 px, and 200% text retain exact width parity; the only local error is the repository's known missing-favicon 404.",
        "The regenerated candidate remains 42 A4 pages and has byte-identical extracted text. At 96 dpi, pages 2\u201342 are byte-identical to the verified rc.16 rasters; page 1 keeps identical geometry and text and differs only because the Pages-safe remote cover source re-encodes at lower quality. The sharper verified 6,783,244-byte PDF is therefore retained byte-for-byte at SHA-256 aeb9af3f37b7a32112f26ecb54ca04ed898006340de3afa6cbe12eb505740b64.",
        "GitHub Pages run 29365959060 completed successfully for content commit ac6f405f1. Direct public fetches expose rc.17, byte-identical committed CSS, the route-first source order, the updated companion receipt, and the exact retained PDF.",
        "Live Chromium repeats the 1440 px candidate geometry exactly: the route is 607.95 \u00d7 427.67 px at y 144.38, support and photograph begin at y 690.77, and the hero ends at y 1156.41. At 390 px the route begins at y 516.13 and ends at y 818.55; at 200% text it begins at y 959.03 with 1188.44 px of width. All 66 images decode, 30 maps/four tidal figures/five chapters/25 sites remain, exact width parity holds, and the console is clean.",
        "Live Firefox repeats the logical child order and exact width containment at 1440 and 390 px with zero console errors or warnings. Live phone play preserves compact-menu focus return, 168.09 px settled research clearance, and the tidal record's completed 40 px Arrow Right movement. Live references are output/playwright/checkpoint-rc17-live-opening-1440.png, checkpoint-rc17-live-opening-390.png, and checkpoint-rc17-live-opening-text200.png.",
        "The live companion promotes candidate/latest rc.17 after this release record, retains the bounded semantic cleanup as NOW, and exposes exactly three queued ideas, six log entries, and 17 release rows at desktop, 390 px, and 200% text. The live 6,783,244-byte PDF remains byte-identical to source at SHA-256 aeb9af3f37b7a32112f26ecb54ca04ed898006340de3afa6cbe12eb505740b64."
      ],
      "release_record": [
        "Content commit: ac6f405f1",
        "Pages workflow: run 29365959060 \u2014 successful",
        "Companion: https://blakedyer.github.io/cook_islands_2026/trip-report/progress/",
        "Web: https://blakedyer.github.io/cook_islands_2026/trip-report/",
        "PDF: https://blakedyer.github.io/cook_islands_2026/data/documents/field/cook-islands-2026-initial-trip-report.pdf"
      ],
      "workflow_run": "29365959060",
      "real_play": "Chromium + Firefox \u00b7 desktop + phone + 200% text",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.16",
      "date": "2026-07-14",
      "state": "Public; deployed and verified",
      "checkpoint": "True shared lightbox modality, keyboard containment, and exact focus return",
      "artifact": "fa338ced3; 42-page PDF retained byte-for-byte; SHA-256 aeb9af3f37b7a32112f26ecb54ca04ed898006340de3afa6cbe12eb505740b64",
      "commit": "fa338ced320601cd8070e4291dcd544adaa1e115",
      "pdf_sha256": "aeb9af3f37b7a32112f26ecb54ca04ed898006340de3afa6cbe12eb505740b64",
      "pdf_pages": 42,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Replaced the shared photo viewer's visually modal div with a native modal dialog. While a daily-log or site-gallery photo is open, background links and controls are now genuinely inert instead of remaining reachable through reverse keyboard navigation.",
        "Contained forward and reverse Tab movement inside the viewer, excluded disabled Previous/Next controls from single-photo cycles, and kept focus fixed while Left/Right Arrow changes the grouped photograph.",
        "Restored the exact photo opener and saved page position after Close, Escape, or backdrop dismissal. Escape from an HS site photograph now closes only the photograph first; the underlying Photos asset panel remains open until a second Escape closes it.",
        "Applied the same modal foundation to map reference figures, including exact Leaflet-popup opener return and a contained scroll path for captions at enlarged text.",
        "Removed compact-width internal overflow from both viewers and rebalanced the phone photo frame so its caption, source, image link, and navigation controls remain visible without weakening the established photographic scale.",
        "Preserved report science, maps, photography, site content, atlas geometry, and print composition. This checkpoint makes no whole-site accessibility claim and does not include the deferred first-fold route-map redesign."
      ],
      "validation": [
        "All 91 focused report, companion, export, public-link, daily-log, and shared-lightbox tests pass, as do all 148 repository tests, node --check static/js/site.js, and git diff --check. The exact Pages-mode build generates 102 HTML pages and serves the same shared implementation to 1,080 static photo triggers across 42 generated pages, dynamically rendered site galleries, and reference-figure popups.",
        "Chromium exercises grouped and single June 9 daily-log photographs at 1440, 390, 320, and true 200% text. Native :modal state, initial Close focus, full forward/reverse wrapping, disabled-control exclusion, native background inertness, Arrow navigation, backdrop/Close/Escape dismissal, exact opener return, saved nonzero scroll, and exact document width all pass.",
        "Chromium repeats the nested HS122 Photos path at 1440, 390, 320, and 200% text. The first Escape closes only the photograph and restores its exact opener while the asset panel stays visible and interactive; the second closes and inerts the panel and returns to Photos. Firefox repeats the daily and HS122 gates at desktop and 390 px with zero application errors and zero dialog or document overflow; its long June 9 scroll emits one browser-generated asynchronous-panning diagnostic, while HS122 is 0 errors/0 warnings.",
        "Axe 4.10.3 finds no violation inside the open photo dialog and no full-document violation while native modality is active. This checkpoint still relies on the real keyboard matrix because Axe did not report the deployed reverse-Tab escape that selected the work.",
        "The real Mauke Angataura reference marker opens Woodroffe et al. (1991), Fig. 4 in a native modal. At 1440 and 390 px, Tab containment, native background inertness, Close/Escape/backdrop dismissal, exact popup-button return, popup persistence, saved scroll, and zero horizontal overflow pass. At 1280 \u00d7 720 and 200% text, the complete caption and page metadata remain reachable through a 136 px panel scroll; 390 and 320 px enlarged-text states also retain a complete scroll path and exact return.",
        "Candidate visual references include output/playwright/checkpoint-rc15-candidate-axe-open-390.png, checkpoint-rc15-candidate-lightbox-text200.png, checkpoint-rc15-candidate-firefox-open-390-v2.png, checkpoint-rc15-candidate-firefox-open-320.png, and the grouped/single/HS122 Chromium and Firefox matrix under output/playwright/rc15-candidate-*.",
        "The unchanged report retains its 29,981 px desktop composition, exact 1440/390/320/200%-text width parity, all 66 decoded images, 30 maps, four tidal figures, compact-menu Escape return, 168.09 px research deep-link clearance, and native 40 px tidal-record keyboard movement.",
        "No report or print source changed. The source and public PDF copies remain byte-identical at 42 A4 pages, 6,783,244 bytes, and SHA-256 aeb9af3f37b7a32112f26ecb54ca04ed898006340de3afa6cbe12eb505740b64; the previously inspected 42-page artifact is retained rather than risk unrelated remote-image re-encoding.",
        "GitHub Pages run 29362250691 completed successfully for content commit fa338ced3. Direct public fetches expose rc.16, byte-identical committed JS/CSS, native dialog/showModal() code, the updated companion JSON, and the exact retained PDF.",
        "Live Chromium repeats grouped June 9 focus wrapping and Arrow navigation at 390 px, exact opener/scroll restoration, HS122's two-stage Escape layering, and zero-width overflow with 0 errors/0 warnings. Live Firefox repeats grouped and single daily photos plus HS122 at 390 px, including disabled-control exclusion and exact saved scroll positions.",
        "Live Mauke loads the deployed 1350 \u00d7 580 Woodroffe et al. (1991), Fig. 4 asset from the real Angataura popup. Desktop, 390 px, and 390 \u00d7 568 at 200% text retain native modality, one-control containment, complete internal caption scrolling, exact popup/scroll return, zero horizontal overflow, and 0 errors/0 warnings. Live references are output/playwright/rc16-live-reference-1440.png, rc16-live-reference-390.png, and rc16-live-reference-390x568-text200*.png.",
        "The live report declares rc.16, retains its 29,981 px desktop composition and exact 1440/390 widths, decodes all 66 images, exposes 30 maps and four tidal figures, returns compact-menu focus, settles the research anchor at 170.09 px, and moves its named tidal record 40 px under Arrow Right. The companion exposes candidate/latest rc.16, one NOW item, three queued ideas, six log entries, and 16 release-candidate rows without horizontal overflow.",
        "The served PDF is 42 A4 pages and 6,783,244 bytes and matches the retained source exactly at SHA-256 aeb9af3f37b7a32112f26ecb54ca04ed898006340de3afa6cbe12eb505740b64."
      ],
      "release_record": [
        "Content commit: fa338ced3",
        "Pages workflow: run 29362250691 \u2014 successful",
        "Companion: https://blakedyer.github.io/cook_islands_2026/trip-report/progress/",
        "Web: https://blakedyer.github.io/cook_islands_2026/trip-report/",
        "PDF: https://blakedyer.github.io/cook_islands_2026/data/documents/field/cook-islands-2026-initial-trip-report.pdf"
      ],
      "workflow_run": "29362250691",
      "real_play": "Chromium + Firefox \u00b7 desktop + phone + 200% text",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.15",
      "date": "2026-07-14",
      "state": "Public; deployed and verified",
      "checkpoint": "Public companion for the live build, active decision, curated queue, readable log, and release proof",
      "artifact": "af6697bd3; 42-page PDF retained byte-for-byte; SHA-256 aeb9af3f37b7a32112f26ecb54ca04ed898006340de3afa6cbe12eb505740b64",
      "commit": "af6697bd3e4111a004b7c3fabddab0a087e1a12c",
      "pdf_sha256": "aeb9af3f37b7a32112f26ecb54ca04ed898006340de3afa6cbe12eb505740b64",
      "pdf_pages": 42,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Added a report companion at trip-report/progress/ with immediate links to the latest deployed and verified web report and PDF.",
        "Made the current Codex focus and its selection reason visible, followed by exactly three human + Codex curated ideas in priority order.",
        "Reframed the latest six checkpoints as a short player-readable log: what changed, what reading and viewing the real builds taught, and what came next.",
        "Added a concise proof ledger for every report release candidate, with version, real-play validation, and deployed state. Each readable log entry retains a technical receipt, while the full roadmap, changelog, devlog, version history, commits, workflow runs, hashes, and generated JSON remain available.",
        "Derived release state from the existing Markdown records and version-locked the small player-summary source to the configured report version. A stale version, missing NOW reason, timeline mismatch, or queue other than exactly three items now fails the build.",
        "Added the companion to the shared footer and the normal GitHub Pages build. No separate deployment step or manually edited public HTML is required after future checkpoints."
      ],
      "validation": [
        "All 68 focused report, companion, export, and public-link tests pass. The new regressions lock the candidate/live distinction, current-focus reason, exact three-item queue, readable six-entry log, full 15-candidate proof ledger, release parsing, source links, complete route treatment, container reflow, and stale-data build failures. All 148 repository tests pass, including the preserved photo-sync, timestamp, and modal work outside this checkpoint. node --check, Python compilation, and git diff --check pass.",
        "The exact GitHub Pages-mode build generates 102 HTML pages, including trip-report/progress/index.html, and writes the structured receipt at data/trip-report-progress.json. The predeployment candidate correctly separated rc.15 from the rc.14 live build; after this deployment record, the same parser promotes rc.15 to the latest verified version and advances NOW without a public-HTML edit.",
        "Chromium at 1440 \u00d7 1100 and 390 \u00d7 844 renders the full five-island route, one NOW item, exactly three ordered ideas, six readable log entries, 15 proof rows, and all raw-record links with exact document-width parity. The only local console error is the repository's known missing-favicon 404; the route image loads and decodes at its 2400 px intrinsic width.",
        "Real keyboard play confirms the skip link is first focus and lands #main-content exactly below the 54.59 px phone header. The compact menu opens and returns focus on Escape, including at 200% text. Each technical receipt opens inline without horizontal overflow; the rc.15 receipt shows the retained PDF hash and correctly remains deployment-pending.",
        "At a 1440 px viewport with root text enlarged to 200%, the progress-shell container switches the global navigation and companion to their compact structures. The menu is operable, hero/map/log/proof layouts reflow, and the document keeps exact 1440/1440 px width parity with no clipped content. Reduced-motion CSS removes the only transition.",
        "Visual inspection improved the first pass twice: the route image changed from a detail-losing crop to the complete five-island artifact, and a container-aware fallback replaced the overlapping desktop navigation observed at 200% text. Inspected references are output/playwright/checkpoint-rc15-candidate-progress-desktop-final.png, checkpoint-rc15-candidate-progress-mobile390-final.png, checkpoint-rc15-candidate-progress-full.png, and checkpoint-rc15-candidate-progress-text200-final.png.",
        "The report's scientific copy, maps, photos, site plates, and print composition are unchanged. The verified rc.14 PDF is retained rather than risk unrelated remote-image re-encoding: source and public copies remain byte-identical at 42 A4 pages, 6,783,244 bytes, and SHA-256 aeb9af3f37b7a32112f26ecb54ca04ed898006340de3afa6cbe12eb505740b64.",
        "GitHub Pages run 29361097869 completed successfully for content commit af6697bd3. Direct public fetches expose the rc.15 report, companion, generated JSON, complete five-island map, three-item queue, six-entry log, 15-release ledger, and the byte-identical PDF artifact.",
        "Live Chromium at 1440 \u00d7 1100 renders a 6,990 px companion with exact width parity, the decoded 2400 px route image, and zero console errors or warnings. At 390 \u00d7 844, the skip link is first focus, lands main content exactly at the 54.59 px header bottom, and an inline receipt opens without overflow. At 200% text, the compact container layout and menu activate, exact 1440/1440 px parity holds, and Escape returns focus to Menu. Live references are output/playwright/checkpoint-rc15-live-progress-desktop.png, checkpoint-rc15-live-progress-mobile390.png, and checkpoint-rc15-live-progress-text200.png.",
        "The live PDF is 6,783,244 bytes and matches the retained source byte-for-byte at SHA-256 aeb9af3f37b7a32112f26ecb54ca04ed898006340de3afa6cbe12eb505740b64."
      ],
      "release_record": [
        "Content commit: af6697bd3",
        "Pages workflow: run 29361097869 \u2014 successful",
        "Companion: https://blakedyer.github.io/cook_islands_2026/trip-report/progress/",
        "Web: https://blakedyer.github.io/cook_islands_2026/trip-report/",
        "PDF: https://blakedyer.github.io/cook_islands_2026/data/documents/field/cook-islands-2026-initial-trip-report.pdf"
      ],
      "workflow_run": "29361097869",
      "real_play": "Chromium \u00b7 desktop + phone + 200% text",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.14",
      "date": "2026-07-14",
      "state": "Public; deployed and verified",
      "checkpoint": "Inert site-asset panels with reliable focus return",
      "artifact": "e554e06f2; 42-page PDF retained byte-for-byte; SHA-256 aeb9af3f37b7a32112f26ecb54ca04ed898006340de3afa6cbe12eb505740b64",
      "commit": "e554e06f206ed6f497c5e4719a8f8ad986fdab74",
      "pdf_sha256": "aeb9af3f37b7a32112f26ecb54ca04ed898006340de3afa6cbe12eb505740b64",
      "pdf_pages": 42,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Made the closed site-asset panel inert on every current survey record. Keyboard readers can no longer enter an invisible Close control, filter bar, photo grid, or data-link set while the desktop panel is visually hidden.",
        "Synchronized the panel's native inert state with its existing .open and aria-hidden states. Photos, GPS, Samples, and Profiles become interactive only while their panel is open, across both the rich photogrammetry template and the no-model fallback.",
        "Remembered the asset control that opened the panel and return focus there when Close or Escape dismisses content from inside the panel. Same-control toggles keep their existing focus, and opening the 3D takeover leaves focus on the 3D control rather than pulling it back to a stale panel trigger.",
        "Preserved the established site-atlas composition, animation, responsive stacking, report design, scientific content, maps, photography, and print edition. This checkpoint does not claim that the remaining tidal-group, complementary-landmark, or global-navigation semantics are complete."
      ],
      "validation": [
        "All 61 focused report/export/public-data tests and all 140 repository tests pass. The new regression renders both site-template branches, locks their initial inert state, and checks the JavaScript open/close and focus-return contracts. node --check, the exact generated-markup check, and git diff --check pass.",
        "The exact GitHub Pages-mode build generated 101 HTML pages and declares report-0.2.0-rc.14. Generated HS122 and HS102 each contain one initially inert, aria-hidden=\"true\" asset panel.",
        "Chromium exercised HS122's 82 enabled panel descendants and HS102's 57. On initial load, direct focus is blocked and Tab after the final daily-log link reaches the visible footer instead of the hidden Close control. Every enabled asset control opens with .open, aria-hidden=\"false\", inert === false, and the correct pressed state.",
        "Same-trigger toggle, Close, Escape from the filter bar or a loaded photo, repeated Photos/GPS cycles, and the Photos-to-3D handoff all finish with an inert hidden panel, cleared pressed states, and focus on the correct visible control. HS122's 3D takeover remains operable; HS102's unavailable Profiles and 3D controls remain disabled.",
        "Axe 4.10.3 reports zero aria-hidden-focus findings on HS122 and HS102 in initial, open, and post-close states. The full candidate scan adds no violation relative to rc.13 and removes its hidden-focus incomplete result.",
        "Candidate overlay geometry matches rc.13 exactly at 768, 390, and 320 px and matches its settled desktop geometry. At 1440, 768, 390, 320, and 200% text, open and closed panels remain usable with exact document-width parity. Inspected references are output/playwright/checkpoint-rc14-candidate-hs122-closed-1440.png, checkpoint-rc14-candidate-hs122-open-1440.png, checkpoint-rc14-candidate-hs122-open-768.png, checkpoint-rc14-candidate-hs122-open-390.png, checkpoint-rc14-candidate-hs122-open-320.png, and checkpoint-rc14-candidate-hs122-open-text200.png.",
        "The unchanged report retains its 29,981 px desktop composition, exact 1440/390/320/200%-text width parity, all 66 decoded images, working compact-menu Escape return, 168.09 px research deep-link clearance, and four named 544 px tidal records with native 40 px Arrow Right movement.",
        "Because rc.14 changes no report or print source, the verified rc.13 PDF is retained byte-for-byte rather than replacing it with a lower-quality remote-image re-encoding detected by the export gate. Source and public copies remain identical: 42 A4 pages, 6,783,244 bytes, SHA-256 aeb9af3f37b7a32112f26ecb54ca04ed898006340de3afa6cbe12eb505740b64, 29 canonical HTTPS annotations, seven named destinations, and unchanged extracted text. All 42 retained page rasters were reinspected in output/playwright/checkpoint-rc14-candidate-pdf-pages-*.",
        "GitHub Pages run 29354632974 completed successfully for content commit e554e06f2. Direct live fetches expose report-0.2.0-rc.14, the synchronized inert JavaScript, and one initially inert asset panel on all 25 HS records. The served PDF is byte-identical to the retained release artifact.",
        "Live Chromium repeats the complete HS122/HS102 gate: initial traversal, every enabled pane, same-trigger toggle, Close, Escape from loaded content, repeated cycles, the 3D handoff, disabled fallback controls, and zero aria-hidden-focus findings. Open and closed layouts remain exact-width at 1440, 768, 390, 320, and 200% text. Inspected live references are output/playwright/checkpoint-rc14-live-hs122-closed-1440.png, checkpoint-rc14-live-hs122-open-1440.png, checkpoint-rc14-live-hs122-open-390.png, checkpoint-rc14-live-hs122-open-320.png, and checkpoint-rc14-live-hs122-open-text200.png.",
        "Live Firefox repeats initial focus exclusion, open-panel reachability, Escape return, and width parity at desktop, 390 px, and 200% text. The live report declares rc.14, decodes all 66 images, retains 30 maps and four tidal records, and preserves the 29,981 px composition, menu return, research clearance, tidal keyboard movement, and exact width parity."
      ],
      "release_record": [
        "Content commit: e554e06f2",
        "Pages workflow: run 29354632974 \u2014 successful",
        "Web: https://blakedyer.github.io/cook_islands_2026/trip-report/",
        "PDF: https://blakedyer.github.io/cook_islands_2026/data/documents/field/cook-islands-2026-initial-trip-report.pdf"
      ],
      "workflow_run": "29354632974",
      "real_play": "Chromium + Firefox \u00b7 desktop + phone + 200% text",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.13",
      "date": "2026-07-14",
      "state": "Public; deployed and verified",
      "checkpoint": "First-focus keyboard bypass on all 96 modern shared-shell pages",
      "artifact": "7885d7b44; 42-page PDF; SHA-256 aeb9af3f37b7a32112f26ecb54ca04ed898006340de3afa6cbe12eb505740b64",
      "commit": "7885d7b44fda33080402ece2ac977e1731bf1688",
      "pdf_sha256": "aeb9af3f37b7a32112f26ecb54ca04ed898006340de3afa6cbe12eb505740b64",
      "pdf_pages": 42,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Added a first-focus Skip to main content control to the modern shared site shell. Keyboard readers can now bypass the repeated project header and global navigation across all 96 current pages generated from that shell, including the report, landing page, site records, daily logs, and itinerary.",
        "Styled the revealed control with the established paper, ink, blue accent, border, shadow, and focus treatment. It remains outside the viewport until focused, stays contained at 320 and 390 px, and scales cleanly through 200% text enlargement.",
        "Made the shared main a unique programmatic focus target and gave it sticky-header clearance, so activation transfers focus to visible principal content instead of leaving the reader at the top of the repeated navigation.",
        "Kept the five explicitly frozen legacy archive pages unchanged. This checkpoint does not claim that the broader tidal-group and complementary-landmark review is complete.",
        "Removed the screen-only bypass link and target metadata inside the PDF exporter before printing. The report's established seven chapter destinations, 29 external links, 42-page composition, text, and visuals therefore remain unchanged."
      ],
      "validation": [
        "All 60 focused report/export/public-data tests and all 139 repository tests pass. The new regressions lock the first-focus source order, unique main target, viewport-safe treatment, sticky-header clearance, print exclusion, and removal of the screen-only PDF destination. git diff --check passes.",
        "The exact GitHub Pages-mode build generated 101 HTML pages and declares report-0.2.0-rc.13. The bypass is present on all 96 modern shared-shell pages; only the five frozen legacy pages remain outside that shell.",
        "Chromium exercised real Tab/Enter behavior on the report at 1440 \u00d7 1100, 390 \u00d7 844, 320 \u00d7 720, and 200% text. The link is first focus, fully visible with a 2 px outline, and activation focuses #main-content exactly at the sticky-header boundary with exact document-width parity.",
        "Firefox repeats the report gate at desktop, phone, and 200% text with a contained first-focus control, successful focus transfer, exact target clearance, and no horizontal overflow. An independent pass also exercised the report, landing page, and HS122 across all four size states with no blocker.",
        "The Pages-mode report retains all 66 decoded images, exact width parity, working compact-menu Escape return, a correctly settled #research-program deep link, and all four named keyboard-operable tidal scrollers. Direct reads of HS101\u2013HS125 return 200; all 21 modeled records retain the honest relative-relief explanation.",
        "Candidate visual references are output/playwright/checkpoint-rc13-candidate-skip-focus-desktop.png, checkpoint-rc13-candidate-skip-focus-mobile390.png, and checkpoint-rc13-candidate-skip-focus-text200.png.",
        "The source and public PDF copies are byte-identical: 42 A4 pages, 6,783,244 bytes, SHA-256 aeb9af3f37b7a32112f26ecb54ca04ed898006340de3afa6cbe12eb505740b64, 29 canonical HTTPS annotations, and seven named destinations. The extracted text and all 42 page rasters are byte-identical to rc.12; the ten changed binary bytes are export timestamps. Every page was reinspected in output/playwright/checkpoint-rc13-candidate-pdf-pages-*.",
        "GitHub Pages run 29350854973 completed successfully for content commit 7885d7b44. Direct live fetches expose report-0.2.0-rc.13, one skip link, one main target, and the deployed focus/clearance rules. The served PDF is byte-identical to the release artifact and retains 29 annotations and seven destinations.",
        "Live Chromium repeats the 1440, 390, 320, and 200%-text first-focus gates with exact target clearance and width parity. A full desktop pass decodes all 66 images and retains the 29,981 px normal composition; mobile menu focus return, the 168.09 px research deep-link offset, and native Arrow Right movement on all four tidal records pass. All 25 HS pages return 200, expose the shared-shell bypass, and retain exactly 21 honest modeled records.",
        "Live Firefox repeats desktop, phone, and 200% activation with contained focus treatment, successful main-content transfer, and exact width parity. Live visual references are output/playwright/checkpoint-rc13-live-skip-focus-desktop.png, checkpoint-rc13-live-skip-focus-mobile390.png, and checkpoint-rc13-live-skip-focus-text200.png."
      ],
      "release_record": [
        "Content commit: 7885d7b44",
        "Pages workflow: run 29350854973 \u2014 successful",
        "Web: https://blakedyer.github.io/cook_islands_2026/trip-report/",
        "PDF: https://blakedyer.github.io/cook_islands_2026/data/documents/field/cook-islands-2026-initial-trip-report.pdf"
      ],
      "workflow_run": "29350854973",
      "real_play": "Chromium + Firefox \u00b7 desktop + phone + 200% text + full PDF",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.12",
      "date": "2026-07-14",
      "state": "Public; deployed and verified",
      "checkpoint": "Complete report reflow through 200% text enlargement",
      "artifact": "4a456454d; 42-page PDF; SHA-256 936c34e9002f569a46ca8a55c9bb283955641c5d91fc7a234f77733c5918c46e",
      "commit": "4a456454d2eee95578a9cc43edec5546137b54bb",
      "pdf_sha256": "936c34e9002f569a46ca8a55c9bb283955641c5d91fc7a234f77733c5918c46e",
      "pdf_pages": 42,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Restored complete report reflow when readers enlarge text from 100% through 200%. At 200% in a 1440 px browser, the chapter rail, hero, island chapters, research coda, and glossary now fit the available page width instead of extending roughly 800 px beneath the page's clipping boundary.",
        "Added screen-only, report-scoped container fallbacks at the established wide, introduction, compact, and tidal-figure layout transitions. The report now responds to its actual inline space after text enlargement rather than waiting only for pixel viewport breakpoints.",
        "Preserved the normal 1440, 390, and 320 px compositions, the approved Field Notebook Atlas, report copy, scientific claims, maps, photography, model records, and print stylesheet."
      ],
      "validation": [
        "All 58 focused report/export/public-data tests and all 137 repository tests pass; the new regression locks the screen-scoped container setup, cascade order, and non-clipping behavior. git diff --check passes.",
        "The ordinary and exact GitHub Pages-mode builds each generated 101 HTML pages and declare report-0.2.0-rc.12. All 21 modeled records retain the honest relative-relief legend and none restores an unsafe numeric DEM range.",
        "Chromium text-only enlargement from 100% through 200% in 5% increments retained complete visible content; the 155% state specifically confirms that the introduction stacks before its three-column minimum can clip. At 200%, every major report section measures 1,304/1,304 px inside a 1,374/1,374 px frame; all 66 images load, the compact menu and Escape focus return work, sticky reading controls remain clear, and the Atiu deep link settles below both controls.",
        "Firefox repeats the 200% gate at 1440 \u00d7 1100 with exact 1,440/1,440 document, 1,374/1,374 frame, and 1,304/1,304 story widths and zero viewport outliers.",
        "Normal Chromium layouts remain unchanged: the 1440 px story retains its 192/1,178.81 px two-column geometry and desktop navigation; 390 and 320 px retain single-column geometry and exact width parity. The responsive switch, tidal-figure transition, and header transition were checked on both sides of their boundaries.",
        "Candidate visual references are output/playwright/checkpoint-rc12-candidate-text200-contact-sheet.png, checkpoint-rc12-candidate-text155-intro-fixed.png, checkpoint-rc12-candidate-text200-firefox.png, checkpoint-rc12-candidate-normal-desktop.png, checkpoint-rc12-candidate-mobile390.png, and checkpoint-rc12-candidate-mobile320.png.",
        "Both PDF copies are byte-identical: 42 A4 pages, 6,783,244 bytes, SHA-256 936c34e9002f569a46ca8a55c9bb283955641c5d91fc7a234f77733c5918c46e, 29 HTTPS annotations, and seven named destinations. The rc.12 text layer and all 42 page rasters are pixel-identical to rc.11; every page was reinspected in output/playwright/checkpoint-rc12-candidate-pdf-pages-*.",
        "GitHub Pages run 29336856397 completed successfully for content commit 4a456454d. The live report declares report-0.2.0-rc.12, and its deployed stylesheet contains all four report-container fallbacks.",
        "Live Chromium repeats the 100%, 150%, 155%, 160%, and 200% gates with no structural overflow. At 155%, the introduction measures 1,334/1,334 px inside a 1,388/1,388 px frame; at 200%, the story measures 1,304/1,304 px inside a 1,374/1,374 px frame. Firefox repeats the 155% and 200% gates with zero off-viewport elements.",
        "A full 200% live scroll loads all 66 images with exact document-width parity and a clear console. Enter/Escape menu behavior, focus return, sticky controls, and the Atiu deep link all pass. At normal size, live 1440 px retains the 29,981 px rc.11 composition; 390 and 320 px retain exact width parity, named focusable 544 px tidal records, and 40 px Arrow Right movement.",
        "Direct live fetches of all 21 modeled records return 200 and preserve the relative-relief explanation without an unsafe numeric legend. The served PDF is byte-identical to both repository copies at 42 A4 pages, 6,783,244 bytes, SHA-256 936c34e9002f569a46ca8a55c9bb283955641c5d91fc7a234f77733c5918c46e, 29 HTTPS annotations, and seven named destinations.",
        "Live visual references are output/playwright/checkpoint-rc12-live-text155-intro.png, checkpoint-rc12-live-text200-hero.png, and checkpoint-rc12-live-mobile390.png."
      ],
      "release_record": [
        "Content commit: 4a456454d",
        "Pages workflow: run 29336856397 \u2014 successful",
        "Web: https://blakedyer.github.io/cook_islands_2026/trip-report/",
        "PDF: https://blakedyer.github.io/cook_islands_2026/data/documents/field/cook-islands-2026-initial-trip-report.pdf"
      ],
      "workflow_run": "29336856397",
      "real_play": "Chromium + Firefox \u00b7 desktop + phone + 200% text + full PDF",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.11",
      "date": "2026-07-14",
      "state": "Public; deployed and verified",
      "checkpoint": "Provenance-safe relative-relief legends on all 21 modeled survey records",
      "artifact": "89e91ffb7; 42-page PDF; SHA-256 b65653783b7d956342a728ca9884815a3ef7bfe90469d15d0111368daa54018b",
      "commit": "89e91ffb7e62bc1432f7f0a79a80e8db36d92e05",
      "pdf_sha256": "b65653783b7d956342a728ca9884815a3ef7bfe90469d15d0111368daa54018b",
      "pdf_pages": 42,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Removed the false DEM elevation 0 m\u20130 m legend from all 21 modeled public survey records linked by the report.",
        "Kept each DEM/hillshade layer available, but now describes its palette as model color relief and states that no validated elevation scale or tidal-datum tie is published there.",
        "Made numeric DEM labels conditional on an explicit validation flag, a non-degenerate numeric range, a named datum, and a provenance source. Local renderer percentiles are no longer promoted as public site elevations.",
        "Kept report copy, scientific claims, maps, photography, navigation, the approved Field Notebook Atlas, and the print composition unchanged."
      ],
      "validation": [
        "All 57 focused report/export/public-data tests and all 136 repository tests pass. New regressions cover the strict validation-and-provenance contract and every modeled survey record linked from the report; git diff --check passes.",
        "Both the ordinary build and the exact GitHub Pages-mode build generated 101 HTML pages. The Pages artifact declares report-0.2.0-rc.11; all 21 modeled pages contain the honest relative-relief legend and none contains DEM elevation or a numeric elevation endpoint.",
        "Chromium exercised the DEM control on all 21 Pages-mode records at 1440 px: every legend was visible and truthful, every unsafe numeric check was false, and all pages retained exact client/scroll-width parity. HS101, HS116, and HS125 repeated the gate at 390 and 320 px.",
        "The full report remains intact at 1440 \u00d7 1100 and 390 \u00d7 844: 66 images, 25 site plates, 30 maps, 25 field-evidence disclosures, exact width parity, and the authored mobile #research-program clearance. The only local console entry was the test server's known missing favicon.",
        "The site-template Impeccable detector returns []. Candidate references are output/playwright/checkpoint-rc11-candidate-hs116-relative-relief-desktop.png, checkpoint-rc11-candidate-hs116-relative-relief-mobile.png, and checkpoint-rc11-candidate-report-mobile.png.",
        "Both PDF copies are byte-identical: 42 A4 pages, 6,783,244 bytes, SHA-256 b65653783b7d956342a728ca9884815a3ef7bfe90469d15d0111368daa54018b. Extracted text remains 6,556 words and 43,784 bytes, with 29 canonical HTTPS annotations and seven internal destinations.",
        "The rc.11 and rc.10 PDF text layers match byte-for-byte, and all 42 pages rasterize pixel-identically at 144 dpi. Every candidate page was inspected in output/playwright/checkpoint-rc11-candidate-pdf-pages-*.",
        "GitHub Pages run 29321597223 completed successfully for the exact content commit. The live HTML declares report-0.2.0-rc.11, and direct fetches of all 21 modeled records contain the relative-relief explanation with no unsafe numeric legend.",
        "Live Chromium activated the DEM control on all 21 records at 1440 px with zero failures and exact width parity. HS101, HS116, and HS125 repeated at 390 and 320 px; the inspected HS116 desktop/mobile compositions are recorded in output/playwright/checkpoint-rc11-live-hs116-relative-relief-*.",
        "The live report retains its 29,981 px desktop height, 66 decoded images, 25 plates, 30 maps, 25 disclosures, exact 1440/390/320 width parity, stable 0 / 86.39 px desktop header/rail, and 168.09 px mobile research-anchor clearance. The live console has zero errors and zero warnings.",
        "The served PDF is byte-identical to the intended artifact at 42 A4 pages, 6,783,244 bytes, and SHA-256 b65653783b7d956342a728ca9884815a3ef7bfe90469d15d0111368daa54018b; its extracted text, 29 annotations, and seven destinations also match."
      ],
      "release_record": [
        "Content commit: 89e91ffb7",
        "Pages workflow: run 29321597223 \u2014 successful",
        "Web: https://blakedyer.github.io/cook_islands_2026/trip-report/",
        "PDF: https://blakedyer.github.io/cook_islands_2026/data/documents/field/cook-islands-2026-initial-trip-report.pdf"
      ],
      "workflow_run": "29321597223",
      "real_play": "Chromium \u00b7 desktop + phone + full PDF",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.10",
      "date": "2026-07-13",
      "state": "Public; deployed and verified",
      "checkpoint": "AA contrast closure for the overview credit and persistent Field Guide chip",
      "artifact": "ad2f11288; 42-page PDF; SHA-256 b74b9a3c35e25e3cd880201d2b89f7070634b7cde51b21bbbba5722a6240ca1c",
      "commit": "ad2f112881616c021de71b3e1611b08f39188190",
      "pdf_sha256": "b74b9a3c35e25e3cd880201d2b89f7070634b7cde51b21bbbba5722a6240ca1c",
      "pdf_pages": 42,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Raised the small overview-map credit from 3.97:1 to 6.29:1 by replacing the muted text color with the established --ink-soft token (#3c4d69).",
        "Raised the persistent Field Guide chip from 4.21:1 to 6.67:1 when the sticky header crosses the dark research panel, using the same established token.",
        "Kept typography, spacing, backgrounds, report copy, scientific claims, imagery, maps, figures, navigation behavior, mobile tidal records, print pagination, and the approved Field Notebook Atlas unchanged."
      ],
      "validation": [
        "All 36 focused trip-report/exporter tests and all 134 repository tests pass. Regression coverage locks both AA text-color contracts, and git diff --check passes.",
        "The exact GitHub Pages-mode build generated all 101 HTML pages and declares report-0.2.0-rc.10.",
        "Chromium contrast checks at the report opening and dark research state report zero confirmed WCAG contrast violations. The overview-map credit measures 6.29:1 and the sticky Field Guide chip measures 6.67:1.",
        "Chromium at 1440 \u00d7 1100, 390 \u00d7 844, and 320 \u00d7 720 retained exact client/scroll-width parity and loaded all 66 report images. The named, keyboard-operable mobile tidal records remain intact at both phone widths.",
        "Both PDF copies are byte-identical: 42 A4 pages, 6,783,244 bytes, SHA-256 b74b9a3c35e25e3cd880201d2b89f7070634b7cde51b21bbbba5722a6240ca1c.",
        "Extracted PDF text measures 6,556 words and 43,784 bytes. The edition retains 29 canonical HTTPS annotations and seven internal destinations.",
        "At 144 dpi, pages 1 and 3\u201342 are pixel-identical to rc.9. Page 2 changes by only 3,723 pixels, confined to the intended overview-map credit color. Every candidate page was inspected in output/playwright/checkpoint-rc10-candidate-pdf-pages-*.",
        "Comparison with Direction A, Direction B, and the approved implemented reference confirms that the Field Notebook Atlas, photographic scale, map treatment, and research coda remain visually intact.",
        "Local visual references include output/playwright/checkpoint-rc10-candidate-overview-credit.png, checkpoint-rc10-candidate-mobile390-credit.png, checkpoint-rc10-candidate-research-header.png, and checkpoint-rc10-candidate-pdf-pages-*.",
        "The deployed HTML declares report-0.2.0-rc.10. Live Chromium at 1440 \u00d7 1100 retains the 29,981 px report height, exact width parity, all 66 decoded images, the repaired #3c4d69 credit and sticky chip, zero confirmed color-contrast violations, persistent 0 / 86.39 px header/chapter-nav positions, and a clear console.",
        "At 390 \u00d7 844 and 320 \u00d7 720, the live report retains exact width parity, all 66 decoded images, and zero color-contrast or target-size violations. Its four island-named plots retain their 544/305 px and 544/235 px overflow states; Arrow Right advances the tested record by 40 px.",
        "The served PDF is byte-identical to the intended artifact at 42 A4 pages, 6,783,244 bytes, and SHA-256 b74b9a3c35e25e3cd880201d2b89f7070634b7cde51b21bbbba5722a6240ca1c; its extracted text, 29 canonical HTTPS annotations, and seven internal destinations also match.",
        "Live visual references are output/playwright/checkpoint-rc10-live-overview-credit.png, checkpoint-rc10-live-research-header.png, and checkpoint-rc10-live-mobile390-credit.png."
      ],
      "release_record": [
        "Content commit: ad2f11288",
        "Pages workflow: run 29296465937 \u2014 successful",
        "Web: https://blakedyer.github.io/cook_islands_2026/trip-report/",
        "PDF: https://blakedyer.github.io/cook_islands_2026/data/documents/field/cook-islands-2026-initial-trip-report.pdf"
      ],
      "workflow_run": "29296465937",
      "real_play": "Chromium \u00b7 desktop + phone",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.9",
      "date": "2026-07-13",
      "state": "Public; deployed and verified",
      "checkpoint": "Intact print columns and consolidated 42-page research coda",
      "artifact": "56ef6fadf; 42-page PDF; SHA-256 bcdd9996061e7464e4c2495c7b2fd644ffb5079ee52e5b2f6e06412a40acb14d",
      "commit": "56ef6fadf65c7fd1931080a14d0924917c31a46b",
      "pdf_sha256": "bcdd9996061e7464e4c2495c7b2fd644ffb5079ee52e5b2f6e06412a40acb14d",
      "pdf_pages": 42,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Recast the five Rarotonga comparison observations as two intact print columns, turning the sparse continuation after the photographic chapter opener into a deliberate reading pause without adding filler or changing a word.",
        "Kept every Immediate Work objective within one print column. The high-resolution-model objective no longer loses its final phrase at the top of the opposite column.",
        "Let the four literature cards follow Immediate Work on the same navy research leaf. The glossary remains a complete final page, and the PDF contracts from 43 to 42 A4 pages.",
        "Kept the web edition, DOM order, scientific claims, imagery, maps, figures, and approved Field Notebook Atlas design unchanged."
      ],
      "validation": [
        "All 35 focused trip-report/exporter tests and all 133 repository tests pass. The new regression locks the Rarotonga columns, item-fragmentation guard, and non-forced source break; the Impeccable layout detector returns no findings and git diff --check passes.",
        "The exact GitHub Pages-mode build generated all 101 HTML pages and declares report-0.2.0-rc.9. Chromium at 1440 \u00d7 1100 and 390 \u00d7 844 loaded and decoded all 66 report images with exact width parity, retained the verified 14-display/13-full ordinary-photo inventory, and reported no console error or warning.",
        "Desktop retains four 312/312 px non-overflowing tidal plots without extra tab stops. Phone retains four named 544/305 px regions; Arrow Right advances each by 40 px. The print-only CSS leaves the primary interaction and screen composition unchanged.",
        "Both PDF copies are byte-identical: 42 A4 pages, 6,783,262 bytes, SHA-256 bcdd9996061e7464e4c2495c7b2fd644ffb5079ee52e5b2f6e06412a40acb14d.",
        "Normalized extracted text matches rc.8 exactly at 6,536 words and 43,721 bytes. The PDF retains the same 29 canonical HTTPS annotations and seven internal destinations.",
        "At 144 dpi, candidate and official rc.9 rasters match on all 42 pages. Pages 1\u20135 and 7\u201340 are pixel-identical to rc.8; page 6 and page 41 are the only intentional recompositions; rc.9 page 42 is pixel-identical to the former rc.8 glossary on page 43. Every official page was inspected in output/playwright/checkpoint-rc9-candidate-pdf-pages-*.",
        "The deployed HTML declares report-0.2.0-rc.9. Live Chromium at 1440 \u00d7 1100 retained the 29,981 px report height, exact width parity, all 66 decoded images, four 312/312 px non-overflowing plots, and a clear console. The #research-program deep link landed at its authored 128 px scroll offset beneath the sticky header.",
        "At 390 \u00d7 844, the live report retained exact width parity and all 66 decoded images. Its four island-named 544/305 px plot regions each advanced 40 px with Arrow Right; the console remained clear.",
        "The served PDF is byte-identical to the release artifact at 42 A4 pages, 6,783,262 bytes, and SHA-256 bcdd9996061e7464e4c2495c7b2fd644ffb5079ee52e5b2f6e06412a40acb14d; all 29 canonical HTTPS annotations and seven internal destinations match the release artifact.",
        "Visual references include output/playwright/checkpoint-rc9-pages-desktop.png, checkpoint-rc9-pages-mobile.png, checkpoint-rc9-candidate-pdf-pages-*, checkpoint-rc9-live-desktop.png, and checkpoint-rc9-live-mobile.png."
      ],
      "release_record": [
        "Content commit: 56ef6fadf",
        "Pages workflow: run 29292848866 \u2014 successful",
        "Web: https://blakedyer.github.io/cook_islands_2026/trip-report/",
        "PDF: https://blakedyer.github.io/cook_islands_2026/data/documents/field/cook-islands-2026-initial-trip-report.pdf"
      ],
      "workflow_run": "29292848866",
      "real_play": "Chromium \u00b7 desktop + phone + full PDF",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.8",
      "date": "2026-07-13",
      "state": "Public; deployed and verified",
      "checkpoint": "Discoverable, keyboard-accessible mobile water-depth logger records",
      "artifact": "71fccba8d; 43-page PDF; SHA-256 d25b1325808e406397420104e8fa22fe2155b8e12c32e1fb20e1d619f3a60dfb",
      "commit": "71fccba8d7cbc89709f24dbcca8a982667fc3124",
      "pdf_sha256": "d25b1325808e406397420104e8fa22fe2155b8e12c32e1fb20e1d619f3a60dfb",
      "pdf_pages": 43,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Added a visible \u201cSwipe or use arrow keys\u201d cue to each mobile water-depth logger record while keeping the established 34 rem scientific plot scale.",
        "Made each actually overflowing plot an island-named, described, keyboard-focusable region with a clear blue focus treatment. Touch swipes and native arrow keys now expose the complete record instead of leaving the clipped continuation undiscoverable.",
        "Removed the extra region semantics, description, and tab stop as soon as the plot fits. Desktop layout, report copy, scientific data, field photography, and the PDF edition remain visually unchanged."
      ],
      "validation": [
        "All 28 focused trip-report tests and all 132 repository tests pass. Regression coverage checks all four island-specific labels, the overflow cue, conditional focus semantics, and the visible focus contract; node --check and git diff --check also pass.",
        "The GitHub Pages-equivalent build generated all 101 HTML pages and declares report-0.2.0-rc.8. Chromium loaded and decoded all 66 report images at 1440 \u00d7 1100 with exact width parity and retained the verified 14-display/13-full ordinary-photo inventory.",
        "At 390 \u00d7 844, every plot measures 544/305 px; at 320 \u00d7 720, every plot measures 544/235 px. All four expose a unique named region and visible description, Arrow Right advances each by 40 px, touch gestures reach both ends of the full horizontal range, the blue focus outline is visible, and document width remains exact.",
        "The 640/641 px boundary dynamically adds and removes the semantics: plots are 544/494 px and focusable at 640, then 495/495 px with no role, description, hint, or tab stop at 641. At 1440 px they are 312/312 px and add no stops to the desktop tab order. A mobile \u2192 desktop \u2192 mobile cycle also resets and restores the correct state.",
        "The shared Tidal Datums browser retains the same behavior: switching among all four island panels at 390 px restores the correct named region and cue without page overflow.",
        "Axe no longer reports scrollable-region-focusable at 320 or 390 px. The remaining confirmed automated violation is the pre-existing 3.97:1 overview-map credit; this checkpoint does not claim whole-report WCAG-AA conformance. The only local console error is the known test server's missing favicon.",
        "Both PDF copies are byte-identical: 43 A4 pages, 6,783,979 bytes, SHA-256 d25b1325808e406397420104e8fa22fe2155b8e12c32e1fb20e1d619f3a60dfb. Extracted text and all 43 page rasters are byte-identical to rc.7; all 29 canonical HTTPS annotations and seven internal destinations remain.",
        "Every PDF page was reinspected in the rc.8 contact sheets. Local visual references include output/playwright/checkpoint-rc8-mobile-tide-focus.png, checkpoint-rc8-mobile-320-tide-focus.png, checkpoint-rc8-pages-mobile-tide.png, and checkpoint-rc8-pdf-pages-*.",
        "The deployed HTML declares report-0.2.0-rc.8. Live Chromium at 1440 \u00d7 1100 loaded and decoded all 66 images with exact width parity, the 14-display/13-full source split, four 312/312 px non-overflowing plots, no extra plot roles or tab stops, and zero console errors or warnings.",
        "At 390 \u00d7 844, the live report exposes four island-named 544/305 px regions and visible cues with exact document-width parity. Each plot advanced 40 px with Arrow Right; the console remained clear.",
        "The served PDF is byte-identical to the release artifact at 43 A4 pages, 6,783,979 bytes, and SHA-256 d25b1325808e406397420104e8fa22fe2155b8e12c32e1fb20e1d619f3a60dfb. Live visual references are output/playwright/checkpoint-rc8-live-desktop.png and checkpoint-rc8-live-mobile-tide.png."
      ],
      "release_record": [
        "Content commit: 71fccba8d",
        "Pages workflow: run 29289827171 \u2014 successful",
        "Web: https://blakedyer.github.io/cook_islands_2026/trip-report/",
        "PDF: https://blakedyer.github.io/cook_islands_2026/data/documents/field/cook-islands-2026-initial-trip-report.pdf"
      ],
      "workflow_run": "29289827171",
      "real_play": "Chromium \u00b7 desktop + phone",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.7",
      "date": "2026-07-13",
      "state": "Public; deployed and verified",
      "checkpoint": "Manifest-verified display delivery with safe full-resolution fallbacks",
      "artifact": "ec4b6a8a8; 43-page PDF; SHA-256 fa3743246f6eddfacab2a025ec40b8329fbd2bb4fa96eb0d704cae5a6ccc50ee",
      "commit": "ec4b6a8a836a69d29b95827da449c9890e5bba4e",
      "pdf_sha256": "fa3743246f6eddfacab2a025ec40b8329fbd2bb4fa96eb0d704cae5a6ccc50ee",
      "pdf_pages": 43,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Activated the 14 medium-resolution field photographs that the public photo manifest explicitly declares. Their corresponding 14 originals total 166,975,951 bytes; the verified display renditions total 5,293,718 bytes.",
        "Retained full-resolution sources for the other 13 photographs. Their inferred display paths remain suppressed because all 13 return HTTP 404; the report does not emit a speculative URL or depend on JavaScript recovery.",
        "Reduced the complete 27-photo set from 245,031,977 bytes to 83,349,744 bytes, a 161,682,233-byte or 66.0% reduction, without changing the approved imagery, crops, captions, copy, layout, or navigation.",
        "Kept the print edition visually unchanged. Responsive width descriptors, the known 761\u2013900 px quality cliff, and publication of the 13 missing display assets remain separate checkpoints."
      ],
      "validation": [
        "Regression coverage distinguishes an explicit manifest display URL from both a full-only record and an inferred display URL embedded in accepted-match data. The report-photo macro is tested directly: verified displays render, inferred displays remain absent, and the full source remains the fallback. All 68 focused checks pass; the candidate-isolated suite passes 129 tests, and the shared working tree passes all 131 including two preserved user-owned photo-sync tests.",
        "The GitHub Pages-equivalent build generated all 101 HTML pages. Its report contains 31 ordinary photo placements representing 27 unique photographs: exactly 14 /display/ sources and 13 /full/ fallbacks. All 27 emitted sources return HTTP 200 and total exactly 83,349,744 bytes.",
        "Chromium at 1440 \u00d7 1100 loaded and decoded all 66 report images, retained exact client/scroll-width parity, and selected the same 14-display/13-full inventory. At 92% depth the global header remained at 0 px and the chapter rail at 86.39 px.",
        "Chromium at 390 \u00d7 844 and device-pixel ratio 3 loaded all 66 images, retained exact width parity, and selected the same safe inventory. A fresh #research-program load settled at 168.09 px, with the header at 0 px and compact report control at 58.39 px. Neither viewport produced a report runtime error; a fresh plain local-server load recorded only the known missing-favicon 404.",
        "The 1121/1120 and 901/900 layout boundaries switched as intended; 761 and 760 px also retained exact width parity. Matched full/display crops at the 378 px desktop scale and the highest-risk 1,074 px physical width on a 3\u00d7 phone preserve the visible limestone, coral, vegetation, and reef-flat detail at the intended reading scale.",
        "Both PDF copies are byte-identical: 43 A4 pages, 6,783,925 bytes, SHA-256 fa3743246f6eddfacab2a025ec40b8329fbd2bb4fa96eb0d704cae5a6ccc50ee. The text layer and all 43 page rasters are byte-identical to rc.6; all 29 canonical annotations and seven internal destinations remain.",
        "Local visual references: output/playwright/checkpoint-rc7-local-desktop.png, checkpoint-rc7-local-mobile.png, checkpoint-rc7-display-comparison.png, the checkpoint-rc7-display-comparison-mobile3x-* crops, and the checkpoint-rc7-pdf-pages-* contact sheets.",
        "The deployed HTML declares report-0.2.0-rc.7. Its 27 unique ordinary-photo sources are exactly 14 /display/ renditions and 13 /full/ fallbacks; every source returns HTTP 200 and the set totals exactly 83,349,744 bytes.",
        "Live Chromium repeated exact width parity at 1440 \u00d7 1100 and 390 \u00d7 844 at device-pixel ratio 3. Both viewports loaded and decoded all 66 images with the expected 14-display/13-full inventory and zero console errors or warnings. At 92% desktop depth the header/rail remained at 0 / 86.39 px; the phone research anchor settled at 168.09 px with the header/control at 0 / 58.39 px.",
        "The served PDF is byte-identical to the release artifact at 43 A4 pages, 6,783,925 bytes, and SHA-256 fa3743246f6eddfacab2a025ec40b8329fbd2bb4fa96eb0d704cae5a6ccc50ee.",
        "Live visual references: output/playwright/checkpoint-rc7-live-desktop.png and checkpoint-rc7-live-mobile.png."
      ],
      "release_record": [
        "Content commit: ec4b6a8a8",
        "Pages workflow: run 29285074439 \u2014 successful",
        "Web: https://blakedyer.github.io/cook_islands_2026/trip-report/",
        "PDF: https://blakedyer.github.io/cook_islands_2026/data/documents/field/cook-islands-2026-initial-trip-report.pdf"
      ],
      "workflow_run": "29285074439",
      "real_play": "Chromium \u00b7 desktop + phone",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.6",
      "date": "2026-07-13",
      "state": "Public; deployed and verified",
      "checkpoint": "Canonical PDF links with internal destinations and visible pages preserved",
      "artifact": "92c3f3ff4; 43-page PDF; SHA-256 5c4510c32d532d054afa561f42d1dff89796619a4f0923457c8865c8250120d4",
      "commit": "92c3f3ff4c92caacfc05fef2f4864830532e7a1f",
      "pdf_sha256": "5c4510c32d532d054afa561f42d1dff89796619a4f0923457c8865c8250120d4",
      "pdf_pages": 43,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Repaired every clickable link in the PDF edition. Its 25 site-record links and four literature links now point to the canonical public report paths instead of the exporter's temporary 127.0.0.1 server.",
        "Preserved all seven internal chapter destinations so the PDF still navigates within the document as well as out to supporting records.",
        "Kept the web report, report copy, scientific claims, approved Field Notebook Atlas layout, and all visible PDF pages unchanged."
      ],
      "validation": [
        "The six-test exporter regression suite covers relative, root-relative, query/fragment, same-origin absolute, external, protocol-relative, canonical, hash-only, email, telephone, JavaScript, data, unexpected loopback-port, and Chromium-normalized numeric-loopback cases. The built report inventory retains 55 anchors: 41 same-site links canonicalize for print and 14 pure fragments remain internal.",
        "All 32 focused exporter/report tests passed. The candidate-isolated repository suite passed all 127 tests; the shared working tree also passed all 129 tests, including two preserved tests outside this checkpoint.",
        "Both the ordinary and GitHub Pages-equivalent builds completed with 101 generated HTML pages.",
        "pdfinfo -url reports exactly 29 unique canonical HTTPS annotations: HS101\u2013HS125 plus the four cited papers. No loopback, localhost, file: URL, or unexpected host remains. All 29 targets exist in the Pages artifact.",
        "pdfinfo -dests retains the seven named destinations for Overview, Rarotonga, Atiu, Mangaia, Mauke, Mitiaro, and Next research.",
        "Both PDF copies are byte-identical: 43 A4 pages, 6,783,925 bytes, SHA-256 5c4510c32d532d054afa561f42d1dff89796619a4f0923457c8865c8250120d4. The extracted text is byte-identical to rc.5, and all 43 pages rasterize pixel-identically; the binary difference is confined to link annotations and export metadata.",
        "The unchanged real web edition was rechecked at 1440 \u00d7 1100 and 390 \u00d7 844. Both retained exact client/scroll-width parity. After all 66 images loaded, the desktop header remained at 0 px and the chapter rail at 86.39 px at 92% scroll depth. On phone, the compact control remained at 58.39 px and a fresh #research-program load settled at 168.22 px. The only local console entry was the test server's known missing favicon.",
        "Local visual references: output/playwright/checkpoint-rc6-local-desktop.png and checkpoint-rc6-local-mobile.png.",
        "The live HTML declares report-0.2.0-rc.6. Its served PDF is byte-identical to the release artifact at the intended size and SHA-256, retains the 29 canonical annotations and seven internal destinations, and all 29 linked public targets return HTTP 200.",
        "Live Chromium repeated exact width parity at 1440 \u00d7 1100 and a 390 \u00d7 844, 3\u00d7 phone viewport. All 66 desktop images completed and decoded; at 92% depth the header/rail remained at 0 / 86.39 px. A fresh phone #research-program load settled at 168.09 px with the header/control at 0 / 58.39 px; the global menu expanded above the report control. Both consoles returned zero errors and zero warnings.",
        "Live visual references: output/playwright/checkpoint-rc6-live-desktop.png and checkpoint-rc6-live-mobile.png."
      ],
      "release_record": [
        "Content commit: 92c3f3ff4",
        "Pages workflow: run 29279097777 \u2014 successful",
        "Web: https://blakedyer.github.io/cook_islands_2026/trip-report/",
        "PDF: https://blakedyer.github.io/cook_islands_2026/data/documents/field/cook-islands-2026-initial-trip-report.pdf"
      ],
      "workflow_run": "29279097777",
      "real_play": "Chromium \u00b7 desktop + phone + full PDF",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.5",
      "date": "2026-07-13",
      "state": "Public; deployed and verified",
      "checkpoint": "Persistent web navigation, mobile layer order, and safe anchor clearance",
      "artifact": "2c630edab; 43-page PDF; SHA-256 8633a176200e7c0a1b12b7e0dc54939e72a0b664a461aeac298a6ac44a01016f",
      "commit": "2c630edab07fdc2f36510ffcdbfd8159be32b36a",
      "pdf_sha256": "8633a176200e7c0a1b12b7e0dc54939e72a0b664a461aeac298a6ac44a01016f",
      "pdf_pages": 43,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Restored the intended sticky global header and wide-screen chapter rail throughout the long web report by using report-scoped horizontal clip containment instead of a sticky-breaking scroll container.",
        "Kept the narrow-screen chapter control fixed below the global header and moved it beneath the global menu panel and trigger in the layer stack.",
        "Increased anchor clearance for the report title, all five island chapters, and Next research so links settle below the stacked sticky controls, including while the chapter control is expanded.",
        "Preserved the approved rail/collapsed-control design, all report content and data, horizontal containment, and the navigation-free print edition."
      ],
      "validation": [
        "All 26 focused trip-report tests passed, including the new report-scoped overflow, sticky-layer, and anchor-margin regression. The broader repository suite passed all 123 tests.",
        "The GitHub Pages-equivalent build completed with 101 generated HTML pages.",
        "Long-scroll checks at 1440, 1121, 1120, 901, 900, and 390 px confirmed the responsive switch between the rail and compact control. At both 45% and 92% scroll depth, the global header remained at 0 px; the rail remained at 86.39 px on wide screens and the compact control at 58.39 px on narrow screens. Every viewport had exact client/scroll-width parity.",
        "At 390 \u00d7 844, all seven chapter links cleared the expanded control: target tops were 167.94\u2013168.48 px above a 161.78 px stack bottom. A fresh #research-program load settled at 168.22 px after media loaded.",
        "The open global menu remained the top interactive layer above the chapter control: chapter 20, header 30, menu 55, and trigger 60. Home was the hit-tested and first keyboard-reachable item; Escape closed the menu and restored focus to the trigger.",
        "All 66 report images loaded with no failed or pending media. Browser console checks returned zero errors and zero warnings. An independent Firefox 151 probe also confirmed that report-scoped clip restores viewport-sticky behavior without horizontal overflow.",
        "Both PDF copies are byte-identical: 43 A4 pages, 6,783,258 bytes, SHA-256 8633a176200e7c0a1b12b7e0dc54939e72a0b664a461aeac298a6ac44a01016f. Navigation text is absent from the PDF. Pages 2\u201343 are byte-identical rasterizations of rc.4; page 1 has only sub-1% raster-channel drift and no visible or geometric change. The known page 6, 41, and 42 composition debt is unchanged and remains the leading candidate checkpoint.",
        "Local visual references: output/playwright/checkpoint-rc5-sticky-desktop.png, checkpoint-rc5-sticky-mobile.png, and checkpoint-rc5-mobile-menu-layering.png.",
        "Live Pages repeated the desktop and phone gates: at a 13,000 px desktop scroll the header remained at 0 px and rail at 86.39 px; a fresh phone #research-program link settled at 168.09 px with the header at 0 px and compact control at 58.39 px. Both viewports retained exact horizontal-width parity.",
        "All seven expanded-control links cleared the live 161.78 px sticky stack. The global menu retained the verified 20 / 30 / 55 / 60 layer order, Home remained the top hit-tested and first keyboard item, Escape restored trigger focus, all 66 images loaded, and the live browser console returned zero errors and zero warnings.",
        "The live HTML declared report-0.2.0-rc.5. The served PDF was exactly 6,783,258 bytes and matched both repository copies at the intended SHA-256. Live visual references: output/playwright/checkpoint-rc5-live-desktop.png, checkpoint-rc5-live-mobile.png, and checkpoint-rc5-live-mobile-menu.png."
      ],
      "release_record": [
        "Content commit: 2c630edab",
        "Pages workflow: run 29273172619 \u2014 successful",
        "Web: https://blakedyer.github.io/cook_islands_2026/trip-report/",
        "PDF: https://blakedyer.github.io/cook_islands_2026/data/documents/field/cook-islands-2026-initial-trip-report.pdf"
      ],
      "workflow_run": "29273172619",
      "real_play": "Firefox \u00b7 desktop + phone",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.4",
      "date": "2026-07-13",
      "state": "Public; deployed and verified",
      "checkpoint": "Provenance-safe point heights and modeled-site GPS ledgers",
      "artifact": "78947b61a; 43-page PDF; SHA-256 ac4dfffa214a97c1c5ecf1c320f0dd26e47b8d585fe7cb0fde404544a5a84360",
      "commit": "78947b61a22308e7769e52d55236446fd5ec94af",
      "pdf_sha256": "ac4dfffa214a97c1c5ecf1c320f0dd26e47b8d585fe7cb0fde404544a5a84360",
      "pdf_pages": 43,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Removed the automatic \u201cMapped elevation\u201d line from every numbered site plate. The report no longer presents the nearest GPS height within an arbitrary radius as an elevation for the stop.",
        "Reframed the methods and site-sequence copy around a stricter measurement promise: receiver rows are point observations, and feature heights remain provisional until tied to named surfaces and the working island datum.",
        "Rebuilt the GPS ledger for each of the 21 modeled sites from EOS Arrow rows inside that site's surface-model footprint on its documented survey date. This retains useful unnumbered GCP rows without leaking points from another flight or field day.",
        "Corrected three demonstrably mislabeled raw site assignments using sample-manifest or surface-model evidence while preserving each original source_site_id and recording the assignment basis.",
        "Expanded site CSV and GeoJSON provenance to distinguish local-datum height from receiver altitude and expose source site ID, assignment basis, and mean-sea-level datum source.",
        "Renamed the site table language to \u201cpoint height\u201d and added an explicit note that no row supplies one elevation for an entire site."
      ],
      "validation": [
        "All 43 focused report/data tests passed, including exact expected GPS inventories for all 21 modeled sites, no foreign HS base codes, three correction-provenance checks, and a synthetic date-plus-footprint selection regression.",
        "The broader repository suite passed all 122 tests after the shared builder and public export changes.",
        "The GitHub Pages-equivalent build completed with 101 generated HTML pages.",
        "Desktop at 1440 \u00d7 1100 and mobile at 390 \u00d7 844 had no horizontal overflow. All 66 report images loaded; all 25 plates and disclosures rendered; responsive navigation switched correctly; and a fresh HS114 mobile deep link settled 128 px below the header after media loaded.",
        "The HS114 site page exposed exactly its 21 June 4 point rows, no HS110 June 2 row, and no desktop or mobile overflow. Browser console checks returned zero errors and zero warnings.",
        "An independent data audit found exact ID, order, and coordinate parity across all 25 site indexes, HTML tables, CSVs, GeoJSON files, and map overlays: 308 modeled-site rows in total, with all 135 numbered/GPS-linked model markers represented and a worst marker separation of 4.9 mm.",
        "Both PDF copies are byte-identical: 43 A4 pages, 6,780,267 bytes, SHA-256 ac4dfffa214a97c1c5ecf1c320f0dd26e47b8d585fe7cb0fde404544a5a84360. All pages and all 25 site plates were visually inspected; the unsafe height phrases are absent and the rc.4 layouts are intact.",
        "The stricter print audit reclassified a sparse page 6, a column-split bullet on page 41, and an underfilled sources page 42 as residual composition debt. Pixel comparison showed all three pages are unchanged from rc.3, so they are recorded for the next bounded print checkpoint rather than treated as rc.4 regressions.",
        "Local visual references: output/playwright/checkpoint-rc4-height-policy-desktop.png, checkpoint-rc4-height-integrity-mobile.png, and checkpoint-rc4-hs114-gps-ledger-desktop.png.",
        "Live Pages checks repeated the 1440 \u00d7 1100 and 390 \u00d7 844 zero-overflow gates. All 66 report images loaded with no failure or pending request; all 25 next tests and disclosures rendered; a fresh HS114 phone deep link settled 128 px below the header; and the console returned zero errors and zero warnings.",
        "The live HS114 site ledger contained exactly 21 June 4 rows and no HS110 row. Its live CSV exposed the provenance fields and the same 21-row inventory.",
        "The served PDF was byte-identical to both repository copies at the intended SHA-256. Live visual references: output/playwright/checkpoint-rc4-live-desktop.png and checkpoint-rc4-live-mobile-hs114.png."
      ],
      "release_record": [
        "Content commit: 78947b61a",
        "Pages workflow: run 29267417362 \u2014 successful",
        "Web: https://blakedyer.github.io/cook_islands_2026/trip-report/",
        "PDF: https://blakedyer.github.io/cook_islands_2026/data/documents/field/cook-islands-2026-initial-trip-report.pdf"
      ],
      "workflow_run": "29267417362",
      "real_play": "real browser \u00b7 desktop + phone",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.3",
      "date": "2026-07-13",
      "state": "Public; deployed and verified",
      "checkpoint": "Source-backed editorial roles and unique next tests for all 25 site plates",
      "artifact": "c1b3fdd58; 43-page PDF; SHA-256 a1e29a8b9c209293b3f1c0bdca74875a4732487c61d1e25895d96071501bda1e",
      "commit": "c1b3fdd58632ec59c705ece5fe9b1f53335062a4",
      "pdf_sha256": "a1e29a8b9c209293b3f1c0bdca74875a4732487c61d1e25895d96071501bda1e",
      "pdf_pages": 43,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Recast all 25 numbered site plates around distinct roles: why the stop matters, what the accepted photograph shows, two or three additional field observations, and one site-specific next test.",
        "Replaced four repeated island-level fallback questions with 25 unique next tests. Questions that referred to the wrong Mitiaro stops no longer appear.",
        "Moved \u201cNext test\u201d into the always-visible plate narrative on web and print and removed its duplicate from the technical evidence disclosure.",
        "Added one report-specific editorial source in trip_report.yml and removed the 21-entry hard-coded brief map. Generated text remains only as a fallback for future unconfigured sites.",
        "Kept photograph captions attached to accepted photo records and left standardized map captions as provenance rather than treating useful repetition as narrative duplication.",
        "Expanded the two photo-less plates, HS105 and HS114, to use the full media column for their locator maps while preserving the established desktop, mobile, and print grids."
      ],
      "validation": [
        "All 24 focused trip-report tests passed, including full HS101\u2013HS125 editorial coverage, configured-output precedence, 25 unique questions, visible-question placement, and the two single-media modifiers.",
        "The broader repository suite passed all 120 tests after the shared builder change.",
        "The GitHub Pages-equivalent build completed and retained the 101-page site output.",
        "Desktop at 1440 \u00d7 1100 and mobile at 390 \u00d7 844 had no horizontal overflow; all 66 report images loaded; all 25 next tests rendered; the mobile chapter control remained visible; and a fresh HS119 deep link settled 128 px below the sticky header.",
        "Browser console was clean apart from the local test server's missing-favicon 404.",
        "All 43 A4 PDF pages were rasterized and inspected. The first site on every island, both single-map plates, dense site copy, all tidal panels, and pages 40\u201343 also passed full-page inspection with no clipping, hidden headings, or orphaned transitions.",
        "Working PDF: 6,383,095 bytes; SHA-256 a1e29a8b9c209293b3f1c0bdca74875a4732487c61d1e25895d96071501bda1e.",
        "Live Pages checks repeated the desktop/mobile 66-image, zero-overflow, 25-question, two-single-media, responsive-navigation, and clean-console gates. A fresh live mobile HS119 link settled 128 px below the top after media loaded.",
        "The served PDF was byte-identical to both repository copies: 43 A4 pages, 6,383,095 bytes, with the intended SHA-256."
      ],
      "release_record": [
        "Content commit: c1b3fdd58",
        "Pages workflow: run 29254286575 \u2014 successful",
        "Web: https://blakedyer.github.io/cook_islands_2026/trip-report/",
        "PDF: https://blakedyer.github.io/cook_islands_2026/data/documents/field/cook-islands-2026-initial-trip-report.pdf"
      ],
      "workflow_run": "29254286575",
      "real_play": "real browser \u00b7 desktop + phone",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.2",
      "date": "2026-07-13",
      "state": "Public; deployed and verified",
      "checkpoint": "Public-trust baseline, verified public photo delivery, and repaired PDF transitions",
      "artifact": "6f095fbdc; 43-page PDF; SHA-256 52cd02dbbced61a9c0fdf9f8c5f9833d59be968685ecce576037fdad32fa9a26",
      "commit": "6f095fbdc21c7a4fd9913c3189c2ec8aba1205a7",
      "pdf_sha256": "52cd02dbbced61a9c0fdf9f8c5f9833d59be968685ecce576037fdad32fa9a26",
      "pdf_pages": 43,
      "status": "deployed and live-verified",
      "deployed": true,
      "public_changes": [
        "Reconciled the hero and methods tallies with derived data: 25 numbered sites, 123 samples, and 21 surface models.",
        "Replaced internal transcript mechanics, logistics fragments, typos, and overconfident generated wording with curated public site briefs while retaining the original provenance in daily and site records.",
        "Separated nearby mapped elevations from measurements made at a stop; removed unvalidated raw DEM extrema from the report.",
        "Reframed island height references and tidal-datum graphics as working field references. The displayed accuracy bands are now explicitly screening envelopes, not formal confidence intervals.",
        "Canonicalized public locality names and corrected misleading storm-berm, notch, preservation, and Rarotonga comparison language.",
        "Added concise source cards for Stoddart et al. (1990), Woodroffe et al. (1991), Huppert et al. (2015), and Du et al. (2026), with the role and limits of each paper stated in public language.",
        "Removed duplicate hero/gallery photography and logistics-only fallback choices; made fallback captions site-specific.",
        "Resolved the lead image through the existing public photo manifest so the GitHub Pages build no longer depends on a local-only field-photo file.",
        "Stopped emitting unverified inferred image renditions: every remote photo URL in the production report now resolves directly without JavaScript recovery.",
        "Reworded report maps as numbered sites and daily field routes instead of internal HS-series or \u201cbreadcrumb\u201d language.",
        "Fixed the split Rarotonga evidence list, forced the Immediate Work section to a clean page, and restored heading/site-badge contrast on dark research panels by defining the report paper-color alias."
      ],
      "validation": [
        "23 focused trip-report tests passed, including regressions for the Pages hero-image fallback and inferred public image variants.",
        "The broader repository suite passed all 119 tests after the shared builder changes.",
        "The full 101-page site build completed.",
        "Desktop at 1440 \u00d7 1100 and mobile at 390 \u00d7 844 had no horizontal overflow; all 66 report images loaded; fresh chapter deep links landed below the sticky header; research headings and site badges had the intended light-on-dark contrast.",
        "Browser console was clean apart from the repository's existing missing-favicon 404.",
        "All 43 A4 PDF pages were rasterized and inspected. No clipped content, blank artifact page, hidden heading, or orphaned transition remained.",
        "Working PDF: 6,359,525 bytes; SHA-256 52cd02dbbced61a9c0fdf9f8c5f9833d59be968685ecce576037fdad32fa9a26.",
        "Live Pages checks repeated the desktop/mobile overflow, 66-image, deep-link, status, and contrast gates with zero console errors or warnings. The live PDF hash matched the intended artifact byte-for-byte."
      ],
      "release_record": [
        "Content commit: 6f095fbdc",
        "Pages workflow: run 29247240151 \u2014 successful",
        "Web: https://blakedyer.github.io/cook_islands_2026/trip-report/",
        "PDF: https://blakedyer.github.io/cook_islands_2026/data/documents/field/cook-islands-2026-initial-trip-report.pdf"
      ],
      "workflow_run": "29247240151",
      "real_play": "real browser \u00b7 desktop + phone",
      "deployed_label": "Live verified"
    },
    {
      "version": "report-0.2.0-rc.1",
      "date": "2026-07-12",
      "state": "Verified locally",
      "checkpoint": "Full Field Notebook Atlas implementation",
      "artifact": "42-page PDF; SHA-256 0b2dfbbbb\u20268231",
      "commit": "",
      "pdf_sha256": "0b2dfbbbb\u20268231",
      "pdf_pages": 42,
      "status": "verified working-tree checkpoint; not deployed as a standalone public release",
      "deployed": false,
      "public_changes": [],
      "validation": [],
      "release_record": [],
      "workflow_run": "",
      "real_play": "Recorded validation",
      "deployed_label": "verified working-tree checkpoint; not deployed as a standalone public release"
    },
    {
      "version": "report-0.1.0",
      "date": "2026-07-10",
      "state": "Public legacy",
      "checkpoint": "Initial post-trip report and approved B-plus-A direction",
      "artifact": "1adeaa857; 21-page public PDF",
      "commit": "",
      "pdf_sha256": "",
      "pdf_pages": null,
      "status": "public legacy edition deployed from commit 1adeaa857",
      "deployed": false,
      "public_changes": [],
      "validation": [],
      "release_record": [],
      "workflow_run": "",
      "real_play": "Recorded validation",
      "deployed_label": "public legacy edition deployed from commit 1adeaa857"
    },
    {
      "version": "report-0.0.2",
      "date": "2026-06-28",
      "state": "Foundation",
      "checkpoint": "Remote-asset field guide, deterministic Pages build, and responsive layout",
      "artifact": "d05284fd3 and preceding June commits",
      "commit": "d05284fd3",
      "pdf_sha256": "",
      "pdf_pages": null,
      "deployed": false,
      "deployed_label": "Foundation",
      "real_play": "Validation record available"
    },
    {
      "version": "report-0.0.1",
      "date": "2026-06-12",
      "state": "Foundation",
      "checkpoint": "Tidal-datum page and model comparison",
      "artifact": "10bf4ad2e",
      "commit": "10bf4ad2e",
      "pdf_sha256": "",
      "pdf_pages": null,
      "deployed": false,
      "deployed_label": "Foundation",
      "real_play": "Validation record available"
    }
  ],
  "latest_verified": {
    "version": "report-0.2.0-rc.93",
    "date": "2026-08-11",
    "state": "Public; deployed and verified",
    "checkpoint": "Ivirua is named correctly throughout the field guide",
    "artifact": "Content a49324c2850181586bf91b94641f677588291744; Pages 31568973849; canonical HS111 display name corrected across source data, 102 generated pages, public exports, and the report while stable provenance identifiers remain unchanged; 43-page PDF exported by Chromium; 36,154,530 bytes; SHA-256 1d2063b9b629b6bf683fadf679730157cac70b5b6d702d80282ba7828845cfbb; byte-identical canonical and live PDF; spelling-focused checks pass; 29 unrelated pre-existing report-fixture tests remain failing locally",
    "commit": "a49324c2850181586bf91b94641f677588291744",
    "pdf_sha256": "1d2063b9b629b6bf683fadf679730157cac70b5b6d702d80282ba7828845cfbb",
    "pdf_pages": 43,
    "status": "deployed and live-verified",
    "deployed": true,
    "public_changes": [
      "Corrects the HS111 place name to Ivirua across the field guide, scientific synthesis, trip report, public data downloads, and legacy itinerary.",
      "Treats the historical misspellings as input aliases while retaining stable site, photo, URL, and anchor identifiers for provenance and compatibility.",
      "Regenerates the downloadable report from the corrected web edition."
    ],
    "validation": [
      "The local build completes with 102 generated pages, and exact spelling scans find Ivirua across the HS111, Mangaia, daily-log, synthesis, report, legacy, and public-data surfaces without either retired display spelling.",
      "Chromium exports all 43 PDF pages; extracted text contains Ivirua in all five expected report passages and neither retired spelling.",
      "The canonical data and public PDF copies are byte-identical, and all spelling-focused, progress, and PDF-export checks pass. The full report suite retains 29 unrelated pre-existing failures involving local photograph hashes/captions and historical CSS checkpoint assertions.",
      "GitHub Pages run 31568973849 successfully deployed content commit a49324c2850181586bf91b94641f677588291744. Cache-busted live checks confirm Ivirua on HS111 and the web report, with neither retired display spelling in public output."
    ],
    "release_record": [
      "Canonical and deployed PDF: 43 pages; 36,154,530 bytes; SHA-256 1d2063b9b629b6bf683fadf679730157cac70b5b6d702d80282ba7828845cfbb; byte-identical source, build, and live artifacts."
    ],
    "workflow_run": "31568973849",
    "real_play": "Chromium \u00b7 full PDF",
    "deployed_label": "Live verified"
  },
  "candidate": {
    "version": "report-0.2.0-rc.93",
    "date": "2026-08-11",
    "state": "Public; deployed and verified",
    "checkpoint": "Ivirua is named correctly throughout the field guide",
    "artifact": "Content a49324c2850181586bf91b94641f677588291744; Pages 31568973849; canonical HS111 display name corrected across source data, 102 generated pages, public exports, and the report while stable provenance identifiers remain unchanged; 43-page PDF exported by Chromium; 36,154,530 bytes; SHA-256 1d2063b9b629b6bf683fadf679730157cac70b5b6d702d80282ba7828845cfbb; byte-identical canonical and live PDF; spelling-focused checks pass; 29 unrelated pre-existing report-fixture tests remain failing locally",
    "commit": "a49324c2850181586bf91b94641f677588291744",
    "pdf_sha256": "1d2063b9b629b6bf683fadf679730157cac70b5b6d702d80282ba7828845cfbb",
    "pdf_pages": 43,
    "status": "deployed and live-verified",
    "deployed": true,
    "public_changes": [
      "Corrects the HS111 place name to Ivirua across the field guide, scientific synthesis, trip report, public data downloads, and legacy itinerary.",
      "Treats the historical misspellings as input aliases while retaining stable site, photo, URL, and anchor identifiers for provenance and compatibility.",
      "Regenerates the downloadable report from the corrected web edition."
    ],
    "validation": [
      "The local build completes with 102 generated pages, and exact spelling scans find Ivirua across the HS111, Mangaia, daily-log, synthesis, report, legacy, and public-data surfaces without either retired display spelling.",
      "Chromium exports all 43 PDF pages; extracted text contains Ivirua in all five expected report passages and neither retired spelling.",
      "The canonical data and public PDF copies are byte-identical, and all spelling-focused, progress, and PDF-export checks pass. The full report suite retains 29 unrelated pre-existing failures involving local photograph hashes/captions and historical CSS checkpoint assertions.",
      "GitHub Pages run 31568973849 successfully deployed content commit a49324c2850181586bf91b94641f677588291744. Cache-busted live checks confirm Ivirua on HS111 and the web report, with neither retired display spelling in public output."
    ],
    "release_record": [
      "Canonical and deployed PDF: 43 pages; 36,154,530 bytes; SHA-256 1d2063b9b629b6bf683fadf679730157cac70b5b6d702d80282ba7828845cfbb; byte-identical source, build, and live artifacts."
    ],
    "workflow_run": "31568973849",
    "real_play": "Chromium \u00b7 full PDF",
    "deployed_label": "Live verified"
  },
  "report_url": "../",
  "pdf_url": "../../data/documents/field/cook-islands-2026-initial-trip-report.pdf",
  "raw_json_url": "../../data/trip-report-progress.json",
  "source_links": [
    {
      "label": "Roadmap \u2014 maintainer access",
      "href": "https://github.com/blakedyer/cook_islands_2026/blob/master/docs/trip-report/ROADMAP.md"
    },
    {
      "label": "Full changelog \u2014 maintainer access",
      "href": "https://github.com/blakedyer/cook_islands_2026/blob/master/docs/trip-report/CHANGELOG.md"
    },
    {
      "label": "Development log \u2014 maintainer access",
      "href": "https://github.com/blakedyer/cook_islands_2026/blob/master/docs/trip-report/DEVLOG.md"
    },
    {
      "label": "Version history \u2014 maintainer access",
      "href": "https://github.com/blakedyer/cook_islands_2026/blob/master/docs/trip-report/VERSION_HISTORY.md"
    }
  ]
}
