Repository navigation
fix: preserve Session artifacts during result export - #137
Merged
Merged
Conversation
added 5 commits
November 13, 2026 01:46
reiase
marked this pull request as ready for review
November 12, 2026 20:32
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Outcome
Completed the requested six-hour iteration window: 2026-11-12 14:21–20:21 UTC (22:21–04:21 Beijing time). The final read-only audit was recorded at 20:21:00.053187Z. This includes scenario design, bounded builds, resource pauses, investigation, repair and delayed observation; it is not six continuous hours of load.
Fixed one confirmed product defect:
--result-filecould overwrite the current Session's Bundle or completion receipt after guest execution, breaking offline status/review. Both ordinary spawn and prepared--specnow reject resolved export destinations inside the current opaque Session storage before workload startup. Component-aware containment preserves external same-name files and adjacentstage2. Admission is not a TOCTOU reservation.The fix was published separately in
a5e3e093; helper coverage and the intentional help snapshot update followed in79835afa. Other production algorithms and public interfaces are unchanged. Additional changes are bounded regression tests, owning README/help documentation, and the campaign report.Validation performed by subagents
Rust execution used
mise run test -- PACKAGE -- --offline --no-capturefor the full package regressions, with exact per-phase commands/filters in the report. CLI all-targets Clippy with warnings denied, targeted Clippy for the other new tests, formatting and whitespace checks passed with source-version qualifications recorded. Independent final read-only review found no blocker.CI and historical failures
All 33 CI checks passed for code revision
79835afa, verified at 19:58 UTC. The final campaign-closing commit changes only the report; its own CI is separate from that green code checkpoint.Historical failures remain recorded:
Resource control and cleanup
One serial executor, nice priority, finite watchdogs, measured CPU/memory/PID limits, no added swap and resource admission/stop thresholds. Most small-component work used CPU 50% and a 1 GiB hard limit; the later NativeHost phase used a 4 GiB maximum only with at least 14 GiB startup headroom. Initial threshold stops and the owned-cgroup compilation OOM are environmental evidence, not product failures.
Final delayed audits confirmed all 47 captured owned cgroups absent, no owned service/unresolved gate or successful Native fixture, and no worktree mount in the observer's current namespace. Twelve damaged-record reproduction fixtures and two failed-run HOME roots are intentionally retained with stable manifests. Persistent target-key apply-lock files may remain by design; no shared directory was swept.
Limits and evidence
CHAOS_TEST_6H_20261112.md, with a closed-window summary, exact commands, source versions, timings, resource samples, skips and preserved historical failures. Raw evidence remains ignored in the test worktrees.