{
 "schema": "geoqa.probe_state.v1",
 "ran_at": "2026-10-08T22:49:53Z",
 "counts": {
  "holds": 24,
  "fails": 1,
  "undetermined": 1
 },
 "probes": [
  {
   "probe": "postcard-contract-for-ememdemo",
   "state": "holds",
   "claim": "a card still carries the five fields a published downstream client reads.",
   "evidence": {
    "cards_checked": 4,
    "fields": [
     "verify_urls.clip",
     "clip_cid",
     "sky.computed_from",
     "captured_at",
     "detector.fn_id"
    ],
    "missing": {},
    "read_by": "github.com/Vortx-AI/ememdemo src/camera.mjs"
   },
   "ms": 182
  },
  {
   "probe": "perception-routes",
   "state": "holds",
   "claim": "the four routes k572x7go measured as 500 answer, and say what they saw.",
   "evidence": {
    "at": 200,
    "history": 200,
    "trend": 200,
    "postcard": 200
   },
   "ms": 3602
  },
  {
   "probe": "health-probes-the-database",
   "state": "holds",
   "claim": "/health carries a `database` stage, probed, not derived from a list.",
   "evidence": {
    "database_available": true,
    "backend_fingerprint": "41847c7d4640",
    "backend_fingerprint_means": "sha256 of the backend address, first 12 hex. The address itself is internal; a change in this value is not",
    "at_listed_available": true,
    "consistent": true
   },
   "ms": 2
  },
  {
   "probe": "receipt-drop-counter",
   "state": "holds",
   "claim": "/health reports receipts this process signed but could not store.",
   "evidence": {
    "dropped_since_boot": 0,
    "last_reason": null
   },
   "ms": 1
  },
  {
   "probe": "gonogo-decides-from-counts",
   "state": "holds",
   "claim": "/gonogo reaches a decision from detections, and can reach `go`.",
   "evidence": {
    "live_decided_by": "counts",
    "live_decision": "wait",
    "fresh_empty": "go",
    "stale_empty": "wait",
    "fresh_busy": "wait",
    "means": "a go/no-go that cannot reach `go` is not a decision"
   },
   "ms": 387
  },
  {
   "probe": "question-router-no-false-defaults",
   "state": "holds",
   "claim": "the shape router does not silently answer a different question.",
   "evidence": {
    "false_defaults": "0",
    "accuracy_line": "external-v2: 51/51 correct (100%)"
   },
   "ms": 263
  },
  {
   "probe": "camera-intent-table",
   "state": "holds",
   "claim": "the intent table that picks the decision weights is measured, and clean.",
   "evidence": {
    "line": "camera intent classifier: 30/30 = 100%"
   },
   "ms": 295
  },
  {
   "probe": "decision-distance-gate",
   "state": "holds",
   "claim": "the decision never reaches past the representative distance while a usable",
   "evidence": {
    "chosen_distance_m": 824.7,
    "gate_m": 1000.0,
    "usable_within_gate": 12,
    "widened": false
   },
   "ms": 781
  },
  {
   "probe": "card-clip-receipts",
   "state": "holds",
   "claim": "every card in the album cites a clip whose receipt resolves.",
   "evidence": {
    "cards": 12,
    "without_a_resolvable_receipt": 0,
    "failing": []
   },
   "ms": 9042
  },
  {
   "probe": "witness-is-a-vouched-operator",
   "state": "holds",
   "claim": "geo.qa's co-signature counts as an independent OPERATOR on emem.dev.",
   "evidence": {
    "tier": "org_vouched",
    "vouched_by_domain": "geo.qa",
    "entries_behind_current": 33,
    "operator_entries_behind": 33
   },
   "ms": 184
  },
  {
   "probe": "cadastre-is-current",
   "state": "fails",
   "claim": "the ground plans the cards paint from were traced from a recent frame.",
   "evidence": {
    "cameras_with_a_plan": 807,
    "traced_in_the_last_7_days": 1
   },
   "ms": 434
  },
  {
   "probe": "published-panels-still-verify",
   "state": "holds",
   "claim": "panels we published in the past still cite bytes that hash to what they say.",
   "evidence": {
    "panels_checked": 12,
    "counts": {
     "holds": 12
    },
    "findings": []
   },
   "ms": 11789
  },
  {
   "probe": "receipts-carry-a-time-bound",
   "state": "holds",
   "claim": "a receipt we sign now is bounded by somebody else's clock, not only ours.",
   "evidence": {
    "log": "https://emem.dev",
    "tree_size": 2747959,
    "head_age_s": 180.0
   },
   "ms": 15
  },
  {
   "probe": "pipeline-refuses-internal-urls",
   "state": "holds",
   "claim": "/pipeline will not fetch inside our own network on a caller's instruction.",
   "evidence": {
    "metadata": "refused",
    "loopback": "refused",
    "bridge": "refused",
    "scheme": "refused",
    "means": "every internal target must come back refused"
   },
   "ms": 6
  },
  {
   "probe": "partner-surface-refusals",
   "state": "holds",
   "claim": "the two refusals another team's compliance pipeline depends on still hold.",
   "evidence": {
    "scale_without_a_stated_origin": "refused",
    "no_anchor_means_no_mm": "held",
    "an_anchor_produces_mm": "held",
    "an_unmeasured_feature_is_not_a_zero": "held",
    "and_the_gap_comes_back_named": "held",
    "a_tie_is_not_decisive": "held",
    "means": "a public refusal that stops refusing is a silent wrong answer in somebody else's pipeline"
   },
   "ms": 310
  },
  {
   "probe": "measurement-receipts-verify",
   "state": "holds",
   "claim": "a measurement we hand a partner carries a receipt that checks out offline.",
   "evidence": {
    "checks_passed": 10,
    "failing": [],
    "means": "1-4 are computed without asking this host anything"
   },
   "ms": 635
  },
  {
   "probe": "redaction-actually-redacts",
   "state": "holds",
   "claim": "/redact/people removes people at the floor it claims, and says what it missed.",
   "evidence": {
    "detector_asked_at_or_below_the_floor": "held",
    "people_were_found_and_redacted": "held",
    "the_image_changed": "held",
    "redacted_regions_are_piecewise_constant": "held",
    "it_does_not_claim_safety": "held",
    "redacted": 11,
    "near_the_floor": 8,
    "asked_at": 0.05,
    "floor": 0.05,
    "frames_tried": [
     {
      "frame": 0,
      "redacted": 11
     }
    ],
    "distinct_colours_in_region": 10,
    "at_most_for_a_mosaic": 256,
    "box_overlapped_by": 3,
    "means": "a redaction that softens, or that never saw the weak detections, is a photograph somebody stores believing it is clean"
   },
   "ms": 662
  },
  {
   "probe": "stack-count-refuses-when-it-should",
   "state": "holds",
   "claim": "/stack/count counts a clean stack and refuses everything it cannot count.",
   "evidence": {
    "a_clean_stack_is_counted_exactly": "held",
    "a_load_with_no_lattice_is_refused": "held",
    "and_is_not_sent_back_for_a_retake": "held",
    "it_says_it_counted_a_face": "held",
    "a_photograph_of_texture_is_not_a_stack": "held",
    "and_the_count_carries_a_signature": "held",
    "which_binds_the_abstention_too": "held",
    "counted": 24,
    "true": 24,
    "jumble_returned": null,
    "one_banana_returned": null,
    "banana_modulation": 0.224,
    "means": "a confident wrong count is worse than no count when a weight rests on it"
   },
   "ms": 64
  },
  {
   "probe": "prescreen-reads-real-pins",
   "state": "holds",
   "claim": "/prescreen reads real coordinates and reports what it could not read.",
   "evidence": {
    "both_pins_came_back": "held",
    "a_real_pin_resolves_to_signals": "held",
    "the_ocean_pin_names_what_it_could_not_read": "held",
    "the_ocean_pin_is_not_in_the_visit_list": "held",
    "and_carries_no_score_at_all": "held",
    "while_the_real_pin_is_still_ranked": "held",
    "no_readiness_window_is_invented": "held",
    "it_still_says_a_pin_is_not_a_plot": "held",
    "riau_score": 1.0,
    "ocean_score": null,
    "ocean_unread": [
     "plausibly_farmland",
     "something_growing"
    ],
    "ranked": [
     "riau"
    ],
    "means": "an unreadable pin must be reported as unread, not ranked as poor land"
   },
   "ms": 477
  },
  {
   "probe": "scale-card-round-trips",
   "state": "holds",
   "claim": "the card this service prints is a card this service can measure with.",
   "evidence": {
    "the_served_card_is_detected": "held",
    "the_scale_is_within_1_pct": "held",
    "millimetres_appear_with_no_mm_per_px_sent": "held",
    "the_length_lands_in_the_published_band": "held",
    "the_basis_was_written_not_typed": "held",
    "scale_error_pct": -0.23,
    "uncertainty_pct": 0.32,
    "length_mm": 70.4,
    "true_mm": 69.7,
    "means": "a card whose printed geometry and whose reader disagree is wrong on every measurement taken with it, quietly, for as long as it exists"
   },
   "ms": 444
  },
  {
   "probe": "public-surface-answers",
   "state": "holds",
   "claim": "every endpoint the partner index advertises answers on the PUBLIC origin.",
   "evidence": {
    "GET /produce/card.png": 200,
    "GET /produce/selftest": 200,
    "POST /crop/agree": 400,
    "POST /decide": 400,
    "POST /ppe/spraying": 400,
    "POST /prescreen": 400,
    "POST /produce/measure": 400,
    "POST /redact/people": 400,
    "POST /stack/count": 400,
    "POST /water/distance": 400,
    "not_routed": [],
    "served_but_not_in_the_index": [],
    "origin": "https://geo.qa",
    "means": "a 404 here is a partner losing an hour to a URL nobody called"
   },
   "ms": 209
  },
  {
   "probe": "documented-paths-are-routed",
   "state": "holds",
   "claim": "every /api path the public /docs and /partner pages SHOW a developer is wired.",
   "evidence": {
    "/api/crop/agree": 405,
    "/api/partner/dist": 200,
    "/api/ppe/spraying": 405,
    "/api/produce/card.png": 200,
    "/api/produce/measure": 405,
    "/api/produce/selftest": 200,
    "/api/public-docs/openapi": 200,
    "/api/redact/people": 405,
    "/api/stack/count": 405,
    "/api/tool/camera-stream/detections": 405,
    "/api/tool/satellite/lulc/analyze": 401,
    "/api/tool/satellite/lulc/bbox": 405,
    "/api/tool/satellite/lulc/polygon": 405,
    "/api/v1/object-detection": 200,
    "/api/verify/key": 200,
    "/api/water/distance": 405,
    "/api/world-model/verify": 405,
    "/api/world-model/verify/receipt": 405,
    "not_routed": [],
    "paths_read_off_the_pages": 18,
    "pages_read": "/docs and /partner",
    "origin": "https://geo.qa",
    "means": "a developer copies a line out of our documentation and it 404s. The paragraph around it reads authoritative either way"
   },
   "ms": 488
  },
  {
   "probe": "ground-truth-feed-is-readable",
   "state": "undetermined",
   "claim": "eudr.dev's ground-truth feed answers, and what it serves verifies.",
   "evidence": {
    "why": "no partner token. eudr.dev issues these per partner into their EUDR_GROUND_TRUTH_TOKENS; set GEOQA_EUDR_GROUND_TRUTH_TOKEN to ours. Without one the feed answers 401 and we have read nothing -- which is undetermined, not a feed that is broken",
    "feed": "https://eudr.dev/api/ground-truth/pairs",
    "their_key": "matches the key we pin",
    "undetermined_not_failed": "we have read nothing, which does not say the feed is wrong"
   },
   "ms": 341
  },
  {
   "probe": "same-photograph-measures-the-same",
   "state": "holds",
   "claim": "the same image bytes, measured twice, give identical numbers.",
   "evidence": {
    "numbers_compared": 74,
    "drifted": "none",
    "fields_appeared": "none",
    "fields_vanished": "none",
    "fn_id": "banana_measure@1+0b3a17cc2710abca",
    "fn_id_stable": true,
    "payload_sha256_stable": true,
    "means": "a partner storing a photograph and measuring it again under the same fn_id must get the same numbers, or every comparison they have made is unsound and nothing told them"
   },
   "ms": 14547
  },
  {
   "probe": "partner-downloads-are-pinnable",
   "state": "holds",
   "claim": "the artefacts a partner is told to pin are there, and the hash is the hash.",
   "evidence": {
    "SHA256SUMS": "284 bytes, matches",
    "geoqa_produce-1.0.0-py3-none-any.whl": "65213 bytes, matches",
    "geoqa_produce-2.0.0-py3-none-any.whl": "73020 bytes, matches",
    "person.onnx": "77868579 bytes, matches",
    "mismatched": [],
    "missing": [],
    "means": "an integrator pins these. A hash that drifts teaches them to ignore it",
    "also_checked": "each artefact's Content-Type parses -- no repeated parameter"
   },
   "ms": 2236
  },
  {
   "probe": "crop-agreement-separates-three-answers",
   "state": "holds",
   "claim": "/crop/agree keeps `disagrees` and `cannot_say` apart on the live route.",
   "evidence": {
    "a_plant_over_open_water_disagrees": "held",
    "and_routes_it_to_a_person": "held",
    "a_plant_over_vegetation_does_not": "held",
    "and_pages_nobody": "held",
    "the_pixels_not_the_chart_caveat_is_on_both": "held",
    "and_neither_claims_the_curve_comparison": "held",
    "over_water": "disagrees",
    "over_vegetation": "consistent",
    "means": "three verdicts, not two. A cell nobody could read is not a wrong field"
   },
   "ms": 184
  }
 ],
 "age_s": 270.2,
 "stale": false,
 "refresh": {
  "ttl_s": 300,
  "stale_after_s": 900,
  "refreshing_now": false
 },
 "freshness": "a request past the staleness line WAITS for a real answer rather than being handed a stale green -- so `stale: true` here means the refresh itself is failing, not that nobody has polled recently. That is the distinction worth gating on",
 "how_to_gate": "fail on counts.fails > 0. Do NOT fail on counts.undetermined: that means the check did not run, which is a different fact from the claim being broken, and a board that reds on both is a board people stop reading. DO fail on `stale` -- a cached green whose refresh has died is the one answer worse than a red",
 "what_a_probe_is": "a named claim this service makes about itself, re-run against the live service with the evidence it measured. Not a mock: the point is to catch the world moving, and a mock cannot move"
}