Files
ArtPlayer/refactor/baselines/danmuku-lifetime-validation.json

3060 lines
102 KiB
JSON

{
"schemaVersion": 1,
"task": "PKG-DANMUKU-11",
"status": "done",
"capturedAt": "2026-09-13T14:22:20.805Z",
"baselineCommit": "24b883d862e11b96fc2d5888857bacc62a24a94c",
"change": "Reset only the successful visible placement origin after cancellation and node-identity checks; hidden Worker wait no longer consumes configured display lifetime.",
"units": [
{
"file": "refactor/.cache/danmuku11-source-unit.log",
"sha256": "63e990eb31fcfadf4cdda75522d85344c729d18bd94cc811c56a45174ddfdcee",
"tests": 253
},
{
"file": "refactor/.cache/danmuku11-main-unit.log",
"sha256": "5910dceb73c5c400004f35119e96a247fa9571e5024169ffa121f78806f4ef0a",
"tests": 57
},
{
"file": "refactor/.cache/danmuku11-legacy-unit.log",
"sha256": "e845dbe004b71ffb61cc88f7babb610b6483be6800549c5b743a6bb21f5c57a0",
"tests": 57
}
],
"browsers": [
{
"format": "source",
"file": "refactor/.cache/danmuku11-source-browser.json",
"sha256": "2f30e9133aa4d7a55918281daf7c323f7d5016d6a0993587dbce19b5a5d69188",
"stats": {
"startTime": "2026-09-13T14:18:26.191Z",
"duration": 139762.33,
"expected": 90,
"skipped": 0,
"unexpected": 0,
"flaky": 0
},
"versions": {
"chromium": {
"version": "153.0.8010.12",
"platform": "win32"
},
"firefox": {
"version": "155.0",
"platform": "win32"
},
"webkit": {
"version": "26.6",
"platform": "win32"
}
},
"cases": [
{
"file": "danmuku-lifetime.spec.js",
"title": "published core / published plugin / mode 0: Worker waiting does not consume visible lifetime",
"engine": "chromium",
"status": "passed",
"durationMs": 2750,
"lifetime": {
"core": "published",
"implementation": "published",
"mode": 0,
"sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f",
"evidence": {
"posts": [
{
"id": 1789309110414,
"wall": 914.3999999761581
}
],
"replies": [
{
"id": 1789309110414,
"wall": 2415.899999976158
}
],
"visible": [
{
"wall": 2416.199999988079,
"clock": 1789309111916,
"startedAt": 1789309110414,
"rest": 1,
"mode": 0,
"time": 2.205412,
"transition": "transform 1s linear"
}
],
"recycled": [
{
"wall": 2429,
"rest": -0.5149999999999999,
"time": 2.217988
}
],
"video": {
"width": 640,
"time": 2.344235
}
},
"scope": "Native video and real Worker geometry with controlled 1500ms request delay; does not assert naturally occurring Worker starvation."
}
},
{
"file": "danmuku-lifetime.spec.js",
"title": "published core / published plugin / mode 1: Worker waiting does not consume visible lifetime",
"engine": "chromium",
"status": "passed",
"durationMs": 2603,
"lifetime": {
"core": "published",
"implementation": "published",
"mode": 1,
"sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f",
"evidence": {
"posts": [
{
"id": 1789309113047,
"wall": 837.5
}
],
"replies": [
{
"id": 1789309113047,
"wall": 2339
}
],
"visible": [
{
"wall": 2339.399999976158,
"clock": 1789309114549,
"startedAt": 1789309113047,
"rest": 1,
"mode": 1,
"time": 2.189061,
"transition": ""
}
],
"recycled": [
{
"wall": 2351.699999988079,
"rest": -0.5149999999999999,
"time": 2.201526
}
],
"video": {
"width": 640,
"time": 2.338725
}
},
"scope": "Native video and real Worker geometry with controlled 1500ms request delay; does not assert naturally occurring Worker starvation."
}
},
{
"file": "danmuku-lifetime.spec.js",
"title": "published core / candidate plugin / mode 0: Worker waiting does not consume visible lifetime",
"engine": "chromium",
"status": "passed",
"durationMs": 3607,
"lifetime": {
"core": "published",
"implementation": "candidate",
"mode": 0,
"sha256": "2d22d12a9da52e1b1164398556e43c9101ef392350311c2499c0ac72c8e7d789",
"evidence": {
"posts": [
{
"id": 1,
"wall": 835.1000000238419
}
],
"replies": [
{
"id": 1,
"wall": 2337.100000023842
}
],
"visible": [
{
"wall": 2337.300000011921,
"clock": 1789309117166,
"startedAt": 1789309117166,
"rest": 1,
"mode": 0,
"time": 2.174232,
"transition": "transform 1s linear"
}
],
"recycled": [
{
"wall": 3349.100000023842,
"rest": -0.012000000000000774,
"time": 3.185465
}
],
"video": {
"width": 640,
"time": 3.322828
}
},
"scope": "Native video and real Worker geometry with controlled 1500ms request delay; does not assert naturally occurring Worker starvation."
}
},
{
"file": "danmuku-lifetime.spec.js",
"title": "published core / candidate plugin / mode 1: Worker waiting does not consume visible lifetime",
"engine": "chromium",
"status": "passed",
"durationMs": 3629,
"lifetime": {
"core": "published",
"implementation": "candidate",
"mode": 1,
"sha256": "2d22d12a9da52e1b1164398556e43c9101ef392350311c2499c0ac72c8e7d789",
"evidence": {
"posts": [
{
"id": 1,
"wall": 851.3000000119209
}
],
"replies": [
{
"id": 1,
"wall": 2352.5
}
],
"visible": [
{
"wall": 2352.599999964237,
"clock": 1789309120798,
"startedAt": 1789309120798,
"rest": 1,
"mode": 1,
"time": 2.186323,
"transition": ""
}
],
"recycled": [
{
"wall": 3365.599999964237,
"rest": -0.013000000000000775,
"time": 3.200521
}
],
"video": {
"width": 640,
"time": 3.33795
}
},
"scope": "Native video and real Worker geometry with controlled 1500ms request delay; does not assert naturally occurring Worker starvation."
}
},
{
"file": "danmuku-lifetime.spec.js",
"title": "candidate core / published plugin / mode 0: Worker waiting does not consume visible lifetime",
"engine": "chromium",
"status": "passed",
"durationMs": 2757,
"lifetime": {
"core": "candidate",
"implementation": "published",
"mode": 0,
"sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f",
"evidence": {
"posts": [
{
"id": 1789309110414,
"wall": 915.1000000238419
}
],
"replies": [
{
"id": 1789309110414,
"wall": 2416.699999988079
}
],
"visible": [
{
"wall": 2416.899999976158,
"clock": 1789309111916,
"startedAt": 1789309110414,
"rest": 1,
"mode": 0,
"time": 2.2053,
"transition": "transform 1s linear"
}
],
"recycled": [
{
"wall": 2429.600000023842,
"rest": -0.5149999999999999,
"time": 2.217939
}
],
"video": {
"width": 640,
"time": 2.345893
}
},
"scope": "Native video and real Worker geometry with controlled 1500ms request delay; does not assert naturally occurring Worker starvation."
}
},
{
"file": "danmuku-lifetime.spec.js",
"title": "candidate core / published plugin / mode 1: Worker waiting does not consume visible lifetime",
"engine": "chromium",
"status": "passed",
"durationMs": 2618,
"lifetime": {
"core": "candidate",
"implementation": "published",
"mode": 1,
"sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f",
"evidence": {
"posts": [
{
"id": 1789309113080,
"wall": 868.3999999761581
}
],
"replies": [
{
"id": 1789309113080,
"wall": 2369.599999964237
}
],
"visible": [
{
"wall": 2369.800000011921,
"clock": 1789309114582,
"startedAt": 1789309113080,
"rest": 1,
"mode": 1,
"time": 2.189116,
"transition": ""
}
],
"recycled": [
{
"wall": 2382.899999976158,
"rest": -0.5149999999999999,
"time": 2.202559
}
],
"video": {
"width": 640,
"time": 2.322561
}
},
"scope": "Native video and real Worker geometry with controlled 1500ms request delay; does not assert naturally occurring Worker starvation."
}
},
{
"file": "danmuku-lifetime.spec.js",
"title": "candidate core / candidate plugin / mode 0: Worker waiting does not consume visible lifetime",
"engine": "chromium",
"status": "passed",
"durationMs": 3657,
"lifetime": {
"core": "candidate",
"implementation": "candidate",
"mode": 0,
"sha256": "2d22d12a9da52e1b1164398556e43c9101ef392350311c2499c0ac72c8e7d789",
"evidence": {
"posts": [
{
"id": 1,
"wall": 880.1999999880791
}
],
"replies": [
{
"id": 1,
"wall": 2381.599999964237
}
],
"visible": [
{
"wall": 2381.699999988079,
"clock": 1789309117234,
"startedAt": 1789309117233,
"rest": 1,
"mode": 0,
"time": 2.191529,
"transition": "transform 1s linear"
}
],
"recycled": [
{
"wall": 3393.099999964237,
"rest": -0.011000000000000742,
"time": 3.203557
}
],
"video": {
"width": 640,
"time": 3.342734
}
},
"scope": "Native video and real Worker geometry with controlled 1500ms request delay; does not assert naturally occurring Worker starvation."
}
},
{
"file": "danmuku-lifetime.spec.js",
"title": "candidate core / candidate plugin / mode 1: Worker waiting does not consume visible lifetime",
"engine": "chromium",
"status": "passed",
"durationMs": 3658,
"lifetime": {
"core": "candidate",
"implementation": "candidate",
"mode": 1,
"sha256": "2d22d12a9da52e1b1164398556e43c9101ef392350311c2499c0ac72c8e7d789",
"evidence": {
"posts": [
{
"id": 1,
"wall": 877.1999999880791
}
],
"replies": [
{
"id": 1,
"wall": 2378.300000011921
}
],
"visible": [
{
"wall": 2378.599999964237,
"clock": 1789309120898,
"startedAt": 1789309120898,
"rest": 1,
"mode": 1,
"time": 2.188009,
"transition": ""
}
],
"recycled": [
{
"wall": 3391.599999964237,
"rest": -0.013000000000000775,
"time": 3.201505
}
],
"video": {
"width": 640,
"time": 3.3408
}
},
"scope": "Native video and real Worker geometry with controlled 1500ms request delay; does not assert naturally occurring Worker starvation."
}
},
{
"file": "danmuku-lifetime.spec.js",
"title": "published core / published plugin / mode 0: Worker waiting does not consume visible lifetime",
"engine": "firefox",
"status": "passed",
"durationMs": 3913,
"lifetime": {
"core": "published",
"implementation": "published",
"mode": 0,
"sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f",
"evidence": {
"posts": [
{
"id": 1789309148698,
"wall": 1256
}
],
"replies": [
{
"id": 1789309148698,
"wall": 2758
}
],
"visible": [
{
"wall": 2759,
"clock": 1789309150201,
"startedAt": 1789309148697,
"rest": 1,
"mode": 0,
"time": 2.19407,
"transition": "transform 1s linear"
}
],
"recycled": [
{
"wall": 2772,
"rest": -0.518,
"time": 2.19407
}
],
"video": {
"width": 640,
"time": 2.395995
}
},
"scope": "Native video and real Worker geometry with controlled 1500ms request delay; does not assert naturally occurring Worker starvation."
}
},
{
"file": "danmuku-lifetime.spec.js",
"title": "published core / published plugin / mode 1: Worker waiting does not consume visible lifetime",
"engine": "firefox",
"status": "passed",
"durationMs": 2830,
"lifetime": {
"core": "published",
"implementation": "published",
"mode": 1,
"sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f",
"evidence": {
"posts": [
{
"id": 1789309151617,
"wall": 941
}
],
"replies": [
{
"id": 1789309151617,
"wall": 2444
}
],
"visible": [
{
"wall": 2444,
"clock": 1789309153121,
"startedAt": 1789309151617,
"rest": 1,
"mode": 1,
"time": 2.203515,
"transition": ""
}
],
"recycled": [
{
"wall": 2457,
"rest": -0.516,
"time": 2.203515
}
],
"video": {
"width": 640,
"time": 2.324736
}
},
"scope": "Native video and real Worker geometry with controlled 1500ms request delay; does not assert naturally occurring Worker starvation."
}
},
{
"file": "danmuku-lifetime.spec.js",
"title": "published core / candidate plugin / mode 0: Worker waiting does not consume visible lifetime",
"engine": "firefox",
"status": "passed",
"durationMs": 3670,
"lifetime": {
"core": "published",
"implementation": "candidate",
"mode": 0,
"sha256": "2d22d12a9da52e1b1164398556e43c9101ef392350311c2499c0ac72c8e7d789",
"evidence": {
"posts": [
{
"id": 1,
"wall": 714
}
],
"replies": [
{
"id": 1,
"wall": 2215
}
],
"visible": [
{
"wall": 2216,
"clock": 1789309155722,
"startedAt": 1789309155722,
"rest": 1,
"mode": 0,
"time": 1.960448,
"transition": "transform 1s linear"
}
],
"recycled": [
{
"wall": 3231,
"rest": -0.015000000000000721,
"time": 2.976753
}
],
"video": {
"width": 640,
"time": 3.182941
}
},
"scope": "Native video and real Worker geometry with controlled 1500ms request delay; does not assert naturally occurring Worker starvation."
}
},
{
"file": "danmuku-lifetime.spec.js",
"title": "published core / candidate plugin / mode 1: Worker waiting does not consume visible lifetime",
"engine": "firefox",
"status": "passed",
"durationMs": 3583,
"lifetime": {
"core": "published",
"implementation": "candidate",
"mode": 1,
"sha256": "2d22d12a9da52e1b1164398556e43c9101ef392350311c2499c0ac72c8e7d789",
"evidence": {
"posts": [
{
"id": 1,
"wall": 660
}
],
"replies": [
{
"id": 1,
"wall": 2163
}
],
"visible": [
{
"wall": 2163,
"clock": 1789309159343,
"startedAt": 1789309159343,
"rest": 1,
"mode": 1,
"time": 1.960894,
"transition": ""
}
],
"recycled": [
{
"wall": 3177,
"rest": -0.014000000000000772,
"time": 2.984423
}
],
"video": {
"width": 640,
"time": 3.145992
}
},
"scope": "Native video and real Worker geometry with controlled 1500ms request delay; does not assert naturally occurring Worker starvation."
}
},
{
"file": "danmuku-lifetime.spec.js",
"title": "candidate core / published plugin / mode 0: Worker waiting does not consume visible lifetime",
"engine": "firefox",
"status": "passed",
"durationMs": 3645,
"lifetime": {
"core": "candidate",
"implementation": "published",
"mode": 0,
"sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f",
"evidence": {
"posts": [
{
"id": 1789309148933,
"wall": 1124
}
],
"replies": [
{
"id": 1789309148933,
"wall": 2629
}
],
"visible": [
{
"wall": 2629,
"clock": 1789309150437,
"startedAt": 1789309148932,
"rest": 1,
"mode": 0,
"time": 1.964281,
"transition": "transform 1s linear"
}
],
"recycled": [
{
"wall": 2640,
"rest": -0.516,
"time": 1.964281
}
],
"video": {
"width": 640,
"time": 2.168054
}
},
"scope": "Native video and real Worker geometry with controlled 1500ms request delay; does not assert naturally occurring Worker starvation."
}
},
{
"file": "danmuku-lifetime.spec.js",
"title": "candidate core / published plugin / mode 1: Worker waiting does not consume visible lifetime",
"engine": "firefox",
"status": "passed",
"durationMs": 2851,
"lifetime": {
"core": "candidate",
"implementation": "published",
"mode": 1,
"sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f",
"evidence": {
"posts": [
{
"id": 1789309151851,
"wall": 938
}
],
"replies": [
{
"id": 1789309151851,
"wall": 2457
}
],
"visible": [
{
"wall": 2458,
"clock": 1789309153371,
"startedAt": 1789309151850,
"rest": 1,
"mode": 1,
"time": 2.243228,
"transition": ""
}
],
"recycled": [
{
"wall": 2471,
"rest": -0.534,
"time": 2.243228
}
],
"video": {
"width": 640,
"time": 2.364522
}
},
"scope": "Native video and real Worker geometry with controlled 1500ms request delay; does not assert naturally occurring Worker starvation."
}
},
{
"file": "danmuku-lifetime.spec.js",
"title": "candidate core / candidate plugin / mode 0: Worker waiting does not consume visible lifetime",
"engine": "firefox",
"status": "passed",
"durationMs": 3938,
"lifetime": {
"core": "candidate",
"implementation": "candidate",
"mode": 0,
"sha256": "2d22d12a9da52e1b1164398556e43c9101ef392350311c2499c0ac72c8e7d789",
"evidence": {
"posts": [
{
"id": 1,
"wall": 951
}
],
"replies": [
{
"id": 1,
"wall": 2479
}
],
"visible": [
{
"wall": 2479,
"clock": 1789309156333,
"startedAt": 1789309156332,
"rest": 1,
"mode": 0,
"time": 2.213262,
"transition": "transform 1s linear"
}
],
"recycled": [
{
"wall": 3483,
"rest": -0.005000000000000782,
"time": 3.227008
}
],
"video": {
"width": 640,
"time": 3.351024
}
},
"scope": "Native video and real Worker geometry with controlled 1500ms request delay; does not assert naturally occurring Worker starvation."
}
},
{
"file": "danmuku-lifetime.spec.js",
"title": "candidate core / candidate plugin / mode 1: Worker waiting does not consume visible lifetime",
"engine": "firefox",
"status": "passed",
"durationMs": 3833,
"lifetime": {
"core": "candidate",
"implementation": "candidate",
"mode": 1,
"sha256": "2d22d12a9da52e1b1164398556e43c9101ef392350311c2499c0ac72c8e7d789",
"evidence": {
"posts": [
{
"id": 1,
"wall": 904
}
],
"replies": [
{
"id": 1,
"wall": 2422
}
],
"visible": [
{
"wall": 2423,
"clock": 1789309160124,
"startedAt": 1789309160124,
"rest": 1,
"mode": 1,
"time": 2.202015,
"transition": ""
}
],
"recycled": [
{
"wall": 3421,
"rest": -7.181755190543981e-16,
"time": 3.172538
}
],
"video": {
"width": 640,
"time": 3.338076
}
},
"scope": "Native video and real Worker geometry with controlled 1500ms request delay; does not assert naturally occurring Worker starvation."
}
},
{
"file": "danmuku-lifetime.spec.js",
"title": "published core / published plugin / mode 0: Worker waiting does not consume visible lifetime",
"engine": "webkit",
"status": "passed",
"durationMs": 3798,
"lifetime": {
"core": "published",
"implementation": "published",
"mode": 0,
"sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f",
"evidence": {
"posts": [
{
"id": 1789309188709,
"wall": 1354
}
],
"replies": [
{
"id": 1789309188709,
"wall": 2871
}
],
"visible": [
{
"wall": 2871,
"clock": 1789309190227,
"startedAt": 1789309188708,
"rest": 1,
"mode": 0,
"time": 2.0022711,
"transition": "transform 1s linear"
}
],
"recycled": [
{
"wall": 2886,
"rest": -0.534,
"time": 2.0174169
}
],
"video": {
"width": 640,
"time": 2.4219795
}
},
"scope": "Native video and real Worker geometry with controlled 1500ms request delay; does not assert naturally occurring Worker starvation."
}
},
{
"file": "danmuku-lifetime.spec.js",
"title": "published core / published plugin / mode 1: Worker waiting does not consume visible lifetime",
"engine": "webkit",
"status": "passed",
"durationMs": 3517,
"lifetime": {
"core": "published",
"implementation": "published",
"mode": 1,
"sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f",
"evidence": {
"posts": [
{
"id": 1789309192383,
"wall": 1272
}
],
"replies": [
{
"id": 1789309192383,
"wall": 2798
}
],
"visible": [
{
"wall": 2799,
"clock": 1789309193909,
"startedAt": 1789309192382,
"rest": 1,
"mode": 1,
"time": 2.0168128,
"transition": ""
}
],
"recycled": [
{
"wall": 2800,
"rest": -0.528,
"time": 2.0175419
}
],
"video": {
"width": 640,
"time": 2.3542086
}
},
"scope": "Native video and real Worker geometry with controlled 1500ms request delay; does not assert naturally occurring Worker starvation."
}
},
{
"file": "danmuku-lifetime.spec.js",
"title": "published core / candidate plugin / mode 0: Worker waiting does not consume visible lifetime",
"engine": "webkit",
"status": "passed",
"durationMs": 4634,
"lifetime": {
"core": "published",
"implementation": "candidate",
"mode": 0,
"sha256": "2d22d12a9da52e1b1164398556e43c9101ef392350311c2499c0ac72c8e7d789",
"evidence": {
"posts": [
{
"id": 1,
"wall": 1172
}
],
"replies": [
{
"id": 1,
"wall": 2688
}
],
"visible": [
{
"wall": 2689,
"clock": 1789309197326,
"startedAt": 1789309197326,
"rest": 1,
"mode": 0,
"time": 2.0251252,
"transition": "transform 1s linear"
}
],
"recycled": [
{
"wall": 3733,
"rest": -0.04400000000000037,
"time": 3.0695212
}
],
"video": {
"width": 640,
"time": 3.5142505
}
},
"scope": "Native video and real Worker geometry with controlled 1500ms request delay; does not assert naturally occurring Worker starvation."
}
},
{
"file": "danmuku-lifetime.spec.js",
"title": "published core / candidate plugin / mode 1: Worker waiting does not consume visible lifetime",
"engine": "webkit",
"status": "passed",
"durationMs": 4720,
"lifetime": {
"core": "published",
"implementation": "candidate",
"mode": 1,
"sha256": "2d22d12a9da52e1b1164398556e43c9101ef392350311c2499c0ac72c8e7d789",
"evidence": {
"posts": [
{
"id": 1,
"wall": 1231
}
],
"replies": [
{
"id": 1,
"wall": 2753
}
],
"visible": [
{
"wall": 2753,
"clock": 1789309202034,
"startedAt": 1789309202033,
"rest": 1,
"mode": 1,
"time": 1.9947086,
"transition": ""
}
],
"recycled": [
{
"wall": 3769,
"rest": -0.016000000000000236,
"time": 3.0101463
}
],
"video": {
"width": 640,
"time": 3.5138755
}
},
"scope": "Native video and real Worker geometry with controlled 1500ms request delay; does not assert naturally occurring Worker starvation."
}
},
{
"file": "danmuku-lifetime.spec.js",
"title": "candidate core / published plugin / mode 0: Worker waiting does not consume visible lifetime",
"engine": "webkit",
"status": "passed",
"durationMs": 3791,
"lifetime": {
"core": "candidate",
"implementation": "published",
"mode": 0,
"sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f",
"evidence": {
"posts": [
{
"id": 1789309189515,
"wall": 1208
}
],
"replies": [
{
"id": 1789309189515,
"wall": 2734
}
],
"visible": [
{
"wall": 2734,
"clock": 1789309191041,
"startedAt": 1789309189515,
"rest": 1,
"mode": 0,
"time": 1.9772502,
"transition": "transform 1s linear"
}
],
"recycled": [
{
"wall": 2735,
"rest": -0.5269999999999999,
"time": 1.9780002
}
],
"video": {
"width": 640,
"time": 2.396042
}
},
"scope": "Native video and real Worker geometry with controlled 1500ms request delay; does not assert naturally occurring Worker starvation."
}
},
{
"file": "danmuku-lifetime.spec.js",
"title": "candidate core / published plugin / mode 1: Worker waiting does not consume visible lifetime",
"engine": "webkit",
"status": "passed",
"durationMs": 3612,
"lifetime": {
"core": "candidate",
"implementation": "published",
"mode": 1,
"sha256": "7c8749288711ef97e80b6f9f00981170aa73f62a8ae25d6d663749a4aef62a8f",
"evidence": {
"posts": [
{
"id": 1789309193163,
"wall": 1212
}
],
"replies": [
{
"id": 1789309193163,
"wall": 2734
}
],
"visible": [
{
"wall": 2735,
"clock": 1789309194686,
"startedAt": 1789309193163,
"rest": 1,
"mode": 1,
"time": 1.9728753,
"transition": ""
}
],
"recycled": [
{
"wall": 2735,
"rest": -0.524,
"time": 1.9734377
}
],
"video": {
"width": 640,
"time": 2.3742087
}
},
"scope": "Native video and real Worker geometry with controlled 1500ms request delay; does not assert naturally occurring Worker starvation."
}
},
{
"file": "danmuku-lifetime.spec.js",
"title": "candidate core / candidate plugin / mode 0: Worker waiting does not consume visible lifetime",
"engine": "webkit",
"status": "passed",
"durationMs": 4661,
"lifetime": {
"core": "candidate",
"implementation": "candidate",
"mode": 0,
"sha256": "2d22d12a9da52e1b1164398556e43c9101ef392350311c2499c0ac72c8e7d789",
"evidence": {
"posts": [
{
"id": 1,
"wall": 1275
}
],
"replies": [
{
"id": 1,
"wall": 2793
}
],
"visible": [
{
"wall": 2794,
"clock": 1789309198354,
"startedAt": 1789309198354,
"rest": 1,
"mode": 0,
"time": 2.0235419,
"transition": "transform 1s linear"
}
],
"recycled": [
{
"wall": 3807,
"rest": -0.013000000000000234,
"time": 3.0366046
}
],
"video": {
"width": 640,
"time": 3.481563
}
},
"scope": "Native video and real Worker geometry with controlled 1500ms request delay; does not assert naturally occurring Worker starvation."
}
},
{
"file": "danmuku-lifetime.spec.js",
"title": "candidate core / candidate plugin / mode 1: Worker waiting does not consume visible lifetime",
"engine": "webkit",
"status": "passed",
"durationMs": 4711,
"lifetime": {
"core": "candidate",
"implementation": "candidate",
"mode": 1,
"sha256": "2d22d12a9da52e1b1164398556e43c9101ef392350311c2499c0ac72c8e7d789",
"evidence": {
"posts": [
{
"id": 1,
"wall": 1227
}
],
"replies": [
{
"id": 1,
"wall": 2757
}
],
"visible": [
{
"wall": 2758,
"clock": 1789309202989,
"startedAt": 1789309202989,
"rest": 1,
"mode": 1,
"time": 1.9792502,
"transition": ""
}
],
"recycled": [
{
"wall": 3793,
"rest": -0.036000000000000074,
"time": 3.0149171
}
],
"video": {
"width": 640,
"time": 3.4940421
}
},
"scope": "Native video and real Worker geometry with controlled 1500ms request delay; does not assert naturally occurring Worker starvation."
}
},
{
"file": "danmuku-scheduler.spec.js",
"title": "published / Candidate Danmuku candidate: accepted NaN timestamp keeps the historical current-time fallback",
"engine": "chromium",
"status": "passed",
"durationMs": 2265
},
{
"file": "danmuku-scheduler.spec.js",
"title": "published / Candidate Danmuku candidate: failed recovery respects synchronous destroy from the error listener",
"engine": "chromium",
"status": "passed",
"durationMs": 458
},
{
"file": "danmuku-scheduler.spec.js",
"title": "published / Candidate Danmuku candidate: failed recovery respects synchronous stop from the error listener",
"engine": "chromium",
"status": "passed",
"durationMs": 493
},
{
"file": "danmuku-scheduler.spec.js",
"title": "published / Candidate Danmuku candidate: native pause cancels pending visibility without blocking later work",
"engine": "chromium",
"status": "passed",
"durationMs": 2671
},
{
"file": "danmuku-scheduler.spec.js",
"title": "published / Candidate Danmuku candidate: native reset cancels pending visibility without blocking later work",
"engine": "chromium",
"status": "passed",
"durationMs": 2425
},
{
"file": "danmuku-scheduler.spec.js",
"title": "published / Candidate Danmuku candidate: native seek cancels pending visibility without blocking later work",
"engine": "chromium",
"status": "passed",
"durationMs": 2415
},
{
"file": "danmuku-scheduler.spec.js",
"title": "published / Candidate Danmuku candidate: native destroy cancels pending visibility without blocking later work",
"engine": "chromium",
"status": "passed",
"durationMs": 2251
},
{
"file": "danmuku-scheduler.spec.js",
"title": "published / Candidate Danmuku candidate: native Worker renders three modes with synchronous filter and asynchronous beforeVisible",
"engine": "chromium",
"status": "passed",
"durationMs": 1293
},
{
"file": "danmuku-scheduler.spec.js",
"title": "published / Candidate Danmuku candidate: six simultaneous fixed comments preserve usable track geometry and input order",
"engine": "chromium",
"status": "passed",
"durationMs": 1393
},
{
"file": "danmuku-scheduler.spec.js",
"title": "published / Candidate Danmuku candidate: native pause seek rate and public reset/load retain historical pool semantics",
"engine": "chromium",
"status": "passed",
"durationMs": 2312
},
{
"file": "danmuku-scheduler.spec.js",
"title": "published / Candidate Danmuku candidate: actual settings, asynchronous send lock, external fullscreen mount and two-player destruction",
"engine": "chromium",
"status": "passed",
"durationMs": 4039
},
{
"file": "danmuku-scheduler.spec.js",
"title": "candidate / Candidate Danmuku candidate: accepted NaN timestamp keeps the historical current-time fallback",
"engine": "chromium",
"status": "passed",
"durationMs": 2281
},
{
"file": "danmuku-scheduler.spec.js",
"title": "candidate / Candidate Danmuku candidate: failed recovery respects synchronous destroy from the error listener",
"engine": "chromium",
"status": "passed",
"durationMs": 458
},
{
"file": "danmuku-scheduler.spec.js",
"title": "candidate / Candidate Danmuku candidate: failed recovery respects synchronous stop from the error listener",
"engine": "chromium",
"status": "passed",
"durationMs": 491
},
{
"file": "danmuku-scheduler.spec.js",
"title": "candidate / Candidate Danmuku candidate: native pause cancels pending visibility without blocking later work",
"engine": "chromium",
"status": "passed",
"durationMs": 2659
},
{
"file": "danmuku-scheduler.spec.js",
"title": "candidate / Candidate Danmuku candidate: native reset cancels pending visibility without blocking later work",
"engine": "chromium",
"status": "passed",
"durationMs": 2440
},
{
"file": "danmuku-scheduler.spec.js",
"title": "candidate / Candidate Danmuku candidate: native seek cancels pending visibility without blocking later work",
"engine": "chromium",
"status": "passed",
"durationMs": 2439
},
{
"file": "danmuku-scheduler.spec.js",
"title": "candidate / Candidate Danmuku candidate: native destroy cancels pending visibility without blocking later work",
"engine": "chromium",
"status": "passed",
"durationMs": 2291
},
{
"file": "danmuku-scheduler.spec.js",
"title": "candidate / Candidate Danmuku candidate: native Worker renders three modes with synchronous filter and asynchronous beforeVisible",
"engine": "chromium",
"status": "passed",
"durationMs": 1310
},
{
"file": "danmuku-scheduler.spec.js",
"title": "candidate / Candidate Danmuku candidate: six simultaneous fixed comments preserve usable track geometry and input order",
"engine": "chromium",
"status": "passed",
"durationMs": 1424
},
{
"file": "danmuku-scheduler.spec.js",
"title": "candidate / Candidate Danmuku candidate: native pause seek rate and public reset/load retain historical pool semantics",
"engine": "chromium",
"status": "passed",
"durationMs": 2353
},
{
"file": "danmuku-scheduler.spec.js",
"title": "candidate / Candidate Danmuku candidate: actual settings, asynchronous send lock, external fullscreen mount and two-player destruction",
"engine": "chromium",
"status": "passed",
"durationMs": 3979
},
{
"file": "danmuku-scheduler.spec.js",
"title": "published / Candidate Danmuku candidate: accepted NaN timestamp keeps the historical current-time fallback",
"engine": "firefox",
"status": "passed",
"durationMs": 2515
},
{
"file": "danmuku-scheduler.spec.js",
"title": "published / Candidate Danmuku candidate: failed recovery respects synchronous destroy from the error listener",
"engine": "firefox",
"status": "passed",
"durationMs": 593
},
{
"file": "danmuku-scheduler.spec.js",
"title": "published / Candidate Danmuku candidate: failed recovery respects synchronous stop from the error listener",
"engine": "firefox",
"status": "passed",
"durationMs": 662
},
{
"file": "danmuku-scheduler.spec.js",
"title": "published / Candidate Danmuku candidate: native pause cancels pending visibility without blocking later work",
"engine": "firefox",
"status": "passed",
"durationMs": 2781
},
{
"file": "danmuku-scheduler.spec.js",
"title": "published / Candidate Danmuku candidate: native reset cancels pending visibility without blocking later work",
"engine": "firefox",
"status": "passed",
"durationMs": 2612
},
{
"file": "danmuku-scheduler.spec.js",
"title": "published / Candidate Danmuku candidate: native seek cancels pending visibility without blocking later work",
"engine": "firefox",
"status": "passed",
"durationMs": 3079
},
{
"file": "danmuku-scheduler.spec.js",
"title": "published / Candidate Danmuku candidate: native destroy cancels pending visibility without blocking later work",
"engine": "firefox",
"status": "passed",
"durationMs": 2561
},
{
"file": "danmuku-scheduler.spec.js",
"title": "published / Candidate Danmuku candidate: native Worker renders three modes with synchronous filter and asynchronous beforeVisible",
"engine": "firefox",
"status": "passed",
"durationMs": 1576
},
{
"file": "danmuku-scheduler.spec.js",
"title": "published / Candidate Danmuku candidate: six simultaneous fixed comments preserve usable track geometry and input order",
"engine": "firefox",
"status": "passed",
"durationMs": 1454
},
{
"file": "danmuku-scheduler.spec.js",
"title": "published / Candidate Danmuku candidate: native pause seek rate and public reset/load retain historical pool semantics",
"engine": "firefox",
"status": "passed",
"durationMs": 2437
},
{
"file": "danmuku-scheduler.spec.js",
"title": "published / Candidate Danmuku candidate: actual settings, asynchronous send lock, external fullscreen mount and two-player destruction",
"engine": "firefox",
"status": "passed",
"durationMs": 4452
},
{
"file": "danmuku-scheduler.spec.js",
"title": "candidate / Candidate Danmuku candidate: accepted NaN timestamp keeps the historical current-time fallback",
"engine": "firefox",
"status": "passed",
"durationMs": 2405
},
{
"file": "danmuku-scheduler.spec.js",
"title": "candidate / Candidate Danmuku candidate: failed recovery respects synchronous destroy from the error listener",
"engine": "firefox",
"status": "passed",
"durationMs": 677
},
{
"file": "danmuku-scheduler.spec.js",
"title": "candidate / Candidate Danmuku candidate: failed recovery respects synchronous stop from the error listener",
"engine": "firefox",
"status": "passed",
"durationMs": 678
},
{
"file": "danmuku-scheduler.spec.js",
"title": "candidate / Candidate Danmuku candidate: native pause cancels pending visibility without blocking later work",
"engine": "firefox",
"status": "passed",
"durationMs": 2766
},
{
"file": "danmuku-scheduler.spec.js",
"title": "candidate / Candidate Danmuku candidate: native reset cancels pending visibility without blocking later work",
"engine": "firefox",
"status": "passed",
"durationMs": 2757
},
{
"file": "danmuku-scheduler.spec.js",
"title": "candidate / Candidate Danmuku candidate: native seek cancels pending visibility without blocking later work",
"engine": "firefox",
"status": "passed",
"durationMs": 3059
},
{
"file": "danmuku-scheduler.spec.js",
"title": "candidate / Candidate Danmuku candidate: native destroy cancels pending visibility without blocking later work",
"engine": "firefox",
"status": "passed",
"durationMs": 2455
},
{
"file": "danmuku-scheduler.spec.js",
"title": "candidate / Candidate Danmuku candidate: native Worker renders three modes with synchronous filter and asynchronous beforeVisible",
"engine": "firefox",
"status": "passed",
"durationMs": 1457
},
{
"file": "danmuku-scheduler.spec.js",
"title": "candidate / Candidate Danmuku candidate: six simultaneous fixed comments preserve usable track geometry and input order",
"engine": "firefox",
"status": "passed",
"durationMs": 1479
},
{
"file": "danmuku-scheduler.spec.js",
"title": "candidate / Candidate Danmuku candidate: native pause seek rate and public reset/load retain historical pool semantics",
"engine": "firefox",
"status": "passed",
"durationMs": 2497
},
{
"file": "danmuku-scheduler.spec.js",
"title": "candidate / Candidate Danmuku candidate: actual settings, asynchronous send lock, external fullscreen mount and two-player destruction",
"engine": "firefox",
"status": "passed",
"durationMs": 4463
},
{
"file": "danmuku-scheduler.spec.js",
"title": "published / Candidate Danmuku candidate: accepted NaN timestamp keeps the historical current-time fallback",
"engine": "webkit",
"status": "passed",
"durationMs": 3616
},
{
"file": "danmuku-scheduler.spec.js",
"title": "published / Candidate Danmuku candidate: failed recovery respects synchronous destroy from the error listener",
"engine": "webkit",
"status": "passed",
"durationMs": 1927
},
{
"file": "danmuku-scheduler.spec.js",
"title": "published / Candidate Danmuku candidate: failed recovery respects synchronous stop from the error listener",
"engine": "webkit",
"status": "passed",
"durationMs": 1986
},
{
"file": "danmuku-scheduler.spec.js",
"title": "published / Candidate Danmuku candidate: native pause cancels pending visibility without blocking later work",
"engine": "webkit",
"status": "passed",
"durationMs": 4521
},
{
"file": "danmuku-scheduler.spec.js",
"title": "published / Candidate Danmuku candidate: native reset cancels pending visibility without blocking later work",
"engine": "webkit",
"status": "passed",
"durationMs": 4143
},
{
"file": "danmuku-scheduler.spec.js",
"title": "published / Candidate Danmuku candidate: native seek cancels pending visibility without blocking later work",
"engine": "webkit",
"status": "passed",
"durationMs": 4177
},
{
"file": "danmuku-scheduler.spec.js",
"title": "published / Candidate Danmuku candidate: native destroy cancels pending visibility without blocking later work",
"engine": "webkit",
"status": "passed",
"durationMs": 3600
},
{
"file": "danmuku-scheduler.spec.js",
"title": "published / Candidate Danmuku candidate: native Worker renders three modes with synchronous filter and asynchronous beforeVisible",
"engine": "webkit",
"status": "passed",
"durationMs": 2672
},
{
"file": "danmuku-scheduler.spec.js",
"title": "published / Candidate Danmuku candidate: six simultaneous fixed comments preserve usable track geometry and input order",
"engine": "webkit",
"status": "passed",
"durationMs": 2869
},
{
"file": "danmuku-scheduler.spec.js",
"title": "published / Candidate Danmuku candidate: native pause seek rate and public reset/load retain historical pool semantics",
"engine": "webkit",
"status": "passed",
"durationMs": 4068
},
{
"file": "danmuku-scheduler.spec.js",
"title": "published / Candidate Danmuku candidate: actual settings, asynchronous send lock, external fullscreen mount and two-player destruction",
"engine": "webkit",
"status": "passed",
"durationMs": 6333
},
{
"file": "danmuku-scheduler.spec.js",
"title": "candidate / Candidate Danmuku candidate: accepted NaN timestamp keeps the historical current-time fallback",
"engine": "webkit",
"status": "passed",
"durationMs": 3580
},
{
"file": "danmuku-scheduler.spec.js",
"title": "candidate / Candidate Danmuku candidate: failed recovery respects synchronous destroy from the error listener",
"engine": "webkit",
"status": "passed",
"durationMs": 1669
},
{
"file": "danmuku-scheduler.spec.js",
"title": "candidate / Candidate Danmuku candidate: failed recovery respects synchronous stop from the error listener",
"engine": "webkit",
"status": "passed",
"durationMs": 2027
},
{
"file": "danmuku-scheduler.spec.js",
"title": "candidate / Candidate Danmuku candidate: native pause cancels pending visibility without blocking later work",
"engine": "webkit",
"status": "passed",
"durationMs": 4667
},
{
"file": "danmuku-scheduler.spec.js",
"title": "candidate / Candidate Danmuku candidate: native reset cancels pending visibility without blocking later work",
"engine": "webkit",
"status": "passed",
"durationMs": 4002
},
{
"file": "danmuku-scheduler.spec.js",
"title": "candidate / Candidate Danmuku candidate: native seek cancels pending visibility without blocking later work",
"engine": "webkit",
"status": "passed",
"durationMs": 4112
},
{
"file": "danmuku-scheduler.spec.js",
"title": "candidate / Candidate Danmuku candidate: native destroy cancels pending visibility without blocking later work",
"engine": "webkit",
"status": "passed",
"durationMs": 3643
},
{
"file": "danmuku-scheduler.spec.js",
"title": "candidate / Candidate Danmuku candidate: native Worker renders three modes with synchronous filter and asynchronous beforeVisible",
"engine": "webkit",
"status": "passed",
"durationMs": 2791
},
{
"file": "danmuku-scheduler.spec.js",
"title": "candidate / Candidate Danmuku candidate: six simultaneous fixed comments preserve usable track geometry and input order",
"engine": "webkit",
"status": "passed",
"durationMs": 2994
},
{
"file": "danmuku-scheduler.spec.js",
"title": "candidate / Candidate Danmuku candidate: native pause seek rate and public reset/load retain historical pool semantics",
"engine": "webkit",
"status": "passed",
"durationMs": 3946
},
{
"file": "danmuku-scheduler.spec.js",
"title": "candidate / Candidate Danmuku candidate: actual settings, asynchronous send lock, external fullscreen mount and two-player destruction",
"engine": "webkit",
"status": "passed",
"durationMs": 6776
}
]
},
{
"format": "main",
"file": "refactor/.cache/danmuku11-main-browser.json",
"sha256": "aacb70a0e8c2f9e4220cb849be369a2a01d9c37d89f9c4654764341c8cc10f15",
"stats": {
"startTime": "2026-09-13T14:20:46.619Z",
"duration": 31967.545,
"expected": 12,
"skipped": 0,
"unexpected": 0,
"flaky": 0
},
"versions": {
"chromium": {
"version": "153.0.8010.12",
"platform": "win32"
},
"firefox": {
"version": "155.0",
"platform": "win32"
},
"webkit": {
"version": "26.6",
"platform": "win32"
}
},
"cases": [
{
"file": "danmuku-lifetime.spec.js",
"title": "published core / candidate plugin / mode 0: Worker waiting does not consume visible lifetime",
"engine": "chromium",
"status": "passed",
"durationMs": 3753,
"lifetime": {
"core": "published",
"implementation": "candidate",
"mode": 0,
"sha256": "43a5d785210c378a7d06e53bdbd6db0d276e5eac4e4feeabaed4f02ac02f3df0",
"evidence": {
"posts": [
{
"id": 1,
"wall": 935.4000000357628
}
],
"replies": [
{
"id": 1,
"wall": 2436.600000023842
}
],
"visible": [
{
"wall": 2436.699999988079,
"clock": 1789309252010,
"startedAt": 1789309252010,
"rest": 1,
"mode": 0,
"time": 2.204667,
"transition": "transform 1s linear"
}
],
"recycled": [
{
"wall": 3448.699999988079,
"rest": -0.012000000000000774,
"time": 3.216882
}
],
"video": {
"width": 640,
"time": 3.354773
}
},
"scope": "Native video and real Worker geometry with controlled 1500ms request delay; does not assert naturally occurring Worker starvation."
}
},
{
"file": "danmuku-lifetime.spec.js",
"title": "published core / candidate plugin / mode 1: Worker waiting does not consume visible lifetime",
"engine": "chromium",
"status": "passed",
"durationMs": 3627,
"lifetime": {
"core": "published",
"implementation": "candidate",
"mode": 1,
"sha256": "43a5d785210c378a7d06e53bdbd6db0d276e5eac4e4feeabaed4f02ac02f3df0",
"evidence": {
"posts": [
{
"id": 1,
"wall": 862.3000000119209
}
],
"replies": [
{
"id": 1,
"wall": 2362.899999976158
}
],
"visible": [
{
"wall": 2363.099999964237,
"clock": 1789309255676,
"startedAt": 1789309255676,
"rest": 1,
"mode": 1,
"time": 2.188799,
"transition": ""
}
],
"recycled": [
{
"wall": 3375.899999976158,
"rest": -0.013000000000000771,
"time": 3.201587
}
],
"video": {
"width": 640,
"time": 3.324092
}
},
"scope": "Native video and real Worker geometry with controlled 1500ms request delay; does not assert naturally occurring Worker starvation."
}
},
{
"file": "danmuku-lifetime.spec.js",
"title": "candidate core / candidate plugin / mode 0: Worker waiting does not consume visible lifetime",
"engine": "chromium",
"status": "passed",
"durationMs": 3791,
"lifetime": {
"core": "candidate",
"implementation": "candidate",
"mode": 0,
"sha256": "43a5d785210c378a7d06e53bdbd6db0d276e5eac4e4feeabaed4f02ac02f3df0",
"evidence": {
"posts": [
{
"id": 1,
"wall": 940.4000000357628
}
],
"replies": [
{
"id": 1,
"wall": 2441.5
}
],
"visible": [
{
"wall": 2441.699999988079,
"clock": 1789309252010,
"startedAt": 1789309252010,
"rest": 1,
"mode": 0,
"time": 2.205718,
"transition": "transform 1s linear"
}
],
"recycled": [
{
"wall": 3453.699999988079,
"rest": -0.012000000000000746,
"time": 3.216897
}
],
"video": {
"width": 640,
"time": 3.37352
}
},
"scope": "Native video and real Worker geometry with controlled 1500ms request delay; does not assert naturally occurring Worker starvation."
}
},
{
"file": "danmuku-lifetime.spec.js",
"title": "candidate core / candidate plugin / mode 1: Worker waiting does not consume visible lifetime",
"engine": "chromium",
"status": "passed",
"durationMs": 3649,
"lifetime": {
"core": "candidate",
"implementation": "candidate",
"mode": 1,
"sha256": "43a5d785210c378a7d06e53bdbd6db0d276e5eac4e4feeabaed4f02ac02f3df0",
"evidence": {
"posts": [
{
"id": 1,
"wall": 866.9000000357628
}
],
"replies": [
{
"id": 1,
"wall": 2368.100000023842
}
],
"visible": [
{
"wall": 2368.400000035763,
"clock": 1789309255710,
"startedAt": 1789309255709,
"rest": 1,
"mode": 1,
"time": 2.189831,
"transition": ""
}
],
"recycled": [
{
"wall": 3381.400000035763,
"rest": -0.01400000000000072,
"time": 3.201943
}
],
"video": {
"width": 640,
"time": 3.340104
}
},
"scope": "Native video and real Worker geometry with controlled 1500ms request delay; does not assert naturally occurring Worker starvation."
}
},
{
"file": "danmuku-lifetime.spec.js",
"title": "published core / candidate plugin / mode 0: Worker waiting does not consume visible lifetime",
"engine": "firefox",
"status": "passed",
"durationMs": 4940,
"lifetime": {
"core": "published",
"implementation": "candidate",
"mode": 0,
"sha256": "43a5d785210c378a7d06e53bdbd6db0d276e5eac4e4feeabaed4f02ac02f3df0",
"evidence": {
"posts": [
{
"id": 1,
"wall": 1324
}
],
"replies": [
{
"id": 1,
"wall": 2834
}
],
"visible": [
{
"wall": 2834,
"clock": 1789309261899,
"startedAt": 1789309261899,
"rest": 1,
"mode": 0,
"time": 2.209763,
"transition": "transform 1s linear"
}
],
"recycled": [
{
"wall": 3842,
"rest": -0.009000000000000726,
"time": 3.205177
}
],
"video": {
"width": 640,
"time": 3.447448
}
},
"scope": "Native video and real Worker geometry with controlled 1500ms request delay; does not assert naturally occurring Worker starvation."
}
},
{
"file": "danmuku-lifetime.spec.js",
"title": "published core / candidate plugin / mode 1: Worker waiting does not consume visible lifetime",
"engine": "firefox",
"status": "passed",
"durationMs": 3863,
"lifetime": {
"core": "published",
"implementation": "candidate",
"mode": 1,
"sha256": "43a5d785210c378a7d06e53bdbd6db0d276e5eac4e4feeabaed4f02ac02f3df0",
"evidence": {
"posts": [
{
"id": 1,
"wall": 930
}
],
"replies": [
{
"id": 1,
"wall": 2438
}
],
"visible": [
{
"wall": 2439,
"clock": 1789309265851,
"startedAt": 1789309265850,
"rest": 1,
"mode": 1,
"time": 2.213712,
"transition": ""
}
],
"recycled": [
{
"wall": 3448,
"rest": -0.010000000000000717,
"time": 3.228843
}
],
"video": {
"width": 640,
"time": 3.391541
}
},
"scope": "Native video and real Worker geometry with controlled 1500ms request delay; does not assert naturally occurring Worker starvation."
}
},
{
"file": "danmuku-lifetime.spec.js",
"title": "candidate core / candidate plugin / mode 0: Worker waiting does not consume visible lifetime",
"engine": "firefox",
"status": "passed",
"durationMs": 5077,
"lifetime": {
"core": "candidate",
"implementation": "candidate",
"mode": 0,
"sha256": "43a5d785210c378a7d06e53bdbd6db0d276e5eac4e4feeabaed4f02ac02f3df0",
"evidence": {
"posts": [
{
"id": 1,
"wall": 1364
}
],
"replies": [
{
"id": 1,
"wall": 2886
}
],
"visible": [
{
"wall": 2887,
"clock": 1789309262515,
"startedAt": 1789309262515,
"rest": 1,
"mode": 0,
"time": 2.244616,
"transition": "transform 1s linear"
}
],
"recycled": [
{
"wall": 3897,
"rest": -0.009000000000000688,
"time": 3.220611
}
],
"video": {
"width": 640,
"time": 3.423031
}
},
"scope": "Native video and real Worker geometry with controlled 1500ms request delay; does not assert naturally occurring Worker starvation."
}
},
{
"file": "danmuku-lifetime.spec.js",
"title": "candidate core / candidate plugin / mode 1: Worker waiting does not consume visible lifetime",
"engine": "firefox",
"status": "passed",
"durationMs": 3675,
"lifetime": {
"core": "candidate",
"implementation": "candidate",
"mode": 1,
"sha256": "43a5d785210c378a7d06e53bdbd6db0d276e5eac4e4feeabaed4f02ac02f3df0",
"evidence": {
"posts": [
{
"id": 1,
"wall": 699
}
],
"replies": [
{
"id": 1,
"wall": 2201
}
],
"visible": [
{
"wall": 2201,
"clock": 1789309266231,
"startedAt": 1789309266231,
"rest": 1,
"mode": 1,
"time": 1.964104,
"transition": ""
}
],
"recycled": [
{
"wall": 3214,
"rest": -0.012000000000000718,
"time": 2.978202
}
],
"video": {
"width": 640,
"time": 3.139033
}
},
"scope": "Native video and real Worker geometry with controlled 1500ms request delay; does not assert naturally occurring Worker starvation."
}
},
{
"file": "danmuku-lifetime.spec.js",
"title": "published core / candidate plugin / mode 0: Worker waiting does not consume visible lifetime",
"engine": "webkit",
"status": "passed",
"durationMs": 4875,
"lifetime": {
"core": "published",
"implementation": "candidate",
"mode": 0,
"sha256": "43a5d785210c378a7d06e53bdbd6db0d276e5eac4e4feeabaed4f02ac02f3df0",
"evidence": {
"posts": [
{
"id": 1,
"wall": 1335
}
],
"replies": [
{
"id": 1,
"wall": 2854
}
],
"visible": [
{
"wall": 2854,
"clock": 1789309271315,
"startedAt": 1789309271314,
"rest": 1,
"mode": 0,
"time": 2.0577503,
"transition": "transform 1s linear"
}
],
"recycled": [
{
"wall": 3862,
"rest": -0.009000000000000313,
"time": 3.0659171
}
],
"video": {
"width": 640,
"time": 3.5605005
}
},
"scope": "Native video and real Worker geometry with controlled 1500ms request delay; does not assert naturally occurring Worker starvation."
}
},
{
"file": "danmuku-lifetime.spec.js",
"title": "published core / candidate plugin / mode 1: Worker waiting does not consume visible lifetime",
"engine": "webkit",
"status": "passed",
"durationMs": 4782,
"lifetime": {
"core": "published",
"implementation": "candidate",
"mode": 1,
"sha256": "43a5d785210c378a7d06e53bdbd6db0d276e5eac4e4feeabaed4f02ac02f3df0",
"evidence": {
"posts": [
{
"id": 1,
"wall": 1328
}
],
"replies": [
{
"id": 1,
"wall": 2850
}
],
"visible": [
{
"wall": 2851,
"clock": 1789309276143,
"startedAt": 1789309276142,
"rest": 1,
"mode": 1,
"time": 2.0572919,
"transition": ""
}
],
"recycled": [
{
"wall": 3892,
"rest": -0.042000000000000245,
"time": 3.0985213
}
],
"video": {
"width": 640,
"time": 3.5382505
}
},
"scope": "Native video and real Worker geometry with controlled 1500ms request delay; does not assert naturally occurring Worker starvation."
}
},
{
"file": "danmuku-lifetime.spec.js",
"title": "candidate core / candidate plugin / mode 0: Worker waiting does not consume visible lifetime",
"engine": "webkit",
"status": "passed",
"durationMs": 4848,
"lifetime": {
"core": "candidate",
"implementation": "candidate",
"mode": 0,
"sha256": "43a5d785210c378a7d06e53bdbd6db0d276e5eac4e4feeabaed4f02ac02f3df0",
"evidence": {
"posts": [
{
"id": 1,
"wall": 1313
}
],
"replies": [
{
"id": 1,
"wall": 2832
}
],
"visible": [
{
"wall": 2832,
"clock": 1789309271621,
"startedAt": 1789309271621,
"rest": 1,
"mode": 0,
"time": 2.0435836,
"transition": "transform 1s linear"
}
],
"recycled": [
{
"wall": 3839,
"rest": -0.006000000000000311,
"time": 3.0503963
}
],
"video": {
"width": 640,
"time": 3.5013755
}
},
"scope": "Native video and real Worker geometry with controlled 1500ms request delay; does not assert naturally occurring Worker starvation."
}
},
{
"file": "danmuku-lifetime.spec.js",
"title": "candidate core / candidate plugin / mode 1: Worker waiting does not consume visible lifetime",
"engine": "webkit",
"status": "passed",
"durationMs": 4820,
"lifetime": {
"core": "candidate",
"implementation": "candidate",
"mode": 1,
"sha256": "43a5d785210c378a7d06e53bdbd6db0d276e5eac4e4feeabaed4f02ac02f3df0",
"evidence": {
"posts": [
{
"id": 1,
"wall": 1318
}
],
"replies": [
{
"id": 1,
"wall": 2843
}
],
"visible": [
{
"wall": 2844,
"clock": 1789309276465,
"startedAt": 1789309276464,
"rest": 1,
"mode": 1,
"time": 2.0192919,
"transition": ""
}
],
"recycled": [
{
"wall": 3848,
"rest": -0.005000000000000088,
"time": 3.0231046
}
],
"video": {
"width": 640,
"time": 3.5475213
}
},
"scope": "Native video and real Worker geometry with controlled 1500ms request delay; does not assert naturally occurring Worker starvation."
}
}
]
},
{
"format": "legacy",
"file": "refactor/.cache/danmuku11-legacy-browser.json",
"sha256": "f63d6735c1d1a94176d57ff6b25865a5b44e382efb7cf99e7f2659cc713bb012",
"stats": {
"startTime": "2026-09-13T14:21:19.082Z",
"duration": 32117.738999999998,
"expected": 12,
"skipped": 0,
"unexpected": 0,
"flaky": 0
},
"versions": {
"chromium": {
"version": "153.0.8010.12",
"platform": "win32"
},
"firefox": {
"version": "155.0",
"platform": "win32"
},
"webkit": {
"version": "26.6",
"platform": "win32"
}
},
"cases": [
{
"file": "danmuku-lifetime.spec.js",
"title": "published core / candidate plugin / mode 0: Worker waiting does not consume visible lifetime",
"engine": "chromium",
"status": "passed",
"durationMs": 3760,
"lifetime": {
"core": "published",
"implementation": "candidate",
"mode": 0,
"sha256": "d3b8ff3b9fa880336b6fd267dc73894fc546488178513269a62a66711e108ede",
"evidence": {
"posts": [
{
"id": 1,
"wall": 904.6999999880791
}
],
"replies": [
{
"id": 1,
"wall": 2405.699999988079
}
],
"visible": [
{
"wall": 2406,
"clock": 1789309284527,
"startedAt": 1789309284526,
"rest": 1,
"mode": 0,
"time": 2.205246,
"transition": "transform 1s linear"
}
],
"recycled": [
{
"wall": 3418.699999988079,
"rest": -0.013000000000000712,
"time": 3.216793
}
],
"video": {
"width": 640,
"time": 3.354641
}
},
"scope": "Native video and real Worker geometry with controlled 1500ms request delay; does not assert naturally occurring Worker starvation."
}
},
{
"file": "danmuku-lifetime.spec.js",
"title": "published core / candidate plugin / mode 1: Worker waiting does not consume visible lifetime",
"engine": "chromium",
"status": "passed",
"durationMs": 3603,
"lifetime": {
"core": "published",
"implementation": "candidate",
"mode": 1,
"sha256": "d3b8ff3b9fa880336b6fd267dc73894fc546488178513269a62a66711e108ede",
"evidence": {
"posts": [
{
"id": 1,
"wall": 826.4000000357628
}
],
"replies": [
{
"id": 1,
"wall": 2328.100000023842
}
],
"visible": [
{
"wall": 2328.5,
"clock": 1789309288160,
"startedAt": 1789309288160,
"rest": 1,
"mode": 1,
"time": 2.173315,
"transition": ""
}
],
"recycled": [
{
"wall": 3340.7000000476837,
"rest": -0.01200000000000066,
"time": 3.187427
}
],
"video": {
"width": 640,
"time": 3.324789
}
},
"scope": "Native video and real Worker geometry with controlled 1500ms request delay; does not assert naturally occurring Worker starvation."
}
},
{
"file": "danmuku-lifetime.spec.js",
"title": "candidate core / candidate plugin / mode 0: Worker waiting does not consume visible lifetime",
"engine": "chromium",
"status": "passed",
"durationMs": 3802,
"lifetime": {
"core": "candidate",
"implementation": "candidate",
"mode": 0,
"sha256": "d3b8ff3b9fa880336b6fd267dc73894fc546488178513269a62a66711e108ede",
"evidence": {
"posts": [
{
"id": 1,
"wall": 919.1999999880791
}
],
"replies": [
{
"id": 1,
"wall": 2421.100000023842
}
],
"visible": [
{
"wall": 2421.300000011921,
"clock": 1789309284544,
"startedAt": 1789309284544,
"rest": 1,
"mode": 0,
"time": 2.202848,
"transition": "transform 1s linear"
}
],
"recycled": [
{
"wall": 3431.199999988079,
"rest": -0.010000000000000717,
"time": 3.212378
}
],
"video": {
"width": 640,
"time": 3.370735
}
},
"scope": "Native video and real Worker geometry with controlled 1500ms request delay; does not assert naturally occurring Worker starvation."
}
},
{
"file": "danmuku-lifetime.spec.js",
"title": "candidate core / candidate plugin / mode 1: Worker waiting does not consume visible lifetime",
"engine": "chromium",
"status": "passed",
"durationMs": 3649,
"lifetime": {
"core": "candidate",
"implementation": "candidate",
"mode": 1,
"sha256": "d3b8ff3b9fa880336b6fd267dc73894fc546488178513269a62a66711e108ede",
"evidence": {
"posts": [
{
"id": 1,
"wall": 853.6999999880791
}
],
"replies": [
{
"id": 1,
"wall": 2355.899999976158
}
],
"visible": [
{
"wall": 2356.300000011921,
"clock": 1789309288260,
"startedAt": 1789309288260,
"rest": 1,
"mode": 1,
"time": 2.190169,
"transition": ""
}
],
"recycled": [
{
"wall": 3367.300000011921,
"rest": -0.011000000000000718,
"time": 3.200492
}
],
"video": {
"width": 640,
"time": 3.327724
}
},
"scope": "Native video and real Worker geometry with controlled 1500ms request delay; does not assert naturally occurring Worker starvation."
}
},
{
"file": "danmuku-lifetime.spec.js",
"title": "published core / candidate plugin / mode 0: Worker waiting does not consume visible lifetime",
"engine": "firefox",
"status": "passed",
"durationMs": 5082,
"lifetime": {
"core": "published",
"implementation": "candidate",
"mode": 0,
"sha256": "d3b8ff3b9fa880336b6fd267dc73894fc546488178513269a62a66711e108ede",
"evidence": {
"posts": [
{
"id": 1,
"wall": 1429
}
],
"replies": [
{
"id": 1,
"wall": 2934
}
],
"visible": [
{
"wall": 2935,
"clock": 1789309294406,
"startedAt": 1789309294406,
"rest": 1,
"mode": 0,
"time": 2.214997,
"transition": "transform 1s linear"
}
],
"recycled": [
{
"wall": 3946,
"rest": -0.01100000000000076,
"time": 3.202215
}
],
"video": {
"width": 640,
"time": 3.484347
}
},
"scope": "Native video and real Worker geometry with controlled 1500ms request delay; does not assert naturally occurring Worker starvation."
}
},
{
"file": "danmuku-lifetime.spec.js",
"title": "published core / candidate plugin / mode 1: Worker waiting does not consume visible lifetime",
"engine": "firefox",
"status": "passed",
"durationMs": 3629,
"lifetime": {
"core": "published",
"implementation": "candidate",
"mode": 1,
"sha256": "d3b8ff3b9fa880336b6fd267dc73894fc546488178513269a62a66711e108ede",
"evidence": {
"posts": [
{
"id": 1,
"wall": 692
}
],
"replies": [
{
"id": 1,
"wall": 2194
}
],
"visible": [
{
"wall": 2195,
"clock": 1789309298140,
"startedAt": 1789309298140,
"rest": 1,
"mode": 1,
"time": 1.958091,
"transition": ""
}
],
"recycled": [
{
"wall": 3208,
"rest": -0.01400000000000072,
"time": 2.971989
}
],
"video": {
"width": 640,
"time": 3.133963
}
},
"scope": "Native video and real Worker geometry with controlled 1500ms request delay; does not assert naturally occurring Worker starvation."
}
},
{
"file": "danmuku-lifetime.spec.js",
"title": "candidate core / candidate plugin / mode 0: Worker waiting does not consume visible lifetime",
"engine": "firefox",
"status": "passed",
"durationMs": 4834,
"lifetime": {
"core": "candidate",
"implementation": "candidate",
"mode": 0,
"sha256": "d3b8ff3b9fa880336b6fd267dc73894fc546488178513269a62a66711e108ede",
"evidence": {
"posts": [
{
"id": 1,
"wall": 1070
}
],
"replies": [
{
"id": 1,
"wall": 2576
}
],
"visible": [
{
"wall": 2577,
"clock": 1789309294656,
"startedAt": 1789309294656,
"rest": 1,
"mode": 0,
"time": 1.927643,
"transition": "transform 1s linear"
}
],
"recycled": [
{
"wall": 3588,
"rest": -0.011000000000000718,
"time": 2.942477
}
],
"video": {
"width": 640,
"time": 3.224983
}
},
"scope": "Native video and real Worker geometry with controlled 1500ms request delay; does not assert naturally occurring Worker starvation."
}
},
{
"file": "danmuku-lifetime.spec.js",
"title": "candidate core / candidate plugin / mode 1: Worker waiting does not consume visible lifetime",
"engine": "firefox",
"status": "passed",
"durationMs": 3944,
"lifetime": {
"core": "candidate",
"implementation": "candidate",
"mode": 1,
"sha256": "d3b8ff3b9fa880336b6fd267dc73894fc546488178513269a62a66711e108ede",
"evidence": {
"posts": [
{
"id": 1,
"wall": 979
}
],
"replies": [
{
"id": 1,
"wall": 2480
}
],
"visible": [
{
"wall": 2481,
"clock": 1789309298722,
"startedAt": 1789309298722,
"rest": 1,
"mode": 1,
"time": 2.190933,
"transition": ""
}
],
"recycled": [
{
"wall": 3496,
"rest": -0.015000000000000777,
"time": 3.200517
}
],
"video": {
"width": 640,
"time": 3.36647
}
},
"scope": "Native video and real Worker geometry with controlled 1500ms request delay; does not assert naturally occurring Worker starvation."
}
},
{
"file": "danmuku-lifetime.spec.js",
"title": "published core / candidate plugin / mode 0: Worker waiting does not consume visible lifetime",
"engine": "webkit",
"status": "passed",
"durationMs": 4990,
"lifetime": {
"core": "published",
"implementation": "candidate",
"mode": 0,
"sha256": "d3b8ff3b9fa880336b6fd267dc73894fc546488178513269a62a66711e108ede",
"evidence": {
"posts": [
{
"id": 1,
"wall": 1494
}
],
"replies": [
{
"id": 1,
"wall": 3024
}
],
"visible": [
{
"wall": 3024,
"clock": 1789309303675,
"startedAt": 1789309303675,
"rest": 1,
"mode": 0,
"time": 2.0485419,
"transition": "transform 1s linear"
}
],
"recycled": [
{
"wall": 4032,
"rest": -0.007000000000000367,
"time": 3.0563129
}
],
"video": {
"width": 640,
"time": 3.4431046
}
},
"scope": "Native video and real Worker geometry with controlled 1500ms request delay; does not assert naturally occurring Worker starvation."
}
},
{
"file": "danmuku-lifetime.spec.js",
"title": "published core / candidate plugin / mode 1: Worker waiting does not consume visible lifetime",
"engine": "webkit",
"status": "passed",
"durationMs": 4709,
"lifetime": {
"core": "published",
"implementation": "candidate",
"mode": 1,
"sha256": "d3b8ff3b9fa880336b6fd267dc73894fc546488178513269a62a66711e108ede",
"evidence": {
"posts": [
{
"id": 1,
"wall": 1274
}
],
"replies": [
{
"id": 1,
"wall": 2803
}
],
"visible": [
{
"wall": 2804,
"clock": 1789309308352,
"startedAt": 1789309308351,
"rest": 1,
"mode": 1,
"time": 2.0574794,
"transition": ""
}
],
"recycled": [
{
"wall": 3809,
"rest": -0.005000000000000199,
"time": 3.0620213
}
],
"video": {
"width": 640,
"time": 3.496813
}
},
"scope": "Native video and real Worker geometry with controlled 1500ms request delay; does not assert naturally occurring Worker starvation."
}
},
{
"file": "danmuku-lifetime.spec.js",
"title": "candidate core / candidate plugin / mode 0: Worker waiting does not consume visible lifetime",
"engine": "webkit",
"status": "passed",
"durationMs": 5071,
"lifetime": {
"core": "candidate",
"implementation": "candidate",
"mode": 0,
"sha256": "d3b8ff3b9fa880336b6fd267dc73894fc546488178513269a62a66711e108ede",
"evidence": {
"posts": [
{
"id": 1,
"wall": 1248
}
],
"replies": [
{
"id": 1,
"wall": 2777
}
],
"visible": [
{
"wall": 2777,
"clock": 1789309304285,
"startedAt": 1789309304285,
"rest": 1,
"mode": 0,
"time": 2.0385627,
"transition": "transform 1s linear"
}
],
"recycled": [
{
"wall": 3804,
"rest": -0.026000000000000106,
"time": 3.0651254
}
],
"video": {
"width": 640,
"time": 3.542313
}
},
"scope": "Native video and real Worker geometry with controlled 1500ms request delay; does not assert naturally occurring Worker starvation."
}
},
{
"file": "danmuku-lifetime.spec.js",
"title": "candidate core / candidate plugin / mode 1: Worker waiting does not consume visible lifetime",
"engine": "webkit",
"status": "passed",
"durationMs": 4779,
"lifetime": {
"core": "candidate",
"implementation": "candidate",
"mode": 1,
"sha256": "d3b8ff3b9fa880336b6fd267dc73894fc546488178513269a62a66711e108ede",
"evidence": {
"posts": [
{
"id": 1,
"wall": 1412
}
],
"replies": [
{
"id": 1,
"wall": 2937
}
],
"visible": [
{
"wall": 2937,
"clock": 1789309309221,
"startedAt": 1789309309220,
"rest": 1,
"mode": 1,
"time": 2.0369377,
"transition": ""
}
],
"recycled": [
{
"wall": 3957,
"rest": -0.021000000000000213,
"time": 3.0571254
}
],
"video": {
"width": 640,
"time": 3.4555005
}
},
"scope": "Native video and real Worker geometry with controlled 1500ms request delay; does not assert naturally occurring Worker starvation."
}
}
]
}
],
"browserScope": "Source: 66 existing scheduling cases plus 24 lifetime cases across two cores, old/new plugins, modes 0/1 and three engines. Main/legacy: each 12 selected candidate lifetime cases, same two cores/modes/engines. Controlled 1500ms delivery delay then actual native Worker geometry. Not evidence of natural Worker starvation, complete load stability or Safari hardware.",
"failures": [
{
"file": "refactor/.cache/danmuku11-unit-red.log",
"sha256": "99184f9b493ee9d041c0d009e83436a467d66830b7650e9d21253937528d701f"
},
{
"file": "refactor/.cache/danmuku11-browser-red.json",
"sha256": "5f48b8c7b897c53db8d84973cd449bb34efa905666d2ec5e6fdc2815da3f8860"
},
{
"file": "refactor/.cache/danmuku11-browser-red-isolated.json",
"sha256": "97f8fd1cb3b8d7ee4179c1af6fb3a151757bcc6035ed84ad2c76f6dd42de259f"
}
],
"redScope": "Three controlled candidate modes fail visible-start timestamp. First browser run also exposed the separate known published duplicate play/playing loop; isolate one start after native playback. Isolated run preserves four historical defect passes and four candidate lifetime failures without changing lifetime thresholds.",
"checks": [
{
"file": "refactor/.cache/danmuku11-build.log",
"sha256": "f19dd81f39d43660cfe82a469f1843c5bd54dcf6fec1df48c804abc7f6d04eb9"
},
{
"file": "refactor/.cache/danmuku11-lint.log",
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
{
"file": "refactor/.cache/danmuku11-types.log",
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
}
],
"fingerprints": [
{
"file": "packages/artplayer-plugin-danmuku/src/scheduler.ts",
"sha256": "bc5fabee60e2f244e708ddd97ec690393f24be98eb1ffcf9052b42af2db82292"
},
{
"file": "packages/artplayer-plugin-danmuku/ARCHITECTURE.md",
"sha256": "8609a86e8a89750dcacc65e15967e85caf75240901f69145b41bc2f61b9f5785"
},
{
"file": "test/danmuku-scheduler.test.js",
"sha256": "814154bcac55cc1cef9804eb03fea11bc75a39c49ad694320777f32b437525be"
},
{
"file": "test/browser/danmuku-lifetime.spec.js",
"sha256": "99ad1f1be473035f86549290951856fb00b035d88a50ac4b675fd97bebe1280e"
},
{
"file": "docs/uncompiled/artplayer-plugin-danmuku/index.js",
"sha256": "377b07538c23034a172a02295b494bd9b5a199406aa94ab6c5b904c854512837"
},
{
"file": "packages/artplayer-plugin-danmuku/dist/artplayer-plugin-danmuku.js",
"sha256": "43a5d785210c378a7d06e53bdbd6db0d276e5eac4e4feeabaed4f02ac02f3df0"
},
{
"file": "docs/compiled/artplayer-plugin-danmuku.js",
"sha256": "43a5d785210c378a7d06e53bdbd6db0d276e5eac4e4feeabaed4f02ac02f3df0"
},
{
"file": "packages/artplayer-plugin-danmuku/dist/artplayer-plugin-danmuku.legacy.js",
"sha256": "d3b8ff3b9fa880336b6fd267dc73894fc546488178513269a62a66711e108ede"
},
{
"file": "docs/compiled/artplayer-plugin-danmuku.legacy.js",
"sha256": "d3b8ff3b9fa880336b6fd267dc73894fc546488178513269a62a66711e108ede"
},
{
"file": "packages/artplayer-plugin-danmuku/dist/artplayer-plugin-danmuku.mjs",
"sha256": "2bca0ec5cb653e83e87f06261a07a0354c423c4dd91d8a14fc08cde1dfe2b565"
},
{
"file": "docs/compiled/artplayer-plugin-danmuku.mjs",
"sha256": "2bca0ec5cb653e83e87f06261a07a0354c423c4dd91d8a14fc08cde1dfe2b565"
}
],
"remaining": [
"PKG-DANMUKU-07",
"DANMUKU-LOAD-01",
"PKG-DANMUKU-08",
"PKG-DANMUKU-09",
"Release review gates"
]
}