Back to Plate

Slate v2 Release File Review Ledger

docs/slate-v2/release-file-review-ledger.md

53.0.634.7 KB
Original Source

Slate v2 Release File Review Ledger

Purpose

Per-file migration truth for the fresh-branch program.

Status words:

  • ported
  • adapted
  • pending
  • archived
  • post RC

Tranche 1 Root And Tooling Files

FileStatusNote
.tmp/slate-v2/bunfig.tomlportedroot Bun test discovery owner
.tmp/slate-v2/bun.lockportedlive lockfile owner
.tmp/slate-v2/turbo.jsonportedbuild/type task graph
.tmp/slate-v2/biome.jsoncportedlive formatting/lint owner
.tmp/slate-v2/eslint.config.mjsadaptedflat config landed; repo-wide source enforcement stays staged beyond tranche 1
.tmp/slate-v2/.gitignoreadaptedBun/Turbo ignore entries added; no Yarn/PnP ignore lane kept
.tmp/slate-v2/package.jsonadaptedBun/Turbo/Biome graph landed; root now runs Bun 1.3.12, React 19.2.5, Next 16.2.4, TypeScript 6.0.3, hard-cuts Rollup, and drives package builds through ESM-only tsdown
.tmp/slate-v2/config/babel/register.cjsadaptedsource alias layer restored without slate-browser assumption
.tmp/slate-v2/config/bun-test-setup.tsportedBun preload owns the workspace test bridge and path filtering
.tmp/slate-v2/config/tsconfig.test.jsonadaptedBun test typing now lives on the shared bundler-resolution test config
.tmp/slate-v2/config/tsdown.config.mtsportedshared ESM-only package build owner
.tmp/slate-v2/tsconfig.jsonadaptedbundler resolution, Bun test globals, and the live package refs are now the root TS owner, including slate-browser
.tmp/slate-v2/.npmrcarchivedpnpm-only config removed from the live repo
.tmp/slate-v2/pnpm-workspace.yamlarchivedpnpm workspace owner removed from the live repo
.tmp/slate-v2/pnpm-lock.yamlarchivedBun lockfile replaces it
.tmp/slate-v2/.yarnrc.ymlarchivedYarn owner removed from live repo
.tmp/slate-v2/yarn.lockarchivedBun lockfile replaces it
.tmp/slate-v2/config/rollup/rollup.config.jsarchivedRollup owner removed from live repo
.tmp/slate-v2/scripts/sync-package-types.mjsarchiveddeclaration sync step removed with the tsdown cut

Tranche 1 Site And Workflow Files

FileStatusNote
.tmp/slate-v2/site/next.config.jsadaptedNext 16-compatible turbopack config landed; invalid build-time eslint config and the old webpack-only branch are gone
.tmp/slate-v2/site/pages/api/index.tsportedsite path handling matches modern repo layout
.tmp/slate-v2/site/next-env.d.tsadaptedstays generated; tranche 2 route typing now comes from .next/types inclusion in site tsconfig instead of a manual import
.tmp/slate-v2/site/tsconfig.jsonadaptedNext 16 site TS surface now uses bundler resolution, React JSX, explicit React types, and .next/types inclusion
.tmp/slate-v2/site/pages/examples/[example].tsxadaptedexplicit example importer map replaced the template-string dynamic import so Next 16 stops bundling custom-types.d.ts as a route module
.tmp/slate-v2/playwright.config.tsadaptedexported-site Playwright flow now builds and serves through Bun on port 3101
.tmp/slate-v2/.github/workflows/ci.ymlportedBun CI owner
.tmp/slate-v2/.github/workflows/comment.ymlportedBun snapshot workflow
.tmp/slate-v2/.github/workflows/release.ymlportedBun/changesets release owner
.tmp/slate-v2/README.mdportedBun/Turbo repo description
.tmp/slate-v2/Readme.mdportedsame
.tmp/slate-v2/docs/general/contributing.mdportedcontributor instructions match tranche 1 graph

Tranche 1 Package Manifest Files

