Skip to content

[PR] fix CI hygiene: root lockfile kernel 0.0.159→0.0.160 + 4 unused exports in corrupt-index-child - #4416

Merged
ranxianglei merged 3 commits into
masterfrom
fix/ci-hygiene-locksync-unused-exports
Oct 23, 2026
Merged

ranxianglei merged 3 commits into
masterfrom
fix/ci-hygiene-locksync-unused-exports

Conversation

@ranxianglei

@ranxianglei ranxianglei commented Oct 23, 2026 •

Copy link
Copy Markdown
Owner

Two master guard failures blocking the release full-CI probe (#4412):

  1. lock-sync: kernel/package.json = 0.0.160 but root package-lock.json kernel entry = 0.0.159 — bump missed the lockfile regen. Fixed by npm install --package-lock-only (single version-line change).

  2. unused-exports: tests/corrupt-index-child.ts exported 4 symbols nobody imports (ENGPROOF_CHECK_NAMES, BANNER_CHECK_NAMES, CorruptIndexCheck, CorruptIndexVerdict); parents import only the derived arrays. Dropped the export keyword.

Local verification: node scripts/check-unused-exports.mjs → clean; both importer suites (web-storage-banner, storage-engine-proofs) fail=0.

kernel-change: sync kernel/package-lock.json version lines to 0.0.160 (lockfile metadata only, no kernel source change)

…ly symbols

lock-sync: kernel/package.json is 0.0.160 but the root package-lock.json
kernel entry still said 0.0.159 — the bump missed the lockfile regen, so
'npm install --package-lock-only' dirtied the tree and lock-sync failed.

unused-exports: tests/corrupt-index-child.ts exported
ENGPROOF_CHECK_NAMES / BANNER_CHECK_NAMES / CorruptIndexCheck /
CorruptIndexVerdict but only the child module itself uses them (the
parent tests import the derived ENGPROOF_CHECKS/BANNER_CHECKS arrays and
the view helpers). Drop the export keyword; parents stay green
(web-storage-banner, storage-engine-proofs both fail=0 locally).
@ranxianglei ranxianglei changed the title fix CI hygiene: root lockfile kernel 0.0.159→0.0.160 + 4 unused exports in corrupt-index-child [PR] fix CI hygiene: root lockfile kernel 0.0.159→0.0.160 + 4 unused exports in corrupt-index-child Oct 23, 2026
@github-actions

github-actions Bot commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

📦 Built Package Artifact

Branch: fix/ci-hygiene-locksync-unused-exports (c162e1f)

Latest build — install this exact version

npm install -g billion-context@0.0.5287-pr.4416.fabc58d

This exact version is immutable and reproducible. The rolling pr tag tracks the newest test build across all PRs.

Recent builds (commit → version)

commit version build
c162e1f billion-context@0.0.5287-pr.4416.fabc58d build
d74f0e0 billion-context@0.0.5273-pr.4416.2bf9b4e build
6c78337 billion-context@0.0.5270-pr.4416.c40db1a build

Download artifact

  1. Download the artifact from the Actions run
  2. Extract the tarball and install:
tar xzf billion-context-pr4416.tgz
npm install -g package

Install instructions are refreshed on each push.

The lock-sync guard regenerates BOTH lockfiles (root + kernel); the bump
missed kernel/package-lock.json's two version lines too.
@ranxianglei ranxianglei reopened this Oct 23, 2026
…_FILES

The #4216/#4249 storage work made tests/storage-engine-proofs.test.ts and
tests/web-storage-banner.test.ts spawn the corrupt-index-child helper, but
they were never added to LIVE_FILES — the run-ci-tests SPAWN_RE tripwire
(#3182/#1248) failed every ubuntu leg in 20s. Append-only per the slot
note: existing zone bands are untouched.
@github-actions

Copy link
Copy Markdown
Contributor

📦 Merged Build Published

This merge to master was published as 0.0.771-master.1491fcf (rolling master tag).

npm install -g billion-context@0.0.771-master.1491fcf  # this exact build
npm install -g billion-context@master  # always the newest merged build

npm view billion-context@master prints the current version at any time.

ranxianglei pushed a commit that referenced this pull request Oct 23, 2026
Line-count LPT balanced bytes, not seconds: process-spawning suites
cost orders of magnitude more per line than pure assertion files, and
the 'perfectly balanced' layouts still produced 5min..37min legs from
equal byte counts (windows 22-2/22-3 vs 22-1/22-4 on the same run).
With #4384's linger cut landed the per-file wall times are stable
enough to weight the partition by MEASURED duration:

- scripts/ci-shard-partition.mjs: fileWeight = last measured ms per
  file (scripts/ci-shard-weights.json), new files fall back to
  lineCount x msPerLineFallback (median ms/line); same deterministic
  total LPT otherwise.
- scripts/ci-shard-weights.json: 840-file table measured post-#4384
  (single-file node --test runs, VM, ~66min serial total); local-env
  hangs capped at the 150s timeout and listed under timedOut, local
  rc=1 env-fails excluded. Regenerate via
  scripts/measure-test-durations.mjs when shard balance degrades.
- run-ci-tests.mjs delegates partitionAll to the module (this script
  has top-level side effects and cannot be imported by tests).
- ci.yml: windows-22 CORE 3->5 shards, windows FULL 3->5 (both node
  versions) — measured max shard drops 1984s->794s serial (concurrency
  c=4 per shard => ~7min worst-leg target incl. setup). Four NEW check
  names appear (windows 22/24 shards 4/5); branch protection must add
  them before they gate merges.

Cherry-picked from closed PR #4361 (commit 0569781, stranded when
the PR was superseded by #4377; picked up per owner invitation in the
#4361 thread). The sibling LIVE_FILES commit (d06d192) is already on
master via #4416 and is not included.

Closes #4437
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant