feat: implement file provider stability loop - #22
Merged
Merged
Conversation
Add native Finder and TextEdit automation, run confinement, correlated diagnostics, immutable reports, local captures, and owned-window cleanup. Fix lab provisioning compatibility, directory timestamp requests, and working-set poll contention. Validation: 375 macOS Stability tests passed; 335 tests passed on each requested iOS and visionOS simulator; signed generic visionOS build passed. Live execution passed the first ten scenarios. Restore lookup, later live scenarios, current standard macOS validation, and complete cold/warm acceptance remain open. CR-013 remains open.
Reserve SQLite writers before snapshot reads, preserve Trash callback metadata, and verify reported share settings after updates. Harden Finder cancellation, action confirmations, version recovery controls, and working-set diagnostic settlement. Add regression coverage and update the conflict safety register and stability audit. Validation: 558 macOS Stability tests, 24 focused iOS Simulator tests, 24 focused visionOS Simulator tests, and all 12 live conflict checks passed. The selected live suite passed 14 scenarios; the remaining share-comments mismatch is documented. Permanent deletion remains unselected.
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.
This PR makes File Provider stability and conflict behavior reproducible through deterministic tests and an opt-in native Finder runner. It also fixes failures demonstrated by those checks, including delayed working-set delivery, SQLite contention, incorrect Trash callback metadata, and hosted Actions controls.
The latest local validation passes all 12 live conflict checks. Fresh and already-running selected Finder suites each recorded 14 passes, one comments-setting failure, and permanent deletion unselected. The operator accepted the comments limitation as non-blocking on September 13 because file comments are outside the critical path. The app reports the unapplied setting explicitly; the test remains failed and CR-027 remains open for follow-up.
Changes
Validation and OS scope
The following local evidence covers implementation commit
887bdf2; subsequent commits document the accepted limitation and OS scope. Xcode was 26.5 (17F42).Final iOS Simulator and generic visionOS builds passed. No XCTest UI suite was rerun during this local continuation; installed Finder/Actions behavior was exercised through native UI with independent server and byte checks. CI for the published head is separate from this local evidence; consult the current PR checks rather than earlier green runs.
Retained XCResult device records confirm the unit/simulator runtime versions. Live reports do not embed OS metadata; their attribution above is the shared host context. Future integration evidence must retain actual OS version/build, architecture, and Xcode version with run IDs. These results do not establish compatibility with the next macOS release. Rerun fresh and already-running Finder/Actions and conflict profiles after an upgrade, including panel/menu binding, cancellation, Trash restoration, version recovery, and working-set delivery.
Remaining limitations
Live execution stays serial, explicitly opt-in, and confined to a verified disposable lab below
Private, using the existing Keychain login. Credentials and private live data are excluded from commits and ordinary exports.See
doc/CONFLICT_TESTING.mdfor commands and OS-specific validation,doc/CONFLICT_RESOLUTION_TRUTH_TABLE.mdfor policy and open risks,doc/STABILITY_LOOP_AUDIT.mdfor current run IDs and retained evidence, anddoc/SHARE_SETTINGS_REPRODUCTION.mdfor the sanitized comments follow-up.