Repository navigation
feat(work-items): task page on the object template (#2248) - #2349
Conversation
- Task page rebuilt on ObjectHeader, SummaryStrip and ObjectTabs: Start / Mark done primary, strip (When, Where, Who with Call, Expected cost, Waits for, Holds up, Documents), tabs Overview, Timing, Cost, Site diary and History. - GET /api/work-items/:id returns the page figures from the Tasks list helper (expected cost, grants, waits for, holds up, company phone); holds-up surface registered for the consistency test. - Timing tab: Dates and Constraints cards, Reschedule panel, dependency and milestone RelatedLists with an Edit dialog for type and lag; the DependencySentenceBuilder is retired (the New task form uses a Waits for picker). - Cost tab with cost lines and Grants; Site diary tab with derived entries and "Log for this task" pre-filling area and company. Fixes #2248 Co-Authored-By: Claude backend-developer <noreply@anthropic.com> Co-Authored-By: Claude frontend-developer <noreply@anthropic.com> Co-Authored-By: Claude translator <noreply@anthropic.com> Co-Authored-By: Claude qa-integration-tester <noreply@anthropic.com> Co-Authored-By: Claude e2e-test-engineer <noreply@anthropic.com> Co-Authored-By: Claude docs-writer <noreply@anthropic.com> Co-Authored-By: Claude product-architect <noreply@anthropic.com> Co-Authored-By: Claude ux-designer <noreply@anthropic.com> Co-Authored-By: Claude dev-team-lead <noreply@anthropic.com>
|
VERDICT: APPROVE Scope: server/ + shared/, client dependenciesApi/workItemsApi, diary capture company pre-fill, notes authorization. No findings.
|
|
VERDICT: REQUEST_CHANGES Story #2248 (AC1-AC10) is met in code. I checked the page shell, strip, tabs, Overview, Timing, Cost, Site diary, History, delete, the retired Findings (fix in this PR)
Rulings on the flagged decisions
Checks that passed
Once findings 1 and 2 are fixed, I approve. The story then goes to UAT on the board rather than straight to Done, because the page has visual ACs (AC9 fit) that only a rendered check settles. |
|
VERDICT: REQUEST_CHANGES Design review of #2349 (story #2248) against my spec on the issue and the Task page Style Guide section. Method: static review of the built code and CSS (no pixel render available here). Tokens, dark mode (Layer-2 tokens only, no overrides, no hardcoded values in any new All findings below are 1. Medium (a11y, focus): deleting a non-last checklist item or note drops focus to the page h1. 2. Medium (a11y): Move up / Move down is silent. 3. Medium (touch targets <=1023px): compact buttons without the 44px rule. 4. Medium (layout, Cost tab): the Cost lines section is bare and touches the Grants card. 5. Low (rhythm): panel gaps differ per tab. 6. Medium (AC9 phone / name legibility): Who fact with Call has ~55px for the name on a phone. 7. Low (a11y): focus is lost while the Reschedule section loads. Style Guide corrections (already pushed to the wiki, No follow-up issues: all seven are fixable in this PR. |
|
VERDICT: REQUEST_CHANGES Review of PR #2349 (#2248, task page), head Verified, no findings
Findings (all
No follow-up issues: all three are contained in the PR's files. |
- Delete focus returns to the row trigger; checklist moves are announced; 44px compact buttons below 1024px; Who fact wide with Call; shared panel spacing. - Moving between tasks remounts the page (no stale task flash); Reschedule heading takes focus on open. - Glossary entries Not before, Start by, Waiting for this task; docs strip rows corrected; Style Guide task page section matched to the code. Fixes #2248 Co-Authored-By: Claude docs-writer <noreply@anthropic.com> Co-Authored-By: Claude translator <noreply@anthropic.com> Co-Authored-By: Claude frontend-developer <noreply@anthropic.com> Co-Authored-By: Claude backend-developer <noreply@anthropic.com> Co-Authored-By: Claude qa-integration-tester <noreply@anthropic.com> Co-Authored-By: Claude product-architect <noreply@anthropic.com> Co-Authored-By: Claude ux-designer <noreply@anthropic.com> Co-Authored-By: Claude dev-team-lead <noreply@anthropic.com>
|
VERDICT: APPROVE Round 2 (82b3560): both findings are closed.
The AC1-AC10 coverage and every earlier ruling (D3, D4, D6, D8, D9, D11-D13, D16, D20) stand. The extra UX and architect fixes (focus return, 44px targets, checklist position announcement with en/de keys, task-to-task remount) are in scope and add no behaviour outside the AC. Board: after merge, #2248 goes to UAT (not Done-on-merge) because AC9 fit is a rendered check; use |
|
VERDICT: APPROVE Round 2 re-review of head 82b3560 (
Tokens only, no hardcoded values, dark mode unaffected, no new components. The extra |
|
VERDICT: REQUEST_CHANGES Round 2, head My three round-1 findings are fixed:
The wiki gitlink One new finding (
I found nothing else in this commit's other production changes: the compact buttons, focus return, the Reschedule heading focus (a synchronous mount effect) and the wide Who fact. |
|
VERDICT: APPROVE Head
No findings. |
|
VERDICT: APPROVE Re-review of head 1db9fe5 (
No findings. |
) Fixes #2248 Co-Authored-By: Claude frontend-developer <noreply@anthropic.com> Co-Authored-By: Claude qa-integration-tester <noreply@anthropic.com> Co-Authored-By: Claude e2e-test-engineer <noreply@anthropic.com> Co-Authored-By: Claude dev-team-lead <noreply@anthropic.com>
|
VERDICT: APPROVE Re-review of head 72c2c10 (
No findings. |
|
VERDICT: REQUEST_CHANGES Head Code: no findings.
One finding ( |
Fixes #2248 Co-Authored-By: Claude product-architect <noreply@anthropic.com> Co-Authored-By: Claude dev-team-lead <noreply@anthropic.com>
|
VERDICT: APPROVE Head |
Fixes #2248 Co-Authored-By: Claude qa-integration-tester <noreply@anthropic.com> Co-Authored-By: Claude e2e-test-engineer <noreply@anthropic.com> Co-Authored-By: Claude dev-team-lead <noreply@anthropic.com>
|
[orchestrator] Merge record for #2349 (story #2248). Reviewer verdicts:
Review rounds: 2. Before review, the internal review fixed the Call button sitting under the strip's stretched link, focus after the first Add from an empty list and after Add › Note, a hidden edit-mode dependency error, and an unknown pre-filled company. QA found and the team fixed a real defect: focus stayed on the heading after deleting the last saved checklist item. CI then exposed two real defects, fixed in 1db9fe5 and re-approved by product-architect and ux-designer: focus after the first Add from an empty list never reached the list's Add button (the dialog had already moved focus to the heading), and on phones the last "Add" menu item sat under the fixed bottom bar (the Add row now gets the shell bar's bottom clearance). The other CI fixes were tests only (the Cost tab URL, a controlled checkbox, forecast dates on undated tasks, the depError stage, the diary pre-fill href, grants on the task detail, and two field-label terms listed as having no search destination). A further CI run exposed a real overlap: a dialog that focuses a picker first opened the picker's list over the dialog's Cancel and Save. UX ruled that the shared SearchPicker opens its list only on user intent (click, typing, ArrowDown or Tab arrival), never on programmatic focus; fixed in 72c2c10 with tests for every path and the consumer tests switched to clicks. The rule is recorded in the wiki (7f56ac13, gitlink in aff1f17); ux-designer and product-architect approved. A final test-only commit (6a0d61f) switched the Paperless inline-company specs to click the picker and fixed two timing-dependent tests. CI: Quality Gates and E2E Gates green on head 6a0d61f. |
|
🎉 This PR is included in version 2.19.0-beta.71 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
GET /api/work-items/:idcarries the Tasks list figures (one helper); the holds-up figure is registered for the consistency test.DependencySentenceBuilderretired; "Log for this task" pre-fills area and company.Fixes #2248
Capabilities: WRK-022 to WRK-070, WRK-135, MNY-044/101/105/111/113/114 (capmap and routemap updated;
plan:checkgreen; baseline 3/10/1 → 0/6/1).Test plan
task-page.spec.ts(T1–T15) plus updated task-page specs; figure consistency registry.ci-wait.sh <pr> main).Co-Authored-By: Claude backend-developer noreply@anthropic.com
Co-Authored-By: Claude frontend-developer noreply@anthropic.com
Co-Authored-By: Claude translator noreply@anthropic.com
Co-Authored-By: Claude qa-integration-tester noreply@anthropic.com
Co-Authored-By: Claude e2e-test-engineer noreply@anthropic.com
Co-Authored-By: Claude docs-writer noreply@anthropic.com
Co-Authored-By: Claude product-architect noreply@anthropic.com
Co-Authored-By: Claude ux-designer noreply@anthropic.com
Co-Authored-By: Claude dev-team-lead noreply@anthropic.com
🤖 Generated with Claude Code