# OpenPresentation owner handoff — September 15, 2026

## Outcome and boundaries

The published websites demonstrate editable OPF JSON and live slides. Reusable
packages provide an open local authoring foundation for scoped developer
integrations today. This is not full PowerPoint parity or a finished all-feature
presentation editor.

The owner requested committed, remotely preserved work, validated merges or
explicit roadmap deferral, and a completed PR cleanup. Eleven dependency PRs
and four shared-furniture PRs were accepted. One Node26-types update was closed
to retain Node24. Four remaining shaping PRs conclude as docs/evidence only;
their complete runtime prototypes remain on remote archives. No failed font
implementation is promoted, no history is force-pushed, and archives must stay.

Use the original PRs listed below for final merge/check receipts. This document
is committed in core83 before its final checks/merge and does not invent its
own future merge SHA. Merging a roadmap does not release its archived feature.

## Repositories and environment

| Repository | Default | Responsibility |
| --- | --- | --- |
| [OpenPresentation/opf](https://github.com/OpenPresentation/opf) | main | Schemas, catalogs, composition/edit/lint, CLI, six skills and plans |
| [OpenPresentation/opf-render](https://github.com/OpenPresentation/opf-render) | main | Font preparation, rendering and image/PDF output |
| [OpenPresentation/opf-editor](https://github.com/OpenPresentation/opf-editor) | main | Reusable editor controls and source-preserving interaction |
| [OpenPresentation/opf-pptx](https://github.com/OpenPresentation/opf-pptx) | main | Editable PPTX import/export and provenance |
| [Data-Advantage/openpresentation-site](https://github.com/Data-Advantage/openpresentation-site) | main | Main website/playground |
| [Data-Advantage/pptx-gallery](https://github.com/Data-Advantage/pptx-gallery) | main | Gallery and embedded editor demo |
| [Data-Advantage/pptx-dev](https://github.com/Data-Advantage/pptx-dev) | master | Authoring/inspector/tooling website |

Use Node24. Core/site/gallery pin pnpm10.33.2; pptx-dev pins pnpm11.1.3;
standalone libraries use npm lockfiles. Read each AGENTS.md, use codex/ branches
and focused commits/PRs as work proceeds. Gallery requires Conventional Commits
and its documented coauthor. Read relevant OPF skills for document operations.

Local clones live under /Users/michael/Source. This handoff is portable:
GitHub contains archives and committed evidence. Do not depend on temporary
worktrees, local dependency symlinks, untracked output or this Mac's credentials.

## Published baseline and accepted source

Registry inspection confirmed @openpresentation/opf **0.10.0**, opf-render
**0.8.0**, opf-editor **0.7.0**, opf-pptx **0.8.0**, and cli **0.8.0**.
Home/playground support JSON editing and preview edits in both directions,
contextual catalog choices, indentation, paired quotes and other code-editor
assistance. Shared controls and contextual lint/design contracts are available.

The CLI supports create, validate, lint, revision-guarded JSON edits, data
import, pagination, schema/catalog lookup and skill installation/update/status.
Do not invent CLI render/export commands: use documented library/UI APIs.
Schema-property access is not proof of full WYSIWYG interaction coverage.

Core79 (d0c8841), renderer20 (130a2fa), editor17 (cfdeae6) and PPTX34 (c077b7a)
add accepted shared header/footer geometry, editing and provenance. Their main
CI passed, including coordinated packages and Linux/Windows PPTX checks. These
new APIs need a new coordinated release. Do not claim they are in the listed
npm versions just because main contains them.

Keep release-plan.json and immutable verification references accurate. Never
overwrite published versions, change snapshots to conceal regressions or count
sibling-source imports as installed-package checks. Some older docs/skills
still call released APIs unreleased: audit them with the developer quickstart.

## Deployment receipts

Latest retained canonical production checks cover **41 workflows**:

| Website | Verified source commit | Workflows |
| --- | --- | --- |
| [openpresentation.org](https://www.openpresentation.org) | bb6b006e5fa18f565779781ad347a839fea4ec83 | 26 |
| [pptx.gallery](https://www.pptx.gallery) | fe395e4e7187cdb85c2b8a4041ef2801fd81f72d | 5 |
| [pptx.dev](https://www.pptx.dev) | 3b17ff5366f7a556cf02aae320e6baf87fdf3678 | 10 |

Deployment records and browser logs are in
[PR consolidation evidence](evidence/pr-consolidation-20260915/README.md).
They establish exercised flows, not every capability. The Zod4.6.2 preview
failure is fixed/merged in pptx-dev37 using explicit record keys/values and
public schema identification.

## Preserved unfinished implementation

Every library repository retains remote branch codex/archive-shaping-20260915:

| Repository / original PR | Complete immutable prototype |
| --- | --- |
| [opf83](https://github.com/OpenPresentation/opf/pull/83) | 36ff66b3d62b39d7d27dcda022b7e79e541bd603 |
| [renderer21](https://github.com/OpenPresentation/opf-render/pull/21) | 343fb84223f4383ffe546157c6989ccc505c0acb |
| [editor21](https://github.com/OpenPresentation/opf-editor/pull/21) | ae4cc6426b04c7ca428c1b4acacea2e11d99fa84 |
| [PPTX35](https://github.com/OpenPresentation/opf-pptx/pull/35) | fbe9a73d012dbd51d65a39251e405e488651a70b |

These contain HarfBuzz shaping, variable/CFF preparation, prepared SVG glyphs,
rich-source groups, grapheme/caret/selection/navigation work and native rich/tab
export experiments, with tests, licenses and evidence. See
[the deferred implementation plan](plans/deferred-shaping-20260915.md).
Resume from main and port bounded changes; do not merge an archive wholesale.

Renderer Linux still fails the unchanged 0.1px gate: Source Serif SmText Bold
measures 334.06213682353496px versus Chromium334.193115234375px. Rounding fixes
five Linux rows but breaks five macOS rows. Some native platform widths differ
by more than twice the tolerance. Define an honest supported metric/painting
contract; offsets, platform guesses and relaxed assertions do not solve it.
Track [renderer24](https://github.com/OpenPresentation/opf-render/issues/24).

Archived editor CI separately has a packed-test mismatch: thirteen rich-input
workflows pass but the aggregate expects ten. Repair that assertion and rerun
the complete packed command when resuming; the archived run is not green.

[Core87](https://github.com/OpenPresentation/opf/issues/87) and the
[native plan](plans/powerpoint-acceptance.md) retain image opening, current-content
provenance after edit/save/reopen, tab tolerances, notes-master ordering and
physical font identity/embedding. Browser, serialization and self-import checks
do not establish Office acceptance. Windows host recovery is not authorized:
do not retry COM or kill Office processes until recovery is confirmed.
Aptos4.40 is restricted; do not use/distribute it without compatible permission.

## Next milestones

Follow [the developer adoption roadmap](plans/developer-adoption-20260915.md).
First release the accepted increment and provide a clean installed example with
current API/version docs. Then finish public-site integration in
[core88](https://github.com/OpenPresentation/opf/issues/88), preserving appearance.
Package adoption and feature adoption need separate checks.

Broader work: supported multilingual fonts/fallback/IME/bidi and editing;
native Office evidence; bounded deterministic layout repair for dense/nested
content; full visual-editor interaction coverage. Current PDF is raster-backed.
Selectable vector PDF with legal embedding/Unicode extraction and general SVG/
semantic Mermaid follow font reliability. See the linked plans for acceptance.

Keep the foundation provider-neutral and useful offline without an account or
model call. Preserve content, whitespace, formatting, reading order, authored
intent and undo. Bound layout repair and return actionable failure; never delete
content to fit. AI may be optional application wiring, not a required embedded
design agent. The [broad ecosystem objective](plans/ecosystem-objective-2026-09-09.md)
remains open. The Codex goal was paused, not completed or replaced by this cleanup.

## Audit record

[Final evidence](evidence/final-handoff-20260915/README.md) records registry
versions, remote archive checks, all seven repository/worktree inventories and
latest archived CI failures. Source audit found no uncommitted source, stashes
or local-only branch commits. A stale untracked dependency symlink was removed
without changing its target. A legacy temporary directory lacking Git metadata
was not treated as an active checkout.

The four concluding PRs restore runtime/tests/locks/CI to validated main, then
add docs/evidence. Verify their final diffs and CI and merge them before reporting
queue completion. Do not confuse preserved history with newly accepted code.
