fix(windows): restore safe sandbox operations and accurate session timestamps - #304
Open
ssybs wants to merge 2 commits into
Open
fix(windows): restore safe sandbox operations and accurate session timestamps#304ssybs wants to merge 2 commits into
ssybs wants to merge 2 commits into
Conversation
…mestamps Implement guarded Windows fallbacks for no-follow sandbox file and directory operations, locking, publication, replacement, and cleanup. Persist real Session creation, Event processing, and archive timestamps instead of displaying the deterministic placeholder. Retry only the known transient pre-admission SQLite initialization race before any model or tool side effect can start. Fix the Trace event rail layout and label unavailable model limits as provider-not-reported. Validation: git diff --check passed. Full Rust formatting/build and frontend type-check remain blocked by local Windows path-length and database-directory environment failures.
Author
|
@chaizhenhua 麻烦审核一下这个 PR,谢谢。 |
Author
|
@chaizhenhua 麻烦审核一下这个 PR,谢谢。 |
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.
Summary
Restore Windows sandbox filesystem operations while preserving no-follow traversal, identity validation, atomic replacement and no-replace publication. Persist actual session creation, event processing and archive timestamps. Retain the narrowly scoped pre-admission SQLite initialization retry and the Trace rail/model-limit display fixes.
Windows filesystem fixes
The Windows implementation is isolated from the other platform adapters. Dependencies provide safe wrappers; no unsafe Rust is introduced.
WINDOWS.mddocuments the handle strategy and caller ownership requirements. A Unix permission-specific existing provider test is now gated to Unix so Windows library tests compile.Validation
Executed natively on Windows with Rust 1.96.0, using debug information disabled and incremental compilation disabled:
cargo test -p awaken-sandbox-fs --locked: 13 passed, 0 failed, 0 ignored (includes the subprocess helper used by the interruption regression).cargo test -p awaken-sandbox-local --lib --locked provider::shred_tests: 13 passed, 0 failed, including missing-credential disposal and hard-link rejection/retry regressions.cargo clippy -p awaken-sandbox-fs --all-targets --locked -- -D warnings: passed.cargo fmt -p awaken-sandbox-fs --checkandgit diff --check: passed.Regression coverage includes injected and real replacement failures, process exit before replacement, intermediate junction escape attempts, retained-parent rename rejection, hard links, identity substitution between opens, missing credentials, and a concurrent directory publisher at the rename boundary. Added a dedicated Windows CI workflow to repeat filesystem checks and provider disposal regressions.
Full workspace tests, frontend checks and Unix execution have not been completed. The full architectural check was interrupted; only its dependency-direction component was separately verified. The whole-repository file-limit check reports the unchanged
docs/design/resources-memory-files-skills.mdat 1211 lines against a 1200-line limit. Provider test builds still emit unrelated existing Windows warnings. Local test results do not establish hardware power-loss durability or physical SSD erasure guarantees; remote CI status should be assessed separately.