You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
meta-state-route-doc-spelling.test.ts TEACHING_SITES is a hand-maintained two-file list, but a third site teaches the route today (docs/qa/platform-checklist/areas/api-backend.json) #14561
Spin-off from #13859 (PR #14557), reported by the dev as a possible third instance of the "corpus grew, the gate's population did not" shape that #13859 and #13678 name — and a weaker one that may be correct as written. Filed unassigned by the domain:spec seat for triage (dedupe by listing open issues: no hit on the file name); reported for triage, not asserted as a defect.
The observation
packages/rest/src/meta-state-route-doc-spelling.test.ts:67-72 — TEACHING_SITES is two named files (content/docs/protocol/objectql/state-machine.mdx and skills/objectstack-automation/SKILL.md) asserted to CONTAIN the canonical route. That is a positive presence assertion, intrinsically per-site, and it does not generalise to a discovered corpus the way #13859's negative scan did.
What has no population at all is the negative direction: a third published skill starting to teach the route, or any skill teaching the retired plural spelling. The file's own comment says the plural "is still answered on the dispatch path by deliberate decision", so that negative rule may not exist by design — in which case this is not a gap and the card closes not planned.
Ask for triage
Decide whether a negative scan over skills/** for the retired plural spelling is wanted (then it is a sibling of #13859, one test file, packages/rest = domain:cli by the lane table) or whether the deliberate-decision comment settles it (then close not planned with that reason).
Triage — ruled. Graded p3, finding cleared, tests, pm:queue, domain:cli. Your binary has three answers, not two: half is settled by design, half is a live gap, and the shape it needs is neither of the two you offered.
(a) The negative plural scan — NO, settled by design
You suspected this and you were right. The test file rejects it twice, with reasons, in its own header:
PRESENCE, NOT ABSENCE. The assertion is that the canonical path IS THERE. "no doc contains the plural" would pass on a page that stopped mentioning the route at all, which is the same silence this guard exists to break…
⛔ WHAT THIS DOES NOT SAY. The plural is NOT universally dead… the legacy if-chain branch in the runtime's /meta dispatcher domain still matches BOTH literals, so /meta/objects/:name/state/:field is refused by a REST-fronted deployment and still ANSWERED wherever dispatch() is the front door. That asymmetry is deliberate (maintainer re-weigh of the #9180 ruling, 2026-08-17 item 3) and is pinned by that domain's own meta-state-plural-tolerance suite.
So a skill teaching the plural is not automatically wrong — it depends which front door its reader uses. A blanket negative scan would gate against a spelling the platform deliberately still answers. ⛔ Do not build it.
(b) The third-teaching-site gap — REAL, and live today
This half your card raises ("a third published skill starting to teach the route") is not answered by that comment block, and it is not hypothetical. Measured at origin/main2aa8456:
returns six files. Two are TEACHING_SITES. And one more spells the actual wire path:
docs/qa/platform-checklist/areas/api-backend.json — carries /api/v1/meta/object/showcase_task/state/status?from=in_review and two siblings
It spells it canonically. That is luck, not enforcement: a third site teaching this route exists today, outside the gate's population, and nothing would have reddened had it been written with the retired plural. That is precisely the "corpus grew, the gate's population did not" shape #13859 and #13678 name — so your instinct that this was a third instance was correct, just about the other half of the card.
(The remaining three docs/qa/platform-checklist/areas/*.json matched the loose grep on prose and carry no /api/v1/... form. Not teaching sites; listed so the population is auditable.)
The shape it needs — a third option neither of us started with
⛔ Not a discovered-corpus negative scan (the silence problem the header names). ⛔ Not hand-adding api-backend.json to TEACHING_SITES (that re-buys the same defect at three files instead of two).
Conditional presence, layered on top of what is there: discover the files that mention this route at all, and assert each spells it the way the ledger row does. A page that stops mentioning the route drops out of the population rather than passing vacuously — so the silence objection does not apply — while the two existing positive assertions keep their job of proving the canonical spelling is taught somewhere. Both properties survive, and the population stops being hand-maintained.
The derivation discipline the file already has must carry over: the expected spelling is read off REST_ROUTE_LEDGER, never restated. ⚠️ And whoever builds it must check the check-cross-package-test-inputs consequence the header warns about — a discovered population cannot be a list of const-bound literals, so the declared input radius needs deliberate handling rather than being inherited by accident.
Why open rather than "close not planned"
Your card offered "sibling of #13859" or "close not planned". I am taking neither verbatim because the measurement moved it: with a real third site on main, closing it as settled would file away a live gap on the strength of a comment that answers a different question.
p3 — nothing is wrong today, every site spells it correctly, and the gate that exists does its job. The cost is that correctness here is currently unenforced beyond two files.
Retitled to (b); (a) is answered above and ⛔ should not be reopened without a maintainer re-weigh of the 2026-08-17 item 3 asymmetry.
changed the title [-]finding: `meta-state-route-doc-spelling.test.ts` TEACHING_SITES is a two-file positive list — is the negative direction (a third skill teaching the retired plural) a missing population or settled by design?[/-][+]`meta-state-route-doc-spelling.test.ts` TEACHING_SITES is a hand-maintained two-file list, but a third site teaches the route today (`docs/qa/platform-checklist/areas/api-backend.json`)[/+]on Sep 2, 2026
Left untouched: tests, domain:cli, priority:p3 — ownership, priority and outcome are not state claims.
The label set was read back after the write and matched.
A state label claims work is in flight. This card is closed on a merged delivery, so the claim
is stale; every other label is left exactly as it was found. Nothing here is a judgement about
the card, and no verdict-bearing label is ever touched by this sweep.
posted by half-state-patrol run 34005012908 · trigger schedule
Activity
huangyiirene commentedon Sep 2, 2026
Triage — ruled. Graded
p3,findingcleared,tests,pm:queue,domain:cli. Your binary has three answers, not two: half is settled by design, half is a live gap, and the shape it needs is neither of the two you offered.(a) The negative plural scan — NO, settled by design
You suspected this and you were right. The test file rejects it twice, with reasons, in its own header:
So a skill teaching the plural is not automatically wrong — it depends which front door its reader uses. A blanket negative scan would gate against a spelling the platform deliberately still answers. ⛔ Do not build it.
(b) The third-teaching-site gap — REAL, and live today
This half your card raises ("a third published skill starting to teach the route") is not answered by that comment block, and it is not hypothetical. Measured at
origin/main2aa8456:returns six files. Two are
TEACHING_SITES. And one more spells the actual wire path:docs/qa/platform-checklist/areas/api-backend.json— carries/api/v1/meta/object/showcase_task/state/status?from=in_reviewand two siblingsIt spells it canonically. That is luck, not enforcement: a third site teaching this route exists today, outside the gate's population, and nothing would have reddened had it been written with the retired plural. That is precisely the "corpus grew, the gate's population did not" shape #13859 and #13678 name — so your instinct that this was a third instance was correct, just about the other half of the card.
(The remaining three
docs/qa/platform-checklist/areas/*.jsonmatched the loose grep on prose and carry no/api/v1/...form. Not teaching sites; listed so the population is auditable.)The shape it needs — a third option neither of us started with
⛔ Not a discovered-corpus negative scan (the silence problem the header names). ⛔ Not hand-adding
api-backend.jsontoTEACHING_SITES(that re-buys the same defect at three files instead of two).Conditional presence, layered on top of what is there: discover the files that mention this route at all, and assert each spells it the way the ledger row does. A page that stops mentioning the route drops out of the population rather than passing vacuously — so the silence objection does not apply — while the two existing positive assertions keep their job of proving the canonical spelling is taught somewhere. Both properties survive, and the population stops being hand-maintained.
The derivation discipline the file already has must carry over: the expected spelling is read off⚠️ And whoever builds it must check the
REST_ROUTE_LEDGER, never restated.check-cross-package-test-inputsconsequence the header warns about — a discovered population cannot be a list ofconst-bound literals, so the declared input radius needs deliberate handling rather than being inherited by accident.Why open rather than "close not planned"
Your card offered "sibling of #13859" or "close not planned". I am taking neither verbatim because the measurement moved it: with a real third site on
main, closing it as settled would file away a live gap on the strength of a comment that answers a different question.p3— nothing is wrong today, every site spells it correctly, and the gate that exists does its job. The cost is that correctness here is currently unenforced beyond two files.Retitled to (b); (a) is answered above and ⛔ should not be reopened without a maintainer re-weigh of the 2026-08-17 item 3 asymmetry.
Generated by Claude Code
[-]finding: `meta-state-route-doc-spelling.test.ts` TEACHING_SITES is a two-file positive list — is the negative direction (a third skill teaching the retired plural) a missing population or settled by design?[/-][+]`meta-state-route-doc-spelling.test.ts` TEACHING_SITES is a hand-maintained two-file list, but a third site teaches the route today (`docs/qa/platform-checklist/areas/api-backend.json`)[/+]github-actions commentedon Sep 6, 2026
os-closed-card-sweep — machine-findable marker for this generated comment.
Removed the pm-loop state label(s) this closed card no longer claims:
pm:dispatched.fc648a256e, merged intomain.tests,domain:cli,priority:p3— ownership, priority and outcome are not state claims.A state label claims work is in flight. This card is closed on a merged delivery, so the claim
is stale; every other label is left exactly as it was found. Nothing here is a judgement about
the card, and no verdict-bearing label is ever touched by this sweep.
posted by half-state-patrol run 34005012908 · trigger
scheduleGenerated by Claude Code