Skip to content

rushd: WS3/WS4 integration with Reporter prerequisites - #6018

Open
Sean Larkin (TheLarkInn) wants to merge 214 commits into
mainfrom
user/selarkin/rushd-ws3-ws4-4747
Open

rushd: WS3/WS4 integration with Reporter prerequisites#6018
Sean Larkin (TheLarkInn) wants to merge 214 commits into
mainfrom
user/selarkin/rushd-ws3-ws4-4747

Conversation

@TheLarkInn

@TheLarkInn Sean Larkin (TheLarkInn) commented Sep 7, 2026

Copy link
Copy Markdown
Member

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 run 34390898209 passed 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 34396595826 on f338af94aa, with all six complete workflows, CodeQL and CLA successful. This head includes the actual-platform follow-ups and main@968beba488 from #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 as 111aa48943811a873e600b178d029a138628fd7f, with parents f338af94aa and 67ca939091. That exact head has now also passed all six complete workflows in CI 34407038542, plus CodeQL and CLA. No prior checkpoint result is substituted for the current-head result.

The existing rush and rushx defaults are unchanged. The separate rush-client and rushx-client binaries remain opt-in. This does not perform the Rush 6 cutover or close the full epic.

Implemented

  • Native warm build/rebuild execution 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.
  • Generation-safe fingerprint reloads, bounded pre-execution restart retry, attested version-selected launchers, detached startup/crash handoff, idle shutdown, and native install/update results delivered before cleanup and successor startup.
  • Generation-fenced structured graph commands, automatic warm-controller ownership, deterministic LRU/telemetry retention, observation-only daemon.watch, and live generation/reload/resource status without initializing a cold graph.
  • Reporter integration and reviewed fixes for bootstrap control ownership, structured output capture, watch presentation, and reporter timer cleanup.

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.

Phase Existing PR
R2A configuration #5987
R2B frontend controls #5989
R3A session sink #5988
R3B shadow events #5991
R3C parity #5992
R4A telemetry/privacy #5990
R5A operation adapter #5996
R5B reporters #5997
R6A bootstrap handoff #5993
R7A Heft negotiation #6000
R8A AI qualification #5999
R10A demo/docs #5998

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@77abfe24 with 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

  • Clients, launchers, and sessions use native physical filesystem identity consistently. Rushx separately preserves validated invocation spelling, including Windows 8.3 names and junctions, for child cwd, lifecycle environment, registration diagnostics, and pnpm-sync. Exact native output assertions are retained; output is never rewritten to manufacture parity.
  • The shared LockFile Windows 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 Windows LockFile consumers, not only the daemon; no native addon or dependency is added.
  • Native rush purge retains 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.
  • Native operation environments retain case-insensitive Windows Path values. 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.
  • Native IPC fixtures launch a real Node IPC child instead of relying on cmd.exe to 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.
  • Native CLI test continuations are bound to their own fixtures and joined completely before deletion, including owned graph watches registered during cleanup. Initial daemon preparation is separated from reload/restart assertions; a timed-out callback cannot start work in, or remove, the next test's repository.
  • Native Rushx registration lookup is unchanged unless the caller explicitly supplies a different invocation namespace. Embedded frontend tests capture and release their real parser locks after execution; production lock lifetimes and existing native snapshots are unchanged.
  • Generated Git fixtures set core.autocrlf=false locally 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.
  • Linux global requests wait for their captured detached group/session to settle before completion, not merely for signal delivery or leader stream closure. The bounded inspection uses procps-compatible ps --sid, never resends signals while waiting, and surfaces inspection/timeout failures.
  • Remaining launcher fixtures join the actual daemon PIDs returned by start/restart before bounded Windows cleanup. Graph fixtures are removed only after successful host closure. Retention-only fixtures are isolated from accumulated Jest-worker RSS; production memory defaults and dedicated pressure tests are unchanged.

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 34360232913 on the preceding 36d3889452 head 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, run 34288591055. This integrates main@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 / run 34217211265, remains recorded separately.

Runtime Platform Result
Node 20 Ubuntu PASS
Node 22 Ubuntu PASS
Node 24 Ubuntu PASS
Node 26 Ubuntu PASS
Node 24 Windows PASS
Node 26 Windows PASS

Every job on the historical 7d503052a5 baseline 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

  • Unsupported native configurations and incompatible published launchers retain explicit pre-execution native fallback; transport loss or possibly executed work is never replayed.
  • Persistent Node execution requires both false-default daemon.usePersistentIpcRunners and a per-operation daemonIpc descriptor. 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.
  • The descriptor entrypoint must be in a dedicated implementation subdirectory, bounded to 256 entries, 16 levels and 8 MiB. Imports outside that tree, except Node built-ins, are unsupported rather than claimed as tracked; third-party implementation code must be bundled into the tree.
  • Warm memory limits are best-effort sampled accounting, not a hard process-tree RSS ceiling. Active/protected work is not evicted.
  • daemon.watch controls host project observation, not autonomous script execution or native Rush watch mode.
  • Ambiguous pre-bind launcher failure retains its startup reservation instead of guessing that a PID can be killed or reclaimed.
  • Abandoned-handoff cleanup applies only to verifiably owned dead entries. Live/current/foreign and ownership-unverifiable files remain protected, including platforms without a usable UID.
  • The inherited WS1 envelope/default-renderer constraints are documented in the standalone-client README. This does not claim the later coordinated wire/default-selection cutover or close the full epic.

