Skip to content

test(webkit): record API observations and add a macOS pilot - #43

Closed
atldays wants to merge 2 commits into
codex/safari-api-compatibilityfrom
codex/webkit-observations-ci
Closed

atldays wants to merge 2 commits into
codex/safari-api-compatibilityfrom
codex/webkit-observations-ci

Conversation

@atldays

@atldays atldays commented Nov 5, 2026 •

Copy link
Copy Markdown
Member

Follow-up to the Safari API compatibility fix (#42) for #40. This PR contains observation/reporting infrastructure and an independent macOS pilot, with the API fixes supplied by its base branch.

Resolve native wrapper references from the TypeScript source, then enumerate callable properties (including inherited/non-enumerable properties) of exposed namespaces. Save actual system versions, source revision, requested and granted permissions/origins, scenario outcomes and three presence states: namespace unavailable, method unavailable within an exposed namespace, and method present. Presence does not establish runtime correctness or attribute absence to Safari.

Human-reviewed incorrect calls, source-only checks and remaining gaps stay in static sections. Raw JSON/Markdown reports go to the ignored .output/webkit directory and CI artifacts; no generated browser snapshot is committed. The fixture now requests and grants webRequest.

The separate WebKit pilot runs Node 24 on macos-15 and macos-26, uploads observations on success/failure, and is outside reusable CI and the release dependency chain. Hosted versions are recorded by each run rather than assumed to match local macOS 27.2.

Validation: observation state/enumeration tests and source-symbol discovery tests; lint, types, build/tree shaking; all five native scenarios locally on WebKit 22625.2.8.11.9 / macOS 27.2. The API contracts remain version-independent. Main API fixes, this infrastructure, and the unrelated scripting type fix are separate PRs.

Hosted verification completed successfully in the PR pilot run:

Runner label Actual macOS System WebKit Result
macos-15 15.8.2 (24H232) 20621.3.11.11.3 All 5 scenarios passed
macos-26 26.7.2 (25G332) 21624.5.1.11.3 All 5 scenarios passed

Both downloaded report artifacts contain a clean source revision, all scenario results and the actual granted permissions, including webRequest. Runner labels do not pin the macOS patch version: the earlier push run used macOS 26.6.2 with the same WebKit build. The separate push run also passed both jobs; these initial successes establish operation, not long-term flake statistics.

Stack order: #41, then #42, then this PR. Retarget the dependent PRs to develop after their prerequisites land.

Discover wrapper references from TypeScript and enumerate callable native
properties. Save requested/granted permissions, three presence states and
runtime results locally or as CI artifacts, with separate human findings.
Exercise macos-15 and macos-26 and upload observations after success or failure.
Keep the pilot outside reusable CI and the release dependency chain.
@atldays atldays closed this Nov 5, 2026
@addon-owner
addon-owner deleted the codex/webkit-observations-ci branch November 5, 2026 21:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant