Repository navigation
feat(ci): Bind native verification to exact source inputs - #1423
Conversation
Add fixed Linux, macOS ARM64 and Windows AMD64 verification lanes with bounded report facts tied to actual task inputs, toolchains and completion snapshots. Keep failed, reused, incomplete and platform-inapplicable results distinct during original CI admission. Use bounded Git or export-manifest source selection across build logic, boundary tests, source archives and certification identities. Preserve portable archive modes, restricted manifest encoding and provider-specific filesystem checks, with regression coverage for the reviewed failures. Retain the immutable PR-320 policy and all 49 acceptance obligations while advancing reviewed implementation pins. Document verification limits and remaining native, hosted and protected acceptance work.
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: fe8b3515c3
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Subtract Git-reported working-tree deletions from cached index entries in the Kotlin helper, included-build bootstrap and Python source selector. This allows Gradle verification after unstaged deletions and renames while keeping missing export-manifest members invalid. Add actual-Git deletion and rename regressions and retain the bootstrap reproduction. Advance the eleven reviewed evidence commitments without changing acceptance scope, owner assertions or implementation states.
Resolve the owned app UI temporary root before constructing installed paths so macOS temporary-directory aliases do not trip production asset checks. Keep the two launcher fixture processes alive until their assertions finish using a release marker, and always release and stop them in finally blocks. This removes their dependency on observing readiness within a short process lifetime while preserving state assertions and existing wait limits. Reproduce all eight hosted app UI failures with an aliased root on Linux; verify all 35 app UI and 34 launcher tests with that same fixture.
Check the explicit KotlinJvmProjectExtension configuration now used by the included build instead of the previous generated Kotlin DSL accessor. Retain the Java 25 and unrestricted-vendor requirements while removing the stale assertion that failed the Ubuntu certification self-test job. Reproduce the failing check and verify all 86 supply-chain tests.
Wait for wrapper-log readers and launcher executor termination during shutdown, and prevent queued starts from launching after shutdown begins. Use native launchers, hidden-file attributes, canonical paths and deterministic access observations in affected cross-platform tests; always stop the AppHost child. Compare Windows pathname and handle metadata using stable birth time and normalized execute bits, while preserving each API's complete mutation checks. Exercise the metadata differences in source reads and report retention, and isolate Linux provider-image fixtures from inherited runner facts. Advance only the nine reviewed Python evidence pins without changing scope.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b24fbd53e0
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Remove redundant fixture parameters, fold platform filenames into Path.resolve, and use the static Mockito mock import throughout queue mutation tests. Keep the negative-length Bloom filter assertion resource-safe in a helper while assertThrows contains a single invocation. Remove the redundant static modifier from the nested launcher timing record. Validation: 79 tests across four focused classes passed without skips; file-level SonarLint checks for all five changed files reported no findings. Spotless and diff checks passed, and all 631 implementation-evidence pins still match.
Resolve fixture-owned pilot roots before constructing trusted registry paths. Wait for loopback request handlers to release asset streams during shutdown. Capture a completed native scheduler tick before deriving strict write evidence. Add resource-lifetime and event-prefix regressions, and correct the earlier cached alias verification claim with fresh before/after results.
Invoke both report stages through setup-python's absolute Python 3 path. Derive archive dirtiness from tracked changes and selected untracked files, so excluded history cannot change a committed source manifest. Add real-Git regressions for excluded history, selected additions and tracked history changes, and refresh only the three affected source commitments.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 81a819aec1
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Exercise launcher process guards, queued-start cancellation, forced executor shutdown, interruption handling, and controlled reader termination. Verify loopback origins are removed during timeout and interrupted shutdown, and cover each outcome of the updater's directory write-access observation.
Canonicalize parent directories before validating static asset paths so macOS host aliases do not reject valid bundle assets. Preserve alias rejection at and within the bundle root and add regression coverage for symlink boundaries.
Choose gradlew.bat when the runner OS is Windows while preserving the native test and analyzer task arguments. Advance only the workflow's existing source-evidence digest and document the focused verification.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a84bde8ffa
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Refuse assume-unchanged and skip-worktree entries before Python source certification or Kotlin source archive classification can trust git status. Cover hidden byte, deletion and execute-bit changes with real Git fixtures, including the source-clean consumer and recovery after clearing flags. Advance the ten existing evidence commitments for the four changed source and test files; preserve acceptance scope and historical commitments.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: faba86673b
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Canonicalize test JVM temporary roots without weakening production symlink checks. Construct the API router explicitly and synchronize launcher fixture readiness and exit with test-controlled signals. Root and affected module suites pass. The broader local run still has archive-scanning boundary failures and a reproducible AppHost child-discovery timeout.
Compare portable execute bits with indexed modes independently of core.fileMode. Detect working byte edits with a stat-free temporary index against HEAD, preserving checkout attributes and the user's index. Cover ignored execute changes, restored-timestamp byte edits and clean CRLF checkouts in both source readers. Refresh reviewed source pins, including four stale commitments from the preceding native-fixture fix.
Use a dedicated startup observation window for short-lived shell fixtures and allow repeated refreshes to observe the synthetic recovered child exiting. Keep production timing and lifecycle assertions unchanged.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: cf658843dc
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Apply owner-only ACLs to private catalog files on non-POSIX filesystems and cover permission failures. Use native file URIs and paths in API fixtures, and control the delayed cache flush explicitly to remove its timer race.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b0c7f6aabc
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Do not infer Unix execute bits from non-POSIX access checks. Add regression coverage for Windows-style executable access and inject direct fixture commands into launcher readiness tests while preserving production PTY selection.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 403c78c60e
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Control the cache threshold flush, use platform-native AppHost fixtures and path expectations, and preload instrumentation for bounded bootstrap subprocess tests. Continue independent native verification tasks while preserving failure status.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 4b10095867
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Partition complete certification coverage into six deterministic shards per supported host and require every shard in original CI evidence. Apply owner-only ACLs for developer tooling, mark POSIX-only tests inapplicable on Windows, and isolate compressor callback tests from native thread priority.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 27127f69b1
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Observe the fetch waiter blocking and collect its result with guaranteed thread cleanup. Publish launcher readiness transitions atomically after each initial browser launch instead of racing timed shell writes.
Exclude SpotBugs main and test tasks from Linux builds and native macOS/Windows verification while retaining tests, Error Prone, and configured Sonar analysis.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2c039bc5b9
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Reject intent-to-add provenance and reserved export rosters, filter static resources, and preserve declared migration execute modes on non-POSIX packagers. Capture complete runtime and analyzer classpaths, require fresh source-bound producers and reviewed dependency verification, and retain unavailable provenance as blocking. Restore a full SpotBugs execution path alongside bounded routine CI. Add regression coverage, document local limits, and advance only individually reviewed implementation-evidence file pins.
Collect validated migration command paths with a stream and use a static mock import for the two new caching-test ticker mocks. Preserve packaging and fixture behavior. Verify both affected test classes (46 cases), Java formatting, and file-level analyzer results against the existing test-file findings.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 8b39f1835d
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Gate the held reader with an uninterruptible semaphore and observe it parked before testing caller interruption. Release it explicitly and allow a bounded 30-second fixture cleanup join for busy native runners while preserving interrupt-restoration and reader-termination assertions. Verify all 42 LauncherControllerTest cases, 1000 repeated executions of the interruption test, Java formatting, and zero local analyzer findings. Production shutdown behavior is unchanged.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 439501bfcf
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Bind observed runtime, compiler and analyzer classpaths to a committed ordered roster and exact build-configuration bytes before validating artifact contents or fresh producers. Unknown or stale authority remains unavailable. Add a private candidate generator, 210 reviewed task rosters, and regressions for omissions, additions, order changes, forged expectations and real Git authority tampering. Preserve redaction and advance only the two reviewed evidence pins. Verify 230 focused Python tests, deterministic Gradle resolution, four real init-script mutations, all 631 evidence pins and the unchanged incomplete closeout assessment.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 60966fc7f2
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Reject source transforms that can hide raw byte changes, and disable Git replacement objects in the Kotlin selector. Authenticate generated Version.java against its committed inputs and merge included-build compiler/test classpaths into the reviewed roster while preserving independent provenance gates.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a6d21dd7cb
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Capture the resolved annotation-processor path and verify its ordered authority and artifact bytes for analyzer and downstream compiler evidence. Ignore global/system Git configuration during bootstrap selection so untracked build-logic inputs agree with the Kotlin and Python rosters.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 7e769af742
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Use the existing state wait for both readiness-file publication and the expected port instead of failing at a separate five-second file deadline. A controlled six-second child-process delay reproduces the macOS CI failure before the change and passes afterward, preserving the browser and shutdown assertions.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 7b0318e8a0
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Input proofs and post-task snapshots cannot authenticate effective Gradle actions. Keep executed project output transformations unavailable until independently bound, while preserving dependency and empty NO-SOURCE proofs. Continue classpath validation so known byte mismatches remain invalid. Cover recaptured Java, Kotlin, resource and JAR substitutions and document the admission limit.
Git-normalized diffs can hide CRLF checkout bytes absent from sourceCommit. Compare read-only unfiltered blob hashes in both source classifiers and require exact member coverage without changing the index. Cover checkout attributes, autocrlf, exact binary bytes and source exports. Refresh only affected evidence commitments and the classifier configuration digest.
Seed the handoff observation before starting the capture window so a delayed first tree snapshot cannot end the controlled child before its confirmation grace. Preserve unknown-exit and exact restart-count assertions. Record the delayed-observation reproduction and refresh the existing test evidence commitment.
|



Ordinary CI needs to distinguish native execution, reused results, incomplete analysis and provider-specific applicability while proving which source and report bytes were actually observed. Source discovery also needs one bounded selection policy so local history files cannot enter compilation, formatting, source archives or certification identities.
This change:
Validation reused for this unchanged commit:
./gradlew :build-logic:testpassed all 34 tests. Selected certification verification passed 135 tests, including 41 closeout guards.git diff --check.This PR is a draft pending native macOS/Windows execution and original hosted CI artifact admission. The full application suite was not rerun after the final portability/style follow-ups. An earlier Linux full evidence run passed 17,548 cases, but its analyzer results still contained 713 main and 191 test SpotBugs findings, 488 main and 130 test Error Prone warnings, and root coverage of 0.72 against the existing 0.80 threshold. Those results remain observations of that earlier working revision and do not establish clean analysis or acceptance. Native installed/restricted acceptance and protected release obligations remain with their existing owners; the finite installed/restricted campaign remains PR-322 scope.
The implementation runbook and source-pin review retain execution details and evidence limits.