FileStatusNote
.tmp/slate-v2/packages/slate/package.jsonadaptedbuild now runs through tsdown and publishes ESM-only dist/index.js + dist/index.d.ts
.tmp/slate-v2/packages/slate-history/package.jsonadaptedbuild now runs through tsdown and publishes ESM-only dist/index.js + dist/index.d.ts
.tmp/slate-v2/packages/slate-hyperscript/package.jsonadaptedpackage is now explicitly module-typed and publishes ESM-only output through tsdown
.tmp/slate-v2/packages/slate-browser/package.jsonadaptedprivate proof package now publishes ESM-only multi-subpath output through a package-local tsdown config
.tmp/slate-v2/packages/slate-dom/package.jsonadaptedbuild now runs through tsdown and publishes ESM-only dist/index.js + dist/index.d.ts
.tmp/slate-v2/packages/slate-react/package.jsonadaptedbuild now runs through tsdown, publishes ESM-only output, and keeps React 19.2.5 / React 19 peer floor
.tmp/slate-v2/packages/slate-browser/README.mdadaptedpackage docs now describe the Bun-era package-local and root convenience commands only
.tmp/slate-v2/packages/slate-browser/tsconfig.build.jsonportedbuild-time declaration owner for the proof package
.tmp/slate-v2/packages/slate-browser/tsconfig.test.jsonadaptedsource + browser-test typecheck owner without cross-runtime Bun/Vitest global conflicts
.tmp/slate-v2/packages/slate-browser/tsdown.config.mtsadaptedpackage-local multi-entry build owner for browser, core, playwright, and transports subpaths
.tmp/slate-v2/packages/slate-history/tsconfig.build.jsonportedbuild-time declaration owner
.tmp/slate-v2/packages/slate-dom/tsconfig.build.jsonportedbuild-time declaration owner
.tmp/slate-v2/packages/slate-react/tsconfig.build.jsonportedbuild-time declaration owner

Tranche 2 Runtime And Compatibility Files

FileStatusNote
.tmp/slate-v2/config/typescript/tsconfig.jsonadaptedTS6 baseline moved the repo onto bundler resolution and dropped the deprecated node resolver
.tmp/slate-v2/playwright/tsconfig.jsonadaptedPlaywright TS now matches the modern ESM/Bundler toolchain, TS6 baseline, and explicit Node typing
.tmp/slate-v2/site/tsconfig.example.jsonadaptedexample TS config now matches the live bundler-resolution baseline
.tmp/slate-v2/packages/slate-react/src/components/editable.tsxadaptedReact 19 type fallout was closed with strict useRef init and input-event typing fixes only
.tmp/slate-v2/packages/slate-react/src/components/restore-dom/restore-dom.tsxadaptednull-aware ref typing landed for React 19 without changing restore timing
.tmp/slate-v2/packages/slate-react/src/hooks/android-input-manager/use-android-input-manager.tsadaptedref typing widened to the real DOM-ref shape under React 19
.tmp/slate-v2/packages/slate-react/src/hooks/use-generic-selector.tsxadaptedstricter React 19 useRef initialization landed without selector behavior drift
.tmp/slate-v2/packages/slate-react/src/hooks/use-mutation-observer.tsadaptednull-aware ref typing landed without mutation-observer behavior drift
.tmp/slate-v2/packages/slate-hyperscript/src/creators.tsadaptedTS6 tightened find() results, so the selection creator now narrows anchor and focus honestly before use
.tmp/slate-v2/site/examples/ts/code-highlighting.tsxadaptedTS6 tightened Transforms.setNodes inference, so the example now narrows the code-block setNodes call explicitly without behavior drift

Docs Split

