ci: enforce committed Linux visual baselines - #508
Draft
bntvllnt wants to merge 6 commits into
Draft
Conversation
|
ntk preview
Built from |
bntvllnt
marked this pull request as ready for review
September 5, 2026 00:00
bntvllnt
marked this pull request as draft
September 5, 2026 00:13
7 tasks
Collaborator
Author
|
Independent review update: no code-level blocker found in the pinned Linux environment, Fontconfig, deterministic fixture and no-update CI changes. REST confirms passing exact-head code/test checks. This review did not independently inspect all screenshot images or reproduce the author-reported negative control, so those remain qualified evidence. Preview still fails both app builds; log access remains blocked by ntk authentication (convex token404). Keep draft; no preview bypass or deployment retry. Current main advanced only by Turbo PR #504; reconcile and refresh exact-head gates before landing once the preview blocker is resolved. |
6 tasks
bntvllnt
added a commit
that referenced
this pull request
Sep 8, 2026
## Summary Adds the source-only React Native platform: shared tokens/contracts, core package, 171 Native modules, an Expo Android/iOS catalog, and platform-aware EN/FR registry discovery, installation, SEO, MCP and LLM surfaces. Stable Web installation remains `@vllnt/ui@^0.3.0`; Native installation remains unavailable/experimental. Checkpoint `1963f57` includes the accumulated reviewed component repairs, colocated/shared regression organization, registry fixes, package-boundary tests and 0.4.0 canary guards. Merge `f7ed137` incorporates main `705fb7b`, retaining Native tooling and regenerating the lockfile with the Turbo security upgrade (resolved 2.10.12). No reviewed dirty work was omitted. Follow-up `ccdb7d0` resolves fresh CI React Doctor findings: Toast effects own cleanup while preserving original expiry deadlines across rerenders; keyed fragments isolate StepByStep list identity from forwarded props. Full Native tests and CI-pinned React Doctor 0.5.8 pass (zero errors, 104 advisory warnings). ## Validation — HEAD `ccdb7d0` Node 22.23.2 / Corepack pnpm 9.15.4, macOS: - Web lint and build-project TypeScript: passed. - `pnpm build` and `pnpm test:once`: passed; tests 6/6 workspace tasks, zero cached; Web 318 files / 1678 tests. - `pnpm ci:native`: passed, including 34 suites / 225 tests, package checks, Expo Doctor and Android/iOS Metro exports. - Registry lint/types, `i18n:check`, `registry:integrity`, `registry:check`: passed; EN/FR parity, 313 items, stable install target ^0.3.0. - `node --test scripts/release-guard.test.mjs packages/ui-native/scripts/check-boundaries.test.mjs`: 6/6 passed (5 release + 1 boundary). - Frozen lockfile install and whitespace checks passed. - Normal hooks completed without bypass. The host's unpinned hook reports an incomplete analysis/Toast diagnostic; the explicit CI-pinned `pnpm dlx react-doctor@0.5.8 . --diff origin/main --offline --fail-on error` passes with zero errors. Fresh remote checks remain required. - The combined gate command reached its 200-second wall-clock limit at the final catalog export; rerunning that remaining catalog build and registry/release checks completed successfully. All preceding Native pipeline steps passed. - Isolated paired tarballs `0.4.0-canary.66.shaccdb7d0`: exact archive versions/Native→core dependency/dist entries asserted; offline installation, strict consumer TypeScript, core runtime/JSON subpaths and Android/iOS Metro resolution with exports enabled/disabled passed. Packages resolve inside isolated node_modules, not workspace sources. An exact-version-only pnpm override transports the unpublished core tarball; it cannot match a different version, and archive dependency equality is independently asserted. This is resolution/type proof, not a packed Native device render or full packed Metro transform. ## UI evidence and limitations Historical Task61 strict independent main-baseline comparison: 305/305 passed with PR snapshot updates disabled; full E2E 78 passed / 7 live-Storybook skips. This evidence covers the reviewed source tree before release/version and merge changes, not a new final-HEAD run. No head snapshots were updated. Physical iOS/Android, VoiceOver/TalkBack, minimum-runtime matrix and residual contract/design findings remain explicitly documented in `docs/PR506_*REVIEW*.md`; source inspection of 171 modules is not production certification. PR #508's durable Linux baseline work is not incorporated or claimed complete. ## Merge authorization and checks The user explicitly authorizes conflict resolution and squash merge, accepting **only `ntk / preview` failure** for now. This supersedes historical reports' no-merge/draft language; this PR remains ready, not converted to draft. All final-head non-preview remote checks passed: Quality, Native, E2E, React Doctor, both CodeQL analyses, issue link, Storybook build/tests/coverage and visual job. CI: https://github.com/vllnt/ui/actions/runs/34230240495 ; Storybook: https://github.com/vllnt/ui/actions/runs/34230240491 ; health: https://github.com/vllnt/ui/actions/runs/34230240475 . The visual job's existing snapshot-update behavior is not claimed as strict regression proof. Only `ntk / preview` failed. Normal head-fenced squash merge is authorized. No admin override, branch-protection changes, force push, hook bypass or approval bypass is authorized. ## Release boundaries Merge may trigger existing main CI/Web canary automation. Checked-in guards restrict 0.4.0 to canary and reject stable promotion; Native/core versions match 0.4.0, exact paired prerelease dependencies and staging/canary tags are retained. Native's enable-variable/environment gate is unchanged; no credentials or enablement settings are changed. No manual publication, deployment, stable promotion or workflow dispatch is performed. Device/AT and publication-recovery verification remain required before advertising Native installation. Related to #479
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.
Summary
origin/main(903cff3, including feat(native): add cross-platform renderer foundation #506 native renderer support and chore(ci): remove deprecated ntk integration #514 ntk retirement) into this visual-baseline branch without conflicts.Validation at
ec0311egit diff --stat origin/main...HEAD— non-empty (335 files; committed baseline/config changes only).pnpm -F @vllnt/ui test:visual --workers=1 --retries=0 --update-snapshots=none— local macOS run was interrupted by the harness RSS monitor after widespread platform screenshot mismatches; it did not update snapshots and is not evidence of a passing result.Boundaries
No shipped component logic or styles changed. Existing screenshot tolerance is unchanged. No ntk authentication, preview/deploy retry, release, or merge action was performed.
Closes #507
Related to #506