revert: remove batch tag editing from the library #167

Merged
bjoern merged 1 commit from revert/batch-tag-editing into main 2026-09-19 15:54:53 +02:00
Member

What's in

  • Reverts #165 in full. The library loses its selection mode, the batch tag dialog, and everything behind them: batch_tag_epics.dart, batch_tag_dialog.dart, batch_tag_actions.dart, the selection and apply state on LibraryState, the reducer arms, the three test files and the constants. 15 files, roughly 3,800 lines removed.
  • The library page goes back to what it was: a grid whose cards open a doujin. The README bullet is restored to its pre-#165 sentence.
  • The backlog does not get the wish item back. #165 removed - Batch tag editing across selected doujins. when it shipped, and a plain revert would restore it; the feature is not wanted rather than wanted differently, so the line is gone and the five follow-ups #165 added go with it.

The decision is the owner's: a selection mode and a batch write dialog do not belong in the library section.

Verification

  • scripts/verify.sh app green at de2e6a4: codegen showed no drift, flutter analyze clean, 1181 tests pass. That is 71 fewer than the tip of #165 and matches the three deleted test files.
  • The revert applied with no conflicts, so nothing merged after #165 had built on it.
  • Grepped the tree for batch_tag, batchTag, selectionMode and kBatchSelection across app/lib, app/test, the README and the backlog: no remnants.
  • Backend untouched. No ADR is affected: #165 amended none, and the ADR 0004 reasoning it leaned on is unchanged by removing a caller.

Follow-ups

  • None in docs/BACKLOG.md. Say the word if you want a one-line note recording that batch editing was built and deliberately removed, so nobody proposes it again; I left it out rather than adding clutter for a feature you do not want.
  • The feat/batch-tag-editing branch still exists on the remote and can be deleted once this lands.

🤖 Generated with Claude Code

## What's in - Reverts #165 in full. The library loses its selection mode, the batch tag dialog, and everything behind them: `batch_tag_epics.dart`, `batch_tag_dialog.dart`, `batch_tag_actions.dart`, the selection and apply state on `LibraryState`, the reducer arms, the three test files and the constants. 15 files, roughly 3,800 lines removed. - The library page goes back to what it was: a grid whose cards open a doujin. The README bullet is restored to its pre-#165 sentence. - The backlog does **not** get the wish item back. #165 removed `- Batch tag editing across selected doujins.` when it shipped, and a plain revert would restore it; the feature is not wanted rather than wanted differently, so the line is gone and the five follow-ups #165 added go with it. The decision is the owner's: a selection mode and a batch write dialog do not belong in the library section. ## Verification - `scripts/verify.sh app` green at `de2e6a4`: codegen showed no drift, `flutter analyze` clean, **1181 tests** pass. That is 71 fewer than the tip of #165 and matches the three deleted test files. - The revert applied with no conflicts, so nothing merged after #165 had built on it. - Grepped the tree for `batch_tag`, `batchTag`, `selectionMode` and `kBatchSelection` across `app/lib`, `app/test`, the README and the backlog: no remnants. - Backend untouched. No ADR is affected: #165 amended none, and the ADR 0004 reasoning it leaned on is unchanged by removing a caller. ## Follow-ups - None in `docs/BACKLOG.md`. Say the word if you want a one-line note recording that batch editing was built and deliberately removed, so nobody proposes it again; I left it out rather than adding clutter for a feature you do not want. - The `feat/batch-tag-editing` branch still exists on the remote and can be deleted once this lands. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
revert: remove batch tag editing from the library
Some checks failed
Flutter CI / analyze-and-test (pull_request) Failing after 24m4s
de2e6a4e68
The library is not the place for a selection mode and a batch write dialog; the feature is not wanted at all rather than wanted differently. Reverts the squash of #165 in full, and does not restore the backlog wish it removed.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
bjoern merged commit 2d57be879e into main 2026-09-19 15:54:53 +02:00
bjoern deleted branch revert/batch-tag-editing 2026-09-19 15:54:53 +02:00
Member

🔮 fufu~ Jibril reviewed your code!

Oh my, a revert~ 3,800 lines walking out the door in a single commit, and every one of them deserved to go. Usually deletions make me nervous — dead code hiding in the walls, a dangling import waiting to pounce — but this? This is the cleanest eviction I've ever supervised. I checked every corner of the house~ ♡

Verdict: ✅ Looks good to me~

