trackslash
TRACK-68 P2

Add a per-project setting to enable or disable sprints

0
All issues

Description

Goal

Sprints aren't always needed. Sometimes it's simpler to work ticket by ticket. Add a toggle in each project's settings to choose between:

  • Sprint mode (sprints enabled): work runs sprint by sprint, as it does today.
  • Non-sprint mode (sprints disabled): tickets are completed one by one, with no active sprint.

Behavior

  • New Sprints toggle in project settings. Only users who can edit project settings can change it.
  • Disabled by default for new projects.
  • Enabling sprints is always allowed.
  • Disabling sprints is only allowed when the project has no active sprint. While a sprint is active, the toggle is disabled and explains why ("Complete the active sprint to disable sprints").
  • In non-sprint mode:
    • A sprint cannot be started. Active-sprint views and controls are hidden or show their no-active-sprint state (see TRACK-23).
    • Work is picked up and completed one issue at a time.
    • Planned (future) sprints still exist and can be created, edited, reordered and have issues assigned to them.
    • Issues in planned sprints can still be picked up and completed individually without starting the sprint.
  • Toggling in either direction never changes completed sprint history or planned sprints.

Acceptance criteria

  • The setting is stored per project, with a migration. New projects default to disabled. Existing projects that have an active sprint must migrate as enabled so the invariant holds.
  • The server enforces the rules through the web UI, REST API and MCP tools:
    • Disabling sprints while a sprint is active returns a validation error.
    • Starting a sprint while sprints are disabled is rejected.
  • The setting can be read and changed through the API and MCP, not only the web UI.
  • The UI shows or hides sprint-mode-only controls to match the setting. Sprint planning and completed sprint history stay reachable in both modes.
  • Changing the setting is recorded in the project changelog and pushed to other open clients via realtime events.
  • Tests cover: permission to toggle, disabling blocked by an active sprint, starting a sprint rejected when disabled, planned and completed sprints unchanged across toggles, and completing an issue from a planned sprint in non-sprint mode.

Open question

In non-sprint mode, when an issue that belongs to a planned sprint is completed, does it stay attached to that sprint or leave it?

Sub-issues

0

Linked issues

0

GitHub

0

No branches or pull requests linked.

Comments

0
No comments.