Repository navigation
Reuse unchanged-input classification for merge groups - #831
Conversation
|
Resolved at e3026ef: independent follow-up verification receipt. The original c834c75 evidence below is preserved. Cloud review finding at exact head The native configuration audit reads that file directly, and its contract test requires every entry to have a disposition. This is the same dependency whose valid extension caused the earlier #812 native-audit failure. The old unconditional merge-group run caught that drift even though the PR path list omitted the file. Independent offline Node 22.23.3 review: the existing aggregate/classifier module passes 56/56 tests, with no failures or skips. An additional isolated real-Git fixture changes only The merge-group fast path would therefore omit required native-audit coverage for that input. Please add |
|
The input audit found that the inherited PR/push list omitted files consumed by native tests: Updated #831 to preserve every existing pattern and add the external inputs, conformance/CI helpers, shared contract/support modules and parent Cargo/checkout controls. The new inventory regression checks literal native repository inputs and relative parity imports. All fixture jobs/matrices/commands, permissions, resource limits and the terminal result remain unchanged. All 76 current classifier/aggregate/partition tests pass. The same suite with the original classifier/workflow has four expected failures and 72 passing controls. Keeping the new classifier/event wiring but restoring the inherited input patterns fails 14 controls, with 62 passing. This establishes why the coverage expansion is required. Pinned actionlint passes; the workflow is otherwise byte-identical after removing only the 13 new input patterns and three event fields. Current combined head |
|
Addressed the input-coverage finding in review 6460669071 and the native-owner dependency audit at current head
All 78 current tests pass. The same suite with the original classifier/workflow has six expected failures and 72 passing controls. Restoring the inherited input patterns while keeping the new classifier/event wiring fails 16 controls, with 62 passing. Existing jobs, matrices, commands, permissions and limits are unchanged. Current-head hosted qualification is running; this does not claim an independent reviewer has retested the new head or that hosted fast-path timing has been observed. |
|
Reviewed exact head The merge-group decision checks the event identity and complete base-to-head range. It can skip only after verifying that the base is current main; an unmerged predecessor, shallow/missing history, unsupported path syntax or unavailable/moving main retains full qualification. The remote check is read-only, bounded to 30 seconds and does not reproduce remote details on failure. The expanded canonical input list covers the audited external native configuration/fixtures and transitive harness helpers. Existing patterns, jobs, matrices, test commands, permissions, limits and terminal failure handling remain intact. All 78 local aggregate/classifier/partition cases and pinned actionlint pass. Original-source controls fail six cases; restoring the inherited input list fails 16. Current-head Sonar analysis and its quality gate pass with zero new open issues. Normal hosted native/PHP/CodeQL qualification is still running and must pass through the repository's required checks and merge queue. Actual unchanged-input hosted merge-group selection/timing remains acceptance work in #830; no measured speedup is claimed yet. |
|
Cloud follow-up review at
No further finding in this reviewed delta. Hosted qualification still applies; an actual unchanged-input merge-group observation and measured timing remain outstanding under #830. |
|
Security review of corrected exact head
I independently ran the exact-head aggregate/classifier/partition suite from an isolated detached worktree: 78/78 passed (local Node 18.19.1; the owner separately recorded the required pinned/current tooling result). The worktree was removed afterward. Hosted current-head checks are green through the individual Shared matrix jobs; normal aggregate/queue qualification and #830's real unchanged-input merge-group observation remain the delivery evidence. This review adds no gate and requests no operator action. |
|
Exact head The input-coverage finding is resolved in Cloud's independent exact-head review. Security's independent exact-head review found no issue within its stated identity/injection/remote-detail/input-selection scope. Both independently passed all 78 cases. Normal merge-queue qualification is now running for combined head |
|
The required merge-group attempt at The Rust owner diagnosed the failure on the published PHP reference: the replacement worker's own workflow completion preceded a typed no-task activity-poll capacity refusal and its subsequent withdrawal. The existing legacy-marker rule allowed that shutdown only for query pollers. #834 makes the fixture policy consistent for the three poll kinds while retaining the exact refusal envelope, accepted own commit, worker identity, withdrawal ordering and outcome/history requirements. General's exact-head review independently passes 2,585 contract controls. #834 still needs normal hosted qualification, including resolution of its PHP feature failure in 40639879002. General is investigating that PHP gate; no failure-case attribution is claimed from the generic exit annotation. After the correction is qualified and merged, integrate the accepted source and qualify this PR through the normal queue. The original failure remains evidence; no timing-only retry or bypass has been used. #830's actual unchanged-input merge-group selection/timing acceptance remains outstanding. |
|
Integrated current main, including merged #833 and #834, at The combined source passes all 78 local Node contract cases: 72 input/aggregate cases and six part/deadline cases, zero failures or skips. Normal hosted checks are running at the new head. Sonar API review reports zero open issues and an OK quality gate; normal auto-merge is enabled for this exact head and will enter the required queue only after its checks pass. The original merge-group failure remains recorded; #834 supplies the accepted fixture correction rather than a timing-only retry. The separate PHP feature failure from #834 is a confirmed product defect under #789. General's #835 repairs the committed-run/pre-summary payload deletion window; its focused controls pass on all four engines and related coverage passes 165 tests / 2,290 assertions. That repair remains independently qualified and does not change this selector's inputs or required checks. Next: finish normal head and merge-group checks here, then observe a real unchanged-input PHP merge group such as #835. Job selection and timing acceptance for #830 remain pending. No speedup is claimed yet. |
|



