rushd: WS3/WS4 integration with Reporter prerequisites - #6018
rushd: WS3/WS4 integration with Reporter prerequisites#6018Sean Larkin (TheLarkInn) wants to merge 234 commits into
Conversation
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: d6318e80-5da9-4858-a147-817e8692f10e
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: d6318e80-5da9-4858-a147-817e8692f10e
Create the authoritative frontend reporter host before version selection, register global reporter controls, and preserve legacy output unless a non-legacy reporter is explicitly selected. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: d6318e80-5da9-4858-a147-817e8692f10e
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: d6318e80-5da9-4858-a147-817e8692f10e
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: d6318e80-5da9-4858-a147-817e8692f10e
Consume the repository experiment before Rush version selection, keep agent detection out of pre-major defaults, strip frontend-only controls before engine handoff, and preserve legacy verbosity compatibility. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: d6318e80-5da9-4858-a147-817e8692f10e
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: d6318e80-5da9-4858-a147-817e8692f10e
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: d6318e80-5da9-4858-a147-817e8692f10e
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: d6318e80-5da9-4858-a147-817e8692f10e
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: d6318e80-5da9-4858-a147-817e8692f10e
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: d6318e80-5da9-4858-a147-817e8692f10e
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: d6318e80-5da9-4858-a147-817e8692f10e
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: d6318e80-5da9-4858-a147-817e8692f10e
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: d6318e80-5da9-4858-a147-817e8692f10e
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: d6318e80-5da9-4858-a147-817e8692f10e
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: d6318e80-5da9-4858-a147-817e8692f10e
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: d6318e80-5da9-4858-a147-817e8692f10e
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: d6318e80-5da9-4858-a147-817e8692f10e
Make the demo independent of inherited reporter controls, verify exclusive output destinations, and correct log-level, alias-position, and latest-log guidance. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: d6318e80-5da9-4858-a147-817e8692f10e
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: d6318e80-5da9-4858-a147-817e8692f10e
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: d6318e80-5da9-4858-a147-817e8692f10e
Validate non-public diagnostic codes against the registry, bucket unknown categories, and bound retained telemetry dimensions deterministically. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: d6318e80-5da9-4858-a147-817e8692f10e
Stop reporter control scans at the pass-through separator and add an exactly-once frontend close contract across success, failure, and termination paths. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: d6318e80-5da9-4858-a147-817e8692f10e
Keep protocol metadata root-owned, gate mixed-privacy diagnostics, and bound producer attribution with trusted deterministic retention. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: d6318e80-5da9-4858-a147-817e8692f10e
Keep reporter controls out of ts-command-line globals, gate incompatible engines before initialization, and enforce bounded signal and close-error behavior. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: d6318e80-5da9-4858-a147-817e8692f10e
Preserve unsupported custom reporter values until frontend ownership is unambiguous, and narrow emergency legacy stripping to the reporter selection flag. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: d6318e80-5da9-4858-a147-817e8692f10e
Probe reporter ownership without requiring a value, then enforce strict reporter parsing only after frontend ownership is established. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: d6318e80-5da9-4858-a147-817e8692f10e
Derive bounded producer retention priority from parent-session provenance instead of child-controlled package namespaces. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: d6318e80-5da9-4858-a147-817e8692f10e
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: d6318e80-5da9-4858-a147-817e8692f10e
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: d6318e80-5da9-4858-a147-817e8692f10e
Combine bootstrap disposal and retention, truthful AI qualification, diagnostic and spool fixes, Heft transport behavior, and local demo selection. Preserve the minimal shared close cache, serialized lifecycle, original startup failure, and synchronous cancellation without the competing runtime-close implementation or local fixture histories. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 4747f826-8c83-495d-80df-3d1168662e10
Prevent explicitly secret parameter values from reappearing through source labels, source paths or lower-classified template parameters. Preserve the original diagnostic and public context. The unchanged combined R8 corpus now passes all gates without AI, fixture or threshold changes. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 4747f826-8c83-495d-80df-3d1168662e10
Use the same secret-alias formatter and regressions as the corrected owning PRs, retaining shared initialization cleanup and current daemon behavior. Final local validation passes the full Reporter functional/performance suite, frontend/client/SDK/protocol suites and affected native/daemon selections; all strict AI qualification gates remain unchanged. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 4747f826-8c83-495d-80df-3d1168662e10
Test-only follow-up on parent-selected 4822a34. Preserve all seven dbdca alias regressions and add the non-subsumed boundary case for an unrelated private-looking absolute path/tool alongside a secret token. The helper remains byte-identical to published core. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 4747f826-8c83-495d-80df-3d1168662e10
Capture the Linux writer identity before owner death and use bounded process/resource inspection instead of treating kill(pid, 0) as exit proof. Keep the original three-second deadline and watchdog through verification, recognize resource-free zombies, and avoid following or signalling a reused PID. Add focused helper tests; production cancellation is unchanged. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 4747f826-8c83-495d-80df-3d1168662e10
Keep actual raw-byte measurements and all quality budgets unchanged. Drop only an unrendered metadata-only start acknowledgement superseded by the completed result; preserve every final field, supplied log reference, active-command status and ordered watch history. Align the three-pass file-backed qualification setup hook with the existing bounded 15-second integration allowance, without changing production deadlines or individual quality gates. Verified on actual Windows Node 24.11.1 and 26.7.0 plus Linux: the raw Windows legacy ratio falls from 51.4593 percent to 48.1435 percent, with final records and both baselines unchanged; 67 focused output/qualification/performance tests pass per platform. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 4747f826-8c83-495d-80df-3d1168662e10
Select roles from measured scores and calculate a bounded cache-hit plan that establishes strict opposite recency without executing unchanged work. Use real timed pressure work and a one-shot live RSS allocation barrier so delayed sampling and Windows startup variance cannot choose the expected winner. Keep production scoring, the 512 MiB budget, the 60-second test limit, and exact child/watcher retention assertions unchanged. Verified four retention cases on Linux22 and actual Windows24/26, plus the other twelve public IPC cases. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 4747f826-8c83-495d-80df-3d1168662e10
Integrate main 968beba (#5941) while retaining reporter discovery/version metadata, lifetime-owned listener release, atomic lease downgrades, fail-closed host cleanup and restart, streaming UTF-8 decoding, stderr routing, newline fidelity and shared operation headers. Resolve the seven conflicts and the auto-merged version-selector reference with native private members; keep strict lint and public behavior intact. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 4747f826-8c83-495d-80df-3d1168662e10
Merge main 67ca939 (#5939) into f338af9, retaining the inherited #5941 tooling synchronization and all reviewed followups. Reconcile twelve conflicted files and auto-merged accesses with native private declarations. Preserve early reporter ownership and late telemetry failures, generation-safe native execution, explicit Node IPC/raw argv/UTF-8/readiness, awaited resource ownership, and unexpected or empty AggregateError cleanup handling. Keep RushSession's encapsulated WeakMap facade state rather than adding incompatible private brands, and retain existing integration helpers instead of superseded inline paths. Adapt representation-dependent tests to real constructors, public hooks, gated close/join behavior and observable detached-record semantics. Validation: full rush-lib 971, frontend 128, targeted daemon 115, public client 125, renderer 13 and SDK 6 tests; build, types, API review, rush check and change verification passed. No gates, defaults or test deadlines changed. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 4747f826-8c83-495d-80df-3d1168662e10
|
Final review/fix handoff: all14 logical-stack PRs were reviewed against their linked issues, and all23 review findings were posted before their fixes, corrected on the owning PRs, verified, and resolved. The bounded upstream reconciliation is now published at 111aa48, including main67ca939091. CI34407038542 passed all six complete platform workflows, including both Windows runtimes, package-manager integration, README verification, second-checkout tests and repeated-cache checks. Current-head CodeQL and CLA also pass; no unresolved review threads remain. The original output, privacy, actionability, memory/performance and cancellation gates were preserved. Scope limits remain documented: explicit opt-in Node IPC is unsharded/non-cacheable with a bounded implementation tree; ownership-unverifiable handoffs stay protected; no default-selection or full-epic cutover is claimed. This is not an independent approval, PR merge or npm release. Required maintainer/code-owner approval, dependency-ordered landing, and retargeting #6019 away from its temporary review baseline remain separate gates. |
Keep immutable errors intact, capture original pre-execution parser failures without changing legacy rendering, and observe final configured operation silence. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 4747f826-8c83-495d-80df-3d1168662e10
Retain selected-action cancellation for subsequent shadow observations while preserving legacy process and telemetry results. Exercise a native watch session and compare raw terminal chunks and per-stream bytes. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 4747f826-8c83-495d-80df-3d1168662e10
The integrated graph already registers configured records at execution admission or all-silent completion. Keep that iteration-aware boundary rather than adding the earlier owning-slice callback a second time. New final-silence and existing native scheduling regressions pass together. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 4747f826-8c83-495d-80df-3d1168662e10
Address #5997 comment 3981283816 without emitting legacy discovery into explicitly owned reporter output. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 4747f826-8c83-495d-80df-3d1168662e10
Document and guard the deliberately post-close completeness notification raised by #5997 comment 3981283923. Preserve production ordering and prove fsync/close failures never announce a complete artifact. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 4747f826-8c83-495d-80df-3d1168662e10
Keep the malformed-configuration writer regression as a top-level test alongside explicit-reporter stdout ownership coverage. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 4747f826-8c83-495d-80df-3d1168662e10
Carry the R5A regression into the later operation-presentation and bootstrap contracts without reviving the removed deferral wrapper. Exercise unrendered adapter chunks while retaining existing already-rendered deduplication coverage. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 4747f826-8c83-495d-80df-3d1168662e10
Share separated-value recognition with stripping so valueless controls cannot consume legacy flags, and use debug only as the unrequested primary file log-level default. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 4747f826-8c83-495d-80df-3d1168662e10
Consume --verbose only for known actions that do not define it and parse repository opt-in value controls only when they are not command-owned. Preserve native aliases, declared custom values, unresolved plugin namespaces, and pass-through arguments. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 4747f826-8c83-495d-80df-3d1168662e10
Document both the typed event sink and the frontend-assigned sessionId in the cross-version handoff without changing its shape. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 4747f826-8c83-495d-80df-3d1168662e10
Address #5997 comment 3981283879 with selective help ownership, preserving custom values, rollback, and following flags. Exercise the real legacy help parser. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 4747f826-8c83-495d-80df-3d1168662e10
Reproduce repository-opted-in custom/global and action help through the real frontend/parser. Use command definitions before interpreting reporter-shaped values, preserve mixed and unknown namespaces, and retain malformed configuration discovery guards. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 4747f826-8c83-495d-80df-3d1168662e10
Reuse declaration-aware command ownership for help, preserve both consumed value and standalone flag lists, and keep native/custom aliases intact. Preserve command JSON stdout ownership, environment consumption, and the later unfiltered automatic full log. Validate real native/custom help with aligned frontend/parser configuration. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 4747f826-8c83-495d-80df-3d1168662e10
Document the existing R5 full-detail requirement separately from configurable primary presentation and additional file destinations. The automatic invocation artifact remains debug-complete in file mode; no runtime behavior changes. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 4747f826-8c83-495d-80df-3d1168662e10
Preserve the standalone flag strip list alongside consumed value controls in both real bootstrap compatibility fallback paths. Keep this combined-boundary fix on the corrected review baseline, outside the scoped 6019 follow-up delta. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 4747f826-8c83-495d-80df-3d1168662e10
Reconcile the three daemon-adjacent configuration/export/template conflicts after the R2A squash landing, and remove one automatically duplicated reportingConfiguration declaration. Preserve every reviewed frontend, client, Rush-lib, daemon, reporter source/test and public API blob exactly while inheriting the landed main build-tooling and publication changes. Verified dependency/consumer build, full Rush-lib tests and focused frontend lifecycle/control regressions. The independently discovered Windows watch-fixture failure remains a separate pending correction. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 4747f826-8c83-495d-80df-3d1168662e10
Resolve physical cwd at parser entry so native Windows short names and directory aliases match Git repository paths. Keep real watch cancellation coverage and add symlink/junction regressions without mocking input analysis or watcher behavior. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 4747f826-8c83-495d-80df-3d1168662e10
Native Node 24 and 26 validation showed that generic realpathSync and FileSystem.getRealPath retain 8.3 names. Use the existing native-realpath pattern to resolve the physical directory before configuration discovery. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 4747f826-8c83-495d-80df-3d1168662e10
Explicit pipes prevent Git line-ending notices from being mirrored onto the parent test stderr. Real setup failures still throw with the original captured error text. Reproduced the actual Rush production gate with process-local core.autocrlf=true and core.safecrlf=warn: unchanged tests exited with warnings before the fix and passed cleanly after it, without changing CI warning policy or watch assertions. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 4747f826-8c83-495d-80df-3d1168662e10
Resolve both expected and actual link locations using native-backed realpath before comparing them. Add a real directory-alias regression that still rejects wrong and missing targets, and run it alongside the unchanged npm and Yarn integration workflows. Reproduced the previous lexical mismatch before the fix; the regression and complete suite pass under an invocation-owned aliased temporary root. No production code, dependency versions, or CI gates changed. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 4747f826-8c83-495d-80df-3d1168662e10
Purpose
Implementation for #5894, focused on WS3 (#5898) and WS4 (#5899), with the Reporter prerequisites from #5858.
Tracks #5898 and #5899. The reviewed correction checkpoint has passed hosted validation; issue closure and merging remain subject to maintainer acceptance of the documented scope and subsequent upstream reconciliation.
Acceptance review status
A fresh review of all 14 PRs identified 23 actionable findings, posted on their owning PRs before fixes. Correction commits are now published on their owning Reporter PRs and integrated here at
f338af94aa563b93690720c2e226e8cfb6346bdf. This includes unexpected aggregate cleanup failures, sticky mutation-worker ownership, client terminal/admission/log-follow behavior, real opt-in production telemetry, and the Reporter foundation, presentation, bootstrap, Heft, qualification and documentation corrections.All 16 Reporter component/follow-up findings have passed corrected-head six-platform validation and are resolved. #5991's single investigated unchanged-benchmark retry passed without a source or threshold change. #5999's actual Windows output correction is published at
f637c707c5; its first new-head run34390898209passed all six complete workflows. The original Windows ratio failure and setup-timeout evidence remain recorded rather than being relabeled as passes.All 23 review findings are now fixed, published, verified and resolved. The seven integration findings passed CI
34396595826onf338af94aa, with all six complete workflows, CodeQL and CLA successful. This head includes the actual-platform follow-ups andmain@968beba488from #5941. Independent component reviews and merge/release gates remain separate.Upstream subsequently advanced to
main@67ca939091(#5939, rush-lib native-private members) while that matrix was running. Its bounded reconciliation is published as111aa48943811a873e600b178d029a138628fd7f, with parentsf338af94aaand67ca939091. That exact head has now also passed all six complete workflows in CI34407038542, plus CodeQL and CLA. No prior checkpoint result is substituted for the current-head result.The existing
rushandrushxdefaults are unchanged. The separaterush-clientandrushx-clientbinaries remain opt-in. This does not perform the Rush 6 cutover or close the full epic.Implemented
build/rebuildexecution and real Rushx package scripts, with immutable request inputs, byte-preserving global streams, stdin credits/EOF, cancellation, queue controls, and fail-closed no-replay behavior.daemon.watch, and live generation/reload/resource status without initializing a cold graph.Reporter dependency stack
This branch preserves all original Reporter branch histories. Their changes remain in this diff until the existing PR stack lands; this integration PR is not a substitute for reviewing that stack.
R9 (#5982), R11 (#5984), and WS5 (#5900) remain subject to their actual review, compatibility, and release/ecosystem gates. No legacy-removal or default-selection gate is bypassed.
The Reporter stack has been restacked onto
main@77abfe24with guarded pushes and preserved backup refs. The scoped follow-up fixes are in #6019. Independent approval and dependency-ordered landing remain separate from this integration PR.This PR is ready for review. Independent approval and the Reporter prerequisite landing order still apply before merge; the opt-in clients do not require the later default-selection cutover.
Windows correction batch
LockFileWindows implementation now uses actual kernel exclusive sharing instead of assuming exclusive creation remains exclusive after opening. A dirty companion preserves interrupted-owner state across close/delete handoffs. This correction applies to all WindowsLockFileconsumers, not only the daemon; no native addon or dependency is added.rush purgeretains its own active repository lock and Windows dirty companion while removing other temporary files. The regression verifies that purging does not delete live ownership or bypass the mutex.Pathvalues. Startup handoff treats sharing-denied ownership reads as unknown, not released, and retries only within the existing deadline. Owned child resources are joined before bounded Windows fixture cleanup.cmd.exeto forward the descriptor. Graph CLI scenarios are separated, Windows cancellation exercises the actual CLI signal handler, and graph reload setup is separated from its assertions. Production startup deadlines and no-replay rules are unchanged.core.autocrlf=falselocally so host-global Windows settings do not produce LF-to-CRLF warnings. User Git settings and CI warnings-as-errors are unchanged. The real native graph suite uses an explicit 15-second integration budget after repeated setup timeouts, without changing assertions, cleanup limits, or production deadlines.ps --sid, never resends signals while waiting, and surfaces inspection/timeout failures.Current correction validation
Current verified head:
111aa48943811a873e600b178d029a138628fd7f. Current CI:34407038542, SUCCESS. All six platform jobs passed the complete build/test, package-manager, README, second-checkout and repeated-cache stages, with current-head CodeQL and CLA also successful. All review threads are resolved; independent maintainer approval and dependency-ordered landing remain outstanding.The bounded rush-lib reconciliation resolves 41 conflict hunks across 12 files and checks 658 incoming native-private members, with no stale converted accesses. It retains the WeakMap-backed scoped RushSession facade state, all reviewed lifecycle/ownership behavior, public APIs, thresholds and deadlines. Local validation includes the full 971-case Rush-lib suite plus frontend, daemon, public client, renderer and SDK checks. The parent independently reran 522 coupled/full-package cases; these counts overlap and are not summed as distinct coverage.
Verified review checkpoint:
f338af94aa563b93690720c2e226e8cfb6346bdf. Hosted CI:34396595826, SUCCESS. All six platform jobs completed the full build/test, package-manager, README, second-checkout and repeated-cache stages; that exact head's CodeQL and CLA also passed. Separate local affected-package selections report 1,177 passes and no failures: 465 Reporter functional/performance, 128 frontend, 192 standalone-client, 357 daemon, 22 transport and 13 terminal-renderer cases. The daemon runner reported 358 total cases with one not executed. The local selections are not substituted for the completed hosted matrix.The exact built local AI corpus passes all unchanged gates: 45.8605% of legacy bytes, 43.4462% of plaintext bytes, 100% actionability/privacy/full-log/determinism, and a 34,100-byte maximum invocation boundary against 65,536 bytes. Actual Windows 24 and 26 measure 48.1435% of legacy bytes and pass the same gates. Only already-superseded, unrendered metadata-only start acknowledgements are coalesced; final fields, supplied log paths, active status and watch order remain intact. All 13 comparison fixtures, both baselines, the 3% wall-time gate and the 32 MiB gate are unchanged.
The production telemetry path has real public-CLI evidence on Linux and Windows: persistent PIDs and positive measured RSS/timing, independently calculated scores, opposite score/recency order, and different actual eviction under telemetry versus LRU, including joined child/watcher cleanup. The final retention fixture selects roles from actual measurements and computes at most three unchanged public requests to establish strict opposite order without additional script execution. Real pressure work uses a one-shot live RSS barrier rather than a stale allocation estimate. Both Windows 24 and 26 also prove the reversed-label case. Production scoring, the 512 MiB test budget, the 60-second test limit and exact winner/closure assertions are unchanged; no runner, clock or RSS injection supplies the evidence.
CI
34360232913on the preceding36d3889452head passed all four Linux configurations but exposed Windows log-follow cancellation behind blocked stdout. The correction now uses a bounded, acknowledged, output-only process for redirected Windows following, keeping the CLI responsive and joining the writer before exit 130. The actual Linux, Windows 24 and Windows 26 selections each pass 16 cases, including the unchanged watchdog, real handler delivery, broken pipes, file redirection and parent-loss cleanup. The CLI itself is not watchdog-killed or relabeled as a successful cancellation.The retained-ownership fixture closes its captured listener only after joining cleanup. The output-writer owner-loss fixture now checks captured process identity and executable/resource exit within its original three-second deadline, instead of treating PID existence as liveness. A controlled Linux subreaper reproduced the old assertion failure with a resource-free zombie; the CI logs alone did not establish that state. The fix rejects live writers or retained descriptor tables and avoids following a reused PID. Production cancellation and fail-closed ownership remain unchanged.
The latest upstream private-member refactor introduced seven textual conflicts plus one auto-merged stale version-field reference. Their reconciliation retains reporter opt-in/temp-folder metadata, lifetime-owned listener release, atomic lease downgrades, failed-cleanup ownership, restart completion, streaming UTF-8 decoding, stderr/newline fidelity and shared operation headers while adopting native private members. Strict package lint rules were not suppressed or weakened.
Historical green baseline
Hosted regression acceptance passed on
7d503052a5162a572504dc4143058320cbfdd0d9, run34288591055. This integratesmain@78b650d6(the upstream Heft/core native-private-member refactors). The three Heft conflicts were resolved without dropping negotiated child reporting or scoped diagnostic accounting.The results below belong only to that earlier main-synchronization head, not the current correction head. The previous accepted baseline,
ba5753a9f146325deccb49e5aea485c6ba5aa3e2/ run34217211265, remains recorded separately.Every job on the historical
7d503052a5baseline completed the full repository build/test run, package-manager integration, generated README verification, second-checkout update/build/test, and repeated build-cache verification. CodeQL and license/CLA also passed on that exact head.Coverage includes actual CLI install/update, native coexistence, same-PID reloads, new-PID successors, startup-client death, ownership failures, graph-token races, real warm policies, ordinary CLI status, native Windows mutex/purge behavior, and exact Rushx parity through physical paths and 8.3 aliases.
All blocking Reporter qualification and performance gates remain enforced. Earlier failure logs and diagnostic observations are retained separately; the historical green run used committed test budgets and the full workflow, without temporary diagnostic overrides or relaxed quality thresholds. It does not replace the fresh acceptance findings or the new correction-head checks.
The opt-in registry integration also exercised a genuine published foreign-engine installation and runtime/protocol attestation. Incompatible installed engines are refused rather than relabeled as supported.
Deliberate safety boundaries
daemon.usePersistentIpcRunnersand a per-operationdaemonIpcdescriptor. It supports unsharded incremental operations, uses raw argv without shell reinterpretation, and remains non-cacheable. Rebuild, native NoOp/missing-script behavior, preassigned shards and existing watch-only IPC behavior are preserved.daemon.watchcontrols host project observation, not autonomous script execution or native Rush watch mode.