Skip to content

Commit ad81130

Browse files
chore(roadmap): promote conflict-dialog "Save as new chapter" TODO to PS-13
The inline TODO at `ConflictResolutionDialog.tsx:114` pointed at a deferred v1 feature. An inline TODO is the wrong home for a tracked backlog item - the comment rots in place while the ROADMAP is where similar deferred features live. Removed the TODO and opened PS-13 in ROADMAP.md with enough context (new backend endpoint, i18n keys, E2E coverage, position ordering discussion) for a future session to pick it up. Audit doc updated. Polish audit item #8 resolved; last open item from the 2026-04-18 polish audit is now closed. Co-Authored-By: Claude <noreply@anthropic.com>
1 parent 31259d7 commit ad81130

3 files changed

Lines changed: 5 additions & 4 deletions

File tree

docs/ROADMAP.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,8 @@ Pre-built structures for common book genres. Lowers the entry barrier for new us
5959
- [x] PS-10: trivial cleanup of the `plugin_config` unused-parameter warning in `backend/app/main.py` `_check_license`. Pluginforge's `pre_activate` signature requires the second argument, so the parameter was prefixed with `_` (`_plugin_config`) to silence the warning while preserving the hook contract.
6060
- [x] PS-11: regression tests for the ruamel.yaml round-trip (`backend/tests/test_yaml_io.py`, 5 tests covering byte-identical round-trip, `# INTERNAL` comment survival, quote-style preservation, missing-file errors, and parent-directory creation) + missing Spanish accents fixed in 4 plugin YAMLs (`translation.yaml`, `kinderbuch.yaml`, `kdp.yaml`, `audiobook.yaml`: Traducción, página, validación, publicación, Generación, capítulos).
6161
- [x] PS-12: removed .gitignore rule blocking session journals; aligned ai-workflow.md
62-
- [ ] PS-13+: future polish items, surface as found
62+
- [ ] PS-13: "Save as new chapter" action in `ConflictResolutionDialog`. Third button alongside Keep/Discard that clones the local-edit into a fresh chapter appended after the current one, then pulls the server content into the current chapter. Requires new backend endpoint (e.g. `POST /api/books/{id}/chapters/fork`), i18n keys across 8 locales, E2E coverage, and scope discussion for position ordering. Deferred from v1 of the 409 conflict flow; inline TODO removed in favor of this tracker entry.
63+
- [ ] PS-14+: future polish items, surface as found
6364

6465
### 4. Git-based backup (priority: low, existing .bgb covers daily needs)
6566

docs/audits/polish-audit-2026-04-18.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ strings, stale docs, test coverage gaps, existing audit items.
1111
### 1. TODOs / FIXMEs
1212

1313
- 1 match: `frontend/src/components/ConflictResolutionDialog.tsx:114`
14-
- "Save as new chapter" deferred from v1
14+
- "Save as new chapter" deferred from v1 (RESOLVED in this
15+
session: inline TODO removed; tracked as PS-13 in ROADMAP)
1516

1617
### 2. Deprecations / warnings
1718

@@ -94,7 +95,7 @@ tests.
9495
| 5 | Test coverage | `backup_history.py` zero tests | Medium | Medium | **Revised 2026-04-18**: `test_backup_history.py` already existed with 8 unit tests covering the class API. Gaps closed in this session: persistence roundtrip + parent-directory creation + `GET /api/backup/history` HTTP route test (3 new tests, total 11). |
9596
| 6 | Test coverage | `archive_utils.py` / `asset_utils.py` / `markdown_utils.py` | Medium | Medium | **Resolved 2026-04-18** (34 direct unit tests in `test_backup_utils_direct.py`) |
9697
| 7 | Test coverage | `licensing.py` zero tests (security-adjacent) | Large | High | **Resolved 2026-04-18** (35 tests in `test_licensing.py` covering payload/validator/store/helpers including tampered-signature, wrong-secret, expired, and wildcard paths) |
97-
| 8 | TODO | Deferred "Save as new chapter" v1 in conflict dialog | Large | Low | Open |
98+
| 8 | TODO | Deferred "Save as new chapter" v1 in conflict dialog | Large | Low | **Resolved 2026-04-18**: inline TODO removed; tracker entry PS-13 opened in ROADMAP so the deferred feature lives where similar backlog items are managed |
9899

99100
## How to re-run this audit
100101

frontend/src/components/ConflictResolutionDialog.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,6 @@ export default function ConflictResolutionDialog({conflict, onKeepLocal, onDisca
111111
<RotateCcw size={14} aria-hidden />
112112
{t("ui.conflict.discard_local", "Meine Änderungen verwerfen")}
113113
</button>
114-
{/* TODO: "Save as new chapter" - deferred from v1 */}
115114
</div>
116115
</Dialog.Content>
117116
</Dialog.Portal>

0 commit comments

Comments
 (0)