PHP-only merge groups repeat all 43 Shared Server fixture jobs even when none of their inputs changed. #828's shared merge-group qualification took about 22 minutes alongside the separate PHP checks. Reuse the input classifier for a merge group whose checked-out head matches the event, whose base is an ancestor and verified current public-origin
main, and whose complete range changes no shared input. Unavailable/moving main, shallow or mismatched history and unclassifiable paths retain full qualification. The remote read has a 30-second bound and suppresses remote error details.Before making merge groups selective, repair gaps in the inherited input list. Native tests consume
config/dw-contract.php, activity metadata, codec, history-budget and upgrade fixtures outsiderust/**; the harness also importsproxy-target.mjsand CI helpers outside the old parity prefix. Retain every existing pattern and broaden coverage for those inputs, conformance/CI helpers, shared contract/observation modules and parent Cargo/checkout controls. A source inventory guard checks the literal native inputs and relative parity imports and literal workflow helper invocations. Explicit PR and merge-group cases cover the configuration contract.All fixture jobs, matrices, commands, the required terminal result, permissions and resource limits remain intact. PR classification uses the expanded canonical path list. Push/manual classification remains full. The workflow differs only by 13 added input patterns and three merge-group identity fields.
Validation with the same 78 classifier/aggregate/partition tests:
Real Git fixtures cover both queued-predecessor base layouts, malformed/stale identities, non-ancestor and shallow bases, moved/unavailable main, invalid file names and suppressed remote details. Pinned actionlint passes. The workflow comparison confirms the rest of the file is unchanged. No Rust build or test ran locally.
Combined head
0ba815f02327ca1c46a7f520c7e783975132a5a1integrates current main4ccbfb5b, including #833/#834. The three changed source blobs are identical to the reviewed and locally qualified implementation. All 78 contract cases pass on the combined source; the unchanged workflow retains its pinned-actionlint proof. Integration/source review.Normal head qualification is complete: 56 successful checks and one conditional skip, including all 43 jobs in Shared fixtures and successful PHP qualification. Sonar reports zero open issues and an OK quality gate. Normal merge-group qualification is now running at
1bc585205d18cecb9fd2b05ca02b3770eb9d5828: Shared fixtures, PHP; boundary passed. This group changes the classifier/workflow itself and requires full qualification.Refs #830 and #325. Keep #830 open through an actual unchanged-input hosted merge-group observation after merge, including selected jobs, timings and limits. No hosted speedup or sustained-throughput improvement is claimed yet.