Phase 3: --needs-attention false sets the flag to true (defect 1) #488

Merged
mph merged 3 commits from IW-436-phase-03 into IW-436 2026-09-01 07:45:16 +00:00
Owner

Phase 03 implementation for IW-436.

Files

Browse changed files: https://code.iterative.works/iterative-works/iw-cli/-/blob/IW-436-phase-03/

Phase 03 implementation for IW-436. ### Files Browse changed files: https://code.iterative.works/iterative-works/iw-cli/-/blob/IW-436-phase-03/
Presence flags refuse a following value (defect 1)
All checks were successful
CI / contract (pull_request) Has been skipped
CI / format (pull_request) Successful in 7s
CI / lint (pull_request) Successful in 8s
CI / compile (pull_request) Successful in 1m17s
CI / dashboard-build (pull_request) Successful in 1m1s
CI / test (pull_request) Successful in 9m39s
2f3fc26e39
CLI CONTRACT CHANGE. `--needs-attention` and the 13 clear flags are
set-only. A value after one of them was previously read by nobody, so
`--needs-attention false` wrote `needs_attention: true` at exit 0. Such
an invocation now exits 1 and names the flag and the stray token. Per
RESOLVED 2 this is a straight semantic flip: no warning mode, no
deprecation period, no version floor.

- `parsePresenceFlag` scans every occurrence, delegating to
  `extractRepeatedFlag` — an `indexOf` shape would pass
  `--needs-attention --status x --needs-attention false`. It covers all
  14 flag names across 15 call sites, so the 13 sibling instances of the
  same defect close with it.
- `--needs-attention` carries the remedy a user cannot guess:
  `--clear-needs-attention` removes the field.
- 146 test lines added, none removed. Every rejection asserts the exact
  message, not `isLeft` — the message is the deliverable.
- Docs: both clear-flag tables state the rule, and the table gains the
  two rows it was missing, `--clear-activity` and `--clear-workflow-type`.

🤖 Generated with Claude Code
chore(IW-436): update review-state for phase 03
All checks were successful
CI / contract (pull_request) Has been skipped
CI / format (pull_request) Successful in 7s
CI / lint (pull_request) Successful in 8s
CI / compile (pull_request) Successful in 1m20s
CI / dashboard-build (pull_request) Successful in 1m0s
CI / test (pull_request) Successful in 9m29s
3fc36b5107
mph merged commit 48ebe754aa into IW-436 2026-09-01 07:45:16 +00:00
mph deleted branch IW-436-phase-03 2026-09-01 07:45:17 +00:00
Sign in to join this conversation.
No description provided.