{
    "format": "coaster-world-data-resilience/v1",
    "platform_version": "0.4.0-dev.17",
    "generated_at": "2026-09-27T07:16:00+00:00",
    "status": "verified",
    "summary": {
        "passed": 13,
        "warnings": 0,
        "critical": 0,
        "not_applicable": 0
    },
    "checks": [
        {
            "key": "construction_locks",
            "status": "pass",
            "message": "All six construction locks are closed.",
            "context": {
                "enabled": []
            }
        },
        {
            "key": "provider_staging_guard",
            "status": "pass",
            "message": "Provider staging remains blocked while its construction lock is closed.",
            "context": []
        },
        {
            "key": "canonical_write_guard",
            "status": "pass",
            "message": "Canonical application is rejected before any entity or proposal can be changed.",
            "context": []
        },
        {
            "key": "provider_job_uniqueness",
            "status": "pass",
            "message": "Equivalent provider jobs share one uniqueness key and distinct queries do not collide.",
            "context": {
                "same_query_same_key": true,
                "different_query_different_key": true,
                "timeout_seconds": 120,
                "unique_for_seconds": 300,
                "tries": 4
            }
        },
        {
            "key": "provider_timeout_classification",
            "status": "pass",
            "message": "Provider timeouts are classified for retry/backoff handling.",
            "context": {
                "state": "timeout",
                "http_status": null,
                "retry_after": null
            }
        },
        {
            "key": "provider_rate_limit_classification",
            "status": "pass",
            "message": "Provider HTTP 429 responses are converted into a bounded retry delay.",
            "context": {
                "state": "rate_limited",
                "http_status": 429,
                "retry_after": 60
            }
        },
        {
            "key": "provider_upstream_classification",
            "status": "pass",
            "message": "Provider 5xx failures are classified as upstream errors.",
            "context": {
                "state": "upstream_error",
                "http_status": 503,
                "retry_after": null
            }
        },
        {
            "key": "ai_budget_guard",
            "status": "pass",
            "message": "Configured AI maximum fits the per-run budget and a synthetic overrun is detectable.",
            "context": {
                "configured_max_cost": 0.08,
                "estimated_normal_maximum": 0.0421,
                "synthetic_overrun_cost": 42.1
            }
        },
        {
            "key": "ai_simulation_isolation",
            "status": "pass",
            "message": "AI simulation produces no factual proposal, evidence, tool call or token usage.",
            "context": []
        },
        {
            "key": "api_rate_limiters",
            "status": "pass",
            "message": "Public and internal API limiters are registered with the configured one-minute quotas.",
            "context": {
                "public_per_minute": 120,
                "internal_per_minute": 60
            }
        },
        {
            "key": "snapshot_corruption_detection",
            "status": "pass",
            "message": "A temporary snapshot verifies when intact and is rejected after byte-level corruption.",
            "context": []
        },
        {
            "key": "stale_run_recovery_dry_run",
            "status": "pass",
            "message": "Interrupted-run recovery can scan stale executions in dry-run mode without mutating them.",
            "context": {
                "ingestion_abandoned": 0,
                "ai_retried": 0,
                "ai_failed": 0
            }
        },
        {
            "key": "canonical_side_effect_guard",
            "status": "pass",
            "message": "Resilience checks did not change staging, pending proposals or applied canonical decisions.",
            "context": {
                "before": {
                    "normalized_staging_records": 0,
                    "pending_proposals": 0,
                    "canonical_applied": 0
                },
                "after": {
                    "normalized_staging_records": 0,
                    "pending_proposals": 0,
                    "canonical_applied": 0
                }
            }
        }
    ],
    "safety": {
        "network_calls_performed": false,
        "canonical_writes_performed": false,
        "provider_staging_performed": false,
        "snapshot_test_scope": "temporary_private_directory"
    }
}
