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
#13390 named five hand-kept spellings of one set — the collections the runtime publish
gate carries in a per-write snapshot. Its triage scoped that card to the four living in packages/lint/src/runtime-gate.ts (domain:devx, by the anchoring rule) and explicitly
left the fifth alone as another lane's surface. That card is now implemented, so this is
the remainder, filed rather than dropped.
The last row is the one still hand-maintained. Its satisfies clause asks that every key it
names is a real RuntimeStackContext key; it does not ask that every collection needing an
entry has one. That is the same asymmetry NAME_KEYED_STACK_KEYS had, one package over.
Not a defect today, and the reason it is still worth a card
The set is correct as it stands — nothing is broken. What #13390 established is that
"correct today" is the whole problem with this shape: adding the pages collection had to
touch all five spellings and only ONE announced itself, and the one with no guard produced
correct-LOOKING findings whose path the caller cannot resolve, with no test or gate going
red. Four of the five can no longer be forgotten. This one still can.
Not verified — what someone picking this up should measure first
⚠️ I did not measure any of the following; the devx card's boundary was explicit and I did
not cross it. State these before acting on them:
whether CLOSURE_CONTEXT_KEY_BY_TYPE is derivable at all from inputs metadata-protocol
already holds, or whether the derivation would have to reach into @objectstack/lint
(only buildRuntimeWriteSnapshots and five siblings are exported from @objectstack/lint/runtime, and that entry's narrowness is itself pinned);
whether packages/metadata-protocol/src/protocol.ts's accumulator (retyped as a mapped
type over RuntimePendingDeclarations, the one spelling the compiler could already see)
is the seam the assertion belongs on instead.
Filed unassigned from the #13390 dispatch, not fixed there: the fix lands in packages/metadata-protocol, which the #13390 triage placed in another lane.
Observation
#13390 named five hand-kept spellings of one set — the collections the runtime publish
gate carries in a per-write snapshot. Its triage scoped that card to the four living in
packages/lint/src/runtime-gate.ts(domain:devx, by the anchoring rule) and explicitlyleft the fifth alone as another lane's surface. That card is now implemented, so this is
the remainder, filed rather than dropped.
RuntimeStackContextpackages/lint/src/runtime-gate.tsCONTEXT_STACK_KEYSpackages/lint/src/runtime-gate.tssatisfies— validity, not completenessNAME_KEYED_STACK_KEYSpackages/lint/src/runtime-gate.tsTOP_LEVEL_INDEXpackages/lint/src/runtime-gate.tsCLOSURE_CONTEXT_KEY_BY_TYPEpackages/metadata-protocol/src/runtime-authoring-gate.tssatisfies— validity, not completenessThe last row is the one still hand-maintained. Its
satisfiesclause asks that every key itnames is a real
RuntimeStackContextkey; it does not ask that every collection needing anentry has one. That is the same asymmetry
NAME_KEYED_STACK_KEYShad, one package over.Not a defect today, and the reason it is still worth a card
The set is correct as it stands — nothing is broken. What #13390 established is that
"correct today" is the whole problem with this shape: adding the
pagescollection had totouch all five spellings and only ONE announced itself, and the one with no guard produced
correct-LOOKING findings whose
paththe caller cannot resolve, with no test or gate goingred. Four of the five can no longer be forgotten. This one still can.
Not verified — what someone picking this up should measure first
not cross it. State these before acting on them:
CLOSURE_CONTEXT_KEY_BY_TYPEis derivable at all from inputsmetadata-protocolalready holds, or whether the derivation would have to reach into
@objectstack/lint(only
buildRuntimeWriteSnapshotsand five siblings are exported from@objectstack/lint/runtime, and that entry's narrowness is itself pinned);guard that fails when a context collection has no entry may be cheaper than moving the
data, and runtime publish gate: the snapshot collection set is hand-listed in five places and only one of them can go red #13390's ruling asked only that forgetting the surface turn something red;
packages/metadata-protocol/src/protocol.ts's accumulator (retyped as a mappedtype over
RuntimePendingDeclarations, the one spelling the compiler could already see)is the seam the assertion belongs on instead.
Filed unassigned from the #13390 dispatch, not fixed there: the fix lands in
packages/metadata-protocol, which the #13390 triage placed in another lane.Generated by Claude Code