review-state card location: route on the key kind, report pointer read errors, keep the routing pure #712

Closed
opened 2026-10-04 18:05:04 +00:00 by claude · 1 comment
Member

Follow-ups from IW-710 phase 1 code review. All four touch the review-state card location code in core/commands.

  • write/update --issue-id <slug> route on isFramedEffort(cwd), not on the key kind — core/commands/ReviewStatePath.scala, defaultLocations, line 95 on main. (path routes on the parsed WorktreeKey case; write/update do not.)
  • An unreadable .active-slice pointer is reported as "missing or empty", dropping the read error — core/commands/ReviewStatePath.scala activeSlicePointerContent, case Left(_) => noActiveSlice (review-phase-01, error-handling W1)
  • The (key kind, slice) routing in ReviewStatePath.locate is a pure decision living in the shell; it could move to ReviewStateLocation with the shell passing root and pointer content — core/commands/ReviewStatePath.scala locate (review-phase-01, architecture W1)
  • ReviewState.scala holds four subcommands in ~900 lines; path is read-only and could live in its own object — core/commands/ReviewState.scala (review-phase-01, composition W1)
Follow-ups from IW-710 phase 1 code review. All four touch the review-state card location code in `core/commands`. - [ ] `write`/`update --issue-id <slug>` route on `isFramedEffort(cwd)`, not on the key kind — `core/commands/ReviewStatePath.scala`, `defaultLocations`, line 95 on `main`. (`path` routes on the parsed `WorktreeKey` case; `write`/`update` do not.) - [ ] An unreadable `.active-slice` pointer is reported as "missing or empty", dropping the read error — `core/commands/ReviewStatePath.scala` `activeSlicePointerContent`, `case Left(_) => noActiveSlice` (review-phase-01, error-handling W1) - [ ] The (key kind, slice) routing in `ReviewStatePath.locate` is a pure decision living in the shell; it could move to `ReviewStateLocation` with the shell passing root and pointer content — `core/commands/ReviewStatePath.scala` `locate` (review-phase-01, architecture W1) - [ ] `ReviewState.scala` holds four subcommands in ~900 lines; `path` is read-only and could live in its own object — `core/commands/ReviewState.scala` (review-phase-01, composition W1)
Author
Member

Intake: agent-ready
Workflow: waterfall
Reason: all gates passed
Analysis: project-management/issues/IW-712/analysis.md on branch IW-712

Intake: agent-ready Workflow: waterfall Reason: all gates passed Analysis: project-management/issues/IW-712/analysis.md on branch IW-712
mph closed this issue 2026-10-10 18:38:06 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
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
iterative-works/iw-cli#712
No description provided.