-
Notifications
You must be signed in to change notification settings - Fork 300
feat(tools): track read completeness and guard the diff-view save path (S4b, #1375) #1833
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
easonLiangWorldedtech
wants to merge
104
commits into
Zoo-Code-Org:main
from
easonLiangWorldedtech:feat/fws-s4b-followups
+7,989
−338
Closed
Changes from all commits
Commits
Show all changes
104 commits
Select commit
Hold shift + click to select a range
a37dd24
feat(file-safety): atomic text publish primitive + safeWriteJson refa…
easonliang28 3dd8700
feat(file-safety): add version token for the guarded-write path (A1, …
easonliang28 ba1332e
docs(file-safety): correct ino precision bounds in version token (A1,…
easonliang28 6813013
fix(file-safety): derive the version token from exact BigInt stats (A…
easonliang28 588b95f
feat(task): per-task file observation registry (A2, #1375)
easonliang28 7a25fc0
feat(tools): guarded write CAS core with per-path FIFO chain (S4a, #1…
easonliang28 68be264
feat(tools): wire guarded writes into the diff-view save paths (S4b, …
easonliang28 88c9352
fix(fws): observe the apply_patch hunk read for the guarded publish
easonliang28 e96df62
chore(ci): empty commit — re-trigger CI and the CodeRabbit current-he…
easonliang28 aafdd1c
feat(tools): track read completeness and guard the diff-view save pat…
70ad366
test(tools): kill surviving mutants in the S4b completeness guards (S…
d8c5275
test(tools): pin the post-read stat options in the S4b preview tests …
786bd5c
fix(tools): clean up a partial DACL dump left by a failed icacls save…
7204ead
fix(tools): address CR review round 1 - partial-read gate, post-publi…
34fcfcd
test(tools): kill the 18 preflight survivors from the T1-T5 fix round…
56b329a
fix(tools): restructure the win32 DACL restore gate and close the las…
dd15018
test(tools): kill the last OptionalChaining mutant from the DACL rest…
a49fdb5
fix(tools): track the create-branch placeholder even over a prior obs…
d037753
test(tools): cover the create-branch task gate with a collected-task …
d8c34aa
fix(tools): stat-match the create placeholder + fail-closed save clea…
90d6804
Merge remote-tracking branch 'upstream/main' into feat/fws-s4b-followups
221eaed
chore: re-trigger CodeRabbit re-review and label reconcile
db5b56d
chore: trigger CodeRabbit re-review (finding already addressed)
c76f95b
Merge commit 'refs/shapes/upstream-main' into feat/fws-s4b-followups
174b825
chore: trigger CodeRabbit re-review / label reconcile
32c7afe
fix(s4b): give each self-staged write its own staging directory so a …
bc6f474
fix(s4b): remove the staging directory when a self-staged write fails
ad04d2b
test(s4b): pin the per-write staging directory name shape so the uniq…
bf27716
fix(s4b): publish in the document encoding, lock the resolved delete …
d1e4867
fix(s4b): pass the tool's write kind through the diff-view save and p…
133b985
test(s4b): assert the codec's bytes reach the publish, not only that …
31bd913
fix(s4b): keep a partial read partial after an edit and count a clipp…
1771fcc
fix(s4b): keep the model's read completeness for apply_patch and sepa…
b4ad010
fix(s4b): carry apply_patch completeness only on the version it was e…
a325bd2
fix(s4b): match the guard kind on the diff-view save and keep a clipp…
e018044
test(s4b): assert the saved result on the diff-view save paths
f223547
docs(s4b): bring the guard and registry headers in line with the ship…
abd1a07
docs(s4b): note the create exception in the guarded-write stale rule
2286f33
docs(s4b): name the token a later guarded write compares against
7f24fe7
test(s4b): make the diff-view save and fsync-ordering tests assert wh…
9297464
fix(s4b): do not save the document after the guarded publish
1b54313
fix(s4b): the diff-view preview is not a model read
04719af
fix(s4b): carry the source's completeness to a move destination
e765a4d
fix(s4b): finish the rejected-create cleanup, guard the revert, and k…
1bca6fc
fix(s4b): scope the workbench revert to the intended document
e0ce670
fix(s4b): only remove the placeholder when the discard completed
d113168
fix(s4b): probe the lock key the writer actually uses
6142333
fix(s4b): never publish through a dangling symlink
002513e
test(s4b): reset the focus the revert helper reads between tests
ef1bd10
fix(s4b): keep the liveness probe working for a dangling link
2e8598f
Merge upstream main (a077066538) into feat/fws-s4b-followups
52f5992
refactor(s4b): stay inside the changed-line cap
5eeaa39
fix(s4b): follow the whole link chain when probing the writer's lock
986bac2
chore: re-run CI after a flaky e2e-mock timeout
4b7fe7a
fix(s4b): bound the lock-key chain walk against a link cycle
2798f75
test(s4b): assert the cache result in the link-chain test
a8092db
fix(s4b): keep the delete paths and the read view honest
e724bcb
refactor(s4b): keep reconcile's JSDoc immediately above reconcile
d0a61fa
Re-trigger review at the current head
85b4a2b
Assert the unlink target in the delete() alias test
19e37b2
Make the link-cycle test actually run the cycle
891b18a
Adopt content that autosave already published instead of failing
0660afc
Cover the adoption branches the gate flagged
8e12e9f
Make the adoption check provably scoped to guard verdicts
1ea64ba
Merge branch 'main' of https://github.com/Zoo-Code-Org/Zoo-Code into …
ac71b93
Re-run the mutation gate on this PR's own delta
01918b6
Drop the three duplicated adoption tests
53c9b76
fix(file-safety): run the guard check and publish under the shared ad…
425aed9
test(file-safety): mock the shared advisory lock in specs that reach …
69bf534
fix(file-safety): key the advisory lock to the resolved target and re…
a55720e
test(file-safety): keep the lock-key spec portable and type-clean
e8d6e66
style(file-safety): format the lock-key spec
7624519
fix(file-safety): keep the resolution inside the protected block so t…
a5ec999
test(file-safety): exercise the ENOENT+symlink branch in the lock-key…
e14d72f
test(file-safety): assert the symlink branch the lock key depends on
206703d
test(file-safety): reach the strict rejection through the ENOENT+syml…
35d94be
fix(file-safety): canonicalize the lock key when the target itself is…
945460b
test(read-file): drop a no-op any cast and prune its suppression
b0a78f4
fix(editor): a rejected save closes only its own diff tab
b165482
test(task-persistence): canonicalize the directory in the realpath do…
eb6fc68
test(task-persistence): assert the lock key against the canonical dir…
f1a47df
test(task-persistence): make every realpath double canonicalize the d…
11afee7
fix(apply-patch): carry the source's completeness to the move destina…
ce61546
fix(file-safety): propagate a non-ENOENT stat failure in the mode-pre…
12525c5
fix(apply-patch): carry the source's completeness through the publish…
3704068
test(utils): clean up the lock-key spec's temp dirs and reset its dou…
9c42789
docs(test): put the canonicalization JSDoc on its function and cover …
98b0277
fix(apply-patch): reject a partial source move onto an observed desti…
08f0fc8
fix(apply-patch): reject a partial-source move only when the destinat…
303123b
fix(apply-patch): propagate a non-ENOENT destination access error bef…
9ba1e11
test(diff-view): cover a post-read stat rejection during the preview
5d7c726
fix(apply-patch): make queued guarded writes cancellation-aware
ded6d14
fix(diff-view): serialize the placeholder cleanup with the shared adv…
357e24e
fix(apply-patch): keep the model-facing guard path workspace-relative
bfb90a7
fix(apply-patch): name the caller's path on a stale-version rejection…
1b74c27
fix(diff-view): keep a reset inside the task whose save was rejected
25cf13b
fix(diff-view): identify this provider's tab by URI, not by basename
59b650f
test(apply-patch): put the stale-path test inside the describe block
2656fd2
fix(diff-view): close only Zoo's own diff tab for this provider
df793c8
fix(safe-write): do not log the expected miss in the safety-net cleanup
0ba7af0
fix(read-file): report clipping and truncation together
f6d460b
fix(diff-view): let one teardown path own a cancelled save
ddece31
fix(safe-write): report the partial state when a rollback also fails
6768ccf
fix(apply-patch): recheck cancellation before publication starts
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
Oops, something went wrong.
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.