Skip to content

chore(10.1): MVP cleanup — dead code removal, docs, and E2E restoration#96

Merged
FSM1 merged 17 commits into
mainfrom
feat/phase-10.1-v1-cleanup
Feb 11, 2026
Merged

chore(10.1): MVP cleanup — dead code removal, docs, and E2E restoration#96
FSM1 merged 17 commits into
mainfrom
feat/phase-10.1-v1-cleanup

Conversation

@FSM1

@FSM1 FSM1 commented Feb 11, 2026

Copy link
Copy Markdown
Owner

Summary

  • Adds Phase 10.1 to the roadmap based on v1.0 milestone audit findings
  • Covers 13 tech debt items across 3 sub-phases: deprecated code removal, stale docs updates, and skipped E2E test restoration
  • Includes the full milestone audit report (v1.0-MILESTONE-AUDIT.md)

Test plan

  • Verify ROADMAP.md phase numbering is correct
  • Verify STATE.md reflects current milestone status
  • Review milestone audit findings for completeness

🤖 Generated with Claude Code

Summary by CodeRabbit

Release Notes

  • New Features

    • Completed v1.0 Phase 10.1 Tech Debt Cleanup, including deprecated component removal and API endpoint consolidation.
  • Bug Fixes

    • Fixed post-login navigation to direct users to the Files page instead of Dashboard.
  • Chores

    • Removed redundant API endpoints and associated types; cleaned up deprecated frontend components and E2E page objects; updated test references and navigation labels.

FSM1 and others added 13 commits February 11, 2026 03:12
Insert cleanup phase from milestone audit findings:
- 10.1-01: Remove deprecated components + unused code
- 10.1-02: Update stale docs + create missing VERIFICATION.md
- 10.1-03: Restore skipped E2E move tests

Closes 13 tech debt items before v1.0 milestone archive.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Phase 10.1: v1.0 Tech Debt Cleanup
- 3 plans in 1 wave (all parallel)
- Plan 01: Code cleanup (deprecated components, unused code, dead endpoints)
- Plan 02: Documentation cleanup (REQUIREMENTS.md, 5 missing VERIFICATION.md)
- Plan 03: E2E test comment cleanup (stale skip references)
- Ready for execution

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Remove stale comment claiming move tests (Phase 4) are skipped
- Remove stale comment about getTrackedFolderId removal
- Rename test 4.2 from "drag-drop to folder row" to "Move file between
  sibling folders via context menu" to match actual behavior

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Check WEB-01 through WEB-06 (Phase 6 complete)
- Check DESK-01 through DESK-07 (Phase 9 complete)
- Check PORT-01 through PORT-03 (Phase 10 complete)
- Check SYNC-02 (Phase 9 desktop sync)
- Update all 17 Pending traceability entries to Complete
- All 52 v1 requirements now show [x] and Complete

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Tasks completed: 1/1
- Remove stale skip comments and verify move test structure

SUMMARY: .planning/phases/10.1-v1-cleanup/10.1-03-SUMMARY.md

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Phase 02 (Authentication): 8/8 success criteria verified
- Phase 04.2 (Local IPFS Testing): 4/4 success criteria verified
- Phase 06.2 (Restyle App): 4/4 success criteria verified
- Phase 09 (Desktop Client): 7/7 success criteria verified
- Phase 09.1 (Env/DevOps/Staging): 4/4 success criteria verified
- All marked retroactive: true since phases shipped previously

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Tasks completed: 2/2
- Update REQUIREMENTS.md checkboxes and traceability
- Create missing VERIFICATION.md files for 5 phases

SUMMARY: .planning/phases/10.1-v1-cleanup/10.1-02-SUMMARY.md

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Remove POST /ipfs/add handler and AddResponseDto from IPFS controller
- Delete add.dto.ts and clean dto barrel export
- Remove add() unit tests from ipfs.controller.spec.ts
- Remove POST /ipfs/add E2E test block, update unpin tests to use /ipfs/upload
- Regenerate OpenAPI spec and API client without /ipfs/add references
- Delete stale generated model files (addResponseDto, ipfsControllerAddBody)
- Both API and web app build clean, all 386 API tests pass

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Tasks completed: 2/2
- Remove deprecated frontend components and dead code
- Remove /ipfs/add endpoint and regenerate API client

SUMMARY: .planning/phases/10.1-v1-cleanup/10.1-01-SUMMARY.md

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Phase 10.1 verified (5/5 must-haves). All v1.0 phases now complete.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…eanup

# Conflicts:
#	.planning/REQUIREMENTS.md
#	.planning/ROADMAP.md
#	.planning/STATE.md
Privacy fix: 4 eprintln!(">>> ...") calls bypassed log-level filtering
and leaked filenames/paths to stderr. Replaced with log::debug!() to
respect log configuration in a zero-knowledge app.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Passed: 52/52 requirements, 18/18 phases, 7/7 E2E flows verified.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Feb 11, 2026

Copy link
Copy Markdown

Warning

Rate limit exceeded

