{ "schema_version": 1, "phase": "PHASE_1_0AH_OFFLINE_DYNAMIC_AND_RELOCATION_CONTRACT", "status": "LOADER_CRT_RELOCATION_SPLIT_BOUNDED_TARGET_MAPPING_BLOCKED", "date": "2026-07-29", "source_bindings": { "phase10ag_manifest_sha256": "4178adf244650d7359cf400492a8d8404b60296a5aee5fc88df4a32adf61bdf1", "contract_size": 7710, "contract_sha256": "51ffa5d8acc475f1edae48f104d27c48ba2725459b217326694f1361552aee3c", "tests_size": 5044, "tests_sha256": "d78eb2441e091bb98586aae36a4e0b1aca24ea8a62feb27103c1e1461b4aa415", "official_shsrv_v07_commit": "74287f5db6b20320efd7892d7b29cf438fe7cb98", "official_shsrv_v07_elfldr_sha256": "1ff6cfa1300a95e8be48e5f7adc1413e3384ba04ea266c167fcd441ef20197d1", "official_sdk_v041_commit": "d2e2e585740362976a39fdd5ccf390f199a7bc37", "official_sdk_v041_rtld_payload_sha256": "5598ca0870c2c7a120507755897d76e5aad0d3a6846cee4482230650ed181f82" }, "contract": { "maximum_dynamic_entries": 256, "maximum_needed_modules": 16, "maximum_needed_name_bytes": 128, "maximum_relocation_sections": 4, "maximum_relocations": 4096, "loader_applied_relocation_types": ["R_X86_64_RELATIVE"], "crt_applied_relocation_types": ["R_X86_64_GLOB_DAT"], "unknown_relocation_types_allowed": false, "relocation_target_requires_aligned_rw_load": true, "relative_requires_zero_symbol_and_mapped_addend": true, "glob_dat_requires_nonzero_symbol_and_zero_addend": true, "exact_needed_order_required": true, "file_interface_present": false, "mapping_interface_present": false, "module_loading_interface_present": false }, "module_allowlist": [ "libSceAudioOut.sprx", "libSceLibcInternal.sprx", "libScePad.sprx", "libSceSystemService.sprx", "libSceUserService.sprx", "libSceVideoOut.sprx", "libkernel_web.sprx" ], "historical_phase10m_reference": { "exact_bytes_present": false, "validated_by_phase10ah": false, "relative_relocations": 913, "glob_dat_relocations": 142, "total_relocations": 1055, "needed_modules": [ "libSceAudioOut.sprx", "libSceLibcInternal.sprx", "libScePad.sprx", "libSceSystemService.sprx", "libSceUserService.sprx", "libSceVideoOut.sprx", "libkernel_web.sprx" ] }, "runtime_classification": { "relative_application": "FUTURE_LAUNCHER_BOUNDED_WRITE_MODEL_ONLY", "glob_dat_resolution": "SDK_CRT_SIDE_EFFECTING_RUNTIME", "dt_needed_loading": "SDK_CRT_SIDE_EFFECTING_RUNTIME", "firmware_9_60_runtime_proven": false, "videoout_behavior_proven": false }, "remaining_blockers": [ "EXACT_FUTURE_CANARY_BYTES_NOT_BUILT", "TARGET_MAPPING_AND_PROTECTION_RESTORATION_UNDESIGNED", "SDK_CRT_MODULE_LOADING_SIDE_EFFECTS_RUNTIME_UNPROVEN", "PPSA01659_FIRMWARE_9_60_ROLE_UNPROVEN", "SYSTEMSERVICE_DECLARATIONS_SINGLE_LINEAGE", "KERNEL_PTRACE_EFFECT_POLICY_UNREVIEWED" ], "authorizations": { "target_source_authorized": false, "target_build_authorized": false, "ps5_connection_authorized": false, "device_transfer_authorized": false, "device_execution_authorized": false, "device_write_authorized": false }, "decision": { "dynamic_contract_complete": true, "target_mapping_allowed": false, "target_implementation_allowed": false, "device_action_allowed": false, "mapping_state_model_allowed": true, "next_step": "OFFLINE_MAPPING_PROTECTION_AND_RESTORATION_MODEL" } }