Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

tasks-lifecycle accepts completed status from its cancellable fixture

Open
#485 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
35/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
typescript
Domain
testing-qa

Research direction

Start with src/scenarios/server/tasks/lifecycle.test.ts and the tasks-lifecycle fixture contract in src/scenarios/server/tasks/lifecycle.ts, then run the focused npm test command. Verify that the declared sep-2663-tasks-get-status-cancelled check is emitted after terminal-state handling and that the deterministic fixture reports cancelled while the cancellation acknowledgement remains separate.

Written by the indexing model from the issue text.

Description

The tasks-lifecycle scenario requires its slow_compute fixture to settle to
cancelled when tasks/cancel arrives while it is running. The implementation
waits for a terminal status but records that status only in details. A server
that settles to completed therefore passes the cancellation check.

Minimal reproduction:

tasks/cancel -> {"resultType":"complete"}
tasks/get    -> {"resultType":"complete","taskId":"lifecycle-cancel","status":"completed","result":{"content":[{"type":"text","text":"done"}]}}
npm test -- --run src/scenarios/server/tasks/lifecycle.test.ts

A regression test expecting
sep-2663-tasks-get-status-cancelled currently fails because the scenario never
emits that declared check:

AssertionError: expected undefined to match object
Test Files  1 failed (1)
Tests       1 failed | 1 passed (2)

The smallest fix is to emit the existing check after waitForTerminal and fail
it unless this deterministic fixture settles to cancelled. The cancellation
acknowledgement remains a separate check.

References:

I have a small fix and regression test locally. I will wait for assignment,
help wanted, or explicit maintainer approval before opening a pull request.

AI assistance disclosure: GitHub Copilot CLI was used to inspect the public
specification and repository history, identify the missing conformance check,
prepare the reproducer, and draft this issue. I reviewed the evidence and can
explain the failure and proposed fix.

Dominant language
TypeScript
Stars
127
Forks
101
Avg merge
4d 7h
Merged PRs (30d)
6

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from modelcontextprotocol/conformance

All issues in modelcontextprotocol/conformance

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.