Skip to content

Commit c66cffc

Browse files
committed
ci(vnext): align worker fixture budget
1 parent c976c8e commit c66cffc

3 files changed

Lines changed: 29 additions & 20 deletions

File tree

scripts/worker-placement.mjs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,8 @@ const BIGQUERY_GZIP_LIMIT = 50 * 1024;
3838
const CORE_TOTAL_GZIP_LIMIT = 48 * 1024;
3939
const CORE_TOTAL_RAW_LIMIT = 180 * 1024;
4040
const POSTGRESQL_GZIP_LIMIT = 68 * 1024;
41-
const WORKER_TOTAL_GZIP_LIMIT = 128 * 1024;
42-
const WORKER_TOTAL_RAW_LIMIT = 570 * 1024;
41+
const WORKER_TOTAL_GZIP_LIMIT = 160 * 1024;
42+
const WORKER_TOTAL_RAW_LIMIT = 700 * 1024;
4343
const MIME_TYPES = new Map([
4444
[".css", "text/css; charset=utf-8"],
4545
[".html", "text/html; charset=utf-8"],

state/artifacts/reports/pr-197-browser-ci.md

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,25 +10,34 @@
1010
## Root cause
1111

1212
The framework-independent vNext bundle grew from the session walking skeleton
13-
to the completed relation service and catalog scheduler. Its exact packed
14-
consumer output is 40,214 gzip bytes and still contains no parser modules.
13+
to the completed relation service and catalog scheduler. The exact local
14+
packed-consumer measurement is 40,121 gzip/143,265 raw bytes; hosted Linux CI
15+
measured 40,214 gzip bytes. It still contains no parser modules.
1516

1617
The worker-placement script retained the obsolete 16 KiB skeleton limit, while
1718
the capability charter already budgets 75 KiB for core plus the future
18-
CodeMirror adapter.
19+
CodeMirror adapter. The complete worker fixture also embeds the page-side core,
20+
so after the first correction its obsolete aggregate ceiling failed at 150,847
21+
gzip bytes. The exact local aggregate is 150,985 gzip/669,106 raw bytes; its
22+
PostgreSQL and BigQuery lazy grammar closures are unchanged.
1923

2024
## Fix
2125

2226
Allocate 48 KiB gzip and 180 KiB raw to the framework-independent core. This
2327
passes the current measured bundle with bounded headroom and reserves 27 KiB of
2428
the declared compressed budget for the separate CodeMirror adapter.
2529

30+
Allocate 160 KiB gzip and 700 KiB raw to the complete worker evidence fixture.
31+
This is an aggregate test-fixture ceiling, not a product bundle promise: it
32+
includes the page-side core plus both lazy parser grammars. The dedicated
33+
dialect-closure ceilings remain unchanged and continue to detect parser growth.
34+
2635
## Friction and future guidance
2736

28-
The local isolated worktree shares dependencies by symlink, so the
29-
worker-placement script cannot perform its nested package-manager install
30-
without replacing that link. Hosted CI remains authoritative for the exact
31-
tarball fixture.
37+
The local isolated worktree shares dependencies by symlink, so its root install
38+
must run with CI semantics to avoid an interactive module-directory prompt.
39+
Hosted CI remains authoritative for platform-sensitive compressed sizes; the
40+
local exact-tarball report records the raw sizes and dependency graph.
3241

3342
Future vertical slices that change public entry-point reachability should
3443
compare emitted bundle composition with both the per-entry allocation and the

test/worker-placement/README.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,23 +9,23 @@ package's dependency. The fixture workspace pins Vite's floating transitive
99
versions to the exact versions in the root lock, so the nested frozen install
1010
can run offline after a clean root CI install.
1111

12-
The minified Vite 8 packed-consumer baseline is 15,028 gzip/47,141 raw
12+
The minified Vite 8 packed-consumer baseline is 40,121 gzip/143,265 raw
1313
bytes for the complete parser-free core, 67,573 gzip bytes for the PostgreSQL
1414
transitive graph, 50,470 gzip bytes for the BigQuery transitive graph, and
15-
125,937 gzip/572,982 raw bytes for the complete worker build output. The core
16-
measurement includes the four authenticated relation-dialect runtimes and
17-
their reserved-word tables. The PostgreSQL and BigQuery figures each include
18-
their transitive shared chunks; the report also identifies those shared chunks
19-
explicitly.
15+
150,985 gzip/669,106 raw bytes for the complete worker build output. The core
16+
measurement includes the four authenticated relation-dialect runtimes, their
17+
reserved-word tables, and relation-completion/session orchestration. The
18+
PostgreSQL and BigQuery figures each include their transitive shared chunks;
19+
the report also identifies those shared chunks explicitly.
2020

21-
The fail-closed ceilings retain approximately 9% gzip and 13% raw headroom for
22-
the core, 4% gzip and 2% raw headroom for the complete worker output, and the
23-
existing tight dialect-graph headroom:
21+
The fail-closed ceilings retain approximately 18% gzip and 22% raw headroom
22+
for the core, 8% gzip and 7% raw headroom for the complete worker output, and
23+
the existing tight dialect-graph headroom:
2424

25-
- Complete parser-free core: 16 KiB gzip and 52 KiB raw
25+
- Complete parser-free core: 48 KiB gzip and 180 KiB raw
2626
- PostgreSQL transitive graph: 68 KiB gzip
2727
- BigQuery transitive graph: 50 KiB gzip
28-
- Complete worker build output: 128 KiB gzip and 570 KiB raw
28+
- Complete worker build output: 160 KiB gzip and 700 KiB raw
2929

3030
These are provisional placement limits, not product bundle promises. The
3131
orchestration script fails closed when they are exceeded, when the dialects no

0 commit comments

Comments
 (0)