Skip to content

board.ts publishes task status as (done/failed/cancelled) — TaskStatus has completed, and done does not exist #609

Description

@serge-ivo

board.ts:273 publishes a task-status vocabulary containing a member that does not exist

workers/mcp/src/instance-tools/board.ts:273 advertises runtime task status as (done/failed/cancelled).

The real vocabulary is TaskStatus, whose member is completed. done does not exist.

Found by the vocabulary guard extended in #600 — the entry's citation resolves (so it passes the citation check added in that issue), but the published value set is wrong. That is worth noting on its own: a guard that verifies "this claim names a real source" does not verify "this claim matches that source", and this is the first case that separates them.

Why it misleads

A caller filtering or branching on done gets nothing and cannot tell an empty result from a wrong filter — the same failure mode as agent_trace level:"error" in #564, where a documented value that the code never emits made a real state unreachable through the documented route.

It is also the fourth advertised-vocabulary mismatch found in this batch, after coding_session_capture (working not in the union, offline unreachable), list_instance_tools tiers (2 of 4 documented), and agent_trace levels. Those were fixed individually; this one arrived after the guard and slipped through the gap between citation resolves and values match.

Acceptance criteria

  1. board.ts:273 publishes TaskStatus's actual members.
  2. The value set is derived from TaskStatus, not transcribed — RUN_HEALTH_STATES and RUN_WAIT_REASONS both became as const arrays this week for exactly this, and if TaskStatus is not already one, making it one is the fix rather than editing a string.
  3. The guard is extended from citation resolves to values match the cited source wherever the source is importable. Where it is not (workers/mcp cannot import workers/api), say so and record it as inventoried — that boundary is real and already documented.
  4. Denominator per ADR 0002: how many published value sets were checked against their cited source, out of how many carry a citation.
  5. Red demonstrated on done.

Verified vs inferred

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions