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
finding(process): 5 of 6 pm:queue + domain:ui cards read this round were not dispatchable — 3 of them say so in their own body, and only reading the body reveals it #6853
Filed by the objectuidomain:ui execution seat (PM session session_01CRJge11jso9TpXRWFt1Z49) for the triage seat. Unassigned, unlabelled — grading is triage's. ⛔ Not a complaint about any individual grade; the point is the ratio and what it costs.
The measurement
Looking for dispatchable work in pm:queue + domain:ui this round, 6 cards were read in full. 5 were not dispatchable.
a maintainer ruling's stated precondition ("zero producers author title") is falsified by three independent measurements, two of them already on the card
⇒ 3 of the 5 carry pm:queue over a body that names its own manual floor, in its own words.
⚠️ What makes this expensive rather than merely untidy
Nothing outside the body distinguishes these from ready work. Label says pm:queue. priority is present or absent independent of this. The title reads like a normal finding. An execution seat that trusts the label — which is what "执行座位信任标签" instructs — dispatches them.
And the cost is not a wasted dispatch. It is worse in two directions:
⛔ Not a decision-box item. There is nothing here for the maintainer to rule on.
Suggested shape (⛔ not a ruling — triage owns this)
The recurring signal is textual and specific: bodies containing "needs a ruling", "changes a published contract", "not a queue card", "filed for triage", "wants a decision". That is mechanically detectable.
A cheap grep-class check over pm:queue bodies for that phrase family, reporting candidates for regrade. ⚠️ It would be advisory, not a gate — the phrases are heuristics and a card may use them about something already resolved.
Or a triage-side convention: when a card's own body names a floor, it goes to needs-user-decision or stays finding at first touch rather than to pm:queue.
Dedup done via repo-scoped REST list (270 open issues) + local grep, with controls firing (finding 168, triage 116). ⚠️ MCP search_issues was silently returning empty at the time and could not be used — filed separately as #6852, because a dedup run in that state passes vacuously.
Filed by the
objectuidomain:uiexecution seat (PM sessionsession_01CRJge11jso9TpXRWFt1Z49) for the triage seat. Unassigned, unlabelled — grading is triage's. ⛔ Not a complaint about any individual grade; the point is the ratio and what it costs.The measurement
Looking for dispatchable work in
pm:queue+domain:uithis round, 6 cards were read in full. 5 were not dispatchable.title") is falsified by three independent measurements, two of them already on the card⇒ 3 of the 5 carry
pm:queueover a body that names its own manual floor, in its own words.Nothing outside the body distinguishes these from ready work. Label says
pm:queue.priorityis present or absent independent of this. The title reads like a normal finding. An execution seat that trusts the label — which is what "执行座位信任标签" instructs — dispatches them.And the cost is not a wasted dispatch. It is worse in two directions:
s.title ?? s.labelalias limb — converge on the declaredlabelslot (spec-side disposition A of objectstack#11661) #6190 would have shipped a user-visible regression. Its ruling says drop thes.titlelimb; the repo's own synthesizer (buildDefaultPageSchema.ts:623) emitstitleand notlabel, so everyfieldGroups-derived default detail page would have lost its section headings. Only reading eight comments caught it.schema.title, whichObjectGridSchemadoes not declare — the #6459 mechanism one layer up, on the grid's own authoring surface #6639 / finding(types): 28 zod-mirror keys are declaredz.function(), which NO JSON document can satisfy — 14 in-repo corpus files author them and are silently invalid #6124 / finding(docs/types): everycontent/docs/core/report-schemaauthoring example contradicts the types it annotates —dataSourceis typed as the runtimeDataSourceadapter, andexportsdemands all five formats #6121 each put an implementer in front of a contract call that neither they nor an execution seat may make. The likely outcome is a dev stopping and reporting — which is the correct behaviour and has happened repeatedly this week — but it spends a full dispatch cycle to rediscover something the card already says.⛔ What this is not
z.function(), which NO JSON document can satisfy — 14 in-repo corpus files author them and are silently invalid #6124's measurement is unusually strong (28 keys declaredz.function()on a JSON-authored vocabulary, no JSON value can satisfy it, 14 corpus files invalid today, and all 14 sit in the structure-key-less setobjectui checknever judges — invalid and unreported).pm:retriagewith dissent comments (finding(plugin-grid): ObjectGrid readsschema.title, whichObjectGridSchemadoes not declare — the #6459 mechanism one layer up, on the grid's own authoring surface #6639, finding(types): 28 zod-mirror keys are declaredz.function(), which NO JSON document can satisfy — 14 in-repo corpus files author them and are silently invalid #6124, finding(docs/types): everycontent/docs/core/report-schemaauthoring example contradicts the types it annotates —dataSourceis typed as the runtimeDataSourceadapter, andexportsdemands all five formats #6121); record:details section heading: drop thes.title ?? s.labelalias limb — converge on the declaredlabelslot (spec-side disposition A of objectstack#11661) #6190 isneeds-user-decision. Those are done.Suggested shape (⛔ not a ruling — triage owns this)
The recurring signal is textual and specific: bodies containing "needs a ruling", "changes a published contract", "not a queue card", "filed for triage", "wants a decision". That is mechanically detectable.
pm:queuebodies for that phrase family, reporting candidates for regrade.needs-user-decisionor staysfindingat first touch rather than topm:queue.content/docs/core/report-schemaauthoring example contradicts the types it annotates —dataSourceis typed as the runtimeDataSourceadapter, andexportsdemands all five formats #6121 looks separable the same way — its own body says "five of them … compile untouched today", which is queue work sitting behind a ruling that does not block it.Provenance
Dedup done via repo-scoped REST list (270 open issues) + local grep, with controls firing (⚠️ MCP
finding168,triage116).search_issueswas silently returning empty at the time and could not be used — filed separately as #6852, because a dedup run in that state passes vacuously.Generated by Claude Code