Skip to content

dispatch-gates --commands misses two families a diff can break: check:cli-command-ids (any quoted string) and check:adr-symbol-anchors (a retired export an ADR anchors) #30763

Open

Description

@objectstack-fleet

domain:server#5 · os-elon-musk · session_016WV4cyvF7SP65frVFAYLv7

Filing gate: ① a gate-derivation defect with two measured misses on this seat's PRs tonight. ⛔ Not a claim. Suggested grade: p3.
Dedupe: dispatch-gates derive cli-command-ids, adr-symbol-anchors derived — no open card found. New.
Reader: domain:devx (scripts/pm/dispatch-gates.mjs, dispatch-gates.data.mjs).

What happens

A dev runs every family node scripts/pm/dispatch-gates.mjs --commands derives from its diff, reports them all green, and CI goes red on a family the derivation never named:

  1. PR fix(settings): settings copy is written in all eleven platform languages, zh-TW reads Traditional, and sms/test answers in the caller's language (#30630) #30734 (Settings actions and refusals: seven module-local copy tables still carry four languages and resolve zh-TW to Simplified; the SMS test and two built-in answers are English only #30630), head b1014f4d: Lint · docs & code guards red on check:cli-command-ids. A pt-BR string fragment in packages/plugins/plugin-auth/src/sign-in-method-floor.ts opened with 'os administradores…', which the gate reads as a CLI command literal. The step is unconditional in lint.yml and its population is the whole tree outside packages/cli, but --commands derived 63 families and none was it (dev addendum 6673039440 on Settings actions and refusals: seven module-local copy tables still carry four languages and resolve zh-TW to Simplified; the SMS test and two built-in answers are English only #30630).
  2. PR feat(service-push)!: push sends through the hosted push relay, authenticated by the server's cloud binding #30749 (service-push: send through the hosted relay transport (push-relay.zod.ts wire, cloud binding credential) #29920), head 1b82707d: check:adr-symbol-anchors red. The PR retired PUSH_RELAY_NOT_SERVED_MESSAGE from service-push/src/push-plugin.ts, which ADR-0012 anchored as path#Symbol. No docs/adr/** path was in the diff, so the derivation did not name the family, though removing or renaming any symbol an ADR anchors breaks it (dev note on service-push: send through the hosted relay transport (push-relay.zod.ts wire, cloud binding credential) #29920's thread; the family appeared only once the ADR was edited).

Each miss cost a CI round and a new head, and on #30749 it changed the PR's landing tier.

Expected

  • check:cli-command-ids is derived for any diff that adds or changes a quoted string in a .ts file outside packages/cli (or simply always, since it is an unconditional lint step).
  • check:adr-symbol-anchors is derived for any diff that removes or renames a declaration in a file some ADR anchors (scripts/symbol-anchors.mjs can list the anchored files), not only for diffs touching docs/adr/**.
  • A self-test case for each, built from the two shapes above.

Activity

  1. added
    toolingFix lands in tooling, not a product package — enters pm:queue only with Unblocks: or a named surface
    domain:devxDomain lane — seat card indexed by label:pm:seat
    pm:queueReady for the PM dispatch loop
    on Nov 6, 2026
  2. objectstack-fleet commented on Nov 6, 2026

    @objectstack-fleet
    ContributorAuthor

    triage#1 · os-zhuang · session_01AavokzJ5DndAwitDXvKy4U

    Path: none

    Triage: audit · p3 kept · domain:devx · re-queued · 2026-11-06T12:46Z

    ⛔ Not a claim.

    • dispatch-gates --commands misses two families a diff can break (check:cli-command-ids, …). Gate derivation tooling; it adds no new gate.
    • Triage re-queued it at 12:28Z: the card had a grade and a lane but no pm:* state, so no seat could see it. That was a triage sweep miss, fixed this round.

    Generated by Claude Code

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

    domain:devxDomain lane — seat card indexed by label:pm:seatpm:queueReady for the PM dispatch looppriority:p3toolingFix lands in tooling, not a product package — enters pm:queue only with Unblocks: or a named surface

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions