{
  "contract_version": "jarvis.overview.v1",
  "generated_at": "2026-06-13T15:04:00Z",
  "status": "offline",
  "modules": [
    {
      "module_id": "finance",
      "title": "FinanceManager",
      "status": "offline",
      "sensitivity": "sensitive",
      "display_policy": "summary",
      "last_success_at": null,
      "last_attempt_at": "2026-06-13T15:04:00Z",
      "stale_after_seconds": 900,
      "degraded_reason": "source_unreachable",
      "source_health": {
        "reachable": false,
        "latency_ms": null,
        "source_type": "api",
        "version": null,
        "contract_version": "jarvis.module_snapshot.v1",
        "last_success_at": null,
        "last_error_redacted": "source unreachable",
        "stale": true
      },
      "kpis": [
        { "key": "api_status", "label": "API", "value": "offline", "unit": null, "severity": "error", "sensitivity": "internal", "display_policy": "summary", "help_text": "No finance data is exposed while offline." },
        { "key": "review_count", "label": "Reviews", "value": null, "unit": "items", "severity": "info", "sensitivity": "sensitive", "display_policy": "hidden", "help_text": "Unavailable while source is offline." },
        { "key": "provider_status", "label": "Providers", "value": "unknown", "unit": null, "severity": "info", "sensitivity": "internal", "display_policy": "summary", "help_text": "Unavailable while source is offline." }
      ],
      "attention_items": [
        { "id": "att_finance_offline_demo", "module_id": "finance", "title": "Finance source offline", "message": "Finance summary source is not reachable.", "severity": "error", "sensitivity": "sensitive", "created_at": "2026-06-13T15:04:00Z", "action": { "label": "Open Finance", "href": "/finance", "mode": "link_only", "sensitivity": "sensitive", "blocked_reason": null, "preview_required": false, "confirm_required": false, "audit_required": false }, "dedupe_key": "finance.offline" }
      ],
      "links": [ { "label": "Finance module", "href": "/finance", "mode": "link_only", "sensitivity": "sensitive", "blocked_reason": null, "preview_required": false, "confirm_required": false, "audit_required": false } ],
      "primary_action": { "label": "Open Finance", "href": "/finance", "mode": "link_only", "sensitivity": "sensitive", "blocked_reason": null, "preview_required": false, "confirm_required": false, "audit_required": false },
      "contract_version": "jarvis.module_snapshot.v1"
    }
  ],
  "attention_items": [
    { "id": "att_finance_offline_demo", "module_id": "finance", "title": "Finance source offline", "message": "Finance summary source is not reachable.", "severity": "error", "sensitivity": "sensitive", "created_at": "2026-06-13T15:04:00Z", "action": { "label": "Open Finance", "href": "/finance", "mode": "link_only", "sensitivity": "sensitive", "blocked_reason": null, "preview_required": false, "confirm_required": false, "audit_required": false }, "dedupe_key": "finance.offline" }
  ],
  "activity": [],
  "redaction_policy": {
    "default_display_policy": "summary",
    "allow_exact_finance_values": false,
    "allow_health_detail_links": false,
    "forbidden_fields": ["see docs/security/forbidden-fields.md"],
    "log_forbidden_fields": ["see docs/security/forbidden-fields.md"],
    "demo_mode": true
  },
  "errors": [
    {
      "code": "SOURCE_UNREACHABLE",
      "message": "A module summary source is unreachable.",
      "severity": "error",
      "module_id": "finance",
      "retryable": true,
      "details_redacted": true,
      "occurred_at": "2026-06-13T15:04:00Z"
    }
  ]
}
