Filed unassigned by the seat implementing #10629. Observation class — no fix proposed here, and no pm:queue.
What was measured
#10629 removed the whole refused a read on population from the @objectstack/runtime log. Measured on claude/issue-10629-runtime-test-noise-remainder at ef25e4a341, one full run (179 files, 2679 tests, all PASS), reporter forced the way CI effectively gets it:
pnpm --filter @objectstack/runtime exec vitest run --reporter=default --maxWorkers=2
| feature | before #10629 | after #10629 |
|---|
[sql-driver] DATABASE_ERROR — the backend refused a read on '...' | 134 | 0 |
ERROR Find operation failed | 140 | 6 |
The 6 survivors are not residue of that card's population — they are a different feature that happens to share the engine's frame. All 6 come from one passing file:
| lines | file | object |
|---|
| 6 | packages/runtime/src/cross-field-refusal-operand-withhold.test.ts | cross_field_deal |
Their payload is the #7929 cross-field refusal, not a missing table:
ERROR Find operation failed {"object":"cross_field_deal","error":{"message":"A cross-field
comparison in this filter cannot be compiled here. ... The columns, the operator this filter
used and the specific reason are withheld from the message (#7929); the full diagnostic is in
the server log.", ...}}
The suite is [#7929] a cross-field refusal keeps its envelope and stops disclosing the predicate, 11 tests, all PASS. The refusals are the subject of the file — it drives filters the SQL push-down must refuse — so each frame is expected in exactly the sense #10380 and #10629 use the word.
Why this is recorded rather than fixed
It is the same defect class both of those cards close — expected-failure noise from a green test, in a shard log turbo interleaves without attribution, which is how the #10293 p1 flake signature was assembled — but it is a different feature string and a different file, outside the enumerated population #10629 claims. #10629's scope was the refused a read on census; widening it at implementation time would have been the scope creep Prime Directive #10 forbids.
The tooling to close it already exists and is generic in the right dimension for tables but not for this: packages/runtime/src/expected-read-refusal-noise.ts (landed by #10629) withholds a driver refusal by table-plus-reason and the engine frame directly above it. A cross-field refusal has no table to key on — it never reaches the driver's backendStatementFault at all, so there is no pending driver refusal for the engine gate to sit above. Closing this one needs either a second predicate keyed on the refusal's own message, or a decision that the engine's Find operation failed frame is the wrong altitude for a refusal the driver deliberately produced. That choice is a judgement, not a mechanical edit, which is why no fix is proposed here.
One neighbour worth naming, deliberately not counted above
The same run also prints 4 [Protocol] Withheld a caught error's text from a batch row (#8502) lines, from the two batch-row-*-real-driver files #10629 touched. They were left alone on purpose: unlike the two features above they are warn-shaped rather than ERROR-shaped, and they report a production withholding decision actually being taken — the thing those suites exist to prove. Quieting them is a separate judgement and is not implied by anything here.
How to reproduce
The noise is invisible to an ordinary piped local run — vitest 4 picks MinimalReporter off a TTY and drops console.* from passing tests, while turbo gives each task a pty and gets DefaultReporter. --reporter=default is what makes a local measurement match CI. Note this particular feature is written straight to stdout and bypasses the reporter, so it reaches the log under both — but the refused a read on half of the comparison above does not, and a measurement without the flag reports a false zero for it.
Related
Filed unassigned by the seat implementing #10629. Observation class — no fix proposed here, and no
pm:queue.What was measured
#10629 removed the whole
refused a read onpopulation from the@objectstack/runtimelog. Measured onclaude/issue-10629-runtime-test-noise-remainderatef25e4a341, one full run (179 files, 2679 tests, all PASS), reporter forced the way CI effectively gets it:[sql-driver] DATABASE_ERROR — the backend refused a read on '...'ERROR Find operation failedThe 6 survivors are not residue of that card's population — they are a different feature that happens to share the engine's frame. All 6 come from one passing file:
packages/runtime/src/cross-field-refusal-operand-withhold.test.tscross_field_dealTheir payload is the #7929 cross-field refusal, not a missing table:
The suite is
[#7929] a cross-field refusal keeps its envelope and stops disclosing the predicate, 11 tests, all PASS. The refusals are the subject of the file — it drives filters the SQL push-down must refuse — so each frame is expected in exactly the sense #10380 and #10629 use the word.Why this is recorded rather than fixed
It is the same defect class both of those cards close — expected-failure noise from a green test, in a shard log turbo interleaves without attribution, which is how the #10293 p1 flake signature was assembled — but it is a different feature string and a different file, outside the enumerated population #10629 claims. #10629's scope was the
refused a read oncensus; widening it at implementation time would have been the scope creep Prime Directive #10 forbids.The tooling to close it already exists and is generic in the right dimension for tables but not for this:
packages/runtime/src/expected-read-refusal-noise.ts(landed by #10629) withholds a driver refusal by table-plus-reason and the engine frame directly above it. A cross-field refusal has no table to key on — it never reaches the driver'sbackendStatementFaultat all, so there is no pending driver refusal for the engine gate to sit above. Closing this one needs either a second predicate keyed on the refusal's own message, or a decision that the engine'sFind operation failedframe is the wrong altitude for a refusal the driver deliberately produced. That choice is a judgement, not a mechanical edit, which is why no fix is proposed here.One neighbour worth naming, deliberately not counted above
The same run also prints 4
[Protocol] Withheld a caught error's text from a batch row (#8502)lines, from the twobatch-row-*-real-driverfiles #10629 touched. They were left alone on purpose: unlike the two features above they arewarn-shaped rather than ERROR-shaped, and they report a production withholding decision actually being taken — the thing those suites exist to prove. Quieting them is a separate judgement and is not implied by anything here.How to reproduce
The noise is invisible to an ordinary piped local run — vitest 4 picks
MinimalReporteroff a TTY and dropsconsole.*from passing tests, while turbo gives each task a pty and getsDefaultReporter.--reporter=defaultis what makes a local measurement match CI. Note this particular feature is written straight to stdout and bypasses the reporter, so it reaches the log under both — but therefused a read onhalf of the comparison above does not, and a measurement without the flag reports a false zero for it.Related
@objectstack/runtimetests print the samerefused a read onfeature — 134 lines after #10380 quiets its two, led bynotifications.hono.integration.test.ts(52) #10629 — the card this was found under; removed 268 lines of the sibling feature@objectstack/runtimetests printAcquire connection errorand ~150 ERROR-levelsql-driver DATABASE_ERRORlines into the shared Test Core log — they were adopted verbatim as a p1 flake signature #10380 — where the withhold-and-assert shape was ruled@objectstack/example-showcase#testfails on mass sys_*Find operation failed+Acquire connection error: operation timed out— hit a merge-queue build and a PR run within 2h on unrelated prose-only diffs #10293 — the p1 flake signature that adopted green-test noise verbatim