Skip to content

docs: triage M4 pending todos and scope closeout phases 74-79#605

Merged
FSM1 merged 3 commits into
mainfrom
docs/triage-m4-todos
Jul 10, 2026
Merged

docs: triage M4 pending todos and scope closeout phases 74-79#605
FSM1 merged 3 commits into
mainfrom
docs/triage-m4-todos

Conversation

@FSM1

@FSM1 FSM1 commented Jul 10, 2026

Copy link
Copy Markdown
Owner

Summary

Triage of the .planning/todos/pending/ backlog and the repo-wide TODO(phase 63/65) code markers, scoping the remaining M4 (v2.0 Metadata and Sharing Refactor) closeout work into phases. Planning-only — no code changes (the marker code cleanup is a separate PR).

Todo bookkeeping

Retired to completed/ with resolution notes:

  • web-e2e-flaky-cascade-abort — resolved by #593 (file-level parallelism)
  • rotation-hardening-followups-from-pr-review — all 6 closed by Phase 70 + 70.1
  • add-permanent-delete-confirmation-dialogConfirmDialog gates delete (D-02 per-mode wording caveat noted)
  • shared-write-base-aware-merge-parityNOT APPLICABLE: shared-write.ts has no CAS-409 merge path, so the resurrection vector cannot occur
  • confirm-no-legacy-v1-v2-vault-blobsWON'T DO (no migration; legacy vaults deprecated; the v3 hard-cut stands as the D-05 guard)

Merged the two duplicate recovery-v3 todos into one; annotated the 68.2 CodeRabbit backlog after re-verifying against HEAD (2 resolved, 1 partial, 8 open).

New closeout phases (61–79 milestone)

Phase Theme Todos
74 Rust/FUSE Rotation-Revocation Soundness 3
75 Cross-Language IPNS/Node-Codec Verification Parity 4
76 FUSE Durability + TEE Write-Path Hardening 4
77 Crypto Hygiene + Terminology Canonicalization 12
78 Recovery Tool v3 + Web UX + CI Guards 5
79 Web Kind-Discrimination Completion + Deferred Test Revival marker-triage

28 M4 todos stamped with resolves_phase; the 10 non-M4 todos (M5 features, infra/ops, tech-debt, parked FUSE-T) are left unstamped. ROADMAP header/checklist + STATE roadmap-evolution updated (22 phases).

Phase 79 was surfaced by triaging the 84 TODO(phase 63/65) markers: ~40 are still-valid and describe a real shipped gap (the web listing UI never got routed through ResolvedChild.kind).

🤖 Generated with Claude Code

https://claude.ai/code/session_012Z3zThQZPm6bVk2476WURL

FSM1 and others added 3 commits July 11, 2026 01:13
…very, annotate 68.2 backlog

Retire to completed/ with resolution notes:
- web-e2e-flaky-cascade-abort — resolved by PR #593 (file-level parallelism)
- rotation-hardening-followups-from-pr-review — all 6 closed by Phase 70 + 70.1
- add-permanent-delete-confirmation-dialog — ConfirmDialog gates delete (D-02
  per-mode wording caveat noted)
- shared-write-base-aware-merge-parity — NOT APPLICABLE: shared-write.ts has no
  CAS-409 merge path (strict publishOrThrow), so the resurrection vector cannot occur

Merge duplicate recovery-v3 todos: fold
2026-06-29-recovery-html-vault-v3-migration into the fuller
2026-07-03-port-recovery-tool-to-v3-vault-format (supersedes + vault-v3-blob.json note).

Annotate 68.2 CodeRabbit backlog after re-verifying against HEAD/#603:
mark item 1 RESOLVED (72-06 listingCache.delete), item 4 RESOLVED (73-05, ROT-07
residual deferred), item 7 PARTIAL (generation assertion done; fail-closed +
selectEncryptionMode still open); 8 items remain open.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012Z3zThQZPm6bVk2476WURL
Entire-Checkpoint: 22aff8d89af6
Add five closeout phases to the active v2.0 milestone (Phases 61-78) with goals,
success criteria, dependencies, and per-phase source-todo lists:

- Phase 74: Rust/FUSE Rotation-Revocation Soundness (3 todos)
- Phase 75: Cross-Language IPNS/Node-Codec Verification Parity (4 todos)
- Phase 76: FUSE Durability + TEE Write-Path Hardening (4 todos)
- Phase 77: Crypto Hygiene + Terminology Canonicalization (12 todos)
- Phase 78: Recovery Tool v3 + Web UX + CI Guards (5 todos)

