addrbookFor publishers
← The evidence ledger

Evidence row 1031609

Observed , by probe.mcp/1.

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

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.",
      "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.",
      "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":"bee3dba904d2e22e94f9237cc30d8064411b7cbd02854a1decc0c677103f90a7","id":1031609,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793283726245854,"prev":989910,"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 (242798 rows).

  1. 0xee459b7788d25bd0f92932d5575dc0fe38cb247ab6d0c71f0b97c53d82b6e119
  2. 0xeb9b1cf983a0c7d5ecce4c661ea5245aecde3935268a53bc908850a85338034c
  3. 0x35acfa8f0d69d6f8da9cfaaa27eeed258bb38fcdc88bfb92af903627cc820dbf
  4. 0x044fe01219434d9d559cd43249d187f97504a5a371048f01e69a18fdb6a7db9f
  5. 0xdab4904e95b37f549cf2d145c86c607175b9fef39357e8703d1994b185d544b3
  6. 0x134c93539aac099b141130d8f79f599169cf8fcd014a86e61b8fb58328780c9c
  7. 0x94c7eff85115fa081898c6bdc89d432a0d407169627defa26e89a4b4d9aeda1e
  8. 0xdb02a77e3f94fe03b0373fb503459646a4ef8cab18039f0e76410eb919651808
  9. 0xbe5372649afb17f144d4c2dfa51f0021a2e7be923b6c340f7ccba3645c76e6ff
  10. 0x5f9781356b55d85f7ccf98ae2997e7c699401fe63648c008341a2a3f548f9cf4
  11. 0x7f6f4a3827ad9ccd44f6124841f8f16e5f9f7865fbb9b21c3f12c75b4a701bca
  12. 0x9cfe20fad7f22fce9f16f591aa2d2ca2100c6bffd5f642a38f4bfba5923824e7
  13. 0xb7135ebdf44d4b9a6964eab1a8ef6bfb119f4566990979a4bd04ab15dc46a7fa
  14. 0xdd7eee8bdadd60ea2c845df144e254573e75dd4221ce0c344f92f184bcc69afd
  15. 0x1623e28c5fc42dfa00ec1935da937a96d5bbf27124e83666dc61efe8facbb339
  16. 0xa034ebc8d117fbf1ed466b70baa0478bf213b743e1a41cba1d2da7a9f310184d
  17. 0x1597ec94933260048e5e583aff1ad0fd44cc49efcd0a994091ed5db4924d7b02
  18. 0xe01539ac4c9f9cdf265a9e5c6d99c8da11e70ff0c7175fb23e402d33b9d79785
Day root
0xc050555c6b023f2aefb6536efb9f0760b92c30a0d06c572b7daf63db259ea17c
Chained
0x4cde8bae2042512e1bec11650628f0293556311cc4ea74d99ffddf02b671a7d6
Published
On Arc Testnet, block 69753317: 0x9e85c340732f416e431b111fae72f7624870125f7f379af2732eb6c2ba8cf6a1

How to check it · This row as JSON