Looking in links: /wheels
Processing /wheels/annotated_doc-0.0.4-py3-none-any.whl (from -r candidate/requirements-hashed-linux-amd64-py312.txt (line 1))
Processing /wheels/annotated_types-0.7.0-py3-none-any.whl (from -r candidate/requirements-hashed-linux-amd64-py312.txt (line 2))
Processing /wheels/anyio-4.15.1-py3-none-any.whl (from -r candidate/requirements-hashed-linux-amd64-py312.txt (line 3))
Processing /wheels/certifi-2026.10.23-py3-none-any.whl (from -r candidate/requirements-hashed-linux-amd64-py312.txt (line 4))
Processing /wheels/cffi-2.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (from -r candidate/requirements-hashed-linux-amd64-py312.txt (line 5))
Processing /wheels/charset_normalizer-3.4.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (from -r candidate/requirements-hashed-linux-amd64-py312.txt (line 6))
Processing /wheels/click-8.3.0-py3-none-any.whl (from -r candidate/requirements-hashed-linux-amd64-py312.txt (line 7))
Processing /wheels/cryptography-50.0.2-cp311-abi3-manylinux_2_28_x86_64.whl (from -r candidate/requirements-hashed-linux-amd64-py312.txt (line 8))
Processing /wheels/exceptiongroup-1.3.0-py3-none-any.whl (from -r candidate/requirements-hashed-linux-amd64-py312.txt (line 9))
Processing /wheels/fastapi-0.162.0-py3-none-any.whl (from -r candidate/requirements-hashed-linux-amd64-py312.txt (line 10))
Processing /wheels/h11-0.16.0-py3-none-any.whl (from -r candidate/requirements-hashed-linux-amd64-py312.txt (line 11))
Processing /wheels/httpcore-1.0.9-py3-none-any.whl (from -r candidate/requirements-hashed-linux-amd64-py312.txt (line 12))
Processing /wheels/httpx-0.28.1-py3-none-any.whl (from -r candidate/requirements-hashed-linux-amd64-py312.txt (line 13))
Processing /wheels/idna-3.20-py3-none-any.whl (from -r candidate/requirements-hashed-linux-amd64-py312.txt (line 14))
Processing /wheels/iniconfig-2.3.0-py3-none-any.whl (from -r candidate/requirements-hashed-linux-amd64-py312.txt (line 15))
Processing /wheels/opentelemetry_api-1.45.1-py3-none-any.whl (from -r candidate/requirements-hashed-linux-amd64-py312.txt (line 16))
Processing /wheels/packaging-25.0-py3-none-any.whl (from -r candidate/requirements-hashed-linux-amd64-py312.txt (line 17))
Processing /wheels/pluggy-1.6.0-py3-none-any.whl (from -r candidate/requirements-hashed-linux-amd64-py312.txt (line 18))
Processing /wheels/pycparser-3.0-py3-none-any.whl (from -r candidate/requirements-hashed-linux-amd64-py312.txt (line 19))
Processing /wheels/pydantic-2.11.7-py3-none-any.whl (from -r candidate/requirements-hashed-linux-amd64-py312.txt (line 20))
Processing /wheels/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (from -r candidate/requirements-hashed-linux-amd64-py312.txt (line 21))
Processing /wheels/pygments-2.21.0-py3-none-any.whl (from -r candidate/requirements-hashed-linux-amd64-py312.txt (line 22))
Processing /wheels/pytest-9.1.1-py3-none-any.whl (from -r candidate/requirements-hashed-linux-amd64-py312.txt (line 23))
Processing /wheels/requests-2.34.2-py3-none-any.whl (from -r candidate/requirements-hashed-linux-amd64-py312.txt (line 24))
Processing /wheels/sniffio-1.3.1-py3-none-any.whl (from -r candidate/requirements-hashed-linux-amd64-py312.txt (line 25))
Processing /wheels/starlette-1.3.1-py3-none-any.whl (from -r candidate/requirements-hashed-linux-amd64-py312.txt (line 26))
Processing /wheels/tomli-2.4.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (from -r candidate/requirements-hashed-linux-amd64-py312.txt (line 27))
Processing /wheels/typing_extensions-4.16.0-py3-none-any.whl (from -r candidate/requirements-hashed-linux-amd64-py312.txt (line 28))
Processing /wheels/typing_inspection-0.4.2-py3-none-any.whl (from -r candidate/requirements-hashed-linux-amd64-py312.txt (line 29))
Processing /wheels/urllib3-2.8.0-py3-none-any.whl (from -r candidate/requirements-hashed-linux-amd64-py312.txt (line 30))
Processing /wheels/uvicorn-0.40.0-py3-none-any.whl (from -r candidate/requirements-hashed-linux-amd64-py312.txt (line 31))
Installing collected packages: urllib3, typing-extensions, tomli, sniffio, pygments, pycparser, pluggy, packaging, iniconfig, idna, h11, click, charset-normalizer, certifi, annotated-types, annotated-doc, uvicorn, typing-inspection, requests, pytest, pydantic-core, opentelemetry-api, httpcore, exceptiongroup, cffi, anyio, starlette, pydantic, httpx, cryptography, fastapi
Successfully installed annotated-doc-0.0.4 annotated-types-0.7.0 anyio-4.15.1 certifi-2026.10.23 cffi-2.0.0 charset-normalizer-3.4.3 click-8.3.0 cryptography-50.0.2 exceptiongroup-1.3.0 fastapi-0.162.0 h11-0.16.0 httpcore-1.0.9 httpx-0.28.1 idna-3.20 iniconfig-2.3.0 opentelemetry-api-1.45.1 packaging-25.0 pluggy-1.6.0 pycparser-3.0 pydantic-2.11.7 pydantic-core-2.33.2 pygments-2.21.0 pytest-9.1.1 requests-2.34.2 sniffio-1.3.1 starlette-1.3.1 tomli-2.4.0 typing-extensions-4.16.0 typing-inspection-0.4.2 urllib3-2.8.0 uvicorn-0.40.0
{
  "host": {
    "system": "Linux",
    "architecture": "x86_64",
    "python": "3.12.3",
    "logical_cpus": 10
  },
  "proof_generation": [
    {
      "target_bits": 6,
      "samples": 20,
      "wall_seconds_total": 0.007367749698460102,
      "cpu_seconds_total": 0.007290336000000064,
      "raw_wall_seconds": [
        0.0010260422714054585,
        0.000688083004206419,
        0.0003798333927989006,
        0.00017120782285928726,
        0.0006004581227898598,
        9.812461212277412e-05,
        0.00015954207628965378,
        0.00010062474757432938,
        0.0007074587047100067,
        0.00016125012189149857,
        0.0002460000105202198,
        0.00016633374616503716,
        0.0005153752863407135,
        0.0003966670483350754,
        0.0009080828167498112,
        9.16249118745327e-05,
        0.0002749161794781685,
        0.00015745777636766434,
        0.000374749768525362,
        0.0001439172774553299
      ],
      "raw_cpu_seconds": [
        0.0009890000000000176,
        0.0006566249999999663,
        0.0003791670000000136,
        0.0001706660000000415,
        0.00059975000000001,
        9.770900000000138e-05,
        0.00015908400000003153,
        0.00010016699999998435,
        0.0007068749999999957,
        0.0001607920000000207,
        0.0002455419999999875,
        0.000165874999999982,
        0.0005149580000000098,
        0.0003962089999999807,
        0.0009076660000000292,
        9.116600000003139e-05,
        0.0002743339999999872,
        0.00015699999999996272,
        0.0003742919999999983,
        0.00014345900000001244
      ],
      "raw_attempt_counts": [
        37,
        118,
        65,
        23,
        109,
        9,
        21,
        8,
        131,
        22,
        38,
        24,
        94,
        67,
        170,
        6,
        42,
        18,
        64,
        16
      ],
      "attempts_total": 1082,
      "hash_attempts_per_cpu_second": 148415.65601365842,
      "mean_proof_seconds": 0.0003683874849230051,
      "p95_sample_seconds": 0.0009080828167498112,
      "claim": "local canonical JSON/SHA256 implementation, not hardware/resource-distribution proof"
    },
    {
      "target_bits": 12,
      "samples": 8,
      "wall_seconds_total": 0.1105801253579557,
      "cpu_seconds_total": 0.1105690809999999,
      "raw_wall_seconds": [
        0.0084091667085886,
        0.015118708834052086,
        0.026908207684755325,
        0.016038709320127964,
        0.011660333257168531,
        0.007814041804522276,
        0.004596790764480829,
        0.020034166984260082
      ],
      "raw_cpu_seconds": [
        0.00840824999999995,
        0.01511816699999996,
        0.026907665999999997,
        0.01603825000000003,
        0.011659750000000024,
        0.007813623999999963,
        0.00459629100000003,
        0.020027082999999946
      ],
      "raw_attempt_counts": [
        1679,
        3036,
        5458,
        3218,
        2357,
        1548,
        919,
        4048
      ],
      "attempts_total": 22263,
      "hash_attempts_per_cpu_second": 201349.2361395318,
      "mean_proof_seconds": 0.013822515669744462,
      "p95_sample_seconds": 0.026908207684755325,
      "claim": "local canonical JSON/SHA256 implementation, not hardware/resource-distribution proof"
    },
    {
      "target_bits": 16,
      "samples": 3,
      "wall_seconds_total": 1.6353346672840416,
      "cpu_seconds_total": 1.6351577469999998,
      "raw_wall_seconds": [
        1.1380664589814842,
        0.2665273752063513,
        0.2307408330962062
      ],
      "raw_cpu_seconds": [
        1.137978662,
        0.266470376,
        0.23070870899999973
      ],
      "raw_attempt_counts": [
        238857,
        55329,
        47818
      ],
      "attempts_total": 342004,
      "hash_attempts_per_cpu_second": 209156.57870163888,
      "mean_proof_seconds": 0.5451115557613472,
      "p95_sample_seconds": 1.1380664589814842,
      "claim": "local canonical JSON/SHA256 implementation, not hardware/resource-distribution proof"
    }
  ],
  "proof_verification": {
    "operations": 1000,
    "wall_seconds": 0.25079545890912414,
    "cpu_seconds": 0.2507967080000002,
    "operations_per_second": 3987.313025322163
  },
  "signed_endpoint_proof_validation": {
    "operations": 100,
    "wall_seconds": 0.09523200010880828,
    "cpu_seconds": 0.09522483400000015,
    "network_requests": 0,
    "operations_per_second": 1050.0672031013105
  },
  "discovery_metadata_persistence": {
    "samples": 10,
    "mean_durable_metadata_commit_seconds": 0.0022358751390129327,
    "max_seconds": 0.002742042299360037,
    "database_bytes": 12288,
    "canonical_bytes_changed": false
  },
  "observer_recovery": {
    "samples": 10,
    "mean_seconds": 0.001050920644775033,
    "max_seconds": 0.0012788749299943447,
    "canonical_bytes": 4616,
    "canonical_sha256_before": "cdd517e51b44d48bf9328b6d3d0849c05b691f0818f47bd2c26eb3aba41b76ff",
    "canonical_sha256_after": "cdd517e51b44d48bf9328b6d3d0849c05b691f0818f47bd2c26eb3aba41b76ff",
    "ledger_advancement": false,
    "scope": "observer process-object reopen and full snapshot verification, not power-loss restore"
  },
  "full_receipt_accounting_replay": {
    "samples": 10,
    "records": 10,
    "work_payments_in_existing_fixture": 4,
    "mean_wall_seconds": 0.004793599946424365,
    "max_wall_seconds": 0.0054282923229038715,
    "cpu_seconds_total": 0.047940418000000484,
    "scope": "existing public signed synthetic finality/receipt/fee/account replay; no new payment or ledger write"
  },
  "process_peak_rss_bytes": 83517440,
  "pricing": {
    "measured_cash_cost": null,
    "electricity_kwh": null,
    "hourly_operator_cost": null,
    "reason": "no operator invoices, electricity meter or contracted resource prices available; CPU/RSS measurements are physical cost evidence, not a price/security budget",
    "runway_formula": "90*sum(measured_operator_daily_costs)+review_cost+restore_reserve"
  },
  "production_parameters_selected": false,
  "production_access": false
}
ADAPTER_LINUX_MEASUREMENTS={
  "host": {
    "system": "Linux",
    "architecture": "x86_64",
    "python": "3.12.3",
    "logical_cpus": 10
  },
  "proof_generation": [
    {
      "target_bits": 6,
      "samples": 20,
      "wall_seconds_total": 0.007367749698460102,
      "cpu_seconds_total": 0.007290336000000064,
      "raw_wall_seconds": [
        0.0010260422714054585,
        0.000688083004206419,
        0.0003798333927989006,
        0.00017120782285928726,
        0.0006004581227898598,
        9.812461212277412e-05,
        0.00015954207628965378,
        0.00010062474757432938,
        0.0007074587047100067,
        0.00016125012189149857,
        0.0002460000105202198,
        0.00016633374616503716,
        0.0005153752863407135,
        0.0003966670483350754,
        0.0009080828167498112,
        9.16249118745327e-05,
        0.0002749161794781685,
        0.00015745777636766434,
        0.000374749768525362,
        0.0001439172774553299
      ],
      "raw_cpu_seconds": [
        0.0009890000000000176,
        0.0006566249999999663,
        0.0003791670000000136,
        0.0001706660000000415,
        0.00059975000000001,
        9.770900000000138e-05,
        0.00015908400000003153,
        0.00010016699999998435,
        0.0007068749999999957,
        0.0001607920000000207,
        0.0002455419999999875,
        0.000165874999999982,
        0.0005149580000000098,
        0.0003962089999999807,
        0.0009076660000000292,
        9.116600000003139e-05,
        0.0002743339999999872,
        0.00015699999999996272,
        0.0003742919999999983,
        0.00014345900000001244
      ],
      "raw_attempt_counts": [
        37,
        118,
        65,
        23,
        109,
        9,
        21,
        8,
        131,
        22,
        38,
        24,
        94,
        67,
        170,
        6,
        42,
        18,
        64,
        16
      ],
      "attempts_total": 1082,
      "hash_attempts_per_cpu_second": 148415.65601365842,
      "mean_proof_seconds": 0.0003683874849230051,
      "p95_sample_seconds": 0.0009080828167498112,
      "claim": "local canonical JSON/SHA256 implementation, not hardware/resource-distribution proof"
    },
    {
      "target_bits": 12,
      "samples": 8,
      "wall_seconds_total": 0.1105801253579557,
      "cpu_seconds_total": 0.1105690809999999,
      "raw_wall_seconds": [
        0.0084091667085886,
        0.015118708834052086,
        0.026908207684755325,
        0.016038709320127964,
        0.011660333257168531,
        0.007814041804522276,
        0.004596790764480829,
        0.020034166984260082
      ],
      "raw_cpu_seconds": [
        0.00840824999999995,
        0.01511816699999996,
        0.026907665999999997,
        0.01603825000000003,
        0.011659750000000024,
        0.007813623999999963,
        0.00459629100000003,
        0.020027082999999946
      ],
      "raw_attempt_counts": [
        1679,
        3036,
        5458,
        3218,
        2357,
        1548,
        919,
        4048
      ],
      "attempts_total": 22263,
      "hash_attempts_per_cpu_second": 201349.2361395318,
      "mean_proof_seconds": 0.013822515669744462,
      "p95_sample_seconds": 0.026908207684755325,
      "claim": "local canonical JSON/SHA256 implementation, not hardware/resource-distribution proof"
    },
    {
      "target_bits": 16,
      "samples": 3,
      "wall_seconds_total": 1.6353346672840416,
      "cpu_seconds_total": 1.6351577469999998,
      "raw_wall_seconds": [
        1.1380664589814842,
        0.2665273752063513,
        0.2307408330962062
      ],
      "raw_cpu_seconds": [
        1.137978662,
        0.266470376,
        0.23070870899999973
      ],
      "raw_attempt_counts": [
        238857,
        55329,
        47818
      ],
      "attempts_total": 342004,
      "hash_attempts_per_cpu_second": 209156.57870163888,
      "mean_proof_seconds": 0.5451115557613472,
      "p95_sample_seconds": 1.1380664589814842,
      "claim": "local canonical JSON/SHA256 implementation, not hardware/resource-distribution proof"
    }
  ],
  "proof_verification": {
    "operations": 1000,
    "wall_seconds": 0.25079545890912414,
    "cpu_seconds": 0.2507967080000002,
    "operations_per_second": 3987.313025322163
  },
  "signed_endpoint_proof_validation": {
    "operations": 100,
    "wall_seconds": 0.09523200010880828,
    "cpu_seconds": 0.09522483400000015,
    "network_requests": 0,
    "operations_per_second": 1050.0672031013105
  },
  "discovery_metadata_persistence": {
    "samples": 10,
    "mean_durable_metadata_commit_seconds": 0.0022358751390129327,
    "max_seconds": 0.002742042299360037,
    "database_bytes": 12288,
    "canonical_bytes_changed": false
  },
  "observer_recovery": {
    "samples": 10,
    "mean_seconds": 0.001050920644775033,
    "max_seconds": 0.0012788749299943447,
    "canonical_bytes": 4616,
    "canonical_sha256_before": "cdd517e51b44d48bf9328b6d3d0849c05b691f0818f47bd2c26eb3aba41b76ff",
    "canonical_sha256_after": "cdd517e51b44d48bf9328b6d3d0849c05b691f0818f47bd2c26eb3aba41b76ff",
    "ledger_advancement": false,
    "scope": "observer process-object reopen and full snapshot verification, not power-loss restore"
  },
  "full_receipt_accounting_replay": {
    "samples": 10,
    "records": 10,
    "work_payments_in_existing_fixture": 4,
    "mean_wall_seconds": 0.004793599946424365,
    "max_wall_seconds": 0.0054282923229038715,
    "cpu_seconds_total": 0.047940418000000484,
    "scope": "existing public signed synthetic finality/receipt/fee/account replay; no new payment or ledger write"
  },
  "process_peak_rss_bytes": 83517440,
  "pricing": {
    "measured_cash_cost": null,
    "electricity_kwh": null,
    "hourly_operator_cost": null,
    "reason": "no operator invoices, electricity meter or contracted resource prices available; CPU/RSS measurements are physical cost evidence, not a price/security budget",
    "runway_formula": "90*sum(measured_operator_daily_costs)+review_cost+restore_reserve"
  },
  "production_parameters_selected": false,
  "production_access": false
}

METRICS_EXPORT_CORRECTION=PASS; unchanged adapter/source; no passing tests repeated
