{"artifact":"release-package-preflight-v1","release_id":"intellicore-20260514T085414357928Z","package_id":"intellicore-20260514T085414357928Z","generated_at":"2026-05-14T08:54:14.570505Z","evidence_generated_at":"2026-05-14T08:54:14.357928Z","overall_status":"blocked_missing_stale_or_unsafe_package","network_action_mode":"no_network_dry_run","deploy_action_mode":"no_deploy_action","bas_scan_action_mode":"no_bas_scan","bas_write_action_mode":"no_bas_write","publish_action_performed":false,"credentials":"redacted","portable_package":{"package_route":"/api/operator/release-handoff/package.json","content_type":"application/json","archive_name":"intellicore-operator-release-handoff-intellicore-20260514T085414357928Z","checksum_algorithm":"SHA-256","secret_policy":"redacted placeholders only; do not include credentials, private BAS ranges, or env values"},"trend_history_evidence":{"artifact":"release-trend-history-preflight-evidence-v1","status":"blocked_trend_history_release_preflight","source_artifact":"predictive-readiness-trend-history-evidence-v1","source_status":"not_requested_explicit_equipment_scope_required","generated_at":"2026-05-14T08:54:14.357928Z","scope":{"site_ref":"all","building_ref":"all","equipment_ref":"all","site_id":null,"building_id":null,"equipment_id":null},"sample_summary":{"evidence_count":0,"point_count":0,"total_samples":0,"minimum_sample_count":0,"maximum_sample_count":0,"stale_point_ids":[]},"point_rollups":[],"blockers":["explicit_equipment_scope_required","missing_scoped_trend_history_evidence","source_status:not_requested_explicit_equipment_scope_required"],"recommended_operator_next_action":"Fix scoped trend-history freshness/sample/scope blockers before release package handoff or predictive readiness claims.","advisory_only":true,"read_only":true,"write_execution_enabled":false,"autopilot_execution_enabled":false,"physical_execution_blocked":true,"bas_scan_action_mode":"no_bas_scan","bas_write_action_mode":"no_bas_write","network_action_mode":"no_network_dry_run","deploy_action_mode":"no_deploy_action","credentials":"redacted"},"alarm_event_evidence":{"artifact":"release-alarm-event-preflight-evidence-v1","status":"blocked_alarm_event_release_preflight","source_artifact":"alarm-event-readiness-evidence-v1","source_status":"not_requested_explicit_equipment_scope_required","generated_at":"2026-05-14T08:54:14.357928Z","scope":{"site_ref":"all","building_ref":"all","equipment_ref":"all","site_id":null,"building_id":null,"equipment_id":null},"summary":{"event_count":0,"active_event_count":0,"critical_or_high_event_count":0,"acknowledged_count":0},"freshness":{"status":"missing","max_age_minutes":240,"latest_event_age_minutes":null,"latest_event_timestamp":null},"events":[],"blockers":["explicit_equipment_scope_required","missing_scoped_alarm_event_evidence","source_status:not_requested_explicit_equipment_scope_required"],"recommended_operator_next_action":"Fix scoped alarm/event freshness/scope/read-only blockers before release package handoff claims.","advisory_only":true,"read_only":true,"write_execution_enabled":false,"alarm_acknowledgement_enabled":false,"autopilot_execution_enabled":false,"physical_execution_blocked":true,"alarm_action_mode":"no_alarm_acknowledgement","bas_scan_action_mode":"no_bas_scan","bas_write_action_mode":"no_bas_write","network_action_mode":"no_network_dry_run","deploy_action_mode":"no_deploy_action","credentials":"redacted"},"weather_forecast_evidence":{"artifact":"release-weather-forecast-preflight-evidence-v1","status":"blocked_weather_forecast_release_preflight","source_artifact":"weather-forecast-readiness-evidence-v1","source_status":"blocked_weather_forecast_not_ready","generated_at":"2026-05-14T08:54:14.357928Z","scope":{"site_ref":"all","building_ref":"all","site_id":null,"building_id":null},"summary":{"forecast_count":0,"severe_weather_flag_count":0,"source_refs":[]},"freshness":{"status":"missing","max_age_minutes":120,"latest_forecast_age_minutes":null,"latest_forecast_timestamp":null},"forecasts":[],"blockers":["missing_scoped_weather_forecast","explicit_site_scope_required","weather_forecast_freshness:missing","source_status:blocked_weather_forecast_not_ready"],"recommended_operator_next_action":"Import a current scoped weather forecast export or fixture before release package handoff or predictive readiness claims.","advisory_only":true,"read_only":true,"write_execution_enabled":false,"autopilot_execution_enabled":false,"physical_execution_blocked":true,"weather_provider_action_mode":"no_weather_provider_call","bas_scan_action_mode":"no_bas_scan","bas_write_action_mode":"no_bas_write","network_action_mode":"no_network_dry_run","deploy_action_mode":"no_deploy_action","credentials":"redacted"},"controlled_write_readiness_evidence":{"source_key":"controlled_write_readiness","label":"Controlled-write readiness","status":"missing","source_artifact":"predictive-controlled-write-readiness-audit-packet-v1","freshness_status":"unknown","evidence_count":0,"confidence":null,"packet_uid":null,"source_refs":{},"recommended_operator_next_action":"Generate scoped controlled-write readiness packet before release handoff.","blocker_count":1,"blockers":["missing_controlled_write_readiness_packet"],"ok_for_operator_review":false,"advisory_only":true,"write_execution_enabled":false,"autopilot_execution_enabled":false,"physical_execution_blocked":true},"sections":{"required_operator_files":{"ok":true,"items":[{"name":"bundle","ok":true,"route":"/api/operator/release-handoff","artifact":"operator-release-handoff-v1"},{"name":"package","ok":true,"route":"/api/operator/release-handoff/package.json","artifact":"operator-release-handoff-package-v1"},{"name":"integrity_manifest","ok":true,"route":"/api/operator/release-handoff/integrity.json","artifact":"operator-release-handoff-integrity-manifest-v1"},{"name":"archive_index","ok":true,"route":"/api/operator/release-handoff/archive-index.json","artifact":"operator-release-handoff-archive-index-v1"}]},"required_evidence_references":{"ok":false,"items":[{"name":"retention_report","ok":true,"artifact":"release-evidence-retention-verification-v1","route":"/api/operator/release-handoff/evidence-retention.json","status":"fresh_with_operator_placeholders"},{"name":"local_url_smoke","ok":false,"artifact":"local-release-url-smoke-evidence-v1","route":"/api/operator/release-handoff/local-url-smoke.json","status":"blocked_missing_or_stale_local_evidence"},{"name":"publish_smoke","ok":true,"artifact":"deployment-publish-smoke-v1","route":"/api/operator/release-handoff/publish-smoke.json","status":"pass_with_placeholders"}]},"expected_local_review_routes":{"ok":true,"items":[{"name":"html_review","ok":true,"route":"/operator-release-handoff","method":"GET"},{"name":"json_api","ok":true,"route":"/api/operator/release-handoff","method":"GET"},{"name":"markdown_api","ok":true,"route":"/api/operator/release-handoff/report.md","method":"GET"},{"name":"package_download_api","ok":true,"route":"/api/operator/release-handoff/package.json","method":"GET"},{"name":"integrity_manifest_api","ok":true,"route":"/api/operator/release-handoff/integrity.json","method":"GET"},{"name":"archive_index_api","ok":true,"route":"/api/operator/release-handoff/archive-index.json","method":"GET"},{"name":"retention_report_api","ok":true,"route":"/api/operator/release-handoff/evidence-retention.json","method":"GET"},{"name":"local_url_smoke_api","ok":true,"route":"/api/operator/release-handoff/local-url-smoke.json","method":"GET"},{"name":"publish_smoke_api","ok":true,"route":"/api/operator/release-handoff/publish-smoke.json","method":"GET"},{"name":"package_preflight_api","ok":true,"route":"/api/operator/release-handoff/preflight.json","method":"GET"},{"name":"package_preflight_csv","ok":true,"route":"/api/operator/release-handoff/preflight/export.csv","method":"GET"},{"name":"package_preflight_html_review","ok":true,"route":"/operator-release-handoff/preflight","method":"GET"},{"name":"trend_history_evidence_api","ok":true,"route":"/api/operator/release-handoff/trend-history-evidence.json","method":"GET"},{"name":"alarm_event_evidence_api","ok":true,"route":"/api/operator/release-handoff/alarm-event-evidence.json","method":"GET"},{"name":"weather_forecast_evidence_api","ok":true,"route":"/api/operator/release-handoff/weather-forecast-evidence.json","method":"GET"},{"name":"cutover_approval_archive_api","ok":true,"route":"/api/operator/release-handoff/cutover-approval-archive.json","method":"GET"},{"name":"deployment_runbook_review_api","ok":true,"route":"/api/operator/release-handoff/deployment-runbook-review.json","method":"GET"},{"name":"evidence_history_api","ok":true,"route":"/api/operator/release-handoff/evidence-history.json","method":"GET"},{"name":"evidence_review_index_api","ok":true,"route":"/api/operator/release-handoff/evidence-review-index.json","method":"GET"},{"name":"evidence_review_index_html","ok":true,"route":"/operator-release-handoff/evidence-review-index","method":"GET"},{"name":"site_scene_navigation_api","ok":true,"route":"/api/graphics/site-scenes","method":"GET"},{"name":"site_scene_navigation_html","ok":true,"route":"/graphics/site-scenes","method":"GET"},{"name":"site_scene_graph_metadata_index_json","ok":true,"route":"/api/graphics/site-scene-graph-metadata/index.json","method":"GET"},{"name":"site_scene_graph_metadata_index_csv","ok":true,"route":"/api/graphics/site-scene-graph-metadata/index.csv","method":"GET"},{"name":"site_scene_graph_metadata_review_json","ok":true,"route":"/api/graphics/site-scene-graph-metadata/review-index.json","method":"GET"},{"name":"site_scene_graph_metadata_review_html","ok":true,"route":"/graphics/site-scene-graph-metadata","method":"GET"},{"name":"site_scene_release_evidence_map_json","ok":true,"route":"/api/graphics/site-scene-graph-metadata/release-evidence-map.json","method":"GET"},{"name":"visual_composer_ai_planner_decision_audit_api","ok":true,"route":"/api/graphics/ai/scene-planner/workstation/decision-audits","method":"GET"},{"name":"visual_composer_blocker_rollup_api","ok":true,"route":"/api/operator/release-handoff/visual-composer-blocker-rollup.json","method":"GET"},{"name":"visual_composer_blocker_rollup_csv","ok":true,"route":"/api/operator/release-handoff/visual-composer-blocker-rollup/export.csv","method":"GET"},{"name":"visual_composer_blocker_rollup_markdown","ok":true,"route":"/api/operator/release-handoff/visual-composer-blocker-rollup/report.md","method":"GET"},{"name":"visual_composer_blocker_rollup_html","ok":true,"route":"/operator-release-handoff/visual-composer-blocker-rollup","method":"GET"},{"name":"visual_runtime_gateway_operator_preflight_csv","ok":true,"route":"/api/operator/release-handoff/visual-runtime-gateway-verification-preflight/export.csv","method":"GET"},{"name":"visual_runtime_gateway_operator_preflight_html","ok":true,"route":"/operator-release-handoff/visual-runtime-gateway-verification-preflight","method":"GET"}],"urls":{"html_review":"http://127.0.0.1:8000/operator-release-handoff","json_api":"http://127.0.0.1:8000/api/operator/release-handoff","markdown_api":"http://127.0.0.1:8000/api/operator/release-handoff/report.md","package_download_api":"http://127.0.0.1:8000/api/operator/release-handoff/package.json","integrity_manifest_api":"http://127.0.0.1:8000/api/operator/release-handoff/integrity.json","archive_index_api":"http://127.0.0.1:8000/api/operator/release-handoff/archive-index.json","retention_report_api":"http://127.0.0.1:8000/api/operator/release-handoff/evidence-retention.json","local_url_smoke_api":"http://127.0.0.1:8000/api/operator/release-handoff/local-url-smoke.json","publish_smoke_api":"http://127.0.0.1:8000/api/operator/release-handoff/publish-smoke.json","package_preflight_api":"http://127.0.0.1:8000/api/operator/release-handoff/preflight.json","package_preflight_csv":"http://127.0.0.1:8000/api/operator/release-handoff/preflight/export.csv","package_preflight_html_review":"http://127.0.0.1:8000/operator-release-handoff/preflight","trend_history_evidence_api":"http://127.0.0.1:8000/api/operator/release-handoff/trend-history-evidence.json","alarm_event_evidence_api":"http://127.0.0.1:8000/api/operator/release-handoff/alarm-event-evidence.json","weather_forecast_evidence_api":"http://127.0.0.1:8000/api/operator/release-handoff/weather-forecast-evidence.json","cutover_approval_archive_api":"http://127.0.0.1:8000/api/operator/release-handoff/cutover-approval-archive.json","deployment_runbook_review_api":"http://127.0.0.1:8000/api/operator/release-handoff/deployment-runbook-review.json","evidence_history_api":"http://127.0.0.1:8000/api/operator/release-handoff/evidence-history.json","evidence_review_index_api":"http://127.0.0.1:8000/api/operator/release-handoff/evidence-review-index.json","evidence_review_index_html":"http://127.0.0.1:8000/operator-release-handoff/evidence-review-index","site_scene_navigation_api":"http://127.0.0.1:8000/api/graphics/site-scenes","site_scene_navigation_html":"http://127.0.0.1:8000/graphics/site-scenes","site_scene_graph_metadata_index_json":"http://127.0.0.1:8000/api/graphics/site-scene-graph-metadata/index.json","site_scene_graph_metadata_index_csv":"http://127.0.0.1:8000/api/graphics/site-scene-graph-metadata/index.csv","site_scene_graph_metadata_review_json":"http://127.0.0.1:8000/api/graphics/site-scene-graph-metadata/review-index.json","site_scene_graph_metadata_review_html":"http://127.0.0.1:8000/graphics/site-scene-graph-metadata","site_scene_release_evidence_map_json":"http://127.0.0.1:8000/api/graphics/site-scene-graph-metadata/release-evidence-map.json","visual_composer_ai_planner_decision_audit_api":"http://127.0.0.1:8000/api/graphics/ai/scene-planner/workstation/decision-audits","visual_composer_blocker_rollup_api":"http://127.0.0.1:8000/api/operator/release-handoff/visual-composer-blocker-rollup.json","visual_composer_blocker_rollup_csv":"http://127.0.0.1:8000/api/operator/release-handoff/visual-composer-blocker-rollup/export.csv","visual_composer_blocker_rollup_markdown":"http://127.0.0.1:8000/api/operator/release-handoff/visual-composer-blocker-rollup/report.md","visual_composer_blocker_rollup_html":"http://127.0.0.1:8000/operator-release-handoff/visual-composer-blocker-rollup","visual_runtime_gateway_operator_preflight_csv":"http://127.0.0.1:8000/api/operator/release-handoff/visual-runtime-gateway-verification-preflight/export.csv","visual_runtime_gateway_operator_preflight_html":"http://127.0.0.1:8000/operator-release-handoff/visual-runtime-gateway-verification-preflight"}},"freshness":{"ok":true,"retention_status":{"status":"fresh","stale":false,"age_minutes":0.003,"max_artifact_age_minutes":120,"checked_at":"2026-05-14T08:54:14.524465Z","evidence_generated_at":"2026-05-14T08:54:14.357928Z"},"local_url_smoke_status":{"status":"fresh","stale":false,"age_minutes":0.003,"max_artifact_age_minutes":120,"checked_at":"2026-05-14T08:54:14.524553Z","evidence_generated_at":"2026-05-14T08:54:14.357928Z"},"max_artifact_age_minutes":120},"safe_posture":{"ok":true,"items":[{"name":"advisory_only","ok":true,"state":"true","expected":true},{"name":"write_execution_enabled","ok":true,"state":"false","expected":false},{"name":"autopilot_execution_enabled","ok":true,"state":"false","expected":false},{"name":"physical_execution_blocked","ok":true,"state":"true","expected":true}]},"trend_history_evidence":{"ok":false,"status":"blocked_trend_history_release_preflight","blockers":["explicit_equipment_scope_required","missing_scoped_trend_history_evidence","source_status:not_requested_explicit_equipment_scope_required"],"required_artifacts":[],"evidence_routes":[],"artifact_references":{}},"alarm_event_evidence":{"ok":false,"status":"blocked_alarm_event_release_preflight","blockers":["explicit_equipment_scope_required","missing_scoped_alarm_event_evidence","source_status:not_requested_explicit_equipment_scope_required"],"summary":{"event_count":0,"active_event_count":0,"critical_or_high_event_count":0,"acknowledged_count":0},"freshness":{"status":"missing","max_age_minutes":240,"latest_event_age_minutes":null,"latest_event_timestamp":null},"alarm_action_mode":"no_alarm_acknowledgement"},"weather_forecast_evidence":{"ok":false,"status":"blocked_weather_forecast_release_preflight","blockers":["missing_scoped_weather_forecast","explicit_site_scope_required","weather_forecast_freshness:missing","source_status:blocked_weather_forecast_not_ready"],"summary":{"forecast_count":0,"severe_weather_flag_count":0,"source_refs":[]},"freshness":{"status":"missing","max_age_minutes":120,"latest_forecast_age_minutes":null,"latest_forecast_timestamp":null},"weather_provider_action_mode":"no_weather_provider_call","network_action_mode":"no_network_dry_run"},"controlled_write_readiness":{"ok":false,"status":"missing","packet_uid":null,"source_refs":{},"blockers":["missing_controlled_write_readiness_packet"],"source_artifact":"predictive-controlled-write-readiness-audit-packet-v1","advisory_only":true,"write_execution_enabled":false,"autopilot_execution_enabled":false,"physical_execution_blocked":true},"artifact_drilldowns":{"ok":true,"status":"available_for_local_operator_review","artifact_ids":["operator_release_handoff_package_core","operator_release_handoff_bundle_json","operator_release_handoff_markdown_report","operator_release_handoff_html_report","controlled_write_readiness_release_summary","visual_composer_blocker_rollup_json","visual_composer_blocker_rollup_csv","visual_runtime_gateway_operator_preflight_json","visual_runtime_gateway_operator_preflight_csv","visual_runtime_gateway_operator_preflight_html","bundle","package","integrity_manifest","archive_index"],"api_template":"/api/operator/release-handoff/artifacts/{artifact_id}.json","html_template":"/operator-release-handoff/artifacts/{artifact_id}","network_action_mode":"no_network_dry_run","deploy_action_mode":"no_deploy_action","bas_write_action_mode":"no_bas_write"}},"blockers":["semantic_role:zone_temperature","semantic_role:zone_setpoint","trend_samples","occupancy_signals","weather_observations","occupancy_evidence:explicit_equipment_scope_required","weather_forecast:missing_scoped_weather_forecast","explicit_equipment_scope_required","visual composer explicit equipment scope required","missing Visual Composer AI planner decision audit evidence","DigitalOcean Docker Droplet/VPS target must be explicit","Attached DigitalOcean volume path must be configured before restore drill evidence can be trusted","Database restore drill last-run timestamp must be recorded","Restore drill evidence is stale or timestamp is invalid","Restore drill release package id is missing, invalid, or cross-scope","Restore drill build id must be configured","Restore drill operator approval reference must be archived before production cutover","Restore drill operator approval actor must be recorded","Restore drill operator approval timestamp must be valid and no older than the restore drill","Database restore drill evidence path must be stored on the attached volume","Artifact restore drill evidence path must be stored on the attached volume","Rollback runbook path must be stored on the attached volume","Database backup export evidence path must be stored on the attached volume for restore drill readiness","Artifact backup export evidence path must be stored on the attached volume for restore drill readiness","Database backup retention days must be a positive integer for restore drill readiness","Artifact backup retention days must be a positive integer for restore drill readiness","Restore drill target must be isolated staging/sandbox, not production","Restore drill RTO minutes must be a positive integer","Restore drill RPO minutes must be a positive integer","operator must set target BACnet/IP range before live discovery","operator must set target Modbus host before live enumeration","operator must provide deployed remote base URL before external readiness smoke","manual gate pending: operator_approval_recorded","manual gate pending: backup_restore_path_verified","manual gate pending: rollback_plan_reviewed","manual gate pending: evidence_archive_persisted","manual gate pending: write_and_autopilot_disabled_confirmed","storage/backup preflight not ready: blocked_missing_or_unsafe_storage_posture","controlled-write readiness packet is missing or not ready for release evidence retention","controlled-write readiness packet is missing or not ready for local URL smoke","operator must provide deployed target URL before external publish smoke","controlled-write readiness packet is missing or not ready for publish smoke","release package preflight missing required evidence references: local_url_smoke","release package preflight trend-history evidence is not ready for release preflight","release package preflight alarm/event evidence is not ready for release preflight","release package preflight weather forecast evidence is not ready for release preflight","release package preflight controlled-write readiness packet is not ready: missing_controlled_write_readiness_packet"],"blocker_summary":{"total":47,"operator_handoff":38,"missing_artifacts":0,"missing_evidence":1,"missing_routes":0,"stale":0,"safety_failures":0,"trend_history_evidence":1,"alarm_event_evidence":1,"weather_forecast_evidence":1,"controlled_write_readiness":1},"artifact_references":{"json_api":"/api/operator/release-handoff","markdown_api":"/api/operator/release-handoff/report.md","html_report_api":"/api/operator/release-handoff/report.html","package_download_api":"/api/operator/release-handoff/package.json","integrity_manifest_api":"/api/operator/release-handoff/integrity.json","archive_index_api":"/api/operator/release-handoff/archive-index.json","retention_report_api":"/api/operator/release-handoff/evidence-retention.json","local_url_smoke_api":"/api/operator/release-handoff/local-url-smoke.json","publish_smoke_api":"/api/operator/release-handoff/publish-smoke.json","package_preflight_api":"/api/operator/release-handoff/preflight.json","package_preflight_csv":"/api/operator/release-handoff/preflight/export.csv","package_preflight_html_review":"/operator-release-handoff/preflight","artifact_drilldown_api_template":"/api/operator/release-handoff/artifacts/{artifact_id}.json","artifact_drilldown_html_template":"/operator-release-handoff/artifacts/{artifact_id}","trend_history_evidence_api":"/api/operator/release-handoff/trend-history-evidence.json","alarm_event_evidence_api":"/api/operator/release-handoff/alarm-event-evidence.json","weather_forecast_evidence_api":"/api/operator/release-handoff/weather-forecast-evidence.json","evidence_history_api":"/api/operator/release-handoff/evidence-history.json","evidence_review_index_api":"/api/operator/release-handoff/evidence-review-index.json","evidence_review_index_html":"/operator-release-handoff/evidence-review-index","html_review":"/operator-release-handoff","cli":"scripts/intellicore_operator_handoff_bundle.py --preflight"},"verification_commands":["python scripts/intellicore_operator_handoff_bundle.py --preflight","python scripts/intellicore_operator_handoff_bundle.py --preflight-csv","python scripts/intellicore_operator_handoff_bundle.py --local-url-smoke","python scripts/intellicore_operator_handoff_bundle.py --retention-report","python scripts/intellicore_operator_handoff_bundle.py --trend-history-evidence","python scripts/intellicore_operator_handoff_bundle.py --alarm-event-evidence","python scripts/intellicore_operator_handoff_bundle.py --weather-forecast-evidence","python scripts/intellicore_operator_handoff_bundle.py --evidence-matrix","python scripts/intellicore_operator_handoff_bundle.py --evidence-matrix-csv","python scripts/intellicore_deployment_publish_smoke.py --json --target-url https://replace-with-deployment-url","curl -fsS http://127.0.0.1:8000/api/operator/release-handoff/preflight.json","curl -fsS http://127.0.0.1:8000/api/operator/release-handoff/preflight/export.csv",".venv/bin/python -m pytest tests/test_operator_release_handoff.py -q"],"verification_instructions":["Run this preflight locally/offline before zipping, copying, or handing off the release package.","Confirm package, integrity, archive, retention, local URL-smoke, publish-smoke, trend-history, alarm/event, weather forecast, and controlled-write readiness evidence are present and fresh.","Open only expected local review URLs after the service is already running; this preflight does not probe remote URLs.","Keep advisory_only=true, write_execution_enabled=false, autopilot_execution_enabled=false, and physical_execution_blocked=true."],"safe_posture":{"advisory_only":true,"write_execution_enabled":false,"autopilot_execution_enabled":false,"physical_execution_blocked":true},"advisory_only":true,"write_execution_enabled":false,"autopilot_execution_enabled":false,"physical_execution_blocked":true,"recommended_next_action":"Regenerate or repair the release package/evidence, then rerun this preflight before operator handoff."}