Repository navigation
chore(scripts): point each facade-gate exception row at the card that retires it (registry only, #30147 phase 1) - #30194
Merged
Conversation
… retires it (registry only) Ruling 6624345766 item 3: every exception row names the card that will move it. 63 rows cited #30020 (state-owning facets), but most are bodies because of codemod limits, not facet state. Re-point them: - inferred-return-type -> #30054 (22 rows: protocol 8, engine 8, sql-driver 6, three of which also carry a codemod-limit half) - query-options erasure pins -> #30055 (6 rows, engine) - other codemod limits -> #30147 (43 rows) - state-owning stays on #30020 (17 rows: engine bare-this 12, the two constructors, protocol publishPackageDrafts's bare this, and the two hand-series host slots) Members and files are unchanged; reasons are reworded only to say which kind of limit each row is. The facade gate exits 0 and its self-test passes (36 cases). Claude-Session: https://claude.ai/code/session_01WGufzj4B2cbnRLVdgtLcDZ Co-authored-by: Claude <noreply@anthropic.com>
… the sql-driver codemod card Seat correction to the re-point: #30054 is scoped to engine.ts and protocol.ts, and the sql-driver codemod extension that this card runs next spells those return types itself. One card then retires every sql-driver.ts row except the constructor. The three dual rows (createColumn, getBuilder, applyFilterCondition) keep both reasons. Rows by card: #30020 17, #30054 16, #30055 6, #30147 49 (88 total). Claude-Session: https://claude.ai/code/session_01WGufzj4B2cbnRLVdgtLcDZ Co-authored-by: Claude <noreply@anthropic.com>
Contributor
Author
objectstack-fleet
Bot
added this pull request to the merge queue
Nov 5, 2026
Any commits made after this event will not be merged.
3 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Requested by Yibo Wang · project thread
Part of #30147 (phase 1 of 3: re-point the rows. Phase 2, the sql-driver codemod extension that retires rows, and phase 3, the protocol.ts / engine.ts measurement, stay open on the card.)
维护者速读
scripts/facade-delegation-registry.json的 88 条例外行的card和reason,成员与文件一行不动。scripts/facade-delegation-registry.json(按card字段看分组是否合理,尤其留在 refactor: move shared state out of the protocol.ts and engine.ts facades into state-owning facets, so the hot bodies left on the class can become delegations (ruling 6624345766) #30020 的 17 条)。node scripts/check-facade-delegation-only.mjs,预期打印 3 个 facade、88 条具名例外,退出 0。Clause-②: no
Metadata-protocol: none
What changes
Each exception row in the facade delegation gate's registry now names the card whose work actually moves it (ruling 6624345766 item 3). Row set, members, files and order are unchanged (88 before, 88 after, same keys in the same order); only
cardandreasonchange.How each reason was classified (the protocol.ts sub-reasons were read from the #29985 codemod's own plan, run on the unsplit
protocol.tsat48914fdc^):bare-this(12) and protocol.tspublishPackageDrafts(itsclosed-setreason is a barethis): the body hands the instance itself on, so a stateless facet over a host cannot carry it. The engine.ts and sql-driver.ts constructors (instance state set up there). The two hand-series host slots that compute (applySeedBodies,serveReferenceNames): refactor: move shared state out of the protocol.ts and engine.ts facades into state-owning facets, so the hot bodies left on the class can become delegations (ruling 6624345766) #30020's body names the hand-series stubs' host rule as its own.inferred-return-typerow, including six on sql-driver.ts. Three of those six also carry a codemod-limit half (applyFilterConditioncomment-in-parameters,getBuilderknex field-call,createColumnpath-reader); their reason says so, and Facade codemods: retire the codemod-limit exception rows in the facade gate registry (protocol.ts, engine.ts, sql-driver.ts) #30147's phase 2 retires that half.as anysites in engine.ts's six erasure-pinned methods so the codemod can move them (about 550 lines) #30055 (6). The engine.ts query-options erasure pins.static-reads-class(9),no-host-read(2),name-taken(1),host-entry-predicate(1), the threeclosed-setrows that are not a barethis(a static field read inreconcileViewExpansions, a local namedhostin the two overlay refusals), and the four static tables built by an initializer at class load (pure functions of imports). engine.tshomeAmountServing(field-call) andprojectHomeAmountsOntoPatch(computed parameter default). sql-driver.ts's 19 rows that were already here, plus the defaultloggersink and theDIALECT_CONNECT_TIMEOUTtable (initializers that can be built by a module function).Tests
No code changes. The gate and its self-test were run on this head; see Verification.
Acceptance notes
logger/DIALECT_CONNECT_TIMEOUTrows were filed under "gate reading" and sat on refactor: move shared state out of the protocol.ts and engine.ts facades into state-owning facets, so the hot bodies left on the class can become delegations (ruling 6624345766) #30020; they hold no instance state, so they move to Facade codemods: retire the codemod-limit exception rows in the facade gate registry (protocol.ts, engine.ts, sql-driver.ts) #30147 as initializer lifts.reconcileViewExpansionsreads a process-wideWeakMapheld as a private static. The body can move through a statics host the way engine.ts'sObjectQLStaticsdoes, with the map staying on the class, so it is filed as a codemod limit. If the seat reads that map as state refactor: move shared state out of the protocol.ts and engine.ts facades into state-owning facets, so the hot bodies left on the class can become delegations (ruling 6624345766) #30020 should rehome, the row goes back.Verification
Head
6cc705e9, baseorigin/mainb7075d99.Gate readings
node scripts/check-facade-delegation-only.mjs: exit 0, "3 facade file(s) hold delegations only, 88 named exception(s)."node scripts/check-facade-delegation-only.mjs --self-test: exit 0, 36 cases pass.node scripts/pm/dispatch-gates.mjs --commands: 20 derived commands, each run, all exit 0;--ranreconciles 20 derived, 20 run, 0 NOT-MEASURED, 0 UNRUN.node scripts/check-published-list-mirrors.mjsexit 0 (roster underscripts/).scripts/only), so this PR carries theskip-changesetlabel.Generated by Claude Code