{
  "protocol": {
    "name": "CVP",
    "version": "1.0.0-proposed",
    "revision": "2026-09-13",
    "spec_sha256": "f62725968356c92930531cd6085db76e216da06e95be53d636b0d2cf3218b148",
    "spec": "https://www.calculatorx.com/developers/cvp/spec/1.0"
  },
  "document_status": "proposed",
  "calculator": {
    "id": "linear-system",
    "version": "1.14.15",
    "title": "Linear System / Small Matrix Calculator",
    "formula_family": "linear_algebra",
    "capability_id": "math.linear_algebra",
    "verification_revision": "2026-10-16.matrix-input-surface-contract-v6"
  },
  "profile": "core",
  "verified_scope": "all published modes",
  "status": "VERIFIED",
  "verification_status": "VERIFIED",
  "production_freshness": "CURRENT",
  "overall_trust": "VERIFIED",
  "runner": {
    "name": "cvp-runner",
    "version": "1.0.0"
  },
  "environment": {
    "runtime": "node",
    "runtime_version": "20.19.2",
    "numeric_model": "IEEE-754 binary64",
    "os": "darwin"
  },
  "suite": {
    "id": "linear-system",
    "version": "1.14.15",
    "uri": "https://www.calculatorx.com/evidence/math.linear_algebra/1.14.15.json",
    "verification_revision": "2026-10-16.matrix-input-surface-contract-v6"
  },
  "obligation_set": [
    "CVP-PROV-01",
    "CVP-MODEL-01",
    "CVP-SCOPE-01",
    "CVP-UNIT-01",
    "CVP-REF-01",
    "CVP-GOLD-01",
    "CVP-BND-01",
    "CVP-INV-01",
    "CVP-NUM-01",
    "CVP-COV-01",
    "CVP-CONTRACT-01",
    "CVP-DEP-01",
    "CVP-ART-01",
    "CVP-PROD-01",
    "CVP-DIM-01",
    "CVP-PROP-01",
    "CVP-META-01",
    "CVP-XCAL-01",
    "CVP-IFACE-01"
  ],
  "provenance": {
    "mode": "direct",
    "sources": [
      {
        "label": "ISO 80000-2:2019 Quantities and units — Mathematics",
        "kind": "standard",
        "reference": "Mathematical symbols and notation. This standard is not numerical verification or an endorsement of this implementation.",
        "url": "https://www.iso.org/standard/64973.html"
      },
      {
        "label": "CRC / Strang — Ax=b, LU/QR/SVD, four fundamental subspaces",
        "kind": "other",
        "reference": "LU + partial pivoting solve; det; Gauss–Jordan inverse; rank-nullity; Householder QR; one-sided Jacobi SVD; RREF; κ₁(A)"
      },
      {
        "label": "NIST DLMF §3.2 — Linear Algebra",
        "kind": "other",
        "reference": "§3.2",
        "url": "https://dlmf.nist.gov/3.2"
      },
      {
        "label": "MIT OpenCourseWare — The Four Fundamental Subspaces",
        "kind": "other",
        "reference": "Column space, row space, nullspace, left nullspace, and their dimensions.",
        "url": "https://ocw.mit.edu/courses/18-06-linear-algebra-spring-2010/resources/lecture-10-the-four-fundamental-subspaces/"
      },
      {
        "label": "MIT OpenCourseWare — Orthogonal Matrices and Gram-Schmidt",
        "kind": "other",
        "reference": "Orthogonal matrices and QR factorization; a mathematical reference, not a claim that this implementation uses Gram-Schmidt.",
        "url": "https://ocw.mit.edu/courses/18-06-linear-algebra-spring-2010/resources/lecture-17-orthogonal-matrices-and-gram-schmidt/"
      },
      {
        "label": "MIT OpenCourseWare — Singular Value Decomposition",
        "kind": "other",
        "reference": "Singular-value decomposition and its relationship to orthogonal bases and matrix rank.",
        "url": "https://ocw.mit.edu/courses/18-06-linear-algebra-spring-2010/resources/lecture-29-singular-value-decomposition/"
      }
    ]
  },
  "controls": {
    "CVP-PROV-01": {
      "result": "PASS",
      "applicability": "required",
      "notes": "Sources present on evidence"
    },
    "CVP-MODEL-01": {
      "result": "PASS",
      "applicability": "required",
      "notes": "O2 Leibniz det, Cramer, cofactor inverse, minor-rank, Gram–Schmidt QR, column-wise Cholesky, closed-form 2×2/3×3 eigen vs IUT LU-solve / Householder / one-sided Jacobi SVD / bounded matrix QR"
    },
    "CVP-SCOPE-01": {
      "result": "PASS",
      "applicability": "required",
      "notes": "Order 2–4 square for solve/det/inverse/LU/Cholesky. qr, svd, and lstsq accept rectangular A with rows,cols ∈ [2,4]. Cholesky is SPD only (A = LLᵀ). Discovery pages lock one mode. Not a CAS, not Statistics regression, not large-matrix server compute. Scale fixtures cover named operations only; analytic eigen fixtures span 1e-250 through 1e250, and factor diagnostics use rounded published entries. Published subspace diagnostics use scaled QR/SVD projection; exact triangular spectra retain close diagonal values with sensitivity warnings. General 2×2 spectra additionally use 50 exact-input Fraction/Decimal references with an 8-ULP component bound; Strictly symmetric 3–4 matrices use shared Jacobi with 18 dense high-precision references; Nonsymmetric 3–4 uses bounded 256-bit matrix QR; 36 dense actual-input references check clustered/non-normal and complex spectra. Published complex basis conditioning is checked. 46 analytic actual-input fixtures check subnormal 2×2 components and weighted 3–4 cycles. Single directed cycles use exact dyadic edge products and analytic real/complex classification, bypassing the general QR floors only on proven structure. Exact zero-separated 1–2 blocks retain tiny complex spectra; exact nilpotence certifies a sole repeated eigenvalue. Exact square-free characteristic factors of degree ≤ 2 with representable normalized coefficients certify repeated spectra; 42 exact coupled/semisimple real/complex cases and 10 independently computed actual perturbations supplement coverage. Published unresolved basis candidates are omitted. QR rejects nonzero input components at/below its deflation floor. Exact dyadic Sturm real-root counts and exact published binary64 conjugacy are mandatory before and after restoring output scale; mismatches refuse success with NUMERIC_PRECISION_LIMIT. General QR simple-root positions additionally require exact rational disjoint Rouche disks, bounded by max(root-wise 2^-45 component magnitude, 2 component ULPs), separation/4 and |imaginary part|/2. This certifies given-input root positions, not stability under perturbations, correctly rounded components, or all structured solver paths. Three prior approximate golden successes are now explicit refusals because their classification was wrong. Products below fixed 2^-256 precision, features near the 2^-200 deflation floor, broader defective matrices still require review. The v1.14.15 surface review additionally checks strict decimal/scalar and alias validation, singular consistency, range refusal and complete local machine/browser input replay; production acceptance is separate."
    },
    "CVP-UNIT-01": {
      "result": "PASS",
      "applicability": "required",
      "notes": "dimensionless"
    },
    "CVP-REF-01": {
      "result": "PASS",
      "applicability": "required",
      "notes": "O1 model + O2 expected_values + O2 numerical_behavior"
    },
    "CVP-GOLD-01": {
      "result": "PASS",
      "applicability": "required",
      "notes": "29/29 legacy golden; 436/436 oracle-backed numeric"
    },
    "CVP-BND-01": {
      "result": "PASS",
      "applicability": "required",
      "notes": "5/5 numeric-edge Evidence + 3/3 near-singularity numeric; illegal enum/system is Invalid only"
    },
    "CVP-INV-01": {
      "result": "PASS",
      "applicability": "required",
      "notes": "6 Evidence illegal-input + 72/72 oracle-backed error-code (exact_error_match, not ULP)"
    },
    "CVP-NUM-01": {
      "result": "PASS",
      "applicability": "required",
      "notes": "max_error_observed_ulp=1; policy declared a priori"
    },
    "CVP-COV-01": {
      "result": "PASS",
      "applicability": "required",
      "notes": "19/19 declared partitions (solve, det, inverse, multiply, transpose, rank, eigen, lu, chol, qr, svd, lstsq, rref, condition, nullspace, columnspace, rowspace, leftnullspace, invalid-domain) · 29 legacy golden / 8 CVP boundary unique cases · 6 Evidence invalid-input (may overlap boundary)"
    },
    "CVP-CONTRACT-01": {
      "result": "PASS",
      "applicability": "required",
      "notes": "6/6 CVP contract · release-artifacts-aligned=PASS · schema-output-required-declared=PASS · schema-valid-input-executes=PASS · engine-success-output-validates-schema=PASS · schema-rejects-incomplete-input=PASS · rest-success-payload-validates-schema=PASS"
    },
    "CVP-DEP-01": {
      "result": "PASS",
      "applicability": "required",
      "notes": "engine linear-algebra; Node binary64"
    },
    "CVP-ART-01": {
      "result": "PASS",
      "applicability": "required",
      "notes": "release_integrity.status=verified · digests: artifact_evidence_sha256=Evidence core (Trust freshness) · cvp_evidence_digest=artifacts.evidence_digest (fingerprint v2) · evidence_bundle_sha256=legacy Evidence JSON bytes · evidence_catalog_digest=attested_catalog_sha256 · production_sha256=bound production report · see artifacts.digest_registry"
    },
    "CVP-PROD-01": {
      "result": "PASS",
      "applicability": "required",
      "notes": "this calculator CURRENT · bound snapshot pass @ 2026-10-17T23:45:25.483Z · live site-wide report stale @ 2026-10-17T23:45:26.787Z (3 other capabilities) · local checks pass · attestation_id=2fa6be6c32837ce321ce80163aa4c94d5914130c6d1a843b9eb6d9da43996579 · This calculator CURRENT · This calculator is not affected · Bound attestation PASS @ 2026-10-17T23:45:25.483Z · Live production status STALE (3 capabilities; 373 remain CURRENT) @ 2026-10-17T23:45:26.787Z · Public schema 1.14.15 matches · Semantic contract ✓ · Production attested · Public/cache ✓ · Origin ✓ · schema_const=1.14.15 · report output-const=pass · evidence-sha256=pass · semantic-contract=pass · capability-html-public-origin-agree=pass · cvp-manifest-public-origin-agree=pass · cvp-latest-alias-agrees=pass · cvp-immutable-manifest-fetch=pass · cvp-immutable-manifest-sha256=pass · cvp-latest-alias-matches-immutable=pass · calculator-html-cvp-projection=pass · evidence-html-cvp-projection=pass · attested_evidence_sha256=edad1f98935b6d846cb1b88f8462d6d167d5d64776650eccd1b89dd79147288e · verified_at=2026-10-16T15:36:40.784Z · evidence_attested_at=2026-10-16T15:36:40.784Z · last_confirmed_current_at=2026-10-17T23:45:25.483Z · rendered_at=2026-10-17T23:45:28.385Z · binds=cvp_core_sha256",
      "check_result": "PASS",
      "production_state": "CURRENT",
      "binding_current": true
    },
    "CVP-DIM-01": {
      "result": "PASS",
      "applicability": "applicable",
      "notes": "small real matrices"
    },
    "CVP-PROP-01": {
      "result": "PASS",
      "applicability": "applicable",
      "notes": "10/10 property · enumerated fixed assertions (not generated; no seed)"
    },
    "CVP-META-01": {
      "result": "PASS",
      "applicability": "applicable",
      "notes": "1/1 metamorphic"
    },
    "CVP-ROUND-01": {
      "result": "SKIP",
      "applicability": "not_applicable",
      "notes": "No inverse / round-trip vectors in pack — control not in obligation set"
    },
    "CVP-XCAL-01": {
      "result": "PASS",
      "applicability": "applicable",
      "notes": "2/2 cross-calculator · xcal-det-triple PASS vs math.vector; xcal-eigen-poly PASS vs math.polynomial.roots"
    },
    "CVP-IFACE-01": {
      "result": "PASS",
      "applicability": "applicable",
      "notes": "UI (SSR) · REST · MCP equivalent (MCP uses calc API handler). ui-ssr is query-result HTML, not a live browser session. Error-path engine·REST·MCP 10/10 (status, code, calculation_version). SSR compared on URL-canonical requested calculations; empty query is idle (not an error) and JSON-typed object/array inputs are REST/MCP-only. Raw HTTP REST/JSON-RPC transport rejection 5/5; raw-number source and conflicting pins are transport-only checks, not engine/SSR input-source parity."
    },
    "CVP-ORACLE-01": {
      "result": "SKIP",
      "applicability": "higher_assurance",
      "notes": "O2 present; O3 not required this wave"
    },
    "CVP-EXP-01": {
      "result": "SKIP",
      "applicability": "optional",
      "notes": "named expert review not performed"
    }
  },
  "interfaces": {
    "compared": [
      "ui-ssr",
      "rest",
      "mcp"
    ],
    "result": "PASS",
    "notes": "UI (SSR) · REST · MCP equivalent (MCP uses calc API handler). ui-ssr is query-result HTML, not a live browser session. Error-path engine·REST·MCP 10/10 (status, code, calculation_version). SSR compared on URL-canonical requested calculations; empty query is idle (not an error) and JSON-typed object/array inputs are REST/MCP-only. Raw HTTP REST/JSON-RPC transport rejection 5/5; raw-number source and conflicting pins are transport-only checks, not engine/SSR input-source parity."
  },
  "artifacts": {
    "evidence_bundle_sha256": "db7336a2dfe590b86973f2eb5607a9a0a3ce3372a13e3989fad8295c82865a6a",
    "evidence_digest": "d9910a64795dc78d2d1f29c45c20096dc28614dd585ec0b5f308e7f40bf38f5f",
    "production_sha256": "edad1f98935b6d846cb1b88f8462d6d167d5d64776650eccd1b89dd79147288e",
    "attested_catalog_sha256": "bc566cc47478c008898edec84a5c7a2866c242d859d28e1d23714ac8858e40e7",
    "production_checks": [
      {
        "id": "math.linear_algebra:output-const",
        "status": "pass",
        "detail": "output const 1.14.15 vs capability 1.14.15",
        "scope": "last_attestation_snapshot",
        "current": true,
        "attestation_binding_current": true,
        "attested_at": "2026-10-16T15:36:40.784Z"
      },
      {
        "id": "math.linear_algebra:evidence-sha256",
        "status": "pass",
        "detail": "831f04c29273",
        "scope": "last_attestation_snapshot",
        "current": true,
        "attestation_binding_current": true,
        "attested_at": "2026-10-16T15:36:40.784Z"
      },
      {
        "id": "math.linear_algebra:semantic-contract",
        "status": "pass",
        "detail": "58/58",
        "scope": "last_attestation_snapshot",
        "current": true,
        "attestation_binding_current": true,
        "attested_at": "2026-10-16T15:36:40.784Z"
      },
      {
        "id": "math.linear_algebra:capability-html-public-origin-agree",
        "status": "pass",
        "detail": "public 1.14.15 vs origin 1.14.15",
        "scope": "last_attestation_snapshot",
        "current": true,
        "attestation_binding_current": true,
        "attested_at": "2026-10-16T15:36:40.784Z"
      },
      {
        "id": "math.linear_algebra:cvp-manifest-public-origin-agree",
        "status": "pass",
        "detail": "math.linear_algebra/1.14.15/2026-10-16.matrix-input-surface-contract-v6/core/d9910a64795d",
        "scope": "last_attestation_snapshot",
        "current": true,
        "attestation_binding_current": true,
        "attested_at": "2026-10-16T15:36:40.784Z",
        "projection_compared": false
      },
      {
        "id": "math.linear_algebra:cvp-latest-alias-agrees",
        "status": "pass",
        "detail": "math.linear_algebra/1.14.15/2026-10-16.matrix-input-surface-contract-v6/core/d9910a64795d",
        "scope": "last_attestation_snapshot",
        "current": true,
        "attestation_binding_current": true,
        "attested_at": "2026-10-16T15:36:40.784Z",
        "projection_compared": false
      },
      {
        "id": "math.linear_algebra:cvp-immutable-manifest-fetch",
        "status": "pass",
        "detail": "public=200 origin=200",
        "scope": "last_attestation_snapshot",
        "current": true,
        "attestation_binding_current": true,
        "attested_at": "2026-10-16T15:36:40.784Z"
      },
      {
        "id": "math.linear_algebra:cvp-immutable-manifest-sha256",
        "status": "pass",
        "detail": "d9910a64795d",
        "scope": "last_attestation_snapshot",
        "current": true,
        "attestation_binding_current": true,
        "attested_at": "2026-10-16T15:36:40.784Z"
      },
      {
        "id": "math.linear_algebra:cvp-latest-alias-matches-immutable",
        "status": "pass",
        "detail": "math.linear_algebra/1.14.15/2026-10-16.matrix-input-surface-contract-v6/core/d9910a64795d",
        "scope": "last_attestation_snapshot",
        "current": true,
        "attestation_binding_current": true,
        "attested_at": "2026-10-16T15:36:40.784Z",
        "projection_compared": false
      },
      {
        "id": "math.linear_algebra:calculator-html-cvp-projection",
        "status": "pass",
        "detail": "matches Trust display",
        "scope": "last_attestation_snapshot",
        "current": true,
        "attestation_binding_current": true,
        "attested_at": "2026-10-16T15:36:40.784Z"
      },
      {
        "id": "math.linear_algebra:evidence-html-cvp-projection",
        "status": "pass",
        "detail": "matches Trust display",
        "scope": "last_attestation_snapshot",
        "current": true,
        "attestation_binding_current": true,
        "attested_at": "2026-10-16T15:36:40.784Z"
      }
    ],
    "digest_registry": {
      "digest_algorithm": "sha256",
      "canonicalization": "json-sorted-keys-utf8",
      "entries": [
        {
          "name": "cvp_core_sha256",
          "field": "artifacts.cvp_core_sha256",
          "digest_scope": "cvp_verification_fingerprint_v2",
          "value": "d9910a64795dc78d2d1f29c45c20096dc28614dd585ec0b5f308e7f40bf38f5f",
          "note": "Immutable verification core; excludes attestation/live-status and Evidence contract counts"
        },
        {
          "name": "cvp_evidence_digest",
          "field": "artifacts.evidence_digest",
          "digest_scope": "cvp_verification_fingerprint_v2",
          "value": "d9910a64795dc78d2d1f29c45c20096dc28614dd585ec0b5f308e7f40bf38f5f",
          "note": "Alias of cvp_core_sha256 (historical field name)"
        },
        {
          "name": "artifact_evidence_sha256",
          "field": "release_integrity.digests.evidence_core_sha256",
          "digest_scope": "evidence_artifact_core",
          "value": "831f04c29273da7293258e9bc664007eeae00c65d0cb7dcfe5f7283a41d62eff",
          "note": "Published Evidence JSON core — Trust freshness / production bind subject"
        },
        {
          "name": "evidence_catalog_digest",
          "field": "artifacts.attested_catalog_sha256",
          "digest_scope": "capability_catalog",
          "value": "bc566cc47478c008898edec84a5c7a2866c242d859d28e1d23714ac8858e40e7",
          "note": "Capability catalog integrity; site-wide, not per-suite fingerprint"
        }
      ]
    },
    "cvp_core_sha256": "d9910a64795dc78d2d1f29c45c20096dc28614dd585ec0b5f308e7f40bf38f5f"
  },
  "dependencies": [
    {
      "name": "linear-algebra-engine",
      "version": "1.14.15"
    },
    {
      "name": "linear-algebra-reference-oracle",
      "version": "1.0.0"
    },
    {
      "name": "math.vector",
      "version": "1.6.1",
      "role": "cross_calculator_peer",
      "capability_id": "math.vector",
      "evidence_digest": "3e840b22dc12dce60edaa87d4f0b0749054aa01cbf39fc9ae4b70d1ab3c87bda",
      "evidence": "https://www.calculatorx.com/evidence/math.vector/1.6.1.cvp.json"
    },
    {
      "name": "math.polynomial.roots",
      "version": "1.2.1",
      "role": "cross_calculator_peer",
      "capability_id": "math.polynomial.roots",
      "evidence_digest": "6a2ac2cde6219237c0e85a901d560fefaef70e930e49552531a6bb084084cd81",
      "evidence": "https://www.calculatorx.com/evidence/math.polynomial.roots/1.2.1.cvp.json"
    },
    {
      "name": "node",
      "version": "20.19.2"
    }
  ],
  "attestation": {
    "status": "CURRENT",
    "href": "/.well-known/calculatorx-production-attestation.json",
    "id": "2fa6be6c32837ce321ce80163aa4c94d5914130c6d1a843b9eb6d9da43996579",
    "attested_at": "2026-10-16T15:36:40.784Z",
    "last_confirmed_current_at": "2026-10-17T23:45:25.483Z",
    "site_attestation_current": false,
    "capability_attestation_current": true,
    "bound_snapshot_status": "pass",
    "live_report_status": "stale",
    "bound_attested_at": "2026-10-17T23:45:25.483Z",
    "live_updated_at": "2026-10-17T23:45:26.787Z",
    "bound_snapshot": {
      "status": "pass",
      "attested_at": "2026-10-17T23:45:25.483Z",
      "site_stale_count": 3
    },
    "live_site_status": {
      "href": "/.well-known/calculatorx-production-attestation.json"
    },
    "bound_snapshot_site_stale_count": 3,
    "site_stale_capability_count": 3,
    "evidence_attested_at": "2026-10-16T15:36:40.784Z"
  },
  "domain_review": {
    "status": "ABSENT",
    "spec_version": "1.14.15",
    "external_third_party": false,
    "note": "Named expert review not performed"
  },
  "timestamps": {
    "verified_at": "2026-10-16T15:36:40.784Z",
    "generated_at": "2026-10-16T15:36:40.784Z",
    "rendered_at": "2026-10-17T23:45:28.385Z",
    "notes": "verified_at/generated_at mark the first publication of this cvp_core_sha256 (artifacts.evidence_digest alias) for suite verification. evidence_attested_at/attested_at is the first production bind of that core digest. last_confirmed_current_at is the latest site-wide report that still confirms CURRENT. rendered_at is this JSON serialization and is not part of cvp_core_sha256 / evidence_digest. Production attestation binds cvp_core_sha256 (binds evidence_digest). Causal order: verified_at ≤ evidence_attested_at ≤ last_confirmed_current_at. attestation.bound_snapshot.site_stale_count is the site-wide stale capability count at Manifest bind time — not a live value. Fetch attestation.live_site_status.href for the current site report."
  },
  "tests": {
    "golden": {
      "passed": 436,
      "total": 436,
      "failed": 0
    },
    "boundary": {
      "passed": 8,
      "total": 8,
      "failed": 0
    },
    "invalid": {
      "passed": 78,
      "total": 78,
      "failed": 0,
      "comparison": "exact_error_match"
    },
    "property": {
      "passed": 10,
      "total": 10,
      "failed": 0,
      "kind": "fixed"
    },
    "round_trip": {
      "passed": 0,
      "total": 0,
      "failed": 0
    },
    "metamorphic": {
      "passed": 1,
      "total": 1,
      "failed": 0
    },
    "contract": {
      "passed": 6,
      "total": 6,
      "failed": 0
    },
    "cross_interface": {
      "passed": 53,
      "total": 53,
      "failed": 0
    },
    "cross_calculator": {
      "passed": 2,
      "total": 2,
      "failed": 0
    }
  },
  "numerical": {
    "representation": "IEEE-754 binary64 small-matrix algebra; IUT publishes toPrecision(12) / roundSmart",
    "tolerance": {
      "type": "relative",
      "value": 1e-10,
      "rationale": "O2 uses Leibniz determinants, Cramer, cofactor inverse, minor-rank, Gram–Schmidt QR, column-wise Cholesky, and closed-form 2×2/3×3 eigen — not IUT Gaussian/Householder/Faddeev transcription. Relative 1e-10 covers presentation rounding; declared a priori.",
      "declared_before_evaluation": true
    },
    "max_error_observed": 1
  },
  "coverage": {
    "partitions": [
      {
        "id": "solve",
        "description": "solve",
        "exercised": true,
        "case_count": 37
      },
      {
        "id": "det",
        "description": "det",
        "exercised": true,
        "case_count": 7
      },
      {
        "id": "inverse",
        "description": "inverse",
        "exercised": true,
        "case_count": 5
      },
      {
        "id": "multiply",
        "description": "multiply",
        "exercised": true,
        "case_count": 1
      },
      {
        "id": "transpose",
        "description": "transpose",
        "exercised": true,
        "case_count": 1
      },
      {
        "id": "rank",
        "description": "rank",
        "exercised": true,
        "case_count": 6
      },
      {
        "id": "eigen",
        "description": "eigen",
        "exercised": true,
        "case_count": 356
      },
      {
        "id": "lu",
        "description": "lu",
        "exercised": true,
        "case_count": 2
      },
      {
        "id": "chol",
        "description": "chol",
        "exercised": true,
        "case_count": 5
      },
      {
        "id": "qr",
        "description": "qr",
        "exercised": true,
        "case_count": 6
      },
      {
        "id": "svd",
        "description": "svd",
        "exercised": true,
        "case_count": 10
      },
      {
        "id": "lstsq",
        "description": "lstsq",
        "exercised": true,
        "case_count": 11
      },
      {
        "id": "rref",
        "description": "rref",
        "exercised": true,
        "case_count": 6
      },
      {
        "id": "condition",
        "description": "condition",
        "exercised": true,
        "case_count": 6
      },
      {
        "id": "nullspace",
        "description": "nullspace",
        "exercised": true,
        "case_count": 12
      },
      {
        "id": "columnspace",
        "description": "columnspace",
        "exercised": true,
        "case_count": 11
      },
      {
        "id": "rowspace",
        "description": "rowspace",
        "exercised": true,
        "case_count": 11
      },
      {
        "id": "leftnullspace",
        "description": "leftnullspace",
        "exercised": true,
        "case_count": 11
      },
      {
        "id": "invalid-domain",
        "description": "Invalid inputs",
        "exercised": true,
        "case_count": 78
      }
    ]
  },
  "reference": {
    "items": [
      {
        "class": "O1",
        "reference_scope": "model",
        "scope": "model",
        "label": "Ax=b, det, inverse, rank, LU/Cholesky/QR/SVD, eigen, RREF, condition, four fundamental subspaces"
      },
      {
        "class": "O2",
        "reference_scope": "expected_values",
        "scope": "expected_values",
        "label": "70 independent actual Fraction weak-feedback and near-Jordan positions with 360/520-dps agreement and analytic left/right condition numbers; 30 strict successes and 40 position refusals",
        "engine": {
          "name": "Python Fraction + mpmath product-polynomial roots",
          "independent_of_iut": true,
          "same_runtime_as_iut": false
        }
      },
      {
        "class": "O2",
        "reference_scope": "expected_values",
        "scope": "expected_values",
        "label": "39 independent Fraction determinant/Sturm real-root counts and 400-dps balanced cubic/exact quartic positions; 25 strict successes and 14 explicit unsupported-output precision refusals",
        "engine": {
          "name": "Python Fraction Sturm + mpmath balanced roots",
          "independent_of_iut": true,
          "same_runtime_as_iut": false
        }
      },
      {
        "class": "O2",
        "reference_scope": "expected_values",
        "scope": "expected_values",
        "label": "46 actual Fraction input weighted-cycle and negative-discriminant subnormal spectra; independent 400-dps analytic roots with component-relative 2e-14 or exact subnormal comparisons",
        "engine": {
          "name": "Python Fraction + mpmath analytic roots",
          "independent_of_iut": true,
          "same_runtime_as_iut": false
        }
      },
      {
        "class": "O2",
        "reference_scope": "expected_values",
        "scope": "expected_values",
        "label": "42 exact Fraction similarities of real/complex Jordan forms with checked binary64 conversion; 10 actual perturbations independently solved at 100/180 decimal digits",
        "engine": {
          "name": "Python Fraction + mpmath matrix eig",
          "independent_of_iut": true,
          "same_runtime_as_iut": false
        }
      },
      {
        "class": "O2",
        "reference_scope": "expected_values",
        "scope": "expected_values",
        "label": "Separate-module linear-algebra oracle — Leibniz det, Cramer solve, cofactor inverse, minor rank, Gram–Schmidt QR, column-wise Cholesky, closed-form eigen (same runtime as IUT; not IUT transcription)",
        "engine": {
          "name": "linear-algebra-reference",
          "precision_bits": 53,
          "independent_of_iut": true,
          "same_runtime_as_iut": true
        }
      },
      {
        "class": "O2",
        "reference_scope": "numerical_behavior",
        "scope": "numerical_behavior",
        "label": "Same O2 module backs unrounded identities vs IUT roundSmart — relative 1e-10 / 16 pub ULP",
        "engine": {
          "name": "linear-algebra-reference",
          "precision_bits": 53,
          "independent_of_iut": true,
          "same_runtime_as_iut": true
        }
      }
    ]
  },
  "links": {
    "legacy_evidence": "https://www.calculatorx.com/evidence/math.linear_algebra/1.14.15.json",
    "evidence_page": "https://www.calculatorx.com/evidence/math.linear_algebra/1.14.15",
    "calculator": "https://www.calculatorx.com/calc/math/linear-system",
    "schema": "https://www.calculatorx.com/developers/cvp/schema/cvp-evidence-1.0.json",
    "protocol": "https://www.calculatorx.com/developers/cvp/spec/1.0",
    "manifest": "https://www.calculatorx.com/evidence/math.linear_algebra/1.14.15.cvp.json",
    "manifest_immutable": "https://www.calculatorx.com/evidence/math.linear_algebra/1.14.15/2026-10-16.matrix-input-surface-contract-v6.cvp.json",
    "manifest_core": "https://www.calculatorx.com/evidence/math.linear_algebra/1.14.15/2026-10-16.matrix-input-surface-contract-v6.d9910a64795d.cvp.json"
  },
  "disclosure": {
    "policy": "calculatorx-public-evidence-v1",
    "full_validation": "private",
    "representation": "summary"
  }
}
