{ "schema": "fullscreen-delta-independent-review-v1", "reviewer": "fullscreen_delta_final", "independent": true, "decision": "ACCEPTED_SOURCE_OFFLINE_ONLY", "review_result": "PASS", "scope": "Unique GN-P2-1 correction: fullscreen H2 whole-field predicate, current post-fullscreen group/origin and visible-output input; prospective tests and runner only. No unrelated historical scenarios audited.", "source_root": "/var/tmp/swayfx-mosaic-corec-v2-i516p6po/graphics-next-kit", "prior_review": "/var/tmp/swayfx-mosaic-corec-v2-i516p6po/review-graphics-next/receipt.json", "prior_review_sha256": "4c10510414f176c2abf7b37a0d5051ba7591b73df4be681dd878e85440e3a11f", "prior_finding": "GN-P2-1", "prior_finding_status": "CLOSED_SOURCE_OFFLINE_ONLY", "source_manifest": "/var/tmp/swayfx-mosaic-corec-v2-i516p6po/ownoutputsLAB/fullscreen-field-fix/graphics-source-freeze-v2.json", "source_manifest_sha256": "d1ef27525238c09889a2c306e744de212bea0601f4c6def551c2fafdc97110ce", "old_source_manifest_sha256": "402d2393d07e4e423a402ff4a508c5beb61121c22723939be2d1a0fb767f5085", "source_files": { "README.md": "3148baa6c004d45cc151789652234cdd07fc961a166e799d0604c937ad6622fc", "cases.py": "668230af8439e7cbe3b275a06dfd2d3f04e44cdcc133892a18e7d950fa2f0a8e", "clients/fullscreen-client.c": "7c1a41875a5406b796c05695736e9f6d937d0fc87e8297b80fdccfdc34096605", "clients/nested-client.c": "957f81886122256afd1dd5712185a021c08927899d3d7664041c64a366bc7438", "clients/pointer-daemon.c": "8e4eaad95882d0d73866f801899007240b01cb6e15a712e820b3e3f71a78bbe5", "clients/saved-client.c": "fb23512dea7b74b2ec7468a4e45d12d1a6ee83bf22f261a3d12e9c1077dda8f6", "clients/static-reference.c": "e346a85ded3345b232cd6edca5a1ac57aebfd548a60e12b3c47a5cf515e6c50e", "clients/vertical-client.c": "5f15adce7304839cc46150c0153a186724ea5f1f4f51b69aacf01a242a54e9db", "engine.py": "af2e22687a58803a87d8a406f5d3f780a80194fa5c84595b2a0d98025862cece", "evidence.py": "70c6bd58bf30c1cb8e4909aa7f2e8d71cbe4ad5ba49253ae94beff067151736a", "freeze.py": "ff4372f3bedc41b1dae950ee58ca877ca602f24878020b443df72cd0daeece3e", "fullscreen.py": "cc12e2636ca5facec5b05e56e0235f865c4c67b5d0714b816ca8a0363759b5a9", "gate.py": "59d078db0701b80a453dd5971f21e5c6dd2e9f76c42d3d8865159cbd1c13c631", "geometry.py": "76a80e98887d3a3707ee942b48a49c1850cdc4aeeb28237d9fea33fa3470fb12", "gpu_handler.py": "78f93a9d067cd7f2f5dd40941c3deba955c1cddeb7131bc222208c3c26d4c58b", "ipc_predicates.py": "5354ba53e1b3f8d0026f4475beebee58d093a81db7d26304cad7085ae3efd352", "lifecycle.py": "df0c11027b3b8b0ef371ddb6ec4bcfd28dac09835644d0c3ce6e273d5e565e92", "model.py": "a578fc589fb092dae3ccdcf8c4eec12a97e515f721decc4c968078dedcb2367a", "offline/test_graphics_v2.py": "455d0297e2deaa14623561a0c893e6e84ea891c74decb38748ef04dbd90e598f", "offline/test_prospective.py": "09231dfb0e91d693e062f6518b613cc9da6be7a8ecc4e60e2942d27066bc8640", "oom.py": "7afc9bd27840bbc5b4a3c0eca96dba45d1b90d9a2975b72c897832ba06d9bb0a", "oom_handler.py": "1ae766b759e58d8fcdc991fa64d3218d159d8a3b90825b7cba555c24aa4501a2", "parent-provenance.json": "cd4a768a1c4cac81c4d102b7c37346060269b5d56a020c129bf79f31ec79ae80", "pixels.py": "d315ddad978238ffbf1c8e4d712d4608ba23564703332d814f627f57f7b6e7f5", "plans.py": "082ef1ecb16a7c4225008c030f9fa3e446837e9569dbf4fae910dab77d80c70b", "predicates.py": "abe0c4c5b3b6d533d2714e13d317d68cd02e1f1c6180d2972ff94d00c9069cd1", "prepare.py": "c43bf58bd8668758e101f8437470e820a94251f48536b8c73267b43904ebd21f", "prepare_fullscreen.py": "eda437d6c4a8e3903e974ee118edcfd33de757e3afd931d35a4ce441c20cdc3d", "protocols/wlr-virtual-pointer-unstable-v1.xml": "3ff6d540be0bc5228195bf072bde42117ea17945a5c2061add5d3cf97d6bb524", "protocols/xdg-shell.xml": "7ba7f9c8473deee674cb1f154a18abd0bb0cc072604fc055b0c15e459fc4c7df", "run.py": "67b3a71c2ab0e8c5f5f807a3fab93b4aa08ba3d8895dd374d83ed49ded0c20b2", "saved.py": "3838829f11f539971d0fdeeea44bf9658e9a0383aa228496d27678f06254d8a0", "saved_validators.py": "b412fedc24869274c8b1506a2800c8d4815c93df859785c6e96f719d692014af", "validate_offline.py": "ddbdc29fb151d7fe9b2e44e6614796aa2fbfc117b9b76aa34b2905257813fbe6", "validators.py": "d8ae5e72ed507653e7631cda233bd6bdfd7f31a97f6d4fd6f53427437b28b054", "wire-fixture.txt": "c6c9fc072f78fbcf9cfdeebcc5becdbdfb61824352495a0e767d7d390267f640" }, "changed_files": [ "README.md", "fullscreen.py", "offline/test_prospective.py", "validate_offline.py" ], "source_manifest_matches": true, "gpu_source_manifest": "/var/tmp/swayfx-mosaic-corec-v2-i516p6po/results/gpu-source-freeze-corrected.json", "gpu_source_manifest_sha256": "38b1daba551758e0969312a1ed5fc459af877ee7d443f2135d6aa62e4831af0e", "repair_receipt": "/var/tmp/swayfx-mosaic-corec-v2-i516p6po/ownoutputsLAB/fullscreen-field-fix/receipt-v2.json", "repair_receipt_sha256": "cae2f6c887a4fdcced7b49c535ea9d8805bc6f5b955b3bfc66f5b7f4dc7039b3", "offline": { "status": "PASS", "count": 48, "original": 32, "prospective": 16, "command": [ "/usr/bin/python", "-B", "/var/tmp/swayfx-mosaic-corec-v2-i516p6po/graphics-next-kit/offline/test_prospective.py" ], "receipt": "/var/tmp/swayfx-mosaic-corec-v2-i516p6po/review-fullscreen-delta/offline-validation.json", "receipt_sha256": "ec60608a4cbec0fec487e7cef5a1c5c41afadc99c049c4fa01eff84ed7c38d2a", "scratch": "/var/tmp/swayfx-mosaic-corec-v2-i516p6po/review-fullscreen-delta/OFFLINE_TEST_ONLY", "note": "Direct unchanged test_prospective.py invocation with corrected GPU manifest; original V2 tests imported and executed. Mechanical real Python child/watchdog tests only, no native client or compositor." }, "independent_checks": { "status": "PASS", "count": 11, "receipt": "/var/tmp/swayfx-mosaic-corec-v2-i516p6po/review-fullscreen-delta/independent-checks.json", "receipt_sha256": "74882a7c5feb501309d80548467a55c567f1f6832826519fd08f6192b5ce73f4" }, "reviewed_symbols": [ "fullscreen.fullscreen_h2_field", "fullscreen.group_candidate", "fullscreen.fresh_geometry", "fullscreen.input_target", "fullscreen.run", "offline/test_prospective.py fullscreen direct negatives and quotas", "validate_offline.validate" ], "evidence": [ "H2 full RGB field is baseline plus measured global A then nested B, clipped to half-open H2 output bounds; exact zero-tolerance RGB comparison.", "Integer popup coordinates derive from predicates.configured integer parsing; nested B coordinates are relative to A, checked explicitly by fullscreen_h2_field.", "Original two-pixel-only image is rejected by actual new predicate, plus independently rendered missing/excess/stack/stale-geometry negatives.", "C8 rereads current owner/workspace origin and two-child group after fullscreen disable plus splith; fullscreen_mode=0, preserved group identity, current output rect and equal child widths are checked before recomputing geometry.", "Input iterates both outputs and checks solid interior inside current popup rectangle; direct H1 and H2-only positives pass.", "After close B, actual handler recomputes geometry, rejects B residual across both images, validates complete A-only H2 field and selects visible A input; final H2 remains exact baseline.", "Capture/action quota tests remain P1=10 and C8=12; field checks reuse existing captures." ], "findings": [], "out_of_scope_observations": [], "per_case_source_offline_admissibility": { "P1": "ACCEPTED_SOURCE_OFFLINE_ONLY", "C8": "ACCEPTED_SOURCE_OFFLINE_ONLY" }, "runtime_authorized": false, "authorized_runs": [], "runtime": "NOT_RUN", "native_build": "NOT_RUN", "client_execution": "NOT_RUN", "native_capture": "NOT_RUN", "GPU_execution": "NOT_RUN", "actual_GL_observability": "NOT_TESTED", "new_reservations": 0, "new_native_captures": 0, "new_client_executions": 0, "source_edits": false, "git_commands": "NOT_RUN", "committed": false, "pushed": false, "limitations": [ "No native graphical execution or current/applied transaction-generation proof.", "Acceptance only closes GN-P2-1 at source/offline level; publication, exact binary bindings and explicit per-case admission remain prerequisites for runtime." ], "next_smallest_step": "Use this final source manifest and independent receipt for the parent source-only decision; no runtime authorization is conferred." }