Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2.7 KiB
Final whole-branch review — shared instructions
Repository: /home/user/rclone, branch protondrive-tier1, HEAD 29ad26944. Base of the
work: 06700aaf2 (git diff 06700aaf2..HEAD -- <paths> shows the change; most backend
files are new, so read them whole). This is a rewrite of rclone's Proton Drive backend
(backend/protondrive) as a native Go client following Proton's official SDK, with a
fake Proton server in backend/protondrive/protontest (fork-only).
Authorities, in order:
docs/specs/001-protondrive-tier1.md— approved spec (binding).docs/plans/001-protondrive-tier1-HANDOFF.mdsection 7 — rulings that supersede the spec/plan where they disagree; section 6 — what has been proven live.docs/DECISIONS.md(newest first),docs/TODO.md(known, deliberately deferred).AGENTS.md— rclone code, comment and commit rules (comment style is enforced: godoc on every exported identifier, no narrating comments, "why" inline comments).
Every per-task review deferred its Minor findings to this review. They are in
.superpowers/sdd/001-protondrive-tier1/progress.md (lines with "minor", "Minor",
"Deferred minors") and in the task-*-review.md / task-*-rereview*.md files in the
same directory. Re-check the ones in your area: still present? still minor?
Your job: find real defects across the whole of your area — correctness, security,
data safety, concurrency, resource leaks, error handling, rclone contract violations,
spec/ruling non-conformance, upstream-readiness (rclone maintainers' style, minimal
cleverness, no package-level mutable state except unlockMu, seam rule: no crypto or
API routes in protondrive.go, no fs.Fs/fs.Object below it). Do not re-litigate a
recorded ruling unless you find it causes a defect the ruling didn't foresee; say so
explicitly then. Do not report what docs/TODO.md already records unless it is worse
than recorded.
Grade findings Critical (data loss, security break, crash on normal input) / Important
(wrong behaviour a user will hit, contract violation, spec non-conformance, maintainers
would reject) / Minor. Each with file:line, a concrete failure scenario, and a suggested
fix. Verify before reporting: read the code path end to end; where cheap, prove it with
a test in a scratch worktree (git worktree add --detach /tmp/claude-1000/-home-user-rclone/8cc17642-4f33-4045-ad2c-177bf869b82a/scratchpad/fr-<you> HEAD,
remove with git worktree remove <path>, never --force).
SAFETY: every go test MUST set RCLONE_CONFIG=/notfound. Never read
~/.config/rclone/rclone.conf or ~/proton_*password; never contact Proton hosts; never
pass -remote or -capture-remote. Read-only on /home/user/rclone: do not modify, stage or
commit there. Do not dispatch subagents.