refactor: migrate snapshot to device runtime - #1779
Conversation
eda79e8 to
328f71f
Compare
Size Report
Startup median (7 runs, lower is better):
Top changed chunks:
|
|
Exact head
CI is also owner-blocked: exact-head iOS Smoke fails at |
|
Addressed both P1 findings in e44dfb6.
Clean committed-tree pnpm check:affected --run passed every runnable gate: 587 files / 4,816 tests, 95.37% changed-line coverage, plus format, lint, typecheck, layering, fallow, build, package, wire, and integration checks. Native/device lanes were left to GitHub; no local simulator/device command was run because benchmarks are active. The previous iOS Smoke is not proven to be a snapshot production regression: its unchanged existence-oriented wait found an edge/offscreen node, skipped scrolling, then the visibility assertion correctly returned false; base passed by timing out the first wait and scrolling. The mechanically equivalent legacy capture seam does not explain that decision difference. Fresh iOS Smoke is running on this head and remains blocking; if it repeats, the owning smoke helper should require visibility before skipping scroll rather than weakening production visibility. |
|
Exact head
No |
|
Addressed in b893163.
The budget point remains intentionally unresolved: +10,414 B raw / +3,069 B gzip / +2,674 B tarball / +10,431 B unpacked versus 856ff38 is not approved. The explicit request remains at #1739 (comment), and the PR stays draft. Exact-head CI is now running; the preceding production head e44dfb6 was fully green. |
|
Final review remediation is complete at
All deterministic exact-head checks and Android Smoke are green. The isolated iOS Smoke rerun remains in progress after an unrelated hardware-keyboard XCTest flake; per maintainer direction, readiness is not blocked on waiting for that run. No local simulator/device command was run while benchmarks are active. |
|
Closed the R32 alias/destructuring bypass in
No local simulator/device lane was invoked while benchmarks are active. |
|
Production migration is now architecturally sound, and the revised snapshot-unit size budget is explicitly authorized on #1739. However, R32 remains bypassable and is not yet an honest regression gate. It traces known helper identifiers/aliases, but equivalent daemon policy still passes when expressed through a renamed helper call such as Also, the exact-head iOS Release check failed during action setup because GitHub codeload returned HTTP 429 while downloading |
|
Addressed the remaining R32 bypasses in
I also reran the failed iOS Release job. GitHub codeload returned the same HTTP 429 while downloading |
|
The prior renamed-helper and object-rest bypasses are fixed. However, R32 remains bypassable through object identity wrapping: |
Summary
Migrate the public
snapshotcommand from legacy capability dispatch to the ADR 0019 request-scoped device runtime.Exact bundle impact versus authorized base
856ff3886: +10,209 B JS raw, +3,058 B JS gzip, +2,590 B npm tarball, and +10,226 B unpacked. The revised snapshot-unit budget is explicitly approved on #1739: #1739 (comment).Scope: 132 touched paths total. The remediation expansion completes exhaustive platform/provider facts, shared capture-fixture migrations, desktop capture ownership, sparse-fallback preservation, structural R32 proof, duplication/code-smell tightening, and the owning iOS smoke visibility contract. This breadth is required by the full owner-facts denominator and by test consumers of the retired legacy snapshot dispatch seam; no additional command descriptor was migrated.
Validation
mainat856ff3886ca9e91d7fpnpm check:affected --runpassed all 52 locally runnable selected gates before the chained pushpnpm typecheck,pnpm check:fallow --base origin/main,pnpm format, andgit diff --checkpassedf4abac936completed fully green iOS Smoke after its isolated rerun: targeted XCTest, Settings replay, and fixture-backed iOS E2E all passedgradle/actionsduring setup on all three retries; exact-headca9e91d7fiOS Release is green, while the Affected-check Selector separately hit the same codeload HTTP 429 class downloadingpnpm/action-setupbefore project code; remaining exact-head CI is runningopen settings --foregroundreturned a healthy 19-node XCTest snapshot; Android interactive snapshot returned 35 nodes through the persistent helper session; both sessions closed cleanlyDocs/skills are unchanged because this is an internal runtime cutover, consolidation, and test-harness correction with no public CLI or workflow behavior change.