Stabilize Host App file context menus - #87
Conversation
|
Controlled rerun evidence from post-merge
Run: https://github.com/jacklv-coder/PocketRoot/actions/runs/30868795931 This PR routes every file/directory rename, delete, and share context action through the same bounded wait/retry helper. |
|
PR CI first attempt exposed a second deterministic UI race in This update now:
Local gates: 71 release-compliance tests / 635 assertions, runtime smoke script tests, compliance reproducibility, Swift parse, Host UI target build-for-testing, and Codex CR all pass. The CR-raised P2 timeout mismatch was fixed before this push. |
|
Third stabilization pass pushed as Evidence from the previous run (
This pass:
Validation: compliance reproducibility check, runtime smoke tests, 71 release-compliance tests / 635 assertions, Swift parse, generic simulator Host App build-for-testing, diff check, and Codex CR all pass with no P1/P2 findings. |
|
Fourth stabilization pass pushed as Run
The same run confirmed the prior pass worked: Host Integrated Workspace, PTY-to-Files, system file import/share export, and Workspace session persistence all passed. This pass captures validated UI frames and taps through application coordinates, then gives the keyboard/onboarding a bounded disappearance window. Functional file/preview/terminal assertions remain unchanged and fail-closed. Validation: reproducible compliance evidence; Runtime smoke; 71 release-compliance tests / 635 assertions; both UI test sources parsed and strict-concurrency typechecked; Host and Quick Start generic simulator build-for-testing; diff check; Codex CR with no actionable findings. |
|
Added a bounded recovery for the remaining external-consumer failure observed in run 30879405409. The downloaded xcresult showed XCTest infrastructure failure before any test method ran: The shared runner now classifies that exact initialization signature, restarts only a runner-owned temporary Simulator, and retries once. Caller-owned devices, assertions, test-method timeouts, and any second failure still fail closed. Added a mocked regression, updated bilingual testing/troubleshooting docs, regenerated compliance evidence, and passed two Codex CR reviews. Local validation:
|
|
Final merge gate complete: all 7 required CI jobs are green on head |
Summary
Why
Post-merge main CI exposed an iPhone UI race:
testSystemFileImportAndShareExportRoundTrippressed an imported file and immediately tappedShare / Exportbefore the context menu entered the accessibility tree.Verification
build-for-testingruby Tests/Scripts/ReleaseComplianceTests.rb(71 runs, 635 assertions)bash Tests/Scripts/RuntimeSmokeScriptTests.shruby Scripts/generate-release-compliance.rb --check