{
  "id": "preview_engine",
  "label": "Preview Engine Canonical",
  "phase": "phase-09",
  "category": "delivery_layer",
  "status": "ACTIVE_DH_MIRROR",
  "purpose": "Expose controlled visual/runtime preview before approval or release.",
  "function": "Tie preview output to route, source revision, environment, cache state and validation evidence.",
  "technology_requirements": [
    {
      "technology": "Preview Renderer",
      "required_for": "Expose controlled visual/runtime preview before approval or release.",
      "required_by_phase": "phase-09",
      "required_by_category": "preview_engine",
      "required_by_buckets": [
        "Prerequisites",
        "Installation",
        "Configuration",
        "Validation",
        "Observable Evidence",
        "Failure Modes & Recovery",
        "Completion & Promotion"
      ],
      "expected_version": "MISSING until Preview Renderer is implemented and validated in the future Execution & Monitoring Panel",
      "validation_command": "MISSING until preview_engine can prove scope, evidence, execution state and promotion decision",
      "evidence_path": "/home/yeff/public_html/devon/canon/execution/state/dh_sources/preview_engine.json",
      "status_source": "Documentation Hub + future Execution & Monitoring Panel",
      "blocking_if_missing": true,
      "failure_impact": "A preview is only useful when it proves what the operator is actually seeing. Route, revision, cache and environment must travel with the visual result. Otherwise the project risks approving a screen that belongs to yesterday’s code or the wrong execution path."
    }
  ],
  "depends_on": [
    "test_validation_runner",
    "release_governance",
    "operator_panel"
  ],
  "used_by": [
    "production_deployment_gate",
    "release_governance",
    "human_approval_feedback"
  ],
  "overview": {
    "summary": "Preview Engine Canonical owns the visible proof surface before delivery. It prevents the project from accepting a screen as correct without proving which source revision, route and environment produced it.",
    "function": "FUNCTION: Render preview state with route identity, source revision, environment, cache status, validation state, operator review boundary and promotion readiness.",
    "system_position": "Test & Validation Runner proves behavior, but Preview Engine proves what the operator sees. Release Governance decides whether preview evidence is sufficient for the package. Production Deployment Gate consumes preview state before exposing release output.",
    "failure_impact": "A preview is only useful when it proves what the operator is actually seeing. Route, revision, cache and environment must travel with the visual result. Otherwise the project risks approving a screen that belongs to yesterday’s code or the wrong execution path."
  },
  "failure_impact": "A preview is only useful when it proves what the operator is actually seeing. Route, revision, cache and environment must travel with the visual result. Otherwise the project risks approving a screen that belongs to yesterday’s code or the wrong execution path."
}
