{
  "schema": "MAKNOW_EVIDENCE_CONTRACT_v1",
  "lesson_id": "NET-002",
  "artifact": "ASP.NET Core API Contract, Failure and Verification Matrix v1",
  "dimensions": [
    "endpoint_id",
    "http_method",
    "route_template",
    "request_schema_ref",
    "response_schema_ref",
    "status_code_contract",
    "validation_rule",
    "authentication_state",
    "authorization_policy",
    "problem_details_state",
    "idempotency_expectation",
    "openapi_document_ref",
    "integration_test_case",
    "negative_case",
    "contract_digest",
    "implementation_digest",
    "review_state",
    "audit_event_id"
  ],
  "portable_input": "SYNTHETIC",
  "real_execution": "ACTUAL_PYTHON_MODEL_ONLY; ASPNET_UNVERIFIED; REAL_DEADLINE_UNVERIFIED",
  "success_scope": "SYNTHETIC_ONLY",
  "aggregate_states": [
    "VERIFIED_SYNTHETIC",
    "HOLD"
  ],
  "dimension_states": [
    "UNKNOWN",
    "UNSUPPORTED",
    "UNVERIFIED",
    "STALE",
    "REVIEW_REQUIRED",
    "HOLD",
    "FAILED"
  ],
  "submission_fields": [
    "fixture_id",
    "fixture_sha256",
    "policy_sha256",
    "evaluated_on",
    "context_id",
    "scope",
    "readiness_state",
    "issues",
    "evidence_refs",
    "rationale",
    "minimal_repair",
    "review_trigger",
    "contracts_sha256"
  ],
  "policy_ref": "lab/NET-002-LAB1/learner/policy.json",
  "critical_gates_are_conjunctive": true
}
