From 6c78337ed45502ae0d5e5c4110d653468287be5d Mon Sep 17 00:00:00 2001 From: ework-agent Date: Fri, 23 Oct 2026 20:58:26 +0800 Subject: [PATCH 1/3] fix(ci): sync root lockfile with kernel 0.0.160; un-export 4 child-only symbols MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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). --- package-lock.json | 2 +- tests/corrupt-index-child.ts | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index f2df75e34..a252c0d3f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -50,7 +50,7 @@ }, "kernel": { "name": "acp-kernel", - "version": "0.0.159", + "version": "0.0.160", "dev": true, "license": "MIT", "devDependencies": { diff --git a/tests/corrupt-index-child.ts b/tests/corrupt-index-child.ts index f1751e357..2d59e4a86 100644 --- a/tests/corrupt-index-child.ts +++ b/tests/corrupt-index-child.ts @@ -125,7 +125,7 @@ export function makeOpts(upstreamPort: number): ProxyOptions { // sides reference these constants, so the coverage list cannot drift. // --------------------------------------------------------------------------- -export const ENGPROOF_CHECK_NAMES = { +const ENGPROOF_CHECK_NAMES = { fallbackRead: "legacy fallback returned a session over the corrupt index", midFlowGuard: "no live handle after the corrupt-index read (#2781 rename guard)", stateDigest: "corrupt-index fallback state digest matches the clean full-mode read", @@ -135,7 +135,7 @@ export const ENGPROOF_CHECK_NAMES = { } as const; export const ENGPROOF_CHECKS: readonly string[] = Object.values(ENGPROOF_CHECK_NAMES); -export const BANNER_CHECK_NAMES = { +const BANNER_CHECK_NAMES = { overviewAnswers: "/__bili/overview answers 200 with JSON", requestedFull: "storage.requested is full", effectiveLegacy: "storage.effective is legacy", @@ -146,12 +146,12 @@ export const BANNER_CHECK_NAMES = { } as const; export const BANNER_CHECKS: readonly string[] = Object.values(BANNER_CHECK_NAMES); -export interface CorruptIndexCheck { +interface CorruptIndexCheck { name: string; ok: boolean; detail?: string; } -export interface CorruptIndexVerdict { +interface CorruptIndexVerdict { ok: boolean; failure: string | null; checks: CorruptIndexCheck[]; From d74f0e03118595d42321fde37652bb14def46e5c Mon Sep 17 00:00:00 2001 From: ework-agent Date: Fri, 23 Oct 2026 21:00:32 +0800 Subject: [PATCH 2/3] fix(ci): also sync kernel/package-lock.json to 0.0.160 The lock-sync guard regenerates BOTH lockfiles (root + kernel); the bump missed kernel/package-lock.json's two version lines too. --- kernel/package-lock.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kernel/package-lock.json b/kernel/package-lock.json index 07de8f7ce..00da442c3 100644 --- a/kernel/package-lock.json +++ b/kernel/package-lock.json @@ -1,12 +1,12 @@ { "name": "acp-kernel", - "version": "0.0.159", + "version": "0.0.160", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "acp-kernel", - "version": "0.0.159", + "version": "0.0.160", "license": "MIT", "devDependencies": { "@types/node": "^22.0.0", From c162e1f3aaee65f5655131974e2e195d983780c7 Mon Sep 17 00:00:00 2001 From: ework-agent Date: Fri, 23 Oct 2026 21:15:06 +0800 Subject: [PATCH 3/3] fix(ci): register the two corrupt-index-child spawning suites in LIVE_FILES MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. --- scripts/live-files.mjs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/scripts/live-files.mjs b/scripts/live-files.mjs index 6ebd01a7b..6e67fffc9 100644 --- a/scripts/live-files.mjs +++ b/scripts/live-files.mjs @@ -50,6 +50,10 @@ export const LIVE_FILES = [ // band (preload-zone-slot), so mid-list inserts renumber every later band "tests/storage-durability.test.ts", "tests/server-close-all-connections.test.ts", + // both spawn the corrupt-index-child helper (unified-store cold-load + // corruption probes, #4216/#4249 follow-ups); append-only per the note above + "tests/storage-engine-proofs.test.ts", + "tests/web-storage-banner.test.ts", ]; /** Band width per live file: the zone ladder drifts +1 per EADDRINUSE retry;