← The evidence ledger
Evidence row 307904
Observed , by probe.mcp/1.
- Kind
- mcp.tools
- About
- endpoint aa559aa4-adf8-46a5-8951-678b4c040680
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- e2b3c905283afe7298faad31aa267e3e7d5778192e0e76995394b113a659654d
- Leaf
- 0x9bc6140a125e933f7d4c950d40348ce329d20ef81dd3dd0ee707ebd5ac6e3804
What was observed
{
"count": 17,
"tools": [
{
"description": "Add a durable comment anchored to selected text or lines in an immutable artifact revision. Read the artifact first and preserve the exact quote and surrounding context.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"body": {
"description": "Actionable annotation body in plain text or Markdown.",
"maxLength": 10000,
"minLength": 1,
"type": "string"
},
"handoverId": {
"description": "Handover containing the artifact being annotated.",
"pattern": "^hov_",
"type": "string"
},
"mentionPrincipalIds": {
"description": "Collaborator principal IDs to mention and notify.",
"items": {
"pattern": "^prn_",
"type": "string"
},
"maxItems": 20,
"type": "array"
},
"target": {
"additionalProperties": false,
"description": "Immutable artifact location to anchor this annotation.",
"properties": {
"artifactId": {
"description": "Artifact containing the selected text or code.",
"pattern": "^art_",
"type": "string"
},
"revisionId": {
"description": "Immutable revision containing the annotated artifact.",
"pattern": "^rev_",
"type": "string"
},
"selector": {
"additionalProperties": false,
"description": "Exact quote plus optional position and surrounding context.",
"properties": {
"endLine": {
"description": "Zero-based line where the selection ends.",
"minimum": 0,
"type": "integer"
},
"endOffset": {
"description": "Zero-based character offset immediately after the selection.",
"minimum": 0,
"type": "integer"
},
"exact": {
"description": "The exact selected text.",
"maxLength": 4000,
"minLength": 1,
"type": "string"
},
"prefix": {
"description": "Text immediately before the selection.",
"maxLength": 500,
"type": "string"
},
"startLine": {
"description": "Zero-based line where the selection starts.",
"minimum": 0,
"type": "integer"
},
"startOffset": {
"description": "Zero-based character offset where the selection starts.",
"minimum": 0,
"type": "integer"
},
"suffix": {
"description": "Text immediately after the selection.",
"maxLength": 500,
"type": "string"
}
},
"required": [
"exact"
],
"type": "object"
},
"targetKind": {
"description": "Rendering context used to relocate and display the annotation.",
"enum": [
"text",
"code",
"html"
],
"type": "string"
}
},
"required": [
"revisionId",
"artifactId",
"targetKind",
"selector"
],
"type": "object"
}
},
"required": [
"handoverId",
"body",
"target"
],
"type": "object"
},
"name": "handover.annotate"
},
{
"description": "Read revision-anchored file comments, selected text, status, authorship, and resolution metadata. Use status=open to find feedback that still needs action.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"artifactId": {
"pattern": "^art_",
"type": "string"
},
"handoverId": {
"description": "Handover whose annotation threads should be read.",
"pattern": "^hov_",
"type": "string"
},
"revisionId": {
"pattern": "^rev_",
"type": "string"
},
"status": {
"enum": [
"open",
"resolved",
"stale"
],
"type": "string"
}
},
"required": [
"handoverId"
],
"type": "object"
},
"name": "handover.annotations"
},
{
"description": "Replace the open assignments with the supplied collaborator identities. This changes collaboration state, not the immutable handover revision.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"handoverId": {
"description": "Handover whose open assignments will be replaced.",
"pattern": "^hov_",
"type": "string"
},
"principalIds": {
"description": "Complete replacement list of assigned collaborator principal IDs.",
"items": {
"pattern": "^prn_",
"type": "string"
},
"maxItems": 20,
"type": "array"
}
},
"required": [
"handoverId",
"principalIds"
],
"type": "object"
},
"name": "handover.assign"
},
{
"description": "Append a discussion comment and optionally notify explicitly mentioned collaborators.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"body": {
"description": "Comment body in plain text or Markdown.",
"maxLength": 10000,
"minLength": 1,
"type": "string"
},
"handoverId": {
"description": "Handover discussion to append the comment to.",
"pattern": "^hov_",
"type": "string"
},
"mentionPrincipalIds": {
"description": "Collaborator principal IDs to mention and notify.",
"items": {
"pattern": "^prn_",
"type": "string"
},
"maxItems": 20,
"type": "array"
}
},
"required": [
"handoverId",
"body"
],
"type": "object"
},
"name": "handover.comment"
},
{
"description": "Append an immutable revision after reading the current snapshot. expectedRevisionId is mandatory to prevent overwriting another collaborator's work. Omitted artifacts are inherited; matching names are replaced.",
"inputSchema": {
"additionalProperties": false,
"anyOf": [
{
"required": [
"note"
]
},
{
"required": [
"brief"
]
},
{
"required": [
"artifacts"
]
}
],
"properties": {
"artifacts": {
"description": "New or replacement files; omitted files remain inherited.",
"items": {
"additionalProperties": false,
"properties": {
"content": {
"description": "UTF-8 text, or base64 when encoding is base64.",
"type": "string"
},
"encoding": {
"default": "utf-8",
"enum": [
"utf-8",
"base64"
],
"type": "string"
},
"mediaType": {
"description": "IANA media type, such as text/markdown or text/x-sql.",
"type": "string"
},
"name": {
"description": "Filename shown in Handover.",
"type": "string"
}
},
"required": [
"name",
"content"
],
"type": "object"
},
"maxItems": 50,
"minItems": 1,
"type": "array"
},
"brief": {
"additionalProperties": false,
"description": "Updated structured continuation brief.",
"minProperties": 1,
"properties": {
"currentState": {
"description": "Verified state at the moment this revision is published.",
"type": "string"
},
"decisions": {
"description": "Decisions already made that successors should preserve.",
"items": {
"type": "string"
},
"maxItems": 50,
"type": "array"
},
"nextSteps": {
"description": "Concrete continuation steps for the receiving actor.",
"items": {
"additionalProperties": false,
"properties": {
"id": {
"description": "Optional stable identifier for this step.",
"type": "string"
},
"status": {
"description": "Whether the step still needs action.",
"enum": [
"open",
"done"
],
"type": "string"
},
"text": {
"description": "One actionable continuation step.",
"type": "string"
}
},
"required": [
"text"
],
"type": "object"
},
"maxItems": 50,
"type": "array"
},
"objective": {
"description": "The outcome the next human or agent should continue toward.",
"type": "string"
},
"openQuestions": {
"description": "Unresolved questions that still require evidence or judgment.",
"items": {
"type": "string"
},
"maxItems": 50,
"type": "array"
}
},
"type": "object"
},
"expectedRevisionId": {
"description": "Current revision ID returned by handover.get; prevents lost updates.",
"pattern": "^rev_",
"type": "string"
},
"handoverId": {
"description": "Handover to continue after reading its current snapshot.",
"pattern": "^hov_",
"type": "string"
},
"note": {
"description": "What changed or what the next collaborator should know.",
"minLength": 1,
"type": "string"
}
},
"required": [
"handoverId",
"expectedRevisionId"
],
"type": "object"
},
"name": "handover.continue"
},
{
"description": "Create durable shared context with an initial immutable revision. Authorship comes from the authenticated Handover identity.",
"inputSchema": {
"additionalProperties": false,
"anyOf": [
{
"required": [
"note"
]
},
{
"required": [
"brief"
]
},
{
"required": [
"artifacts"
]
}
],
"properties": {
"artifacts": {
"description": "Files attached to the initial immutable revision.",
"items": {
"additionalProperties": false,
"properties": {
"content": {
"description": "UTF-8 text, or base64 when encoding is base64.",
"type": "string"
},
"encoding": {
"default": "utf-8",
"enum": [
"utf-8",
"base64"
],
"type": "string"
},
"mediaType": {
"description": "IANA media type, such as text/markdown or text/x-sql.",
"type": "string"
},
"name": {
"description": "Filename shown in Handover.",
"type": "string"
}
},
"required": [
"name",
"content"
],
"type": "object"
},
"maxItems": 50,
"minItems": 1,
"type": "array"
},
"brief": {
"additionalProperties": false,
"description": "Structured continuation brief for humans and agents.",
"minProperties": 1,
"properties": {
"currentState": {
"description": "Verified state at the moment this revision is published.",
"type": "string"
},
"decisions": {
"description": "Decisions already made that successors should preserve.",
"items": {
"type": "string"
},
"maxItems": 50,
"type": "array"
},
"nextSteps": {
"description": "Concrete continuation steps for the receiving actor.",
"items": {
"additionalProperties": false,
"properties": {
"id": {
"description": "Optional stable identifier for this step.",
"type": "string"
},
"status": {
"description": "Whether the step still needs action.",
"enum": [
"open",
"done"
],
"type": "string"
},
"text": {
"description": "One actionable continuation step.",
"type": "string"
}
},
"required": [
"text"
],
"type": "object"
},
"maxItems": 50,
"type": "array"
},
"objective": {
"description": "The outcome the next human or agent should continue toward.",
"type": "string"
},
"openQuestions": {
"description": "Unresolved questions that still require evidence or judgment.",
"items": {
"type": "string"
},
"maxItems": 50,
"type": "array"
}
},
"type": "object"
},
"note": {
"description": "Free-form continuation note recorded in the initial revision.",
"minLength": 1,
"type": "string"
},
"summary": {
"description": "Concise explanation of what this handover contains.",
"maxLength": 2000,
"type": "string"
},
"title": {
"description": "Short, specific name for the durable context.",
"maxLength": 200,
"type": "string"
}
},
"required": [
"title"
],
"type": "object"
},
"name": "handover.create"
},
{
"description": "Read a handover snapshot, continuation brief, artifact metadata, and revision history. Omit revisionId for the current snapshot.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"handoverId": {
"description": "Handover identifier returned by handover.search or handover.create.",
"pattern": "^hov_",
"type": "string"
},
"revisionId": {
"description": "Optional immutable revision; omit to inspect the current revision.",
"pattern": "^rev_",
"type": "string"
}
},
"required": [
"handoverId"
],
"type": "object"
},
"name": "handover.get"
},
{
"description": "Export a handover revision as an Open Knowledge Format bundle for another human or agent system.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"handoverId": {
"description": "Handover to export.",
"pattern": "^hov_",
"type": "string"
},
"revisionId": {
"description": "Immutable revision to export; defaults to the current revision.",
"pattern": "^rev_",
"type": "string"
}
},
"required": [
"handoverId"
],
"type": "object"
},
"name": "handover.okf.export"
},
{
"description": "Import Open Knowledge Format files into a new immutable Handover revision. Replaying the same bundle is idempotent.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"expectedRevisionId": {
"description": "Current revision ID used to prevent conflicting imports.",
"pattern": "^rev_",
"type": "string"
},
"files": {
"description": "Files from an Open Knowledge Format bundle.",
"items": {
"additionalProperties": false,
"properties": {
"content": {
"description": "UTF-8 text, or base64 when encoding is base64.",
"type": "string"
},
"encoding": {
"description": "How content is encoded in this request.",
"enum": [
"utf-8",
"base64"
],
"type": "string"
},
"mediaType": {
"description": "IANA media type; inferred from path when omitted.",
"type": "string"
},
"path": {
"description": "Relative path of this file inside the OKF bundle.",
"type": "string"
}
},
"required": [
"path",
"content"
],
"type": "object"
},
"maxItems": 100,
"minItems": 1,
"type": "array"
},
"handoverId": {
"description": "Existing handover that will receive the imported bundle.",
"pattern": "^hov_",
"type": "string"
},
"mode": {
"default": "merge",
"description": "Merge bundle files with inherited artifacts or replace them.",
"enum": [
"merge",
"replace"
],
"type": "string"
}
},
"required": [
"handoverId",
"files"
],
"type": "object"
},
"name": "handover.okf.import"
},
{
"description": "Read the stable report URL, entry file, access mode, and selected revision for a handover.",
"inputSchema": {
"additionalProperties": false,
"anyOf": [
{
"required": [
"handoverId"
]
},
{
"required": [
"slug"
]
}
],
"properties": {
"handoverId": {
"description": "Handover whose publication should be inspected.",
"pattern": "^hov_",
"type": "string"
},
"slug": {
"description": "Stable published report slug.",
"type": "string"
}
},
"type": "object"
},
"name": "handover.publication"
},
{
"description": "Create or update a stable /r/{slug}/ report projection of a Handover revision.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"access": {
"description": "Who can open the report URL.",
"enum": [
"organization",
"public"
],
"type": "string"
},
"entryPath": {
"description": "Artifact path opened first when readers visit the report.",
"type": "string"
},
"handoverId": {
"description": "Handover to project as a stable report.",
"pattern": "^hov_",
"type": "string"
},
"revisionId": {
"description": "Revision to pin; used when revisionMode is pinned.",
"pattern": "^rev_",
"type": "string"
},
"revisionMode": {
"description": "Follow new revisions automatically or keep one revision pinned.",
"enum": [
"latest",
"pinned"
],
"type": "string"
},
"slug": {
"description": "Stable URL slug; generated from the title when omitted.",
"type": "string"
}
},
"required": [
"handoverId"
],
"type": "object"
},
"name": "handover.publish"
},
{
"description": "Return the selected files of a published report with paths, hashes, media types, and UTF-8 or base64 content.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"files": {
"description": "Optional relative paths to return; omit for every file.",
"items": {
"type": "string"
},
"maxItems": 100,
"type": "array"
},
"includeBinary": {
"default": false,
"description": "Return binary files as base64 when true.",
"type": "boolean"
},
"slug": {
"description": "Stable published report slug.",
"type": "string"
}
},
"required": [
"slug"
],
"type": "object"
},
"name": "handover.pull"
},
{
"description": "Read bounded artifact content after inspecting a handover. Text is returned as UTF-8 and binary content as base64; truncated results report that explicitly.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"artifactId": {
"description": "Artifact identifier returned by handover.get.",
"pattern": "^art_",
"type": "string"
},
"maxBytes": {
"default": 524288,
"description": "Maximum decoded bytes to return before reporting truncation.",
"maximum": 2097152,
"minimum": 1,
"type": "integer"
}
},
"required": [
"artifactId"
],
"type": "object"
},
"name": "handover.read_artifact"
},
{
"description": "Find current shared context with hybrid, semantic, or lexical retrieval across metadata and artifact content. Use an empty query to list recent handovers.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cursor": {
"type": "string"
},
"limit": {
"default": 30,
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"mode": {
"default": "hybrid",
"enum": [
"hybrid",
"semantic",
"lexical"
],
"type": "string"
},
"query": {
"type": "string"
},
"status": {
"default": "active",
"enum": [
"active",
"archived",
"trashed"
],
"type": "string"
}
},
"type": "object"
},
"name": "handover.search"
},
{
"description": "Read comments, explicit mentions, assignments, and eligible collaborators without changing revision history.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"handoverId": {
"description": "Handover whose discussion and assignments should be read.",
"pattern": "^hov_",
"type": "string"
}
},
"required": [
"handoverId"
],
"type": "object"
},
"name": "handover.thread"
},
{
"description": "Edit an authored comment, or resolve/reopen an annotation. Set resolvedRevisionId when a new handover revision addressed the feedback.",
"inputSchema": {
"additionalProperties": false,
"minProperties": 3,
"properties": {
"body": {
"description": "Replacement comment body; omit to preserve the current body.",
"maxLength": 10000,
"minLength": 1,
"type": "string"
},
"commentId": {
"description": "Comment or annotation to edit, resolve, or reopen.",
"pattern": "^cmt_",
"type": "string"
},
"handoverId": {
"description": "Handover containing the comment.",
"pattern": "^hov_",
"type": "string"
},
"mentionPrincipalIds": {
"description": "Replacement collaborator mentions.",
"items": {
"pattern": "^prn_",
"type": "string"
},
"maxItems": 20,
"type": "array"
},
"resolvedRevisionId": {
"anyOf": [
{
"pattern": "^rev_",
"type": "string"
},
{
"type": "null"
}
],
"description": "Revision that addressed the feedback, or null when reopening."
},
"status": {
"description": "Open, resolve, or reopen the feedback thread.",
"enum": [
"open",
"resolved"
],
"type": "string"
},
"target": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"artifactId": {
"description": "Artifact containing the selected text or code.",
"pattern": "^art_",
"type": "string"
},
"revisionId": {
"description": "Immutable revision containing the annotated artifact.",
"pattern": "^rev_",
"type": "string"
},
"selector": {
"additionalProperties": false,
"description": "Exact quote plus optional position and surrounding context.",
"properties": {
"endLine": {
"description": "Zero-based line where the selection ends.",
"minimum": 0,
"type": "integer"
},
"endOffset": {
"description": "Zero-based character offset immediately after the selection.",
"minimum": 0,
"type": "integer"
},
"exact": {
"description": "The exact selected text.",
"maxLength": 4000,
"minLength": 1,
"type": "string"
},
"prefix": {
"description": "Text immediately before the selection.",
"maxLength": 500,
"type": "string"
},
"startLine": {
"description": "Zero-based line where the selection starts.",
"minimum": 0,
"type": "integer"
},
"startOffset": {
"description": "Zero-based character offset where the selection starts.",
"minimum": 0,
"type": "integer"
},
"suffix": {
"description": "Text immediately after the selection.",
"maxLength": 500,
"type": "string"
}
},
"required": [
"exact"
],
"type": "object"
},
"targetKind": {
"description": "Rendering context used to relocate and display the annotation.",
"enum": [
"text",
"code",
"html"
],
"type": "string"
}
},
"required": [
"revisionId",
"artifactId",
"targetKind",
"selector"
],
"type": "object"
},
{
"type": "null"
}
],
"description": "Replacement annotation target, or null to remove the anchor."
}
},
"required": [
"handoverId",
"commentId"
],
"type": "object"
},
"name": "handover.update_comment"
},
{
"description": "Return the authenticated person or service agent, organization, workspace, role, and granted scopes. Call this before reading or publishing to confirm attribution and tenancy.",
"inputSchema": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"name": "handover.whoami"
}
]
}What the leaf hashes
{"body":"e2b3c905283afe7298faad31aa267e3e7d5778192e0e76995394b113a659654d","id":307904,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793057954452862,"prev":null,"subject":"aa559aa4-adf8-46a5-8951-678b4c040680","subject_kind":"endpoint"}Proof
Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (296695 rows).
- 0x9bc62b1fd4a153b9ebf2255a59117b48fe4286b886e0616c339d1d8ebfc68cd5
- 0x297ca7176eb8c914692e373efa5bb5c00d7b53ae69f031db61cbd53f356b80b6
- 0xd9985db1eb0cbb0fb63559a4eedc4bbe4d9ccaeae48f6dd6c698e680b03b742b
- 0x2de189b27385700d7530dd088eaab932d448be3f267096bb8d0cbe9f0f27d858
- 0x2480fb7fe63d2bf9c9f572f21bf2376a807a82bb63460d0d6deff0f4eb4b29eb
- 0x69310a076cbe9545f7ddd2a7e987ab9149435ff2cfab5d96e08bee5934d459f3
- 0x0d8b75912e18eff857d21746ae0b830df76c83a4cb1f03c2b871fd7c9869fa2e
- 0x015b42a4307e76ee91afb191b9fccf47d338d84f020224d30243e65e8e9baef6
- 0x12668d82c235cb565cf6da8849b18272622c6d52b1d9cb8f823dec4442b902be
- 0x7fc9c551c0bf3724729ea13bb68249f1874a045c6cfd4d9564abfe126a968bcf
- 0xb79ffe067e46a7abdcd59167d8556c652ce9f0f297fbf7808095f49485591c09
- 0xd253212b3d5f7245423cc951067880bc2069b90eeee521363fcee13ebbd606ae
- 0x99a4e0f8b23989f58b564c1b6e419578b4388f6e0dbf6e50177c1bd476302d0e
- 0x6713795704ddd9c528d421fadd9cc96b0200a4ddbba84f88e718d4968dde888b
- 0x62a900133713919f4eed33d8336876b7a6d538233b8a4f3ed03b29aa44f5bad0
- 0x1ac20d30773e1f4f2f811540e9a99b5cca9177c9e2e029acc0d80cf3f1d11f0f
- 0xd21942ae3214eff88e08ab04884fd4b11958b51af9a0741b7668e2d07a2c56c9
- 0x9a9024edb5069d88a324facb310a5ce8e495214bbaa968f077bede437390194f
- 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
- Day root
- 0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
- Chained
- 0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
- Published
- On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae