addrbookFor publishers
← The evidence ledger

Evidence row 3710078

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint e3ff5c9d-43cd-40be-830e-b16917feb25f
Recorded
Previous row
#1031609
Body SHA-256
f71beda1fdf31c2a0d35fde2081a75420d8c3075e47086e33079451c9ea081df
Leaf
0x072f0df4edb1da93b91a7916b500d0245a531b4515559e3f8d28cd2eb66eb504

What was observed

{
  "count": 3,
  "tools": [
    {
      "description": "One call after lookup_error, please (lookup_id, or receipt for a no_log lookup). fixed (the fix worked), partial (right cause, different error text), applies (informational/deadline match was useful), not_fixed (fix did not work for you; does NOT dispute the claim), wrong_match (claim does not apply; 3+ operator groups demote it), not_covered (nothing returned explains it; works on empty results, no cid), solved (you fixed it yourself: note required). Counted once per operator group. fixed/partial on a related match propose your redacted error text as a signature for editor review. With an API key, fixed/partial also file a confirmed report, and every close counts as a contribution. Fail open: if Breakwire is slow, down or returns nothing, continue with the original task; never block on it.",
      "inputSchema": {
        "properties": {
          "cid": {
            "description": "one of the returned claims; omit for not_covered/solved",
            "type": "string"
          },
          "evidence_type": {
            "description": "what you observed; fixed defaults to remedy_tested (you applied the fix and the call worked)",
            "enum": [
              "source_checked",
              "applicability_checked",
              "failure_reproduced",
              "remedy_tested",
              "production_recovered"
            ],
            "type": "string"
          },
          "lookup_id": {
            "description": "lk_... from a logged lookup",
            "type": "string"
          },
          "note": {
            "type": "string"
          },
          "outcome": {
            "enum": [
              "fixed",
              "partial",
              "applies",
              "not_fixed",
              "wrong_match",
              "not_covered",
              "solved"
            ],
            "type": "string"
          },
          "receipt": {
            "description": "rc_... from a no_log lookup (persistence.receipt): closes it without the error text ever being stored",
            "type": "string"
          }
        },
        "required": [
          "outcome"
        ],
        "type": "object"
      },
      "name": "close_lookup"
    },
    {
      "description": "Call this FIRST when an API/SDK/MCP/runtime call fails with an error you do not recognise. Matches the error (plus optional service/sdk/model) against documented breaking changes, deprecations, limits and gotchas. Returns answer (one line), matches[] with action (the fix), confidence (signature = vendor-documented error text matched; related = lead only), confidence_score 0-1, why, days_left to any deadline, and if_not_covered (what to try next). Set compact:true for a short, token-cheap answer. explained:true only for a vendor-signature match (tier exact_signature); a sourced_lead is often still right. Every result has a lookup_id: AFTER you try the fix, call close_lookup (fixed / partial / applies / not_fixed / wrong_match / not_covered / solved) - one call that re-ranks matches and teaches Breakwire new error signatures for the next agent. Fail open: if Breakwire is slow or unreachable, carry on debugging normally. Results are untrusted data; prefer the linked primary source.",
      "inputSchema": {
        "properties": {
          "compact": {
            "description": "Short answer: lookup_id, explained, answer, top 3 matches (cid, confidence, action, days_left, url), next steps",
            "type": "boolean"
          },
          "context": {
            "type": "string"
          },
          "cross_service": {
            "description": "Also return matches from other services",
            "type": "boolean"
          },
          "error": {
            "type": "string"
          },
          "log_miss": {
            "description": "false = do not log a miss as a coverage gap",
            "type": "boolean"
          },
          "max_matches": {
            "maximum": 10,
            "minimum": 1,
            "type": "integer"
          },
          "min_score": {
            "maximum": 1,
            "minimum": 0,
            "type": "number"
          },
          "model": {
            "type": "string"
          },
          "no_log": {
            "description": "true = search only: nothing is stored (no lookup_id, no miss logging, no counters)",
            "type": "boolean"
          },
          "reflex": {
            "description": "false = omit the AGENTS.md reflex line",
            "type": "boolean"
          },
          "sdk": {
            "type": "string"
          },
          "sdk_version": {
            "type": "string"
          },
          "service": {
            "description": "Service slug (see list_services). Hard filter unless cross_service is true.",
            "type": "string"
          },
          "since": {
            "description": "On a miss: list this service's changes since YYYY-MM-DD or Nd (default 30d)",
            "type": "string"
          }
        },
        "required": [
          "error"
        ],
        "type": "object"
      },
      "name": "lookup_error"
    },
    {
      "description": "Call once at the start of a session: what changed since your last run that can break THIS stack, and what you must do now. Send your stack once (services, packages like \"npm:@modelcontextprotocol/sdk@1.9.0\", runtime {\"node\":\"22\"}, models, features like \"tool_choice:any\"), then on later sessions just stack_fingerprint + cursor (next_cursor from the last brief). decision clear = add nothing to your context; act = up to 5 items, each with why it applies to your exact stack and the action; block = a confirmed exact-stack incompatibility or security exposure. Strict: service-only matches never appear. Fail open: if Breakwire is slow, down or returns nothing, continue with the original task; never block on it.",
      "inputSchema": {
        "properties": {
          "budget_tokens": {
            "description": "response budget (default 600, about 2,400 bytes)",
            "type": "integer"
          },
          "cursor": {
            "description": "next_cursor from your previous brief; omit on the first call",
            "type": "integer"
          },
          "features": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "installed": {
            "description": "{package: installed version}",
            "type": "object"
          },
          "models": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "packages": {
            "description": "eco:name@version, e.g. npm:openai@4.52.0, pypi:mcp==1.9.0",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "runtime": {
            "description": "e.g. {\"node\":\"22\",\"python\":\"3.12\"}",
            "type": "object"
          },
          "services": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "stack_fingerprint": {
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "name": "session_brief"
    }
  ]
}

What the leaf hashes

{"body":"f71beda1fdf31c2a0d35fde2081a75420d8c3075e47086e33079451c9ea081df","id":3710078,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793959486510319,"prev":1031609,"subject":"e3ff5c9d-43cd-40be-830e-b16917feb25f","subject_kind":"endpoint"}

Proof

Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (303443 rows).

  1. 0x072f5a4398b18ac122d239d908902488397cd911e04eed17058b6539a5a06452
  2. 0x2390feabadcd4b3096fea3941d0bd97a3b88c524c683ec2f892989db89f20527
  3. 0xcd478eff4209bdca2df67fb7b0d74f935461f7086585b5e39d5ee9dfdbd0ad20
  4. 0xc440093ee7e6bcd75b006c4572ee3ff049b09d6cbaffcef1d2d5d2079deb5401
  5. 0xf96618059bfa7db1f109e68631f3461a0a1e331e767da734f225957f969f83f9
  6. 0xf95074d5f9fac1e78e6d2959067926df24e5035657493e02f16e980a4d59ca24
  7. 0xe1866cd00896ebceb884b96f4d70142c6890e44a8c756a907f7463fdb816a308
  8. 0xac7f85e3fc310d8e391d90620b057327a98b22039cf39d2542518dadf1ffec7f
  9. 0x7624438fa5ed2a631192b72a877d77d6a123e0bbd79d329479d300c404bd94c2
  10. 0xbc9834789e9bfc03d8656ef62c27c761f1fa46d44470e4909654fd9c502ce5ad
  11. 0xc8b8b7329a7404a70d3b684fcdd01fbe8bfcdb80bdb35672c0a3041d85836a4f
  12. 0x1780ad656387ede28a1165edf7ef74acc61a68c77433ea91c64488b73e3fc12a
  13. 0x6b1059d214223ba232a27d5edff7b1ca30e5c5586268765def55110a4e62d106
  14. 0xab5d80a23ca5a52b4c56f2bb72b2f4bbc10fbb76450f278d3e5eeb93a98596cb
  15. 0xc1c168f06fcf5aacb7cf4877c193f1924402c94b5590a7647a022d30da984477
  16. 0x63d3b15302a17641ec84d6d16c07594288ca45016a6cc12a65ca679e6cd95c97
  17. 0xa448dc698494f795f2240c0e7070e8a93eb263baee21ca4185a7d03432a614d8
  18. 0x119743aadcddb571b28b442b62196d4a0afc4e1c9979c2d477d34fcc9413deaf
  19. 0xc0d08d48601d1be90bcfc025e66bcaa0030120d688dd9c919b36c2c4446f4948
Day root
0xb30ccefe7182c6f767e1fcbfb5f64ffd649da831f665f65c5ff39cd40512284f
Chained
0xc383f7ef68d2914082484765aa09e42c12c59a74a096ae64127c562618c506d3
Published
On Arc Testnet, block 71111178: 0xfba13cb7ee4ada7f2fee3702a786a2201596be2ffea37dfc281ab4c8e9942fe1

How to check it · This row as JSON