Sean Larkin (TheLarkInn) and others added 30 commits August 28, 2026 02:52
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
Apply emergency legacy selection before strict reporter validation, preserve custom command controls, and honor canonical stdout/stderr destinations without treating them as paths.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 4747f826-8c83-495d-80df-3d1168662e10
Address #6019 review 5154313653 with manager-owned synchronous failure handling, lifecycle cancellation, bounded cleanup and optional/required failure regressions.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 4747f826-8c83-495d-80df-3d1168662e10
Address PR #6018 discussion 3968334854 with the verified WS3 correction. Resource cleanup failure is sticky across workspace admission and disposal, preventing endpoint release and successor startup while still draining the command error. Preserve ordinary failed mutation restarts and the independent engine cleanup correction.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 4747f826-8c83-495d-80df-3d1168662e10
Retain request-local terminal context and conservative pre-execution native TTY fallback, share graph admission budgets across generation preflight, and add bounded cancellable log following. Parent integration preserves cleanup-ownership fencing and passes the focused native/client regressions; a test-worker teardown warning remains under investigation before publication.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 4747f826-8c83-495d-80df-3d1168662e10
…ilures

Create the root reporting context before repository setup, share correlated failure emission, and publish final completion only after telemetry hooks settle without changing native error handling.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 4747f826-8c83-495d-80df-3d1168662e10
Address #5998 review 5154326282. Document the shell-wide preview selection and cleanup for individual examples while preserving the already-seeded integration driver.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 4747f826-8c83-495d-80df-3d1168662e10
Preserve rollback control ownership and reserved streams, initialize root reporting before fallible configuration, and finalize success only after public telemetry hooks settle. Keep current stream binding, bootstrap handling, native engine guards, typed-sink draining, and the already integrated daemon/client fixes.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 4747f826-8c83-495d-80df-3d1168662e10
Inject the partial-initialization fixture through ReporterManager's existing initializer so the test replays onto the original R6 slice without importing a later host manager option.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 4747f826-8c83-495d-80df-3d1168662e10
Capture the listener owned by the injected workspace-cleanup failure test, preserve assertions that live ownership blocks restart, join client and host cleanup, and release the fixture listener last. This prevents the integrated WS3 sticky-ownership behavior from leaking a listening pipe into the Jest worker without weakening production ownership.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 4747f826-8c83-495d-80df-3d1168662e10
Cache one manager-owned close promise per registration, including rejection, and avoid flushing closed entries. Ensure disposal still closes attempted reporters when an earlier lifecycle action rejects. Preserve the host's existing eager FileReporter close and final-artifact sequencing.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 4747f826-8c83-495d-80df-3d1168662e10
Classify additional reserved stdout outputs as machine-readable and explicitly reserved, retaining file-primary behavior and command-JSON passthrough when no reporter owns stdout.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 4747f826-8c83-495d-80df-3d1168662e10
Reserve the existing per-entry lifecycle tail for disposal while retaining raw failures for AggregateError reporting. Concurrent normal shutdown now waits behind a blocked disposal flush before sharing the cached close operation.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 4747f826-8c83-495d-80df-3d1168662e10
Add false-default repository activation and typed per-operation Node descriptors with raw argv, bounded implementation-tree invalidation, native NoOp/shard preservation, and measurable warm ranking. Keep watch-only IPC and native/rebuild defaults unchanged. Preserve streamed Unicode and reject missing IPC readiness without replay.

Verified the unmocked public CLI on Linux and actual Windows, including measured telemetry versus LRU eviction, persistent PIDs, direct/inherited/rig reloads, output, cancellation, and ownership. No Reporter gates or parent-owned OperationGraph/parser files changed.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 4747f826-8c83-495d-80df-3d1168662e10
Require separate repository and operation opt-ins, launch actual Node with raw argv, and retire bounded implementation trees through generation ownership. Preserve shell/rebuild/watch/shard defaults and non-cacheable IPC semantics. The composed public-client retention, invalidation, cancellation, protocol and ownership selections pass; original delivery also includes actual Windows production-CLI evidence.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 4747f826-8c83-495d-80df-3d1168662e10
Combine the preserved boundary history through 6e4135c with parent 94f46c8, retaining foundation stream ownership and lifecycle regressions.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 4747f826-8c83-495d-80df-3d1168662e10
Combine primary presentation head 7050e04 while retaining both attempted-initialization and abort-controller state. Exclude the competing 1926 shared-close implementation and its local prerequisite.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 4747f826-8c83-495d-80df-3d1168662e10
Forward the original startup failure into manager-owned disposal. Publish its memoized promise before abort listeners run, synchronously cancel every attempted entry with an Error reason, then join serialized once-only cleanup while retaining AggregateError reporting. Preserve normal-close null reasons and the eager full-detail-file artifact sequence.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 4747f826-8c83-495d-80df-3d1168662e10
Redact source tool/file labels that duplicate explicitly secret parameter values while preserving unrelated local-sensitive details. Restore the strict combined R8 privacy gate without changing fixtures, thresholds, or comparison baselines.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 4747f826-8c83-495d-80df-3d1168662e10
Cover both sequential close/disposal orders with synchronous rejected-close caching and verify optional runtime failures remain abort-only until normal shutdown. Existing blocked-lifecycle, concurrent cleanup, unstarted-entry and original-error regressions remain intact.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 4747f826-8c83-495d-80df-3d1168662e10
Move redirected Windows follow output through a bounded acknowledged output-only process, keeping the CLI event loop and log-file cleanup independent of blocked stdout. Join the writer on cancellation and handle parent loss without orphaning it. Preserve snapshots, file redirection and explicit I/O failures; verify actual Windows 24 and 26 signal-handler delivery and unchanged cancellation deadlines.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 4747f826-8c83-495d-80df-3d1168662e10
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
@TheLarkInn

Copy link
Copy Markdown
Member Author

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Needs triage

Development

Successfully merging this pull request may close these issues.

2 participants