Skip to content

moooon

Motir

Vibe your whole project. Bring an idea — Motir's three AI layers plan it, track it, and ship it, end to end. You're looking at Motir, built in Motir.

  • Vibe Project
  • Open Source
  • AI Agent
  • AI Loop
1
requests
0
upvotes
145
planned
1,361
shipped

Motir · Work items

MOTIR-1494Done

Add Edit-dates to the sprint ⋯ menu — wire the existing PATCH /api/sprints/[id] start/end (UI gap)

Verified against shipped motir-core. Backend COMPLETE — the gap is UI only (same disabled menu as MOTIR-1492).

Reality

  • sprintsService.updateSprint() sets startDate/endDate and validates the effective merged window via assertWindow (lib/services/sprintsService.ts:216-226); complete frozen, active/planned editable.
  • PATCH /api/sprints/[id] accepts startDate/endDate (app/api/sprints/[id]/route.ts:58,71-82) + MCP update_sprint (lib/mcp/tools/updateSprint.ts:29-38).
  • The gap: dates are only settable through StartSprintDialog while STARTING the sprint (StartSprintDialog.tsx:132-137,172-173). No standalone date edit; the menu is disabled.

Fix (UI only, motir-core)

Add Edit dates to the sprint menu (reuse the shipped date-picker + FormField) → PATCH /api/sprints/[id] with { startDate, endDate }; validation end-after-start (the service's assertWindow enforces it server-side); re-render date-dependent surfaces. blocked_by MOTIR-1492.

Acceptance criteria

  • Editing a planned/active sprint's start/end from the menu persists via PATCH and re-renders; complete sprint's dates frozen; end-after-start enforced.

Context refs

  • Service lib/services/sprintsService.ts:216; route app/api/sprints/[id]/route.ts:58; start-only path StartSprintDialog.tsx:132; disabled menu SprintContainer.tsx:198.