Skip to content

Commit ecf597b

Browse files
authored
test(budgets): retire the three test-kit approval rows (#3502)
#3483 landed the three test-kit entries these rows approved, so from the next branch on the merge-base carries them and the no-growth rule governs: nothing reads a row any more, which is the invariant's own definition of a stale one and the failure message says to remove them. The trap is that `main` cannot show it. `staleApprovalRows` defers when the merge-base is the head, because otherwise every approval would guarantee a red `main` one commit after it landed (#2329). So the merged PR is green, `main` is green, and the first branch rebased onto post-#3483 `main` inherits a failing blocking Coverage job for a row it did not write. Reproduced on this branch's own head: three rows named, pristine `main` passes. Only first-introduced entries consult a ceiling, so deleting a dead row cannot loosen anything: an entry the merge-base carries is policed by the no-growth rule, and an entry nobody has carried yet is still measured against `NEW_ENTRY_CEILINGS`. Unblocks #3501 and every other branch based on current `main`.
1 parent 5680da5 commit ecf597b

1 file changed

Lines changed: 1 addition & 34 deletions

File tree

‎scripts/__tests__/eager-closure-budgets.ts‎

Lines changed: 1 addition & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -132,40 +132,7 @@ export const NEW_ENTRY_CEILINGS: Readonly<Record<EntryCategory, number>> = Objec
132132
*/
133133
export const APPROVED_OVER_CEILING: Readonly<
134134
Record<string, { issue: string; reason: string; owner: string }>
135-
> = Object.freeze({
136-
// The three test-kit helpers whose narrow fixture subpath sits behind a heavy package façade
137-
// (the capture-kit barrel, the command-registry catalog, and the contracts runtime-facet
138-
// family). Every module they evaluate is workspace-package vocabulary — no concrete platform
139-
// implementation, which the deny-platform assertion below separately proves. The ceiling
140-
// guards production entry weight; a test-only helper's closure is never loaded by a CLI run,
141-
// a daemon start, or the published bundle.
142-
'packages/test-kit/src/app-log-live-handle.ts': {
143-
issue: '#1490',
144-
reason:
145-
'Test-only live-handle constructor; its one value edge is the capture-kit façade that owns ' +
146-
'the real implementation, so its closure is capture-kit + contracts + kernel vocabulary. ' +
147-
'The subpath is one function, and splitting the capture-kit façade for it would move ' +
148-
'production code for a test import.',
149-
owner: 'test-kit',
150-
},
151-
'packages/test-kit/src/property-arbitraries.ts': {
152-
issue: '#1490',
153-
reason:
154-
"Test-only fast-check arbitraries; the weight is the command-registry catalog's eager " +
155-
'registry-metadata surface, which the property files must read to stay drift-free against ' +
156-
'the registry (the #1413 shared-hazard design). No platform implementation; never bundled.',
157-
owner: 'test-kit',
158-
},
159-
'packages/test-kit/src/runtime-operation-facts.ts': {
160-
issue: '#1490',
161-
reason:
162-
'Test-only unavailable-runtime fact builders typed against the twelve runtime-facet ' +
163-
'contracts subpaths plus kernel device vocabulary; the contracts family is exactly the ' +
164-
'vocabulary-facade layer the budgets treat as cheap per edge, and no single facet can be ' +
165-
'dropped without breaking a runtime-seam fixture consumer.',
166-
owner: 'test-kit',
167-
},
168-
});
135+
> = Object.freeze({});
169136

170137
/** The category is a function of the path, never a hand-written column. */
171138
export function entryCategoryOf(entryFile: string): EntryCategory {

0 commit comments

Comments
 (0)