@FSM1 has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 9 minutes and 0 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

Walkthrough

Phase 10.1 v1.0 Tech Debt Cleanup execution: removes deprecated frontend components (FolderTree, FolderTreeNode, ApiStatusIndicator, Dashboard), deletes legacy /ipfs/add endpoint with regenerated API client and models, updates post-login navigation from /dashboard to /files, consolidates planning documentation with retroactive verification files for earlier phases, updates Tauri FUSE logging from eprintln to log::debug, and creates comprehensive audit and state tracking documents.

Changes

Cohort / File(s) Summary
Planning & State Documentation
.planning/REQUIREMENTS.md, .planning/ROADMAP.md, .planning/STATE.md
Updated Phase 10.1 completion status across planning documents; adjusted phase progression from 14 to 18 phases; updated velocity metrics, progress tracking, and state metadata to reflect Phase 10.1 cleanup completion with timestamp 2026-02-11.
Phase Verification Reports
.planning/phases/02-authentication/02-VERIFICATION.md, .planning/phases/04.2-local-ipfs-testing/04.2-VERIFICATION.md, .planning/phases/06.2-restyle-app-with-pencil-design/06.2-VERIFICATION.md, .planning/phases/09-desktop-client/09-VERIFICATION.md, .planning/phases/09.1-env-devops-staging/09.1-VERIFICATION.md, .planning/phases/10.1-v1-cleanup/10.1-VERIFICATION.md
Created retroactive verification files documenting completion status, observable truths, evidence mapping, and architectural decisions for six phases; Phase 10.1 verification captures cleanup goals and five verified completion items.
Phase 10.1 Cleanup Plans & Summaries
.planning/phases/10.1-v1-cleanup/10.1-0[1-3]-PLAN.md, .planning/phases/10.1-v1-cleanup/10.1-0[1-3]-SUMMARY.md
Detailed planning and execution summaries for three cleanup plans: (01) remove deprecated components and /ipfs/add endpoint with client regeneration, (02) update REQUIREMENTS.md checkboxes and create verification files, (03) remove stale E2E test comments and rename move test. Documents scope, tasks, validation steps, and artifacts.
Milestone Audit Documents
.planning/mvp-MILESTONE-AUDIT.md, .planning/v1.0-MILESTONE-AUDIT.md
Created comprehensive audit files documenting requirements coverage (52/52), phase verification status (18 phases), cross-phase integration metrics (84 source reads, 38 key exports, 15/15 API routes), E2E user flows, and tech debt summary; marks v1.0 MVP as complete.
Frontend Component Removals
apps/web/src/components/file-browser/FolderTree.tsx, apps/web/src/components/file-browser/FolderTreeNode.tsx, apps/web/src/components/ApiStatusIndicator.tsx, apps/web/src/routes/Dashboard.tsx
Deleted four deprecated UI components: FolderTree (99 lines), FolderTreeNode (179 lines), ApiStatusIndicator (33 lines), and Dashboard (58 lines); these were superceded by FileBrowser and FilesPage.
File-Browser Component Index Updates
apps/web/src/components/file-browser/index.ts
Removed public exports for deprecated FolderTree and FolderTreeNode components from barrel file.
Navigation Route Updates
apps/web/src/routes/Login.tsx, apps/web/src/routes/Settings.tsx, apps/web/src/hooks/useAuth.ts
Updated post-login redirect path from /dashboard to /files; changed Settings back-button label and target from "Back to Dashboard" to "Back to Files"; replaced ApiStatusIndicator import with StatusIndicator component.
Hook Documentation Updates
apps/web/src/hooks/useFolderNavigation.ts
Removed FolderTree from example usage documentation in hook comment; navigation logic unchanged.
IPFS API Endpoint & DTO Removals
apps/api/src/ipfs/ipfs.controller.ts, apps/api/src/ipfs/dto/add.dto.ts, apps/api/src/ipfs/dto/index.ts
Removed POST /ipfs/add endpoint handler from controller (50 lines); deleted AddResponseDto DTO class (15 lines) and its barrel export; /ipfs/upload endpoint remains intact.
API Client Model Removals
apps/web/src/api/models/addResponseDto.ts, apps/web/src/api/models/ipfsControllerAddBody.ts, apps/web/src/api/models/index.ts
Deleted generated model files for AddResponseDto and IpfsControllerAddBody; removed re-exports from barrel index.
IPFS Client Hook Removals
apps/web/src/api/ipfs/ipfs.ts
Removed ipfsControllerAdd function, mutation options, and useIpfsControllerAdd hook (83 lines); related types IpfsControllerAddMutationResult, IpfsControllerAddMutationBody, IpfsControllerAddMutationError deleted.
API Specification Regeneration
packages/api-client/openapi.json
Regenerated OpenAPI spec removing /ipfs/add endpoint (POST) definition and AddResponseDto schema; AddResponseDto field and multipart request body removed (66 lines).
API & E2E Tests Updates
apps/api/src/ipfs/ipfs.controller.spec.ts, apps/api/test/ipfs.e2e-spec.ts
Removed test cases for POST /ipfs/add endpoint (52 lines from unit tests); removed full E2E test suite for /ipfs/add (69 lines); updated two remaining E2E test references from /ipfs/add to /ipfs/upload endpoint.
E2E Page Object Removals
tests/e2e/page-objects/dashboard.page.ts, tests/e2e/page-objects/file-browser/folder-tree.page.ts
Deleted DashboardPage class (56 lines) with navigation and auth-check methods; deleted FolderTreePage class (256 lines) with folder interaction, expansion, and drag-drop utilities.
E2E Page Object Index Updates
tests/e2e/page-objects/file-browser/index.ts, tests/e2e/page-objects/index.ts
Removed FolderTreePage export from file-browser barrel; removed DashboardPage export from main page-objects index; FileListPage and ContextMenuPage exports retained.
E2E Test Suite Updates
tests/e2e/tests/full-workflow.spec.ts, tests/e2e/utils/web3auth-helpers.ts
Removed stale comments about skipped move tests; renamed test 4.2 description from "drag-drop to folder row" to "context menu"; updated post-login redirect expectation from /dashboard to /files in auth helper (2 lines).
Desktop App Logging Refactor
apps/desktop/src-tauri/src/fuse/mod.rs, apps/desktop/src-tauri/src/fuse/operations.rs
Replaced eprintln! with log::debug! for FUSE filesystem logging (4 lines in mod.rs, 6 lines in operations.rs rename path); behavior and control flow unchanged, only logging mechanism updated.
Changelog Formatting
CHANGELOG.md
Minor formatting fix: changed bullet prefix from * to + in 0.6.0 Features section (1 line).

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~50 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main change: Phase 10.1 cleanup involving dead code removal, documentation updates, and E2E test restoration. It accurately reflects the primary objectives.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feat/phase-10.1-v1-cleanup

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 and usage tips.

