docs(www,tools): B2.3 website qualification on the v0.44 product surface (#1177) - #1300
Merged
Conversation
added 2 commits
September 4, 2026 07:23
… maps (#1177, B2.3) The website is an npm-first consumer of the five retained packages. Prove mechanically that every @openelement/* specifier in the shipped site surface (www/app plus vite.config/content-collections/build-pagefind) resolves to a published export subpath — never a private source path — so in-repo workspace resolution is identical to the packed npm artifact boundary. Negative control: a temporary private-source import fails the gate.
…h pages (#1177, B2.3) The architecture collection described the WC SSR classification, corpus and the Supabase x Cloudflare composition path as 'the 0.43 line' in present tense while the current line is the compiled v0.44 line; the machinery is CI-gated on dev (third-party-wc:smoke, fullstack qualification), so the claims now name the current line and record the 0.43 origin as history. comparison.md scopes its adoption caution to the stable 0.43 line explicitly. The 0.41 migration guide gains a historical-record banner: the current line is consumed fresh via @openelement/create, with no supported 0.43 -> 0.44 in-place upgrade (B2.5 ruling).
Contributor
|
APIError: Insufficient Balance |
This was referenced Sep 3, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
#1177 (B2.3, stage #1288): rebuild/qualify the public website on the qualified v0.44 product surface as an external product would. The site was already migrated to the compiled element model during Beta.1 (#1261/#1262); this PR performs the Beta.2 acceptance pass: stale-0.43 content hunt, mechanical proof of the public import boundary, packed-artifact consumption evidence, and the full browser battery — and it surfaced one genuine pre-RC artifact defect (below).
Owner
B2.3 executor (
.agents/v044-kimi-implementer.mdprofile; dispatch authorizes branch + PR, no merge).Before
www/content/architecture/{architecture,package-compatibility,comparison}.md(+zh) described the WC SSR classification/corpus and the Supabase × Cloudflare composition path as "the 0.43 line" in present tense on current-product pages, while the current line is the compiled v0.44 line.www/content/guide/migration.md(+zh) (historical 0.41 guide naming retireddefineElementauthoring) carried no scope marker for a 0.44 reader.@openelement/*imports stay inside the published export maps — the "published boundary is identical" allowance for in-repo workspace resolution was unverified.After
third-party-wc:smokeand fullstack qualification), recording the 0.43 origin as history; comparison scopes its adoption caution to the stable 0.43 line explicitly.@openelement/create; no supported 0.43 → 0.44 in-place upgrade (B2.5 ruling).tools/check-package-surface.tsnow asserts the www public-import boundary: every@openelement/*specifier in the shipped site surface (www/app+vite.config.ts/content-collections.ts/build-pagefind.ts, incl.@jsxImportSource) must resolve to a published export subpath of the five retained packages; www-local import-map aliases fromwww/deno.jsonare the only exceptions. Wired into the existing CI-gatedpackage-surface:check(AutoFlow triggers extended towww/+ the tool) — no new governance surface.Why-not-second-owner
The import-boundary assertion extends an existing gated checker instead of adding a new tool/task/CI job, per the B2.6/B2.7 net-reduction rule for governance surface. Content edits are www-local; no framework/UI public-surface change is made or hidden in website glue.
Evidence
Local gates (branch tip
b039456d):deno task package-surface:check(extended)www/app/__boundary-probe.tsimporting@openelement/element/src/protocol/data.tsfails the gate withwww import boundary: ... is not a published export subpath(exit 1), passes after removaldeno test --allow-read --allow-env tools/check-package-surface.test.tsdeno task build(incl.www:pagefind,www:check-artifact-truth)deno task test(full repo suite)deno task test:e2e:browsers(Chromium+Firefox+WebKit, 519 tests)architecture-islands-deep(zh/en × dark/light mobile)deno task www:check-current-truth/docs:truth/www:check-theme-tokens/export-files:check/freeze:semantics:check/typecheck/www:dev-smoke/ fmt / lintdeno task pack:dry-runVisual-baseline adjudication (carried risk #2 in #1288): the 4 mobile failures show only CJK font-rasterization ghosting on
/architecture/islands-deep— a route this PR does not touch (git diff --name-onlyconfirms); the diff images show glyph-level offset, not layout change. Pixel baselines are skipped on CI by design (test.skip(!!CI …)). Pre-existing local macOS drift; NOT normalized here. The 5 edited pages render correctly and their baselines still match.Beta.2 scorecard
hydrate: 'idle'islands), SPA action chain + shadow-piercing form submit (forms), nested CE, search (pagefind overlay + keyboard), i18n locale routing (en/zh), navigation/router guards, theme system, view transitions/speculation.open-layout50 KB,cinematic-scroll92 KB,hero-polish5.1 KB,dragon-live-gaze17 KB,page-rail8.6 KB,light-probe6.0 KB, entryclient.js7.3 KB; total 223 KB. Budget warnings (>50 KB island, >200 KB total) are pre-existing and unchanged by this PR.www/vite.config.ts(B2.4 input).pack:dry-rungreen; in-repo boundary proven identical by the new gate. Packed-artifact-alone build: FAILS — see finding below.Finding (pre-RC integration defect, surfaced by the packed-artifact exercise)
Building www against the packed 0.44.0-beta.1 tarballs with no workspace (scratch:
.tmp/www-packed-consumer.sh, temp dir outside the repo so the adapter's workspace-alias generator stays null and resolution is node_modules-only) gets through Phase 1/2 and SSG-admission, then fails:Root cause:
deno packerases the compile-time-only@element/@propertydecorator intrinsics (ADR-0143: inert no-ops at runtime, recognized by binding provenance in source) when compiling@openelement/uito npm.js(applyDecs2203Rlowering; verified in both the local dry-run tarball and the published registry artifactui-0.44.0-beta.1.tgz). The packed UI package therefore cannot be SSR-admitted via the documentedpackageIslands: ['@openelement/ui']path (packages/ui/README.mddocuments exactly this npm consumption). B2.1/B2.2 qualified UI through the ui-dogfood fixture, which resolves workspace source — the packed-artifact path was never exercised.Per the B2.3 ruling ("if you NEED a surface change, STOP and report it as a finding instead of working around it locally"), no website-local workaround was applied; fixing the pack pipeline / artifact shape is a release-surface decision for the stage (candidate owners: B2.5 consumer paths or a new Beta.2 defect issue).
Scope
In: www content truth (stale-0.43 hunt), www import-boundary gate, evidence battery. Out: generated-truth machinery for nav/releases/i18n/SEO (#1159 → B2.4, consumed/anticipated only); public-route E2E expansion (#1232 → B2.10; routes remain E2E-addressable, no selector changes); Starter external-consumer matrix (B2.5); the packed-ui artifact defect (finding above); visual-baseline re-record (carried risk #2, stage closure).
Risk
Low: 8 markdown files + 1 gated checker + AutoFlow triggers. No frozen-semantics paths touched (
freeze:semantics:checkOK). The extended gate fails closed on any future private-source import from www.Refs #1177. Acceptance-bar status: IA coherent + truth-consistent claims + v0.44 consumer surface + green browser flows are met; the strict "builds from public candidate artifacts alone" item is blocked by the ui npm-artifact finding above, so this PR does not close #1177 by itself.