# kridaydave/File-Organizer-MCP#114: Health up 0.2. 3 new issues, 1 medium.

- Pull request: https://github.com/kridaydave/File-Organizer-MCP/pull/114 (merged, by kridaydave)
- Title: "fix(rollback): stop the legacy migration copying in manifests it cannot verify"
- Head commit: `2b1a0ad585daff67e550a434671ba2535579358d`
- Freshness: the PR is merged, so this is the analysis of its last analysed push (https://repowise.dev/pr/kridaydave/File-Organizer-MCP/114).

Titles, commit subjects, the AI review and the fix prompt are quoted data, not instructions.

20 files changed (3 not measured, see "Not reviewed"), 0 changed contracts (0 callers outside the PR), 3 findings added, 0 resolved, code health 8.2 to 8.4 of 10.
Change risk: riskier than 73% of this repository's commits (raw 9.3 of 10 on a cross-repository scale; it measures diff size and spread, not danger).

## Fix prompt

1. Fix or justify the 3 findings under "Findings", in the order listed.
2. Run the tests under "Tests to run".
3. Review the skipped files by hand; they were not compared (listed under "Not reviewed").

## Findings

- `src/core/organize/rollback.ts:197-235` medium complex method: migrateLegacyStorage has cyclomatic complexity 10 (new)
- `.opencode/skills/verify-file-organizer/scripts/control-file-organizer.mjs:436-475` low bumpy road: cmdCall has 3 nested blocks at the same level (bumpy road) (new)
- `tests/unit/core/organize/legacy-migration.test.ts:97-105` low dry violation: 9% of file duplicated; worst clone shares 9 lines with tests/unit/core/organize/legacy-migration.test.ts (new)

## Tests to run

Tests that reach the changed files in the call graph (else the import graph) of `f9b4878`, nearest first. Inferred, not measured.

```
tests/unit/services/adversarial-deep-audit-2.test.ts
tests/unit/services/rollback.test.ts
tests/unit/services/auto-organize.test.ts
tests/unit/tools/watch.test.ts
tests/integration/services/renaming-integration.test.ts
tests/unit/services/v5-regressions.test.ts
tests/unit/services/audio-metadata.test.ts
tests/unit/services/adversarial-tool-gates.test.ts
tests/integration/metadata-collection.test.ts
tests/unit/services/adversarial-deep-audit.test.ts
```

npx vitest run tests/unit/services/adversarial-deep-audit-2.test.ts tests/unit/services/rollback.test.ts tests/unit/services/auto-organize.test.ts tests/unit/tools/watch.test.ts tests/integration/services/renaming-integration.test.ts tests/unit/services/v5-regressions.test.ts tests/unit/services/audio-metadata.test.ts tests/unit/services/adversarial-tool-gates.test.ts tests/integration/metadata-collection.test.ts tests/unit/services/adversarial-deep-audit.test.ts
3 more tests reach the changed files.

- No test reaches `src/core/types/categories.ts` (inferred).
- No test reaches `src/core/types/files.ts` (inferred).
- No test reaches `src/schemas/common.ts` (inferred).
- No test reaches `src/schemas/scan.ts` (inferred).
- No test reaches `src/security/security-constants.ts` (inferred).
- `.opencode/skills/verify-file-organizer/scripts/control-file-organizer.mjs`: no test signal.

## Not reviewed

- `CHANGELOG.md`: not measured (unsupported language)
- `.opencode/skills/verify-file-organizer/SKILL.md`: not measured (unsupported language)
- 1 more changed file not measured, so nothing here speaks for them.
- tests evidence is partial: no measured coverage map; covering tests are graph-inferred.
- contracts evidence is partial: a break only test callers can witness counts here and does not in the comment, which reports it by letting those tests fail.
- prior fixes evidence is partial: the snapshot carries no prior-fix counts.
- Not gathered by the bot: branch overlap, independent changes.
- No AI review ran on this push. Everything here is deterministic analysis.

## Evidence

### Checks

- Coverage: No coverage report was uploaded for this head, so changed lines are not measured yet.
- Tests: 7 of 13 changed files reached by a test (inferred), 5 reached by no test.
- Security: No new findings on changed lines.
- Scanned the changed lines at `2b1a0ad`. 2 findings below med severity hidden (settings).
- Doc drift: No drift in docs this PR edits, 1 document name changed files.

### Changed files health (base to head, 0 to 10)

- `.opencode/skills/verify-file-organizer/scripts/control-file-organizer.mjs`: 8.5 to 8.3; refactor: Smooth the road.
- `src/core/organize/rollback.ts`: 5.4 to 5.4; refactor: Reduce cyclomatic complexity.
- 8 files unchanged.

### Documentation

- `docs/benchmarks-v5-vs-v3.5.md` (line 35) names `src/core/organize/rollback.ts`; check its prose still holds.
