docs/plans/2026-04-07-slate-v2-release-ready-without-regression-consensus-plan.md
Supporting plan. For current queue and roadmap truth, see master-roadmap.md.
/Users/zbeyens/git/slate-v2 currently has a credibility gap between the
remaining proof surface and the size of the deleted legacy surface. The user
does not want a fake Target B story, a silent test shrink, or contributor
confusion caused by deleted conceptual slots.
The required boundary from the deep interview is:
Pros:
Cons:
Pros:
Cons:
Pros:
Cons:
Pick Option B.
It optimizes for emotional symmetry, not product truth. The user explicitly allowed internal divergence. Restoring dead private architecture just to make the tree look old again is the wrong target.
It is honest, but it abandons the stated goal. Good fallback, wrong primary plan.
Restore or remap every contributor-facing deleted concept into the closest current conceptual slot, while allowing internal file/module architecture to diverge.
It is the only option that matches the deep interview boundary exactly.
Target B remains red until this recovery is completeTarget BPurpose:
Files:
/Users/zbeyens/git/plate-2/docs/slate-v2/overview.md/Users/zbeyens/git/plate-2/docs/slate-v2/release-readiness-decision.md/Users/zbeyens/git/plate-2/docs/slate-v2/replacement-gates-scoreboard.md/Users/zbeyens/git/plate-2/docs/slate-v2/archive/full-replacement-blockers.md/Users/zbeyens/git/plate-2/docs/slate-v2/replacement-family-ledger.md/Users/zbeyens/git/slate-v2/docs/general/replacement-candidate.mdDecisions:
Target B red until all contributor-facing concept slots are restored or
mappedCurrent tranche state:
android-testscheck-listscode-highlightingcustom-placeholderinlinessearch-highlightingslate-hyperscriptTarget B blockers after the contributor-facing tranche:
Test scenarios:
Purpose:
Files:
/Users/zbeyens/git/slate-v2/package.json/Users/zbeyens/git/plate-2/docs/plans/2026-04-07-slate-v2-full-release-regression-audit-plan.md/Users/zbeyens/git/plate-2/docs/slate-v2/replacement-gates-scoreboard.mdDecisions:
Test scenarios:
Purpose:
Canonical concept set:
android-testscheck-listscode-highlightingcustom-placeholderinlinessearch-highlightingslate-hyperscriptFiles:
/Users/zbeyens/git/plate-2/docs/plans/2026-04-07-slate-v2-full-release-regression-audit-plan.md/Users/zbeyens/git/plate-2/docs/slate-v2/replacement-family-ledger.md/Users/zbeyens/git/slate-v2/site/examples/Readme.md/Users/zbeyens/git/slate-v2/Readme.md/Users/zbeyens/git/slate-v2/docs/Introduction.md/Users/zbeyens/git/slate-v2/docs/Summary.mdDecisions:
Test scenarios:
Purpose:
Files:
/Users/zbeyens/git/slate-v2/site/constants/examples.ts/Users/zbeyens/git/slate-v2/site/examples/Readme.md/Users/zbeyens/git/slate-v2/site/examples/ts/**/Users/zbeyens/git/slate-v2/site/examples/js/**Completed concept decisions in the first tranche:
android-tests
android-tests.test.tscheck-lists
check-lists.test.tscode-highlighting
code-highlighting.test.tscustom-placeholder
placeholder.test.tsinlines
inlines.test.tssearch-highlighting
search-highlighting.test.tsConcept-slot rule:
closest current conceptual slot does not have to mean one exact route if a
small documented cluster teaches the same contributor concept more honestlyTest scenarios:
tsc:examples passes with the chosen example setPurpose:
Files:
/Users/zbeyens/git/slate-v2/playwright/integration/examples/**/Users/zbeyens/git/slate-v2/playwright/integration/examples/replacement-compatibility.test.ts/Users/zbeyens/git/slate-v2/package.jsonDeleted lane set and current mapping decisions after the first tranche:
huge-document.test.ts
iframe.test.ts
plaintext.test.ts
read-only.test.ts
select.test.ts
shadow-dom.test.ts
Decisions:
Test scenarios:
Purpose:
Files:
/Users/zbeyens/git/slate-v2/packages/slate/test/**/Users/zbeyens/git/slate-v2/packages/slate-react/test/**/Users/zbeyens/git/slate-v2/packages/slate-history/test/**/Users/zbeyens/git/slate-v2/packages/slate-dom/test/**/Users/zbeyens/git/slate-v2/package.jsonDeleted bucket set to resolve:
packages/slate/test/interfaces/**packages/slate/test/transforms/**packages/slate/test/operations/**packages/slate/test/normalization/**packages/slate/test/utils/**packages/slate-react/test/**packages/slate-history/test/**Decisions:
Important tension:
1048 legacy package tests is not the
goalTest scenarios:
slate-hyperscript RecoveryPurpose:
slate-hyperscript as part of contributor-facing parity without forcing
the old fixture harness back into the release barFiles:
/Users/zbeyens/git/slate-v2/packages/slate-hyperscript/**/Users/zbeyens/git/slate-v2/docs/Summary.md/Users/zbeyens/git/slate-v2/docs/concepts/10-serializing.md/Users/zbeyens/git/slate-v2/Readme.mdCompleted decision:
slate-hyperscript as a live package surfaceTest scenarios:
Purpose:
Files:
/Users/zbeyens/git/slate-v2/package.json/Users/zbeyens/git/slate-v2/scripts/**Required gate:
slate-react runtime proofslate-dom proofBlocking release gate shape:
yarn build:rollupyarn testyarn test:replacement:compat:local
yarn test:replacement:gate:localyarn lint:releasePerformance policy:
Target BCurrent state:
/Users/zbeyens/git/slate-v2/package.jsonprerelease now routes through the widened replacement gate instead of the
skinny yarn testTest scenarios:
Purpose:
Artifacts:
Required fields per drift:
Test scenarios:
Failure:
Prevention:
Failure:
Prevention:
Failure:
prerelease runs another tiny suitePrevention:
slate, slate-history, slate-react,
slate-domtsc:examplesMinimum same-turn evidence before flipping Target B:
yarn tsc:examplesyarn testarchitectcriticplannerresearcherexploreexecutorverifiertest-engineercode-reviewerwritermediumhighhighslate-hyperscript decision: highmediumralphralph for sequential, dependency-heavy recovery:
teamUse $team only after the concept matrix is fixed first. Parallelizing before
the mapping is explicit is how this turns into soup.
$ralph /Users/zbeyens/git/plate-2/docs/plans/2026-04-07-slate-v2-release-ready-without-regression-consensus-plan.md$team /Users/zbeyens/git/plate-2/docs/plans/2026-04-07-slate-v2-release-ready-without-regression-consensus-plan.mdtsc:examplesTarget B verdict