{"artifact":"local-release-url-smoke-evidence-v1","package_id":"intellicore-20260514T085606348967Z","package_path":"/api/operator/release-handoff/package.json","release_id":"intellicore-20260514T085606348967Z","generated_at":"2026-05-14T08:56:06.532872Z","evidence_generated_at":"2026-05-14T08:56:06.348967Z","overall_status":"blocked_missing_or_stale_local_evidence","network_action_mode":"no_network_dry_run","deploy_action_mode":"no_deploy_action","publish_action_performed":false,"credentials":"redacted","expected_local_review_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"},"expected_routes":{"html_review":"/operator-release-handoff","json_api":"/api/operator/release-handoff","markdown_api":"/api/operator/release-handoff/report.md","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","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","cutover_approval_archive_api":"/api/operator/release-handoff/cutover-approval-archive.json","deployment_runbook_review_api":"/api/operator/release-handoff/deployment-runbook-review.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","site_scene_navigation_api":"/api/graphics/site-scenes","site_scene_navigation_html":"/graphics/site-scenes","site_scene_graph_metadata_index_json":"/api/graphics/site-scene-graph-metadata/index.json","site_scene_graph_metadata_index_csv":"/api/graphics/site-scene-graph-metadata/index.csv","site_scene_graph_metadata_review_json":"/api/graphics/site-scene-graph-metadata/review-index.json","site_scene_graph_metadata_review_html":"/graphics/site-scene-graph-metadata","site_scene_release_evidence_map_json":"/api/graphics/site-scene-graph-metadata/release-evidence-map.json","visual_composer_ai_planner_decision_audit_api":"/api/graphics/ai/scene-planner/workstation/decision-audits","visual_composer_blocker_rollup_api":"/api/operator/release-handoff/visual-composer-blocker-rollup.json","visual_composer_blocker_rollup_csv":"/api/operator/release-handoff/visual-composer-blocker-rollup/export.csv","visual_composer_blocker_rollup_markdown":"/api/operator/release-handoff/visual-composer-blocker-rollup/report.md","visual_composer_blocker_rollup_html":"/operator-release-handoff/visual-composer-blocker-rollup","visual_runtime_gateway_operator_preflight_csv":"/api/operator/release-handoff/visual-runtime-gateway-verification-preflight/export.csv","visual_runtime_gateway_operator_preflight_html":"/operator-release-handoff/visual-runtime-gateway-verification-preflight"},"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},"artifact_freshness":{"status":"fresh","stale":false,"age_minutes":0.003,"max_artifact_age_minutes":120,"checked_at":"2026-05-14T08:56:06.532872Z","evidence_generated_at":"2026-05-14T08:56:06.348967Z"},"artifact_status":{"bundle":{"ok":true,"artifact":"operator-release-handoff-v1","route":"/api/operator/release-handoff","exists":true,"freshness_checked":true},"package":{"ok":true,"artifact":"operator-release-handoff-package-v1","route":"/api/operator/release-handoff/package.json","exists":true,"freshness_checked":true},"integrity_manifest":{"ok":true,"artifact":"operator-release-handoff-integrity-manifest-v1","route":"/api/operator/release-handoff/integrity.json","algorithm":"SHA-256","exists":true,"freshness_checked":true},"archive_index":{"ok":true,"artifact":"operator-release-handoff-archive-index-v1","route":"/api/operator/release-handoff/archive-index.json","exists":true,"freshness_checked":true}},"route_reference_status":{"html_review":{"route":"/operator-release-handoff","route_registered":true,"referenced_by_package":true,"referenced_by_html":true,"method":"GET"},"json_api":{"route":"/api/operator/release-handoff","route_registered":true,"referenced_by_package":true,"referenced_by_html":true,"method":"GET"},"markdown_api":{"route":"/api/operator/release-handoff/report.md","route_registered":true,"referenced_by_package":true,"referenced_by_html":true,"method":"GET"},"package_download_api":{"route":"/api/operator/release-handoff/package.json","route_registered":true,"referenced_by_package":true,"referenced_by_html":true,"method":"GET"},"integrity_manifest_api":{"route":"/api/operator/release-handoff/integrity.json","route_registered":true,"referenced_by_package":true,"referenced_by_html":true,"method":"GET"},"archive_index_api":{"route":"/api/operator/release-handoff/archive-index.json","route_registered":true,"referenced_by_package":true,"referenced_by_html":true,"method":"GET"},"retention_report_api":{"route":"/api/operator/release-handoff/evidence-retention.json","route_registered":true,"referenced_by_package":true,"referenced_by_html":true,"method":"GET"},"local_url_smoke_api":{"route":"/api/operator/release-handoff/local-url-smoke.json","route_registered":true,"referenced_by_package":true,"referenced_by_html":true,"method":"GET"},"publish_smoke_api":{"route":"/api/operator/release-handoff/publish-smoke.json","route_registered":true,"referenced_by_package":true,"referenced_by_html":true,"method":"GET"},"package_preflight_api":{"route":"/api/operator/release-handoff/preflight.json","route_registered":true,"referenced_by_package":true,"referenced_by_html":true,"method":"GET"},"package_preflight_csv":{"route":"/api/operator/release-handoff/preflight/export.csv","route_registered":true,"referenced_by_package":true,"referenced_by_html":true,"method":"GET"},"package_preflight_html_review":{"route":"/operator-release-handoff/preflight","route_registered":true,"referenced_by_package":true,"referenced_by_html":true,"method":"GET"},"trend_history_evidence_api":{"route":"/api/operator/release-handoff/trend-history-evidence.json","route_registered":true,"referenced_by_package":true,"referenced_by_html":true,"method":"GET"},"alarm_event_evidence_api":{"route":"/api/operator/release-handoff/alarm-event-evidence.json","route_registered":true,"referenced_by_package":true,"referenced_by_html":true,"method":"GET"},"weather_forecast_evidence_api":{"route":"/api/operator/release-handoff/weather-forecast-evidence.json","route_registered":true,"referenced_by_package":true,"referenced_by_html":true,"method":"GET"},"cutover_approval_archive_api":{"route":"/api/operator/release-handoff/cutover-approval-archive.json","route_registered":true,"referenced_by_package":true,"referenced_by_html":true,"method":"GET"},"deployment_runbook_review_api":{"route":"/api/operator/release-handoff/deployment-runbook-review.json","route_registered":true,"referenced_by_package":true,"referenced_by_html":true,"method":"GET"},"evidence_history_api":{"route":"/api/operator/release-handoff/evidence-history.json","route_registered":true,"referenced_by_package":true,"referenced_by_html":true,"method":"GET"},"evidence_review_index_api":{"route":"/api/operator/release-handoff/evidence-review-index.json","route_registered":true,"referenced_by_package":true,"referenced_by_html":true,"method":"GET"},"evidence_review_index_html":{"route":"/operator-release-handoff/evidence-review-index","route_registered":true,"referenced_by_package":true,"referenced_by_html":true,"method":"GET"},"site_scene_navigation_api":{"route":"/api/graphics/site-scenes","route_registered":true,"referenced_by_package":true,"referenced_by_html":true,"method":"GET"},"site_scene_navigation_html":{"route":"/graphics/site-scenes","route_registered":true,"referenced_by_package":true,"referenced_by_html":true,"method":"GET"},"site_scene_graph_metadata_index_json":{"route":"/api/graphics/site-scene-graph-metadata/index.json","route_registered":true,"referenced_by_package":true,"referenced_by_html":true,"method":"GET"},"site_scene_graph_metadata_index_csv":{"route":"/api/graphics/site-scene-graph-metadata/index.csv","route_registered":true,"referenced_by_package":true,"referenced_by_html":true,"method":"GET"},"site_scene_graph_metadata_review_json":{"route":"/api/graphics/site-scene-graph-metadata/review-index.json","route_registered":true,"referenced_by_package":true,"referenced_by_html":true,"method":"GET"},"site_scene_graph_metadata_review_html":{"route":"/graphics/site-scene-graph-metadata","route_registered":true,"referenced_by_package":true,"referenced_by_html":true,"method":"GET"},"site_scene_release_evidence_map_json":{"route":"/api/graphics/site-scene-graph-metadata/release-evidence-map.json","route_registered":true,"referenced_by_package":true,"referenced_by_html":true,"method":"GET"},"visual_composer_ai_planner_decision_audit_api":{"route":"/api/graphics/ai/scene-planner/workstation/decision-audits","route_registered":true,"referenced_by_package":true,"referenced_by_html":true,"method":"GET"},"visual_composer_blocker_rollup_api":{"route":"/api/operator/release-handoff/visual-composer-blocker-rollup.json","route_registered":true,"referenced_by_package":true,"referenced_by_html":true,"method":"GET"},"visual_composer_blocker_rollup_csv":{"route":"/api/operator/release-handoff/visual-composer-blocker-rollup/export.csv","route_registered":true,"referenced_by_package":true,"referenced_by_html":true,"method":"GET"},"visual_composer_blocker_rollup_markdown":{"route":"/api/operator/release-handoff/visual-composer-blocker-rollup/report.md","route_registered":true,"referenced_by_package":true,"referenced_by_html":true,"method":"GET"},"visual_composer_blocker_rollup_html":{"route":"/operator-release-handoff/visual-composer-blocker-rollup","route_registered":true,"referenced_by_package":true,"referenced_by_html":true,"method":"GET"},"visual_runtime_gateway_operator_preflight_csv":{"route":"/api/operator/release-handoff/visual-runtime-gateway-verification-preflight/export.csv","route_registered":true,"referenced_by_package":true,"referenced_by_html":false,"method":"GET"},"visual_runtime_gateway_operator_preflight_html":{"route":"/operator-release-handoff/visual-runtime-gateway-verification-preflight","route_registered":true,"referenced_by_package":true,"referenced_by_html":false,"method":"GET"}},"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 local URL smoke"],"blocker_summary":{"total":39,"operator_handoff":38,"artifact_missing_or_invalid":0,"route_missing":0,"evidence_stale":0,"controlled_write_readiness":1},"verification_commands":["python scripts/intellicore_operator_handoff_bundle.py --local-url-smoke","python scripts/intellicore_operator_handoff_bundle.py --json","python scripts/intellicore_operator_handoff_bundle.py --archive-index","python scripts/intellicore_operator_handoff_bundle.py --retention-report","curl -fsS http://127.0.0.1:8000/api/operator/release-handoff/local-url-smoke.json",".venv/bin/python -m pytest tests/test_operator_release_handoff.py -q"],"verification_instructions":["Use this packet as an offline route/reference review only; it does not open sockets or probe remote URLs.","Open expected_local_review_urls on the local operator workstation after the FastAPI service is already running.","Confirm package_path, artifact_status, and route_reference_status before operator handoff.","Keep advisory_only=true, write_execution_enabled=false, autopilot_execution_enabled=false, and physical_execution_blocked=true."],"recommended_next_action":"Open the listed local review URLs on the operator workstation; do not probe remote URLs or publish until an operator supplies deployment credentials outside git.","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}