{"id":307904,"recorded_at":"2026-10-26T23:39:14.452962Z","observed_at":"2026-10-26T23:39:14.452862Z","subject_kind":"endpoint","subject":"aa559aa4-adf8-46a5-8951-678b4c040680","kind":"mcp.tools","method":"probe.mcp/1","body":{"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"}]},"body_sha256":"e2b3c905283afe7298faad31aa267e3e7d5778192e0e76995394b113a659654d","prev_id":null,"leaf":"0x9bc6140a125e933f7d4c950d40348ce329d20ef81dd3dd0ee707ebd5ac6e3804","leaf_text":"{\"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\"}","day":{"day":"2026-10-26","leaves":296695,"root":"0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8","chained":"0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a","anchor_chain":"eip155:5042002","anchor_tx":"0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae","anchor_block":69251483},"proof":["0x9bc62b1fd4a153b9ebf2255a59117b48fe4286b886e0616c339d1d8ebfc68cd5","0x297ca7176eb8c914692e373efa5bb5c00d7b53ae69f031db61cbd53f356b80b6","0xd9985db1eb0cbb0fb63559a4eedc4bbe4d9ccaeae48f6dd6c698e680b03b742b","0x2de189b27385700d7530dd088eaab932d448be3f267096bb8d0cbe9f0f27d858","0x2480fb7fe63d2bf9c9f572f21bf2376a807a82bb63460d0d6deff0f4eb4b29eb","0x69310a076cbe9545f7ddd2a7e987ab9149435ff2cfab5d96e08bee5934d459f3","0x0d8b75912e18eff857d21746ae0b830df76c83a4cb1f03c2b871fd7c9869fa2e","0x015b42a4307e76ee91afb191b9fccf47d338d84f020224d30243e65e8e9baef6","0x12668d82c235cb565cf6da8849b18272622c6d52b1d9cb8f823dec4442b902be","0x7fc9c551c0bf3724729ea13bb68249f1874a045c6cfd4d9564abfe126a968bcf","0xb79ffe067e46a7abdcd59167d8556c652ce9f0f297fbf7808095f49485591c09","0xd253212b3d5f7245423cc951067880bc2069b90eeee521363fcee13ebbd606ae","0x99a4e0f8b23989f58b564c1b6e419578b4388f6e0dbf6e50177c1bd476302d0e","0x6713795704ddd9c528d421fadd9cc96b0200a4ddbba84f88e718d4968dde888b","0x62a900133713919f4eed33d8336876b7a6d538233b8a4f3ed03b29aa44f5bad0","0x1ac20d30773e1f4f2f811540e9a99b5cca9177c9e2e029acc0d80cf3f1d11f0f","0xd21942ae3214eff88e08ab04884fd4b11958b51af9a0741b7668e2d07a2c56c9","0x9a9024edb5069d88a324facb310a5ce8e495214bbaa968f077bede437390194f","0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a"]}