{"schema":"sps.site_author_review.v1","review_id":"SITE-AUTHOR-REVIEW1","review_date_kst":"2026-10-23","review_scope":"PUBLIC_SITE_ACCESS_AND_EVIDENCE_SYSTEM_ONLY","outcome":"SITE_PUBLIC_AND_EXACT_GLB_BYTES_VERIFIED; LIVE_WEBGL_PLAYBACK_NOT_VERIFIED; ART_RIG_MOTION_RUNTIME_UNAPPROVED","review_method":{"site_browser":"Chrome cloud CDP, actual UI navigation/read-only interaction and screenshot","file_method":"HTTPS GET to precise public URLs; SHA-256 of downloaded bytes; GLB2 header/chunk/gltf JSON parsing","not_performed":["Original-author comparative character art review","independent interactive 3D rotation","observable WebGL character animation playback","skin deformation evaluation","Godot runtime","mobile or gameplay testing","site modification"]},"visited_and_fetched":[{"url":"https://chan-woo.com/","access":"BROWSER_OPEN_AND_HTTPS_GET","observation":"여섯 조각의 별 · 원저자 검수실; 2 currently listed versions; 470 overall versions uploading"},{"url":"https://chan-woo.com/#EGM001_GROUND_P01","access":"BROWSER_UI_SELECTED","observation":"Ground label, model and dossier links, source SHA, runtime not approved; viewer loading did not finish in this browser"},{"url":"https://chan-woo.com/#character-2119126f5e6f224e","access":"BROWSER_UI_SELECTED","observation":"Exact SPS-ALLY-PLY100-20261019-058 label, 1 skin/66 joints/Running, Walking; viewer loading did not finish in this browser"},{"url":"https://chan-woo.com/models/character-2119126f5e6f224e.glb","access":"FULL_EXACT_BINARY_GET_SHA_VERIFIED"},{"url":"https://chan-woo.com/dossiers/character-2119126f5e6f224e.json","access":"HTTPS_GET_JSON_READ"},{"url":"https://chan-woo.com/models/EGM001_GROUND_P01.glb","access":"FULL_EXACT_BINARY_GET_SHA_VERIFIED"},{"url":"https://chan-woo.com/dossiers/EGM001_GROUND_P01.json","access":"HTTPS_GET_JSON_READ"},{"url":"https://chan-woo.com/catalog.json","access":"HTTPS_GET_JSON_READ"},{"url":"https://chan-woo.com/review-evidence-contract.json","access":"HTTPS_GET_JSON_READ"},{"url":"https://chan-woo.com/maps.json","access":"HTTPS_GET_JSON_READ"},{"url":"https://chan-woo.com/reviews.json","access":"HTTPS_GET_JSON_READ"},{"url":"https://chan-woo.com/author/coast-input.png","access":"HTTPS_GET_SHA_VERIFIED_AUTHOR_2D_NOT_GLB"},{"url":"https://chan-woo.com/author/coast-target.png","access":"HTTPS_GET_SHA_VERIFIED_AUTHOR_2D_NOT_RENDER"}],"website_ui":{"confirmed":["Page publicly opens and correctly says overall 470 unique original GLB versions are uploading rather than all approved or character species","Exactly 2 versions currently listed, catalog pending_original_versions=468","Ground and character selection alters hash URL and visible asset metadata","ID search '058' filters list to one character; filter subsequently cleared","Origin GLB and dossier links exposed for selected asset","Public warning separates receipt/presence from art, motion and runtime approval","maps.json has target=10 and verified_complete=0; reviews.json has reviews=[] and empty_does_not_mean_pass=true"],"webgl_own_browser":{"state":"UNKNOWN_NOT_DEMONSTRATED","visible_message":"실제 GLB 불러오는 중…","render_in_own_browser":false,"actual_rotation_proven":false,"actual_clip_playback_proven":false,"controls_attempted":["animation select click","play/pause click"],"controls_observation":"No visible change while viewer remained in loading state","root_cause":"UNKNOWN: remote browser graphics/network/client loading not isolated; not classified as a universal site defect","user_attached_preview_separate":"Character is visually present in user-supplied browser screenshot, but that is not independent rotation or playback verification"},"code_static_inspection":{"model_cache_size_zero_present":true,"previous_viewer_pause_src_remove_clone_replace_present":true,"loading_and_error_handlers_present":true,"clip_select_and_play_handlers_present":true,"actual_memory_release_or_repeatability_tested":false}},"binary_receipts":[{"asset_id":"SPS-ALLY-PLY100-20261019-058","file_url":"https://chan-woo.com/models/character-2119126f5e6f224e.glb","sha256_expected":"2119126f5e6f224e2753d0bf5aec8ea978a1fbe01a3d0b1439ede31577c6041e","sha256_downloaded":"2119126f5e6f224e2753d0bf5aec8ea978a1fbe01a3d0b1439ede31577c6041e","actual_bytes":10201064,"byte_identity":"PASS","glb_version":2,"nodes":68,"meshes":1,"mesh_primitives":1,"skins":1,"joints_per_skin":[66],"skinned_mesh_nodes":1,"vertex_attributes":["POSITION","NORMAL","TEXCOORD_0","JOINTS_0","JOINTS_1","JOINTS_2","WEIGHTS_0","WEIGHTS_1","WEIGHTS_2"],"materials":1,"embedded_images":3,"embedded_image_format":"image/jpeg","animations":[{"name":"Running","duration_seconds_approx":0.633333,"channels":132,"rotation_channels":66,"translation_channels":66},{"name":"Walking","duration_seconds_approx":1.033333,"channels":132,"rotation_channels":66,"translation_channels":66}],"evidence_limit":"Structure/animation-channel presence only, not visual deformation, motion quality, foot contact or real-time animation success","review_status":{"art":"UNKNOWN","geometry":"STRUCTURE_PRESENT_UNREVIEWED","rig":"STRUCTURE_PRESENT_ONLY","motion":"CLIP_PRESENT_UNREVIEWED","runtime":"NOT_TESTED"}},{"asset_id":"EGM001_GROUND_P01","file_url":"https://chan-woo.com/models/EGM001_GROUND_P01.glb","sha256_expected":"c73047cab24f0ec61dde738820221f274194b1f2b50a0e4afb2d55ba1d8564b5","sha256_downloaded":"c73047cab24f0ec61dde738820221f274194b1f2b50a0e4afb2d55ba1d8564b5","actual_bytes":7928080,"byte_identity":"PASS","glb_version":2,"nodes":1,"meshes":1,"mesh_primitives":1,"skins":0,"animations":0,"materials":1,"embedded_images":3,"embedded_image_format":"image/jpeg","catalog_status_existing":"received_scene_approved","runtime_approved_existing":false,"new_art_judgement":"NOT_ISSUED_IN_SITE_REVIEW","review_status":{"geometry":"STRUCTURE_PRESENT_UNREVIEWED","seam_physics_game_m_mobile":"NOT_TESTED"}}],"author_2d_sources":[{"url":"https://chan-woo.com/author/coast-input.png","sha256":"7387698307ee61bc90c2a537336e333dc055e939488acc2877218a0ef9e22f14","dimensions":[1672,941],"mode":"RGB","stage":"ORIGINAL_AUTHOR_2D_INPUT_NOT_GLB"},{"url":"https://chan-woo.com/author/coast-target.png","sha256":"635e1ef854981947040ebb8ba6010bb93c01aec5c2426ba5e28be960c59a956c","dimensions":[1672,941],"mode":"RGB","stage":"ORIGINAL_AUTHOR_2D_VISUAL_TARGET_NOT_ACTUAL_GLBRUNTIME_RENDER"}],"attached_visual_evidence":{"file_received_as":"upload/public-rig-preview.png","file_content_type_detected":"JPEG/JFIF despite .png extension","dimensions":[1265,712],"sha256_exact_received_bytes":"bd47935c64c19bb732ea7ccd637a0e2a71dac704aec8b4e6593ac4fb5f0201b9","visually_visible":"Browser QA page with SPS-ALLY-PLY100-20261019-058 selected; light-haired humanoid, blue-white shoulders/clothes and muted green trousers; single static viewport","attribution":"USER_PROVIDED_PUBLIC_SITE_SCREENSHOT_NOT_INDEPENDENT_NATIVE_RENDER","cannot_prove":["Exact PNG-format native pixel identity","bone deformations","full feet and rear view","Walking/Running cycle","Godot game execution"]},"site_data_consistency_and_gaps":[{"id":"SITE-E01","severity":"REQUIRED_FOR_FORMAL_ART_REVIEW","state":"CONFIRMED","where":"dossiers/character-2119126f5e6f224e.json and dossiers/EGM001_GROUND_P01.json","observation":"All 11 exact required field names from review-evidence-contract.json minimum_asset_receipt.required are absent in each current dossier; some underlying facts exist under aliases asset_id, sha256, bytes, model_url","minimum_action":"Publish schema-aligned immutable per-asset receipts: asset_id_exact, source_original_sha256, candidate_file_sha256, filename, byte_count, mime_type, original_author_reference_sha256, generation_input_art_sha256, production_stage, review_stage, hold_flags. Use null+reason for unknown, not invented paths or a false successful receipt."},{"id":"SITE-E02","severity":"REQUIRED_FOR_CHARACTER_ART_RIG_MOTION_DECISION","state":"CONFIRMED_EVIDENCE_MISSING","where":"058 character asset page/dossier","observation":"No official original FRONT/side visual SHA, fixed four-view character GLB render set or complete motion videos/weight diagnostics in current dossier","minimum_action":"Pair official original art with pinned GLB neutral FRONT/OWNLEFT/OWNRIGHT/BACK views at consistent camera/framing; joints-sensitive details; timed front/side/back Walking and Running cycles, weight/influence summary, foot-slide and penetration test; missing required Idle/Turn/Main-action marked separately as not supplied."},{"id":"SITE-E03","severity":"REQUIRED_FOR_GAME_TECH_PASS","state":"CONFIRMED_EVIDENCE_MISSING","where":"058 and ground dossier; maps.json","observation":"No native Godot 4.7.2 run/build hash, scene/manifest, actual input-to-outcome video, collision/nav trace, mobile FPS/memory proof; maps verified_complete=0","minimum_action":"Attach reproducible Godot scene/load/play logs, gameplay videos and per-platform metrics to exact SHA, with explicit pass/fail rows. Do not transform viewer load into runtime pass."},{"id":"SITE-E04","severity":"REQUIRED_LABEL_CORRECTION","state":"CONFIRMED","where":"review-evidence-contract.json","observation":"Published contract retains historical LOCAL_REVIEW_SITE_REPORTED_BY_USER; PUBLIC_URL_NOT_VERIFIED; NO_BROWSER_CONNECTION_OR_SITE_INSPECTION_THIS_TURN, and access_and_publication.public_url_ready=false/contacted_url_this_turn=false","minimum_action":"Mark these as historical snapshot fields with their original date, or publish a separate current deployment-status receipt with observed public URL/verification timestamp. Do not change past evidence retroactively."},{"id":"SITE-E05","severity":"RECOMMENDED_UNAMBIGUOUS_COUNTS","state":"CONFIRMED","where":"catalog.json","observation":"2 published versions, pending_original_versions=468, missing_count=0. Without a defined meaning, missing_count=0 might be misread as all 470 files supplied.","minimum_action":"Rename/define missing_count as published_subset_missing_count or make counts published_versions=2, pending_versions=468, total_versions_target=470, reviewed_pass_count=0; note versions are not character species."},{"id":"SITE-E06","severity":"RECOMMENDED_VIEWER_RELIABILITY","state":"OWN_BROWSER_NOT_VERIFIED","where":"#character-2119126f5e6f224e","observation":"Viewer remained on loading in this browser; play and clip-select actions produced no visible playback status change. User-provided JPEG screenshot independently shows a model displayed in another browser.","minimum_action":"Expose model loading timeout, error reason/WebGL support status, clip state/play state/time, deterministic camera presets, fixed actual renders/video fallback; collect browser/renderer build context before classifying universal failure."},{"id":"SITE-E07","severity":"RECOMMENDED_REVIEW_PROVENANCE","state":"CONFIRMED","where":"reviews.json","observation":"reviews=[] and no actual reviewer decision evidence; empty_does_not_mean_pass=true is correct","minimum_action":"Create append-only review entries only after independent author evaluation; key each by asset ID + full source SHA + candidate revision + evidence SHA, separate art, rig, motion and runtime status."},{"id":"SITE-E08","severity":"RECOMMENDED_LABEL_PRECISION","state":"CONFIRMED","where":"ground catalog state and user screenshot attachment","observation":"Ground state received_scene_approved can be mistaken for current scene or runtime pass; screenshot filename .png contains JPEG bytes","minimum_action":"Display recorded state with stage and scope, explicit runtime_approved=false; report attachment decoded MIME/bytes/SHA and distinguish browser screenshot from native render proof."}],"preserved_scope_and_gates":{"uploaded_total_unique_versions_claim":470,"published_exact_models":2,"pending_versions":468,"character_species_count":"NOT_DERIVED_FROM_VERSIONS","character_reserve_credits":1635,"new_paid_meshy":0,"map_paid_production":"WAITING","complete_maps":0,"target_maps":10,"codex_unapproved_art_creation":0,"previous_hold_conditional_failed_statuses":"PRESERVED_NOT_REOPENED","next_step":"Publish the rest by exact ID+SHA and attach fixed multi-view, actual clips and Godot proof; author evaluates each separately. No approvals inferred from new uploads."},"technical_note_on_download":"An initial multi-file transfer produced an incomplete 548864-byte character file (GLB header still declared 10201064), which was not used. A separate direct GET returned 10201064 bytes with the exact required SHA. Do not classify the service file as corrupt from that first partial transfer."}