Files
Chimera GFX release export a6037502d7
phase0-ci / build-and-audit (push) Successful in 2m14s
Publish Chimera GFX source
2026-09-03 03:27:14 +02:00

735 lines
24 KiB
JSON

{
"schema_version": 1,
"schema_contract": {
"id": "chimera-gfx-phase-0.8-remediation-v1",
"shared_schema_available": false,
"validator": "tools/validate_phase08_remediation.py",
"reason": "Existing artifact and controlled-runtime schemas describe built runtime artifacts and cannot represent an offline blocked evidence contract without misleading artifact semantics."
},
"phase_id": "0.8R",
"phase": "offline_remediation",
"status": "READ_ONLY_PREFLIGHT_BLOCKED",
"date": "2026-07-18",
"historical_identity": {
"source_commit": "2c944d6d65a08f7e1c02f518721cde061b999329",
"status": "READ_ONLY_PREFLIGHT_BLOCKED",
"historical_validation_report": {
"reported_date": "2026-07-18",
"host_tests": "17/17 passed",
"manifest_and_safety_checks": "passed",
"secret_scan": "passed across 558 text files",
"classification": "historical_report_not_current_hardware_evidence"
}
},
"immutable_evidence": [
{
"path": "docs/runtime/phase-0.8-read-only-preflight.md",
"role": "historical_human_readable_preflight_record",
"sha256": "3fbe086175a6048176075f447ec1482074928e3b5282db97ea2169395fe1d508"
},
{
"path": "manifests/runtime/phase-0.8-read-only-preflight.json",
"role": "historical_machine_readable_preflight_record",
"sha256": "47d7f452f8799979fe99b3e6d56859f03544112725bf7e5b349eba5ed81b3322"
},
{
"path": "tests/test_phase08_preflight.py",
"role": "historical_fail_closed_regression_test",
"sha256": "8a4ad7c70de28ffe3148fd3fd1f68c36a872c53c691c9068e1ff163970863c48"
}
],
"authorization": {
"authorized": false,
"installation_authorized": false,
"lifecycle_authorized": false,
"execution_authorized": false,
"transfer_authorized": false,
"automatic_retry": false
},
"activity": {
"hardware_observed": false,
"ps5_connected": false,
"files_transferred": false,
"target_execution_performed": false,
"target_mutation_performed": false,
"target_artifact_created": false,
"collector_implemented": false,
"target_build_performed": false
},
"firmware_runtime_behavior": "UNPROVEN",
"stock_identities": {
"classification": "reference_only",
"current_device_observed": false,
"elfldr": {
"size": 397000,
"sha256": "092d16ee0ede0c494947efd38d1a17bbd7cc4b022d3858ea898833c188c703e8",
"current_device_match": "UNPROVEN"
},
"payload_manager": {
"size": 2050320,
"sha256": "518740adbacccb9094fadb07dd424c53ee290f38306449ccc9d6957fdf813c0b",
"current_device_match": "UNPROVEN"
}
},
"payload_manager_backup": {
"classification": "hard_blocker",
"on_device_proven": false,
"byte_exact_proven": false,
"creation_allowed_in_strict_read_only_phase": false,
"result": "HARD_STOP-GATE"
},
"claim_boundaries": {
"hardware_safety_proven": false,
"firmware_behavior_proven": false,
"absence_of_volatile_effects_proven": false,
"no_persistent_write_found_equals_side_effect_free": false,
"host_tests_are_hardware_evidence": false,
"missing_observation_means_safe_absence": false
},
"side_effect_categories": [
{
"id": "A",
"name": "PERSISTENT_MUTATION",
"definition": "File creation/write/delete/rename, configuration or autoload changes, metadata changes, or persistent platform-state changes."
},
{
"id": "B",
"name": "PROCESS_OR_SERVICE_WIDE_MUTATION",
"definition": "Global flags, functional counters, autoload state, service state, process signaling, or retry state."
},
{
"id": "C",
"name": "VOLATILE_TECHNICAL_EFFECT",
"definition": "Socket acceptance, temporary buffers, allocation, scheduler activity, kernel counters, caches, audit or logging paths, and temporary process-local state."
},
{
"id": "D",
"name": "OBSERVATION",
"definition": "Firmware, file metadata, hashes, process/listener state, configuration contents, rollback identities, or storage conditions."
}
],
"payload_manager_source": {
"origin": "itsPLK/ps5-payload-manager",
"release": "v0.3.1",
"commit": "cfbc70f30f419b09bf2b52283f7409e2d3117ee1",
"files": [
{
"path": "include/pldmgr.h",
"sha256": "01c693a3248dce7a663dd4ed9c73ce5f3a4443b5f2bd210746d94993dee27b91"
},
{
"path": "src/http_server.c",
"sha256": "35cf5d8f0dd44cf64ceab5e4b0ecc09413c82d7e9946ba9de2ca4b1898631fdd"
},
{
"path": "src/autoload.c",
"sha256": "7051cab3ee1a3e0b9f6498000565eb9e160b9c63efa1771f250e98ec3aa4ae67"
},
{
"path": "src/log_server.c",
"sha256": "659095f43df1bbe8eb24acb165f027edc277af1e60aabb26ba9e3920b233d6f1"
},
{
"path": "src/config.c",
"sha256": "2fa05a2781f7e41555653ea0fa2923c21bca7bb24c0062c722e0ae13be757b58"
},
{
"path": "src/payload_mgr.c",
"sha256": "c2a442c2cc26ce85b5c63db12102b22e7ca552761eb1bf0acfd650c24e05e761"
},
{
"path": "src/sources.c",
"sha256": "a7a4a5cafccfba74902d6ed21ba001e6a9f62d4dff840ac38882d04827162c96"
},
{
"path": "src/process_mgr.c",
"sha256": "5b1b1be70878ccc56d13295362b78da7faaf8e3b7c009472be8d65a9db9ad97c"
}
]
},
"side_effect_findings": [
{
"id": "options_any_endpoint",
"http_method": "OPTIONS",
"endpoint": "*",
"handler_function": "http_on_request",
"writes_server_active_flag": false,
"writes_autoload_triggered": false,
"reads_filesystem_or_configuration": false,
"categories": [
"C"
],
"other_effects": [
"network request acceptance and response handling",
"response allocation and transport effects",
"cache, audit, scheduler, and kernel-counter effects remain unproven"
],
"source_references": [
"src/http_server.c:131-147"
],
"strict_read_only_preflight_suitable": false,
"reason": "OPTIONS does not produce the required evidence set and the transport's volatile effects are not proven absent."
},
{
"id": "get_version",
"http_method": "GET",
"endpoint": "/version",
"handler_function": "http_on_request",
"writes_server_active_flag": true,
"writes_autoload_triggered": false,
"reads_filesystem_or_configuration": false,
"categories": [
"B",
"C"
],
"other_effects": [
"writes process-global server_active_flag",
"network request and response effects remain"
],
"source_references": [
"src/http_server.c:131-152",
"src/http_server.c:835-838",
"src/log_server.c:20-23"
],
"strict_read_only_preflight_suitable": false,
"reason": "The informational response still follows a process-wide state mutation."
},
{
"id": "get_log",
"http_method": "GET",
"endpoint": "/log",
"handler_function": "http_on_request -> log_build_json",
"writes_server_active_flag": true,
"writes_autoload_triggered": false,
"reads_filesystem_or_configuration": false,
"categories": [
"B",
"C",
"D"
],
"other_effects": [
"locks and reads the in-process log ring",
"allocates a response buffer"
],
"source_references": [
"src/http_server.c:131-152",
"src/http_server.c:826-834",
"src/log_server.c:20-23",
"src/log_server.c:111-127"
],
"strict_read_only_preflight_suitable": false,
"reason": "It mutates process-global state and does not provide the required device evidence."
},
{
"id": "get_autoload_status",
"http_method": "GET",
"endpoint": "/autoload_status",
"handler_function": "http_on_request -> pldmgr_autoload_get_status -> config_read",
"writes_server_active_flag": true,
"writes_autoload_triggered": true,
"reads_filesystem_or_configuration": true,
"categories": [
"B",
"C",
"D"
],
"other_effects": [
"changes the functional autoload frontend-ready flag",
"can release the autoload worker from its frontend wait",
"reads /data/pldmgr/autoload.txt",
"reads /data/pldmgr/pldmgr_config.txt",
"atime, audit, cache, and metadata effects remain unproven"
],
"source_references": [
"include/pldmgr.h:22,41-42",
"src/http_server.c:131-152",
"src/http_server.c:847-871",
"src/autoload.c:44-48",
"src/autoload.c:78-93",
"src/config.c:12-49",
"src/log_server.c:20-23"
],
"strict_read_only_preflight_suitable": false,
"reason": "The route is functionally mutating and performs configuration reads with unproven technical side effects."
},
{
"id": "get_config",
"http_method": "GET",
"endpoint": "/get_config",
"handler_function": "http_on_request -> config_read",
"writes_server_active_flag": true,
"writes_autoload_triggered": false,
"reads_filesystem_or_configuration": true,
"categories": [
"B",
"C",
"D"
],
"other_effects": [
"reads /data/pldmgr/pldmgr_config.txt",
"reads /data/pldmgr/autoload.txt",
"atime, audit, cache, and metadata effects remain unproven"
],
"source_references": [
"src/http_server.c:131-152",
"src/http_server.c:911-930",
"src/config.c:12-49",
"src/log_server.c:20-23"
],
"strict_read_only_preflight_suitable": false,
"reason": "The route mutates process state and filesystem-read side effects are unproven."
},
{
"id": "get_list_payloads",
"http_method": "GET",
"endpoint": "/list_payloads",
"handler_function": "http_on_request -> payload_mgr_list_json",
"writes_server_active_flag": true,
"writes_autoload_triggered": false,
"reads_filesystem_or_configuration": true,
"categories": [
"B",
"C",
"D"
],
"other_effects": [
"reads configuration",
"scans internal and possible USB directories",
"reads sidecar metadata",
"filesystem and removable-media observation effects remain unproven"
],
"source_references": [
"src/http_server.c:131-152",
"src/http_server.c:601-608",
"src/payload_mgr.c:114-153",
"src/payload_mgr.c:196-238",
"src/log_server.c:20-23"
],
"strict_read_only_preflight_suitable": false,
"reason": "It mutates process state and performs broad filesystem enumeration without a side-effect contract."
},
{
"id": "get_processes_list",
"http_method": "GET",
"endpoint": "/processes_list",
"handler_function": "http_on_request -> process_list_json",
"writes_server_active_flag": true,
"writes_autoload_triggered": false,
"reads_filesystem_or_configuration": false,
"categories": [
"B",
"C",
"D"
],
"other_effects": [
"performs sysctl process enumeration",
"allocates and frees a process snapshot",
"kernel counters, audit, scheduling, and service effects remain unproven"
],
"source_references": [
"src/http_server.c:131-152",
"src/http_server.c:609-616",
"src/process_mgr.c:43-88",
"src/log_server.c:20-23"
],
"strict_read_only_preflight_suitable": false,
"reason": "The route mutates process state and its system-query effects are not contractually bounded."
},
{
"id": "get_sources_list",
"http_method": "GET",
"endpoint": "/sources_list",
"handler_function": "http_on_request -> sources_list_json -> load_sources",
"writes_server_active_flag": true,
"writes_autoload_triggered": false,
"reads_filesystem_or_configuration": true,
"categories": [
"B",
"C",
"D"
],
"other_effects": [
"reads /data/pldmgr/sources.json",
"is not on the noisy-route exclusion list and therefore also calls pldmgr_log",
"writes stdout and the process-local log ring"
],
"source_references": [
"src/http_server.c:111-126",
"src/http_server.c:131-152",
"src/http_server.c:479-481",
"src/http_server.c:706-713",
"src/sources.c:28-84",
"src/sources.c:112-134",
"src/log_server.c:20-55"
],
"strict_read_only_preflight_suitable": false,
"reason": "It mutates active/log state and reads configuration without a side-effect guarantee."
},
{
"id": "get_ip",
"http_method": "GET",
"endpoint": "/getip",
"handler_function": "http_on_request -> pldmgr_get_local_ip",
"writes_server_active_flag": true,
"writes_autoload_triggered": false,
"reads_filesystem_or_configuration": false,
"categories": [
"B",
"C",
"D"
],
"other_effects": [
"queries network-interface state",
"network, kernel-counter, audit, cache, and scheduler effects remain unproven"
],
"source_references": [
"src/http_server.c:131-152",
"src/http_server.c:839-846",
"src/log_server.c:20-23"
],
"strict_read_only_preflight_suitable": false,
"reason": "The route mutates process state and cannot establish the required preflight evidence set."
}
],
"evidence_contract": [
{
"id": "firmware",
"required_fact": "Two authoritative current observations agree on the exact firmware identifier and revision.",
"possible_evidence_source": "Two separately reviewed authoritative device or user-visible sources; exact methods are unset.",
"confidence": "UNPROVEN",
"known_mutations": [],
"unknown_effects": [
"transport, UI, audit, cache, and platform-query effects"
],
"required_collector_identity": [
"name",
"version",
"origin",
"source commit",
"operation set",
"binary size and SHA-256 when code is involved"
],
"timeout_ms": null,
"fail_closed_result": "STOP",
"reviewer_output": [
"raw values",
"timestamps",
"source identities",
"exact agreement decision"
]
},
{
"id": "live_paths",
"required_fact": "Literal live paths, mount identities, object types, and no symlink traversal for both stock components.",
"possible_evidence_source": "A separately reviewed no-follow object metadata operation.",
"confidence": "UNPROVEN",
"known_mutations": [],
"unknown_effects": [
"atime, audit, metadata cache, mount, and namespace effects"
],
"required_collector_identity": [
"tool and source identity",
"exact no-follow operation",
"filesystem and mount options"
],
"timeout_ms": null,
"fail_closed_result": "STOP",
"reviewer_output": [
"literal paths",
"mount IDs",
"object types",
"symlink decisions"
]
},
{
"id": "object_identities",
"required_fact": "Stable pre/post inode or object IDs, device IDs, owner, group, mode, mtime, and ctime.",
"possible_evidence_source": "A side-effect-reviewed metadata collector using the same objects before and after all reads.",
"confidence": "UNPROVEN",
"known_mutations": [],
"unknown_effects": [
"metadata cache, audit, race, and concurrent process effects"
],
"required_collector_identity": [
"tool identity",
"object lookup semantics",
"race and symlink policy"
],
"timeout_ms": null,
"fail_closed_result": "STOP",
"reviewer_output": [
"complete pre/post metadata",
"stability decision",
"all raw errors"
]
},
{
"id": "file_sizes",
"required_fact": "Current live byte sizes equal the two reference sizes.",
"possible_evidence_source": "The same reviewed object handles used for identity collection.",
"confidence": "UNPROVEN",
"known_mutations": [],
"unknown_effects": [
"metadata cache, audit, and concurrent modification effects"
],
"required_collector_identity": [
"tool identity",
"same-object binding",
"pre/post race controls"
],
"timeout_ms": null,
"fail_closed_result": "STOP",
"reviewer_output": [
"raw sizes",
"reference comparison",
"object bindings"
]
},
{
"id": "sha256",
"required_fact": "SHA-256 of the exact current live bytes equals each reference digest.",
"possible_evidence_source": "A source-reviewed, no-follow, same-object streaming hash operation.",
"confidence": "UNPROVEN",
"known_mutations": [],
"unknown_effects": [
"atime, audit, page cache, scheduler, thermal, and concurrent modification effects"
],
"required_collector_identity": [
"hash implementation and version",
"source commit",
"binary size and SHA-256",
"object-open and race policy"
],
"timeout_ms": null,
"fail_closed_result": "STOP",
"reviewer_output": [
"bytes read",
"start/end time",
"digest",
"pre/post object identity",
"timeout and error state"
]
},
{
"id": "processes_services",
"required_fact": "Every relevant process and service maps to an executable object, parent, start time, status, and startup mechanism.",
"possible_evidence_source": "A separately reviewed process/service snapshot mechanism.",
"confidence": "UNPROVEN",
"known_mutations": [],
"unknown_effects": [
"kernel counters, audit, scheduling, locking, cache, and service-query effects"
],
"required_collector_identity": [
"tool and API identity",
"source commit",
"snapshot semantics"
],
"timeout_ms": null,
"fail_closed_result": "STOP",
"reviewer_output": [
"complete raw snapshot",
"executable mappings",
"unknown/unmapped entries"
]
},
{
"id": "listeners",
"required_fact": "Ports 8084, 8085, and 9021 have unambiguous owners, addresses, and binding types with no unexpected exposure.",
"possible_evidence_source": "A separately reviewed listener snapshot mechanism.",
"confidence": "UNPROVEN",
"known_mutations": [],
"unknown_effects": [
"network-stack counters, audit, cache, locking, and race effects"
],
"required_collector_identity": [
"tool and API identity",
"source commit",
"snapshot and ownership-mapping semantics"
],
"timeout_ms": null,
"fail_closed_result": "STOP",
"reviewer_output": [
"protocol/address/port rows",
"binding types",
"process and executable owners",
"exposure decision"
]
},
{
"id": "autoload",
"required_fact": "All authoritative autoload, startup, and retry sources prove that lifecycle and hardened artifacts are absent and automatic retry is disabled.",
"possible_evidence_source": "A collector distinct from the mutating stock /autoload_status route.",
"confidence": "UNPROVEN",
"known_mutations": [
"stock /autoload_status writes autoload_triggered and is inadmissible"
],
"unknown_effects": [
"atime, audit, cache, metadata, service-state, and race effects"
],
"required_collector_identity": [
"tool and source identity",
"complete authoritative source list",
"no functional-state mutation proof"
],
"timeout_ms": null,
"fail_closed_result": "STOP",
"reviewer_output": [
"raw safe representations",
"source object identities and hashes",
"absence decisions",
"retry decision"
]
},
{
"id": "rollback_files",
"required_fact": "Separate already-present byte-exact stock backups exist with unambiguous restore mappings.",
"possible_evidence_source": "The same admissible object/hash collector used for live files, applied to separate backup objects.",
"confidence": "UNPROVEN",
"known_mutations": [],
"unknown_effects": [
"atime, audit, page cache, metadata, mount, and race effects"
],
"required_collector_identity": [
"tool and source identity",
"same-object hash binding",
"separate-device/object proof"
],
"timeout_ms": null,
"fail_closed_result": "STOP",
"reviewer_output": [
"paths",
"object and mount IDs",
"sizes and digests",
"separation proof",
"restore mappings"
]
},
{
"id": "storage_precondition",
"required_fact": "A separate backup destination has at least 2447320 content bytes plus a separately assessed allocation reserve.",
"possible_evidence_source": "A separately reviewed filesystem capacity and mount identity operation.",
"confidence": "UNPROVEN",
"known_mutations": [],
"unknown_effects": [
"mount, audit, cache, allocation accounting, and concurrent-use effects"
],
"required_collector_identity": [
"tool and API identity",
"mount/device identity semantics",
"capacity accounting semantics"
],
"timeout_ms": null,
"fail_closed_result": "STOP",
"reviewer_output": [
"mount and device IDs",
"available bytes",
"reserve calculation",
"separation decision"
]
}
],
"blockers": [
{
"id": "exact_permission_quote_absent",
"severity": "STOP-RO"
},
{
"id": "collector_identity_absent",
"severity": "STOP-RO"
},
{
"id": "collector_side_effect_contract_absent",
"severity": "STOP-RO"
},
{
"id": "two_current_firmware_sources_absent",
"severity": "STOP-GATE"
},
{
"id": "live_object_identities_absent",
"severity": "STOP-GATE"
},
{
"id": "listeners_absent",
"severity": "STOP-GATE"
},
{
"id": "autoload_status_absent",
"severity": "STOP-GATE"
},
{
"id": "rollback_backups_absent",
"severity": "STOP-GATE"
},
{
"id": "payload_manager_backup_not_byte_exact_on_device",
"severity": "HARD_STOP-GATE"
},
{
"id": "unknown_result_is_stop",
"severity": "STOP"
},
{
"id": "timeout_is_stop",
"severity": "STOP"
},
{
"id": "deviation_is_stop",
"severity": "STOP"
},
{
"id": "automatic_retry_forbidden",
"severity": "STOP"
}
],
"prohibited_actions": [
"connect_to_ps5",
"probe_ip_port_or_device_interface",
"use_usb_or_removable_media",
"transfer_ps5_file",
"package_for_ps5_deployment",
"install_or_replace_target_component",
"execute_elf_or_payload",
"build_target_elf",
"start_cross_compiler",
"implement_or_build_collector",
"modify_payload_manager_production_code",
"modify_elfldr_production_code",
"modify_lifecycle_code",
"activate_or_modify_autoload",
"activate_retry",
"change_target_configuration",
"start_stop_or_signal_target_service_or_process",
"implement_gnm_videoout_sdl_audio_input_shaders_cores_or_retroarch",
"download_or_install_packages",
"contact_internet_gitea_or_other_remote",
"commit_or_push"
],
"future_activity": {
"mode": "design_only",
"bounded_observation_implemented": false,
"collector_selected": false,
"transfer_method_selected": false,
"execution_method_selected": false,
"new_explicit_authorization_required": true
},
"phase_separation": [
"offline_remediation",
"possible_future_bounded_observation_design",
"separate_observation_transfer_execution_authorization",
"observation_result_review",
"separate_mutating_rollback_preparation",
"separate_hardened_runtime_installation_authorization",
"installation_verification_and_rollback_evidence",
"separate_lifecycle_authorization",
"non_graphical_capability_probes",
"much_later_graphics_backend_and_retroarch"
],
"retroarch": {
"goal": "long_term_goal",
"active_phase": false,
"work_started": false,
"dependency_chain_only": true
}
}