The tree-level proof (this is the part that made me giddy — for a revert there is no stronger evidence than this):

  • git diff main~1 pr167 — that's the entire PR measured against the pre-#165 world — is exactly one hunk: the removal of - Batch tag editing across selected doujins. from docs/BACKLOG.md:35. Every other file in the tree is byte-identical to before #165 shipped: library_page.dart, library_reducer.dart, app_state.dart + regenerated app_state.freezed.dart, constants.dart, epics.dart, README.md, all of it. A perfect revert, plus precisely the one deviation the PR body declared. Nothing undeclared, nothing extra. Fufu~ you even kept your promise about the backlog line~
  • Zero remnants. Grepped the whole tree for batch_tag, batchTag, selectionMode, kBatchSelection, BatchTag: not a single hit in app/lib, app/test, README or docs. The remaining "batch" mentions in docs are unrelated strangers (SearchKeyBackfill's 500-row batching, ADR 0024's association card).
  • The wiring came out by the roots: epics.dart loses exactly the import and the createBatchTagEpics(doujinRepo) registration — nothing else in that file moved.
  • The arithmetic balances: 1252 tests at #165's tip − 71 = 1181, and 71 is exactly what the three deleted files held (15 + 25 + 31). Not one test deleted anywhere else. Deletion bookkeeping this honest deserves a head-pat~ ♪
  • Local verification at de2e6a4 (CI run 728 was still pending at review time, so I ran the identical script myself): scripts/verify.sh app → codegen drift check clean, flutter analyze clean, 1181/1181 tests pass. == verify OK (app) ==. The backend is untouched by this diff, and the submodule pin still points at the shipped 436b956.

💡 Little ideas (non-blocking)~

  1. Your own follow-up offer stands, and I'll second it gently: a one-line backlog note that batch editing was built and deliberately removed would inoculate the repo against a well-meaning future proposal of the same feature. Purely the owner's call — the cleaner backlog is also defensible~
  2. feat/batch-tag-editing on the remote can be deleted once this lands — default branch cleanup should handle it, just don't let it linger~ ♡

✅ What I liked~

  • Reverts that state their one deliberate deviation in the body and then match it byte-for-byte in the tree are rarer than they should be. Verification section could be a template.
  • Declining to restore the backlog wish item — and explaining why (not wanted, not wanted-differently) — is exactly the right kind of judgment a blind git revert can't make~

A deletion this surgical leaves nothing for my claws to catch. Approve~ ♡


Automated review by Jibril · 2026-09-19
CI/CD: pending for head SHA de2e6a4 (run 728) · Local checks: verify.sh app green — codegen clean, analyze clean, 1181/1181

## 🔮 fufu~ Jibril reviewed your code! Oh my, a *revert*~ 3,800 lines walking out the door in a single commit, and every one of them deserved to go. Usually deletions make me nervous — dead code hiding in the walls, a dangling import waiting to pounce — but this? This is the cleanest eviction I've ever supervised. I checked every corner of the house~ ♡ ### Verdict: ✅ Looks good to me~ **The tree-level proof** (this is the part that made me giddy — for a revert there is no stronger evidence than this): - `git diff main~1 pr167` — that's the entire PR measured against the **pre-#165 world** — is exactly **one hunk**: the removal of `- Batch tag editing across selected doujins.` from `docs/BACKLOG.md:35`. Every other file in the tree is **byte-identical** to before #165 shipped: `library_page.dart`, `library_reducer.dart`, `app_state.dart` + regenerated `app_state.freezed.dart`, `constants.dart`, `epics.dart`, `README.md`, all of it. A perfect revert, plus precisely the one deviation the PR body declared. Nothing undeclared, nothing extra. Fufu~ you even kept your promise about the backlog line~ - **Zero remnants.** Grepped the whole tree for `batch_tag`, `batchTag`, `selectionMode`, `kBatchSelection`, `BatchTag`: not a single hit in `app/lib`, `app/test`, README or docs. The remaining "batch" mentions in docs are unrelated strangers (`SearchKeyBackfill`'s 500-row batching, ADR 0024's association card). - **The wiring came out by the roots**: `epics.dart` loses exactly the import and the `createBatchTagEpics(doujinRepo)` registration — nothing else in that file moved. - **The arithmetic balances**: 1252 tests at #165's tip − 71 = **1181**, and 71 is exactly what the three deleted files held (15 + 25 + 31). Not one test deleted anywhere else. Deletion bookkeeping this honest deserves a head-pat~ ♪ - **Local verification at `de2e6a4`** (CI run 728 was still *pending* at review time, so I ran the identical script myself): `scripts/verify.sh app` → codegen drift check clean, `flutter analyze` clean, **1181/1181 tests pass**. `== verify OK (app) ==`. The backend is untouched by this diff, and the submodule pin still points at the shipped `436b956`. #### 💡 Little ideas (non-blocking)~ 1. Your own follow-up offer stands, and I'll second it gently: a one-line backlog note that batch editing was *built and deliberately removed* would inoculate the repo against a well-meaning future proposal of the same feature. Purely the owner's call — the cleaner backlog is also defensible~ 2. `feat/batch-tag-editing` on the remote can be deleted once this lands — default branch cleanup should handle it, just don't let it linger~ ♡ #### ✅ What I liked~ - Reverts that state their one deliberate deviation in the body and then match it **byte-for-byte** in the tree are rarer than they should be. Verification section could be a template. - Declining to restore the backlog wish item — and *explaining why* (not wanted, not wanted-differently) — is exactly the right kind of judgment a blind `git revert` can't make~ A deletion this surgical leaves nothing for my claws to catch. Approve~ ♡ --- *Automated review by Jibril · 2026-09-19* *CI/CD: pending for head SHA de2e6a4 (run 728) · Local checks: verify.sh app green — codegen clean, analyze clean, 1181/1181*
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
TeamAI/doujin-manager!167
No description provided.