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
Derived from in-flight card #18133 (PR #18581) — the follow-on its change makes owed. Filed by the domain:spec seat 2 PM (session_01JbZnqu8bt6YqfJsr9vaFb3, seat post #18549) under 〈在飞卡衍生〉, carrying the parent card's domain:spec and priority:p2. ⛔ Not a finding: this is declared, scoped work, not something awaiting first grading.
Why this exists now
Before #18133, the liveness governance denominator was built from listMetadataTypeSchemaTypes(), which omits UNREGISTERED_KIND_SCHEMAS. So connector, sharing_rule and analytics_cube were in neitherGOVERNEDnorPENDING_GOVERNANCE — a type in no bucket produces no row, so the ratchet was blind to them and the blindness was invisible in its own output.
PR #18581 widens the denominator to authorableTypes() = registered kinds ∪ unregistered-kind stack collections. The three types are now visible, and are recorded as PENDING_GOVERNANCE debts with a reason apiece — which is the disposition the gate's own failure text prescribes.
⇒ ⭐ This card is those debts. They are real work, ⛔ not bookkeeping: PENDING_GOVERNANCE is a declared IOU, and leaving it unpaid indefinitely is the same declared-but-unenforced shape ADR-0049 exists to close — one level up.
The work
Seed a liveness ledger for each, moving it out of PENDING_GOVERNANCE and into GOVERNED:
packages/spec/liveness/connector.json
packages/spec/liveness/sharing_rule.json
packages/spec/liveness/analytics_cube.json
⭐ Precedent exists and should be followed rather than reinvented: the nine debts of #4488 were paid off this exact way, out of that map and into GOVERNED. Read one of those ledgers first.
Suggested ordering — ⛔ a suggestion, not a prescription
sharing_rule is the security-shaped one of the three, so it is the natural first if the taker splits them. Whether this lands as one PR or three is the claiming seat's call; ⛔ this card does not force either.
⛔ Not a decision card. The direction of travel (out of PENDING_GOVERNANCE, into GOVERNED) is already set by the map's own semantics and by the 活性账本覆盖 worklist:9 个已注册 metadata type 仍未治理(#4487 建立闸门后的剩余债务) #4488 precedent; there is nothing here to ask the maintainer.
Verification criterion
After all three land: check:liveness exits 0 with PENDING_GOVERNANCE empty again, and the coverage line — which PR #18581 made print on every run, not only when the map is non-empty — shows all authorable types governed.
Related: #18133 / PR #18581 (declared the debts) · #6245 (why the unregistered kinds are not enrolled in the registered map) · #4488 (the nine debts paid off by this route).
Derived from in-flight card #18133 (PR #18581) — the follow-on its change makes owed. Filed by the
domain:specseat 2 PM (session_01JbZnqu8bt6YqfJsr9vaFb3, seat post #18549) under 〈在飞卡衍生〉, carrying the parent card'sdomain:specandpriority:p2. ⛔ Not afinding: this is declared, scoped work, not something awaiting first grading.Why this exists now
Before #18133, the liveness governance denominator was built from
listMetadataTypeSchemaTypes(), which omitsUNREGISTERED_KIND_SCHEMAS. Soconnector,sharing_ruleandanalytics_cubewere in neitherGOVERNEDnorPENDING_GOVERNANCE— a type in no bucket produces no row, so the ratchet was blind to them and the blindness was invisible in its own output.PR #18581 widens the denominator to
authorableTypes()= registered kinds ∪ unregistered-kind stack collections. The three types are now visible, and are recorded asPENDING_GOVERNANCEdebts with a reason apiece — which is the disposition the gate's own failure text prescribes.⇒ ⭐ This card is those debts. They are real work, ⛔ not bookkeeping:
PENDING_GOVERNANCEis a declared IOU, and leaving it unpaid indefinitely is the same declared-but-unenforced shape ADR-0049 exists to close — one level up.The work
Seed a liveness ledger for each, moving it out of
PENDING_GOVERNANCEand intoGOVERNED:packages/spec/liveness/connector.jsonpackages/spec/liveness/sharing_rule.jsonpackages/spec/liveness/analytics_cube.json⭐ Precedent exists and should be followed rather than reinvented: the nine debts of #4488 were paid off this exact way, out of that map and into
GOVERNED. Read one of those ledgers first.Suggested ordering — ⛔ a suggestion, not a prescription
sharing_ruleis the security-shaped one of the three, so it is the natural first if the taker splits them. Whether this lands as one PR or three is the claiming seat's call; ⛔ this card does not force either.What this card is NOT
report.ungovernedstructurally cannot name connector, sharing_rule or analytics_cube — the same sentence #17356 falsified, one gate over #18133. The three types becoming visible is that card's intended outcome, ⛔ not a regression.report.ungovernedstructurally cannot name connector, sharing_rule or analytics_cube — the same sentence #17356 falsified, one gate over #18133 merging in any strict sense, butPENDING_GOVERNANCEat all. Confirm [finding] the liveness governance denominator is built from listMetadataTypeSchemaTypes(), soreport.ungovernedstructurally cannot name connector, sharing_rule or analytics_cube — the same sentence #17356 falsified, one gate over #18133 is closed before starting.PENDING_GOVERNANCE, intoGOVERNED) is already set by the map's own semantics and by the 活性账本覆盖 worklist:9 个已注册 metadata type 仍未治理(#4487 建立闸门后的剩余债务) #4488 precedent; there is nothing here to ask the maintainer.Verification criterion
After all three land:
check:livenessexits 0 withPENDING_GOVERNANCEempty again, and the coverage line — which PR #18581 made print on every run, not only when the map is non-empty — shows all authorable types governed.Dedupe words
seed connector liveness ledger·PENDING_GOVERNANCE debt·govern unregistered kinds·analytics_cube ledger·sharing_rule ledgerRelated: #18133 / PR #18581 (declared the debts) · #6245 (why the unregistered kinds are not enrolled in the registered map) · #4488 (the nine debts paid off by this route).
Generated by Claude Code