Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3140,6 +3140,23 @@ jobs:
- name: Console-intercept disarm
run: node scripts/check-console-intercept-disarm.mjs --self-test && node scripts/check-console-intercept-disarm.mjs

# Declared registry log level (#15425, origin #13517). objectql's
# SchemaRegistry logs one `[Registry] Registered …` line per registered
# item per construction, at its shipped `info` default; a suite that boots
# app stacks pays items x boots of that on a shard log nobody reads.
# PR #13985 and PR #14016 declared `OS_REGISTRY_LOG` in four harnesses and
# removed ~47,900 lines — and nothing held them there, so deleting the
# line restored five figures of output with every suite still green. This
# asserts the declaration in every package whose OWN TEST SOURCES boot the
# engine, a DERIVED population (registry construction / `bootStack` /
# example-app import), not a roster: the tree's own audit
# (docs/audits/2026-09-test-log-volume-census.md) measures packages/rest at
# 528 residual `[Registry]` lines, so a roster of the four that already
# declared would have shipped a known-incomplete list. Self-test first,
# then the real scan; reads ~72 manifests and their test sources.
- name: Declared registry log level
run: node scripts/check-registry-log-declared.mjs --self-test && node scripts/check-registry-log-declared.mjs

# Live-server database isolation (#10382). CI provisions ONE Postgres and
# ONE MySQL for the whole temporal-conformance job and points every live
# leg at them, and every live suite in the repo issues a `drop` when it
Expand Down
13 changes: 13 additions & 0 deletions examples/app-showcase/vitest.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -98,5 +98,18 @@ export default defineConfig({
// test output behaves, because ObjectQL's logger writes to `process.stdout`
// directly and never went through this path at all.
disableConsoleIntercept: true,
// #13517 / #15425: quiet the SchemaRegistry's per-item registration
// chatter — the engine's OWN `OS_REGISTRY_LOG` seam
// (`SchemaRegistryOptions.logLevel` / `REGISTRY_LOG_LEVELS`, objectql's
// registry.ts), not a change to its shipped 'info' default and not a
// library that sniffs `process.env.VITEST`. ⭐ This answers the question
// the docblock above deferred in as many words — "most of it
// `[Registry]` registration chatter. Quieting THAT is a separate question
// about `@objectstack/objectql`'s own default log level, not about this
// setting." It is: the level is declared HERE, in the harness, and the
// shipped default is untouched. `gap-fill.test.ts` constructs the
// registry this reaches. Enforced by
// scripts/check-registry-log-declared.mjs.
env: { OS_REGISTRY_LOG: 'warn' },
},
});
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -134,6 +134,7 @@
"check:examples-live-imports": "node scripts/check-examples-live-imports.mjs --self-test && node scripts/check-examples-live-imports.mjs",
"examples:live-imports": "node scripts/check-examples-live-imports.mjs --list",
"check:test-source-alias": "node scripts/check-test-source-alias.mjs --self-test && node scripts/check-test-source-alias.mjs",
"check:registry-log-declared": "node scripts/check-registry-log-declared.mjs --self-test && node scripts/check-registry-log-declared.mjs",
"check:refd-timer-probe": "node scripts/check-refd-timer-probe.mjs --self-test && node scripts/check-refd-timer-probe.mjs",
"check:type-source-resolution": "node scripts/check-type-source-resolution.mjs --self-test && node scripts/check-type-source-resolution.mjs",
"check:undeclared-dep-imports": "node scripts/check-undeclared-dep-imports.mjs --self-test && node scripts/check-undeclared-dep-imports.mjs",
Expand Down
11 changes: 11 additions & 0 deletions packages/client/vitest.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,17 @@ export default defineConfig({
// Mechanism + measured costs: examples/app-showcase/vitest.config.ts.
// Enforced repo-wide by scripts/check-console-intercept-disarm.mjs.
disableConsoleIntercept: true,
// #13517 / #15425: quiet the SchemaRegistry's per-item registration
// chatter — the engine's OWN `OS_REGISTRY_LOG` seam
// (`SchemaRegistryOptions.logLevel` / `REGISTRY_LOG_LEVELS`, objectql's
// registry.ts), not a change to its shipped 'info' default and not a
// library that sniffs `process.env.VITEST`. This suite constructs bare
// registries in `packages-write-envelope.test.ts`, so every case pays a
// `[Registry] Registered …` line per registered item. The ADR-0005
// `[Registry] Collision` diagnostics go through a bare `console.warn` the
// level never gates, so a real shadowing still speaks here.
// Enforced by scripts/check-registry-log-declared.mjs.
env: { OS_REGISTRY_LOG: 'warn' },
// Exclude integration tests that require a running server
exclude: [
'**/node_modules/**',
Expand Down
13 changes: 13 additions & 0 deletions packages/rest/vitest.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,19 @@ export default defineConfig({
// Mechanism + measured costs: examples/app-showcase/vitest.config.ts.
// Enforced repo-wide by scripts/check-console-intercept-disarm.mjs.
disableConsoleIntercept: true,
// #13517 / #15425: quiet the SchemaRegistry's per-item registration
// chatter — the engine's OWN `OS_REGISTRY_LOG` seam
// (`SchemaRegistryOptions.logLevel` / `REGISTRY_LOG_LEVELS`, objectql's
// registry.ts), not a change to its shipped 'info' default and not a
// library that sniffs `process.env.VITEST`. ⭐ This suite is the one
// `docs/audits/2026-09-test-log-volume-census.md` kept as its untouched
// CONTROL while #13985/#14016 quieted four others, and it measures 528
// residual `[Registry]` lines here — eight times what declared objectql
// still emits. Six test files in this package construct bare registries.
// The ADR-0005 `[Registry] Collision` diagnostics go through a bare
// `console.warn` the level never gates, so a real shadowing still speaks.
// Enforced by scripts/check-registry-log-declared.mjs.
env: { OS_REGISTRY_LOG: 'warn' },
globals: true,
environment: 'node',
},
Expand Down
12 changes: 12 additions & 0 deletions packages/services/service-automation/vitest.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,18 @@ export default defineConfig({
// Mechanism + measured costs: examples/app-showcase/vitest.config.ts.
// Enforced repo-wide by scripts/check-console-intercept-disarm.mjs.
disableConsoleIntercept: true,
// #13517 / #15425: quiet the SchemaRegistry's per-item registration
// chatter — the engine's OWN `OS_REGISTRY_LOG` seam
// (`SchemaRegistryOptions.logLevel` / `REGISTRY_LOG_LEVELS`, objectql's
// registry.ts), not a change to its shipped 'info' default and not a
// library that sniffs `process.env.VITEST`. This suite constructs bare
// registries in `connector-reload-reingest.test.ts` and
// `flow-name-shadowing.test.ts` and registers items into them per case.
// ⚠️ `flow-name-shadowing.test.ts` asserts on shadowing warnings, which
// ride a bare `console.warn` this level never gates — measured green with
// the declaration in place. Enforced by
// scripts/check-registry-log-declared.mjs.
env: { OS_REGISTRY_LOG: 'warn' },
},
resolve: {
alias: [
Expand Down
Loading
Loading