{
 "tool": "eclipse-thread-mcp",
 "version": "0.1.0",
 "bench_date": "2026-10-25",
 "bench_version": "0.1.0",
 "environment": "simulator",
 "qualifier": "simulator",
 "verdict": "CERTIFIED(simulator)",
 "checks": [
  {
   "id": "T1",
   "name": "planted-gap known answer: exactly the 3 planted gaps",
   "verdict": "pass",
   "evidence": "trace_gaps over the 4 shipped fixtures returns exactly 3 gaps \u2014 unlinked_requirement ECL-104, untested_code telemetry_codec.c, finding_without_ticket FIND-3 \u2014 no false positives, no misses"
  },
  {
   "id": "T2",
   "name": "evidence package deterministic; standalone verify passes",
   "verdict": "pass",
   "evidence": "two builds over the same graph reproduce package_id 1891f326e36c\u2026; evidence_verify standalone -> valid=true, 18 artifacts checked"
  },
  {
   "id": "T3",
   "name": "package substitution detected and named",
   "verdict": "pass",
   "evidence": "artifact content substitution (ECL-101 summary rewritten in a package copy) -> verify valid=false and the problem names ECL-101: artifact ECL-101 hash mismatch (content substituted?)"
  },
  {
   "id": "T4",
   "name": "package link removal detected",
   "verdict": "pass",
   "evidence": "one link (TC-3 -[exercises]-> power_mgr.c) removed from a package copy -> verify valid=false: ['link set hash mismatch (links substituted?)', 'package_id does not match recomputed content fold']"
  },
  {
   "id": "T5",
   "name": "bridge<->stub artifact-hash parity over real HTTP",
   "verdict": "pass",
   "evidence": "bridge fetch over real HTTP (stub search + issue endpoints) ingests the same 6 issues; all 6 artifact record hashes identical to the fixture-file ingest, and package_id matches \u2014 one code path, two transports"
  },
  {
   "id": "T6",
   "name": "receipt chain valid; tamper detected",
   "verdict": "pass",
   "evidence": "graph_query receipt_chain_valid=true over 7 receipts; in-process verify agrees; a deep copy with one altered receipt detail -> false (tamper detected)"
  },
  {
   "id": "U1",
   "name": "auth enforced",
   "verdict": "na",
   "evidence": "local stdio transport: no credential layer exists to test; process ownership is the boundary"
  },
  {
   "id": "U2",
   "name": "schema valid",
   "verdict": "pass",
   "evidence": "tools/list returns exactly the 5 tools, each with inputSchema type object + properties + required"
  },
  {
   "id": "U3",
   "name": "network confined to the bridge fetch surface",
   "verdict": "pass",
   "evidence": "server.py contains no network call sites; the only network surface in the product is jira_bridge.fetch_export (urllib to the caller-supplied base_url) \u2014 exercised by this bench solely against 127.0.0.1"
  },
  {
   "id": "U4",
   "name": "no secret leak",
   "verdict": "pass",
   "evidence": "no secret patterns in 15 tool outputs"
  },
  {
   "id": "U5",
   "name": "sane errors",
   "verdict": "pass",
   "evidence": "missing fixture -> error; unknown artifact -> error; unknown tool -> error; malformed line survived (graph_query answers); unknown method -> -32601"
  },
  {
   "id": "U6",
   "name": "process health",
   "verdict": "pass",
   "evidence": "initialize answered in 228 ms; ping ok"
  },
  {
   "id": "U7",
   "name": "audit completeness",
   "verdict": "pass",
   "evidence": "state ledger covers the run (types seen: ['evidence_build', 'ingest', 'trace_gaps']); 7 receipts, seq strictly increasing, hash chain valid"
  },
  {
   "id": "U8",
   "name": "bench isolation",
   "verdict": "pass",
   "evidence": "workspace product state byte-identical before/after bench"
  }
 ],
 "notes": [
  "SIMULATOR scope: all targets are fixtures/mocks \u2014 no Jira Data Center, Coverity, Cameo, or VectorCAST instance exists in this environment or was contacted. The bridge was exercised over real HTTP against the bundled stdlib stub on 127.0.0.1 only.",
  "Assembly and transport only: no verification results are generated by the product and no compliance claims are made; the bench verifies package integrity mechanics, not DO-178C credit."
 ],
 "history": "append-only; prior runs retained in results/"
}