Skip to content

fix: accept "canceled" for planning statuses at the API boundary - #310

Merged
stefan-ernst merged 2 commits into
Windshiftapp:mainfrom
spatialy:fix/ws-milestone-cancelled-status
Oct 5, 2026
Merged

stefan-ernst merged 2 commits into
Windshiftapp:mainfrom
spatialy:fix/ws-milestone-cancelled-status

Conversation

@spatialy

@spatialy spatialy commented Oct 5, 2026 •

Copy link
Copy Markdown
Contributor

What

The planning API now accepts both spellings for milestone and iteration statuses: canceled (US) and cancelled (UK, persisted). The service boundary normalizes canceled to cancelled before validation, filtering, and storage, so the v1/v2 HTTP APIs, MCP tools, and the ws CLI all behave the same.

The ws CLI no longer carries its own translation; it documents and sends the canonical value.

Why

The API only matched cancelled, so --status canceled (the value the CLI help previously advertised) filtered to nothing and failed create/update validation. Users type either spelling, so the alias belongs at the API boundary where every client benefits.

Tests

  • internal/services/planning_status_canceled_spelling_test.go: create, list, update, and status-set paths for milestones and iterations.
  • tests/v2_planning_status_alias_test.go: v2 HTTP endpoints, including invalid status rejection.

Both live in the adjacent core-tests repository on branch fix/ws-milestone-cancelled-status.

The API only accepts "cancelled" for milestones (planning_validation.go),
but `ws milestone ls --status` documented "canceled", so filtering by the
documented value matched nothing.

Show the persisted spelling in the --status help of ls, create and update,
and map "canceled" to "cancelled" before sending, so both spellings work.
@github-actions

github-actions Bot commented Oct 5, 2026 •

Copy link
Copy Markdown

All contributors have signed the CLA ✍️ ✅
Posted by the CLA Assistant Lite bot.

@spatialy

spatialy commented Oct 5, 2026

Copy link
Copy Markdown
Contributor Author

I have read the CLA Document and I hereby sign the CLA

@spatialy

spatialy commented Oct 5, 2026

Copy link
Copy Markdown
Contributor Author

recheck

Normalize the US spelling at the planning service boundary so milestone
and iteration create, update, list, and status-set calls accept either
spelling. This covers the v1/v2 HTTP APIs, MCP tools, and the ws CLI.

The ws CLI drops its own translation and documents the canonical value.
@stefan-ernst stefan-ernst changed the title fix: accept "canceled" for ws milestone status flags fix: accept "canceled" for planning statuses at the API boundary Oct 5, 2026
@stefan-ernst

Copy link
Copy Markdown
Contributor

Moved the check to the API surface to keep it consistent for other tool calls, thanks for the PR! merging

@stefan-ernst
stefan-ernst merged commit fd8f6b4 into Windshiftapp:main Oct 5, 2026
1 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants