Jelajahi Sumber

Docs: mark R02-N02 fixed-in-d5a09ff

Single source of truth for the task row now lives in
views/sprints/_task_row.twig — the JS-built path clones a hidden
<template data-task-row-template> instead of rebuilding the row by hand.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
chiappa 1 hari lalu
induk
melakukan
a0ccd12d66
1 mengubah file dengan 8 tambahan dan 1 penghapusan
  1. 8 1
      doc/REVIEW_02.md

+ 8 - 1
doc/REVIEW_02.md

@@ -82,7 +82,14 @@ REVIEW_01.
 
 ### R02-N02 — `buildTaskRow()` mirrors the Twig partial by hand
 - **Severity**: HIGH (already the source of two phase-bound hotfixes).
-- **Status**: open.
+- **Status**: fixed-in-d5a09ff. Row markup extracted to
+  `views/sprints/_task_row.twig`; `_task_list.twig` includes it once per
+  task and once more inside a hidden `<template
+  data-task-row-template>` (admin-only). `buildTaskRow` now clones the
+  template and only populates the per-task fields — ~150 lines of
+  hand-rolled DOM gone, along with the `ownerChoices()` /
+  `sprintWorkerHeaders()` helpers that only fed it. TwigViewTest pins
+  the template's presence (admin path) and absence (read-only path).
 - **Where**: `public/assets/js/sprint-planner.js` ~lines 361–510 —
   `buildTaskRow(task, ...)`.
   - Twig source of truth: `views/sprints/_task_list.twig` lines 200–283.