Current source package line:
v0.41.0-alpha.19
Current npm registry line:v0.41.0-alpha.19
Active release target:v0.41.0-alpha.19
Next stability candidate:v0.41.0
Current maturity stage: alpha
Alpha.19 executes the third audit round cleanup sweep governed by
ADR-0118. The
2026-07-25 full-repository audit (architecture, redundancy, cleanliness)
produced 26 accepted issues (#481–#506) under milestone
v0.41.0-alpha.19. Alpha.19 closes every listed issue or explicitly defers
it with evidence. It adds no new product surface and no new packages. Every
state-dependent fix carries an "input combinations enumerated" acceptance
note, extending the sibling-path doctrine of ADR-0117.
OpenElement = Web Components-native fullstack application framework
current proven scope = static-first applications with fullstack output paths
component contract = standard Custom Elements
official build path = Vite + Nitro
The authoritative five-package contract remains
PACKAGE_SURFACE.md. Alpha naming remains governed by
ADR-0114.
- At entry to this plan,
v0.41.0-alpha.18is the current source and published npm package line; its immutable tag and two-stage evidence must not be rewritten. - The external adopter pilot #390 and stable gate #37 remain open.
- All 26 issues #481–#506, grouped below by theme; each issue records its own zero-consumer or reproduction evidence.
- Gate mechanization for every audit-discovered blind spot so the same drift class cannot return silently.
- The alpha.19 release closure: bump, gates, publish, tag, prerelease and two-stage evidence.
- #481: fix www pages claiming stale package lines; extend the www-truth gate to bare version mentions.
- #482: align governance doc bodies (STATUS/ROADMAP/README/SECURITY) with their headers; extend the version-anchor/currency gates to body text.
- #483: replace the 25 always-true
assertExists(boolean)assertions with behavior assertions; widen the assertion-style gate.
- #486: correct package READMEs teaching internal or nonexistent subpaths; add a package-README surface gate.
- #487, #488: close the
export type *star seams exposing internal protocol types (SafeHtml/UnsafeHtml/StyleSheetRule and ~50 others); make the interface snapshot seam-aware. - #490: single-source
routeInfodeclarations including the emittedfilePath/modulefields. - #505: decide the test-only-consumed public exports batch.
- #491, #492: reflect-prop fixes proven in Firefox/WebKit smoke, not only Chromium; enumerate removeAttribute × default-value combinations.
- #493: keep URL and router state consistent on popstate redirect-then-block; fix guard-reject fail-open asymmetry.
- #494: make the
Fordrift token collision-proof against separator smuggling. - #495: strengthen the theme-init
prefers-color-schemee2e to the claimed FOUC contract. - #496: single-source the
HydrationStrategyliteral list. - #500: converge island declaration construction and the build-plan hydrate evidence.
- #489: give
graph:checkreal teeth with a dependency-direction gate.
- #497: untangle the release executor core from
mod3.ts; test resume orchestration and the rebase-conflict resume path. - #484: declare the workflow inputs sent by
autoflow:release-dispatch. - #485: record alpha.18 migration notes durably; protect curated notes from tooling overwrite.
- #499: extend the clean task to all eight artifact classes.
- #498: fix the CONTRIBUTING structure map and the comment-honesty batch.
- #501: execute the safe-deletion batch (11 zero-consumer items).
- #502: config hygiene batch (workspace-orphan example, ui publish.exclude, test-fixtures, orphan tasks, dead doc refs).
- #503: consolidate hydration/upgrade/activate/mount vocabulary and field names.
- #504: gate hardening batch (deno-api AST blind spots, guide guard residue, #37 text refresh, VERIFICATION wording).
- #506: deduplicate the JSON codegen boundary, formatJson bypasses and diverged preact test stubs.
- Run release-prepare only after A–E pass, synchronizing all five manifests,
Create CLI, starter mappings and current version anchors to
0.41.0-alpha.19. - Publish all five npm packages under the
alphaandlatestdist-tags, create the immutablev0.41.0-alpha.19tag and GitHub prerelease, verify fresh Deno, Node ESM, starter and Nitro consumers through the supportednitro-mountseam, and complete the two-stage evidence record.
- Every issue #481–#506 is closed with its recorded evidence, or explicitly deferred with a recorded reason.
- Each state-dependent fix (C group) enumerates the input combinations it was verified against.
- The new and hardened gates (A, B, D, E groups) fail on the stale inputs they were built for and pass on the corrected repo state.
- npm, dist-tags, exact-version starter, tag, GitHub prerelease, docs and
final evidence all agree on
0.41.0-alpha.19. - Alpha.18 evidence remains unchanged.
- Do not add packages, product surface or new public APIs beyond what an issue requires.
- Do not restructure the
OpenElementbase class or introduce a diffing renderer. - Do not promise stable
0.41.0merely because alpha.19 publishes. - Do not fabricate, simulate or replace external adopter evidence with internal CI runs.
- Every correctness fix lands reproduction-first; reflect and popstate fixes are proven in the browser engines their acceptance claims name.
- Gate changes land with fixtures proving both the stale rejection and the corrected-state pass.
deno task test,arch:check,graph:check,package-surface:check,type-safety:checkanddeno-api:checkpass for every PR.deno task test:e2e(Chromium) and the Firefox/WebKit smoke pass for every PR; the pre-release matrix covers Chromium, Firefox and WebKit.
- Two-stage evidence under
docs/release/forv0.41.0-alpha.19, including npm version and dist-tag verification and post-publish consumer smoke. - The release note records any breaking deletions with migration steps.
- Any new #390 pilot intake published during alpha.19 is anonymized and linked from the release evidence.