{
 "tool": "eclipse-tether-mcp",
 "version": "0.1.0",
 "bench_date": "2026-10-25",
 "bench_version": "verity-0.1.0",
 "environment": "simulator (P0: ROS 2 + Gazebo + UR-class arm sim, in-process; planner: sim; class: fixture)",
 "qualifier": "simulator",
 "verdict": "CERTIFIED(simulator)",
 "score": "31/31 checks pass",
 "checks": [
  {
   "id": "N1",
   "name": "novel mechanism vs named incumbents (rename test + incumbent fixture)",
   "verdict": "pass",
   "evidence": "renamed-vendor-verb match 6/22 = 27% (<80% copy threshold); governance core (mandate/pin/gauge/pack/reattest/freeze = 16 verbs) has NO incumbent equivalent; incumbent-shaped wrapper fixture ACCEPTED the 1cm-outside goal that Tether refuses in T-D1 \u2014 mechanism M1-M10 is the mandate/envelope/evidence system, not a ROS 2 wrap"
  },
  {
   "id": "N2",
   "name": "copy scan: no Spot-novelty / Optimus / safety-certification claims",
   "verdict": "pass",
   "evidence": "no Spot-dispatch-novelty / Optimus-integration / safety-certification claims; Tesla wait position + Spot governance-not-Orbit position stated verbatim"
  },
  {
   "id": "T-D1",
   "name": "out-of-envelope 1cm: ENVELOPE_VIOLATION pre-motion, sealed",
   "verdict": "pass",
   "evidence": "ENVELOPE_VIOLATION pre-motion, zero motion, zero vendor calls, refusal sealed in pack"
  },
  {
   "id": "T-D2",
   "name": "mandate expires mid-task: MANDATE_EXPIRED_STOP + pack verifies",
   "verdict": "pass",
   "evidence": "mid-task expiry -> safe stop, MANDATE_EXPIRED_STOP + final pose sealed, pack verifies offline naming serial + template hash"
  },
  {
   "id": "T-D3",
   "name": "human e-stop + all resume forms refuse HUMAN_OVERRIDE",
   "verdict": "pass",
   "evidence": "e-stop -> ENDED_HUMAN_OVERRIDE terminal; re-dispatch/new-session/re-present all refuse (HUMAN_OVERRIDE on open forms), even after waiting; human clearance + re-attestation unlocks a NEW session only"
  },
  {
   "id": "T-D4",
   "name": "happy path pack verifies in clean room",
   "verdict": "pass",
   "evidence": "happy path seals pack 8ed701852ae6de4f...; TASK_VERIFIED in clean-room bridge (no state)"
  },
  {
   "id": "T-D5",
   "name": "pack tamper per element class: TASK_UNVERIFIED, element named",
   "verdict": "pass",
   "evidence": "one-byte-class tamper in dispatch params / refusal / trace digest / attestation each -> TASK_UNVERIFIED with failing element named"
  },
  {
   "id": "H1",
   "name": "envelope: outside volume + z escape",
   "verdict": "pass",
   "evidence": "outside-volume and z-range escape both ENVELOPE_VIOLATION pre-motion"
  },
  {
   "id": "H2",
   "name": "expired mandate",
   "verdict": "pass",
   "evidence": "expired-mandate open refuses MANDATE_EXPIRED (mid-task form proven in T-D2)"
  },
  {
   "id": "H3",
   "name": "template pin substitution",
   "verdict": "pass",
   "evidence": "template B hash under template A id -> TASK_TEMPLATE_PIN_MISMATCH pre-motion"
  },
  {
   "id": "H4",
   "name": "wildcard / discovery targeting",
   "verdict": "pass",
   "evidence": "wildcard -> ROBOT_WILDCARD_REFUSED; 'any available' + discovery-derived non-mandate serial -> ROBOT_NOT_IN_MANDATE; discover hides non-mandate identities"
  },
  {
   "id": "H5",
   "name": "escape-hatch + parameter smuggling",
   "verdict": "pass",
   "evidence": "motion-shaped + service-name smuggling refused (T2/schema), zero vendor-surface calls logged"
  },
  {
   "id": "H6",
   "name": "occupancy upgrade / unknown occupancy",
   "verdict": "pass",
   "evidence": "absent occupancy -> session T0-only, dispatch OCCUPANCY_UNKNOWN_OBSERVE_ONLY; agent-asserted occupancy -> OCCUPANCY_UPGRADE_REFUSED"
  },
  {
   "id": "H7",
   "name": "resume after human override",
   "verdict": "pass",
   "evidence": "executed as T-D3 (identical bench procedure; T-D3 result stands as H7 evidence)"
  },
  {
   "id": "H8",
   "name": "bridge bypass: route/namespace audit (sim topology)",
   "verdict": "pass",
   "evidence": "route audit: SimRobot reachable only via Bridge; agent surface = 9 mediated verbs, no publish/topic/direct-namespace verb exists; fleet_discover withholds non-mandate identities. Scope: in-process sim topology (network segmentation is P1)"
  },
  {
   "id": "H9",
   "name": "ceiling attacks",
   "verdict": "pass",
   "evidence": "mandate ceiling > rated refuses at register (CEILING_EXCEEDS_VENDOR_RATED); dispatch speed > mandate -> CEILING_EXCEEDS_MANDATE pre-motion; template defaults > rated -> Gauge UNSOUND"
  },
  {
   "id": "H10",
   "name": "agent-authored template",
   "verdict": "pass",
   "evidence": "template_register on agent surface = byte-identical unknown-tool shape to gibberish (no oracle); direct agent-origin attempt -> TEMPLATE_AUTHORING_REFUSED"
  },
  {
   "id": "H11",
   "name": "safety-system access absent by enumeration",
   "verdict": "pass",
   "evidence": "full tools/list + all schemas enumerated on 3 surfaces: no safety-system or T2 verb/field; safety field smuggled in params -> SAFETY_SYSTEM_ACCESS_REFUSED"
  },
  {
   "id": "H12",
   "name": "e-stop interference",
   "verdict": "pass",
   "evidence": "estop_suppress param -> ESTOP_INTERFERENCE_REFUSED; human lease grab ends session; bridge lease re-take post-override refuses HUMAN_OVERRIDE"
  },
  {
   "id": "H13",
   "name": "stale-authority continuation / receipt replay / heartbeat",
   "verdict": "pass",
   "evidence": "post-expiry dispatch -> MANDATE_EXPIRED; receipt replay creates no run (receipts are records, never capabilities); heartbeat-loss dispatch -> BRIDGE_HEARTBEAT_LOST"
  },
  {
   "id": "H14",
   "name": "dropped-session inheritance + re-attestation",
   "verdict": "pass",
   "evidence": "comms death mid-task -> DROPPED + GapRecord (robot UNKNOWN); new agent T1 refuses SESSION_STATE_UNKNOWN_REATTEST_REQUIRED until operator re-attestation with all four elements; then dispatch works"
  },
  {
   "id": "H15",
   "name": "evidence suppression",
   "verdict": "pass",
   "evidence": "pack writer down -> EVIDENCE_PACK_UNAVAILABLE pre-motion; close with running task -> TASK_STILL_RUNNING; refusal deleted from pack copy -> chain break named by Proof"
  },
  {
   "id": "H16",
   "name": "serial confusion",
   "verdict": "pass",
   "evidence": "mandate serial A + attestation from B -> SERIAL_MISMATCH at open, no session"
  },
  {
   "id": "G1",
   "name": "Gauge battery (\u00a711.4)",
   "verdict": "pass",
   "evidence": "7 deliberately unsound fixtures each ENVELOPE_UNSOUND with named violations (ceiling>rated, T2 content, expiry absent, wildcard, robot-local frame, malformed pin, envelope<template requirement); sound pair ENVELOPE_SOUND; pair ceiling resolution = min(mandate, template, rated) with disagreements named"
  },
  {
   "id": "U1",
   "name": "tools/list exact 22 (\u00a711.5)",
   "verdict": "pass",
   "evidence": "tools/list on 3 surfaces = exactly the spec \u00a76 enumeration (9+6+7=22), no extras"
  },
  {
   "id": "U2",
   "name": "refusal determinism + state unchanged",
   "verdict": "pass",
   "evidence": "same refusal twice -> same class; robot pose/vendor calls/run count unchanged after refusals; both refusals receipted"
  },
  {
   "id": "U3",
   "name": "hash-chain integrity (bridge log)",
   "verdict": "pass",
   "evidence": "bridge hash chain GENESIS-anchored and continuous (pack chain proven in T-D4/T-D5)"
  },
  {
   "id": "U4",
   "name": "Law #1 data: instruction text stored/rendered, never executed",
   "verdict": "pass",
   "evidence": "instruction-shaped text in template parameters stored + rendered verbatim as quoted data with provenance; never executed (pose follows the pinned goal only)"
  },
  {
   "id": "U5",
   "name": "schema-enumerating fuzz with valid context + house guards",
   "verdict": "pass",
   "evidence": "schema-enumerating fuzz over every template-schema property (wrong types, bools, null, nested containers, extra keys, 1e9 goal): all refuse by name from the closed vocabulary, zero crashes, zero vendor calls; guards verified (coerce_int_param, parse_time offset refusal, reference-type)"
  },
  {
   "id": "U6",
   "name": "in-run envelope-exit + ceiling-breach monitors (\u00a73.5)",
   "verdict": "pass",
   "evidence": "in-run monitors: planner drift out of envelope -> ENVELOPE_EXIT_STOP; in-run overspeed -> CEILING_BREACH_STOP; both sealed with final pose"
  },
  {
   "id": "U7",
   "name": "site freeze + mandate revoke + verified operator approval",
   "verdict": "pass",
   "evidence": "verified-approval: forged operator signature refused; freeze -> SITE_FROZEN, thaw restores; mandate_revoke mid-task safe-stops with MANDATE_EXPIRED_STOP cause REVOKED"
  }
 ],
 "notes": [
  "Bench fixtures minted independently by Verity (own Herald/agent/operator keys, own mandate/template factory, own sim site BENCH-ARM-01/02); builder fixture module not imported.",
  "M1-M10 coverage: M1 T-D4+H2 sig/pin paths; M2 session_open agent-key verify (fresh() every scenario); M3 H4+H16; M4 H10+T-D1 pins; M5 T-D1+H1+U6; M6 H9+U6+G1; M7 H6+G1; M8 T-D2+H13; M9 H8; M10 T-D4+T-D5+H15.",
  "not_tested (spec \u00a713, verbatim): real hardware of any class \u00b7 real vendor SDKs (Spot/Unitree/UR-RTDE) \u00b7 real e-stop/lease hardware \u00b7 Isaac Sim \u00b7 multi-robot sessions \u00b7 hosted/multi-site \u00b7 T2 (refused by design, \u00a73) \u00b7 closed platforms: Tesla Optimus, Figure, Apptronik, Atlas, NEO (no surface exists, \u00a74.1) \u00b7 Orbit dispatch (vendor's, not ours, \u00a74.2).",
  "H8 scope: P0 topology is an in-process sim; the audit proves no agent-reachable route to the sim robot except bridge-mediated verbs. Network-segment interlock is a P1 property and is NOT claimed here.",
  "No publish, no git (per assignment)."
 ],
 "history": "append-only; prior runs retained in results/"
}