From 3a40aa4ad05be267aaf8b90540ba1590d5af2891 Mon Sep 17 00:00:00 2001 From: xingxuling Date: Sat, 5 Sep 2026 07:38:24 +0800 Subject: [PATCH 1/3] test(k04): replay game generation on hosted workflow --- .github/workflows/rcl-universal-program-stress.yml | 10 ++++++++++ scripts/verify-k04-game-ai-generation-receipt.mjs | 5 ++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/.github/workflows/rcl-universal-program-stress.yml b/.github/workflows/rcl-universal-program-stress.yml index bf71e071..af42f1d7 100644 --- a/.github/workflows/rcl-universal-program-stress.yml +++ b/.github/workflows/rcl-universal-program-stress.yml @@ -52,6 +52,10 @@ on: - 'scripts/verify-k04-server-candidate.mjs' - 'scripts/run-k04-independent-ai-generation.mjs' - 'scripts/verify-k04-server-ai-generation-receipt.mjs' + - 'scripts/run-k04-game-independent-ai-generation.mjs' + - 'scripts/verify-k04-game-ai-generation-receipt.mjs' + - 'scripts/verify-k04-game-candidate.mjs' + - 'tests/k04-game-ai-generation-receipt.test.mjs' - 'scripts/run-k327-independent-compiler-ai-generation.mjs' - 'scripts/verify-k327-compiler-ai-generation-receipt.mjs' - 'scripts/verify-k327-compiler-candidate.mjs' @@ -157,6 +161,10 @@ on: - 'scripts/verify-k04-server-candidate.mjs' - 'scripts/run-k04-independent-ai-generation.mjs' - 'scripts/verify-k04-server-ai-generation-receipt.mjs' + - 'scripts/run-k04-game-independent-ai-generation.mjs' + - 'scripts/verify-k04-game-ai-generation-receipt.mjs' + - 'scripts/verify-k04-game-candidate.mjs' + - 'tests/k04-game-ai-generation-receipt.test.mjs' - 'scripts/run-k327-independent-compiler-ai-generation.mjs' - 'scripts/verify-k327-compiler-ai-generation-receipt.mjs' - 'scripts/verify-k327-compiler-candidate.mjs' @@ -260,6 +268,8 @@ jobs: run: npm run verify:k03-ai-generate - name: K04 independent Server AI generation receipt replay run: node --test tests/k04-server*.test.mjs && npm run verify:k04-server-ai-generate + - name: K04 independent 2D Game AI generation receipt replay + run: node --test tests/k04-game-ai-generation-receipt.test.mjs && npm run verify:k04-game-ai-generate - name: K327 independent Compiler AI generation receipt replay run: node --test tests/k327-compiler*.test.mjs && npm run verify:k327-compiler-ai-generate - name: K329/K332 independent Compiler Simulation Scientific AI receipt replay diff --git a/scripts/verify-k04-game-ai-generation-receipt.mjs b/scripts/verify-k04-game-ai-generation-receipt.mjs index 97b10596..70561e71 100644 --- a/scripts/verify-k04-game-ai-generation-receipt.mjs +++ b/scripts/verify-k04-game-ai-generation-receipt.mjs @@ -161,5 +161,8 @@ const isMain = process.argv[1] && path.resolve(process.argv[1]) === fileURLToPat if (isMain) { const result = verifyK04GameAiGenerationReceipt(); console.log(JSON.stringify(result, null, 2)); - if (result.aiGenerateAdmission !== 'PASS') process.exitCode = 1; + // Hosted authority is bound in a follow-up evidence commit. The push that + // produces the replay receipt must therefore fail only on local replay, not + // on the intentionally absent post-hoc authority file. + if (!result.localAdmitted) process.exitCode = 1; } From 91002e257048a33c6a2c25683afe0cfdc92c3ad2 Mon Sep 17 00:00:00 2001 From: xingxuling Date: Sat, 5 Sep 2026 07:42:27 +0800 Subject: [PATCH 2/3] evidence(k04): bind hosted game generation replay --- .../k04-game-ai-generate/github-replay.json | 41 ++++++ .../k400-current-evidence.json | 138 +++++++++++++++++- 2 files changed, 178 insertions(+), 1 deletion(-) create mode 100644 examples/universal-stress/evidence/k04-game-ai-generate/github-replay.json diff --git a/examples/universal-stress/evidence/k04-game-ai-generate/github-replay.json b/examples/universal-stress/evidence/k04-game-ai-generate/github-replay.json new file mode 100644 index 00000000..81b6472a --- /dev/null +++ b/examples/universal-stress/evidence/k04-game-ai-generate/github-replay.json @@ -0,0 +1,41 @@ +{ + "format": "rcl.k04.game-github-replay-authority.v0.1", + "authority": "GITHUB_HOSTED_ACTIONS", + "sourceCommit": "3a40aa4ad05be267aaf8b90540ba1590d5af2891", + "verifiedAt": "2026-09-04T23:40:15Z", + "workflow": { + "name": "RCL Universal Program Stress v0.1", + "event": "push" + }, + "run": { + "id": 33930267375, + "headSha": "3a40aa4ad05be267aaf8b90540ba1590d5af2891", + "url": "https://github.com/xingxuling/RCL/actions/runs/33930267375" + }, + "job": { + "id": 101207245099, + "name": "focused-verification", + "conclusion": "success", + "url": "https://github.com/xingxuling/RCL/actions/runs/33930267375/job/101207245099" + }, + "step": { + "number": 20, + "name": "K04 independent 2D Game AI generation receipt replay", + "conclusion": "success", + "startedAt": "2026-09-04T23:40:15Z", + "completedAt": "2026-09-04T23:40:15Z" + }, + "contractRoot": "01476a78932eca90a8d260e994320cf4baad2b24a8fed63d72d08baca1a3745a", + "localReceiptReportRoot": "140bbd7be8a3410190460142a648be4d4ac3f257d5ef48fc105e27caf3a187c5", + "runtimeReportRoot": "6502cf4cd8880d24d8b0ddc9f98862b91490cbb214868c6f5a056d3184b91e1d", + "eligibleCells": [ + "K188" + ], + "evidenceBoundary": "This authority binds three independent K04 2D Game repair receipts and the deterministic runtime receipt to successful GitHub-hosted replay. It grants only the bounded K188 AI_GENERATE gate for the frozen 2D game profile; it does not grant arbitrary game generation, public deployment, or K400 completion.", + "claimsNotGranted": [ + "ARBITRARY_GAME_GENERATION", + "PUBLIC_DEPLOYMENT", + "K400_COMPLETE" + ], + "authorityRoot": "bdd22beb988de595ffb7f961015dd3adf255e1a431c77790d8758a0283d7aeb4" +} diff --git a/examples/universal-stress/k400-current-evidence.json b/examples/universal-stress/k400-current-evidence.json index 764a77a5..4666faed 100644 --- a/examples/universal-stress/k400-current-evidence.json +++ b/examples/universal-stress/k400-current-evidence.json @@ -2587,6 +2587,141 @@ } ] }, + { + "id": "game-runtime::game", + "coverageMode": "lowered-execution", + "lastVerifiedSha": "3a40aa4ad05be267aaf8b90540ba1590d5af2891", + "lastVerifiedDate": "2026-09-04", + "knownLimits": [ + "Evidence is limited to the K04StarRunner deterministic JavaScript fixed-step runtime and generated Canvas projection.", + "Native Godot, Unity, console, browser execution, broad game-genre coverage and arbitrary game generation remain unverified.", + "RCL owns state, transition guards, authority and preserve semantics; the JavaScript runtime is a lowered execution organ." + ], + "relatedKillerTasks": [ + "K04" + ], + "requiredGenes": [ + "fixed-step-physics", + "transactional-input", + "collision-and-collection", + "scene-projection", + "authority-preservation" + ], + "gates": { + "EXPRESS": { + "status": "PASS", + "evidence": [ + "examples/universal-stress/evidence/k04-game-direct-evidence-v0.1.json", + "examples/universal-stress/evidence/k04-game-runtime-v0.1.json" + ], + "note": "Deterministic fixed-step K04 game runtime receipt examples/universal-stress/evidence/k04-game-runtime-v0.1.json." + }, + "COMPILE": { + "status": "PASS", + "evidence": [ + "examples/universal-stress/evidence/k04-game-direct-evidence-v0.1.json", + "examples/universal-stress/evidence/k04-game-runtime-v0.1.json" + ], + "note": "Deterministic fixed-step K04 game runtime receipt examples/universal-stress/evidence/k04-game-runtime-v0.1.json." + }, + "LOWER": { + "status": "PASS", + "evidence": [ + "examples/universal-stress/evidence/k04-game-direct-evidence-v0.1.json", + "examples/universal-stress/evidence/k04-game-runtime-v0.1.json" + ], + "note": "Deterministic fixed-step K04 game runtime receipt examples/universal-stress/evidence/k04-game-runtime-v0.1.json." + }, + "EXECUTE": { + "status": "PASS", + "evidence": [ + "examples/universal-stress/evidence/k04-game-direct-evidence-v0.1.json", + "examples/universal-stress/evidence/k04-game-runtime-v0.1.json" + ], + "note": "Deterministic fixed-step K04 game runtime receipt examples/universal-stress/evidence/k04-game-runtime-v0.1.json." + }, + "CORRECT": { + "status": "PASS", + "evidence": [ + "examples/universal-stress/evidence/k04-game-direct-evidence-v0.1.json", + "examples/universal-stress/evidence/k04-game-runtime-v0.1.json" + ], + "note": "Deterministic fixed-step K04 game runtime receipt examples/universal-stress/evidence/k04-game-runtime-v0.1.json." + }, + "ROBUST": { + "status": "PASS", + "evidence": [ + "examples/universal-stress/evidence/k04-game-direct-evidence-v0.1.json", + "examples/universal-stress/evidence/k04-game-runtime-v0.1.json" + ], + "note": "Deterministic fixed-step K04 game runtime receipt examples/universal-stress/evidence/k04-game-runtime-v0.1.json." + }, + "PERFORMANCE": { + "status": "PASS", + "evidence": [ + "examples/universal-stress/evidence/k04-game-direct-evidence-v0.1.json", + "examples/universal-stress/evidence/k04-game-runtime-v0.1.json" + ], + "note": "Deterministic fixed-step K04 game runtime receipt examples/universal-stress/evidence/k04-game-runtime-v0.1.json." + }, + "AI_GENERATE": { + "status": "PASS", + "evidence": [ + "examples/universal-stress/k04-game-ai-generation-contract.v0.1.json", + "examples/universal-stress/evidence/k04-game-ai-generate/receipt.json", + "examples/universal-stress/evidence/k04-game-ai-generate/github-replay.json", + "examples/universal-stress/evidence/k04-game-runtime-v0.1.json" + ], + "note": "Three independent K04 game repairs restored canonical bytes; GitHub run 33930267375." + }, + "EVIDENCE": { + "status": "PASS", + "evidence": [ + "examples/universal-stress/evidence/k04-game-direct-evidence-v0.1.json", + "examples/universal-stress/evidence/k04-game-runtime-v0.1.json" + ], + "note": "Deterministic fixed-step K04 game runtime receipt examples/universal-stress/evidence/k04-game-runtime-v0.1.json." + } + }, + "changes": [ + { + "id": "fixed-step-2d-physics", + "kind": "candidate-gene", + "scope": [ + "game-runtime", + "realtime-runtime", + "embedded-runtime", + "simulation-runtime" + ], + "generalPrimitive": true, + "justification": "Fixed-step state integration is reusable beyond one game title." + }, + { + "id": "transactional-input-and-collision", + "kind": "candidate-gene", + "scope": [ + "game-runtime", + "browser", + "android", + "rncs-runtime" + ], + "generalPrimitive": true, + "justification": "Input, collision and governed state commit share an interactive runtime contract." + }, + { + "id": "scene-projection", + "kind": "candidate-gene", + "scope": [ + "game-runtime", + "browser", + "rncs-runtime", + "simulation-runtime" + ], + "generalPrimitive": true, + "justification": "State-bound 2D scene projection is not game-title-specific." + } + ] + }, { "id": "compiler-runtime::algorithm", "coverageMode": "native-semantic", @@ -2852,6 +2987,7 @@ "examples/universal-stress/evidence/k04-game-runtime-v0.1.json", "examples/universal-stress/k04-game-ai-generation-contract.v0.1.json", "examples/universal-stress/evidence/k04-game-ai-generate/receipt.json", + "examples/universal-stress/evidence/k04-game-ai-generate/github-replay.json", "examples/universal-stress/k327-compiler-ai-generation-contract.v0.1.json", "examples/universal-stress/evidence/k327-compiler-ai-generate/receipt.json", "examples/universal-stress/evidence/k327-compiler-ai-generate/github-replay.json", @@ -2930,7 +3066,7 @@ "K03 real emulator receipt 9c61a52e883636f28d1a4bfa7c12df710720e7998416e9f8684b81ec38e47ebf closes EXECUTE, CORRECT and PERFORMANCE for K083, K085 and K098; their independent AI_GENERATE receipt is separately admitted.", "K03 closes K083, K085 and K098 AI_GENERATE through 3/3 independent Android repairs, emulator receipt binding and GitHub run 32871776578.", "K04 closes K124 and K138 through 20/20 loopback runtime rounds, 3/3 independent Server repairs and GitHub run 32876898001.", - "K04 has deterministic fixed-step game execution and a 3/3 local independent game repair candidate; K188 remains UNTESTED until GitHub-hosted replay is bound.", + "K04 closes K188 through deterministic fixed-step game execution, three independent game repairs and GitHub run 33930267375.", "K327 closes compiler-runtime::compiler through 3/3 new independent builtin-lowering repairs, separately admitted fixed-point reuse and GitHub Linux/Windows run 32880432503.", "K326 closes compiler-runtime::database through 20/20 native relational-transaction rounds, 3/3 independent repairs and GitHub run 33093366736.", "K336 closes compiler-runtime::automation through 20/20 native governed-workflow rounds, 3/3 independent repairs and GitHub run 33135430077.", From 3761795b6828b635c6285c3b79b2ad668d4216a3 Mon Sep 17 00:00:00 2001 From: xingxuling Date: Sat, 5 Sep 2026 07:45:41 +0800 Subject: [PATCH 3/3] test(k04): accept bound hosted game replay --- tests/k04-game-ai-generation-receipt.test.mjs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tests/k04-game-ai-generation-receipt.test.mjs b/tests/k04-game-ai-generation-receipt.test.mjs index 40cb3f07..ca25ce5b 100644 --- a/tests/k04-game-ai-generation-receipt.test.mjs +++ b/tests/k04-game-ai-generation-receipt.test.mjs @@ -39,11 +39,12 @@ test('K04 mutations are effective before independent repair', () => { } }); -test('K04 local independent receipt binds the runtime evidence and remains honest before hosted replay', () => { +test('K04 independent receipt binds runtime evidence and reports hosted replay state', () => { const result = verifyK04GameAiGenerationReceipt(); assert.equal(result.localReceiptPresent, true); assert.equal(result.localAdmitted, true); - assert.equal(result.aiGenerateAdmission, 'UNVERIFIED'); + const authorityPath = path.join(ROOT, 'examples', 'universal-stress', 'evidence', 'k04-game-ai-generate', 'github-replay.json'); + assert.equal(result.aiGenerateAdmission, fs.existsSync(authorityPath) ? 'PASS' : 'UNVERIFIED'); assert.equal(result.runtimeEvidenceBinding.reportRoot, JSON.parse(fs.readFileSync(RUNTIME_PATH, 'utf8')).reportRoot); });