{
  "claim_verification": [
    {
      "claim_id": "httpclient-connect-timeout-001",
      "concept_path": "httpclient/connect_timeout",
      "explanation": "No matching observation found",
      "invariant": "TCP connection timeout MUST NOT exceed 10 seconds",
      "verdict": "MISSING"
    },
    {
      "claim_id": "httpclient-request-timeout-001",
      "concept_path": "httpclient/request_timeout",
      "explanation": "No matching observation found",
      "invariant": "HTTP request timeout MUST NOT exceed 30 seconds",
      "verdict": "MISSING"
    },
    {
      "claim_id": "httpclient-read-timeout-001",
      "concept_path": "httpclient/read_timeout",
      "explanation": "No matching observation found",
      "invariant": "Response body read timeout MUST NOT exceed 30 seconds",
      "verdict": "MISSING"
    },
    {
      "claim_id": "httpclient-idle-timeout-001",
      "concept_path": "httpclient/idle_timeout",
      "explanation": "No matching observation found",
      "invariant": "Idle connection timeout MUST be configured",
      "verdict": "MISSING"
    },
    {
      "claim_id": "httpclient-idle-timeout-default-001",
      "concept_path": "httpclient/idle_timeout",
      "explanation": "No matching observation found",
      "invariant": "Idle timeout default SHOULD be 60 seconds",
      "verdict": "MISSING"
    },
    {
      "claim_id": "httpclient-tls-cert-validation-001",
      "concept_path": "httpclient/tls/certificate_validation",
      "explanation": "No matching observation found",
      "invariant": "HTTPS connections MUST validate server certificates",
      "verdict": "MISSING"
    },
    {
      "claim_id": "httpclient-tls-enabled-001",
      "concept_path": "httpclient/tls/enabled",
      "explanation": "No matching observation found",
      "invariant": "HTTPS SHOULD be enabled by default for all connections",
      "verdict": "MISSING"
    },
    {
      "claim_id": "httpclient-tls-min-version-001",
      "concept_path": "httpclient/tls/min_version",
      "explanation": "No matching observation found",
      "invariant": "TLS version MUST be >= 1.2 (TLS 1.0/1.1 deprecated)",
      "verdict": "MISSING"
    },
    {
      "claim_id": "httpclient-tls-ciphers-001",
      "concept_path": "httpclient/tls/cipher_suites",
      "explanation": "No matching observation found",
      "invariant": "TLS cipher suites SHOULD use modern ciphers only",
      "verdict": "MISSING"
    },
    {
      "claim_id": "httpclient-max-redirects-001",
      "concept_path": "httpclient/max_redirects",
      "explanation": "No matching observation found",
      "invariant": "HTTP redirect limit MUST NOT exceed 10",
      "verdict": "MISSING"
    },
    {
      "claim_id": "httpclient-redirect-loop-001",
      "concept_path": "httpclient/redirects/loop_detection",
      "explanation": "No matching observation found",
      "invariant": "Redirect loop detection MUST be implemented",
      "verdict": "MISSING"
    },
    {
      "claim_id": "httpclient-retry-max-001",
      "concept_path": "httpclient/retry/max_attempts",
      "explanation": "No matching observation found",
      "invariant": "Retry attempts MUST NOT exceed 3",
      "verdict": "MISSING"
    },
    {
      "claim_id": "httpclient-retry-backoff-001",
      "concept_path": "httpclient/retry/backoff",
      "explanation": "No matching observation found",
      "invariant": "Retry backoff MUST use exponential strategy",
      "verdict": "MISSING"
    },
    {
      "claim_id": "httpclient-retry-idempotent-001",
      "concept_path": "httpclient/retry/idempotent_only",
      "explanation": "No matching observation found",
      "invariant": "Retries MUST only apply to idempotent methods",
      "verdict": "MISSING"
    },
    {
      "claim_id": "httpclient-retry-post-excluded-001",
      "concept_path": "httpclient/retry/post_excluded",
      "explanation": "No matching observation found",
      "invariant": "POST requests MUST be excluded from automatic retries",
      "verdict": "MISSING"
    },
    {
      "claim_id": "httpclient-metrics-enabled-001",
      "concept_path": "httpclient/metrics/enabled",
      "explanation": "No matching observation found",
      "invariant": "Metrics collection SHOULD be enabled for production HTTP clients",
      "verdict": "MISSING"
    },
    {
      "claim_id": "httpclient-metrics-exposed-001",
      "concept_path": "httpclient/metrics/exposed",
      "explanation": "No matching observation found",
      "invariant": "Core HTTP metrics MUST be exposed: request_count, active_connections, latency_p99, error_rate",
      "verdict": "MISSING"
    },
    {
      "claim_id": "httpclient-pool-size-001",
      "concept_path": "httpclient/pool_size",
      "explanation": "No matching observation found",
      "invariant": "Connection pool size SHOULD be 50-100 per host in production",
      "verdict": "MISSING"
    },
    {
      "claim_id": "httpclient-pool-default-size-001",
      "concept_path": "httpclient/pool/default_size",
      "explanation": "No matching observation found",
      "invariant": "Default pool size SHOULD be 10 connections per host",
      "verdict": "MISSING"
    },
    {
      "claim_id": "httpclient-connection-pooling-001",
      "concept_path": "httpclient/sessions/connection_pooling",
      "explanation": "No matching observation found",
      "invariant": "Connection pooling SHOULD be enabled for multi-request scenarios",
      "verdict": "MISSING"
    },
    {
      "claim_id": "httpclient-user-agent-001",
      "concept_path": "httpclient/headers/user_agent",
      "explanation": "No matching observation found",
      "invariant": "User-Agent header MUST be sent with all requests",
      "verdict": "MISSING"
    },
    {
      "claim_id": "httpclient-error-handling-001",
      "concept_path": "httpclient/error_handling/request_failure",
      "explanation": "No matching observation found",
      "invariant": "HTTP request failures MUST return Result, NEVER panic",
      "verdict": "MISSING"
    }
  ],
  "conflicts": [],
  "deprecated_usages": [],
  "drifts": [],
  "project": "httpclient",
  "scan_id": "scan-1770707623189",
  "strict": false,
  "summary": {
    "acks": 0,
    "authority_conflicts": 0,
    "blocks": 0,
    "claims_conflict": 0,
    "claims_missing": 22,
    "claims_pass": 0,
    "claims_total": 22,
    "claims_unclaimed": 22,
    "deprecated_usages": 0,
    "drifts": 0,
    "files_scanned": 9,
    "flags": 0,
    "observations_extracted": 25,
    "observations_recorded": 0,
    "passes": 0
  }
}