Stamp resolves_phase on all 28 M4 closeout todos; the 10 non-M4 todos
(M5 features, infra/ops, tech-debt, parked FUSE-T) are left unstamped.

Retire confirm-no-legacy-v1-v2-vault-blobs (WON'T DO — user: no migration, all
legacy vaults deprecated; the deserializeVaultBlobV3 hard-cut stands as the
D-05 guard).

Update ROADMAP milestone header/checklist and STATE roadmap-evolution + phase
count (16 -> 21).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012Z3zThQZPm6bVk2476WURL
Entire-Checkpoint: 07289de753be
…deferred test revival

Triaging the 83 TODO(phase 63/65) markers found ~40 that are not stale: the web
listing UI never got routed through ResolvedChild.kind (added in 68.2), so
folders-first sort, drag-and-drop, and kind-aware dialog labels never returned
after the Phase 62 cutover, createdAt is still stubbed in details panes, and four
test suites remain describe.skip'd.

- Add Phase 79 to the active v2.0 milestone (now Phases 61-79) with grouped scope,
  success criteria, and the full still-valid marker inventory
- Add consolidating pending todo (resolves_phase: 79)
- Update ROADMAP header/checklist and STATE roadmap-evolution (phase count -> 22)

The 43 stale markers (63/65 shipped, code migrated) are removed separately as a
pure comment cleanup on a code branch.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012Z3zThQZPm6bVk2476WURL
Entire-Checkpoint: ab67c91ff365
@coderabbitai

coderabbitai Bot commented Jul 10, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@FSM1, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 59 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: f9226056-76a9-4a21-99e6-9e30e81f13e4

📥 Commits

Reviewing files that changed from the base of the PR and between bd8c1e0 and 994d032.

📒 Files selected for processing (43)
  • .planning/ROADMAP.md
  • .planning/STATE.md
  • .planning/phases/74-rust-and-fuse-rotation-revocation-soundness/.gitkeep
  • .planning/phases/75-cross-language-ipns-and-node-codec-verification-parity/.gitkeep
  • .planning/phases/76-fuse-durability-and-tee-write-path-hardening/.gitkeep
  • .planning/phases/77-crypto-hygiene-and-terminology-canonicalization/.gitkeep
  • .planning/phases/78-recovery-tool-v3-vault-load-guards-web-ux-and-ci-guards/.gitkeep
  • .planning/phases/79-web-kind-discrimination-completion-and-deferred-test-revival/.gitkeep
  • .planning/todos/completed/2026-06-24-web-e2e-flaky-cascade-abort.md
  • .planning/todos/completed/2026-06-27-add-permanent-delete-confirmation-dialog-in-web-app.md
  • .planning/todos/completed/2026-06-29-confirm-no-legacy-v1-v2-vault-blobs-on-auth-reenable.md
  • .planning/todos/completed/2026-07-02-rotation-hardening-followups-from-pr-review.md
  • .planning/todos/completed/2026-07-10-shared-write-base-aware-merge-parity.md
  • .planning/todos/pending/2026-06-20-e2e-helper-scripts-zeroize-userprivatekey.md
  • .planning/todos/pending/2026-06-24-harden-validity-type-and-vector-expiry-lockstep.md
  • .planning/todos/pending/2026-06-24-ts-resolve-strict-rfc3339-validity-parity.md
  • .planning/todos/pending/2026-06-26-vault-init-publish-ordering-preflight.md
  • .planning/todos/pending/2026-06-28-harden-uuid-acceptance-parity-aad-builder.md
  • .planning/todos/pending/2026-06-28-zeroize-local-key-plaintext-copies-in-aes-helpers.md
  • .planning/todos/pending/2026-06-29-dedup-base64-helpers-sdk-core-share.md
  • .planning/todos/pending/2026-06-29-node-codec-base64-helper-dedup.md
  • .planning/todos/pending/2026-06-29-recovery-html-vault-v3-migration.md
  • .planning/todos/pending/2026-07-01-rename-encrypted-ipns-key-canonical-field.md
  • .planning/todos/pending/2026-07-01-renew-ipns-record-eol-invariant-and-tests.md
  • .planning/todos/pending/2026-07-01-tee-republish-writepath-error-handling-hardening.md
  • .planning/todos/pending/2026-07-02-retire-dead-sdk-share-scaffolding.md
  • .planning/todos/pending/2026-07-02-web-vitest-not-in-ci-and-ipns-service-test-broken.md
  • .planning/todos/pending/2026-07-03-download-progress-ux-decision-usefiledownload.md
  • .planning/todos/pending/2026-07-03-drop-discarded-per-upload-ecies-wrapkey.md
  • .planning/todos/pending/2026-07-03-hoist-base64tobytes-into-crypto-package.md
  • .planning/todos/pending/2026-07-03-port-recovery-tool-to-v3-vault-format.md
  • .planning/todos/pending/2026-07-04-rename-ipnsprivatekeyencrypted-to-encryptedipnsprivatekey.md
  • .planning/todos/pending/2026-07-06-68.2-coderabbit-hardening-backlog.md
  • .planning/todos/pending/2026-07-06-d07-boundary-eslint-rule.md
  • .planning/todos/pending/2026-07-07-fuse-publish-and-concurrency-hardening-deferred.md
  • .planning/todos/pending/2026-07-07-node-codec-kat-pin-file-iv-encoding.md
  • .planning/todos/pending/2026-07-08-desktop-query-grants-rooted-at-remint-noop.md
  • .planning/todos/pending/2026-07-08-winfsp-d15d-gate-ordering-parity.md
  • .planning/todos/pending/2026-07-09-deep-scope-exit-rotation-refreshes-only-grant-root-inode-key.md
  • .planning/todos/pending/2026-07-10-extract-assert-root-ownership-helper.md
  • .planning/todos/pending/2026-07-10-wrapipnskeyfortee-bytes-in-bytes-out.md
  • .planning/todos/pending/2026-07-10-zeroize-createsubfolder-keys-on-error-path.md
  • .planning/todos/pending/2026-07-11-web-kind-discrimination-completion.md
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/triage-m4-todos

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

