Files
rclone/docs/plans/001-protondrive-tier1-workspace/final-review-common.md
T
2026-11-12 15:12:51 +01:00

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:

  1. docs/specs/001-protondrive-tier1.md — approved spec (binding).
  2. docs/plans/001-protondrive-tier1-HANDOFF.md section 7 — rulings that supersede the spec/plan where they disagree; section 6 — what has been proven live.
  3. docs/DECISIONS.md (newest first), docs/TODO.md (known, deliberately deferred).
  4. 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.