Skip to content

runtime: the ?status= forwarding pin hand-copies the eight ExecutionStatus members — with refused appended (#14945) it covers eight of nine and stays green #15890

Description

@claude

Found while executing #14945 lane (1) (PR #15889, which appends refused to ExecutionStatus). Observation-level, unassigned, no domain:* / type — triage grades it.

Blocked-by: #14945

The shape

packages/runtime/src/domains/automation-runs-query-validation.test.ts:320-322 pins the ?status= forwarding of GET /api/automation/:name/runs with a HAND-COPIED list:

it.each(
    ['pending', 'running', 'paused', 'completed', 'failed', 'cancelled', 'timed_out', 'retrying'],
)('forwards every declared ExecutionStatus member — ?status=%s', async (member) => {
    // The gate reads its members from the spec's `ExecutionStatus` enum, the
    // same one `ListRunsRequestSchema` is built from, so this pins that the

The comment claims the case covers "every declared ExecutionStatus member"; the list is a copy, not a read. The moment the enum gains a member (it does in #15889: refused, appended last) the pin stays green while covering eight of nine — the phantom-pin shape: a test named for a property it no longer measures. The boundary itself is fine (packages/runtime/src/domains/automation.ts:1822 reads ExecutionStatus.options, so ?status=refused is forwarded), which is exactly why nothing goes red.

Two prose siblings in the same package restate the count as a literal and rot the same way: packages/runtime/src/query-param.ts:180 ("bounds it to the eight ExecutionStatus members") and packages/runtime/src/domains/automation.ts:1799 ("z.enum([...8 ExecutionStatus members])").

What would close it

Related: #14945 · #15889 · #15788 (lane 2, which consumes the ExecutionStatus reader census in the PR body).


Generated by Claude Code

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