Copy link
Copy Markdown
Contributor

Release Preview

No version bumps detected. All changes are in unversioned paths or use exempt commit types.

@greptile-apps

greptile-apps Bot commented Jul 10, 2026

Copy link
Copy Markdown

Greptile Summary

This PR reorganizes the M4 closeout planning backlog. The main changes are:

  • Expands the v2.0 roadmap from Phases 61–73 to Phases 61–79.
  • Adds placeholder directories for the new closeout phases.
  • Moves several resolved or not-applicable todos into completed.
  • Stamps pending M4 todos with their target closeout phase.
  • Merges the duplicate recovery-v3 todo into the remaining recovery-tool item.

Confidence Score: 4/5

The planning state cursor needs a fix before merging.

  • The roadmap and todo triage are planning-only changes.
  • .planning/STATE.md now says Phase 73 is complete while still marking Phase 73 as the executing current phase.
  • Follow-up planning commands can resume from the wrong phase unless those fields are advanced consistently.

.planning/STATE.md

Important Files Changed

Filename Overview
.planning/ROADMAP.md Adds Phases 74–79 with goals, source todos, dependencies, and success criteria.
.planning/STATE.md Updates phase totals and progress, but leaves the active phase cursor on completed Phase 73.
.planning/todos/pending/2026-07-03-port-recovery-tool-to-v3-vault-format.md Absorbs the duplicate recovery-v3 migration todo and keeps the v3 vault-format work pending.
.planning/todos/pending/2026-07-06-68.2-coderabbit-hardening-backlog.md Moves the remaining 68.2 hardening backlog into Phase 78 and records resolved, partial, and open items.

Reviews (1): Last reviewed commit: "docs(roadmap): add Phase 79 for web kind..." | Re-trigger Greptile

Comment thread .planning/STATE.md
Comment on lines 5 to 17
current_phase: 73
status: executing
stopped_at: Completed 72-10-PLAN.md
last_updated: "2026-07-10T20:34:21.059Z"
last_updated: "2026-07-10T23:36:09.597Z"
last_activity: 2026-07-10
last_activity_desc: Phase 73 complete
progress:
total_phases: 16
total_phases: 22
completed_phases: 15
total_plans: 189
completed_plans: 188
percent: 94
percent: 68
current_phase_name: shared-write-navigation-correctness-web

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Stale Phase Cursor

When the next planning command resumes from this state, it still sees Phase 73 as the executing phase even though this PR marks Phase 73 complete and adds Phases 74–79 as the open closeout work. The stale current_phase, current_phase_name, and stopped_at values can send follow-up plans back through the shipped Phase 73/old Phase 72 boundary instead of starting Phase 74.

@FSM1 FSM1 merged commit 7a6349c into main Jul 10, 2026
20 checks passed
@FSM1 FSM1 deleted the docs/triage-m4-todos branch July 11, 2026 11:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant