Repository navigation
refactor(proton): include lib's proton engine and drop its copies - #16
Merged
Merged
Conversation
dropbox kept line-for-line copies of the proton engine's verbs. It now includes engines/proton.yml beside the toolbox, with excludes: [pipeline, plan-pipeline, trash, empty-trash-pipeline, report-engine]; its own trash step and empty-trash-pipeline keep their names. - Taskfile: delete session (python -m migrator session), pull, push, empty-trash and session-seal; the engine supplies each. Delete IMAGE on the toolbox include; the engine names proton-v2 (C2). The report-engine no-op stays, and the engine's is excluded (C6). - session.py: delete restore, seal and _last_digest. writeback compares auth-session.json against .run/session.sha, which the engine's session writes at restore, and rewrites that file in sha256sum's format after each send. The re-seal at the first CLI call of each phase ends. The write-back after each CLI call stays in-process, and prints the line the engine's session-push prints when it sends a rotated token. - commands and __main__: delete the session and session-seal commands. - tests: the restore and seal tests go; new tests cover a rotation that reaches the bucket before the next CLI call, a missing digest, and interop with sha256sum and sha256sum -c. - README, CLAUDE.md: the mirror includes the toolbox and the proton engine; session is a solid box in the diagram. Needs lib v2.6.0 (the engine's IMAGE default): render.txt follows in a render-update after the tag.
- A send that fails keeps the old .run/session.sha, so the next CLI call sends again. A writeback that writes the record before the send fails this test. - A bundle from session._bundle opens with the engine's exact `tar -xf <bundle> auth-session.json clientUid.json && chmod 600`, both members byte for byte, mode 0600. Skipped where tar is missing; the image has it.
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.
Consistency review C8: dropbox includes lib's proton engine (v2.6.0) instead of keeping line-for-line copies of its verbs.
excludes: [pipeline, plan-pipeline, trash, empty-trash-pipeline, report-engine]. dropbox keeps its own pipeline, plan-pipeline, trash step, empty-trash-pipeline and report-engine no-op.pull/push,empty-trash,session-seal,session.restore,session.seal,_last_digestand their tests. Takes IMAGE from the engine (C2)..run/session.sha, which the engine'ssessionwrites, so a phase no longer re-seals an unchanged session. A log line, "session: token rotated, sealing it back to the bucket", shows when a rotated token goes back.tarcommand.Merge with the owner present (one Proton session; its refresh token rotates on every use). Then:
gh workflow run sync.yml -R katoptra/dropbox -f vars=RECONCILE=false; check the log for "session: token rotated".Test plan
task test162 passed;task lintclean;task checkwith render.txt accepted on v2.6.0 (only thesessionstep moves)