@FSM1 FSM1 changed the title docs(roadmap): add Phase 10.1 v1.0 tech debt cleanup Phase 10.1: dead code removal, docs, and E2E restoration Feb 11, 2026
@FSM1 FSM1 changed the title Phase 10.1: dead code removal, docs, and E2E restoration chore(10.1): MVP cleanup — dead code removal, docs, and E2E restoration Feb 11, 2026
The loginViaEmail helper was still waiting for /dashboard redirect,
but Phase 10.1-01 changed all routes to /files. This caused CI E2E
tests to timeout on the first test.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@FSM1 FSM1 enabled auto-merge (squash) February 11, 2026 04:32

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Fix all issues with AI agents
In @.planning/phases/10.1-v1-cleanup/10.1-03-SUMMARY.md:
- Line 13: The frontmatter line "Confirmed move tests (4.1-4.3) present and
runnable" is inconsistent with the body which includes test 4.4; update that
frontmatter sentence to "Confirmed move tests (4.1-4.4) present and runnable" so
it matches the body (and the spec which includes breadcrumb navigation test
4.4); modify the exact string in the file so both references to the move tests
use 4.1–4.4.

In @.planning/v1.0-MILESTONE-AUDIT.md:
- Line 145: Update the DESK-02 entry to use the same FUSE mount path as
REQUIREMENTS.md: replace the string "~/CipherBox" with "~/CipherVault" in the
DESK-02 row so the milestone audit text matches the canonical requirement;
ensure the table cell for DESK-02 now reads "FUSE mount at ~/CipherVault".
🧹 Nitpick comments (1)
apps/api/test/ipfs.e2e-spec.ts (1)

26-26: Remove unused pinnedCids cleanup infrastructure.

The pinnedCids array is never populated by any test in the current suite. The /ipfs/unpin tests upload files directly without storing CIDs for cleanup. The cleanupIpfs() function will always short-circuit at pinnedCids.length === 0.

♻️ Remove unused array and simplify cleanup
-  const pinnedCids: string[] = [];
-
   const isLocalProvider = process.env.IPFS_PROVIDER === 'local';

Remove or simplify the cleanupIpfs function (lines 44–64) since it no longer serves a purpose, and update or remove its afterAll call accordingly.

Comment thread .planning/phases/10.1-v1-cleanup/10.1-03-SUMMARY.md Outdated
Comment thread .planning/v1.0-MILESTONE-AUDIT.md
FSM1 and others added 3 commits February 11, 2026 05:42
- Fix test range 4.1-4.3 → 4.1-4.4 in 10.1-03-SUMMARY.md
- Fix FUSE mount path to ~/CipherVault in audit docs to match REQUIREMENTS.md

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The actual implementation uses ~/CipherBox, not ~/CipherVault.
REQUIREMENTS.md has the outdated spec name; audit docs should
reflect what was actually built.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Aligns REQUIREMENTS.md with the actual implementation.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@FSM1 FSM1 merged commit 03016ce into main Feb 11, 2026
7 checks passed
@FSM1 FSM1 deleted the feat/phase-10.1-v1-cleanup branch February 11, 2026 04:58
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