Repository navigation
fix: isolate ECS caches between checkouts - #23
Conversation
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 7 minutes. View limit details
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
@coderabbitai review |
|
|
Additional exact-HEAD evidence for8b46c13481d35a39e6c01ab13647509a15a274aa: The local combined7+15+17+19+23 preview merges cleanly, full28tests269assertions All three hosted PHP checks are terminal SUCCESS. Codex code and automatic This PR targets initial branch7/6e8, so it is also stacked. Async merge would |
Closes #22. ECS previously stored different checkouts in the same physical
temporary cache directory; checking project B could invalidate and erase project
A's cached data. The default preset now selects a physical directory keyed by
the executing checkout's SHA-256 through native
withCache(). Consumer overridesstill run last. Source and lock files remain unchanged in check mode.
The regression runs the actual CLI in two disposable Git checkouts and a private
TMPDIR, then checks that B's check/fix/check/fix preserves A's marker and both
source snapshots. It also exercises an explicit native cache override. The
original isolated reproduction confirms cross-project deletion, not the exact
timing-dependent DirectoryNotEmpty exception seen separately in the real pilot.
Same-checkout concurrent configurations remain outside this focused correction.
Validation: actual red test before fix; final green regression1 test/25 assertions;
full composer check26 tests/155 assertions and20 PHP syntax/ECS checks; strict
Composer validation, installed unmodified actionlint1.7.12 on all four workflows,
and git diff --check passed. Independent read-only review approved the four-file
delta over base6e8b4f79b4384f9805e90f9d57e619623ad44ab5, digest
792120c1fdb88660f6259d136e78c95cc60208319a55bfaa7346f56e3a47590f.
This PR targets the existing initial implementation branch (#7), not technical
main. It is independent of the unpublished native-provenance correction and does
not change workflows, validation tooling, permissions, hooks or consumers.
Actual final-HEAD hosted checks, Codex and CodeRabbit remain required before
merge. The existing stacked merge/downstack #7 gate still applies; no async
transaction may include an ineligible PR.