# Program: release readiness (RR)

## Latest scoped status — 2026-10-16 14:54 UTC

The verified C3/R2/P3/E3/CLI0/G3 set, canonical consumer and all three final site production/source closures are accepted. [Core #694](https://github.com/OpenPresentation/opf/pull/694) and [official lock #695](https://github.com/OpenPresentation/opf/pull/695) actually merged with exact combined-source proof. RR-85 is done against its unchanged metric criterion; the broader program remains active. RR-86 stays in progress: draft [PPTX #277](https://github.com/OpenPresentation/opf-pptx/pull/277) at cf29 does not inherit frozen 1a84 qualification; current P3 refuses native17, Mac remains locked at the dated 14:40 check and Windows is held. [Exact identities and boundaries](../../evidence/rr-85-final-adoption-2026-10-16/README.md). Earlier checkpoints remain dated history.

Status: **active** (opened 2026-10-01). Tracker: [burndown.md](burndown.md).
This is the single source of truth for the cross-repository program. Agents and
people resuming work start here, not from chat history or local scratch files.

## Current published-set checkpoint — 2026-10-16 13:05 UTC

The final selected artifacts are genuinely verified: **Core 0.20.3 / renderer 0.20.2 / PPTX 0.20.3 / editor 0.20.3 / CLI 0.20.0 / Gallery 3.0.0**. Exact normal sibling publishers are `837dbca5`, `e0a67c6e` and `c0d4c0b5`; all maintained registry/tag/SLSA/signature/release checks passed. [Artifact authority and current limits](../../evidence/rr-85-final-published-set-2026-10-16/README.md). RR-85 remains **in progress** until normal final consumer/site adoption and coordinated criteria are accepted. Current Main #118/Dev #139/Gallery #138 deployments retain C3/R0/P2/E2/CLI0/G3; their earlier homepage #116/Spec #117 and source/production closures remain accepted, not restamped.

RR-86 is **in progress** under the approved maintained Keynote tests/compatibility fixes and opt-in Body/footer scope. Draft [PPTX #277](https://github.com/OpenPresentation/opf-pptx/pull/277) source 1a84 has accepted source/package/default/preview evidence, nine actual Body shapes/five capability witnesses, and retained false round-trip equality with 44 measured / 37 native findings. Fresh Mac qualification remains pending while locked; physical Windows remains on human HOLD. The separately reviewed local registry-sealer tooling is unexecuted against real artifacts; current published P3 still lacks native Body. No native prototype is shipped or accepted.

Official final roll 38898626339 was dispatched once from 041 at 12:09:57Z; child refs/results and generated lock are unobserved here. The last complete census remains 11:33 (seven draft PRs/42 issues); Editor #176 creation and actual merge are later overlays, not a refreshed global count. [Compact current checkpoint](../../evidence/rr-85-final-published-set-2026-10-16/checkpoint.json). Earlier sections below retain their exact dates and bytes.

## Current scoped checkpoint — 2026-10-16 10:12 UTC (draft)

RR-85 remains **in progress**. Core 0.20.2 shipped the metric-centering default; verified Core 0.20.3 adds the Validation results display annotation without changing schema/API identifiers. Main #118, Dev #139 and Gallery #138 have exact normal source closures and accepted production deployments. Gallery #138 merged as `9de4b23f` at 08:39:32 UTC with the accepted tree and full patch; its existing Worker remains at 100% traffic. All three sites use the genuine compatible Core 0.20.3 / renderer 0.20.0 / PPTX and Editor 0.20.2 graph, with Gallery 3.0.0.

Official generated-lock PR #693 normally merged as `041404a0`; Renderer prep #251 merged as `837dbca5`. Renderer **0.20.2** is genuinely published and fully verified from that exact source/tag through trusted workflow `38882846040` / attempt 1, published **2026-10-16 10:05:38.879 UTC**. The failed 0.20.1 tag remains immutable with no accepted artifact. The three sites still use their accepted renderer **0.20.0** deployments; no output is relabeled. Normal PPTX 0.20.3 dry metadata is prepared for root review but unpublished; Editor 0.20.3 is neither prepared nor published. [Dated scoped evidence and remaining boundaries](../../evidence/rr-85-checkpoint-2026-10-16/checkpoint.json).

This is an unpushed checkpoint proposal, not program completion or a fresh census. Earlier counts/checkpoints remain dated; Windows stays on human HOLD and RR86/native limits are unchanged.

## Current checkpoint — 2026-10-15 final qualification

**RR-68 closure — 2026-10-15 12:14 UTC:** Root accepts actual Core #681 `c7eef3e7` (exact reviewed tree `e79142b1`) and the complete **12:12:25 UTC** metadata census: **zero open PRs, zero drafts and 37 issues** across eight repositories. The original Dependabot sweep is satisfied under the retained 2026-10-03 exact-advisory exception; Dev #85 remains a conditional future trigger. This follow-up records the scoped closure and does not claim its own future merge. [Accepted basis and current evidence](../../evidence/rr-68-sweep-closure-2026-10-15/README.md).

Original 40/40 and all 84 criterion texts are unchanged. Broader progress is 78/84 complete or descoped, with six open rows: RR-14/RR-17/RR-19/RR-48/RR-51/RR-20; only RR-68 changes status. Core #676 normally merged at `4952807b`, exactly the reviewed tree/patch. The genuine Editor 0.20.2 / PPTX 0.20.2 graph is now qualified. All three earlier Editor 0.20.1 / PPTX 0.20.2 site rollouts are accepted, with 100%-traffic Workers and bounded live export proofs; those seals remain dated.

Editor **0.20.2** is genuinely published and independently verified at `ac3bf55ead8e96053ca79344dd1849b3f60e357e`, tag `opf-editor-v0.20.2`, published **10:35:47.883 UTC** through trusted run `38718731536` / attempt 1. All ten canonical checks, npm signatures and SLSA verification passed. The fresh authentic six-root consumer passed strict identity/authority/containment and one-Core controls, unchanged-other-five payload comparison, matrix NodeNext/Bundler/emit/smoke and registered-Gallery edit → render → PPTX → import → exact undo/redo. The unchanged maintained selection-browser test passed against a byte-exact copy of the installed E22 payload: one scalar editing boundary at three scales, keyboard/pointer entry, draft rerender/cancel/commit/undo, with rich/non-text selection retained. Its first missing-browser attempt is retained; the exact pinned Chromium1248 was then installed normally in task-local storage. [Actual publication](../../evidence/rr-68-editor022-registry-2026-10-15/verified-publication-receipt.json), [affected consumer qualification](../../evidence/rr-68-editor022-registry-2026-10-15/affected-consumer-qualification.json) and [installed browser proof](../../evidence/rr-68-editor022-registry-2026-10-15/installed-browser-qualification.json).

All three E22 site source PRs normally merged with exact reviewed tree/patch equality: Main #112 `6f05b52e`, Gallery #137 `89857e35` and Dev #135 `a05d993f`. Main Worker `f829b0fb-bdcd-43e6-9c09-c453ac458dbe` and Dev Worker `eeaf4ea8-d6eb-4ee3-ac5a-87c4d954f106` have Root-accepted 100%-traffic production seals. Gallery Worker `d9749aaf-5a58-4d0e-8224-973425a858b7` is also Root-accepted at 100% traffic: unchanged canonical browser **2/2**, all 44 declared asset hashes, bundled fonts/licenses/WASM and actual authored/default exports passed, preserving Classic versus default theme identities.

Main’s original maintained run is retained as **1/2**: homepage outline/caret/commit/undo passed, and the actual two-slide export completed before a hardcoded localhost-only request assertion failed. A separate one-file configured-baseURL-origin correction passed local **2/2** and canonical **2/2** checks on the same deployed runtime, with exact archive bytes; test-only Main #113 normally merged at `0ff67a7ebd4b5adf102afd985c705dc018ea0482` after the sole maintained gate confirmed 2/2 green and exited 0 at **11:31:27 UTC**, with no runtime redeployment. Main’s deployed runtime remains `6f05b52e` / Worker `f829b0fb`. Dev’s three unchanged anonymous journeys passed; its 113-part PPTX is byte-exact to the accepted prior archive. [Accepted site source/production facts](../../evidence/rr-68-editor022-sites-2026-10-15/current-site-facts.json).

Core #679 normally merged at `72ec1235e7c1198513cbb0430e0b695e7967b7ea`, retaining the exact reviewed measurement-policy tree. Official source roll #680 normally merged at `f9aebab69b260dde3538bf41c5c6c1b5516e4a7d`; its sole parent delta is the official `ecosystem.lock.json` blob from generated `6e9a3704`, SHA-256 `003d4a6df05452ca96f23d7d5c36a36f9d0825a7e108b8bd2067e9b25b6820d5`, with golden66c0 unchanged. These are accepted source integrations, separate from Editor 0.20.2 registry publication. [Actual source integration proof](../../evidence/rr-68-editor022-current-2026-10-15/actual-679-680-integration-proof.json).

Last complete metadata census: **12:12:25 UTC, zero PRs / 37 issues / zero drafts**, with all 16 PR/issue connections and label pages complete. This one-call metadata read queried no CI or issue bodies. Every returned PR was reviewed (none); all 37 issue metadata records are unchanged from 11:23, while the reviewed body ledger retains its **10:35** date. All eight local default branches were clean and exact to the observed remote heads at **11:24:21 UTC** (Core `f9aebab6`, Dev `master`). All eight clean local defaults are now exact to the final census and freshly observed remote heads at **12:16:49 UTC**; [current synchronization receipt](../../evidence/rr-68-sweep-closure-2026-10-15/primary-sync-1216.json). Earlier censuses and observations remain dated. [Current metadata inventory](../../evidence/rr-68-sweep-closure-2026-10-15/inventory-1212-summary.json), [local primaries](../../evidence/rr-68-editor022-current-2026-10-15/primary-observations-1124.json) and [dated body census](../../evidence/rr-68-editor022-current-2026-10-15/inventory-1035.json).

Reviewed font route Core `456d5efe` / renderer `805968da` are preserved on local primary branches; automatic approval review blocked the optional font-source push before execution, citing insufficient direct authorization for that payload and destination. The completed narrow menu observation and exact genuine-P22 artifact binding remain attributed; The current Root-accepted five-route E22/P22 witness/diagnosis covers five cases, 15 slides and 60 sealed files. All 116 required text/family/size/upright-weight/import-language comparisons pass; four documented Arabic native Latin-language splits remain literal. All five `roundTripEqual:false` results are reviewed conservative independently styled-newline topology fallbacks, with no source defect/fix or coefficient selected. The four Indic witnesses are now prepared; true contextual reference/font identity and affected physical/native inputs remain unresolved. [Bounded diagnosis and reproduction](../../evidence/rr-17-five-route-diagnosis-2026-10-15/README.md). **any further Windows action is on human HOLD**. Native scope remains 17 selected plus four UI operations / 41 unexecuted. [Current facts](../../evidence/rr-68-editor022-current-2026-10-15/current-facts.json) and [handoff](HANDOFF.md#current-maintenance-and-activation-boundary--2026-10-15-final-qualification).

## Earlier checkpoint — 2026-10-15 05:35 UTC (retained)

Original 40/40 and broader 77/84 are unchanged. The coherent source graph and official roll #677 (`5a98de8f`) are integrated; Editor #173 (`be495d1b`) and PPTX #264 (`19f775a7`) preparations are merged, but the new artifacts remain unverified at this checkpoint. The genuine six-package graph and three accepted production Workers are unchanged. Main/Gallery/Dev adoption prerequisites are reviewed, not newly deployed. Windows physical use is on explicit human HOLD; the new source-candidate menu heading is unobserved. [Current dated facts and remaining boundaries](HANDOFF.md#current-maintenance-and-activation-boundary--2026-10-15-final-qualification).

## Historical checkpoint — 2026-10-14 (retained)

**Current scoped update — 2026-10-14:** the supervisor accepts RR-53 on actual merged core335, implemented core PR contract/full queue-and-schedule policy, prior core669 queue success and retained 11–15% runner saving/no wall-clock gain. The broader program is now **77/84 complete or descoped**, with seven open rows: RR-14, RR-17, RR-19, RR-48, RR-51, RR-68 and RR-20. RR-48’s three sibling rulesets and issue658’s next-green-nightly condition remain separate and open. [Scoped acceptance](../../evidence/rr-53-contract-tier-2026-10-14/README.md). Core [670](https://github.com/OpenPresentation/opf/pull/670) actually merged through its normal queue at `c36727c64d15d7584f66b80f5257c94c0ada4083`; its accepted tree/lock/provenance exactly match the reviewed proposal. The supervisor accepts original T16/T40, completing the original **40/40 handoff**. [Terminal scoped decision](../../evidence/rr-20-sites-current-2026-10-14/terminal-supervisor-acceptance.json). Broader RR-20 remains in progress on the seven program rows; this does not imply all 58 native cases or global font/raster acceptance. The frozen670 source and earlier conditional snapshot below remain unchanged historical evidence.

**Earlier PR670 sealing snapshot — 2026-10-14 (retained):**

**Proposed terminal state: 40/40 only when this exact reviewed source transaction’s merged tree passes the normal required PR/merge-queue gates and actually lands. At proposal sealing, 38/40 are already supervisor-accepted; T16/T40 completion is conditional on that merge. No future merge SHA or unrun check result is claimed. The supervisor’s external terminal receipt will confirm completion without a second self-recording PR. The broader program remains 76/84 eligible complete, with eight real items open; this is not 100% program completion.**

Final bounded census 2026-10-14T22:49:27.296923+00:00: 17 open PRs/42 issues (12 dependency PRs, five source PRs, two drafts), complete pagination in one GraphQL query, and eight clean local defaults matching observed remote heads; no fetch or CI polling by the collector. [Final inventory](../../evidence/rr-20-sites-current-2026-10-14/final-inventory.json).

The official lock still selects the reviewed 9fade/83c/969/2ac source graph. Later Yu Gothic host merges are test-only evidence updates, not newly selected lock pins or new published/runtime artifacts; no second roll or publication is implied.

The owner’s 2026-10-14 instruction “no!! Don’t hold deployments!!! Get them out!!” superseded the earlier agent deployment hold. All three reviewed candidates were deployed and publicly verified using the configured production pipeline; historical prohibitions below retain their original dates. No DNS or credential mutation is inferred.

Official roll #651 and native tooling #652 are merged and verified. Evidence #661 is merged at `d0abab263708db5558fa1bf4bf23213d673b4f6c`; the supervisor's scoped acceptance covers 17 selected native cases, four actual UI operations and the fixed-source four-archive offline import replay. All 58 dispositions remain literal; 41 cases were not executed natively. No further Office run is needed for this accepted scope. [Scoped decision and exact identities](../../evidence/rr-20-windows-current-2026-10-14/supervisor-scoped-acceptance.json).

Core/PPTX 0.20.1, renderer/editor/CLI 0.20.0 and Gallery 3.0.0 are
genuinely published and verified. The
[publication authority](../../evidence/rr-20-registry-current-2026-10-14/verified-registry-authority.json)
binds each immutable tag and `gitHead` to its registry integrity, trusted
workflow, SLSA invocation and signature checks. Source-dev engine adoption
#663 is merged at `bb166995921a0573958e58c2e0da68d7d70a0502`; CLI preparation
#664 is merged at `41e3d648f8ea8c391cac065fcadef1d79f2000cf`, whose entire
tree and binary patch equal the reviewed preparation. The runtime core
artifact remains 0.20.1 at `22664e18ea657db4e377b84997f2e73bf6cd738b`.
Old e43 core 0.20.0 preparation remains unpublished and must never be tagged.

The original full registry consumer passed with core 0.20.1,
renderer/PPTX/editor/CLI 0.20.0 and Gallery 3.0.0 on its historical plan and
publication authority. [Original installed qualification](../../evidence/rr-20-registry-current-2026-10-14/registry-qualification.json)
retains those exact identities and command-log hashes. The current successor
has separate [affected installed qualification](../../evidence/rr-81-pptx0201-registry-2026-10-14/affected-consumer-qualification.json):
strict package/authority preparation, matrix types and the generated master-name
proof passed. Its fresh full factory exited 1 because the clean adjacent Editor
tooling lacked Playwright before code-browser execution; no full successor
pipeline pass is claimed. Normal Main/Gallery asset builders passed using that
approved genuine consumer. Production deployment and live qualification have separate evidence. All three site adoption PRs passed their two required checks on actual attempt 2, received canonical confirmation and merged: Main #103 `a283fcdf6e6cd9e46da1210d1787b10727208045`, Gallery #126 `dda2a068eed2820b95afe3689662f8f0cb6b7f98` and Dev #128 `a84dd6c65a98b40dda73c0a4d4c4a03ac6b2cd4d`. Each actual merge tree and full-index binary patch equals its reviewed/deployed candidate; all three primary defaults were cleanly fast-forwarded with one fetch each. Existing deployed Workers and accepted live proofs are unchanged. Original attempt 1 no-start billing failures remain historical; the owner restored the budget and fresh checks passed without source changes or forced merges. The accepted native sample remains
17 selected cases and four actual UI operations, with 41 of 58 cases unexecuted.
It does not establish all-case, global font/raster or pixel parity; the program
remains active.

The current plan and publication authority merged in core [#667](https://github.com/OpenPresentation/opf/pull/667)
at `9fade9f6dc9f28a34fc766310de2fac859e1a6a3`, binding the verified PPTX
0.20.1 artifact at `9690abd12af8d7a4d6f29a28709517f0b6569301` and Editor
example source `2ac0268359f48123031ef537fcc0c31d7c41a1df`. Editor
[#170](https://github.com/OpenPresentation/opf-editor/pull/170) added example
thumbnail batching and a reviewed package-job CI budget fix after fresh required
checks passed; its published library remains 0.20.0 at
`671b04ee3f6b228338c0eb3d6d7453f807b28837`. PPTX
[#260](https://github.com/OpenPresentation/opf-pptx/pull/260) changed the generated
master display name to `pptx.gallery`; merged release preparation
[#261](https://github.com/OpenPresentation/opf-pptx/pull/261) published that fix
through the trusted workflow, with independent registry, provenance and
signature verification. The original PPTX 0.20.0 artifact at `0e2ea49` and
published Editor example `671b04e` remain bound to their historical qualification
receipts. Site deployment and source integration have separate owner evidence.

A narrow source-copy follow-up remains: the published core 0.20.1 schema
description for `Presentation.filename` still names the removed CLI commands
“render, export” instead of `convert`. Gallery’s generated schema reference
faithfully inherits that published description. Current documentation uses
`convert`; the immutable artifact and generated assets remain unchanged.
Canonical description cleanup and normal artifact regeneration require their
own reviewed source change and gates. This caption does not restart the train.

The three reviewed site candidates are deployed, publicly verified and now normally integrated into their default branches. [Final source/CI/default proof](../../evidence/rr-20-sites-current-2026-10-14/final-source-integration.json) and [the current owner note](release-notes-0.20-current.md) bind the exact identities. The separate public core 32/32 result applies to its committed selected lock; official roller 38637195180 and its two child suites passed with terminal confirmation; only the combined proposal’s own required checks and actual main integration remain pending. T16 is proposed complete in this source transaction: the original twenty-two-name fixtures omitted commissioned Yu Gothic; the new twenty-three-name fixtures cover all seven corpus samples in Node, offline Chromium, Editor canvas and Gallery Editor canvas at weights 400/700. Renderer #246 actually merged `e7c9e25f3ffe97ae82341d5eb359644d5b7a5d9b`, Editor #171 `147d330e4fd8b39206819df975f0d337d43c4651`, and Gallery #132 `1aec10a6f7ee28e5bc6253deb1a8ff6ef9f9f070`, with exact reviewed tree/full-patch equality, all required checks confirmed and clean synchronized defaults. This transaction carries the reviewed core evidence/tracker/control delta. Renderer #217, Editor #155 and core #584 were superseded by #219/#156/#592 carriers; the literal old merge chronology is not claimed. Gallery #125’s original two 22-name files were carried through #127 into #126/dda2; #127 merged into its parent adoption branch, and later #132 extends those fixtures to 23 names. The new files are not claimed byte-identical to the old 22-name files. NativeVisual 1.0105, script-gap and long-tail native acceptance stay unchanged. [Actual host integration and carrier proof](../../evidence/rr-20-sites-current-2026-10-14/yu-host-source-integration.json). T40 is proposed complete on this transaction’s normal gated merge: original official roller 38637195180 and its two child suites passed; the original generated 8860 commit is retained as an ancestor of the reviewed proposal, and its lock/golden bytes are unchanged. The final main merge may squash history; acceptance binds its exact actual tree/lock bytes and the retained immutable original bot branch/commit/workflow evidence, not a promised main-branch ancestry. This transaction supplies the final inventory/reconciliations, current compatibility/publication records and dated readiness note for delivery to the owner. Its own new-head gates and actual merge remain pending at sealing; no generic owner approval or extra Windows replay/export gate is added. [Original roller terminal proof](../../evidence/rr-20-sites-current-2026-10-14/official-roll-terminal.json).


The supervisor accepts original scoped T24/T31 as complete: canonical #661’s 17 native cases plus four UI operations/fixed repair, source-to-publisher comparison, and the maintained same-four current-package Mac replay are bound to independent/root review. Direct PPTX import, core open/convert with default/registered Gallery and actual installed CLI all match the accepted canonical baselines; the picture change differs only by image fit:stretch and retains exact image bytes/pic500/full-source fill. Actual saved/reexport picture frames differ; no absolute geometry or pixel equivalence is asserted. [Current published-runtime replay](../../evidence/rr-20-sites-current-2026-10-14/retained-current-registry-replay.json). Native scope remains 17 selected cases plus four UI operations, 41 of 58 cases unexecuted; all global/native font/glyph/baseline/raster/full-catalog flags stay false. The separate Windows-only twelve-report export remains unaccepted and unauthorized; it is not a new release gate. No Office run, proprietary font installation or new Windows data was used.

## Historical checkpoint — 2026-10-13 published graph and feature qualification

**Post-roll checkpoint — 2026-10-14 UTC:** official roll #651 merged at `70b12d5910088b7d16a81c683db8873813041fde`; supervisor verification binds its exact tree to reviewed lock-only `229810d2`. Qualification tooling #652 merged at `47e66c570ff8666bbf63485b4b984e475e33849a`; supervisor verification binds its exact tree to reviewed `957d3bcd`. Both #651 and #652 are merged and verified. Their source integration does not close native or genuine 0.20 registry acceptance. [Merge receipt and T16 audit](../../evidence/rr20-site-currency-queue/post-roll-handoff-checkpoint.json) preserve source identities and hashes. T16 stays open: renderer/editor/core host integration has retained evidence, but Gallery host-fixture actual default/hosted integration and final matching site evidence remain. Do not repeat already qualified engine suites merely to reconcile this site gap. Genuine 0.20 release/registry, all native-case dispositions, sites and owner scope remain open; no Office or deployment acceptance is inferred. Earlier pending-roll narratives retain their historical checkpoint scope.

**Qualification tooling follow-up (2026-10-14 UTC):** official roll #651 remains pending at generated commit `229810d2`; this local follow-up uses that unchanged official lock. Reviewed partial-rollup gate recovery and maintained native CLI preview packaging are integrated, with original qualification identities retained. The fresh native preparation records 55 cases and 311 sealed files, seal `d5b4329d81aeaa0785b41814289dcc55d7b625ab7b1df91238b53408108b4ae9`, independently verified by the supervisor. Preparation is tooling evidence: no Office run, Windows transfer or native acceptance is recorded. Original canonical runs retain strict local ^0.20 published-peer failures, not green results. [Bound follow-up evidence](../../evidence/rr20-site-currency-queue/qualification-tooling-integration-checkpoint.json) records both tooling proofs, compact runtime identities and the supervisor receipt. Official roll, genuine 0.20 release/registry, native case dispositions, sites/owner scope and deployment gates remain open.

**Post-adoption checkpoint — 2026-10-14 UTC:** Gallery 3 publication/provenance remains verified. All four genuine Gallery 3 adoption PRs merged with reviewed trees: core #650 `07ccce5e`, renderer #244 `d96c70ad`, PPTX #257 `147346ce`, editor #168 `7474315e`; clean primary defaults are synchronized. Official roller run `38499933920` generated `229810d2`, reviewed as lock-only with these four exact heads and the approved array-area golden; its full qualification and merge remain pending. The 02:14 UTC inventory records 24 open PRs, 42 issues and eight clean synchronized defaults. [Bound checkpoint](../../evidence/rr20-site-currency-queue/post-adoption-handoff-checkpoint.json) preserves merge/roll/inventory receipt hashes. Source qualification remains attributed to core `88a0261c` and its original sibling graph, with strict local core/CLI ^0.20 publication waits, 43+2 root checks and eight browser suites/282 assertions; subsequent RR-55 metadata controls are separate evidence. Genuine 0.20 publication/registry acceptance, all native-case dispositions, sites and owner scope remain open. No Windows execution or deployment is inferred. Earlier dated checkpoint narratives below are historical; they are not active watcher instructions.

**Latest Gallery 3 source-adoption qualification (2026-10-14 UTC):** genuine Gallery 3 publication/provenance is verified. The clean coherent source graph core `88a0261c`, renderer `80dd5518`, PPTX `e7eefcaf` and editor `be1e009f` passed maintained full-tier ecosystem checks: 119 renderer, 72 editor and 139 PPTX test files, model controls, authentic packing/installed consumers and CLI packed installation. Packed browser checks pass eight suites, 282 assertions and eight trusted interaction scenarios. Canonical core testing retains its actual strict local peer failure (2,303 passed, one failed: renderer ^0.20 is not published); CLI retains 199 passed unit tests then its strict renderer/PPTX ^0.20 publication wait. The original 88 graph's malformed tracker row failed two root checks; only those two were rerun successfully on docs-only successor `b72ba303`, giving 43 original checks plus two corrected-doc checks, not a new full run. [Qualification proof](../../evidence/rr20-site-currency-queue/gallery3-adoption-source-qualification-proof.json) and [receipt index](../../evidence/rr20-site-currency-queue/gallery3-adoption-source-qualification-index.json) retain exact identities and all failures. Subsequent sibling RR-55 declaration edits are not qualified by this source run. Hosted adoption gates, official roll, genuine 0.20 publication/registry acceptance, all 55 native-case dispositions and site/owner scope remain open; no deployment is authorized.

The subsequent RR-55 metadata-only heads are renderer `0de5e09f`, PPTX `e7a23bb2` and editor `a4a78787`. Supervisor review verifies only the unreleased-core 0.20 declaration and fragment changed, with runtime/locks unchanged; [18 bounded control outcomes](../../evidence/rr20-site-currency-queue/gallery3-adoption-rr55-controls-receipt.json) preserve original tested-head attribution and expected refusals. This is separate metadata/control evidence, not a rerun of the full source/browser suite on those heads.

**Historical checkpoint narratives follow.**

**Latest source-integration checkpoint — 2026-10-13:** all four engine source merges are verified. Gallery #6 `8e511b80`, source-documentation #7 `fec28111` and release preparation #8 `940633a9` are verified against their reviewed trees. Gallery 3.0.0 is independently published and verified at `940633a9`, including integrity, signatures and SLSA provenance. Core #648/#649 are merged in actual main `c9fb6aa8`; the prospective release guard retains its focused/mapped and canonical candidate proof. [Checkpoint receipts](../../evidence/rr20-site-currency-queue/post-gallery-checkpoint.json) retain exact attribution. Next: qualify genuine Gallery 3 registry adoption, then the official ecosystem roll and applicable 0.20 engine/CLI release gates. [Registry adoption receipts](../../evidence/rr20-site-currency-queue/gallery3-registry-adoption-receipts.json) preserve the actual upstream publication and merge identities. Native list-edit/font/visual acceptance, site/owner scope and deployment remain open; historical 32/40 is not closure of this expanded scope.

At the historical dated checkpoint, the sole canonical gate was session `23683` for core #648 `d97d8202` and #649 `e541f80e`; hosted outcomes were pending then; both gates subsequently completed. The inventory counts of 26 open PRs and 42 issues are the **23:06 UTC snapshot**, before #649 was created, rather than current live counts. Windows read-only connectivity cell `7348` subsequently timed out without confirmed delivery; no send remains active, and connectivity clarification is pending. No Office action is recorded.

### Historical published-graph checkpoint — 2026-10-13

The published 0.19 graph's integrated release gates are verified, including actual #644 merge `bdbadd7980891c4f85e6aa04ca75f94d9c19a63b`, Node 22/26, coordinated installed Windows/macOS, actual #643 cross-platform receipts and clean-dist publication replay. [T32 evidence](../../evidence/rr20-site-currency-queue/rr20-t32-completion-audit.json) closes that checkpoint; progress is **32/40 (80%)**. All six publications remain independently verified. [Live-site evidence](../../evidence/rr20-site-currency-queue/live-versions.json) confirms production still serves 0.14-era assets. Site adoption and native Windows acceptance remain open. The owner authorized final qualification on 2026-10-12: “Start final qualification; no deployment.” Tutorials launch with the matching format release. The newer array/design/list/tutorial/gallery-explorer candidates have completed local qualification, with registry-dependent site checks explicitly blocked; historical published-graph qualification does not apply to them. Deployment remains deferred. Windows preflight passed after owner approval. The owner required repository-based test packages instead of one-off file transfers. The versioned native acceptance suite was introduced at core candidate `81104a3a`; Windows fetched that exact revision into a clean checkout. Its first pure prerequisite test failed before Office because the child Windows PowerShell process could not resolve `Get-FileHash`. Exact child-process probes confirm inherited PowerShell 7 module paths cause the failure; removing only the child PSModulePath restores the command. The scoped fix at `81c4fdf5` passed both strict Windows prerequisite tests with zero skips. Windows installed candidate preparation now passes. At `6480f2cc`, both strict tests and the first validation-only case pass; a fresh 54-case/304-file suite is generated on Windows. Pinned Roboto host setup now passes at `95c601b0`: seven exact files and registry entries plus independent fresh-process family checks. The first PowerPoint command was rejected before launch by automatic approval review under the root-only native rule. The earlier direct user authorization was verified in the Windows chat: visible execution could start at 11:30 AM Pacific on October 13 after qualification; the reviewed worker could not satisfy the earlier background-only condition. At that checkpoint native execution remained unrun. The October 13 immediate-use override below supersedes that timing hold. [Earlier Windows receipt](../../evidence/rr20-site-currency-queue/windows-versioned-suite-attempt-03.json).

The earlier [Mac runtime replay](../../evidence/rr20-site-currency-queue/final-runtime-replay-macos-proof.json) qualifies six fresh local archives at core/CLI `a94a1aed`, renderer `2b4a60f9`, PPTX `0c714b00`, editor `b45f2ca1` and Gallery `7cffb136`. Maintained installed-consumer and eight browser suites pass (282 assertions, eight interaction scenarios). Clean tooling `e4da9319` produces a 54-case/304-file sealed suite; every file hash and byte length is verified, including an independent supervisor recheck. The primary waterfall source is exact; all 17 raw round-trip differences remain documented with rationale, including unrendered global furniture definitions and deliberate chart-type/binning fallbacks. The [independent review](../../evidence/rr20-site-currency-queue/final-native-differences-review.json), accepted by the supervisor, classifies them as 15 chart-type-only adaptations, one histogram binning/type adaptation and one dormant furniture omission; no additional implementation blocker was identified, while raw inequalities and native pending remain. This is Mac candidate qualification with `nativeAcceptance: false`; the [earlier Windows prerequisites](../../evidence/rr20-site-currency-queue/windows-final-suite-prerequisites.json) are separately reported evidence and do not record Office execution.

## Historical source-candidate feature qualification checklist

The [qualification record](../../evidence/rr20-site-currency-queue/final-qualification.json)
keeps the unpublished feature graph separate from the historical published 32/40
checklist. The newer [peer-contract qualification](../../evidence/rr20-site-currency-queue/peer020-candidate-qualification.json)
records 21 passing commands on core `b8011e65`, renderer `0eeafb28`, PPTX
`84582787`, editor `b45f2ca1` and Gallery `7cffb136`. The same peer and test changes
are integrated in core `33222978`, whose fresh [mapped qualification](../../evidence/rr20-site-currency-queue/peer020-integrated-mapped-proof.json)
passes against that sibling graph. Candidate tarballs retain their original package
versions; installed 0.19 engines do not satisfy the new stable `^0.20.0` readiness
contract. This evidence does not substitute for genuine registry release gates.

All four source PRs are now merged, and each actual merge tree exactly matches
its reviewed candidate: core #646 `756d7de9`, renderer #240 `dd3ca98b`, PPTX #253
`56f01d0d` and editor #165 `5d13f665`. The canonical batch ended with exit 0.
[Core](../../evidence/rr20-site-currency-queue/core646-merge-verification.json),
[renderer](../../evidence/rr20-site-currency-queue/render240-merge-verification.json),
[PPTX](../../evidence/rr20-site-currency-queue/pptx253-merge-verification.json) and
[editor](../../evidence/rr20-site-currency-queue/editor165-merge-verification.json)
receipts retain the reviewed heads and ancestry checks. Source integration does
not close registry publication, native acceptance or production deployment.

| Component | State | Evidence or remaining check |
| --- | --- | --- |
| Core and CLI | Source qualification with strict publication waits | Exact adoption core `88a0261c` full-tier ecosystem passes. Canonical core records 2,303 passes plus one strict local ^0.20 peer failure; CLI records 199 unit passes followed by its strict renderer/PPTX publication wait. Root checks are 43 original passes plus two corrected-doc passes on `b72ba303`. Earlier full canonical graphs remain historical. [Current proof](../../evidence/rr20-site-currency-queue/gallery3-adoption-source-qualification-proof.json). |
| Gallery package | Registry publication verified; engine adoption pending | Historical evidence retains 28 reviewed previews and type/build/stability/pack checks; the `7cffb136` portability receipt records 111 Mac tests and 111 reported Windows tests. [Portability receipt](../../evidence/rr20-site-currency-queue/gallery-windows-bootstrap-portability.json). Strict bootstrap candidate `733adfc` uses actual merged engine pins; its first Mac temporary-path alias failure is [preserved](../../evidence/rr20-site-currency-queue/gallery3-merged-bootstrap-first-failure.json). Scoped fix `404e086` now passes all ten maintained local gates / 13 commands, 113 tests with no failures or skips, and 270 stability renders. [Proof](../../evidence/rr20-site-currency-queue/gallery3-merged-qualification-proof.json). Gallery #6/#7/#8 merged, and actual Gallery 3.0.0 tag/main `940633a9` is published with independent registry/provenance verification. Genuine engine dependency adoption and matching 0.20 release qualification remain pending; no engine/native/site completion follows from this independent package publication. |
| Renderer | Source merged; registry pending | `0eeafb28` includes the Mac realpath test correction, with the reviewed 119-test runtime and official 807-example and 495-template baselines retained. Source merge `dd3ca98b` passed its applicable gates; an older successful run selected core `4e03f7e8` and remains distinct from the newer peer-contract evidence. [Selection evidence](../../evidence/rr20-site-currency-queue/core332-sibling-selection.json). |
| PPTX | Runtime and Windows worker controls qualified | The reviewed list-role runtime passed 138 package test files. Candidate `84582787` passes coordinated installed qualification. `4f8a3551` changes only the native worker, pure probes, tests and fragment; package JavaScript, dist and versions remain unchanged. All 15 font controls and managed getter probes pass on portable PowerShell 7.6.7 after reproducing the original error. The hosted Windows lane now passes the mandatory built-in PowerShell child, non-Office COM-adapter control and all 15 font controls; [exact log evidence](../../evidence/rr20-site-currency-queue/pptx4f8-windows-controls.json) is separately verified. Actual PowerPoint acceptance remains pending. [Fix proof](../../evidence/rr20-site-currency-queue/native-font-property-error-fix.json), [independent review](../../evidence/rr20-site-currency-queue/native-font-property-error-review.json). |
| Editor | Source merged; registry pending | Unchanged `b45f2ca1` retains 72 source tests, 21 playground and 11 registered browser suites. The current coordinated consumer passes installed browser contracts; matching release and registry artifacts are still required. |
| Main site | Conditional | Local build/navigation pass, including all 19 tutorial steps and 650 pages; registry-install docs example awaits the matching 0.20 engines and genuine Gallery 3 dependency adoption. Tutorials launch with the matching format release. No production deployment is authorized. |
| Dev site | Passed locally; release adoption pending | 976 tests, normal type/build and 58 browser cases pass; one existing test skip. Final matching registry dependencies and production acceptance remain separate. |
| Gallery site | Conditional | 606 tests, source-only build, 12 focused cases and 123 full browser cases pass; one browser check and release build await genuine matching registry editor assets. No deployment is authorized. |
| Coordinated tarballs | Genuine Gallery 3 source graph passed; 0.20 registry pending | Core `88a0261c` / renderer `80dd5518` / PPTX `e7eefcaf` / editor `be1e009f` use verified registry Gallery 3 with unchanged source versions. Maintained full-tier packing/installed checks and eight browser suites pass (282 assertions, eight interactions). Later RR-55 declarations have separate bounded metadata/control evidence; full-run identity is retained. [Proof](../../evidence/rr20-site-currency-queue/gallery3-adoption-source-qualification-proof.json), [index](../../evidence/rr20-site-currency-queue/gallery3-adoption-source-qualification-index.json). |
| Native Windows, publication and deployment | Open | Earlier [Windows prerequisites](../../evidence/rr20-site-currency-queue/windows-final-suite-prerequisites.json) and [metrics lifecycle](../../evidence/rr20-site-currency-queue/windows-final-metrics-observation.json) retain their exact older identities and limited observations. Regenerate the maintained suite and run pure prerequisites on the current reviewed graph before owner-coordinated font/Office work. Native list edits, font and measured visual fidelity remain pending. Gallery 3 publication is independently verified; genuine 0.20 engine/CLI registry gates and matching site acceptance remain open; no native acceptance or deployment is claimed. |

## Goal

The owner's goal (2026-10-01), restated:

> Every OpenPresentation package, the CLI and the three sites are release-ready:
> shipped features complete and verified natively, known gaps closed or
> explicitly descoped with issues, CI green and cross-platform, and a
> release-readiness note for the owner.

Repositories in scope:

- core: [OpenPresentation/opf](https://github.com/OpenPresentation/opf) (schemas,
  default catalog integration, `@openpresentation/opf`, the CLI, ecosystem CI, evidence)
- [gallery](https://github.com/OpenPresentation/gallery) (every default catalog record, independently released)
- [opf-render](https://github.com/OpenPresentation/opf-render) (SVG/PDF preview)
- [opf-pptx](https://github.com/OpenPresentation/opf-pptx) (PPTX export and import)
- [opf-editor](https://github.com/OpenPresentation/opf-editor) (browser editor)
- the three sites: [pptx-gallery](https://github.com/Data-Advantage/pptx-gallery),
  [openpresentation-site](https://github.com/Data-Advantage/openpresentation-site)
  and [pptx-dev](https://github.com/Data-Advantage/pptx-dev)

The program follows the [font fidelity everywhere](../font-fidelity-everywhere/README.md)
program (FF), which is now in closure: its goal state (818 of 819 gallery configs
`works`, parity 739 perfect / 111 near / 0 mismatch of 850, measured on the
published core 0.11.4 train) stands, and its remaining open items are tracked
here as RR items so there is one list. FF items keep their IDs; RR items point
at them.

## Definition of done

The program is done when every burndown item is `done` or `descoped` with its
evidence or issue linked, and specifically:

1. **Shipped features are complete and verified natively.** Each feature an
   RR item names (SVG images, native header/footer, vector PDF, the editor
   switch operations, the preview polish items, the import details) works in the
   preview, the export and re-import, and a bounded native PowerPoint sample
   confirms the PowerPoint-facing ones. Native checks are run only by the
   supervisor (see Invariants).
2. **Known gaps are closed or descoped with issues.** Every gap is either fixed
   or recorded as `descoped` with a GitHub issue that states the current
   behaviour, what full support would need and where the evidence is (RR-18).
3. **CI is green and cross-platform.** Each repository's `main` is green on
   ubuntu and windows, and the core ecosystem matrix runs on ubuntu, windows
   and macos (RR-02, RR-04). No gate or tolerance is relaxed to get there,
   except the dated, owner-decided change recorded under Decisions (RR-15).
4. **Packages are published at the verified heads.** The final lockstep release
   train (core, then renderer and PPTX, then editor, plus the CLI) is published
   through the trusted-publishing workflows in
   [release-process.md](../../release-process.md), each registry artifact and
   its provenance verified, and the three sites adopt it (RR-01, RR-20).
5. **The owner has a release-readiness note** (FF-15, RR-20): what ships, what
   is descoped, what evidence backs each claim, and what a re-audit measured.

## Owner decisions of 2026-10-01

Recorded verbatim in intent; the owner can revise them. Each is binding for the
items that cite it.

- **Native PowerPoint header/footer is WANTED.** Slide-number, date and footer
  content export as native PowerPoint header/footer constructs (`p:hf`, the
  slide-number, date and footer placeholders, Insert > Header & Footer). This
  reverses the earlier deferral ("native `p:hf` stays deferred" in the font
  program and roadmap issue
  [opf#87](https://github.com/OpenPresentation/opf/issues/87), which asked for
  it as the required end state). Tracked as RR-11.
- **PowerPoint video is DESCOPED.** Native `p:video` export and preview
  playback are not part of this release. A future-work issue records it (RR-18).
- **Charts from external spreadsheets are DESCOPED.** `ChartDataSource`
  (`src`, `sheet`, `range`, `columns`; since removed from the schema by FA-07)
  and a host `dataResolver` hook are not part of this release. A future-work issue records it (RR-18).
- **SVG images are IN SCOPE.** Native SVG pictures in the PPTX export (with a
  raster fallback) and import (RR-10).
- **AI reconstruction of third-party PPTX belongs in pptx.dev.** opf-pptx and
  the other libraries stay deterministic. `fromPptx` only exposes the raw
  layout and style signals of a third-party deck (RR-13); the "Understand this
  deck" reconstruction with review is a pptx.dev feature (RR-14).
- **opf-render#24 gate widened to 0.15 px.** The variable-font metric gate for
  browser-versus-Fontkit widths moves from 0.1 px to 0.15 px
  ([opf-render#24](https://github.com/OpenPresentation/opf-render/issues/24),
  RR-15). This is the only gate or tolerance change in the program, it is an
  owner decision, and the native 0.02 pt geometry tolerance is unchanged.

## Owner decisions of 2026-10-01, scope 2

Later the same day the owner approved a wider scope. Binding for the items that
cite it; the owner can revise it.

- **In scope (RR-21 to RR-35).** Editor slide management, autosave and restore,
  vector PDF, PNG and SVG downloads, a data grid, deck-wide find and replace,
  image crop and focal point, a mobile layout, the core conversions module, CLI
  render/export/import, a player and `<opf-deck>` web component, `opf audit`,
  Markdown and outline conversion, diff/merge/format and one JSON-patch module,
  templates and variables (beyond colours: text, number, date, image or asset),
  numbered lists, footnotes, citations and captions, and chart options. The
  libraries stay deterministic: templates fill from data the caller supplies,
  with no network or model calls.
- **Declined (no issue).** A VS Code extension, and a language set per slide or
  per run.
- **Deferred with issues, out of v1.** Navigation and motion (transitions,
  builds and reveals, links between slides,
  [opf#250](https://github.com/OpenPresentation/opf/issues/250)) and rich
  speaker notes ([opf#251](https://github.com/OpenPresentation/opf/issues/251);
  plain-text notes stay).
- **The `world` region map chart is parked** (out of v1, handled later;
  [opf-pptx#133](https://github.com/OpenPresentation/opf-pptx/issues/133)). It
  stays on the clustered column fallback with a `chart-data-adapted`
  diagnostic, and the in-scope gallery denominator for the `works` goal is 818.
  This settles open decision 1 below.

## Open decisions

**Current RR-17 boundary — 2026-10-15:** the original 23-name four-host commission and Didot documented-visual outcome are already accepted; #361/#364/#363 are closed. The old questions in entries 2, 3 and 6 below retain their dates and are not renewed owner blockers. Actual remaining #581/#582 work is a separately reviewed engineering correction, followed by its affected native criteria; broader per-family findings remain literal. No blanket owner-permission gate, known-bad scalar or global font acceptance is introduced. [Bounded current evidence](../../evidence/rr-68-original-acceptance-index-2026-10-15/font-followup-scope.json).

**Earlier decision-boundary snapshot — 2026-10-14 (retained):** real remaining owner decisions concern RR-14 rollout, the retained native/font/raster scope, three sibling merge-queue rulesets, release automation and authorized cleanup. They are separate from the accepted scoped native criteria and completed deployments. Entries 1 and 7 below are settled or superseded historical decisions; no fresh catalog-ownership, old-release-timing or generic final-note approval gate is created. Broader issues #87/#323/#362 remain open on their exact remaining clauses.

The dated decision record follows; settled entries are retained for history. Open decisions also appear in their program rows.

Settled 2026-10-01 (owner): the `world` region map (FF-58) is parked for post-v1, tracked as [opf-pptx#133](https://github.com/OpenPresentation/opf-pptx/issues/133) (label `parked`). The works denominator is 818 and FF-58 is done. RR-20 does not ask the question again.

1. **Current status: settled and superseded by Gallery ownership.** Gallery owns and publishes every default catalog record on Gallery 3; core 0.19+ consumes its package, and hosts register matching catalog packages or embed authored records. No token or catalog-ownership decision remains. **Historical 2026-10-02 decision:** **FF-37, the catalog drift check in CI.** Settled 2026-10-02 (owner): no token. The direction is inverted: core is the source of truth and `@openpresentation/opf` ships `spec/catalogs`, so pptx-gallery's CI verifies its published `public/<kind>/` files against the catalogs of the core version in its lockfile ([pptx-gallery#84](https://github.com/Data-Advantage/pptx-gallery/pull/84), `pnpm check:core-catalog`). The token-gated `catalog-snapshot` job is removed from opf-ci.yml; the offline manifest hash check stays in `pnpm test`. No secret is needed and nothing is left for the owner.
2. **Gaps with no RR item.** Settled in part, 2026-10-05 (owner): saving a copy into a fresh directory is allowed for the FF-13 font-embed attempt and for the save-dependent rows of opf#87; the originals are never saved over. Results ([opf#355](https://github.com/OpenPresentation/opf/pull/355) FF-13: pass on the corrected audit; [opf#356](https://github.com/OpenPresentation/opf/pull/356) opf#87: furniture and provenance pass after a PowerPoint save, PNG, JPEG and cropped pictures pass, the SVG picture fails because PowerPoint keeps the `asvg:svgBlip` and drops the `r:embed` PNG fallback, which is PowerPoint's own form for an SVG it saves). Still open for the owner: accept the lost raster fallback after a PowerPoint save, or track it as a post-v1 issue. The native tab-position row (0.0227 pt against the unchanged 0.02 pt gate) needs no save and is now [opf#366](https://github.com/OpenPresentation/opf/issues/366). The status comments on [opf#87](https://github.com/OpenPresentation/opf/issues/87#issuecomment-5963559477) and [opf#88](https://github.com/OpenPresentation/opf/issues/88#issuecomment-5963559659) also list opf#88's source-preservation and destructive-preset-history box, which no RR item covers (file it as a post-v1 issue, or open an RR item?). Every deferred Windows PowerPoint run is recorded in [opf#323](https://github.com/OpenPresentation/opf/issues/323): sections 1 to 6 ran on 2026-10-05; what remains there is the re-run of the 8 (now 24) size-adjusted families once the `sizeAdjust` rows land ([opf#361](https://github.com/OpenPresentation/opf/issues/361)).
3. **Didot reroute?** Didot is routed to Playfair Display, which is the 24th of 25 bundled faces by width (20.2 / 17.9 / 24.1 percent narrower, 0 of 250 identical line breaks). The closest by metrics are Intos Serif (0.9 percent) and PT Serif (1.9 percent), neither a Didone. Question for the owner (2026-10-03): keep the Didone look-alike, or route to a metric-closer face? A design call ([opf#322](https://github.com/OpenPresentation/opf/pull/322)).
4. **RR-14 owner steps.** The implementation is merged behind default-off flags ([pptx-dev#83](https://github.com/Data-Advantage/pptx-dev/pull/83)); only the owner can finish the launch. Steps (updated 2026-10-05, pptx.dev now runs on a Cloudflare Worker): set `UNDERSTAND_DECK_ENABLED` and `UNDERSTAND_DECK_ALLOWLIST` (Clerk user ids) as Worker variables and `NEXT_PUBLIC_UNDERSTAND_DECK` as a build variable (rebuild and redeploy), not in Vercel; `AI_GATEWAY_API_KEY` is already set as a Worker secret (2026-10-05); confirm the AI Gateway $50 per month hard spend limit; rotate the old gateway key if the removed `.env.example` value was real. pptx.dev runs on the Clerk development instance and a dev Convex deployment for now (owner decision 2026-10-05, no production users yet), so the allowlist holds development-instance Clerk user ids until production Clerk and Convex exist. Then the supervisor runs the live eval once. The privacy copy (D5) is needed only before widening beyond the allowlist.
5. **RR-49: descope the Vercel parts? Settled 2026-10-06 (owner): "we don't need Vercel only checks".** openpresentation.org, pptx.gallery and pptx.dev all serve production from Cloudflare Workers (cut over 2026-10-05); the CF-04 deploy workflows deploy on every push to the default branch and production is checked after each deploy. RR-49 is `descoped`: the Vercel-only checks (the Preview smoke workflows gated on `PREVIEW_SMOKE_ENABLED` and `VERCEL_AUTOMATION_BYPASS_SECRET`, the gallery's `deployment_status` Production trigger and bypass fetch preload) are removed in [openpresentation-site#83](https://github.com/Data-Advantage/openpresentation-site/pull/83), [pptx-gallery#103](https://github.com/Data-Advantage/pptx-gallery/pull/103) and [pptx-dev#107](https://github.com/Data-Advantage/pptx-dev/pull/107). Vercel still builds as a warm rollback, so `vercel.json`, the Ignored Build Step and its test stay until the Vercel projects are removed (CF-08). [opf#299](https://github.com/OpenPresentation/opf/issues/299) (the bypass secret) can be closed. Nothing is left for the owner here; the secrets the CF-04 workflows need are tracked in the Cloudflare program.
6. **FF-46 follow-ups: size adjustments, host fixtures, measurement default (2026-10-06).** The documented-visual run measured all 46 script, visual and code-table families natively: 22 pass, 24 findings ([opf#357](https://github.com/OpenPresentation/opf/pull/357), [opf#382](https://github.com/OpenPresentation/opf/pull/382)). The Windows supervisor decided on 2026-10-05 (vetoable) to use the existing RR-38 mechanism for the findings: a `sizeAdjust` row (and `lineAscent` where the line height differs) per family in `font-policy.json`, measured on the RR-38 basis and cross-checked against the native ratio, never relabelling a family `metric` and never changing a gate ([opf#361](https://github.com/OpenPresentation/opf/issues/361); proposed factors, for example Traditional Arabic 0.79, DilleniaUPC 0.64, Angsana New 0.70, Sakkal Majalla 0.80, Malgun Gothic 1.06, Nirmala UI 1.07, MS Gothic 1.04, plus 16 more families). Moving the 22 passing families to `documented-visual` also needs the family's own fixture in every host (node, browser, editor, gallery editor; [opf#362](https://github.com/OpenPresentation/opf/issues/362)); the gate is not relaxed. And the registry's text measurement may become the default for composition when fonts are prepared ([opf#364](https://github.com/OpenPresentation/opf/issues/364)). Questions for the owner: commission the `sizeAdjust` rows and the per-family host fixtures (one work package each), or record the findings as wide look-alikes; and whether `toPptx` and the preview use the registry measurement by default.
7. **Current status: historical release timing, superseded.** The 0.13 train shipped; the current verified graph is core/PPTX 0.20.1, renderer/editor/CLI 0.20.0 and Gallery 3. No pre-0.13 timing question remains. **Historical 2026-10-06 decision:** **RR-54 release note and merge timing (2026-10-06).** RR-54 (chart and table data) changes behaviour for users who upgrade to 0.13: in non-strict documents a chart text cell such as `"12%"`, `"$5"` or `"Q1"` becomes a gap with a `chart-value-not-numeric` warning (the exporter used to strip the text and write 12 or 5); a two-column scatter plots column 2 against the row numbers; an unknown dataset or mapping column fails validation. The schema change is additive. The supervisor merges [opf#376](https://github.com/OpenPresentation/opf/pull/376), [opf-render#127](https://github.com/OpenPresentation/opf-render/pull/127), [opf-pptx#171](https://github.com/OpenPresentation/opf-pptx/pull/171) and [opf-editor#92](https://github.com/OpenPresentation/opf-editor/pull/92) after the CLI 0.10.1 tag; the 0.13 minor train (core 0.13.0, CLI 0.11.0, opf-render 0.13.0, opf-pptx 0.13.0 with pptxgenjs-plus, per-slide script fonts and RR-54, opf-editor 0.12.0) publishes them. Question for the owner: review the three behaviour changes in the release note before the train, or veto one.


## Decision log (supervisor, vetoable)

Decisions the supervisor took on the owner's behalf. Each is one dated line; the owner can veto any of them. Entries
dated 2026-10-02 for earlier work are the date they were recorded in [HANDOFF.md](HANDOFF.md).

- 2026-10-02: The `arabic` language default stays Arabic Typesetting, fixed in the preview with `sizeAdjust` 0.64 and `lineAscent` 0.70 / 0.78 (RR-38), not replaced.
- 2026-10-02: CJK and Thai line breaking (dictionary word breaking, kinsoku) is descoped from the first release (RR-39, [opf#278](https://github.com/OpenPresentation/opf/issues/278)).
- 2026-10-02: Single-series bar and column charts export in one colour (RR-36).
- 2026-10-02: The editor's image crop is baked into a new asset (RR-25).
- 2026-10-02: The timeline workflow test allows Windows Chromium's whole-pixel ink rounding ([opf#276](https://github.com/OpenPresentation/opf/pull/276)); no other tolerance changed.
- 2026-10-02: The core `packages` job timeout is 40 minutes.
- 2026-10-02: Core `main` requires the per-PR cross-platform checks (ruleset 24382980: `packages`, `Installed candidates` on windows and macos, `Verify OPF packages`); owner-approved.
- 2026-10-02: The FF-37 catalog drift check runs in pptx-gallery against the published `@openpresentation/opf`; no secret is needed.
- 2026-10-02: pptx-dev uses Claude Sonnet 5.5 (`anthropic/claude-sonnet-5-5`, owner decision) with budget guards (10 reconstructions per hour, 60 slides / 20 MB, 16k output tokens) and a privacy notice (RR-14).
- 2026-10-02: pptx-dev's Windows CI leg runs on master, weekly and on Windows-sensitive paths or the `windows` label (RR-40).
- 2026-10-02: FF-05: the theme `ea` is never empty, run-level `ea` / `cs` are not written, `endParaRPr` is kept.
- 2026-10-02: RR-42: native evidence for every gallery value.
- 2026-10-02: Windows PowerPoint native runs are deferred while the supervisor works on the Mac mini (owner): FF-13, the FF-46 Windows measurements and any re-run of the FF-12 sample wait for the Windows host.
- 2026-10-02: Mac and Keynote compatibility checks run on the Mac mini; Keynote is opened read-only, never saved, and only by the supervisor (owner request).
- 2026-10-02: RR-14 stays in-progress until the owner provides the gateway key, decides budget and ZDR and turns the flags on.
- 2026-10-02: opf-pptx 0.12.2 is released as a patch that carries [opf-pptx#154](https://github.com/OpenPresentation/opf-pptx/pull/154) only.
- 2026-10-02: pptx-gallery's no-public-status guard is narrowed from `/\bpipeline:/` to `/(?<!\bsales )\bpipeline:/`, because core's business-review narrative beat says "sales pipeline:" verbatim in `/api/narratives.json`; bare "pipeline:" labels stay forbidden (a gate change, a narrow false-positive fix; supervisor-accepted).
- 2026-10-02: The 38 gallery narrative pages show only core-provided fields; no presentation text is authored for them (supervisor-accepted).
- 2026-10-02: The "Aspect ratios" coming-soon cell is removed from the gallery home grid, for a layout reason; the slide-size page is still tracked by [opf#293](https://github.com/OpenPresentation/opf/issues/293) (supervisor-accepted).
- 2026-10-02: The gallery recommendation fields (density, colours, layouts, slide counts, principles, industries) were authored for the `candidates` and `engineering-team` audiences (supervisor-accepted).
- 2026-10-02: Open question for the owner: the existing `x-gallery.status` "reconciled" field in pptx.gallery's public catalog index files may count as progress-style metadata under the no-public-status invariant.
- 2026-10-03: [opf#292](https://github.com/OpenPresentation/opf/issues/292): the 385 gallery-only layouts stay a subset by design (packed core +54,245 B, but about +382 KB minified / +19 KB gzip in every renderer, editor and exporter browser bundle that never reads layout records); revisit after the per-kind catalogs split ([opf#318](https://github.com/OpenPresentation/opf/issues/318)). The four legacy font pairings are published gallery-first with the app "Google Slides" ([opf#317](https://github.com/OpenPresentation/opf/issues/317)) ([opf#310](https://github.com/OpenPresentation/opf/pull/310); supervisor-accepted).
- 2026-10-03: Editor switches for slide size and purpose ([opf-editor#80](https://github.com/OpenPresentation/opf-editor/pull/80)): both are in `SWITCH_DIMENSIONS` (the tracker reads it); slide size is deck-only and a custom inches size is replaced by the preset; purposes accept free text; the selects sit in the Look and Audience-and-story groups (supervisor-accepted).
- 2026-10-03: RR-49 (Vercel gating, [pptx-gallery#89](https://github.com/Data-Advantage/pptx-gallery/pull/89), [openpresentation-site#68](https://github.com/Data-Advantage/openpresentation-site/pull/68), [pptx-dev#81](https://github.com/Data-Advantage/pptx-dev/pull/81)): the skip rule is an allowlist of ignorable paths (`.github/`, `docs/`, `.agents/`, `.claude/`, `.interface-design/`, root `*.md`, `LICENSE`), not all `*.md`; the gallery's production smoke falls back to the public domain without the secret; the gallery's push-to-main rerun of PR checks is kept; no production workflow is added for the site and pptx-dev (supervisor-accepted).
- 2026-10-03: RR-47 ([openpresentation-site#67](https://github.com/Data-Advantage/openpresentation-site/pull/67)): `json-options.spec.ts:149` got a test-side wait rather than a product change (supervisor-accepted).
- 2026-10-03: [opf#309](https://github.com/OpenPresentation/opf/pull/309): the plural audience ids are deprecated core-first (no `removal` field; validation warns, never errors); the renderer golden digest is handled by a core copy of the baseline selected via `OPF_GOLDEN_BASELINE`; the audience `sales` differs from `sales-team` in technicalFluency and decisionPower (supervisor-accepted).
- 2026-10-03: RR-52 is done on the evidence of [opf-render#115](https://github.com/OpenPresentation/opf-render/pull/115) although it depended on RR-50 (supervisor decision).
- 2026-10-03: RR-50 is done although the GitHub App is not installed (supervisor decision): the criterion "no hand-edited pins and no pin off `main`" is met by `ecosystem.lock.json`, the roller (dispatch only) and the `Depends-On:` trailers ([opf#327](https://github.com/OpenPresentation/opf/pull/327) to [opf#330](https://github.com/OpenPresentation/opf/pull/330), [opf#333](https://github.com/OpenPresentation/opf/pull/333)); the App-dependent automation (roller schedule, `ECOSYSTEM_LOCK_GUARD=blocking`) is follow-up for the owner ([opf#298](https://github.com/OpenPresentation/opf/issues/298)). The siblings test against the lock (the last green set), not raw `main`; adopting the lock moved the sibling pins to core's set; opf-render's linked golden now comes from the lock (core's RR-41 fixture).
- 2026-10-03: RR-51 ([opf#334](https://github.com/OpenPresentation/opf/pull/334), [opf#339](https://github.com/OpenPresentation/opf/pull/339); supervisor-accepted): the tag step gates on the release commit's checks; geometry lockstep is flagged by the script, not decided by it; the README prose it lists is for review; verify retries only a 404 attestation bundle and a not-yet-installable version.
- 2026-10-03: RR-53 (supervisor decision): no PR-tier reduction before the merge queue exists; the core contract tier [opf#335](https://github.com/OpenPresentation/opf/pull/335) stays parked (measured -11 to -15% runner time, no wall-clock gain, `ecosystem-core` is the critical path).
- 2026-10-03: Core 0.12.1 (plural-audience deprecation, additive catalog data) is released without a geometry change (805 raster hashes unchanged in [opf#309](https://github.com/OpenPresentation/opf/pull/309)); the siblings keep their `^0.12.0` floors and are not re-released (supervisor decision).
- 2026-10-03: The pptx.gallery plural audience URLs answer 307, not 308, to the singular pages ([pptx-gallery#94](https://github.com/Data-Advantage/pptx-gallery/pull/94); supervisor-accepted).
- 2026-10-03: RR-19: the 19 kept worktrees (uncommitted or unpushed work) and the `archive-*`, `shared-furniture-*` and `claude/*` branches are left for the owner; 26 no-PR `codex/rr-*` pin branches were deleted after RR-50 (supervisor decision).
- 2026-10-02 (owner decision, not vetoable): RR-14 launches as an allowlist beta first; ZDR is not required ("remove any ZDR requirements"); the current per-user caps are kept; the Vercel AI Gateway has a $50 per month hard spend limit.
- 2026-10-02: RR-14 details ([pptx-dev#83](https://github.com/Data-Advantage/pptx-dev/pull/83); supervisor-accepted): the allowlist holds Clerk user ids, not emails; the capability endpoint answers 404 while the feature is off; one gateway refusal skips the model for the rest of that request.
- 2026-10-02: RR-20 re-audit: audit B's script-slot check accepts the exported theme `ea` / `cs` slot when runs name no face (follows opf-pptx 0.12.1, FF-05); the unchanged-check reading (793 of 819) is preserved as evidence (supervisor-accepted; [opf#314](https://github.com/OpenPresentation/opf/pull/314)).
- 2026-10-03: RR-47 quarantine ([opf#320](https://github.com/OpenPresentation/opf/pull/320), [opf-render#116](https://github.com/OpenPresentation/opf-render/pull/116), [opf-pptx#157](https://github.com/OpenPresentation/opf-pptx/pull/157)): the quarantine id granularity is the suite test id; the supervisor approval is documented in `test/QUARANTINE.md`, not enforced by CODEOWNERS (supervisor-accepted).
- 2026-10-03: Didot reached documented-visual through the qualification-report path (a re-run of `qualify-latin-fonts.mjs` on the Mac), not through `overrides.acceptance` ([opf#322](https://github.com/OpenPresentation/opf/pull/322); supervisor-accepted).
- 2026-10-03: RR-04 ([opf#315](https://github.com/OpenPresentation/opf/pull/315)): the installed-parity job uses a committed gzip of pptx-gallery's gen-snippets output (850 docs, reproduced as a checkout run, 850 of 850), because the opf workflow token cannot read the private gallery repo; a read-only token would let it check out the gallery instead (owner action; supervisor-accepted).
- 2026-10-03: RR-45 ([opf#316](https://github.com/OpenPresentation/opf/pull/316)): the `packages` aggregator requires every shard to succeed; RR-48 ([opf#324](https://github.com/OpenPresentation/opf/pull/324) and the three sibling PRs): the merge queue (`merge_group`) always runs the full ecosystem (supervisor-accepted).
- 2026-10-03: The braces audit ignore (a single advisory, GHSA-vfj7-8cjw-p6xm, tooling-only paths) is accepted in [pptx-dev#84](https://github.com/Data-Advantage/pptx-dev/pull/84) and [pptx-gallery#92](https://github.com/Data-Advantage/pptx-gallery/pull/92) until a patched braces is published ([pptx-dev#85](https://github.com/Data-Advantage/pptx-dev/issues/85)); pptx-gallery allows the `sharp` build in its pnpm `allowBuilds` ([pptx-gallery#93](https://github.com/Data-Advantage/pptx-gallery/pull/93)) (supervisor-accepted).
- 2026-10-03: RR-47 ([openpresentation-site#72](https://github.com/Data-Advantage/openpresentation-site/pull/72)): the fixed test was accepted at 7 of 7 green CI runs instead of a strict 5-run streak, because one run failed on an unrelated flake ([openpresentation-site#73](https://github.com/Data-Advantage/openpresentation-site/issues/73), unreproduced 0 of 180 locally) (supervisor-accepted).
- 2026-10-03: RR-46 ([opf#331](https://github.com/OpenPresentation/opf/pull/331) and the three sibling PRs): tracker staleness is a warning on pull requests and the merge queue and strict on `main`; the sibling test order is by name; the changelog is grouped by type (supervisor-accepted).
- 2026-10-02: Tracker refresh (RR-00, tracker agent): RR-05 and FF-12 are not closed on the CJK run alone, because it records a `Presentation.Fonts` failure on `lang-ja-meiryo`; FF-41 to FF-45 stay at review or in-progress in the font burndown, because the per-family acceptance is open; FF-27 stays in review for lack of a native renumber observation.
- 2026-10-05 (Windows supervisor, vetoable): RR-05 and FF-12 are accepted as met on the 12-deck sample although the comparison script's stricter rule (every used family listed) reports 1 FAIL: PowerPoint's `Presentation.Fonts` leaves out a theme-only East Asian or complex-script family when the deck's Latin family differs, and the theme slots and every run read it back; the FF-12 criterion is about names outside the chosen families, and there are none. The raw script output is kept as measured ([opf#352](https://github.com/OpenPresentation/opf/pull/352)). Recorded by the RR-00 refresh of 2026-10-06.
- 2026-10-05 (owner, not vetoable): saving a copy into a fresh directory is allowed for FF-13 and the save-dependent rows of opf#87; originals are never saved over ([opf#355](https://github.com/OpenPresentation/opf/pull/355), [opf#356](https://github.com/OpenPresentation/opf/pull/356)).
- 2026-10-06 (supervisor refresh, vetoable): FF-13 is done on the corrected audit: audit v1 failed because it compared the EOT `FamilyName` raw and Windows writes it null-terminated; audit v2 strips trailing NULs and nothing else, and both audits are committed ([opf#355](https://github.com/OpenPresentation/opf/pull/355)).
- 2026-10-06 (supervisor refresh, vetoable): FF-27 and RR-03 are closed on the native renumber and update observation ([opf#354](https://github.com/OpenPresentation/opf/pull/354)). The gap that no gallery snippet exercises a `datetime*` field is treated as a coverage observation outside the criterion text (the criterion's gallery clause, the snippet options, is met by pptx-gallery#47; the `datetime*` export is covered by offline tests and by the native run), not as an open criterion.
- 2026-10-05 (Windows supervisor, vetoable): the slide-size presets stay as OPF defines them (`a4` and `letter` are the paper sizes, `16:9` is PowerPoint's Widescreen); PowerPoint's A4 Paper (10.83 x 7.5 in), Letter Paper (10 x 7.5) and On-screen Show 16:9 (10 x 5.625) differ and are documented in [opf#365](https://github.com/OpenPresentation/opf/issues/365), not matched ([opf#354](https://github.com/OpenPresentation/opf/pull/354)).
- 2026-10-05 (Windows supervisor, vetoable): FF-46 findings use the RR-38 `sizeAdjust` mechanism and the passing proprietary families wait for their own host fixtures; the `documented-visual` gate is not relaxed ([opf#361](https://github.com/OpenPresentation/opf/issues/361), [opf#362](https://github.com/OpenPresentation/opf/issues/362)).
- 2026-10-06 (supervisor refresh, vetoable): RR-54 (chart and table data) is added as RR item 54 with status review; its four pull requests merge after the CLI 0.10.1 tag and ship in the 0.13 minor train, with the three behaviour changes named in the release note (Open decisions 7).
- 2026-10-06 (supervisor refresh, vetoable): RR-49 stays in-progress (the owner has not decided the descope); the Cloudflare program items are tracked in its own burndown, with CF-07 done on a live check (apex `/llms.txt` answers 308 to `www`, `/schema/opf/v1` keeps CORS) and CF-04 to CF-06 waiting for the Actions secrets.
- 2026-10-06 (owner, not vetoable): Vercel-only checks are not needed. RR-49 is descoped: the Preview smoke workflows, their Playwright configs and bypass setups, and the gallery's `deployment_status` Production trigger are removed from the three site repositories; production checks run after each Cloudflare deploy. Supervisor corollary (vetoable): the Ignored Build Step, its test and `vercel.json` stay while Vercel still builds as a warm rollback, because `vercel.json` depends on the script; they go with the Vercel projects (CF-08). [opf#299](https://github.com/OpenPresentation/opf/issues/299) can be closed.

## Invariants

- **No public support or progress status on any site.** No badges, legends,
  panels, API fields or `llms.txt` lines about measured, pending, parity or
  release-readiness status on pptx.gallery, openpresentation.org or pptx.dev
  (owner decision 2026-09-30). All tracking stays in this repository.
- **Fonts are bundled or self-hosted, with permissive licenses only** (OFL-1.1,
  Apache-2.0, MIT, UFL-1.0). Never hotlink a font CDN; licensed (proprietary)
  fonts are never bundled or embedded. See
  [Font files: bundling and licenses](../font-fidelity-everywhere/font-licensing.md#font-files-bundling-and-licenses).
  `pnpm check:font-hotlinks` enforces the hotlink half.
- **The libraries are deterministic.** No network or model calls in core,
  opf-render, opf-pptx, opf-editor or the CLI. AI-assisted reconstruction lives
  in pptx.dev.
- **Lockstep core floors when geometry moves.** A change to composition,
  geometry or the preview/export contract raises the minimum core version in
  the dependent packages in the same release train, so a package never runs on
  a core older than the geometry it expects.
- **Native PowerPoint checks run only by the supervisor.** Agents never open
  Office, never automate PowerPoint, never register fonts for it and never
  retry a native attempt in place. They prepare decks and a manifest and ask
  the supervisor, who records read-only evidence under `docs/evidence/`.
- **Never relax a gate or tolerance** to make an item pass (native 0.02 pt,
  renderer 0.1 reference px, except the dated RR-15 decision above, and the
  font allowlists). Preserve failures as evidence.
- **Publish only through the release process.** Releases are authorized by the
  owner (2026-09-29, see [AGENTS.md](../../../AGENTS.md)): only after the
  release gates pass, only from merged `main`, through the trusted-publishing
  workflows, with each registry artifact and provenance verified.
- Keep source, packed and registry claims separate, and schema support
  separate from renderer/editor/export fidelity.

## Naming

- Branches: `codex/rr-<nn>-<slug>` (for example `codex/rr-11-native-header-footer`).
- PR titles start with the item ID: `RR-<nn>: ...` (for example `RR-11: ...`).
- Items inherited from the font program keep their FF ID in the title when they
  close an FF item: `RR-03, FF-07: ...`.
- Statuses: `todo`, `in-progress`, `review` (PR open), `done` (merged and
  evidence linked), `descoped` (owner decision, issue linked).

## Progress reporting

`pnpm report:release` (or `node docs/programs/release-readiness/report.mjs`)
parses the burndown and prints counts by status, the open items and the work
queue: the burndown's **Now** table, one row per open item with its owner (supervisor, a named agent or the owner),
what is being worked on, what blocks it and the next action. `-- --now` prints only the queue; `-- --live` adds the
live state of every pull request a Now row links (merged, or open with its mergeable state and check counts, through
the `gh` CLI; the only mode that uses the network). `--json` prints the same data as JSON; `--file <path>` reads
another burndown. `pnpm check:release-report` runs its unit tests and fails if a table cannot be parsed, uses an
unknown status, names an unknown item, or leaves a closed item in the work queue. Keep the Now table current: update
the row when an item changes hands or state, and delete it when the item closes. This is internal; it is never shown
on a site.

The [gallery tracker](gallery-tracker.md) (RR-41) is the per-item view: one record per item pptx.gallery shows or the
catalogs define (layouts, colour and font schemes, languages, themes, narratives, charts, audiences, tones, socials,
headers and footers, content blocks, image treatments, backgrounds, purposes, fonts, slide sizes and the gallery's
coming teasers), with the columns spec, compose, preview, export, round trip, parity, editor, gallery, native and
fonts taken from the committed audits, parity run, font tracker, native evidence and two pinned snapshots (pptx.gallery
and opf-editor). Each record has a status (`done` to `broken`, with severities) and, per gap, a next action and a link:
an open RR item, a pull request, or an issue for a descoped gap. A record is addressed when every gap has one.
`pnpm build:gallery-tracker` regenerates `gallery-tracker.json` and `.md` (rules in `gallery-tracker.overrides.json`;
refresh the snapshots with `--snapshot-gallery <pptx-gallery> --commit <sha>` and `--snapshot-editor <opf-editor>
--commit <sha>`), and `pnpm check:gallery-tracker`, part of `pnpm test` and so of CI, fails when it is stale, including
after a burndown status change that a gap links to. `pnpm report:release` prints its one-line summary under the
headline.

## Resume protocol

Any session (supervisor or subagent) resuming this program:

1. Read this file, [HANDOFF.md](HANDOFF.md) (the latest supervisor handoff: work in flight, draft PRs with Resume sections, owner actions) and [burndown.md](burndown.md). The progress log at the end
   of the burndown is the latest state, and its Now table says who works on what. Run
   `pnpm report:release -- --live`.
2. `git fetch` every repository in scope. Work only from fresh `origin/main`
   worktrees (never switch or clean the user's checkouts; never resume a
   squash-merged branch).
3. List open program PRs for each repository:
   `gh pr list -R <owner>/<repo> --state all --search "RR- in:title"`
   (also `FF- in:title` for items inherited from the font program). Reconcile
   any status drift into the burndown.
4. Pick the lowest-numbered `todo` item whose dependencies are `done`, or an
   item assigned to you. Branch as `codex/rr-<nn>-<slug>` and start the PR
   title with `RR-<nn>: `.
5. An item is `done` only when its criteria hold, its PR is merged after review
   under the merge policy in force, and the evidence is linked in its row.
   Native-facing criteria need supervisor-recorded native evidence.
6. When an item changes state, update its row and append one dated line to the
   progress log in the same PR, or in a small follow-up tracker PR.
7. Native PowerPoint items are supervisor-only on the Windows host. Inspect the
   host first and record preflight and postflight evidence.

Roles: the supervisor plans, reviews, merges reviewed CI-green PRs and owns
Office. Subagents implement items and open PRs; a separate reviewer reviews each
PR.

## Related

- [Font fidelity everywhere](../font-fidelity-everywhere/README.md) and its
  [burndown](../font-fidelity-everywhere/burndown.md), the predecessor program
- [Release process](../../release-process.md)
- [Release-readiness note for the 0.12.0 release train](release-notes-0.12.0.md) (FF-15, draft)
- [Compatibility matrix](../../compatibility-matrix.md)
- Roadmap issues: [opf#87](https://github.com/OpenPresentation/opf/issues/87)
  (PowerPoint acceptance and native header/footer),
  [opf#88](https://github.com/OpenPresentation/opf/issues/88) (site adoption)

Historical T37 publication checkpoint: Editor 0.19.0 is trusted-published and independently verified at tag/gitHead `ac25857cca8ce776dd23b5ca58b38a06af9d963f`, workflow `38270637388`. Publisher 75979 and verifier 61972 exited 0; all ten checks pass, including integrity, provenance, three valid signatures with zero invalid/missing, GitHub Release and latest. T37 closes; progress is 30/40. CLI publication, final six-package registry/site acceptance and native T24/T31 remain open. [Editor receipts](../../evidence/rr20-editor019-release-progress/README.md).

CLI 0.19.0 is trusted-published and independently verified at tag/gitHead `9d72bc020e4b9287fe34f806e2ed4e9b4f213fd5`. Publisher 96437 and verifier 31875 exited 0; all ten checks pass, including provenance, three valid signatures with zero invalid/missing and latest. The original pre-tag range failure is retained; merged tooling repair #641 correctly accepts published renderer 0.19.1 within the unchanged ^0.19.0 contract. T38 closes; progress is 31/40. Final registry/site acceptance and native T24/T31 remain open. [Receipts](../../evidence/rr20-cli019-release-progress/README.md).

- 2026-10-13: The supervisor verified direct Windows user message `01a13663-3e31-7d32-839c-91b7cbcb8044` authorizing PowerPoint immediately after computer use ended. This supersedes the earlier 11:30 AM Pacific timing hold; the first bounded feature-metrics run has started under root supervision. No native result is claimed.
