{ "schemaVersion": 1, "task": "PKG-DANMUKU-02", "scope": "Controlled historical failure subtask only; parent browser/clock/track/load baseline remains required", "wholeTaskComplete": false, "capturedAt": "2026-09-13T09:46:29.424Z", "sourceCommit": "b0cfbfe3a09a84a295a257e45e4577847588d1cb", "environment": { "node": "v24.21.0", "platform": "win32", "architecture": "x64", "executable": "refactor/.cache/toolchains/node-v24.21.0-win-x64/node.exe" }, "inputs": { "test/helpers/danmuku.js": { "sha256LF": "4e4420d6fe7198bd91c7a444f3f82740991181c3a1b2cb8b91b1db6fc759046a" }, "test/danmuku-failures.test.js": { "sha256LF": "1d7a4fc988f75239bc33453fe4334c17ab34420b58ae26a33d7fc7471be8bf8f" }, "refactor/baselines/danmuku-release.json": { "sha256LF": "82a0ab2e87f108cbb1d09ce1b6647cfefc896d974da1cb60b2668fded18a4b2f" }, "refactor/scripts/danmuku-contract.mjs": { "sha256LF": "8ca0996605cfbcd732030708bd67ecedff5018d2b7436fa7247de7bbb39d7573" }, "refactor/changes/2026-09-13-PKG-DANMUKU-02-controlled-failures.md": { "sha256LF": "e4373ee55bcd1f96987d6a647663bef9d646e7caa30ba9abf5416202b3873169" } }, "tests": { "command": "node --test test/danmuku-failures.test.js", "exitCode": 0, "passed": 42, "failed": 0, "skipped": 0, "log": "refactor/.cache/danmuku02-controlled.log", "logSha256": "5e17966b1cd19f045b1d74d2ac065271ddbaeec44b7c5b533d625f3bd5b05670", "implementationCount": 3, "scenariosPerImplementation": 14 }, "lint": { "command": "node node_modules/eslint/bin/eslint.js test/helpers/danmuku.js test/danmuku-failures.test.js", "exitCode": 0, "log": "refactor/.cache/danmuku02-controlled-lint.log", "logSha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" }, "execution": { "source": "Immutable Git modules bundled only in memory; Worker import transport controlled, parser actual generated Blob executed in a VM", "main": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f", "legacy": "62db96685c48b8573f0480cead6ac934b1d0382b9fdd0046d17d15d2549c56dc", "validator": "Actual frozen published Artplayer 5.4.0 static validator", "domAndClock": "Controlled, not a browser/layout/playback claim" }, "isolatedProcesses": { "directory": "refactor/.cache/danmuku02-controlled/run-9m9V8f", "count": 15, "rejectionProcesses": 9, "rejectionFlags": "--unhandled-rejections=strict", "observation": "uncaughtExceptionMonitor only; errors remain fatal with exit 1 and origin unhandledRejection", "heatmapProcesses": 6, "vmTimeoutMilliseconds": 100, "processTimeoutMilliseconds": 3000, "timeoutScope": "Expected VM timeout only for default sampling at width99; explicit sampling1 completes; outer process timeout fails the test", "reports": [ { "file": "refactor/.cache/danmuku02-controlled/run-9m9V8f/frozen-source-beforeVisible-reject.json", "sha256": "41748d818ad4b20b916140bec42b58687943dec7f1f7faa42e01ef7d57f76b42", "implementation": "frozen-source", "scenario": "beforeVisible-reject", "status": 1, "signal": null, "errorCode": null, "stdout": "{\"stage\":\"fatal\",\"origin\":\"unhandledRejection\",\"error\":\"beforeVisible-original\",\"settled\":false,\"errors\":0}\n" }, { "file": "refactor/.cache/danmuku02-controlled/run-9m9V8f/frozen-source-fetch-reject.json", "sha256": "8f05b57fe32605ff3233394304d7851760ed8335e7cb2cd4314e3399e54f6efa", "implementation": "frozen-source", "scenario": "fetch-reject", "status": 1, "signal": null, "errorCode": null, "stdout": "{\"stage\":\"fatal\",\"origin\":\"unhandledRejection\",\"error\":\"fetch-original\",\"settled\":false,\"errors\":0}\n" }, { "file": "refactor/.cache/danmuku02-controlled/run-9m9V8f/frozen-source-heatmap-positive.json", "sha256": "faf1edb2e96a800a7605db93e1266d3cb7304672609843f061ee09484251e841", "implementation": "frozen-source", "scenario": "heatmap-positive", "status": 0, "signal": null, "errorCode": null, "stdout": "heatmap-ready\n{\"stage\":\"complete\"}\n" }, { "file": "refactor/.cache/danmuku02-controlled/run-9m9V8f/frozen-source-heatmap-zero.json", "sha256": "5d3f166e103cccd2e6ba6b81e6cbcf95454f11c2f15427b41763a73ff4099dd8", "implementation": "frozen-source", "scenario": "heatmap-zero", "status": 0, "signal": null, "errorCode": null, "stdout": "heatmap-ready\n{\"stage\":\"bounded-timeout\",\"code\":\"ERR_SCRIPT_EXECUTION_TIMEOUT\"}\n" }, { "file": "refactor/.cache/danmuku02-controlled/run-9m9V8f/frozen-source-text-reject.json", "sha256": "261c3206b5180ff0e093b21a842e1bcd1dbcbccea637574c2a15416a75a706ba", "implementation": "frozen-source", "scenario": "text-reject", "status": 1, "signal": null, "errorCode": null, "stdout": "{\"stage\":\"fatal\",\"origin\":\"unhandledRejection\",\"error\":\"text-original\",\"settled\":false,\"errors\":0}\n" }, { "file": "refactor/.cache/danmuku02-controlled/run-9m9V8f/published-5.3.0-legacy-beforeVisible-reject.json", "sha256": "6f2c59251bcb37d029eac4e1edd68fb0bedd6499781f045a384e40e0bf2810ef", "implementation": "published-5.3.0-legacy", "scenario": "beforeVisible-reject", "status": 1, "signal": null, "errorCode": null, "stdout": "{\"stage\":\"fatal\",\"origin\":\"unhandledRejection\",\"error\":\"beforeVisible-original\",\"settled\":false,\"errors\":0}\n" }, { "file": "refactor/.cache/danmuku02-controlled/run-9m9V8f/published-5.3.0-legacy-fetch-reject.json", "sha256": "76e39a61d50e7a2722ae8fef16672764b91e28d6b8496b7bbd13cdf908418e13", "implementation": "published-5.3.0-legacy", "scenario": "fetch-reject", "status": 1, "signal": null, "errorCode": null, "stdout": "{\"stage\":\"fatal\",\"origin\":\"unhandledRejection\",\"error\":\"fetch-original\",\"settled\":false,\"errors\":0}\n" }, { "file": "refactor/.cache/danmuku02-controlled/run-9m9V8f/published-5.3.0-legacy-heatmap-positive.json", "sha256": "3b672dbb6af585b5f260ab3cf2ff294cf52026de192f64dcaa4202b4ae914dd3", "implementation": "published-5.3.0-legacy", "scenario": "heatmap-positive", "status": 0, "signal": null, "errorCode": null, "stdout": "heatmap-ready\n{\"stage\":\"complete\"}\n" }, { "file": "refactor/.cache/danmuku02-controlled/run-9m9V8f/published-5.3.0-legacy-heatmap-zero.json", "sha256": "817e3f4f61eb3c5f19096e9a6cc7fe01d5fb4be6756e52ab305de2e51fef7485", "implementation": "published-5.3.0-legacy", "scenario": "heatmap-zero", "status": 0, "signal": null, "errorCode": null, "stdout": "heatmap-ready\n{\"stage\":\"bounded-timeout\",\"code\":\"ERR_SCRIPT_EXECUTION_TIMEOUT\"}\n" }, { "file": "refactor/.cache/danmuku02-controlled/run-9m9V8f/published-5.3.0-legacy-text-reject.json", "sha256": "63c38503aad6fc9c0eafecc59e906c441827333d7fa102cae370511aadcd077b", "implementation": "published-5.3.0-legacy", "scenario": "text-reject", "status": 1, "signal": null, "errorCode": null, "stdout": "{\"stage\":\"fatal\",\"origin\":\"unhandledRejection\",\"error\":\"text-original\",\"settled\":false,\"errors\":0}\n" }, { "file": "refactor/.cache/danmuku02-controlled/run-9m9V8f/published-5.3.0-main-beforeVisible-reject.json", "sha256": "338d99844c2e05ac121beef206550a0f590c11e6b4caf3f702cce62c68d3c79d", "implementation": "published-5.3.0-main", "scenario": "beforeVisible-reject", "status": 1, "signal": null, "errorCode": null, "stdout": "{\"stage\":\"fatal\",\"origin\":\"unhandledRejection\",\"error\":\"beforeVisible-original\",\"settled\":false,\"errors\":0}\n" }, { "file": "refactor/.cache/danmuku02-controlled/run-9m9V8f/published-5.3.0-main-fetch-reject.json", "sha256": "97428c512f7eb613a1102532170b92a395f6845b83e03d4242084ffd69617a45", "implementation": "published-5.3.0-main", "scenario": "fetch-reject", "status": 1, "signal": null, "errorCode": null, "stdout": "{\"stage\":\"fatal\",\"origin\":\"unhandledRejection\",\"error\":\"fetch-original\",\"settled\":false,\"errors\":0}\n" }, { "file": "refactor/.cache/danmuku02-controlled/run-9m9V8f/published-5.3.0-main-heatmap-positive.json", "sha256": "a44cbec41648ea681eb4745561e704596aa0c2e4bc4c4024084701434a0a0fe1", "implementation": "published-5.3.0-main", "scenario": "heatmap-positive", "status": 0, "signal": null, "errorCode": null, "stdout": "heatmap-ready\n{\"stage\":\"complete\"}\n" }, { "file": "refactor/.cache/danmuku02-controlled/run-9m9V8f/published-5.3.0-main-heatmap-zero.json", "sha256": "5677249e3b1d26932b27ff8f2a8749c1c6e2d1e409ff090e6d3722ff0660255a", "implementation": "published-5.3.0-main", "scenario": "heatmap-zero", "status": 0, "signal": null, "errorCode": null, "stdout": "heatmap-ready\n{\"stage\":\"bounded-timeout\",\"code\":\"ERR_SCRIPT_EXECUTION_TIMEOUT\"}\n" }, { "file": "refactor/.cache/danmuku02-controlled/run-9m9V8f/published-5.3.0-main-text-reject.json", "sha256": "f56b3c1f0d07f269f92a23d7751fc18c6b0b881c5458ddf98a33cdfe1c2c5401", "implementation": "published-5.3.0-main", "scenario": "text-reject", "status": 1, "signal": null, "errorCode": null, "stdout": "{\"stage\":\"fatal\",\"origin\":\"unhandledRejection\",\"error\":\"text-original\",\"settled\":false,\"errors\":0}\n" } ] }, "reproduced": [ { "id": "DMK-FAIL-01", "issue": "fetch rejection leaves public load pending and skips error event", "next": "PKG-DANMUKU-03" }, { "id": "DMK-FAIL-02", "issue": "response.text rejection leaves public load pending and skips error event", "next": "PKG-DANMUKU-03" }, { "id": "DMK-FAIL-03", "issue": "beforeVisible rejection becomes an ignored animation callback rejection", "next": "PKG-DANMUKU-04" }, { "id": "DMK-FAIL-04", "issue": "width99 default sampling0 does not advance heatmap loop; positive control succeeds", "next": "PKG-DANMUKU-05" }, { "id": "DMK-FAIL-05", "issue": "parser Worker error has no handler/settlement or destruction cleanup", "next": "PKG-DANMUKU-03" }, { "id": "DMK-FAIL-06", "issue": "actual generated parser ignores empty XML and load remains pending", "next": "PKG-DANMUKU-03" }, { "id": "DMK-FAIL-07", "issue": "successful parser does not revoke its Blob URL", "next": "PKG-DANMUKU-05" }, { "id": "DMK-FAIL-08", "issue": "parser completion can populate queue and emit loaded after destroy", "next": "PKG-DANMUKU-03" }, { "id": "DMK-FAIL-09", "issue": "old replacement load overwrites the newer completed queue", "next": "PKG-DANMUKU-03" }, { "id": "DMK-FAIL-10", "issue": "function input resolves and emits loaded after destroy", "next": "PKG-DANMUKU-03" }, { "id": "DMK-FAIL-11", "issue": "beforeVisible continuation allocates DOM and attempts terminated-worker post after destroy", "next": "PKG-DANMUKU-04" }, { "id": "DMK-FAIL-12", "issue": "already delivered Worker response continuation changes state after destroy", "next": "PKG-DANMUKU-04" }, { "id": "DMK-FAIL-13", "issue": "play/playing duplicate loops overwrite response handlers and strand an earlier Promise", "next": "PKG-DANMUKU-04" }, { "id": "DMK-FAIL-14", "issue": "pause/destroy leaves a previously scheduled duplicate frame", "next": "PKG-DANMUKU-04" } ], "limitations": [ "Historical defect observations must not become candidate normal expectations", "No native browser or server started", "No actual Bilibili/media request, native Worker/CSP, video clock or layout tested", "Late Worker continuation test delivers before terminate and resumes after it; no post-terminate native event guarantee assumed", "Real track/clock/load/performance and visual/browser evidence required for whole task", "No production source/declaration/artifact edits and no publication readiness conclusion" ], "productionChanged": false, "browserValidated": false, "releaseReady": false }