fix(item): refuse a deadline on a step through Update #204

Merged
nalum merged 1 commit from fix/step-deadline-via-update into main 2026-08-26 18:33:04 +00:00
Owner

Closes #181.

SetDeadline refuses a deadline on an item with a parent_uid — a sub-job
carries no date of its own and would be invisible on every deadline surface
(ADR-0025). Update applied the same field with no such check, so the
forbidden state was reachable through the other door.

No client sends it today. It matters now because the jobs redesign commits
fields one at a time through Update, which brings the two doors much
closer together.

Reuses domain.ErrSubTaskDeadline rather than growing a second error, so
both doors fail identically. Clearing a deadline stays allowed, exactly as
SetDeadline allows it.

🤖 Generated with Claude Code

Closes #181. `SetDeadline` refuses a deadline on an item with a `parent_uid` — a sub-job carries no date of its own and would be invisible on every deadline surface (ADR-0025). `Update` applied the same field with no such check, so the forbidden state was reachable through the other door. No client sends it today. It matters now because the jobs redesign commits fields one at a time through `Update`, which brings the two doors much closer together. Reuses `domain.ErrSubTaskDeadline` rather than growing a second error, so both doors fail identically. Clearing a deadline stays allowed, exactly as `SetDeadline` allows it. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
fix(item): refuse a deadline on a step through Update
All checks were successful
check / commits (pull_request) Successful in 6s
check / go (pull_request) Successful in 3m4s
check / web (pull_request) Successful in 4m20s
check / report (pull_request) Successful in 3s
d6b2040c6b
SetDeadline already refused a non-empty deadline on an Item with a
parent_uid (ADR-0025: a step never appears on any deadline surface),
but Update applied req.Msg.Deadline unconditionally. Same forbidden
state, second door — no client exercises it today, but the upcoming
per-field-commit redesign drives deadlines through Update, bringing
the two doors together. Reuse domain.ErrSubTaskDeadline via
svc.MapDomainError so both doors fail identically; clearing a
deadline stays allowed on either path.

Test report

Suite Tests Result Skipped
Unit 1375 ✅ pass 1
Integration 90 ✅ pass —

Coverage: 26.8%

Updated by the check workflow · commit bb59757c42

<!-- ci-test-report --> ## Test report | Suite | Tests | Result | Skipped | | --- | --: | --- | --: | | Unit | 1375 | ✅ pass | 1 | | Integration | 90 | ✅ pass | — | **Coverage:** 26.8% <sub>Updated by the check workflow · commit bb59757c427854947f64e8c335f56b02e073c3c7</sub>
nalum force-pushed fix/step-deadline-via-update from d6b2040c6b
All checks were successful
check / commits (pull_request) Successful in 6s
check / go (pull_request) Successful in 3m4s
check / web (pull_request) Successful in 4m20s
check / report (pull_request) Successful in 3s
to bb59757c42
Some checks failed
check / commits (pull_request) Successful in 16s
android / build (pull_request) Successful in 6m53s
check / go (pull_request) Successful in 2m44s
check / web (pull_request) Successful in 5m47s
android / report (pull_request) Successful in 4s
check / report (pull_request) Successful in 4s
check / go (push) Has been cancelled
check / report (push) Has been cancelled
check / web (push) Has been cancelled
tag / tag (push) Has been cancelled
check / commits (push) Has been cancelled
2026-08-26 07:04:21 +00:00
Compare

Android test report

Suite Tests Result Skipped
Unit (debug) 43 ✅ pass 0

Coverage: 3.0% of lines

Updated by the android workflow · commit bb59757c42

<!-- android-test-report --> ## Android test report | Suite | Tests | Result | Skipped | | --- | --: | --- | --: | | Unit (debug) | 43 | ✅ pass | 0 | **Coverage:** 3.0% of lines <sub>Updated by the android workflow · commit bb59757c427854947f64e8c335f56b02e073c3c7</sub>
nalum changed target branch from docs/occurrence-date-zone to main 2026-08-26 18:32:58 +00:00
nalum merged commit bb59757c42 into main 2026-08-26 18:33:04 +00:00
nalum deleted branch fix/step-deadline-via-update 2026-08-26 18:33:07 +00:00
Sign in to join this conversation.
No reviewers
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
eagraiclainne/app!204
No description provided.