You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add deterministic session and scale workloads alongside the installed-manager performance benchmark, establishing evidence before concurrency and ownership changes.
Separate first-process/empty-cache, new-process/after-refresh, and same-process warm refresh measurements with full fixture identity assertions.
Prove real persisted-cache reuse separately: matching cold/disk-warm/same-process resolves with interpreter probe counts 1/0/0 and a nonempty owned cache.
Exercise inventory churn and barrier-proven concurrent resolves while configure, refresh, and info remain responsive, retaining the originally configured cache.
Record receipt-based latency, process-specific resource samples, subprocess counts, and honest cache-use measurements.
Add fast three-platform PR checks, weekly/manual stress runs, and validated privacy-safe artifacts with explicit failure status.
Validate request deadlines, graceful shutdown, and metrics integrity. Final follow-up Windows fast/stress and exact CI lint pass; native Linux cache control passed before the final cache-stability assertion. Hosted final-head Linux/macOS validation remains pending.
A regression must exceed both the documented absolute and relative budget. Environment and manager inventories must match exactly within the same inventory schema.
A regression must exceed both the documented absolute and relative budget. Environment and manager inventories must match exactly within the same inventory schema.
A regression must exceed both the documented absolute and relative budget. Environment and manager inventories must match exactly within the same inventory schema.
Address PR #563 review and CI: isolate test helpers, scope interpreter barriers by real prefixes, and prove cold/disk-warm/same-process cache behavior without ignored reconfiguration.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Validate derived resource peak and RSS delta values
scripts/session_metrics.py:342
These derived resource fields are only type-checked, so an internally false artifact is accepted as validated. For example, valid_metrics() reports equal pre/after RSS values but a delta of -10, and changing the peak below every sampled value also passes validation. Recompute/compare observedResourcePeak against all resource samples and require rssDeltaFromPreResolveBytes == resourceAfter.residentBytes - preResolveResources.residentBytes before preserving the artifact.
Allow ambient cache additions while preserving original entries, validate derived resource metrics exactly, and surface Linux descriptor enumeration errors. Address PR #563 feedback and native CI failures.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Published signed follow-up 8faaabc after another independent clean review.
Native Linux/macOS exposed an over-strict test assertion: global refresh legitimately adds ambient cache entries. The proof now verifies every original cache entry's relative path and exact bytes remain unchanged, while allowing additions. Regression tests reject same-size mutations and deletions.
Fixed Linux-only Clippy's map(...).count() finding with error-propagating, allocation-free descriptor counting.
Addressed the review-body finding: artifact validation now recomputes the exact observed resource peak from every sample category and verifies the signed RSS delta. Tests cover incorrect high/low peaks, every category, null/mixed availability, and positive/negative/zero deltas.
Local validation: 6 Rust session tests, 78 Python tests (1 Windows symlink skip), mandatory precommit checks and exact all-target/all-feature Clippy passed. Windows fast + final-schema extraction passed after one initial cold-resolve timeout; that first attempt is not being represented as a pass. No timeouts were loosened. Hosted final-head checks and fresh Copilot review are now running.
Importantly, the preceding native macOS run got through the real cold/disk-warm cache proof and held concurrent-resolve barrier; it failed only at the now-corrected aggregate-cache assertion. Full final-head native completion is still required before readiness.
The reason will be displayed to describe this comment to others. Learn more.
Copilot review overview
🔵 Needs a closer look
Concurrent resolve workloads do not verify that each response belongs to and correctly identifies its submitted environment.
Review effort: Balanced Findings: None
Previously missed (1)
In code that hasn't changed since last review
Validate barrier responses against their submitted environments
crates/pet/tests/session_performance.rs:1054
These barrier-proven requests are treated as successful for any non-null JSON value. A concurrency bug that returns another request's environment (or a malformed object) would still pass this central workload. Deserialize each response and assert its error, executable, prefix, kind, and version against the corresponding submitted venv so the benchmark proves request/result ownership as well as overlap.
This issue also appears on line 1092 of the same file.
Validate each real resolve response against its submitted fixture, including executable, prefix, kind, error, and authoritative runtime version. Integrate the merged production-coverage checks from main. Address PR #563 review feedback.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Published signed de44782, integrating merged coverage main 8320c0f without dropping the subprocess proof. The new review-body finding is addressed across every real resolve: cache-control, warm-up, held overlap, and latency batches now validate typed responses against their own submitted fixture's executable, prefix, Venv kind, authoritative full runtime version, and absence of errors. Regressions reject swapped, malformed, missing-field, error-bearing, wrong-kind, and wrong-version responses. No identities are emitted in metrics.
Independent source review found no code issues. Integrated local validation passed: 20 server tests, 7 session tests, 101 Python tests (1 Windows symlink skip), mandatory precommit and exact all-target/all-feature Clippy. Windows fast plus strict artifact validation passed. The preceding head's native Linux/Windows/macOS workloads all passed; this stricter final head is now undergoing fresh hosted checks and Copilot review.
Include churn observations in ambient maxima and reject overlap counts larger than their maxima. Address PR #563 review feedback without changing workload or coverage budgets.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
All three native stress jobs passed at de44782: 1/10/100/1000 environments, 10 warm samples per size, 10 simultaneously held resolves, and 50 cold latency probes. Every platform proved cache probe counts 1/0/0 and exact response ownership. Linux/Windows thread and descriptor counts did not grow after overlap; macOS unavailable counters remain null. Run: https://github.com/microsoft/python-environment-tools/actions/runs/36755908701.
The separate Linux coverage failure was fully attributed: only three test-helper lines in pet-jsonrpc/src/output.rs lost coverage when the writer had already completed before the first poll. Production source, line/function denominators, and all other file coverage totals are unchanged. This is being fixed separately on main in #564, not by relaxing the gate or rerunning until green. The ambient-count review fixes are now published in f8db49d, with fresh CI/review running. This PR stays draft while that independent coverage reliability fix is completed.
The reason will be displayed to describe this comment to others. Learn more.
Copilot review overview
🔵 Needs a closer look
The extensive cross-platform concurrency, cache, process, and resource-measurement harness warrants final human review and remaining hosted validation.
Merge main after PR #565 so session benchmark coverage no longer depends on output-test scheduling. Preserve all published benchmark commits without rewriting history.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
PR #565 has merged and #564 is closed. Signed merge 94d6fa9 imports the exact deterministic coverage repair from main without rewriting any published benchmark commits. The isolated merge passed independent review, 53 JSONRPC tests, mandatory Rust precommit, and exact workspace/all-target/all-feature Clippy. Fresh current-head review and hosted quality checks are requested; this stays draft until those complete.
Current-head quality inspection (94d6fa9): the deterministic output coverage fix is now merged from main, and Linux/Windows/native macOS coverage all have 0.000pp drift (85.589%, 83.130%, and 80.586%). All three CodeQL analyses have zero results, warnings, and errors. The fresh Copilot review has no findings and no unresolved threads remain.
Native fast session benchmarks passed on Linux, Windows, and macOS. I downloaded and independently revalidated all three artifacts: exact 1/10/100 inventories and measurement counts, persisted-cache interpreter counts 1/0/0, and stable post-overlap/final resource counts. Linux threads/descriptors stayed 7/6; Windows threads/handles stayed 10/92. macOS correctly reports unavailable thread/descriptor measurements as null.
Ordinary matched-inventory discovery P50 is Linux 56/56ms, Windows 136/135ms, and macOS 116/167ms (head/base). The small Windows P95 +8ms drift is accepted within unchanged budgets; this PR contains no production Rust changes. All performance and coverage gates pass. The last native macOS ARM64 full-test job is still running, so this remains draft until it finishes.
Protected auto-merge is currently blocked by the CLI credential lacking workflow scope, which is required for workflow-file changes. No merge protection or required human review will be bypassed.
The final native macOS ARM64 job passed: all 39 automated checks on 94d6fa9 are now green. This PR is ready, and protected squash auto-merge was accepted and verified (enabled at 21:28:20Z). Required human review remains in place. Correction to my earlier scope warning: GitHub accepted this PR's queued auto-merge request; the workflow-scope denial remains specific to the attempted request for #561.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add deterministic session and scale workloads alongside the installed-manager performance benchmark, establishing evidence before concurrency and ownership changes.
Fixes #533