PathStatusNote
docs/slate-v2-draft/**portedarchived prior doc stack
docs/slate-v2/**adaptedrewritten live ownership stack

Deferred Rows

RowStatusNote
slate-browser root e2e/proof/benchmark command surfacepost RCpackage-local suite landed; broader root proof lanes still wait on owned example/benchmark adoption
repo-wide ESLint source enforcementpost RCpackage-by-package rollout after source recovery starts

Remaining-Work Rule

Remaining package/source work is merged-corpus-driven and row-scoped.

This ledger does not authorize a blanket same-path rewrite of the remaining packages.

It also does not authorize rewrite-avoidance as a value.

The next honest step is:

  1. settle packages/slate around the native transaction / snapshot-store API
  2. classify compatibility baggage explicitly instead of preserving it by reflex
  3. only then reopen the support packages against that settled core

Runtime Recovery Snapshot

These rows bring the live control ledger back into line with the stronger package/runtime truth already captured in the draft stack.

  • extension model / behavior interception proof owner: true-slate-rc-proof-ledger.md note: closed on the current instance-method and transaction-boundary model
  • schema / normalization extensibility proof owner: true-slate-rc-proof-ledger.md note: current default-vs-explicit normalization split is the live contract
  • non-React / headless core usability proof owner: true-slate-rc-proof-ledger.md note: headless composition across slate, slate-history, and slate-hyperscript is a kept live claim
  • operation-history-collaboration integrity proof owner: true-slate-rc-proof-ledger.md note: local operation/history substrate is closed; external collaboration adapters remain external
  • broad API / public surface reconciliation proof owner: true-slate-rc-proof-ledger.md note: still open under the merged-corpus audit because helper presence and nearby green harness rows are not enough
  • major file/test deletion review proof owner: release-file-review-ledger.md note: deletion closure is materially done; example parity is a different lane

Package-Level Deletion And Recovery Trees

  • packages/slate/test/** proof owner: true-slate-rc-proof-ledger.md note: deleted core test-family bucket is closed as archaeology; kept rows are now being re-driven through the merged corpus
  • packages/slate-react/** proof owner: release-file-review-ledger.md note: deleted family closure is banked; kept runtime behavior is still owned by the live API/example/browser lanes
  • packages/slate-history/** proof owner: release-file-review-ledger.md note: deleted family closure is banked; direct history-contract.ts, integrity-contract.ts, and bench:history:compare:local are now live, so this package is no longer the tranche-4 blocker
  • playwright/integration/examples/** proof owner: docs/slate-browser/proof-lane-matrix.md note: deleted-file accounting is closed; example parity remains open

Current Recovery Rows

packages/slate

  • .tmp/slate-v2/packages/slate/test/query-contract.ts disposition: restored proof owner: true-slate-rc-proof-ledger.md note: direct query owner is back in the live repo and green
  • .tmp/slate-v2/packages/slate/test/legacy-editor-nodes-fixtures.ts disposition: restored proof owner: true-slate-rc-proof-ledger.md note: direct Editor.nodes/** legacy oracle owner is back and green
  • .tmp/slate-v2/packages/slate/test/legacy-interfaces-fixtures.ts disposition: restored proof owner: true-slate-rc-proof-ledger.md note: direct non-Editor interface oracle owner is back and green
  • .tmp/slate-v2/packages/slate/test/legacy-fixture-utils.ts disposition: adapted proof owner: true-slate-rc-proof-ledger.md note: legacy fixture loading now runs on the Bun-era toolchain instead of dead Babel assumptions
  • .tmp/slate-v2/packages/slate/src/editor/unhang-range.ts disposition: adapted proof owner: query-contract.ts note: current void-aware unhang behavior now matches the restored query rows
  • .tmp/slate-v2/packages/slate/src/editor/positions.ts disposition: adapted proof owner: query-contract.ts note: current positions iterator now matches the restored voids row
  • .tmp/slate-v2/packages/slate/src/editor/fragment.ts disposition: adapted proof owner: query-contract.ts note: collapsed fragment reads now fail closed to [] on the restored query seam

packages/slate-history

  • .tmp/slate-v2/packages/slate-history/src/history.ts disposition: adapted proof owner: true-slate-rc-proof-ledger.md note: live History / HistoryBatch surface is restored in place
  • .tmp/slate-v2/packages/slate-history/src/history-editor.ts disposition: adapted proof owner: true-slate-rc-proof-ledger.md note: history helper surface carries merge/save/split-once state
  • .tmp/slate-v2/packages/slate-history/src/with-history.ts disposition: adapted proof owner: true-slate-rc-proof-ledger.md note: commit-time history capture now derives from the committed publish seam, and undo/redo replay runs inside one outer transaction per history batch
  • .tmp/slate-v2/packages/slate-history/test/history-contract.ts disposition: created proof owner: true-slate-rc-proof-ledger.md note: kept undo/redo parity rows now have a direct owner
  • .tmp/slate-v2/packages/slate-history/test/integrity-contract.ts disposition: created proof owner: true-slate-rc-proof-ledger.md note: batching, save/merge flags, stack-write seam, and commit-before-onChange capture now have a direct owner
  • .tmp/slate-v2/scripts/benchmarks/core/compare/history.mjs disposition: created proof owner: true-slate-rc-proof-ledger.md note: live slate-history compare owner is restored under Bun

packages/slate-react

  • .tmp/slate-v2/packages/slate-react/src/components/editable.tsx disposition: adapted proof owner: true-slate-rc-proof-ledger.md note: mounted root, clipboard, and current Editable behavior are reviewed as live seams
  • .tmp/slate-v2/packages/slate-react/src/plugin/react-editor.ts disposition: adapted proof owner: true-slate-rc-proof-ledger.md note: current ReactEditor helper namespace is a real kept surface
  • .tmp/slate-v2/packages/slate-react/src/plugin/with-react.ts disposition: adapted proof owner: true-slate-rc-proof-ledger.md note: withReact remains a real compatibility construction helper
  • .tmp/slate-v2/packages/slate-react/test/provider-hooks-contract.tsx disposition: preserved proof owner: true-slate-rc-proof-ledger.md note: focused provider/hooks proof is now real and green
  • .tmp/slate-v2/packages/slate-react/test/react-editor-contract.tsx disposition: preserved proof owner: true-slate-rc-proof-ledger.md note: focused ReactEditor proof is now real and green
  • .tmp/slate-v2/packages/slate-react/test/surface-contract.tsx disposition: preserved proof owner: true-slate-rc-proof-ledger.md note: focused surface proof now owns translate policy, mount identity, and path-rebasing stability
  • .tmp/slate-v2/packages/slate-react/test/editable-behavior.tsx disposition: preserved proof owner: true-slate-rc-proof-ledger.md note: focused Editable proof now owns callback partition and current value-vs-selection change behavior
  • .tmp/slate-v2/packages/slate-react/test/projections-and-selection-contract.tsx disposition: preserved proof owner: true-slate-rc-proof-ledger.md note: focused projection/runtime proof now owns overlap-safe splitting, ancestor/editor propagation, and path-shift stability
  • .tmp/slate-v2/packages/slate-react/src/annotation-store.ts disposition: adapted proof owner: true-slate-rc-proof-ledger.md note: first source-backed annotation store now exists over core bookmarks and projected runtime-id slices
  • .tmp/slate-v2/packages/slate-react/src/projection-context.tsx disposition: adapted proof owner: true-slate-rc-proof-ledger.md note: source-backed projection provider context now exists instead of keeping projection wiring implicit inside one hook file
  • .tmp/slate-v2/packages/slate-react/src/projection-store.ts disposition: adapted proof owner: true-slate-rc-proof-ledger.md note: source-backed projection store now exists as a public runtime surface instead of hiding projection logic behind local hooks only
  • .tmp/slate-v2/packages/slate-react/src/context.tsx disposition: adapted proof owner: true-slate-rc-proof-ledger.md note: runtime-id and element-path contexts now exist as first-class public support surface
  • .tmp/slate-v2/packages/slate-react/src/hooks/use-slate-node-ref.tsx disposition: adapted proof owner: true-slate-rc-proof-ledger.md note: runtime-id DOM binding hook now also seeds plain-editor DOM key maps so app-owned selection/scroll rows can resolve text nodes honestly
  • .tmp/slate-v2/packages/slate-react/src/hooks/use-slate-selector.tsx disposition: adapted proof owner: true-slate-rc-proof-ledger.md note: selector context now wakes plain editors as well as withReact editors
  • .tmp/slate-v2/packages/slate-react/src/components/slate.tsx disposition: adapted proof owner: true-slate-rc-proof-ledger.md note: provider no longer churns runtime ids on auto-wrapped app-owned surfaces, and plain-editor changes now reach selector subscribers
  • .tmp/slate-v2/packages/slate-react/src/components/editable-text-blocks.tsx disposition: adapted proof owner: true-slate-rc-proof-ledger.md note: public Editable now keeps projection/runtime ids stable, forwards app-owned block behavior honestly, and owns the shell/promotion large-document surface
  • .tmp/slate-v2/packages/slate-react/src/large-document/create-island-plan.ts disposition: adapted proof owner: true-slate-rc-proof-ledger.md note: island planning now exists as an explicit large-document runtime seam
  • .tmp/slate-v2/packages/slate-react/src/large-document/classify-island-kind.ts disposition: adapted proof owner: true-slate-rc-proof-ledger.md note: shell previews now classify island semantics instead of rendering flat anonymous shells
  • .tmp/slate-v2/packages/slate-react/src/large-document/island-shell.tsx disposition: adapted proof owner: true-slate-rc-proof-ledger.md note: inactive large-document islands now have a real shell owner with preview and promotion behavior
  • .tmp/slate-v2/packages/slate-react/src/large-document/large-document-commands.ts disposition: adapted proof owner: true-slate-rc-proof-ledger.md note: shell-backed selection and full-document large-doc commands now have a named runtime owner
  • .tmp/slate-v2/packages/slate-react/src/hooks/use-slate-annotation-store.tsx disposition: adapted proof owner: true-slate-rc-proof-ledger.md note: source-backed annotation-store hook now exists as its own public surface
  • .tmp/slate-v2/packages/slate-react/src/hooks/use-slate-widget-store.tsx disposition: adapted proof owner: true-slate-rc-proof-ledger.md note: source-backed widget-store hook now exists as its own public surface
  • .tmp/slate-v2/packages/slate-react/src/components/slate-element.tsx disposition: adapted proof owner: true-slate-rc-proof-ledger.md note: low-level public element host surface is now real
  • .tmp/slate-v2/packages/slate-react/src/components/slate-spacer.tsx disposition: adapted proof owner: true-slate-rc-proof-ledger.md note: low-level public spacer surface is now real
  • .tmp/slate-v2/packages/slate-react/src/components/slate-leaf.tsx disposition: adapted proof owner: true-slate-rc-proof-ledger.md note: low-level public leaf surface is now real
  • .tmp/slate-v2/packages/slate-react/src/components/slate-text.tsx disposition: adapted proof owner: true-slate-rc-proof-ledger.md note: low-level public text-node surface is now real
  • .tmp/slate-v2/packages/slate-react/src/components/slate-placeholder.tsx disposition: adapted proof owner: true-slate-rc-proof-ledger.md note: low-level public placeholder surface is now real
  • .tmp/slate-v2/packages/slate-react/src/components/text-string.tsx disposition: adapted proof owner: true-slate-rc-proof-ledger.md note: low-level public text-string surface is now real
  • .tmp/slate-v2/packages/slate-react/src/components/zero-width-string.tsx disposition: adapted proof owner: true-slate-rc-proof-ledger.md note: low-level public zero-width surface is now real
  • .tmp/slate-v2/packages/slate-react/src/components/editable-element.tsx disposition: adapted proof owner: true-slate-rc-proof-ledger.md note: low-level public editable element wrapper is now real
  • .tmp/slate-v2/packages/slate-react/src/components/void-element.tsx disposition: adapted proof owner: true-slate-rc-proof-ledger.md note: low-level public void wrapper surface is now real
  • .tmp/slate-v2/packages/slate-react/test/primitives-contract.tsx disposition: preserved proof owner: true-slate-rc-proof-ledger.md note: focused primitive proof now owns the recovered low-level public runtime surface
  • .tmp/slate-v2/packages/slate-react/test/annotation-store-contract.tsx disposition: preserved proof owner: true-slate-rc-proof-ledger.md note: focused annotation proof now owns bookmark-backed range rebasing and projection-slice publication
  • .tmp/slate-v2/packages/slate-react/src/widget-store.ts disposition: adapted proof owner: true-slate-rc-proof-ledger.md note: first source-backed widget store now exists for selection-driven widget visibility with local subscriptions
  • .tmp/slate-v2/packages/slate-react/test/widget-layer-contract.tsx disposition: preserved proof owner: true-slate-rc-proof-ledger.md note: focused widget proof now owns local widget visibility and no-text-rerender selection widget behavior
  • .tmp/slate-v2/packages/slate-react/test/app-owned-customization.tsx disposition: preserved proof owner: true-slate-rc-proof-ledger.md note: focused app-owned proof now owns markdown projections, markdown shortcuts, forced layout, and app-owned scroll forwarding
  • .tmp/slate-v2/packages/slate-react/test/large-doc-and-scroll.tsx disposition: preserved proof owner: true-slate-rc-proof-ledger.md note: focused large-document proof now owns shelling, shell promotion, shell-backed full-document selection, shell-backed paste, and the kept scroll forwarding seam
  • .tmp/slate-v2/packages/slate-react/test/with-react-contract.tsx disposition: preserved proof owner: true-slate-rc-proof-ledger.md note: focused withReact proof now owns the Android pending-selection compatibility seam directly

packages/slate-dom

  • .tmp/slate-v2/packages/slate-dom/src/plugin/dom-editor.ts disposition: adapted proof owner: true-slate-rc-proof-ledger.md note: mounted DOM bridge behavior still lives here, but it now also has a direct package proof owner
  • .tmp/slate-v2/packages/slate-dom/src/plugin/with-dom.ts disposition: adapted proof owner: true-slate-rc-proof-ledger.md note: clipboard boundary behavior still lives here, and shifted node keys are now preserved across insert/remove paths so mounted React surfaces keep their DOM identity; decorated multi-leaf clipboard export also strips render-only wrappers from copied HTML
  • .tmp/slate-v2/packages/slate-dom/test/bridge.ts disposition: preserved proof owner: true-slate-rc-proof-ledger.md note: direct package bridge proof now owns path/point/range translation and decorated offset behavior
  • .tmp/slate-v2/packages/slate-dom/test/clipboard-boundary.ts disposition: preserved proof owner: true-slate-rc-proof-ledger.md note: direct package clipboard-boundary proof now owns fragment payload, HTML fallback, and plain-text fallback behavior

packages/slate-browser

  • .tmp/slate-v2/packages/slate-browser/src/playwright/index.ts disposition: adapted proof owner: docs/slate-browser/proof-lane-matrix.md note: editor-first Playwright harness owns current example e2e, IME, anchor, and replacement matrix routing

packages/slate-hyperscript

  • .tmp/slate-v2/packages/slate-hyperscript/src/index.ts disposition: preserved proof owner: true-slate-rc-proof-ledger.md note: public hyperscript export surface still matches the kept package claim
  • .tmp/slate-v2/packages/slate-hyperscript/src/hyperscript.ts disposition: preserved proof owner: true-slate-rc-proof-ledger.md note: factory and shorthand creation surface remains source-compatible
  • .tmp/slate-v2/packages/slate-hyperscript/test/index.spec.ts disposition: adapted proof owner: true-slate-rc-proof-ledger.md note: fixture parsing and cursor/selection construction stay owned by the Bun fixture runner
  • .tmp/slate-v2/packages/slate-hyperscript/test/smoke-contract.ts disposition: added proof owner: true-slate-rc-proof-ledger.md note: draft smoke rows now have a direct Bun-owned proof owner instead of stale Mocha-only closure language

V2 North-Star Rows

These rows are not optional value-add. Broader browser/input parity that does not currently map to live repo files stays tracked in true-slate-rc-proof-ledger.md, not as fake file rows here.

RowStatusWhy it matters
.tmp/slate-v2/site/examples/ts/highlighted-text.tsxadaptedoverlap-safe highlight rendering now exists on the kept createSlateProjectionStore + Editable surface
.tmp/slate-v2/site/examples/ts/persistent-annotation-anchors.tsxadapteddurable annotation anchors now exist on the kept annotation store + projection store + annotation-widget surface
.tmp/slate-v2/site/examples/ts/external-decoration-sources.tsxadaptedexplicit external overlay sources now exist on the kept projection-store + external refresh surface
.tmp/slate-v2/site/examples/ts/review-comments.tsxadaptedcomments/review UI now exists on the kept annotation store + widget store + inline review slice surface
.tmp/slate-v2/playwright/integration/examples/highlighted-text.test.tsadaptedChromium proof now owns highlight overlap selection, typing, and clipboard semantics without wrapper leakage
.tmp/slate-v2/playwright/integration/examples/persistent-annotation-anchors.test.tsadaptedChromium proof now owns bookmark-backed anchor persistence across fragment and text edits
.tmp/slate-v2/playwright/integration/examples/external-decoration-sources.test.tsadaptedChromium proof now owns explicit external overlay refresh behavior
.tmp/slate-v2/playwright/integration/examples/review-comments.test.tsadaptedChromium proof now owns comment creation, inline review slices, sidebar state, and annotation-backed widget visibility
.tmp/slate-v2/packages/slate-react/test/projections-and-selection-contract.tsxadaptedexplicit projection/runtime contract owner is green on the kept overlay runtime
.tmp/slate-v2/packages/slate-react/test/annotation-store-contract.tsxadaptedexplicit annotation runtime contract owner is green on the kept annotation store path
.tmp/slate-v2/packages/slate-react/test/widget-layer-contract.tsxadaptedexplicit widget runtime contract owner is green on the kept widget-store path
.tmp/slate-v2/packages/slate-react/test/large-doc-and-scroll.tsxadaptedexplicit large-doc runtime contract owner is green on the kept semantic-islands corridor surface

Current Read

This ledger is no longer infra-only.

  • tranche 1/2 root and compatibility truth still stands
  • package/runtime recovery rows are now explicitly represented here
  • further runtime closure still belongs to the merged corpora, package API ledgers, and proof owners, not to hand-wavy family closure language