{ "target": "e03e460a9b3e5ad489aad24095485ba10ceb987d", "remote": "https://dayu.media/git/dayu/paintfcp-fxplug.git", "startedAt": "2026-10-21T10:42:53.349001+00:00", "temporaryClone": "/var/folders/t4/kbc10sqs43b0rjf3nfh51nmw0000gn/T/paintfcp-final-recovery-e03e460-wsazshda/clone", "scope": "Independent remote source recovery; no APP build, installation, execution, UI, source edits or commit.", "cloneHead": "e03e460a9b3e5ad489aad24095485ba10ceb987d", "files": { "count": 51, "allByteAndBlobAndModeEqual": true, "entries": [ { "path": ".gitignore", "bytes": 490, "mode": "100644", "gitBlob": "d2bca6e38076bb5f7574cc7781eadef27b41d9ff", "sha256": "34e63260d343569ad4d5a1ffd6c15647da5a7da2b8940dc93f6d987c7fec474e", "byteAndBlobAndModeEqual": true }, { "path": "README.md", "bytes": 2374, "mode": "100644", "gitBlob": "b23fa1dbe565ec9c076d5a070b9d3b15771d09eb", "sha256": "b483ab1c164af35003277dcdeecf3e2d66c2c608461c2ea7ab17d7b2b87a781e", "byteAndBlobAndModeEqual": true }, { "path": "RECOVERY.md", "bytes": 3722, "mode": "100644", "gitBlob": "321cbca369a7da1cb0da858381701d32d9145a6d", "sha256": "5d1ba0793bb476ce10bfbe5a5b9195cb8be33d9987a1de29975de5ec92c25201", "byteAndBlobAndModeEqual": true }, { "path": "Templates/大鱼人像美化/Drop Zone.tiff", "bytes": 420128, "mode": "100644", "gitBlob": "6d15c98bc221f999514f197ff67a7145836e6a38", "sha256": "a7f8e3a2a431dbb3ce9e777040bb55e701cfe9ab9632e8cbb10359732bc8692e", "byteAndBlobAndModeEqual": true }, { "path": "Templates/大鱼人像美化/PARAMETERS.json", "bytes": 9815, "mode": "100644", "gitBlob": "df2c01f370e6ee639d2950774fe8020742802c17", "sha256": "bb561b0dfff90223f0925a60ec05b28518e22163a6bf7922c4efc6d155ddbabb", "byteAndBlobAndModeEqual": true }, { "path": "Templates/大鱼人像美化/README.md", "bytes": 4180, "mode": "100644", "gitBlob": "e4317f896ea661029a9c3e6f38e1141692b20f92", "sha256": "cab22a7d453a197f6fad5f38508e9bbfb1f55fb67d368b255dc8cc8b973f116c", "byteAndBlobAndModeEqual": true }, { "path": "Templates/大鱼人像美化/VALIDATION.json", "bytes": 1749, "mode": "100644", "gitBlob": "725063ec5edc1d5fe39e9cf79a91f5e5da005853", "sha256": "8aa839a756a23a64ab631ff558e16a5542f5311d5f9d0f6212a62150eb75ad1d", "byteAndBlobAndModeEqual": true }, { "path": "Templates/大鱼人像美化/大鱼人像美化.moef", "bytes": 22996, "mode": "100644", "gitBlob": "98142a1ab47258a7fdd40c82ddc36ade6976fc04", "sha256": "d234d504eba9e6d37b910b622a46c92458e658c5bbdad2caf5831c2a1463a3e2", "byteAndBlobAndModeEqual": true }, { "path": "beatygril/beatygril.xcodeproj/project.pbxproj", "bytes": 22986, "mode": "100644", "gitBlob": "db5251bf3c337b865621e771a4b28690214f1c8e", "sha256": "e9b9be100e53003f6bba96658d3a36078bb607236958e43aec6ed59f8c73ce32", "byteAndBlobAndModeEqual": true }, { "path": "beatygril/beatygril.xcodeproj/project.xcworkspace/contents.xcworkspacedata", "bytes": 135, "mode": "100644", "gitBlob": "919434a6254f0e9651f402737811be6634a03e9c", "sha256": "7f3b00b5c3fdb45242d7b87e1e5c4e25d1fa8129a16c94295ecc4e8ea2235c5f", "byteAndBlobAndModeEqual": true }, { "path": "beatygril/beatygril/Plugin/Info.plist", "bytes": 3030, "mode": "100644", "gitBlob": "956728344f758fd35239c8f0cfe1a532c11f3f16", "sha256": "b7285915328457ff63e146230a9db417c4a99a20b067930265dbc5b270988457", "byteAndBlobAndModeEqual": true }, { "path": "beatygril/beatygril/Plugin/PGBeautyRenderer.h", "bytes": 1410, "mode": "100644", "gitBlob": "a0a6965c837072e6d837a98b701d59b1cc139655", "sha256": "4e9b663c47261e4feceb7ab38c25171b65f36c14417d82a8b7c49ee3201492d3", "byteAndBlobAndModeEqual": true }, { "path": "beatygril/beatygril/Plugin/PGBeautyRenderer.m", "bytes": 17132, "mode": "100644", "gitBlob": "4c9fc6fbb1dc1f2c4048a16435f554cae9f2ca74", "sha256": "00b52b1f22c1e875f137ee4ea90f50d6caa38db277bebd0da538d0ba7e66072b", "byteAndBlobAndModeEqual": true }, { "path": "beatygril/beatygril/Plugin/PGBeautyTypes.h", "bytes": 1149, "mode": "100644", "gitBlob": "e1cd3ef21f37b831cdaa7d9f52211cafaf243994", "sha256": "6ea8005accc22f85fe8be1b73bf6e89a5b37ffd6e97460d4f6dd69d55eaf33cc", "byteAndBlobAndModeEqual": true }, { "path": "beatygril/beatygril/Plugin/PGFaceProcessor.h", "bytes": 2178, "mode": "100644", "gitBlob": "0b861830a6e9652d81ccfe62f2ce758febee449f", "sha256": "a3448bd75fd278c9702f079f55637ba2c26bc820bdbb81f49fb3a3d0e2a4aba5", "byteAndBlobAndModeEqual": true }, { "path": "beatygril/beatygril/Plugin/PGFaceProcessor.m", "bytes": 36793, "mode": "100644", "gitBlob": "69359f52ef6473d034553d8cd9528881b4a0125f", "sha256": "49ee6e5632d7ec043cbadef8596a153f1f6841eb4e658ea67b436f4aca9e60c4", "byteAndBlobAndModeEqual": true }, { "path": "beatygril/beatygril/Plugin/PGFaceSelectOSC.m", "bytes": 11630, "mode": "100644", "gitBlob": "ae0aa7ce1c2de355b2c1cb890314a0de689df81a", "sha256": "d5e1dd1db6825730803ddc3f21b588cd548cbbacc60760aa45ad9e2feedae307", "byteAndBlobAndModeEqual": true }, { "path": "beatygril/beatygril/Plugin/PGParameterIDs.h", "bytes": 932, "mode": "100644", "gitBlob": "4cc0e20af1e659f1e8e666fabe01003c06cfd885", "sha256": "8fdfa2021131317ce09532d27fd6f34fb0b505f7b17c561819336ad2a06c42cc", "byteAndBlobAndModeEqual": true }, { "path": "beatygril/beatygril/Plugin/beatygrilPlugIn.h", "bytes": 347, "mode": "100644", "gitBlob": "12dca07a744c064d5d474e0294304ca29055a077", "sha256": "4f00716328c9237b79cc58153ba47d8ac8ddc1786939cb206bd37b01e3b6397e", "byteAndBlobAndModeEqual": true }, { "path": "beatygril/beatygril/Plugin/beatygrilPlugIn.m", "bytes": 24193, "mode": "100644", "gitBlob": "3f148956b32770c7db5b0df97700fd96f7e20025", "sha256": "b8f4326ed3eb2de74770e4ea266d09ebe4aea70428a4511f0ec501a0cd89b247", "byteAndBlobAndModeEqual": true }, { "path": "beatygril/beatygril/Plugin/en.lproj/InfoPlist.strings", "bytes": 85, "mode": "100644", "gitBlob": "9a5f27348a39c8e3ee50cffc2fb359c78a1319c8", "sha256": "1b1cd5b74690bd5a74cf2b0a0c068bbc2c3462c5e9fe5ca3e61541bcbd451a7a", "byteAndBlobAndModeEqual": true }, { "path": "beatygril/beatygril/Plugin/en.lproj/Localizable.strings", "bytes": 132, "mode": "100644", "gitBlob": "7f52f3dd719cb4f94e24867e36114cb061ef0b92", "sha256": "b3036a2339b97ebf264516e1e534351d1ceb64f45942595508f4d67d07b07769", "byteAndBlobAndModeEqual": true }, { "path": "beatygril/beatygril/Plugin/main.m", "bytes": 114, "mode": "100644", "gitBlob": "34d50d3f8cdf438d3508d0aa94e3f2d20e45f962", "sha256": "5b812ddb1ef171fe075e4faf13d761935ca73ecbba1be0bd9d4802a64a7759cd", "byteAndBlobAndModeEqual": true }, { "path": "beatygril/beatygril/Wrapper Application/AppDelegate.h", "bytes": 167, "mode": "100644", "gitBlob": "f3f8e19cfe057114c2289ff37c01c2e6e1aa7ed0", "sha256": "3fc6516be93176f90c2deb17332c9cf98e670458a33fbad4fe7b8f367ec9494f", "byteAndBlobAndModeEqual": true }, { "path": "beatygril/beatygril/Wrapper Application/AppDelegate.m", "bytes": 3003, "mode": "100644", "gitBlob": "1cb56f073356dd30add33415117bf4c24fdc4ef0", "sha256": "acef6ade6591c039cd8b3e603f83d6d06f64da9709a0385b73c8588e824fe6de", "byteAndBlobAndModeEqual": true }, { "path": "beatygril/beatygril/Wrapper Application/Base.lproj/MainMenu.xib", "bytes": 50614, "mode": "100644", "gitBlob": "57d03a50e249d189c5fa0a4602c5ec846f06612d", "sha256": "7f0945bc5903a658550b712267870edecbdf1b73ac83c71f1358468f40c1ab1d", "byteAndBlobAndModeEqual": true }, { "path": "beatygril/beatygril/Wrapper Application/Info.plist", "bytes": 1084, "mode": "100644", "gitBlob": "94b192675bf5651a7c66da35f04ff23e7b8f01c2", "sha256": "b1e0922de60e32a703f62c34b508610d5a0329d70637911cfa4645c0fd19083d", "byteAndBlobAndModeEqual": true }, { "path": "beatygril/beatygril/Wrapper Application/SandboxEntitlements.entitlements", "bytes": 240, "mode": "100644", "gitBlob": "852fa1a4728ae4789e3bca55dd07caef3b41f2a5", "sha256": "b746c74b201e6af4e0864fbd1f4f629f96156a7ec4b7208bc995d0a5089bb592", "byteAndBlobAndModeEqual": true }, { "path": "beatygril/beatygril/Wrapper Application/en.lproj/Credits.rtf", "bytes": 264, "mode": "100644", "gitBlob": "da779d0f6bec11568066e347a01ccef0308488b2", "sha256": "ec846e198df85720e8443abb810334411b5690386f3062f90208c23b8575f28a", "byteAndBlobAndModeEqual": true }, { "path": "beatygril/beatygril/Wrapper Application/en.lproj/InfoPlist.strings", "bytes": 0, "mode": "100644", "gitBlob": "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391", "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "byteAndBlobAndModeEqual": true }, { "path": "beatygril/beatygril/Wrapper Application/main.m", "bytes": 112, "mode": "100644", "gitBlob": "99ad4384792f9b2050e0755c07522c0dab9b4b86", "sha256": "5c3dc97a53d0379af0e0ce75c5541f33c47f2da115d2d0018cfba003d185a63d", "byteAndBlobAndModeEqual": true }, { "path": "docs/analysis/REA-分析与复刻说明.md", "bytes": 7652, "mode": "100644", "gitBlob": "dd32569f3d93f3533f257ed4d1ecd70a4eab271e", "sha256": "6ca162a8eb43ef67b5bf55954d15c16aecefbfdfa5a1b687e7516cee4f141c9e", "byteAndBlobAndModeEqual": true }, { "path": "docs/analysis/auto-follow-report.json", "bytes": 15665, "mode": "100644", "gitBlob": "e60d6d055a513ab8e9c21d2b39460c9d0698e1d3", "sha256": "1a0c91efcaee058f331f6a7446bea8794af1dcf9120f5c2585f249b188d038e3", "byteAndBlobAndModeEqual": true }, { "path": "docs/analysis/beauty-preview.png", "bytes": 617622, "mode": "100644", "gitBlob": "35ace472cb42629b01b3e05660cb7be8b9711fd7", "sha256": "37aa97855915a49ff1f225a9e1fa9d8bcbed0be5f4109b6835ba4db17f9113f6", "byteAndBlobAndModeEqual": true }, { "path": "docs/analysis/face-preview.png", "bytes": 713552, "mode": "100644", "gitBlob": "9a5bab3ad706b95ac32875352d16d6580dcd48ab", "sha256": "6cc662cbb2b554a0dd8c926d94a0d819506ac76710d9c09c2d3d7f808fbf686b", "byteAndBlobAndModeEqual": true }, { "path": "docs/analysis/rea-auto-tracking.json", "bytes": 2883488, "mode": "100644", "gitBlob": "2f5738f934f0ce89780cf4535c7257b54a397bef", "sha256": "dc1007f3798fade5e454bb2ef0b58e4cfe2bb0256948c364070fd9af70a97377", "byteAndBlobAndModeEqual": true }, { "path": "docs/analysis/rea-host.json", "bytes": 10111, "mode": "100644", "gitBlob": "9de443173a74668f0a2dced3426dae20549a16dd", "sha256": "141866459948b19d5378de2f6534de333c795e317416f2ac6c9fdc86c94dd61a", "byteAndBlobAndModeEqual": true }, { "path": "docs/analysis/rea-plugin.json", "bytes": 343165, "mode": "100644", "gitBlob": "79bcafbcfeda694ed466d95f81f30eb622a95a0b", "sha256": "dda6e450915e1054653c28addfed5254c678dccf14ee66643d508e7087c1f0c1", "byteAndBlobAndModeEqual": true }, { "path": "docs/analysis/reference-template-parameters.json", "bytes": 1608, "mode": "100644", "gitBlob": "9947e2ff182a146bc4c9120dfff7eacc8cca9c0c", "sha256": "026e47e8ecbd9a967d8b8aabddac2a370479a43b9e1a7a7728b5b01a5002f006", "byteAndBlobAndModeEqual": true }, { "path": "docs/验证记录.md", "bytes": 4783, "mode": "100644", "gitBlob": "22db834b9b61b5d1ede9fa4c16e0a8ffb2157821", "sha256": "b030e25d23264e8bdfbf172a4b9f417bc30fdd35029a97b3579e3d5c5a0cc798", "byteAndBlobAndModeEqual": true }, { "path": "scripts/checkpoint.py", "bytes": 2218, "mode": "100644", "gitBlob": "8248d1732aceed377d28cdae02873057f442474b", "sha256": "3c27b0e603dd2d94512f611cec97bd9afe5809aea0f5a4bb213995d2e23366f8", "byteAndBlobAndModeEqual": true }, { "path": "scripts/deliver.py", "bytes": 5858, "mode": "100755", "gitBlob": "1ab7b19e5e7f384e5491a93933b1cb5148a4fc1d", "sha256": "1192f8458d8127677ae5353fd15ee8426d76871de60aac719e52da951e86cec0", "byteAndBlobAndModeEqual": true }, { "path": "scripts/test-host.sh", "bytes": 1129, "mode": "100755", "gitBlob": "ef9c7f6436e3d1babbf272e9d329d65ec6c395cb", "sha256": "7f55ed6de05e6cc59884fb7c96062676bd086f4ac745ae847511eacb12316467", "byteAndBlobAndModeEqual": true }, { "path": "scripts/test-osc.sh", "bytes": 941, "mode": "100755", "gitBlob": "ffaed0b8d449eef6acf2fb352d9fea10fc1649fd", "sha256": "ed405cd214ce252641074d0ef0a12c4cc0faf3e1869fe92716a98fff7f9ac517", "byteAndBlobAndModeEqual": true }, { "path": "scripts/test.sh", "bytes": 765, "mode": "100755", "gitBlob": "2ec53312311eab71361399e2fb16a229042d4820", "sha256": "b848347a4bcaa883300e75ac78682ac1f82ce07f2696e2457ee22226c06c7131", "byteAndBlobAndModeEqual": true }, { "path": "tests/beauty_render_tests.m", "bytes": 16870, "mode": "100644", "gitBlob": "24050fb3a2630693253202ae1525c280f4f144eb", "sha256": "b04eb2f0d78faec13bbdd2a3286cc74c46c2f536358c7c1c3d5d03c54daa868c", "byteAndBlobAndModeEqual": true }, { "path": "tests/face_tests.m", "bytes": 33040, "mode": "100644", "gitBlob": "76a05235db8c7ab4c9b59ab6f184be2524443b6e", "sha256": "288654ac41fcbec3db79605a2c215a1284c9b431fcbc0379974a8b6e546d6da4", "byteAndBlobAndModeEqual": true }, { "path": "tests/fixtures/ATTRIBUTION.txt", "bytes": 498, "mode": "100644", "gitBlob": "6e439ab97256952b0acd1eef0e1c1b4ab3ea015c", "sha256": "8823ad8aed1a5c1bdda93946e4b5ed24cd542e996a2b8087517cf62f7f4f2a84", "byteAndBlobAndModeEqual": true }, { "path": "tests/fixtures/astronaut.png", "bytes": 791555, "mode": "100644", "gitBlob": "834cda0012478c5edc8d43bade96d315dedeaab4", "sha256": "88431cd9653ccd539741b555fb0a46b61558b301d4110412b5bc28b5e3ea6cb5", "byteAndBlobAndModeEqual": true }, { "path": "tests/host_adapter_tests.m", "bytes": 30363, "mode": "100644", "gitBlob": "8091c1523eb0b05295c391e20637c931d681e049", "sha256": "77131c770222d3b404204fb04bf47cf943885eeff6acfc7498d59feb28eb1e73", "byteAndBlobAndModeEqual": true }, { "path": "tests/osc_tests.m", "bytes": 22495, "mode": "100644", "gitBlob": "66fff5f78f8e0ba08026e53375b184a460a29162", "sha256": "a3199147e32facd63373b53f77840408411b04436fb1dd42e2fb71023c8f2f8a", "byteAndBlobAndModeEqual": true } ] }, "requiredResources": [ { "path": "Templates/大鱼人像美化/大鱼人像美化.moef", "exists": true, "bytes": 22996 }, { "path": "Templates/大鱼人像美化/Drop Zone.tiff", "exists": true, "bytes": 420128 }, { "path": "beatygril/beatygril/Wrapper Application/Base.lproj/MainMenu.xib", "exists": true, "bytes": 50614 }, { "path": "beatygril/beatygril/Wrapper Application/en.lproj/Credits.rtf", "exists": true, "bytes": 264 }, { "path": "beatygril/beatygril/Wrapper Application/en.lproj/InfoPlist.strings", "exists": true, "bytes": 0 }, { "path": "beatygril/beatygril/Plugin/en.lproj/InfoPlist.strings", "exists": true, "bytes": 85 }, { "path": "beatygril/beatygril/Plugin/en.lproj/Localizable.strings", "exists": true, "bytes": 132 }, { "path": "tests/fixtures/astronaut.png", "exists": true, "bytes": 791555 }, { "path": "tests/fixtures/ATTRIBUTION.txt", "exists": true, "bytes": 498 } ], "gitFsck": { "args": [ "git", "fsck", "--full", "--strict" ], "returncode": 0, "stdout": "", "stderr": "" }, "submodules": { "args": [ "git", "submodule", "status", "--recursive" ], "returncode": 0, "stdout": "", "stderr": "" }, "lfsPointerFiles": [], "lfsAttributesPresent": false, "remoteRefs": { "args": [ "git", "ls-remote", "origin", "refs/heads/main" ], "returncode": 0, "stdout": "e03e460a9b3e5ad489aad24095485ba10ceb987d\trefs/heads/main\n", "stderr": "" }, "checkpointInvocation": { "mode": "100644", "correctInvocation": "python3 scripts/checkpoint.py ...", "helpCheck": { "args": [ "python3", "scripts/checkpoint.py", "--help" ], "returncode": 0, "stdout": "usage: checkpoint.py [-h] [--tag TAG] message files [files ...]\n\npositional arguments:\n message\n files\n\noptions:\n -h, --help show this help message and exit\n --tag TAG\n", "stderr": "" } }, "checks": { "beauty-face": { "args": [ "zsh", "scripts/test.sh" ], "returncode": 0, "stdout": "Beauty renderer: 49 checks, 0 failures (Metal).\nFace processing: 116 checks passed\n", "stderr": "2026-10-21 18:42:58.952 face-tests[1253:5276682] FBBA: creating VNFaceBBoxAligner from VNFaceDetectorRevision2: VNFaceDetectorRevision2\n", "elapsedSeconds": 2.662, "environment": {}, "transcript": "/Users/dayu/Documents/PaintFCP/build/delivery/recovery-e03e460-beauty-face.txt" }, "host-asan": { "args": [ "zsh", "scripts/test-host.sh" ], "returncode": 0, "stdout": "Default IOSurface maximum byte difference: 0\nAlternate destination tag maximum byte difference: 0\nHost adapter: 117 checks, 0 failures\n", "stderr": "2026-10-21 18:42:58.460 host-tests[1241:5276594] FBBA: creating VNFaceBBoxAligner from VNFaceDetectorRevision2: VNFaceDetectorRevision2\n", "elapsedSeconds": 2.32, "environment": { "PAINTFCP_HOST_ASAN": "1" }, "transcript": "/Users/dayu/Documents/PaintFCP/build/delivery/recovery-e03e460-host-asan.txt" }, "osc-asan": { "args": [ "zsh", "scripts/test-osc.sh" ], "returncode": 0, "stdout": "OSC adapter: 98 checks, 0 failures\n", "stderr": "2026-10-21 18:42:57.862 osc-tests[1236:5276552] PGFaceOSC point-write desired=(0.25,0.75) setter=(0.25,0.75) readback=(0.25,0.75) mode=normalized verified=1\n2026-10-21 18:42:57.887 osc-tests[1236:5276552] PGFaceOSC coordinates selection=(0.25,0.75) objectBounds=(-100,-50,200,100) canvas=(80,180) surface=320x240 origin=0\n2026-10-21 18:42:58.633 osc-tests[1236:5276552] PGFaceOSC point-write desired=(0.8,0.3) setter=(1152,-432) readback=(0.8,0.3) mode=centered-pixels verified=1\n2026-10-21 18:42:58.633 osc-tests[1236:5276552] PGFaceOSC coordinates selection=(0.7,0.4) objectBounds=(-1920,-1080,3840,2160) canvas=(152,78) surface=320x240 origin=0\n2026-10-21 18:42:58.734 osc-tests[1236:5276552] PGFaceOSC point-write desired=(0.8,0.3) setter=(0.8,0.3) readback=(0.12345,0.87654) mode=normalized verified=0\n2026-10-21 18:42:58.734 osc-tests[1236:5276552] PGFaceOSC point-write desired=(0.75,0.25) setter=(0.75,0.25) readback=(0.75,0.25) mode=normalized verified=1\n2026-10-21 18:42:58.734 osc-tests[1236:5276552] PGFaceOSC coordinates selection=(0.75,0.25) objectBounds=(-100,-50,200,100) canvas=(160,60) surface=320x240 origin=0\n2026-10-21 18:42:58.813 osc-tests[1236:5276552] PGFaceOSC point-write desired=(0.625,0.375) setter=(0.625,0.375) readback=(0.625,0.375) mode=normalized verified=1\n2026-10-21 18:42:58.813 osc-tests[1236:5276552] PGFaceOSC coordinates selection=(0.625,0.375) objectBounds=(-100,-50,200,100) canvas=(240,60) surface=320x240 origin=0\n2026-10-21 18:42:58.892 osc-tests[1236:5276552] PGFaceOSC point-write desired=(0.25,0.75) setter=(0.25,0.75) readback=(0.25,0.75) mode=normalized verified=1\n2026-10-21 18:42:58.892 osc-tests[1236:5276552] PGFaceOSC coordinates selection=(0.25,0.75) objectBounds=(-100,-50,200,100) canvas=(144,180) surface=320x240 origin=0\n2026-10-21 18:42:58.976 osc-tests[1236:5276552] PGFaceOSC point-write desired=(0.5,0.5) setter=(0.5,0.5) readback=(0.5,0.5) mode=normalized verified=1\n2026-10-21 18:42:58.977 osc-tests[1236:5276552] PGFaceOSC coordinates selection=(0,1) objectBounds=(-100,-50,200,100) canvas=(100,140) surface=320x240 origin=0\n2026-10-21 18:42:59.070 osc-tests[1236:5276552] PGFaceOSC coordinates selection=(0.25,0.75) objectBounds=(-100,-50,200,100) canvas=(nan,nan) surface=320x240 origin=0\n2026-10-21 18:42:59.137 osc-tests[1236:5276552] PGFaceOSC point-write desired=(0.5,0.5) setter=(0.5,0.5) readback=(0.5,0.5) mode=normalized verified=1\n2026-10-21 18:42:59.137 osc-tests[1236:5276552] PGFaceOSC coordinates selection=(0.25,0.75) objectBounds=(-100,-50,200,100) canvas=(inf,nan) surface=320x240 origin=0\n2026-10-21 18:42:59.206 osc-tests[1236:5276552] PGFaceOSC point-write desired=(0.5,0.5) setter=(0.5,0.5) readback=(0.5,0.5) mode=normalized verified=1\n2026-10-21 18:42:59.206 osc-tests[1236:5276552] PGFaceOSC coordinates selection=(0.25,0.75) objectBounds=(-100,-50,200,100) canvas=(80,nan) surface=320x240 origin=0\n2026-10-21 18:42:59.265 osc-tests[1236:5276552] PGFaceOSC point-write desired=(0.5,0.5) setter=(0.5,0.5) readback=(0.5,0.5) mode=normalized verified=1\n2026-10-21 18:42:59.265 osc-tests[1236:5276552] PGFaceOSC point-write desired=(0.5,0.5) setter=(0.5,0.5) readback=(0.5,0.5) mode=normalized verified=1\n", "elapsedSeconds": 2.201, "environment": { "PAINTFCP_OSC_ASAN": "1" }, "transcript": "/Users/dayu/Documents/PaintFCP/build/delivery/recovery-e03e460-osc-asan.txt" }, "xcode-list": { "args": [ "xcodebuild", "-list", "-project", "beatygril/beatygril.xcodeproj" ], "returncode": 0, "stdout": "Command line invocation:\n /Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -list -project beatygril/beatygril.xcodeproj\n\nInformation about project \"beatygril\":\n Targets:\n Wrapper Application\n XPC Service\n\n Build Configurations:\n Debug\n Release\n\n If no build configuration is specified and -scheme is not passed then \"Release\" is used.\n\n Schemes:\n Wrapper Application\n XPC Service\n\n", "stderr": "", "elapsedSeconds": 1.096, "environment": {}, "transcript": "/Users/dayu/Documents/PaintFCP/build/delivery/recovery-e03e460-xcode-list.txt" } }, "testSummary": { "checks": { "beauty": 49, "face": 116, "host": 117, "osc": 98 }, "total": 380, "failures": 0, "asan": [ "host", "osc" ] }, "workspaceDifferencesFromTarget": [], "workspaceExpectedDocumentationDifferencesOnly": true, "clonePostCheckTrackedDiff": { "args": [ "git", "status", "--porcelain", "--untracked-files=no" ], "returncode": 0, "stdout": "", "stderr": "" }, "passed": true, "notes": [ "Expected RECOVERY.md/docs/验证记录.md edits after source freeze do not invalidate byte recovery of this commit.", "scripts/checkpoint.py mode 100644 is usable through explicit python3 invocation; --help passed.", "Only standalone CLI test programs and Xcode project listing were executed. No APP build or host/UI execution." ], "temporaryCloneRemoved": true, "completedAt": "2026-10-21T10:42:59.816535+00:00" }