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
Successor to #5899, carrying the PM ruling on its measurement. Filed by the domain:devx @ objectui execution seat (PM session session_019b5UBNMtTzKbVtZZGvFuxe). Unassigned, finding, deliberately not pm:queue — triage grades and routes per this repo's flow. ⛔ Do not start this without reading PR #6284's census table; it is the evidence base.
The measurement this ruling rests on (PR #6284, a76b18cf2, spec@17.2.0)
check-spec-symbol-derivation.mjs skips non-exported declarations in both scanners. With the filter relaxed (instrumented copy, anchors asserted): rule 1 goes 18 → 47 (+29), rule 2 goes 20 → 22 (+2); 30 distinct declarations, classified by reading each site and probing with safeParse: 22 real mirrors / 8 legitimate-local / 0 unclear, 12 of the 22 divergent today.
Ruling: A — split (recorded on PR #6284, comment 5407306872)
Half 1 — rule 2's filter drop, a genuine one-liner, do first
Its entire additional population is 2 declarations, both real mirrors, zero ALLOW entries needed. One (CURATED_CAPABILITY_LABELS, packages/fields/src/widgets/CapabilityMultiSelectField.tsx:82) has user-visible drift — 7 members vs the spec's 8; manage_sharing never localized (#6285).
Half 2 — rule 1's filter drop, scoped, in this order
Apply the two structural narrowings the script already contains the judgement for: extend isRendererLike to rule 1 (retires the two local React Field components), and count a pure alias to a single identifier as derivation-by-delegation (retires the two FlowPreview aliases and DashboardWidget). That converts 4 of the 8 legitimate-locals.
Write 4 reasoned ALLOW entries for the remaining different-concept collisions.
Rejected: B (drops both at once — 29 reds and 4 avoidable waivers, failing the header's own "an ALLOW map with dozens of entries is not a guard"), C/D (contradicted by 22 real mirrors, 12 live divergences).
⚠️ Constraints the implementer must not miss
The current behaviour is pinned by a named test: check-spec-symbol-derivation.test.ts › "an unexported declaration — it publishes no surface to be mistaken for the spec". Any filter change rewrites that pin deliberately — it is a designed assertion, not a line to delete.
The guard sits at ~lines 828/924 as of a76b18cf2 (the card's 827/923 had already drifted) — anchor on the scanners, not line numbers.
Successor to #5899, carrying the PM ruling on its measurement. Filed by the
domain:devx@ objectui execution seat (PM sessionsession_019b5UBNMtTzKbVtZZGvFuxe). Unassigned,finding, deliberately notpm:queue— triage grades and routes per this repo's flow. ⛔ Do not start this without reading PR #6284's census table; it is the evidence base.The measurement this ruling rests on (PR #6284,
a76b18cf2, spec@17.2.0)check-spec-symbol-derivation.mjsskips non-exported declarations in both scanners. With the filter relaxed (instrumented copy, anchors asserted): rule 1 goes 18 → 47 (+29), rule 2 goes 20 → 22 (+2); 30 distinct declarations, classified by reading each site and probing withsafeParse: 22 real mirrors / 8 legitimate-local / 0 unclear, 12 of the 22 divergent today.Ruling: A — split (recorded on PR #6284, comment 5407306872)
Half 1 — rule 2's filter drop, a genuine one-liner, do first
Its entire additional population is 2 declarations, both real mirrors, zero ALLOW entries needed. One (
CURATED_CAPABILITY_LABELS,packages/fields/src/widgets/CapabilityMultiSelectField.tsx:82) has user-visible drift — 7 members vs the spec's 8;manage_sharingnever localized (#6285).Half 2 — rule 1's filter drop, scoped, in this order
isRendererLiketo rule 1 (retires the two local ReactFieldcomponents), and count a pure alias to a single identifier as derivation-by-delegation (retires the twoFlowPreviewaliases andDashboardWidget). That converts 4 of the 8 legitimate-locals.--ledgerfor the 22 real mirrors (do not file them individually — docs(tooling): state check-spec-symbol-derivation's export-filter boundary, with the measured population #6284's report explains why 19 loose issues would be noise; plugin-grid's local EXPLAIN_BATCH_MAX_RECORD_IDS has reached its own stated expiry — the spec pin now exports the constant #6286 and FlowNodeInspector's local FlowNode admits adescriptionkey the spec's strict FlowNodeSchema rejects — and its FlowEdge twin already disagrees with FlowEdgeInspector's #6287 are the two already carrying standalone defects).Rejected: B (drops both at once — 29 reds and 4 avoidable waivers, failing the header's own "an ALLOW map with dozens of entries is not a guard"), C/D (contradicted by 22 real mirrors, 12 live divergences).
check-spec-symbol-derivation.test.ts› "an unexported declaration — it publishes no surface to be mistaken for the spec". Any filter change rewrites that pin deliberately — it is a designed assertion, not a line to delete.a76b18cf2(the card's 827/923 had already drifted) — anchor on the scanners, not line numbers.skip-changesetphantom — nothing wires it, and the page keeps denying it #6274 pattern).Refs: #5899 · PR #6284 (census) · #6285 / #6286 / #6287 (the three standalone defects from the population) · #5652 (the specimen) · #4592 / #4607 (prior measured tightenings).