Skip to main content
Glama

Server Details

Shared second brain for any AI with agent permissions

Ownership verified
Status
Healthy
Uptime
94.1% over 46 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A3.9/5.0

Scored across 16 tools

Disambiguation3/5

Top-level domains are broadly distinct (access, docs, messaging, knowledge, registry, sources), but several tools are catch-all buckets with many actions and overlapping read views—brief_me vs access_read self/agents/waits, browse vs read/search, and pin/truth/project actions under coordination_write. The detailed descriptions resolve most ambiguity, but the action-level density makes misselection plausible.

Naming Consistency4/5

Most names follow a domain + operation pattern (access_grant, doc_create, message_write, sources_write), with snake_case throughout. A few bare verbs (browse, read, search, brief_me) break the pattern, but they are conventional and readable.

Tool Count4/5

16 top-level tools is slightly above the typical 3–15 range but still plausible for a broad filesystem/collaboration server. The concern is less the count than the very large action sets inside many tools, which is a disambiguation issue.

Completeness5/5

The surface covers document lifecycle, access lifecycle, search, messaging, knowledge, registry, sources, identity, and coordination, with most CRUD and restoration paths present. No obvious dead ends appear in the stated domain; account deletion is intentionally left to the console.

Available Tools

16 tools
access_grantGrant or ask for accessA
Destructive
Inspect

Give access, ask for it, or decide on it. A grant changes who can read the content and cannot be unread, so every action here is treated as consequential. A request goes to the lowest common ancestor of you and the data's owner and climbs until it reaches someone who can grant it. Actions — share: grant members of this organization, by email or by member id from browse action=people, viewer or editor (or manager) on a folder or document; two calls, the first previews who would be granted and returns a confirm_token, and an address or id that is no member is refused. The second is all or nothing: if it fails partway, nobody was granted. request: ask for a role on something (location or node, role, reason); wait=true with a deadline registers a wait for the decision. approve: approve a request routed to you (request_id, note). decline: decline a request routed to you (request_id, note). declassify: release what your session has read so your next write is not labeled with it (sources), or one label on a document (location or node, source). hold: place a legal hold so nothing under it can be erased or purged (location or node, or identity; reason). share_out: offer a folder or document to a person in another organization by email (location or node, to, role); an agent below a person's own client proposes instead, and that person decides in the console. An address with no account is invited. The answer says whether they were emailed and carries recipient_link. accept_share: accept an offer made to you, a person (share_id), into the organization this connection is in; the answer names it. organization, if given, must be that one: a person in several picks another in the console. It lands under its own name at the top level, or inside location: a folder only you can see (refused, with the reasons, anywhere else). Only you and your agents read it. decline_share: decline an offer made to you (share_id). decide_share: a person decides a proposal (share_id, approve); refused to every AI client. set_settings: set whether editors may share a folder or document (location or node, editors_can_share: true, false, or null to inherit); owner or manager only.

NameRequiredDescriptionDefault
toNoshare_out: the recipient's email
nodeNorequest, declassify, hold, share_out, set_settings: the document or folder, by id instead of location. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too.
noteNoapprove, decline: a note to the requester
roleNoshare: viewer opens it; editor also edits; manager can also approve access requests for it, share it and grant within it. Sharing needs manager on this folder or one above it, or editor there to share as viewer or editor, unless its owner turned editor sharing off (access_grant action=set_settings). reader, writer and approver are deprecated aliases for viewer, editor and manager · request, share_out: default viewer. editor can also edit; manager (request only) can also share it, grant within it and decide requests for it. An approved request gives the role to everyone you work under who lacks it, too. Asking for a role you already hold, or one below it (manager implies editor, editor implies viewer), is refused. reader, writer and approver are deprecated aliases for viewer, editor and manager
seatNothe seat token identity_write action=take_seat gave you; pass it on every call while you drive that agent
waitNorequest: also register a wait for the decision
actionYeswhat to do; each action takes the arguments its line names
emailsNoshare: email addresses to share with; give emails, members or both (at most 20 recipients per call)
reasonNorequest, hold, share_out: why you are doing this, in one line (at most 200 characters); recorded with the event and exported with the log
sourceNodeclassify: the label's source, a path or node id. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too.
approveNodecide_share: true to offer it, false to decline
membersNoshare: member ids from browse action=people, for a person whose address you do not have; the preview names who each one is
sourcesNodeclassify: which read sources to release (paths or node ids); default all. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too.
deadlineNorequest: with wait: when to stop waiting (ISO)
identityNohold: an identity id, to hold its drafts
locationNoshare: full path from the workspace root, e.g. "handbook/vendor/acme.md" (as printed by browse action=documents or search). A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · request, declassify, hold, share_out, accept_share, set_settings: the document or folder, by path; accept_share: the folder to put it in, only you can see (default the top level)
share_idNoaccept_share, decline_share, decide_share: the share's id, from access_read action=offers, shared or proposals
acting_asNoan agent identity below you (its id, from identity_write action=spawn) to make this one call as, with that agent's narrower access; for a helper whose session signs in as its person
request_idNoapprove, decline: the request's id, from access_read action=requests or my_requests
scope_typeNoshare: folder (the default) shares everything beneath the path; document shares that one file. A pasted link's kind is used when omitted.
continuationNorequest: with wait: a note to your future self for when it resolves
organizationNoaccept_share: the organization to put an accepted share in, by id or name: only the one this connection is in; omit for that one
confirm_tokenNoshare: from the first call. Calling without it PREVIEWS: nothing is shared.
idempotency_keyNoAny unique string you choose for this write, e.g. a UUID. If you retry the call with the same key and the same arguments, the first answer is returned and nothing is done twice. Reusing a key for a different request is refused. Keys are kept 24 hours.
editors_can_shareNoset_settings: true lets editors share here, false stops them, null clears this node's own setting so it inherits

Output Schema

NameRequiredDescription
holdNo
textNothe answer as prose, for an action that answers in prose
waitNo
acrossNo
actionYesthe action that answered
canSeeNo
labelsNo
emailedNoshare_out when offered or invited: whether the recipient is emailed; when false, send them recipient_link
refusedNo
requestNo
requestsNo
settingsNo
invitationNo
declassifiedNo
organizationNoaccept_share: the organization it went into
recipient_linkNoshare_out: when offered, the recipient's inbox for this offer; when invited, the invitation's preview, names only. Absolute; absent when the console's public URL is not configured. It grants no access
not_emailed_reasonNoshare_out when invited: why the recipient is not emailed, when emailed is false

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds substantial context beyond the destructive/openWorld annotations: grants are irreversible in effect ("cannot be unread"), share is two-call with a preview that changes nothing, the confirming call is all-or-nothing, request routing climbs the lowest common ancestor until it finds an approver, and declassify explains what it releases. It also discloses privilege requirements (manager or editor above the node) and which actions are denied to AI clients.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Everything earns its place in content, but structurally it is a single long paragraph of semicolon-separated action clauses with no line breaks or headers, which makes scanning for one action costly. The irreversibility warning is front-loaded well, but the action catalog is not.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 25-parameter, 11-action tool this is close to complete: prerequisites, refusal conditions, two-step confirm flow, routing behavior, and even return-shape notes (recipient_link, the named organization) are stated. An output schema exists so return documentation is not required, yet the extra notes do not bloat it meaningfully.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds cross-parameter behavior the schema cannot express: confirm_token meaning that the call without it is a preview, wait paired with deadline, approve/decline consuming request_id from access_read, and role semantics (manager implies editor). Much of the per-action argument listing does duplicate schema text, so it does not reach 5.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a plain statement of the three families of work (give access, ask for it, decide on it) and then enumerates every action verb with its specific resource and effect, so an agent can map intent to action without opening the schema. It is clearly distinguishable from access_read and access_revoke, which are the read-only and removal counterparts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete when-to-use routing: preview-then-confirm for share, request only for roles you do not already hold, share_out when the recipient is in another organization and propose-instead when below a person's client, accept_share only into this connection's organization. It also names explicit refusals (decide_share refused to every AI client, addresses that are no member refused, non-private locations refused for accept_share). It never names the sibling access_revoke as the alternative for removing access, which keeps it from a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

access_readRead accessA
Read-onlyIdempotent
Inspect

Who can read what, what is waiting on access decisions, and who you are in the organization's tree of people and agents. Answers only about what you can read yourself; anything else answers not-found. Actions — who_can_read: the people and groups who reach a folder or document, direct and inherited, and the agents of a person listed there (location, scope_type). can_see: whether another identity can read something you can read (location or node, who). labels: where a document's content came from (location or node). requests: access requests routed to you to decide. my_requests: the access requests you filed (request_id for one). offers: shares another organization offered you, a person. proposals: shares your agents proposed that wait on your person's decision in the console. shared: what this organization shared out to, and in from, other organizations. settings: whether editors may share a folder or document, and where that setting comes from (location or node). self: who you are, and your capability card. loads: what an identity (target, default you; yours or one below you) loads when it connects: the folders whose memory and skills it is handed, those it can no longer read, and the organization's default for new agents; only folders you can read are named. agents: your ancestors, siblings and children in the tree, with status and last-seen time. card: an identity's capability card and its history (target; default you).

NameRequiredDescriptionDefault
whoNocan_see: an identity id or exact name
nodeNocan_see, labels, settings: the document or folder, by id instead of location. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too.
seatNothe seat token identity_write action=take_seat gave you; pass it on every call while you drive that agent
actionYeswhat to do; each action takes the arguments its line names
targetNoloads, card: an identity id; defaults to you
locationNowho_can_read: full path from the workspace root, e.g. "handbook/vendor/acme.md" (as printed by browse action=documents or search). A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · can_see, labels, settings: the document or folder, by path; accept_share: the folder to put it in, only you can see (default the top level)
acting_asNoan agent identity below you (its id, from identity_write action=spawn) to make this one call as, with that agent's narrower access; for a helper whose session signs in as its person
request_idNomy_requests: the request's id, from access_read action=requests or my_requests
scope_typeNowho_can_read: whether location names a folder or one document; default folder, or the kind a pasted link names

Output Schema

NameRequiredDescription
cardNo
holdNo
homeNoyour home folder: your journal and standing instructions, read only by you and those above you
seatNo
textNothe answer as prose, for an action that answers in prose
waitNo
cardsNo
endedNo
loadsNo
acrossNo
actionYesthe action that answered
canSeeNo
labelsNo
emailedNoshare_out when offered or invited: whether the recipient is emailed; when false, send them recipient_link
journalNowith take_seat: the end of your journal, newest last; read it before you carry on
refusedNo
requestNo
identityNo
positionNo
requestsNo
settingsNo
sessionIdNo
invitationNo
orgContextNo
credentialsNo
declassifiedNo
journalEntryNo
organizationNoaccept_share: the organization it went into
retiringUntilNo
webhookSecretNowith a webhook: deliveries are signed in the Standard Webhooks format (webhook-id, webhook-timestamp, webhook-signature); verify them with any Standard Webhooks library and this secret
recipient_linkNoshare_out: when offered, the recipient's inbox for this offer; when invited, the invitation's preview, names only. Absolute; absent when the console's public URL is not configured. It grants no access
not_emailed_reasonNoshare_out when invited: why the recipient is not emailed, when emailed is false

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already establish readOnly, idempotent, non-destructive, closed-world behavior, and the description adds useful scope behavior: answers are limited to what the caller can read, and anything else returns not-found. It also describes what each action returns at a high level, though it does not discuss permissions, rate limits, or edge cases beyond the not-found rule.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core scope and then lists all 13 actions, so most content earns its place for such a multi-action tool. However, it is delivered as one dense, semicolon-heavy block that is hard to scan and would benefit from clearer structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema and full schema description coverage, the description does not need to explain return formats. It covers all 13 actions and the key access-scope constraint, leaving only minor details such as seat and acting_as to the schema, so it is complete enough for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3, but the description adds substantial cross-action meaning by mapping each action to the arguments it uses—location, node, who, target, request_id, scope_type, and so on. It does not explain the seat or acting_as parameters in the description, relying on the schema for those.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific scope—'Who can read what, what is waiting on access decisions, and who you are'—and then enumerates distinct read actions. It clearly distinguishes this read-only access tool from the sibling access_grant and access_revoke tools by framing all actions around observation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear action-level usage: each action line explains what it answers, and it states the key limitation that anything beyond your own readable scope answers not-found. It does not explicitly route the agent to access_grant or access_revoke for modifying access, so it stops short of full alternative-tool guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

access_revokeTake access awayA
Destructive
Inspect

Take back access or a protection. Each takes effect on the next call of everyone it reaches. Actions — withdraw: withdraw an access request you filed (request_id). withdraw_share: take back a share made to another organization; it is gone from theirs (share_id). release_hold: release a legal hold, so what it covered can be erased again (hold_id). retire: end yourself or an identity below you and everything under it; what they owned passes to the nearest living ancestor and their drafts are purged. One below you first gets distill_window_s (default 3600) to publish.

NameRequiredDescriptionDefault
seatNothe seat token identity_write action=take_seat gave you; pass it on every call while you drive that agent
actionYeswhat to do; each action takes the arguments its line names
reasonNoretire: why you are doing this, in one line (at most 200 characters); recorded with the event and exported with the log
targetNoretire: an identity id; defaults to you
hold_idNorelease_hold: the hold's id, as access_grant action=hold returned it
share_idNowithdraw_share: the share's id, from access_read action=offers, shared or proposals
acting_asNoan agent identity below you (its id, from identity_write action=spawn) to make this one call as, with that agent's narrower access; for a helper whose session signs in as its person
request_idNowithdraw: the request's id, from access_read action=requests or my_requests
idempotency_keyNoAny unique string you choose for this write, e.g. a UUID. If you retry the call with the same key and the same arguments, the first answer is returned and nothing is done twice. Reusing a key for a different request is refused. Keys are kept 24 hours.
distill_window_sNoretire: how long the identity has to publish before it ends; 0 ends it now

Output Schema

NameRequiredDescription
cardNo
holdNo
homeNoyour home folder: your journal and standing instructions, read only by you and those above you
seatNo
waitNo
cardsNo
endedNo
loadsNo
acrossNo
actionYesthe action that answered
canSeeNo
labelsNo
emailedNoshare_out when offered or invited: whether the recipient is emailed; when false, send them recipient_link
journalNowith take_seat: the end of your journal, newest last; read it before you carry on
refusedNo
requestNo
identityNo
positionNo
requestsNo
settingsNo
sessionIdNo
invitationNo
orgContextNo
credentialsNo
declassifiedNo
journalEntryNo
organizationNoaccept_share: the organization it went into
retiringUntilNo
webhookSecretNowith a webhook: deliveries are signed in the Standard Webhooks format (webhook-id, webhook-timestamp, webhook-signature); verify them with any Standard Webhooks library and this secret
recipient_linkNoshare_out: when offered, the recipient's inbox for this offer; when invited, the invitation's preview, names only. Absolute; absent when the console's public URL is not configured. It grants no access
not_emailed_reasonNoshare_out when invited: why the recipient is not emailed, when emailed is false

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the destructive annotation, the description discloses important consequences: effects propagate on the next call, withdrawn shares disappear from the other organization, released holds permit erasure again, and retire cascades to owned content and purges drafts. It also explains the downstream distill window, which is critical behavioral context for a destructive operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose is front-loaded, and the action list is dense but efficient, with every clause conveying a distinct behavior or action requirement. There is no filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that the input schema is fully described and an output schema exists, the description supplies the remaining critical context: action meanings, destructive effects, cascading consequences, and timing defaults. Nothing essential for selecting and safely invoking an action is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is already 100%, but the description adds useful action-to-parameter mapping by naming request_id, share_id, and hold_id for their respective actions, and it states the default distill_window_s of 3600. It does not mention other parameters such as seat, acting_as, reason, or idempotency_key, but those are documented in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource ('Take back access or a protection') and then enumerates the four supported revoke actions. This makes the tool clearly distinguishable from access_grant and access_read without needing to inspect the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Each action is tied to a concrete situation: withdrawing a filed request, retracting a share to another organization, releasing a legal hold, or retiring an identity. It does not explicitly name when not to use the tool or compare it against sibling alternatives, so it is clear but not fully exhaustive.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brief_meBrief meA
Read-onlyIdempotent
Inspect

Returns who you are and where you sit in your organization's tree of people and agents, your open claims, what is waiting on you (directed asks first), pending team decision ballots whose documents you can reach, what changed near your work since your cursor, and what is contested there. It is keyed to your identity, not this session, so a fresh session sees what the last one left. Reading it moves nothing: coordination_write action=ack_brief advances the cursor.

NameRequiredDescriptionDefault
onlyNoprojects: the text says only the questions, requests and handoffs sent to you and what moved in your projects since your cursor, and nothing when nothing did (for a prompt hook)
repoNothe repository you are working in (its git remote, any spelling): adds the projects whose AGENTS.md lists it
seatNothe seat token identity_write action=take_seat gave you; pass it on every call while you drive that agent
acting_asNoan agent identity below you (its id, from identity_write action=spawn) to make this one call as, with that agent's narrower access; for a helper whose session signs in as its person
asked_offsetNoasked: skip this many (nextOffset from the last brief) to see the rest
waiting_offsetNowaiting: skip this many (nextOffset from the last brief) to see the rest
answered_offsetNoanswered: skip this many (nextOffset from the last brief) to see the rest

Output Schema

NameRequiredDescription
meYes
askedYes
loopsYes
usageYes
claimsYes
cursorYes
loadedYesthe folders your person set you to load at connect that you can still read: their memory whole and their skills by name
memoryYesthe memory files (CLAUDE.md, AGENTS.md) that apply in the folders near your work, only ones you can read, at most ten
offersYes
openedYesthe truths you asserted and the comment threads you started, on any document you can still read, most recently moved first: how each stands and whether anyone responded
skillsYesthe skills (.claude/skills or .agents/skills) that apply in the folders near your work, only ones you can read, at most ten
changedYes
sessionYes
waitingYes
answeredYes
projectsYesthe projects you or anyone above you follows, and those whose AGENTS.md repos: name the repository you named: their open threads and which moved since your cursor
approvalsYes
contestedYes
commitmentsYes
invitationsYes
membershipsYesorganizations that invited your human to join; only they accept or decline, in the console at decideAt
pendingWaitsYes
resolvedWaitsYes
pendingDecisionsYesproposed decision truths (pending team ballots) whose documents you can read, including ones filed without a directed ask

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/non-destructive, and the description adds context they cannot carry: reading is side-effect-free and does NOT advance the cursor, the cursor only moves via coordination_write ack_brief, and state persists across sessions by identity. That is precisely the subtle behavior an agent could get wrong.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the return payload, then the identity-keying behavior, then the cursor caveat — a sensible order. The first sentence is long and enumerative, but each clause names a distinct section of the brief rather than padding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present and 100% schema coverage, the description need not explain return shapes; it covers the concepts that structure alone cannot (identity persistence, non-advancing reads, cursor ownership). Minor gap: it never mentions the scoping/narrowing parameters an agent may want on a first call.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the per-parameter descriptions (only, repo, seat, acting_as, the three offsets) are already detailed, so the baseline of 3 applies. The description adds nothing about the parameters themselves — no mention of scoping by repo, acting-as delegation, or pagination.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and a concrete composite resource: org-tree position, open claims, directed asks, pending ballots, cursor-scoped changes, and contested items. That payload makes it unmistakably different from read/search/browse and from the *_write siblings, without needing to open any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states the operating context clearly — identity-keyed rather than session-keyed, so a fresh session picks up where the last left off — and routes cursor advancement to coordination_write action=ack_brief. The only=projects clause hints at the prompt-hook use case. It stops short of explicit when/when-not framing against read or search.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

browseList itemsA
Read-onlyIdempotent
Inspect

List what you can see, filtered to your grants: nothing you cannot read is listed or counted. A listing of one folder ends with the memory and skills that apply there: each CLAUDE.md/AGENTS.md and .claude/skills/<name>/SKILL.md or .agents/skills/<name>/SKILL.md in that folder or a folder above it that you can read, by location (a skill also by name and description). Actions — folders: the folders you can reach, as a tree (parent lists inside one folder; location adds that folder's shape: how many files you can read, by type and label). versions: a document's versions, newest first, each with its commit, author, message and time (location or node); as the console's version history lists them. documents: the documents in a folder (location; type and label filter, label matching inherited labels too). sources: the CONNECTIONS to GitHub and Google Drive, NOT documents in a folder (action=documents lists those): where each writes and whether its one-way sync ran. people: the people and groups in this organization (group for one group's members); names only, never content. inbox: messages waiting on you, newest first, a page at a time (kinds narrows it, e.g. to question and request; pass nextOffset as offset for the rest). claims: your open claims; with location or node, every open claim on that readable target (overlap peek — suggestion only, never a block or auto-merge). waits: your pending waits. subscriptions: what you follow. rooms: your rooms. decisions: the same viewer-scoped decision history as the web app, including verified choice and work state (view, query; pass nextOffset as offset). truths: the truths about a document or folder (location or node). spans: a document's blocks with their stable span ids, marking any stale because a truth they cite was superseded (location or node; a large one pages at the read cap: pass nextOffset as offset). links: the links around a node, span, truth, message or knowledge item (from as :, or id for a truth; depth). drafts: your private knowledge drafts. lessons: published knowledge matching query as one phrase (pass a key term rather than a question), ranked by how many independent chains found it useful (scope narrows it). comments: the comment threads on a document or folder (location); read alongside the source for reviews, questions and responding to feedback. connectors: the source connectors that exist, and the votes for ones that do not. pins: the documents pinned to your person's Home, in the order Home shows them (a person or their own connected client). github_issues: GitHub issues bound to a folder or document (location or node), or the node bound to one issue (issue: URL or owner/repo#N); beyond file mirrors. projects: the projects you can read: each a folder marked as one, with who routes its work and the repositories its AGENTS.md lists. packages: public registry packages matching query. context: every memory file (CLAUDE.md, AGENTS.md) and skill (.claude/skills//SKILL.md, .agents/skills//SKILL.md) that applies at a location: its folder's and every folder's above it, by location and, for a skill, name and description; read one with read action=document. reports: what people and agents reported after using a public context file, and the tally (repo, path).

NameRequiredDescriptionDefault
idNolinks: the truth's id
fromNolinks: one end, as <type>:<id> — node, span, truth, message or knowledge; a node's id may be its console link, a knowledge item's its search citation
nodeNoversions: the document's id, as returned beside its location — survives a rename or a move, so a citation written into a stored document keeps pointing at the right thing. Give this OR location, never both. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · claims: the document's node id instead of a path. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · truths, spans: a node id, instead of location. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · github_issues: folder or document node id, instead of location. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too.
pathNoreports: the file's path in it, e.g. skills/grill-me/SKILL.md
repoNoreports: owner/name of the public repository
seatNothe seat token identity_write action=take_seat gave you; pass it on every call while you drive that agent
typeNodocuments: only documents of this type (meeting-notes, playbook, spec, brand-asset, web-clip, contract, misc); set it with frontmatter on write
viewNodecisions: decisions: lifecycle filter, applied before pagination
depthNolinks: follow links this many steps out (default 1)
groupNopeople: a group id or its exact name, to list just that group's members
issueNogithub_issues: GitHub issue URL or owner/repo#N (required for bind_issue, of_issue; optional for unbind_issue / github_issues)
kindsNoinbox: inbox: only these kinds, e.g. question and request, the ones waiting on your reply
labelNodocuments: label to filter by — matches a document's own labels AND any inherited from a folder or directory above it. Organization only; labels never affect what you are allowed to read
limitNodocuments: max results this page (clamped to the server cap MAX_PAGE_SIZE) · decisions: decisions: records per page, at most 25
queryNodecisions: decisions: search the authorized decision history · lessons: a key term, matched as one phrase inside a title, body or field · packages: words to match in a package's title, summary or body
scopeNolessons: the folder or document it applies to (path or node id). A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too.
actionYeswhat to do; each action takes the arguments its line names
offsetNodocuments: results to skip — pass the previous page's nextOffset to page · inbox: inbox: skip this many (nextOffset from the last page) to see the rest · decisions, spans: spans: the span index to start at, from a previous answer's nextOffset
parentNofolders: list inside this folder, e.g. "handbook" or "handbook/vendor". Omit for the top level. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too.
locationNofolders: full path to scope to, e.g. "handbook" or "handbook/vendor". Omit to cover everything you can reach. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · versions: full path from the workspace root, e.g. "handbook/vendor/acme.md". Give this OR node. A path is what a person reads; a node is what survives somebody reorganizing. · documents: the folder to list, full path from the workspace root, e.g. "handbook" or "handbook/vendor". A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · claims: the document, whole path from the workspace root. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · truths, spans: a document or folder path. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · comments: the document or folder path. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · github_issues: folder or document path to bind. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · context: a folder or document; its folder and every folder above it are asked. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too.
acting_asNoan agent identity below you (its id, from identity_write action=spawn) to make this one call as, with that agent's narrower access; for a helper whose session signs in as its person
include_historyNodecisions: decisions: include superseded records

Output Schema

NameRequiredDescription
bindNo
itemNo
linkNo
loopNo
moreNo
nodeNo
pinsNo
roomNo
textNothe answer as prose, for an action that answers in prose
voteNo
waitNo
addedNo
bindsNo
claimNo
itemsNo
linksNo
mountNo
movedNo
notesNo
roomsNo
sinceNo
spansNo
tallyNo
truthNo
waitsNo
actionYesthe action that answered
claimsNo
debateNo
failedNo
heldByNo
memoryNo
pinnedNo
pulledNo
reportNo
schemaNo
skillsNo
statusNo
threadNoresolve_comment: the thread resolved
truthsNo
wantedNo
commentNo
historyNo
messageNo
packageNo
pendingNo
projectNo
reportsNo
unboundNo
commentsNo
decisionNo
locationNo
messagesNo
packagesNo
positionNo
projectsNo
proposalNo
replayedNo
standingNo
versionsNothe document's versions, newest first
availableNo
decisionsNo
escalatedNo
truncatedNoinbox: more are waiting past this page
withdrawnNo
nextOffsetNospans: the offset of the next page, or null when this one ends the document
organizationNo
subscriptionNo
retiringUntilNo
subscriptionsNo
already_resolvedNoresolve_comment: it was resolved before this call

TDQS

A3.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds substantial behavioral context beyond annotations: grants filtering means unreadable items are neither listed nor counted, people listings expose names only and never content, claims are an overlap peek and never a block or auto-merge, spans mark stale content when cited truths are superseded, and pagination uses nextOffset. The annotations declare read-only/idempotent/non-destructive safety, and the description complements them without contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single massive paragraph enumerating 24 actions, with repetitive phrases and little structural separation. While the opening sentence is front-loaded, the body is dense and hard to scan, and it duplicates console-link details already present in the schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 22 parameters, 24 actions, an existing output schema, and read-only annotations, the description is complete enough to call the tool. It covers each action's scope, important permission behavior, and pagination expectations; return values are handled by the output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 22 parameters in detail, including action-specific meanings. The description maps arguments to actions, e.g. parent/location for folders and nextOffset as offset for paging, but much of this is duplicative of the schema descriptions rather than adding new meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence states a clear read-only purpose: "List what you can see, filtered to your grants: nothing you cannot read is listed or counted." The action catalog then specifies each resource type, and it explicitly distinguishes some siblings, e.g. sources are connections not documents and read action=document is for reading context. However, it does not clearly differentiate the overall browse/list tool from sibling search/read tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Each action line gives implied usage by describing what the action returns and which arguments it takes, e.g. inbox with kinds and nextOffset for paging. But there is no explicit when-to-use guidance versus siblings like search or read, and no when-not-to-use guidance beyond isolated notes such as sources vs documents.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

coordination_writeCoordinate workA
Destructive
Inspect

Record what you are doing so other agents can see it: claims on documents, durable waits, subscriptions, the cursors of what you have read, and truths (shared facts, decisions and assumptions anchored to a document, which can be contested and superseded), and projects (a folder marked as one, so the agents of everyone who reads it are briefed on it; its brief is the folder's AGENTS.md and its discussion the folder's comments). Releasing, cancelling, superseding and ending a project end what was there. Actions — claim: claim a document or one section of it (location or node, span: the heading text, intent, lease_s); an overlapping claim comes back instead and nothing is recorded, unless alongside=true. Writes into a section someone else claimed are refused. renew: extend your claim (claim_id, lease_s). release: release your claim (claim_id). wait_for: register a durable wait for a reply to a message (on_message) or the next change on a subscription (on_subscription), with a deadline and a continuation note; you are woken through your card's channel or your next brief_me. cancel_wait: cancel a pending wait (wait_id). subscribe: follow a document or folder (location or node, span), an identity, a span_id, a truth or a room. unsubscribe: stop following (subscription_id). ack_changes: acknowledge your subscriptions' changes through a position (through). ack_brief: advance brief_me's cursor (through: cursor.head from a brief), so its changed starts after it. propose: propose a truth about a document (location or node, span, kind, statement, evidence). accept: accept a truth, as its owner (id). verify: record how a truth was checked (id, method, rerunnable, result). contest: contest a truth (id, statement: what you hold instead, argument, evidence; evidence is required). argue: answer a contest (id, argument, evidence); after 3 rounds the document's owner decides. decide: decide a contested truth, as the document's owner (id, decision: upheld or overturned). supersede: replace a truth with a new statement, as its owner; spans citing the old one become stale (id, statement). pin: pin a document you can read to your person's Home, where they see it rendered (location or node); only a person's own connected client has a Home to pin to, and a pin gives nobody access. unpin: take a document off your person's Home (location or node). order_pins: set the order of your person's Home pins (order: node ids from browse action=pins). link: link two things (from, to: : with type node, span, truth, message or knowledge; type). start_project: mark a folder as a project and follow it (location or node, routing: members or owner); only someone who may share the folder, and never inside another project. end_project: stop a folder being a project; its documents and discussion stay (location or node). route_project: say who routes a project's work (location or node, routing: members or owner).

NameRequiredDescriptionDefault
idNoaccept, verify, contest, argue, decide, supersede: the truth's id
toNolink: the other end, as <type>:<id>
fromNolink: one end, as <type>:<id> — node, span, truth, message or knowledge; a node's id may be its console link, a knowledge item's its search citation
kindNopropose: fact, decision or assumption
nodeNoclaim: the document's node id instead of a path. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · subscribe: the document or folder, by id instead of location. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · propose: a node id, instead of location. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · pin, unpin: the document's node id, instead of location. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · start_project, end_project, route_project: the folder's node id, instead of location. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too.
seatNothe seat token identity_write action=take_seat gave you; pass it on every call while you drive that agent
spanNoclaim: the section, as its heading text; omit for the whole document · subscribe: with location or node: one section, as its heading text · propose: a span id, from browse action=spans
typeNolink: what the link says: cites, depends_on, derived_from, supersedes or relates_to
orderNoorder_pins: node ids in the order Home shows them; pins left out keep their place after these. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too.
truthNosubscribe: a truth id to follow
actionYeswhat to do; each action takes the arguments its line names
intentNoclaim: what you are going to do there
methodNoverify: how it was checked
reasonNoclaim, renew, release, propose, accept, verify, contest, argue, decide, supersede, link: why you are doing this, in one line (at most 200 characters); recorded with the event and exported with the log
resultNoverify: what the check found
lease_sNoclaim, renew: lease in seconds (max 86400). claim: default 1800. renew: default the claim's own lease again, never shorter than it has left
room_idNosubscribe: a room to follow
routingNostart_project, route_project: members (the default): each member's agent takes the work its person picks; owner: the owner's side assigns it
span_idNosubscribe: a stable span id to follow, from browse action=spans
throughNoack_changes: the last seq you have read · ack_brief: a log position: cursor.head from a brief
wait_idNocancel_wait: the wait's id, from wait_for or browse action=waits
argumentNocontest, argue: why, with the evidence
claim_idNorenew, release: the claim's id, from claim or browse action=claims
deadlineNowait_for: ISO time; every wait has one (max 30 days)
decisionNodecide: upheld or overturned
evidenceNopropose, contest, argue, supersede: paths, commits, message ids, URLs; repeatable
identityNosubscribe: an identity id to follow
locationNoclaim: the document, whole path from the workspace root. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · subscribe: the document or folder to follow. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · propose: a document or folder path. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · pin, unpin: the document's location, e.g. team/dashboard.md. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · start_project, end_project, route_project: the folder. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too.
acting_asNoan agent identity below you (its id, from identity_write action=spawn) to make this one call as, with that agent's narrower access; for a helper whose session signs in as its person
alongsideNoclaim: record the claim even if it overlaps someone else's
statementNopropose, contest, supersede: the statement; for contest, what you hold instead
on_messageNowait_for: the message whose reply you are waiting for
rerunnableNoverify: whether someone else can re-run the check
continuationNowait_for: what to do when it resolves, for whoever picks it up
idempotency_keyNoAny unique string you choose for this write, e.g. a UUID. If you retry the call with the same key and the same arguments, the first answer is returned and nothing is done twice. Reusing a key for a different request is refused. Keys are kept 24 hours.
on_subscriptionNowait_for: the subscription whose next change you are waiting for
subscription_idNounsubscribe: the subscription's id, from subscribe or browse action=subscriptions

Output Schema

NameRequiredDescription
linkNo
nodeNo
pinsNo
waitNo
claimNo
itemsNo
linksNo
sinceNo
spansNo
truthNo
waitsNo
actionYesthe action that answered
claimsNo
debateNo
heldByNo
pinnedNo
schemaNo
statusNo
truthsNo
historyNo
pendingNo
projectNo
decisionNo
locationNo
positionNo
projectsNo
decisionsNo
escalatedNo
nextOffsetNospans: the offset of the next page, or null when this one ends the document
organizationNo
subscriptionNo
subscriptionsNo

TDQS

A3.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With annotations only declaring destructiveHint=true and idempotentHint=false, the description adds substantial behavioral context: overlapping claims return existing claim and record nothing unless alongside=true, writes into claimed sections are refused, leases default to 1800 seconds, waits have a maximum 30-day deadline, pins grant no access, and contested truths proceed through three argument rounds before owner decision. Some important behaviors, notably idempotency_key retry semantics and acting_as/seat behavior, are left entirely to the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a dense run-on paragraph covering 23 actions with semicolon-separated clauses and no bullet structure. While the first clause is front-loaded, the action enumeration is difficult to scan and duplicates much of what the schema already states. It earns some place for behavioral details, but its structure significantly impedes usability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity, a rich input schema, and an output schema, the description is largely complete: it covers every action, key side effects like stale spans after supersede, and project routing rules. It omits mention of idempotency_key and acting_as/seat semantics, but those are fully documented in the schema, so the description remains sufficient for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 37 parameters and maps each action to its arguments. The description largely repeats that action-to-parameter mapping, adding only marginal extra meaning such as contest requiring evidence and ack_brief using cursor.head from a brief. Baseline 3 is appropriate because the schema carries the parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening states a clear purpose — recording coordination state so other agents can see it — and enumerates the specific resources: claims, waits, subscriptions, truths, and projects. It is distinguishable from sibling tools like knowledge_write or message_write, though the breadth of 23 actions makes it less crisp than a single-purpose tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description specifies conditions and prerequisites for several actions, such as requiring alongside=true for overlapping claims, requiring evidence for contest, and restricting start_project to users who may share the folder. However, it never explicitly says when to choose coordination_write over sibling tools like browse, brief_me, or identity_write, nor does it give workflow-level guidance across actions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

doc_createCreate a document or folderBInspect

Create something that is not there yet. Commits at once if your grant allows it and is refused if it does not; nothing is overwritten. If the top-level folder does not exist and you may create folders, it is created and you become its manager. The answer says what it created, names any new directory (a typo in folder_path makes one), lists what each [[Name]] link resolved to, and carries the node id and a console link. Frontmatter (type, tags, aliases) between --- lines at the top of content drives search; access comes from grants on the folders, never from frontmatter. Actions — document: a document in a folder (folder_path, name, content); refused when one is already there. A name ending .svg stores content as an image a document beside it links as alt. folder: a folder (folder_path); if your own access includes manager there, you can also share it with access_grant action=share. upload: files of any type, without typing their bytes (folder_path, entries: one {path, sha256, size} per file, delete, file). Each path answers unchanged, upload (a one-time url: curl -T ''), stored or refused; what arrived lands as one commit, a .docx is stored as markdown, and the same entries again send only what changed. delete: true removes what folder_path holds that entries leaves out. An entry may carry source_url (https) or data (a data: URI) instead.

NameRequiredDescriptionDefault
fileNoupload: a file ChatGPT attached, as it hands it to the tool; stored under its file_name
nameNodocument: the document name, e.g. "Q3 summary.md". Cannot contain "/" — put folders in folder_path instead. END IT IN .md unless you mean otherwise: only .md and .mdx render in the console, and anything else opens as plain text with no way to switch. Nothing is appended for you.
seatNothe seat token identity_write action=take_seat gave you; pass it on every call while you drive that agent
actionYeswhat to do; each action takes the arguments its line names
deleteNoupload: true to delete what folder_path holds that entries leaves out (rsync --delete); undoable
contentNodocument: the whole document. Set metadata with YAML frontmatter at the top of `content`: `type` (one of: meeting-notes, playbook, spec, brand-asset, web-clip, contract, misc — anything else becomes misc), `title`, `summary`, and `tags` as a list. `tags` is the write-side spelling of what the listing tools call `label`. `status` takes `active` or `inactive` and is not a label: `inactive` retires a document — search and listings stop showing it, while whoever may write it still opens it by location or node, and removing the line brings it back. Omit it unless you mean to retire something. `aliases` (a list, or one name) are other names search how=titles finds the document by; a [[link]] still needs its file name or title. Any other key you write (`sources`, …) is kept as written and comes back on read; key order may change. A block that does not parse as YAML is refused, naming the line, and nothing is written: quote a value that contains ": " (summary: "a: b").
entriesNoupload: the files, one {path, sha256, size} each (at most 1000, 100 MB a file, 1 GB in all); a file unchanged since its last upload is not sent again
acting_asNoan agent identity below you (its id, from identity_write action=spawn) to make this one call as, with that agent's narrower access; for a helper whose session signs in as its person
folder_pathNodocument, upload: folder names, outermost first, e.g. ["handbook","policies"]; at least one, since documents go in a folder · folder: folder names, outermost first, e.g. ["product-docs"] or ["product-docs","specs"]
idempotency_keyNoAny unique string you choose for this write, e.g. a UUID. If you retry the call with the same key and the same arguments, the first answer is returned and nothing is done twice. Reusing a key for a different request is refused. Keys are kept 24 hours.

Output Schema

NameRequiredDescription
syncNoopen until every upload URL has its bytes, then committed as one; at expires_at what arrived is committed
textNothe answer as prose, for an action that answers in prose
filesNo
spansNothe blocks this write added or edited, in document order; absent when no commit was written
actionYesthe action that answered
commitNothe commit this call landed, when nothing was left to send
storedNowhat the document's head stores after this call, to check against what was sent (#1492)
deletedNo
locationNothe whole path from the workspace root this write resolved to; present on a successful write
destinationNo
remote_onlyNofiles folder_path holds that entries leaves out, relative to it
delete_refusedNo
remote_only_moreNo

TDQS

B3.3/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description is behaviorally rich, but it contradicts the annotations: destructiveHint=false is declared while the upload action documents delete=true as removing files under folder_path. That is a non-additive, destructive operation, so the annotation and description are inconsistent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded but very dense and rambling, relying on long semicolon- and dash-separated clauses rather than clear sections. Much of the content is useful for a complex 10-parameter tool, but its structure could be much tighter.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity, the description covers the key operational details: permissions, refusal behavior, frontmatter, upload semantics, delete behavior, and response contents. With an output schema present, the additional return-value explanation is helpful rather than required.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already carries the detailed parameter semantics. The description adds useful cross-parameter behavior such as .svg image handling and folder_path creating directories, but the baseline 3 is appropriate because the schema does most of the work.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the create verb and names the supported resources: document, folder, and upload. It does not explicitly name sibling tools such as doc_update, but it does clarify that existing items are not overwritten and that document creation is refused when something already exists.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives clear action-specific usage context: when document creation is refused, how folder creation behaves, and what upload/delete do. It does not explicitly point to doc_update as the alternative for existing documents, but the create-only scope is reasonably clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

doc_deleteDelete a document or folderA
Destructive
Inspect

Remove a document, a directory or a whole folder. Two calls: without confirm_token the call removes NOTHING and returns what would go plus a confirm_token bound to exactly that set; the second call, carrying the token, removes it. Needs manager on everything removed. Actions — delete: recoverable (doc_update action=restore): a file, everything under a directory, or a whole folder with its sync source when confirm_delete_folder repeats the folder's name; refused whole if any file is out of reach. Sharing is not withdrawn: reach grants survive a delete, so the restore brings the sharing back. erase: PERMANENT, what the console calls "Delete forever": the content, every past version, its comments, its name, and what agents attached to it (truths, message threads, claims, subscriptions, lessons scoped to it); what you are not manager of is left and reported; a nameless record of the erasure stays. No tool deletes an account: a person does that themselves in the console (Account, Delete account forever).

NameRequiredDescriptionDefault
nodeNoerase: the document's id, as returned beside its location — survives a rename or a move, so a citation written into a stored document keeps pointing at the right thing. Give this OR location, never both. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too.
seatNothe seat token identity_write action=take_seat gave you; pass it on every call while you drive that agent
actionYeswhat to do; each action takes the arguments its line names
locationNodelete: full path from the workspace root, e.g. "handbook/vendor/acme.md" (as printed by browse action=documents or search). A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · erase: full path from the workspace root, e.g. "handbook/vendor/acme.md". Give this OR node. A path is what a person reads; a node is what survives somebody reorganizing.
acting_asNoan agent identity below you (its id, from identity_write action=spawn) to make this one call as, with that agent's narrower access; for a helper whose session signs in as its person
confirm_tokenNodelete: OMIT on the first call, which returns what would be deleted plus this token. Pass it on the second call to delete exactly that set; it expires, and is refused if the folder has changed. · erase: OMIT on the first call, which returns what would be destroyed plus this token. Pass it on the second call to erase exactly that set; it expires, and is refused if the set has changed.
idempotency_keyNoAny unique string you choose for this write, e.g. a UUID. If you retry the call with the same key and the same arguments, the first answer is returned and nothing is done twice. Reusing a key for a different request is refused. Keys are kept 24 hours.
confirm_delete_folderNodelete: required ONLY when deleting a whole folder: the folder's name again, exactly

Output Schema

NameRequiredDescription
textNothe answer as prose, for an action that answers in prose
actionYesthe action that answered

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only say destructive/not idempotent; the description goes far beyond by explaining that the first call destroys nothing, that delete is recoverable while erase wipes versions, comments, names and agent-attached artifacts, that sharing survives, that partial permission failures are reported rather than aborted, and that manager rights are needed on everything removed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action, but the body is a single dense block of em-dash and semicolon chained clauses that is hard to parse at a glance. Almost every clause carries information, but the structure could be broken into shorter sentences or a delete/erase split for faster scanning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 8-parameter destructive tool with an output schema, it covers the confirmation lifecycle, permission prerequisites, recoverability, sharing persistence, partial-failure behavior, and the erase aftermath. An agent has everything needed to call it correctly without guessing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the per-parameter descriptions already spell out node vs location, confirm_token semantics and confirm_delete_folder. The prose largely restates that structured content, adding only the behavioral consequence of an expired/changed token, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb and resource ('Remove a document, a directory or a whole folder') and immediately distinguishes the two modes of the tool (delete vs erase) so an agent can tell it apart from doc_update and doc_create. The scope is unambiguous and front-loaded.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states the two-call protocol (omit confirm_token, then pass it), the condition selecting it ('refused if the folder has changed'), when confirm_delete_folder is required, and routes recovery to doc_update action=restore and account deletion to the console. When-to-use and when-not-to-use are both stated rather than inferred.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

doc_updateChange a documentA
Destructive
Inspect

Change a document or directory that exists. Every change commits or is refused; expected_commit (from action=document's trailer) refuses one that has changed since you read it, with what is there now. A change to a section another agent has claimed is refused unless override_claim=true, which they see. A document open in somebody's editor takes the change into their session. Actions — edit: replace old_string with new_string (replace_all for every occurrence), or add append at the end of the document or of a section; with span, new_string replaces that one block (or old_string inside it) however large the document; refused, with the current text, if old_string is missing or ambiguous, the frontmatter would break, or another writer committed first. replace: replace a whole document's content (location or node, content); refused when nothing is there. move: rename in place (from, name) or move (from, to: the whole new location), keeping id, history and comments. A rename needs editor on everything it moves; a move to another directory needs a manager of the whole organization, so an agent delegated over folders rather than the whole organization cannot move between them. A move that widens who can reach it is refused naming who gains, until acknowledge_access_change=true. restore: undo the last delete at a location, with its sharing; restoring twice finds nothing the second time. restore_version: put an earlier version of a document back (location or node, commit from browse action=versions), as the console's Restore this version does: its text becomes a NEW version on top, so nothing in the history is rewritten or lost, and the document's current metadata is kept. Needs editor; expected_commit refuses it if the document changed since you read it.

NameRequiredDescriptionDefault
toNomove: the whole new location including the name, e.g. wiki/archive/attention.md; a folder's link moves it into that folder. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too.
fromNomove: the document or directory's whole location, e.g. wiki/attention.md. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too.
nameNomove: the new last segment, to rename in place, e.g. self-attention.md (no slash)
nodeNoedit, replace, restore_version: the document's id, as returned beside its location — survives a rename or a move, so a citation written into a stored document keeps pointing at the right thing. Give this OR location, never both. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too.
seatNothe seat token identity_write action=take_seat gave you; pass it on every call while you drive that agent
spanNoedit: a block's span id (search within, browse action=spans): new_string replaces that one block, or, with old_string, old_string inside it; the rest of the document is not read back to you
actionYeswhat to do; each action takes the arguments its line names
appendNoedit: text to add at the end of the document, or of `section`, instead of replacing anything
commitNorestore_version: the version's commit hash, as browse action=versions lists it (any lowercase prefix of at least 7 hex characters that names one)
contentNoreplace: the whole document. Set metadata with YAML frontmatter at the top of `content`: `type` (one of: meeting-notes, playbook, spec, brand-asset, web-clip, contract, misc — anything else becomes misc), `title`, `summary`, and `tags` as a list. `tags` is the write-side spelling of what the listing tools call `label`. `status` takes `active` or `inactive` and is not a label: `inactive` retires a document — search and listings stop showing it, while whoever may write it still opens it by location or node, and removing the line brings it back. Omit it unless you mean to retire something. `aliases` (a list, or one name) are other names search how=titles finds the document by; a [[link]] still needs its file name or title. Any other key you write (`sources`, …) is kept as written and comes back on read; key order may change. A block that does not parse as YAML is refused, naming the line, and nothing is written: quote a value that contains ": " (summary: "a: b").
sectionNoedit: with append: the heading text of the section to add to the end of, exactly as written after the #s ("Log" for "## Log"), the same as claim's span; refused if no heading or several have that text. Omit for the end of the document
locationNoedit, replace, restore_version: full path from the workspace root, e.g. "handbook/vendor/acme.md". Give this OR node. A path is what a person reads; a node is what survives somebody reorganizing. · restore: full path from the workspace root, e.g. "handbook/vendor/acme.md" (as printed by browse action=documents or search). A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too.
acting_asNoan agent identity below you (its id, from identity_write action=spawn) to make this one call as, with that agent's narrower access; for a helper whose session signs in as its person
new_stringNoedit: what to put in its place
old_stringNoedit: exact text to replace — must appear in the current body (with new_string; not with append)
replace_allNoedit: replace every occurrence (default: refuse if more than one)
override_claimNoedit: write even though another agent has CLAIMED the section you are changing. Logged, and they will see it. Default: refuse and name the holder. · replace, restore_version: write even though another agent has CLAIMED this document. Logged, and they will see it. Default: refuse and name the holder.
expected_commitNoedit: the document head you read at (read action=document prints it; any lowercase prefix of at least 7 hex characters, and a part's pin with its #part). Refuses if that document has changed since. · replace: the document head you read at (read action=document prints it; any lowercase prefix of at least 7 hex characters). Refuses if that document has changed since, and refuses a part's pin (ending #part): this overwrites the whole document. Omit to replace whatever is there now. · restore_version: the document head you read at (read action=document prints it; any lowercase prefix of at least 7 hex characters). Refuses if that document has changed since, and refuses a part's pin (ending #part): this overwrites the whole document. Omit to restore over whatever is there now.
idempotency_keyNoAny unique string you choose for this write, e.g. a UUID. If you retry the call with the same key and the same arguments, the first answer is returned and nothing is done twice. Reusing a key for a different request is refused. Keys are kept 24 hours.
acknowledge_access_changeNomove: true once you have seen who gains reach and mean it

Output Schema

NameRequiredDescription
toNo
fromNo
textNothe answer as prose, for an action that answers in prose
spansNothe blocks this write added or edited, in document order; absent when no commit was written
actionYesthe action that answered
commitNothe head of the folder the move landed in, not the moved document's own commit, so not an expected_commit (read the document for that); null for a top-level folder's rename, which writes no commit
storedNowhat the document's head stores after this call, to check against what was sent (#1492)
changedNothe documents that moved, a directory's documents included, the first 25 by path; directories themselves are not listed
appendedNoappend only: what this call added
locationNothe whole path from the workspace root this write resolved to; present on a successful write
restoredNowhat the restore put back, and the new version it made of it
changed_totalNohow many documents moved, whether or not changed lists them all

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds substantial behavioral detail beyond the annotations: commit-or-refuse semantics, optimistic concurrency via expected_commit, claim overrides, editor-session effects, permission requirements for rename and move, access-widening acknowledgment, and restore_version's append-only history behavior. These are consistent with the destructive and non-read-only annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded and every sentence carries operational information, which is appropriate for a complex 20-parameter mutation tool. However, it is a dense single paragraph and could be more scannable with action-level structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex destructive mutation tool with many optional parameters, the description covers concurrency, refusal conditions, permissions, access changes, and action-specific behavior. With annotations and an output schema present, this is sufficiently complete for an agent to call the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already defines the parameters in detail. The description adds useful cross-parameter meaning, especially how expected_commit, override_claim, append, section, move permissions, and access acknowledgment interact with each action.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: "Change a document or directory that exists." It then enumerates the supported actions (edit, replace, move, restore, restore_version), making the tool's scope clear and distinguishing it from creation or deletion.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives strong action-level guidance, including when each action applies and what causes refusal. It does not explicitly route agents away from sibling tools such as doc_create or doc_delete, but the "exists" constraint implicitly distinguishes this tool from creation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

identity_writeManage agent identitiesAInspect

Take, renew or give up the seat you drive an agent from, create an agent below you, put an agent to sleep or wake it, set what an agent below you loads when it connects, publish your capability card, or start a fresh session. Actions — spawn: create a child identity with a SUBSET of what you may do (display, scope: role@location, repeatable) and return its first credentials once; bootstrap_key=true also mints a long-lived key for a headless agent, dead when the child is retired; load_memory_and_skills names the folders whose memory and skills it is handed when it connects (absent: the organization's default). set_card: publish a new version of your capability card; wake_channel=webhook posts signed wake-ups to webhook_url, any URL you give. sleep: put yourself or an agent below you (target) to sleep: its messages and waits stay, but no session may drive it until it wakes; until=reply (default) also wakes it when one of its waits resolves, until=woken only when someone above it wakes it. wake: wake an asleep agent below you (target), so a session may take it up again. take_seat: become the one session driving this agent (yourself, or one below you with acting_as): returns a seat token to pass as seat on every call, the agent's home folder and the end of its journal to read first. A persistent or intermittent agent's writes are refused without its current seat; refused while another session holds it unless take_over=true. renew_seat: extend the lease of the seat you hold (pass its token as seat); never shortens it. release_seat: give up the seat you hold (pass its token as seat), so the next session need not wait out the lease. journal: append a dated entry to your own journal, in your home folder (entry: what you decided and why); take_seat hands its end to the next session. new_session: start a fresh session, so what you read before is not a label on what you write next. update: set which folders an identity below you loads when it connects (target, load_memory_and_skills: folder locations you can read, [] for nothing); never your own: an identity does not widen what it loads. org_context: admins: set the folders a new agent loads when its spawn names none (load_memory_and_skills) and whether answers name the memory and skills of the folders they touch (folder_hints).

NameRequiredDescriptionDefault
seatNothe seat token identity_write action=take_seat gave you; pass it on every call while you drive that agent
entryNojournal: with journal: what you decided and why, or what the next session must know
scopeNospawn: role@location, repeatable; role is viewer, editor or manager (reader, writer and approver are deprecated aliases), e.g. editor@specs/api.md or viewer@*
untilNosleep: what wakes it: reply (default: a reply or anything else that resolves one of its waits, or someone above it) or woken (only someone above it)
actionYeswhat to do; each action takes the arguments its line names
reasonNowhy you are doing this, in one line (at most 200 characters); recorded with the event and exported with the log
targetNosleep, wake, update: an identity id; defaults to you
vendorNospawn, set_card: who makes the agent, e.g. anthropic
displayNospawn: the child's name
lease_sNotake_seat, renew_seat: how long the seat is yours before you must renew it, in seconds (default 600)
purposeNospawn, set_card: what it is for
acting_asNoan agent identity below you (its id, from identity_write action=spawn) to make this one call as, with that agent's narrower access; for a helper whose session signs in as its person
lifecycleNospawn: persistent, intermittent (default) or ephemeral
risk_tierNospawn, set_card: low, standard (default) or high
take_overNotake_seat: take the seat even though another session holds it; that session's next write is refused
expires_atNospawn: ISO time the child ends; never later than yours
environmentNospawn, set_card: where it runs, e.g. ci or laptop
webhook_urlNoset_card: with wake_channel=webhook: the URL wake-ups are POSTed to, signed
capabilitiesNospawn, set_card: what it can do, for role:<capability> addressing; repeatable
folder_hintsNoorg_context: whether answers name the memory and skills of the folders they touch (default true)
wake_channelNoset_card: how you are woken when a wait resolves: brief (default), sse or webhook
bootstrap_keyNospawn: also mint a long-lived afs_ key bound to the child, for a headless agent. Lives until the child's expires_at, at most 365 days; 90 days when the child has no expiry
idempotency_keyNoAny unique string you choose for this write, e.g. a UUID. If you retry the call with the same key and the same arguments, the first answer is returned and nothing is done twice. Reusing a key for a different request is refused. Keys are kept 24 hours.
refresh_window_sNospawn: how long the child may idle and still refresh, in seconds
load_memory_and_skillsNospawn, update, org_context: folders (locations, ids or links) whose memory (CLAUDE.md, AGENTS.md) and skill names the identity is handed when it connects; each must be one you can read. On spawn, absent means the organization's default; on update, [] loads nothing; on org_context, the default for new agents. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too.

Output Schema

NameRequiredDescription
cardNo
homeNoyour home folder: your journal and standing instructions, read only by you and those above you
seatNo
cardsNo
endedNo
loadsNo
actionYesthe action that answered
journalNowith take_seat: the end of your journal, newest last; read it before you carry on
identityNo
positionNo
sessionIdNo
orgContextNo
credentialsNo
journalEntryNo
retiringUntilNo
webhookSecretNowith a webhook: deliveries are signed in the Standard Webhooks format (webhook-id, webhook-timestamp, webhook-signature); verify them with any Standard Webhooks library and this secret

TDQS

A4.1/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare the broad safety profile (non-read-only, non-destructive, non-idempotent, open-world); the description goes well beyond that with refusal semantics (writes refused without a seat, refused while another session holds it), lease renewal behavior, bootstrap key lifetime tied to child retirement, scope subsetting on spawn, and signed webhook wake-ups. These are exactly the behavioral traits an agent needs before invoking a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The single paragraph bundles 11 actions and their parameters into dense em-dash prose, making it hard to scan and forcing the reader to parse inline instead of per-action structure. It is front-loaded with an action menu and little is filler, but the wall-of-text format costs readability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 25 parameters, 11 actions, and an output schema, the description covers the behaviorally critical paths (seat lifecycle, spawn, sleep/wake, journal) thoroughly. It leaves less-risky parameters such as idempotency_key, lease_s, expires_at, and risk_tier to the schema, which is acceptable given 100% schema coverage. Enough is present that an agent can call the tool correctly, though a per-action argument map would make it fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds cross-action semantics the schema cannot: seat tokens must be passed on every call, scope is role@location and must be a subset of your own rights, and load_memory_and_skills means different things per action (absent = org default on spawn, [] = nothing on update, org default on org_context). It also states 'never your own' for update, which is a real constraint beyond the parameter docs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the concrete resource (agent identities) and enumerates each verb it can perform: take/renew/release seat, spawn, sleep, wake, set_card, journal, new_session, update, org_context. An agent can tell it is not access_write or coordination_write because every action concerns identity lifecycle and seats. It does not explicitly contrast with those siblings, keeping it at 4 rather than 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Each action carries its own usage condition: seat is required for persistent/intermittent writers, take_over is needed when another session holds the seat, update never applies to yourself, until=reply vs woken define what wakes a sleeping agent. There is clear context for when each action applies. What is missing is explicit routing against alternative tools, so 4 is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

knowledge_writeRecord knowledgeA
Destructive
Inspect

Lessons, dead ends, workflows and skills an organization's agents record and share. A draft is private to you; publishing shares it at a scope you can write. Drafts are purged when their identity ends. Actions — draft: write a private draft (kind, title, body; a dead_end also takes tried and failed_because). publish: publish a draft (from_draft) or content directly (kind, title, body, scope); supersedes publishes a new version of an item. distill: publish several drafts at once (from_drafts, scope). rate: rate an item 1–5 for what you used it for (id, rating, purpose, note). validate: mark an item validated or refuted (id, validation).

NameRequiredDescriptionDefault
idNorate, validate: an item id, or the citation search returns for it (knowledge:<id>@v<version>)
bodyNodraft, publish: the item's text
kindNodraft, publish
noteNorate: a usage note
seatNothe seat token identity_write action=take_seat gave you; pass it on every call while you drive that agent
scopeNodraft, publish, distill: the folder or document it applies to (path or node id). A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too.
titleNodraft, publish: a short title
triedNodraft, publish: dead_end: what was tried
actionYeswhat to do; each action takes the arguments its line names
ratingNorate: 1 to 5
reasonNowhy you are doing this, in one line (at most 200 characters); recorded with the event and exported with the log
purposeNorate: what you used it for
acting_asNoan agent identity below you (its id, from identity_write action=spawn) to make this one call as, with that agent's narrower access; for a helper whose session signs in as its person
from_draftNopublish: a draft id
supersedesNopublish: the item this is a new version of
validationNovalidate: validated or refuted
from_draftsNodistill: draft ids; repeatable
failed_becauseNodraft, publish: dead_end: why it failed
idempotency_keyNoAny unique string you choose for this write, e.g. a UUID. If you retry the call with the same key and the same arguments, the first answer is returned and nothing is done twice. Reusing a key for a different request is refused. Keys are kept 24 hours.
decay_half_life_daysNodraft, publish

Output Schema

NameRequiredDescription
itemNo
itemsNo
notesNo
actionYesthe action that answered
failedNo
standingNo
retiringUntilNo

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare destructiveHint=true and idempotentHint=false, and the description goes meaningfully beyond that: drafts are private, drafts are purged when their identity ends, publishing shares at a writable scope, and supersedes creates a new version rather than overwriting. What it omits is a warning about irreversibility of publish/supersede or the fact that rate/validate mutate existing items, and it never mentions the idempotency_key retry contract that the schema carries.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two parts: a front-loaded statement of what is recorded plus the privacy model, then a compact per-action spec in a single paragraph. Given 5 actions and 20 parameters, the density is earned and there is no filler sentence.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained, and the action/parameter surface is fully covered. Gaps remain around permissions implied by 'a scope you can write', what purging on identity end means operationally, and how this tool relates to doc_create/registry_write for similar content.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description consolidates the conditional mapping of 20 parameters onto 5 actions into one readable place and adds genuine value for parameters like supersedes ('publishes a new version of an item') and the dead_end-specific tried/failed_because pair. It repeats some of the schema's per-parameter action prefixes, but the consolidated view reduces mis-invocation risk on a wide, action-switched schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence names the concrete resource (lessons, dead ends, workflows, skills) and the fact that agents record and share them, so the verb+resource are unambiguous. The five action verbs are enumerated, which lets an agent see the full surface without opening the schema. It stops short of differentiating from siblings like doc_create or registry_write, which overlap in 'write a thing' territory.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'Actions —' list effectively says what each action is for (draft is private, publish shares, distill publishes several at once), which implies the progression draft→publish→distill. However there is no explicit guidance on when to choose knowledge_write over doc_create/registry_write, nor any stated prerequisite for publishing (beyond 'a scope you can write'). Usage must be inferred.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

message_writeSend messages and commentsA
Destructive
Inspect

Say something to other agents and people in this organization. A message, comment or room item cannot be unsent once read. Use comments for authorized review feedback, clarification questions and disagreements on shared content; continue the existing thread for the same issue. Messages are typed; a comment sits on a document or folder in the threads people use in the editor; a room is a shared space for agents of different chains. Two agents answering each other without new evidence are refused further rounds (loop_detected). Actions — send: send a typed message (kind: question, answer with reply_to, finding, request, handoff, commitment, with that kind's field) to identities, exact names or role:; location anchors it to a document, where its readers can see it in the console; wait=true with a deadline registers a wait for the reply. decline: say no to a message addressed to you; whoever asked is woken by it (message_id, note). close: close a message you sent (message_id, outcome done or broken for a commitment, note). comment: comment on a document or folder with authorized feedback or a new question (location, body); optional span or exact quote anchors passage-specific feedback; omit both for general discussion. reply_comment: reply in a comment thread to answer feedback, continue a discussion or report a fix with evidence (thread, body); status=taken says you took its work on, by a date (by, default seven days), status=reported says it is done, with where it is (link). resolve_comment: resolve an addressed or explicitly closed comment thread when authorized, as its author or an editor of the document (thread); a reply alone does not establish resolution. create_room: make a room (name, invite: identity ids or names); its documents live under the folder it returns. invite: invite identities to a room (room_id, invite). Invitees are identities in this organization; someone in another organization is reached by sharing a folder out with access_grant action=share_out, never by a room. join: join a room you were invited to (room_id). leave: leave a room (room_id). move_in: move content into a room (room_id, name, content, derived_from): a declassification, allowed only for data your chain can approve sharing; members who cannot read a source see it once its share request is approved.

NameRequiredDescriptionDefault
byNosend: commitment / request: when, as an ISO date or time · reply_comment: reply_comment status=taken: the date you will have it by (default seven days from today)
toNosend: identity id, an agent's @handle, exact name, or role:<capability>; repeatable
bodyNocomment, reply_comment: the comment's text
kindNosend: what the message is; each kind has its field
linkNoreply_comment: reply_comment status=reported: the document or folder the work is in. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too.
nameNocreate_room, move_in: create_room: the room's name; move_in: the item's file name
nodeNosend: the node it is about, by id. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too.
noteNodecline, close: a short note to the other side
seatNothe seat token identity_write action=take_seat gave you; pass it on every call while you drive that agent
spanNosend: the section it is about, as its heading text · comment: the span id it is about, from browse action=spans
waitNosend: register a durable wait for the reply, woken through your card's channel
whatNosend: commitment: what you commit to. A person reads this field on its own in the console, without the thread: it is clearest as a sentence or two that stands alone, with longer detail in a document named in evidence
quoteNocomment: the exact text it is about, when you have no span id
actionYeswhat to do; each action takes the arguments its line names
answerNosend: answer: the answer itself, first. A person reads this field on its own in the console, without the thread: it is clearest as a sentence or two that stands alone, with longer detail in a document named in evidence
inviteNocreate_room, invite: identity ids or exact names in this organization; repeatable
packetNosend: handoff: the packet itself
reasonNosend, decline, close, create_room, invite, join, leave, move_in: why you are doing this, in one line (at most 200 characters); recorded with the event and exported with the log
statusNoreply_comment: reply_comment: say you took the thread's work on, or report it done; taken is refused while someone else holds the thread until its date
threadNoreply_comment, resolve_comment: the thread's root id
contentNomove_in: what goes in: the raw text, or your own redaction of it
findingNosend: finding: what you found. A person reads this field on its own in the console, without the thread: it is clearest as a sentence or two that stands alone, with longer detail in a document named in evidence
outcomeNoclose: closed (default), or done or broken for a commitment
requestNosend: request: what you need, from whom. A person reads this field on its own in the console, without the thread: it is clearest as a sentence or two that stands alone, with longer detail in a document named in evidence
room_idNoinvite, join, leave, move_in: the room's id, from create_room or browse action=rooms
summaryNosend: handoff: what is being handed over. A person reads this field on its own in the console, without the thread: it is clearest as a sentence or two that stands alone, with longer detail in a document named in evidence
deadlineNosend: with wait: when to stop waiting (ISO)
evidenceNosend: what supports this — doc paths, commit hashes, message ids, URLs; repeatable
locationNosend: the document or folder it is about. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · comment: the document or folder path. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too.
questionNosend: question: what you are asking. A person reads this field on its own in the console, without the thread: it is clearest as a sentence or two that stands alone, with longer detail in a document named in evidence
reply_toNosend: the message this replies to
acting_asNoan agent identity below you (its id, from identity_write action=spawn) to make this one call as, with that agent's narrower access; for a helper whose session signs in as its person
message_idNodecline, close: the message's id, from browse action=inbox, brief_me or send
cannot_shareNosend: answer: you hold more on this that the asker's chain may not see; the platform says so for you
continuationNosend: with wait: a note to your future self about what to do when it resolves
derived_fromNomove_in: paths or node ids the content came from; repeatable. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too.
idempotency_keyNoAny unique string you choose for this write, e.g. a UUID. If you retry the call with the same key and the same arguments, the first answer is returned and nothing is done twice. Reusing a key for a different request is refused. Keys are kept 24 hours.

Output Schema

NameRequiredDescription
loopNo
roomNo
waitNo
movedNo
roomsNo
actionYesthe action that answered
threadNoresolve_comment: the thread resolved
commentNo
messageNo
commentsNo
messagesNo
replayedNo
truncatedNoinbox: more are waiting past this page
nextOffsetNoinbox: the offset that shows them
already_resolvedNoresolve_comment: it was resolved before this call

TDQS

A4.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true and idempotentHint=false, and the description corroborates the irreversible nature ('cannot be unsent once read'), adds loop_detected, the declassification constraint on move_in ('allowed only for data your chain can approve sharing'), and the pending-share visibility rule. That is real added context beyond annotations. However, for an 11-action destructive tool it does not cover permission requirements per action, what a failed/refused call returns, or how seat/acting_as delegation affects authorization — a 3 reflects solid additions against remaining behavioral gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose and the comment/room disambiguation are properly front-loaded, and given 37 parameters and 11 actions length is unavoidable. But the action rundown is a single run-on paragraph with em-dash dependent clauses, and the return-visibility rule ('A person reads this field on its own in the console') is repeated five times across parameter descriptions in the schema. Structure is serviceable but not tight.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be described. For a high-complexity, destructive, 37-parameter multiplexer the description supplies the action taxonomy, cross-organizational boundary, irreversibility, and delegation caveats an agent needs before calling. Nothing essential is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3, but the description goes further by binding each action to its argument set ('decline: ... (message_id, note)', 'reply_comment: ... (thread, body)', 'move_in: ... (room_id, name, content, derived_from)'), which is genuine routing value the schema's flat property list does not supply. It also explains defaults the schema only hints at, such as status=taken defaulting to seven days. It stops short of explaining idempotency_key or seat semantics beyond what the schema states.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a concrete verb and resource ('Say something to other agents and people in this organization') and then explicitly distinguishes the three modes it covers: messages, comments, and rooms. The distinctions ('a comment sits on a document or folder', 'a room is a shared space for agents of different chains') let an agent separate this from siblings like coordination_write or doc_update without schema inspection.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit when-to-use routing for near-identical actions: comments for 'authorized review feedback, clarification questions and disagreements'; reply_comment to 'answer feedback, continue a discussion or report a fix with evidence'; resolve_comment requires authorship or editor rights because 'a reply alone does not establish resolution'. It also states an exclusion — cross-organization reach is via access_grant action=share_out, 'never by a room' — and a behavioral guardrail (loop_detected refusal).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

readRead one itemA
Read-onlyIdempotent
Inspect

Read one item by its location or id. A path or id you cannot read answers not-found, exactly as one that does not exist. action=document returns the document's text: the body comes first, frontmatter on its first line, and everything after the LAST ──── end of document ──── line describes it (location, type, node id, the commit to pass as expected_commit, its [[wikilinks]] both ways where you can read both ends, the memory and skills that apply in its folder, a console link to cite). The document ends two line breaks before that line, and those two are not part of it. A large document comes in parts, each ending ──── end of part: NOT the whole document ──── with the next offset. When somebody has it open in the editor, the body is their unsaved text and the answer says revision: live. Actions — document: a document (location or node; offset and maxBytes page a large one); an image answers as one: an SVG's source, a raster image's type and size. version: what a document said at one of its earlier versions (location or node, commit from browse action=versions); not the document now. message: one message (message_id). thread: a message thread with its loop risk (thread_id, or message_id for the thread it is in). truth: a truth with its debate (id). decision: one decision with the same current source binding, choice and work state as the web app (id). span_history: how a span was rewritten, and by how many editors (span). lesson: a knowledge item and its standing (id). lesson_notes: the usage notes left on a knowledge item (id). package: a public registry package and its public comments (slug, optional version); the registry spans every organization. room: a room and its members (room_id). wait: a wait's state (wait_id); with timeout_s (at most 25) it blocks until the wait resolves or the time runs out, answering pending. A wait resolves once: fired, timed_out, or counterparty_gone; a reply wait's resolution says replied (with replyId) or declined (with declinedBy) and points at the message rather than quoting it. changes: what changed on your subscriptions since you last acknowledged (coordination_write action=ack_changes).

NameRequiredDescriptionDefault
idNotruth, decision: the truth's id · lesson, lesson_notes: an item id, or the citation search returns for it (knowledge:<id>@v<version>)
nodeNodocument, version: the document's id, as returned beside its location — survives a rename or a move, so a citation written into a stored document keeps pointing at the right thing. Give this OR location, never both. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too.
seatNothe seat token identity_write action=take_seat gave you; pass it on every call while you drive that agent
slugNopackage: org/publication for a public package; a local publication name when proposing
spanNospan_history: a span id, from browse action=spans
actionYeswhat to do; each action takes the arguments its line names
commitNoversion: the version's commit hash, as browse action=versions lists it (any lowercase prefix of at least 7 hex characters that names one)
offsetNodocument: byte offset to start at (page large files)
room_idNoroom: the room's id, from create_room or browse action=rooms
versionNopackage: a published version; default the latest
wait_idNowait: the wait's id, from wait_for or browse action=waits
locationNodocument, version: full path from the workspace root, e.g. "handbook/vendor/acme.md". Give this OR node. A path is what a person reads; a node is what survives somebody reorganizing.
maxBytesNodocument: max bytes to return (clamped to MAX_READ_BYTES)
acting_asNoan agent identity below you (its id, from identity_write action=spawn) to make this one call as, with that agent's narrower access; for a helper whose session signs in as its person
thread_idNothread: the thread's id
timeout_sNowait: block up to this many seconds (0–25) for it to resolve; omit to answer at once
message_idNomessage, thread: the message's id, from browse action=inbox, brief_me or send

Output Schema

NameRequiredDescription
itemNo
linkNo
loopNo
roomNo
textNothe answer as prose, for an action that answers in prose
waitNo
addedNo
imageNopresent when the location is an image: an SVG's text is its source, a raster image's bytes are never sent as text
itemsNo
linksNo
movedNo
notesNo
roomsNo
sinceNo
spansNo
truthNo
waitsNo
actionYesthe action that answered
debateNo
failedNo
pulledNo
schemaNo
truthsNo
historyNo
messageNo
packageNo
pendingNo
commentsNo
decisionNo
messagesNo
packagesNo
positionNo
proposalNo
replayedNo
standingNo
decisionsNo
escalatedNo
truncatedNoinbox: more are waiting past this page
nextOffsetNospans: the offset of the next page, or null when this one ends the document
organizationNo
subscriptionNo
retiringUntilNo
subscriptionsNo

TDQS

A3.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well past the readOnly/idempotent annotations: it discloses the not-found behavior for unreadable paths, that a document opened in the editor returns unsaved live text with 'revision: live', how the footer after the end-of-document marker encodes expected_commit and wikilinks, that large documents arrive in parts with a next offset, and the one-shot resolution semantics and 25s cap of wait. These are exactly the non-obvious traits an agent needs and none are in the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded correctly — what it does comes first, then the document format, then the action roster. However, the document-format passage and the semicolon-chained action list are dense and hard to scan; the length is partly justified by 13 actions and 17 params, but the same content could be structured with clearer breaks.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values needn't be explained, yet the description still documents the unusual document wire format and paging, which the output schema alone would not convey. Some actions remain terse (lesson: 'a knowledge item and its standing'), so it is not fully complete for a 13-action multiplexer, but it is strong overall.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds real meaning: it maps each action to the arguments its line names, explains offset/maxBytes as paging for a large document, tells the agent where expected_commit comes from (the document footer), and clarifies location vs node exclusivity and node's rename-survival. Only some action-specific params (span, room_id, slug) get thin treatment beyond schema text.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The first sentence states a specific verb and resource (read one item by location or id) and the action list names the distinct item types it can return. It distinguishes itself from sibling browse implicitly by consuming browse's outputs (commit from browse action=versions, wait_id from browse action=waits), but never explicitly says when to use read over search or browse, so it falls short of full sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage context is implied throughout — version is explicitly 'not the document now', and several params point at browse/send as the source of ids. But there is no explicit when-to-use/when-not guidance against siblings like browse or search, and no prerequisites (e.g. auth/seat requirements beyond the seat param description) are stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

registry_writeAct on public contentA
Destructive
Inspect

Act on what is shared with the world: the public registry (packages any organization's agents propose and a person approves) and public context files from GitHub. Comments, ratings and reports are PUBLIC, and refused from a session that has read this organization's documents. Nothing here publishes on its own: a proposal returns a link for your person to approve. Actions — pull: copy a package into a folder you can write, keeping where it came from (slug, version, scope); a one-off copy of that version. add: add a package's latest version to a folder you choose (slug, scope, follow: latest keeps it updated with each approved version until edited, pinned keeps this version); a folder package lands as scope/slug, a document as scope/slug.md. follow: keep an added package up to date (follow: latest) or pin it (follow: pinned), to the version it holds or to an approved version you name (slug, follow, version). comment: comment publicly on a package (slug, body). rate: rate a package publicly 1–5 (slug, rating, purpose). propose: ask to publish a knowledge item, document or whole folder of yours (slug, from_knowledge, from_document or from_folder, summary); returns a link your person opens to review the diff, file by file for a folder, and approve, and wait=true registers a wait for that decision. report: report publicly, on your person's behalf, whether a public context file worked (repo, path, verdict, used_for, body). withdraw_report: take your own report down (id). mount: copy a public context file into this organization, into the folder you name (into) or by default under public-context/ (repo, path, into, follow: latest keeps it updated until edited, pinned keeps this version); a skill that lives in a folder brings its whole folder (references/, scripts/), and the answer names what was not copied and the organization.

NameRequiredDescriptionDefault
idNowithdraw_report: the report's id
whyNoreport, withdraw_report, mount: why you are doing this, in one line (at most 200 characters); recorded with the event and exported with the log
bodyNocomment: the comment, posted publicly · report: what happened, and anything you changed; posted publicly, so nothing private
intoNomount: the folder to put it in; default public-context/<owner>/<repo>/
pathNoreport, mount: the file's path in it, e.g. skills/grill-me/SKILL.md
repoNoreport, mount: owner/name of the public repository
seatNothe seat token identity_write action=take_seat gave you; pass it on every call while you drive that agent
slugNopull, add, follow, comment, rate, propose: org/publication for a public package; a local publication name when proposing
waitNopropose: also register a wait for your person's decision
scopeNopull, add: the folder to copy it into
actionYeswhat to do; each action takes the arguments its line names
followNoadd, follow: with add or follow: latest follows each approved version until the copy is edited (the default); pinned keeps the version it holds, or with follow the version you name · mount: latest keeps it up to date with its source (the default for a new mount); pinned keeps the version it holds
ratingNorate: 1 to 5
purposeNorate: what you used it for
summaryNopropose: one line for the listing
verdictNoreport: did it work
versionNopull, follow: a published version; default the latest
deadlineNopropose: with wait: when to stop waiting (ISO); defaults to the link's expiry
used_forNoreport: what you used it for, in a sentence
acting_asNoan agent identity below you (its id, from identity_write action=spawn) to make this one call as, with that agent's narrower access; for a helper whose session signs in as its person
from_folderNopropose: a folder path or node id: every text document in it, by path (a skill when it holds SKILL.md). A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too.
continuationNopropose: with wait: a note to your future self for when it resolves
from_documentNopropose: a document path or node id. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too.
from_knowledgeNopropose: a knowledge item id
idempotency_keyNoAny unique string you choose for this write, e.g. a UUID. If you retry the call with the same key and the same arguments, the first answer is returned and nothing is done twice. Reusing a key for a different request is refused. Keys are kept 24 hours.

Output Schema

NameRequiredDescription
linkNo
waitNo
addedNo
mountNo
tallyNo
actionYesthe action that answered
pulledNo
reportNo
packageNo
reportsNo
commentsNo
packagesNo
proposalNo
withdrawnNo

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds substantial behavior beyond annotations: public visibility of comments/ratings/reports, refusal after reading organization documents, approval-link flow for proposals, wait registration, and mount behavior including what is not copied. These are important side effects and constraints for an open-world destructive write tool. It does not contradict the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but appropriately sized for nine actions and 25 parameters. It front-loads the public-content scope and safety constraints before the action list. Some action entries are run-on or repetitive, but almost every clause carries useful operational detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity, annotations, and output schema, the description is complete enough to call correctly. It covers all actions, public privacy constraints, approval semantics, and important defaults. Remaining details such as seat, why, acting_as, and idempotency_key are documented in the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema description coverage, the schema already documents parameters well. The description still adds value by mapping each action to its expected arguments and explaining defaults such as follow: latest, folder-package landing as scope/slug, and mount's default location. It does not cover every parameter, but it meaningfully supplements the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the specific resources: the public registry of approved packages and public GitHub context files. It lists all nine actions and clearly scopes the tool to public content, distinguishing it from organization-document tools. The opening phrase is broad, but the immediate parenthetical and action list make the purpose concrete.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Each action is described with its intended use, such as pull vs add vs follow, and mount vs report. The description also gives a key exclusion: public comments, ratings, and reports are refused from sessions that have read the organization's documents. It does not explicitly name sibling tools as alternatives, but the usage context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sources_writeConnect sourcesAInspect

Connect GitHub or Google Drive and sync from it. Sync is one-way, into agentleFS, and repeats; a connector-owned path refuses direct edits. Also bind a GitHub issue to a folder or document (safe pointer only — never dumps grant-gated prose onto the issue). Actions — connect: start connecting an EXTERNAL account (provider), not a folder already in agentleFS (browse action=documents lists those); returns a link for the person to authorise in their browser. Only a folder's owner (a manager of some folder) may. sync: point one repository (repo_owner, repo_name, branch) or Drive folder (folder_id) of a connected account at a folder here (location) that you own: a manager of it, or a new top-level folder. vote: vote for a connector that does not exist yet (connector, why); one vote per person, shared with their agents. bind_issue: bind a GitHub issue to a folder or document you can read (issue: URL or owner/repo#N, location or node); returns a safe pointer body to post on the issue — never AFS titles or prose. unbind_issue: remove an issue↔node bind (issue, and/or location or node).

NameRequiredDescriptionDefault
whyNovote: what you would do with it, in one line (at most 200 characters); recorded with the vote
nodeNobind_issue, unbind_issue: folder or document node id, instead of location. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too.
seatNothe seat token identity_write action=take_seat gave you; pass it on every call while you drive that agent
issueNobind_issue, unbind_issue: GitHub issue URL or owner/repo#N (required for bind_issue, of_issue; optional for unbind_issue / github_issues)
actionYeswhat to do; each action takes the arguments its line names
branchNosync: GitHub only: the branch to follow (default: the repo default)
accountNosync: the connected account, exactly as browse action=sources prints it (the installation or account ref)
locationNosync: the FOLDER this source writes into, whole path from the workspace root, e.g. "handbook" or "handbook/vendor" · bind_issue, unbind_issue: folder or document path to bind. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too.
providerNoconnect: which source to connect: github, or gdrive for Google Drive · sync: which connected account this source uses
acting_asNoan agent identity below you (its id, from identity_write action=spawn) to make this one call as, with that agent's narrower access; for a helper whose session signs in as its person
connectorNovote: the product to connect, e.g. Notion
folder_idNosync: Google Drive only: the Drive folder id to pull
repo_nameNosync: GitHub only: the repository name
repo_ownerNosync: GitHub only: the repository owner
idempotency_keyNoAny unique string you choose for this write, e.g. a UUID. If you retry the call with the same key and the same arguments, the first answer is returned and nothing is done twice. Reusing a key for a different request is refused. Keys are kept 24 hours.

Output Schema

NameRequiredDescription
bindNo
textNothe answer as prose, for an action that answers in prose
voteNo
bindsNo
actionYesthe action that answered
wantedNo
unboundNo
availableNo

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare this is a non-read-only, open-world, non-destructive, non-idempotent write tool; the description adds substantial behavior beyond that: sync is one-way and repeating, connector-owned paths refuse direct edits, connect returns a browser authorization link, bind_issue returns a safe pointer body and never leaks AFS titles or prose, and permissions are tied to folder ownership.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long, but the length is justified by five actions and fifteen parameters. It is front-loaded with the core purpose and then organized as an action-by-action list, with each clause carrying operational detail rather than filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity, the description covers all five actions, their key arguments, permissions, and important behavioral caveats. An output schema exists, so return-shape details need not be repeated, and the annotations cover safety hints; the description fills the remaining gaps effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the parameter documentation baseline is 3. The description improves on that by grouping parameters by action (for example sync uses repo_owner/repo_name/branch or folder_id plus location, and bind_issue uses issue plus location/node) and by adding ownership and safety constraints that are not fully conveyed by the schema alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states specific operations (connect, sync, vote, bind_issue, unbind_issue) over specific resources (GitHub, Google Drive, issues, folders/documents), not merely a vague write. It also distinguishes what it is not, e.g. connect is for an external account rather than a folder already in agentleFS, pointing to browse action=documents as the alternative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Each action is given an explicit use condition: connect starts an external-account connection, sync points a repo or Drive folder at a location, vote is only for connectors that do not exist yet, bind_issue binds an issue to a readable folder or document, and unbind_issue removes that binding. It also names prerequisites and alternatives such as browse action=documents for existing agentleFS folders.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 3 tool updates
    • Changedbrief_me2 fields changed
      • addedOutput schema / properties / opened
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "the truths you asserted and the comment threads you started, on any document you can still read, most recently moved first: how each stands and whether anyone responded",
        +  "properties": {
        +    "threads": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "at": {
        +            "type": "string"
        +          },
        +          "location": {
        +            "type": "string"
        +          },
        +          "marker": {
        +            "anyOf": [
        +              {
        +                "enum": [
        +                  "taken",
        +                  "reported"
        +                ],
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "replies": {
        +            "type": "number"
        +          },
        +          "resolved": {
        +            "type": "boolean"
        +          },
        +          "text": {
        +            "type": "string"
        +          },
        +          "thread": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "thread",
        +          "location",
        +          "text",
        +          "resolved",
        +          "replies",
        +          "marker",
        +          "at"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "truths": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "decision": {
        +            "anyOf": [
        +              {
        +                "enum": [
        +                  "upheld",
        +                  "overturned"
        +                ],
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "id": {
        +            "type": "string"
        +          },
        +          "kind": {
        +            "type": "string"
        +          },
        +          "location": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "responded": {
        +            "type": "boolean"
        +          },
        +          "statement": {
        +            "type": "string"
        +          },
        +          "status": {
        +            "enum": [
        +              "proposed",
        +              "accepted",
        +              "contested",
        +              "superseded"
        +            ],
        +            "type": "string"
        +          },
        +          "updatedAt": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "id",
        +          "kind",
        +          "statement",
        +          "status",
        +          "location",
        +          "responded",
        +          "decision",
        +          "updatedAt"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    }
        +  },
        +  "required": [
        +    "truths",
        +    "threads"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "cursor",
        -  "me",
        -  "claims",
        -  "commitments",
        -  "waiting",
        -  "asked",
        -  "answered",
        -  "resolvedWaits",
        -  "pendingWaits",
        -  "approvals",
        -  "invitations",
        -  "offers",
        -  "memberships",
        -  "session",
        -  "usage",
        -  "loops",
        -  "changed",
        -  "contested",
        -  "pendingDecisions",
        -  "skills",
        -  "memory",
        -  "loaded",
        -  "projects"
        -]New value: +[
        +  "cursor",
        +  "me",
        +  "claims",
        +  "commitments",
        +  "waiting",
        +  "asked",
        +  "answered",
        +  "resolvedWaits",
        +  "pendingWaits",
        +  "approvals",
        +  "invitations",
        +  "offers",
        +  "memberships",
        +  "session",
        +  "usage",
        +  "loops",
        +  "changed",
        +  "contested",
        +  "pendingDecisions",
        +  "opened",
        +  "skills",
        +  "memory",
        +  "loaded",
        +  "projects"
        +]
    • Changeddoc_create1 field changed
      • addedOutput schema / properties / spans
        Added value: +{
        +  "description": "the blocks this write added or edited, in document order; absent when no commit was written",
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "change": {
        +        "description": "added: a new block; edited: an existing block given new text, same id",
        +        "enum": [
        +          "added",
        +          "edited"
        +        ],
        +        "type": "string"
        +      },
        +      "id": {
        +        "description": "the span id: what truth, comment and claim anchor to",
        +        "type": "string"
        +      },
        +      "index": {
        +        "description": "the block's position in the document's new head, 0-based",
        +        "maximum": 9007199254740991,
        +        "minimum": -9007199254740991,
        +        "type": "integer"
        +      }
        +    },
        +    "required": [
        +      "id",
        +      "index",
        +      "change"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
    • Changeddoc_update3 fields changed
      • changedInput schema / properties / expected_commit / description
        Previous value: -"edit: the document head you read at (read action=document prints it; any lowercase prefix of at least 7 hex characters). Refuses if that document has changed since. · replace: the document head you read at (read action=document prints it; any lowercase prefix of at least 7 hex characters). Refuses if that document has changed since. Omit to replace whatever is there now. · restore_version: the document head you read at (read action=document prints it; any lowercase prefix of at least 7 hex characters). Refuses if that document has changed since. Omit to restore over whatever is there now."New value: +"edit: the document head you read at (read action=document prints it; any lowercase prefix of at least 7 hex characters, and a part's pin with its #part). Refuses if that document has changed since. · replace: the document head you read at (read action=document prints it; any lowercase prefix of at least 7 hex characters). Refuses if that document has changed since, and refuses a part's pin (ending #part): this overwrites the whole document. Omit to replace whatever is there now. · restore_version: the document head you read at (read action=document prints it; any lowercase prefix of at least 7 hex characters). Refuses if that document has changed since, and refuses a part's pin (ending #part): this overwrites the whole document. Omit to restore over whatever is there now."
      • changedInput schema / properties / expected_commit / pattern
        Previous value: -"^[0-9a-f]{7,64}$"New value: +"^[0-9a-f]{7,64}(#part)?$"
      • addedOutput schema / properties / spans
        Added value: +{
        +  "description": "the blocks this write added or edited, in document order; absent when no commit was written",
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "change": {
        +        "description": "added: a new block; edited: an existing block given new text, same id",
        +        "enum": [
        +          "added",
        +          "edited"
        +        ],
        +        "type": "string"
        +      },
        +      "id": {
        +        "description": "the span id: what truth, comment and claim anchor to",
        +        "type": "string"
        +      },
        +      "index": {
        +        "description": "the block's position in the document's new head, 0-based",
        +        "maximum": 9007199254740991,
        +        "minimum": -9007199254740991,
        +        "type": "integer"
        +      }
        +    },
        +    "required": [
        +      "id",
        +      "index",
        +      "change"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
  2. 3 tool updates
    • Changedbrowse10 fields changed
      • changedInput schema / properties / action / enum
        Previous value: -[
        -  "folders",
        -  "versions",
        -  "documents",
        -  "sources",
        -  "people",
        -  "inbox",
        -  "claims",
        -  "waits",
        -  "subscriptions",
        -  "rooms",
        -  "truths",
        -  "spans",
        -  "links",
        -  "drafts",
        -  "lessons",
        -  "comments",
        -  "connectors",
        -  "pins",
        -  "github_issues",
        -  "projects",
        -  "packages",
        -  "context",
        -  "reports"
        -]New value: +[
        +  "folders",
        +  "versions",
        +  "documents",
        +  "sources",
        +  "people",
        +  "inbox",
        +  "claims",
        +  "waits",
        +  "subscriptions",
        +  "rooms",
        +  "decisions",
        +  "truths",
        +  "spans",
        +  "links",
        +  "drafts",
        +  "lessons",
        +  "comments",
        +  "connectors",
        +  "pins",
        +  "github_issues",
        +  "projects",
        +  "packages",
        +  "context",
        +  "reports"
        +]
      • addedInput schema / properties / include_history
        Added value: +{
        +  "description": "decisions: decisions: include superseded records",
        +  "type": "boolean"
        +}
      • changedInput schema / properties / limit / description
        Previous value: -"documents: max results this page (clamped to the server cap MAX_PAGE_SIZE)"New value: +"documents: max results this page (clamped to the server cap MAX_PAGE_SIZE) · decisions: decisions: records per page, at most 25"
      • changedInput schema / properties / offset / description
        Previous value: -"documents: results to skip — pass the previous page's nextOffset to page · inbox: inbox: skip this many (nextOffset from the last page) to see the rest · spans: spans: the span index to start at, from a previous answer's nextOffset"New value: +"documents: results to skip — pass the previous page's nextOffset to page · inbox: inbox: skip this many (nextOffset from the last page) to see the rest · decisions, spans: spans: the span index to start at, from a previous answer's nextOffset"
      • changedInput schema / properties / query / description
        Previous value: -"lessons: a key term, matched as one phrase inside a title, body or field · packages: words to match in a package's title, summary or body"New value: +"decisions: decisions: search the authorized decision history · lessons: a key term, matched as one phrase inside a title, body or field · packages: words to match in a package's title, summary or body"
      • addedInput schema / properties / view
        Added value: +{
        +  "description": "decisions: decisions: lifecycle filter, applied before pagination",
        +  "enum": [
        +    "all",
        +    "needs",
        +    "decided",
        +    "completed"
        +  ],
        +  "type": "string"
        +}
      • addedOutput schema / properties / decision
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "assertedByName": {
        +      "type": "string"
        +    },
        +    "ballot": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "ballotHash": {
        +          "type": "string"
        +        },
        +        "context": {
        +          "type": "string"
        +        },
        +        "id": {
        +          "type": "string"
        +        },
        +        "options": {
        +          "items": {
        +            "additionalProperties": {},
        +            "properties": {
        +              "id": {
        +                "type": "string"
        +              },
        +              "summary": {
        +                "type": "string"
        +              },
        +              "tradeoffs": {
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "id",
        +              "summary",
        +              "tradeoffs"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "preference": {
        +          "type": "string"
        +        },
        +        "resolution": {
        +          "enum": [
        +            "proposal",
        +            "verified-choice",
        +            "unresolved-choice"
        +          ],
        +          "type": "string"
        +        },
        +        "selectedOptionId": {
        +          "type": "string"
        +        },
        +        "title": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "title",
        +        "context",
        +        "resolution",
        +        "options"
        +      ],
        +      "type": "object"
        +    },
        +    "contextSource": {
        +      "const": "current-document",
        +      "type": "string"
        +    },
        +    "execution": {
        +      "additionalProperties": {},
        +      "properties": {
        +        "evidence": {
        +          "items": {
        +            "type": "string"
        +          },
        +          "type": "array"
        +        },
        +        "state": {
        +          "enum": [
        +            "not_started",
        +            "working",
        +            "waiting",
        +            "blocked",
        +            "completed",
        +            "cancelled"
        +          ],
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "state",
        +        "evidence"
        +      ],
        +      "type": "object"
        +    },
        +    "lifecycle": {
        +      "enum": [
        +        "needs",
        +        "decided",
        +        "completed",
        +        "replaced"
        +      ],
        +      "type": "string"
        +    },
        +    "location": {
        +      "type": "string"
        +    },
        +    "origin": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "organization": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "id": {
        +              "type": "string"
        +            },
        +            "name": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "id",
        +            "name"
        +          ],
        +          "type": "object"
        +        },
        +        "recordedWith": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "version": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "name"
        +          ],
        +          "type": "object"
        +        }
        +      },
        +      "required": [
        +        "organization"
        +      ],
        +      "type": "object"
        +    },
        +    "sourceCommit": {
        +      "type": "string"
        +    },
        +    "sourceIsLive": {
        +      "type": "boolean"
        +    },
        +    "sourceUrl": {
        +      "type": "string"
        +    },
        +    "story": {
        +      "additionalProperties": {},
        +      "propertyNames": {
        +        "type": "string"
        +      },
        +      "type": "object"
        +    },
        +    "summary": {
        +      "type": "string"
        +    },
        +    "title": {
        +      "type": "string"
        +    },
        +    "truth": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "anchor": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "drifted": {
        +              "type": "boolean"
        +            },
        +            "nodeId": {
        +              "type": "string"
        +            },
        +            "spanId": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            }
        +          },
        +          "required": [
        +            "nodeId",
        +            "spanId",
        +            "drifted"
        +          ],
        +          "type": "object"
        +        },
        +        "assertedBy": {
        +          "type": "string"
        +        },
        +        "confidence": {
        +          "enum": [
        +            "stated",
        +            "verified"
        +          ],
        +          "type": "string"
        +        },
        +        "createdAt": {
        +          "type": "string"
        +        },
        +        "debate": {
        +          "anyOf": [
        +            {
        +              "additionalProperties": false,
        +              "properties": {
        +                "cap": {
        +                  "type": "number"
        +                },
        +                "contestStatement": {
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                },
        +                "contestedBy": {
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                },
        +                "decideBy": {
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                },
        +                "decidedHow": {
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                },
        +                "deciderId": {
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                },
        +                "decision": {
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                },
        +                "note": {
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                },
        +                "rounds": {
        +                  "type": "number"
        +                },
        +                "threadId": {
        +                  "type": "string"
        +                }
        +              },
        +              "required": [
        +                "threadId",
        +                "contestedBy",
        +                "contestStatement",
        +                "rounds",
        +                "cap",
        +                "deciderId",
        +                "decideBy",
        +                "decision",
        +                "decidedHow",
        +                "note"
        +              ],
        +              "type": "object"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        },
        +        "evidence": {
        +          "items": {
        +            "type": "string"
        +          },
        +          "type": "array"
        +        },
        +        "id": {
        +          "type": "string"
        +        },
        +        "kind": {
        +          "type": "string"
        +        },
        +        "ownerId": {
        +          "type": "string"
        +        },
        +        "statement": {
        +          "type": "string"
        +        },
        +        "status": {
        +          "type": "string"
        +        },
        +        "supersededBy": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "supersedes": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "updatedAt": {
        +          "type": "string"
        +        },
        +        "verification": {
        +          "anyOf": [
        +            {
        +              "additionalProperties": false,
        +              "properties": {
        +                "at": {
        +                  "type": "string"
        +                },
        +                "by": {
        +                  "type": "string"
        +                },
        +                "method": {
        +                  "type": "string"
        +                },
        +                "rerunnable": {
        +                  "type": "boolean"
        +                },
        +                "result": {
        +                  "type": "string"
        +                }
        +              },
        +              "required": [
        +                "method",
        +                "rerunnable",
        +                "result",
        +                "by",
        +                "at"
        +              ],
        +              "type": "object"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        }
        +      },
        +      "required": [
        +        "id",
        +        "kind",
        +        "status",
        +        "statement",
        +        "evidence",
        +        "ownerId",
        +        "assertedBy",
        +        "anchor",
        +        "confidence",
        +        "verification",
        +        "supersedes",
        +        "supersededBy",
        +        "debate",
        +        "createdAt",
        +        "updatedAt"
        +      ],
        +      "type": "object"
        +    }
        +  },
        +  "required": [
        +    "truth",
        +    "location",
        +    "assertedByName",
        +    "sourceUrl",
        +    "lifecycle",
        +    "origin"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / decisions
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "assertedByName": {
        +        "type": "string"
        +      },
        +      "ballot": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "ballotHash": {
        +            "type": "string"
        +          },
        +          "context": {
        +            "type": "string"
        +          },
        +          "id": {
        +            "type": "string"
        +          },
        +          "options": {
        +            "items": {
        +              "additionalProperties": {},
        +              "properties": {
        +                "id": {
        +                  "type": "string"
        +                },
        +                "summary": {
        +                  "type": "string"
        +                },
        +                "tradeoffs": {
        +                  "type": "string"
        +                }
        +              },
        +              "required": [
        +                "id",
        +                "summary",
        +                "tradeoffs"
        +              ],
        +              "type": "object"
        +            },
        +            "type": "array"
        +          },
        +          "preference": {
        +            "type": "string"
        +          },
        +          "resolution": {
        +            "enum": [
        +              "proposal",
        +              "verified-choice",
        +              "unresolved-choice"
        +            ],
        +            "type": "string"
        +          },
        +          "selectedOptionId": {
        +            "type": "string"
        +          },
        +          "title": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "title",
        +          "context",
        +          "resolution",
        +          "options"
        +        ],
        +        "type": "object"
        +      },
        +      "contextSource": {
        +        "const": "current-document",
        +        "type": "string"
        +      },
        +      "execution": {
        +        "additionalProperties": {},
        +        "properties": {
        +          "evidence": {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          "state": {
        +            "enum": [
        +              "not_started",
        +              "working",
        +              "waiting",
        +              "blocked",
        +              "completed",
        +              "cancelled"
        +            ],
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "state",
        +          "evidence"
        +        ],
        +        "type": "object"
        +      },
        +      "lifecycle": {
        +        "enum": [
        +          "needs",
        +          "decided",
        +          "completed",
        +          "replaced"
        +        ],
        +        "type": "string"
        +      },
        +      "location": {
        +        "type": "string"
        +      },
        +      "origin": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "organization": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "id": {
        +                "type": "string"
        +              },
        +              "name": {
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "id",
        +              "name"
        +            ],
        +            "type": "object"
        +          },
        +          "recordedWith": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "name": {
        +                "type": "string"
        +              },
        +              "version": {
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "name"
        +            ],
        +            "type": "object"
        +          }
        +        },
        +        "required": [
        +          "organization"
        +        ],
        +        "type": "object"
        +      },
        +      "sourceCommit": {
        +        "type": "string"
        +      },
        +      "sourceIsLive": {
        +        "type": "boolean"
        +      },
        +      "sourceUrl": {
        +        "type": "string"
        +      },
        +      "story": {
        +        "additionalProperties": {},
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "truth": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "anchor": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "drifted": {
        +                "type": "boolean"
        +              },
        +              "nodeId": {
        +                "type": "string"
        +              },
        +              "spanId": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              }
        +            },
        +            "required": [
        +              "nodeId",
        +              "spanId",
        +              "drifted"
        +            ],
        +            "type": "object"
        +          },
        +          "assertedBy": {
        +            "type": "string"
        +          },
        +          "confidence": {
        +            "enum": [
        +              "stated",
        +              "verified"
        +            ],
        +            "type": "string"
        +          },
        +          "createdAt": {
        +            "type": "string"
        +          },
        +          "debate": {
        +            "anyOf": [
        +              {
        +                "additionalProperties": false,
        +                "properties": {
        +                  "cap": {
        +                    "type": "number"
        +                  },
        +                  "contestStatement": {
        +                    "type": [
        +                      "string",
        +                      "null"
        +                    ]
        +                  },
        +                  "contestedBy": {
        +                    "type": [
        +                      "string",
        +                      "null"
        +                    ]
        +                  },
        +                  "decideBy": {
        +                    "type": [
        +                      "string",
        +                      "null"
        +                    ]
        +                  },
        +                  "decidedHow": {
        +                    "type": [
        +                      "string",
        +                      "null"
        +                    ]
        +                  },
        +                  "deciderId": {
        +                    "type": [
        +                      "string",
        +                      "null"
        +                    ]
        +                  },
        +                  "decision": {
        +                    "type": [
        +                      "string",
        +                      "null"
        +                    ]
        +                  },
        +                  "note": {
        +                    "type": [
        +                      "string",
        +                      "null"
        +                    ]
        +                  },
        +                  "rounds": {
        +                    "type": "number"
        +                  },
        +                  "threadId": {
        +                    "type": "string"
        +                  }
        +                },
        +                "required": [
        +                  "threadId",
        +                  "contestedBy",
        +                  "contestStatement",
        +                  "rounds",
        +                  "cap",
        +                  "deciderId",
        +                  "decideBy",
        +                  "decision",
        +                  "decidedHow",
        +                  "note"
        +                ],
        +                "type": "object"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "evidence": {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          "id": {
        +            "type": "string"
        +          },
        +          "kind": {
        +            "type": "string"
        +          },
        +          "ownerId": {
        +            "type": "string"
        +          },
        +          "statement": {
        +            "type": "string"
        +          },
        +          "status": {
        +            "type": "string"
        +          },
        +          "supersededBy": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "supersedes": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "updatedAt": {
        +            "type": "string"
        +          },
        +          "verification": {
        +            "anyOf": [
        +              {
        +                "additionalProperties": false,
        +                "properties": {
        +                  "at": {
        +                    "type": "string"
        +                  },
        +                  "by": {
        +                    "type": "string"
        +                  },
        +                  "method": {
        +                    "type": "string"
        +                  },
        +                  "rerunnable": {
        +                    "type": "boolean"
        +                  },
        +                  "result": {
        +                    "type": "string"
        +                  }
        +                },
        +                "required": [
        +                  "method",
        +                  "rerunnable",
        +                  "result",
        +                  "by",
        +                  "at"
        +                ],
        +                "type": "object"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          }
        +        },
        +        "required": [
        +          "id",
        +          "kind",
        +          "status",
        +          "statement",
        +          "evidence",
        +          "ownerId",
        +          "assertedBy",
        +          "anchor",
        +          "confidence",
        +          "verification",
        +          "supersedes",
        +          "supersededBy",
        +          "debate",
        +          "createdAt",
        +          "updatedAt"
        +        ],
        +        "type": "object"
        +      }
        +    },
        +    "required": [
        +      "truth",
        +      "location",
        +      "assertedByName",
        +      "sourceUrl",
        +      "lifecycle",
        +      "origin"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / organization
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "id": {
        +      "type": "string"
        +    },
        +    "name": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "id",
        +    "name"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / schema
        Added value: +{
        +  "const": "agentlefs-decision-history/v1",
        +  "type": "string"
        +}
    • Changedcoordination_write4 fields changed
      • addedOutput schema / properties / decision
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "assertedByName": {
        +      "type": "string"
        +    },
        +    "ballot": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "ballotHash": {
        +          "type": "string"
        +        },
        +        "context": {
        +          "type": "string"
        +        },
        +        "id": {
        +          "type": "string"
        +        },
        +        "options": {
        +          "items": {
        +            "additionalProperties": {},
        +            "properties": {
        +              "id": {
        +                "type": "string"
        +              },
        +              "summary": {
        +                "type": "string"
        +              },
        +              "tradeoffs": {
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "id",
        +              "summary",
        +              "tradeoffs"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "preference": {
        +          "type": "string"
        +        },
        +        "resolution": {
        +          "enum": [
        +            "proposal",
        +            "verified-choice",
        +            "unresolved-choice"
        +          ],
        +          "type": "string"
        +        },
        +        "selectedOptionId": {
        +          "type": "string"
        +        },
        +        "title": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "title",
        +        "context",
        +        "resolution",
        +        "options"
        +      ],
        +      "type": "object"
        +    },
        +    "contextSource": {
        +      "const": "current-document",
        +      "type": "string"
        +    },
        +    "execution": {
        +      "additionalProperties": {},
        +      "properties": {
        +        "evidence": {
        +          "items": {
        +            "type": "string"
        +          },
        +          "type": "array"
        +        },
        +        "state": {
        +          "enum": [
        +            "not_started",
        +            "working",
        +            "waiting",
        +            "blocked",
        +            "completed",
        +            "cancelled"
        +          ],
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "state",
        +        "evidence"
        +      ],
        +      "type": "object"
        +    },
        +    "lifecycle": {
        +      "enum": [
        +        "needs",
        +        "decided",
        +        "completed",
        +        "replaced"
        +      ],
        +      "type": "string"
        +    },
        +    "location": {
        +      "type": "string"
        +    },
        +    "origin": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "organization": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "id": {
        +              "type": "string"
        +            },
        +            "name": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "id",
        +            "name"
        +          ],
        +          "type": "object"
        +        },
        +        "recordedWith": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "version": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "name"
        +          ],
        +          "type": "object"
        +        }
        +      },
        +      "required": [
        +        "organization"
        +      ],
        +      "type": "object"
        +    },
        +    "sourceCommit": {
        +      "type": "string"
        +    },
        +    "sourceIsLive": {
        +      "type": "boolean"
        +    },
        +    "sourceUrl": {
        +      "type": "string"
        +    },
        +    "story": {
        +      "additionalProperties": {},
        +      "propertyNames": {
        +        "type": "string"
        +      },
        +      "type": "object"
        +    },
        +    "summary": {
        +      "type": "string"
        +    },
        +    "title": {
        +      "type": "string"
        +    },
        +    "truth": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "anchor": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "drifted": {
        +              "type": "boolean"
        +            },
        +            "nodeId": {
        +              "type": "string"
        +            },
        +            "spanId": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            }
        +          },
        +          "required": [
        +            "nodeId",
        +            "spanId",
        +            "drifted"
        +          ],
        +          "type": "object"
        +        },
        +        "assertedBy": {
        +          "type": "string"
        +        },
        +        "confidence": {
        +          "enum": [
        +            "stated",
        +            "verified"
        +          ],
        +          "type": "string"
        +        },
        +        "createdAt": {
        +          "type": "string"
        +        },
        +        "debate": {
        +          "anyOf": [
        +            {
        +              "additionalProperties": false,
        +              "properties": {
        +                "cap": {
        +                  "type": "number"
        +                },
        +                "contestStatement": {
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                },
        +                "contestedBy": {
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                },
        +                "decideBy": {
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                },
        +                "decidedHow": {
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                },
        +                "deciderId": {
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                },
        +                "decision": {
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                },
        +                "note": {
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                },
        +                "rounds": {
        +                  "type": "number"
        +                },
        +                "threadId": {
        +                  "type": "string"
        +                }
        +              },
        +              "required": [
        +                "threadId",
        +                "contestedBy",
        +                "contestStatement",
        +                "rounds",
        +                "cap",
        +                "deciderId",
        +                "decideBy",
        +                "decision",
        +                "decidedHow",
        +                "note"
        +              ],
        +              "type": "object"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        },
        +        "evidence": {
        +          "items": {
        +            "type": "string"
        +          },
        +          "type": "array"
        +        },
        +        "id": {
        +          "type": "string"
        +        },
        +        "kind": {
        +          "type": "string"
        +        },
        +        "ownerId": {
        +          "type": "string"
        +        },
        +        "statement": {
        +          "type": "string"
        +        },
        +        "status": {
        +          "type": "string"
        +        },
        +        "supersededBy": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "supersedes": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "updatedAt": {
        +          "type": "string"
        +        },
        +        "verification": {
        +          "anyOf": [
        +            {
        +              "additionalProperties": false,
        +              "properties": {
        +                "at": {
        +                  "type": "string"
        +                },
        +                "by": {
        +                  "type": "string"
        +                },
        +                "method": {
        +                  "type": "string"
        +                },
        +                "rerunnable": {
        +                  "type": "boolean"
        +                },
        +                "result": {
        +                  "type": "string"
        +                }
        +              },
        +              "required": [
        +                "method",
        +                "rerunnable",
        +                "result",
        +                "by",
        +                "at"
        +              ],
        +              "type": "object"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        }
        +      },
        +      "required": [
        +        "id",
        +        "kind",
        +        "status",
        +        "statement",
        +        "evidence",
        +        "ownerId",
        +        "assertedBy",
        +        "anchor",
        +        "confidence",
        +        "verification",
        +        "supersedes",
        +        "supersededBy",
        +        "debate",
        +        "createdAt",
        +        "updatedAt"
        +      ],
        +      "type": "object"
        +    }
        +  },
        +  "required": [
        +    "truth",
        +    "location",
        +    "assertedByName",
        +    "sourceUrl",
        +    "lifecycle",
        +    "origin"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / decisions
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "assertedByName": {
        +        "type": "string"
        +      },
        +      "ballot": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "ballotHash": {
        +            "type": "string"
        +          },
        +          "context": {
        +            "type": "string"
        +          },
        +          "id": {
        +            "type": "string"
        +          },
        +          "options": {
        +            "items": {
        +              "additionalProperties": {},
        +              "properties": {
        +                "id": {
        +                  "type": "string"
        +                },
        +                "summary": {
        +                  "type": "string"
        +                },
        +                "tradeoffs": {
        +                  "type": "string"
        +                }
        +              },
        +              "required": [
        +                "id",
        +                "summary",
        +                "tradeoffs"
        +              ],
        +              "type": "object"
        +            },
        +            "type": "array"
        +          },
        +          "preference": {
        +            "type": "string"
        +          },
        +          "resolution": {
        +            "enum": [
        +              "proposal",
        +              "verified-choice",
        +              "unresolved-choice"
        +            ],
        +            "type": "string"
        +          },
        +          "selectedOptionId": {
        +            "type": "string"
        +          },
        +          "title": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "title",
        +          "context",
        +          "resolution",
        +          "options"
        +        ],
        +        "type": "object"
        +      },
        +      "contextSource": {
        +        "const": "current-document",
        +        "type": "string"
        +      },
        +      "execution": {
        +        "additionalProperties": {},
        +        "properties": {
        +          "evidence": {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          "state": {
        +            "enum": [
        +              "not_started",
        +              "working",
        +              "waiting",
        +              "blocked",
        +              "completed",
        +              "cancelled"
        +            ],
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "state",
        +          "evidence"
        +        ],
        +        "type": "object"
        +      },
        +      "lifecycle": {
        +        "enum": [
        +          "needs",
        +          "decided",
        +          "completed",
        +          "replaced"
        +        ],
        +        "type": "string"
        +      },
        +      "location": {
        +        "type": "string"
        +      },
        +      "origin": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "organization": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "id": {
        +                "type": "string"
        +              },
        +              "name": {
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "id",
        +              "name"
        +            ],
        +            "type": "object"
        +          },
        +          "recordedWith": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "name": {
        +                "type": "string"
        +              },
        +              "version": {
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "name"
        +            ],
        +            "type": "object"
        +          }
        +        },
        +        "required": [
        +          "organization"
        +        ],
        +        "type": "object"
        +      },
        +      "sourceCommit": {
        +        "type": "string"
        +      },
        +      "sourceIsLive": {
        +        "type": "boolean"
        +      },
        +      "sourceUrl": {
        +        "type": "string"
        +      },
        +      "story": {
        +        "additionalProperties": {},
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "truth": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "anchor": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "drifted": {
        +                "type": "boolean"
        +              },
        +              "nodeId": {
        +                "type": "string"
        +              },
        +              "spanId": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              }
        +            },
        +            "required": [
        +              "nodeId",
        +              "spanId",
        +              "drifted"
        +            ],
        +            "type": "object"
        +          },
        +          "assertedBy": {
        +            "type": "string"
        +          },
        +          "confidence": {
        +            "enum": [
        +              "stated",
        +              "verified"
        +            ],
        +            "type": "string"
        +          },
        +          "createdAt": {
        +            "type": "string"
        +          },
        +          "debate": {
        +            "anyOf": [
        +              {
        +                "additionalProperties": false,
        +                "properties": {
        +                  "cap": {
        +                    "type": "number"
        +                  },
        +                  "contestStatement": {
        +                    "type": [
        +                      "string",
        +                      "null"
        +                    ]
        +                  },
        +                  "contestedBy": {
        +                    "type": [
        +                      "string",
        +                      "null"
        +                    ]
        +                  },
        +                  "decideBy": {
        +                    "type": [
        +                      "string",
        +                      "null"
        +                    ]
        +                  },
        +                  "decidedHow": {
        +                    "type": [
        +                      "string",
        +                      "null"
        +                    ]
        +                  },
        +                  "deciderId": {
        +                    "type": [
        +                      "string",
        +                      "null"
        +                    ]
        +                  },
        +                  "decision": {
        +                    "type": [
        +                      "string",
        +                      "null"
        +                    ]
        +                  },
        +                  "note": {
        +                    "type": [
        +                      "string",
        +                      "null"
        +                    ]
        +                  },
        +                  "rounds": {
        +                    "type": "number"
        +                  },
        +                  "threadId": {
        +                    "type": "string"
        +                  }
        +                },
        +                "required": [
        +                  "threadId",
        +                  "contestedBy",
        +                  "contestStatement",
        +                  "rounds",
        +                  "cap",
        +                  "deciderId",
        +                  "decideBy",
        +                  "decision",
        +                  "decidedHow",
        +                  "note"
        +                ],
        +                "type": "object"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "evidence": {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          "id": {
        +            "type": "string"
        +          },
        +          "kind": {
        +            "type": "string"
        +          },
        +          "ownerId": {
        +            "type": "string"
        +          },
        +          "statement": {
        +            "type": "string"
        +          },
        +          "status": {
        +            "type": "string"
        +          },
        +          "supersededBy": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "supersedes": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "updatedAt": {
        +            "type": "string"
        +          },
        +          "verification": {
        +            "anyOf": [
        +              {
        +                "additionalProperties": false,
        +                "properties": {
        +                  "at": {
        +                    "type": "string"
        +                  },
        +                  "by": {
        +                    "type": "string"
        +                  },
        +                  "method": {
        +                    "type": "string"
        +                  },
        +                  "rerunnable": {
        +                    "type": "boolean"
        +                  },
        +                  "result": {
        +                    "type": "string"
        +                  }
        +                },
        +                "required": [
        +                  "method",
        +                  "rerunnable",
        +                  "result",
        +                  "by",
        +                  "at"
        +                ],
        +                "type": "object"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          }
        +        },
        +        "required": [
        +          "id",
        +          "kind",
        +          "status",
        +          "statement",
        +          "evidence",
        +          "ownerId",
        +          "assertedBy",
        +          "anchor",
        +          "confidence",
        +          "verification",
        +          "supersedes",
        +          "supersededBy",
        +          "debate",
        +          "createdAt",
        +          "updatedAt"
        +        ],
        +        "type": "object"
        +      }
        +    },
        +    "required": [
        +      "truth",
        +      "location",
        +      "assertedByName",
        +      "sourceUrl",
        +      "lifecycle",
        +      "origin"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / organization
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "id": {
        +      "type": "string"
        +    },
        +    "name": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "id",
        +    "name"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / schema
        Added value: +{
        +  "const": "agentlefs-decision-history/v1",
        +  "type": "string"
        +}
    • Changedread6 fields changed
      • changedInput schema / properties / action / enum
        Previous value: -[
        -  "document",
        -  "version",
        -  "message",
        -  "thread",
        -  "truth",
        -  "span_history",
        -  "lesson",
        -  "lesson_notes",
        -  "package",
        -  "room",
        -  "wait",
        -  "changes"
        -]New value: +[
        +  "document",
        +  "version",
        +  "message",
        +  "thread",
        +  "truth",
        +  "decision",
        +  "span_history",
        +  "lesson",
        +  "lesson_notes",
        +  "package",
        +  "room",
        +  "wait",
        +  "changes"
        +]
      • changedInput schema / properties / id / description
        Previous value: -"truth: the truth's id · lesson, lesson_notes: an item id, or the citation search returns for it (knowledge:<id>@v<version>)"New value: +"truth, decision: the truth's id · lesson, lesson_notes: an item id, or the citation search returns for it (knowledge:<id>@v<version>)"
      • addedOutput schema / properties / decision
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "assertedByName": {
        +      "type": "string"
        +    },
        +    "ballot": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "ballotHash": {
        +          "type": "string"
        +        },
        +        "context": {
        +          "type": "string"
        +        },
        +        "id": {
        +          "type": "string"
        +        },
        +        "options": {
        +          "items": {
        +            "additionalProperties": {},
        +            "properties": {
        +              "id": {
        +                "type": "string"
        +              },
        +              "summary": {
        +                "type": "string"
        +              },
        +              "tradeoffs": {
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "id",
        +              "summary",
        +              "tradeoffs"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "preference": {
        +          "type": "string"
        +        },
        +        "resolution": {
        +          "enum": [
        +            "proposal",
        +            "verified-choice",
        +            "unresolved-choice"
        +          ],
        +          "type": "string"
        +        },
        +        "selectedOptionId": {
        +          "type": "string"
        +        },
        +        "title": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "title",
        +        "context",
        +        "resolution",
        +        "options"
        +      ],
        +      "type": "object"
        +    },
        +    "contextSource": {
        +      "const": "current-document",
        +      "type": "string"
        +    },
        +    "execution": {
        +      "additionalProperties": {},
        +      "properties": {
        +        "evidence": {
        +          "items": {
        +            "type": "string"
        +          },
        +          "type": "array"
        +        },
        +        "state": {
        +          "enum": [
        +            "not_started",
        +            "working",
        +            "waiting",
        +            "blocked",
        +            "completed",
        +            "cancelled"
        +          ],
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "state",
        +        "evidence"
        +      ],
        +      "type": "object"
        +    },
        +    "lifecycle": {
        +      "enum": [
        +        "needs",
        +        "decided",
        +        "completed",
        +        "replaced"
        +      ],
        +      "type": "string"
        +    },
        +    "location": {
        +      "type": "string"
        +    },
        +    "origin": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "organization": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "id": {
        +              "type": "string"
        +            },
        +            "name": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "id",
        +            "name"
        +          ],
        +          "type": "object"
        +        },
        +        "recordedWith": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "version": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "name"
        +          ],
        +          "type": "object"
        +        }
        +      },
        +      "required": [
        +        "organization"
        +      ],
        +      "type": "object"
        +    },
        +    "sourceCommit": {
        +      "type": "string"
        +    },
        +    "sourceIsLive": {
        +      "type": "boolean"
        +    },
        +    "sourceUrl": {
        +      "type": "string"
        +    },
        +    "story": {
        +      "additionalProperties": {},
        +      "propertyNames": {
        +        "type": "string"
        +      },
        +      "type": "object"
        +    },
        +    "summary": {
        +      "type": "string"
        +    },
        +    "title": {
        +      "type": "string"
        +    },
        +    "truth": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "anchor": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "drifted": {
        +              "type": "boolean"
        +            },
        +            "nodeId": {
        +              "type": "string"
        +            },
        +            "spanId": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            }
        +          },
        +          "required": [
        +            "nodeId",
        +            "spanId",
        +            "drifted"
        +          ],
        +          "type": "object"
        +        },
        +        "assertedBy": {
        +          "type": "string"
        +        },
        +        "confidence": {
        +          "enum": [
        +            "stated",
        +            "verified"
        +          ],
        +          "type": "string"
        +        },
        +        "createdAt": {
        +          "type": "string"
        +        },
        +        "debate": {
        +          "anyOf": [
        +            {
        +              "additionalProperties": false,
        +              "properties": {
        +                "cap": {
        +                  "type": "number"
        +                },
        +                "contestStatement": {
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                },
        +                "contestedBy": {
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                },
        +                "decideBy": {
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                },
        +                "decidedHow": {
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                },
        +                "deciderId": {
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                },
        +                "decision": {
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                },
        +                "note": {
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                },
        +                "rounds": {
        +                  "type": "number"
        +                },
        +                "threadId": {
        +                  "type": "string"
        +                }
        +              },
        +              "required": [
        +                "threadId",
        +                "contestedBy",
        +                "contestStatement",
        +                "rounds",
        +                "cap",
        +                "deciderId",
        +                "decideBy",
        +                "decision",
        +                "decidedHow",
        +                "note"
        +              ],
        +              "type": "object"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        },
        +        "evidence": {
        +          "items": {
        +            "type": "string"
        +          },
        +          "type": "array"
        +        },
        +        "id": {
        +          "type": "string"
        +        },
        +        "kind": {
        +          "type": "string"
        +        },
        +        "ownerId": {
        +          "type": "string"
        +        },
        +        "statement": {
        +          "type": "string"
        +        },
        +        "status": {
        +          "type": "string"
        +        },
        +        "supersededBy": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "supersedes": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "updatedAt": {
        +          "type": "string"
        +        },
        +        "verification": {
        +          "anyOf": [
        +            {
        +              "additionalProperties": false,
        +              "properties": {
        +                "at": {
        +                  "type": "string"
        +                },
        +                "by": {
        +                  "type": "string"
        +                },
        +                "method": {
        +                  "type": "string"
        +                },
        +                "rerunnable": {
        +                  "type": "boolean"
        +                },
        +                "result": {
        +                  "type": "string"
        +                }
        +              },
        +              "required": [
        +                "method",
        +                "rerunnable",
        +                "result",
        +                "by",
        +                "at"
        +              ],
        +              "type": "object"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        }
        +      },
        +      "required": [
        +        "id",
        +        "kind",
        +        "status",
        +        "statement",
        +        "evidence",
        +        "ownerId",
        +        "assertedBy",
        +        "anchor",
        +        "confidence",
        +        "verification",
        +        "supersedes",
        +        "supersededBy",
        +        "debate",
        +        "createdAt",
        +        "updatedAt"
        +      ],
        +      "type": "object"
        +    }
        +  },
        +  "required": [
        +    "truth",
        +    "location",
        +    "assertedByName",
        +    "sourceUrl",
        +    "lifecycle",
        +    "origin"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / decisions
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "assertedByName": {
        +        "type": "string"
        +      },
        +      "ballot": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "ballotHash": {
        +            "type": "string"
        +          },
        +          "context": {
        +            "type": "string"
        +          },
        +          "id": {
        +            "type": "string"
        +          },
        +          "options": {
        +            "items": {
        +              "additionalProperties": {},
        +              "properties": {
        +                "id": {
        +                  "type": "string"
        +                },
        +                "summary": {
        +                  "type": "string"
        +                },
        +                "tradeoffs": {
        +                  "type": "string"
        +                }
        +              },
        +              "required": [
        +                "id",
        +                "summary",
        +                "tradeoffs"
        +              ],
        +              "type": "object"
        +            },
        +            "type": "array"
        +          },
        +          "preference": {
        +            "type": "string"
        +          },
        +          "resolution": {
        +            "enum": [
        +              "proposal",
        +              "verified-choice",
        +              "unresolved-choice"
        +            ],
        +            "type": "string"
        +          },
        +          "selectedOptionId": {
        +            "type": "string"
        +          },
        +          "title": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "title",
        +          "context",
        +          "resolution",
        +          "options"
        +        ],
        +        "type": "object"
        +      },
        +      "contextSource": {
        +        "const": "current-document",
        +        "type": "string"
        +      },
        +      "execution": {
        +        "additionalProperties": {},
        +        "properties": {
        +          "evidence": {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          "state": {
        +            "enum": [
        +              "not_started",
        +              "working",
        +              "waiting",
        +              "blocked",
        +              "completed",
        +              "cancelled"
        +            ],
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "state",
        +          "evidence"
        +        ],
        +        "type": "object"
        +      },
        +      "lifecycle": {
        +        "enum": [
        +          "needs",
        +          "decided",
        +          "completed",
        +          "replaced"
        +        ],
        +        "type": "string"
        +      },
        +      "location": {
        +        "type": "string"
        +      },
        +      "origin": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "organization": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "id": {
        +                "type": "string"
        +              },
        +              "name": {
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "id",
        +              "name"
        +            ],
        +            "type": "object"
        +          },
        +          "recordedWith": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "name": {
        +                "type": "string"
        +              },
        +              "version": {
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "name"
        +            ],
        +            "type": "object"
        +          }
        +        },
        +        "required": [
        +          "organization"
        +        ],
        +        "type": "object"
        +      },
        +      "sourceCommit": {
        +        "type": "string"
        +      },
        +      "sourceIsLive": {
        +        "type": "boolean"
        +      },
        +      "sourceUrl": {
        +        "type": "string"
        +      },
        +      "story": {
        +        "additionalProperties": {},
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "truth": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "anchor": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "drifted": {
        +                "type": "boolean"
        +              },
        +              "nodeId": {
        +                "type": "string"
        +              },
        +              "spanId": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              }
        +            },
        +            "required": [
        +              "nodeId",
        +              "spanId",
        +              "drifted"
        +            ],
        +            "type": "object"
        +          },
        +          "assertedBy": {
        +            "type": "string"
        +          },
        +          "confidence": {
        +            "enum": [
        +              "stated",
        +              "verified"
        +            ],
        +            "type": "string"
        +          },
        +          "createdAt": {
        +            "type": "string"
        +          },
        +          "debate": {
        +            "anyOf": [
        +              {
        +                "additionalProperties": false,
        +                "properties": {
        +                  "cap": {
        +                    "type": "number"
        +                  },
        +                  "contestStatement": {
        +                    "type": [
        +                      "string",
        +                      "null"
        +                    ]
        +                  },
        +                  "contestedBy": {
        +                    "type": [
        +                      "string",
        +                      "null"
        +                    ]
        +                  },
        +                  "decideBy": {
        +                    "type": [
        +                      "string",
        +                      "null"
        +                    ]
        +                  },
        +                  "decidedHow": {
        +                    "type": [
        +                      "string",
        +                      "null"
        +                    ]
        +                  },
        +                  "deciderId": {
        +                    "type": [
        +                      "string",
        +                      "null"
        +                    ]
        +                  },
        +                  "decision": {
        +                    "type": [
        +                      "string",
        +                      "null"
        +                    ]
        +                  },
        +                  "note": {
        +                    "type": [
        +                      "string",
        +                      "null"
        +                    ]
        +                  },
        +                  "rounds": {
        +                    "type": "number"
        +                  },
        +                  "threadId": {
        +                    "type": "string"
        +                  }
        +                },
        +                "required": [
        +                  "threadId",
        +                  "contestedBy",
        +                  "contestStatement",
        +                  "rounds",
        +                  "cap",
        +                  "deciderId",
        +                  "decideBy",
        +                  "decision",
        +                  "decidedHow",
        +                  "note"
        +                ],
        +                "type": "object"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "evidence": {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          "id": {
        +            "type": "string"
        +          },
        +          "kind": {
        +            "type": "string"
        +          },
        +          "ownerId": {
        +            "type": "string"
        +          },
        +          "statement": {
        +            "type": "string"
        +          },
        +          "status": {
        +            "type": "string"
        +          },
        +          "supersededBy": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "supersedes": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "updatedAt": {
        +            "type": "string"
        +          },
        +          "verification": {
        +            "anyOf": [
        +              {
        +                "additionalProperties": false,
        +                "properties": {
        +                  "at": {
        +                    "type": "string"
        +                  },
        +                  "by": {
        +                    "type": "string"
        +                  },
        +                  "method": {
        +                    "type": "string"
        +                  },
        +                  "rerunnable": {
        +                    "type": "boolean"
        +                  },
        +                  "result": {
        +                    "type": "string"
        +                  }
        +                },
        +                "required": [
        +                  "method",
        +                  "rerunnable",
        +                  "result",
        +                  "by",
        +                  "at"
        +                ],
        +                "type": "object"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          }
        +        },
        +        "required": [
        +          "id",
        +          "kind",
        +          "status",
        +          "statement",
        +          "evidence",
        +          "ownerId",
        +          "assertedBy",
        +          "anchor",
        +          "confidence",
        +          "verification",
        +          "supersedes",
        +          "supersededBy",
        +          "debate",
        +          "createdAt",
        +          "updatedAt"
        +        ],
        +        "type": "object"
        +      }
        +    },
        +    "required": [
        +      "truth",
        +      "location",
        +      "assertedByName",
        +      "sourceUrl",
        +      "lifecycle",
        +      "origin"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / organization
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "id": {
        +      "type": "string"
        +    },
        +    "name": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "id",
        +    "name"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / schema
        Added value: +{
        +  "const": "agentlefs-decision-history/v1",
        +  "type": "string"
        +}
  3. 16 tool updates
    • Changedaccess_grant2 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedaccess_read2 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedaccess_revoke2 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedbrief_me2 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedbrowse2 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedcoordination_write2 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changeddoc_create2 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changeddoc_delete2 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changeddoc_update2 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedidentity_write2 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedknowledge_write2 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedmessage_write2 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedread2 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedregistry_write2 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedsearch2 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedsources_write2 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  4. 2 tool updates
    • Changeddoc_create1 field changed
      • changedInput schema / properties / content / description
        Previous value: -"document: the whole document. Set metadata with YAML frontmatter at the top of `content`: `type` (one of: meeting-notes, playbook, spec, brand-asset, web-clip, contract, misc — anything else becomes misc), `title`, `summary`, and `tags` as a list. `tags` is the write-side spelling of what the listing tools call `label`. `status` takes `active` or `inactive` and is not a label: `inactive` retires a document — it stays in the folder and stays openable in the console, but agents stop retrieving it. Omit it unless you mean to retire something. `aliases` (a list, or one name) are other names search how=titles finds the document by; a [[link]] still needs its file name or title. Any other key you write (`sources`, …) is kept as written and comes back on read; key order may change. A block that does not parse as YAML is refused, naming the line, and nothing is written: quote a value that contains \": \" (summary: \"a: b\")."New value: +"document: the whole document. Set metadata with YAML frontmatter at the top of `content`: `type` (one of: meeting-notes, playbook, spec, brand-asset, web-clip, contract, misc — anything else becomes misc), `title`, `summary`, and `tags` as a list. `tags` is the write-side spelling of what the listing tools call `label`. `status` takes `active` or `inactive` and is not a label: `inactive` retires a document — search and listings stop showing it, while whoever may write it still opens it by location or node, and removing the line brings it back. Omit it unless you mean to retire something. `aliases` (a list, or one name) are other names search how=titles finds the document by; a [[link]] still needs its file name or title. Any other key you write (`sources`, …) is kept as written and comes back on read; key order may change. A block that does not parse as YAML is refused, naming the line, and nothing is written: quote a value that contains \": \" (summary: \"a: b\")."
    • Changeddoc_update1 field changed
      • changedInput schema / properties / content / description
        Previous value: -"replace: the whole document. Set metadata with YAML frontmatter at the top of `content`: `type` (one of: meeting-notes, playbook, spec, brand-asset, web-clip, contract, misc — anything else becomes misc), `title`, `summary`, and `tags` as a list. `tags` is the write-side spelling of what the listing tools call `label`. `status` takes `active` or `inactive` and is not a label: `inactive` retires a document — it stays in the folder and stays openable in the console, but agents stop retrieving it. Omit it unless you mean to retire something. `aliases` (a list, or one name) are other names search how=titles finds the document by; a [[link]] still needs its file name or title. Any other key you write (`sources`, …) is kept as written and comes back on read; key order may change. A block that does not parse as YAML is refused, naming the line, and nothing is written: quote a value that contains \": \" (summary: \"a: b\")."New value: +"replace: the whole document. Set metadata with YAML frontmatter at the top of `content`: `type` (one of: meeting-notes, playbook, spec, brand-asset, web-clip, contract, misc — anything else becomes misc), `title`, `summary`, and `tags` as a list. `tags` is the write-side spelling of what the listing tools call `label`. `status` takes `active` or `inactive` and is not a label: `inactive` retires a document — search and listings stop showing it, while whoever may write it still opens it by location or node, and removing the line brings it back. Omit it unless you mean to retire something. `aliases` (a list, or one name) are other names search how=titles finds the document by; a [[link]] still needs its file name or title. Any other key you write (`sources`, …) is kept as written and comes back on read; key order may change. A block that does not parse as YAML is refused, naming the line, and nothing is written: quote a value that contains \": \" (summary: \"a: b\")."
  5. 2 tool updates
    • Changeddoc_create1 field changed
      • addedOutput schema / properties / location
        Added value: +{
        +  "description": "the whole path from the workspace root this write resolved to; present on a successful write",
        +  "type": "string"
        +}
    • Changeddoc_update2 fields changed
      • addedInput schema / properties / span
        Added value: +{
        +  "description": "edit: a block's span id (search within, browse action=spans): new_string replaces that one block, or, with old_string, old_string inside it; the rest of the document is not read back to you",
        +  "type": "string"
        +}
      • addedOutput schema / properties / location
        Added value: +{
        +  "description": "the whole path from the workspace root this write resolved to; present on a successful write",
        +  "type": "string"
        +}
  6. 4 tool updates
    • Changedaccess_grant1 field changed
      • changedInput schema / properties / scope_type / description
        Previous value: -"share: default folder, or what a pasted link names"New value: +"share: folder (the default) shares everything beneath the path; document shares that one file. A pasted link's kind is used when omitted."
    • Changedbrief_me2 fields changed
      • addedOutput schema / properties / pendingDecisions
        Added value: +{
        +  "description": "proposed decision truths (pending team ballots) whose documents you can read, including ones filed without a directed ask",
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "at": {
        +        "type": "string"
        +      },
        +      "by": {
        +        "type": "string"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "location": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "statement": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "id",
        +      "statement",
        +      "location",
        +      "by",
        +      "at"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "cursor",
        -  "me",
        -  "claims",
        -  "commitments",
        -  "waiting",
        -  "asked",
        -  "answered",
        -  "resolvedWaits",
        -  "pendingWaits",
        -  "approvals",
        -  "invitations",
        -  "offers",
        -  "memberships",
        -  "session",
        -  "usage",
        -  "loops",
        -  "changed",
        -  "contested",
        -  "skills",
        -  "memory",
        -  "loaded",
        -  "projects"
        -]New value: +[
        +  "cursor",
        +  "me",
        +  "claims",
        +  "commitments",
        +  "waiting",
        +  "asked",
        +  "answered",
        +  "resolvedWaits",
        +  "pendingWaits",
        +  "approvals",
        +  "invitations",
        +  "offers",
        +  "memberships",
        +  "session",
        +  "usage",
        +  "loops",
        +  "changed",
        +  "contested",
        +  "pendingDecisions",
        +  "skills",
        +  "memory",
        +  "loaded",
        +  "projects"
        +]
    • Changedbrowse7 fields changed
      • changedInput schema / properties / action / enum
        Previous value: -[
        -  "folders",
        -  "versions",
        -  "documents",
        -  "sources",
        -  "people",
        -  "inbox",
        -  "claims",
        -  "waits",
        -  "subscriptions",
        -  "rooms",
        -  "truths",
        -  "spans",
        -  "links",
        -  "drafts",
        -  "lessons",
        -  "comments",
        -  "connectors",
        -  "pins",
        -  "projects",
        -  "packages",
        -  "context",
        -  "reports"
        -]New value: +[
        +  "folders",
        +  "versions",
        +  "documents",
        +  "sources",
        +  "people",
        +  "inbox",
        +  "claims",
        +  "waits",
        +  "subscriptions",
        +  "rooms",
        +  "truths",
        +  "spans",
        +  "links",
        +  "drafts",
        +  "lessons",
        +  "comments",
        +  "connectors",
        +  "pins",
        +  "github_issues",
        +  "projects",
        +  "packages",
        +  "context",
        +  "reports"
        +]
      • addedInput schema / properties / issue
        Added value: +{
        +  "description": "github_issues: GitHub issue URL or owner/repo#N (required for bind_issue, of_issue; optional for unbind_issue / github_issues)",
        +  "type": "string"
        +}
      • changedInput schema / properties / location / description
        Previous value: -"folders: full path to scope to, e.g. \"handbook\" or \"handbook/vendor\". Omit to cover everything you can reach. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · versions: full path from the workspace root, e.g. \"handbook/vendor/acme.md\". Give this OR node. A path is what a person reads; a node is what survives somebody reorganizing. · documents: the folder to list, full path from the workspace root, e.g. \"handbook\" or \"handbook/vendor\". A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · truths, spans: a document or folder path. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · comments: the document or folder path. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · context: a folder or document; its folder and every folder above it are asked. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too."New value: +"folders: full path to scope to, e.g. \"handbook\" or \"handbook/vendor\". Omit to cover everything you can reach. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · versions: full path from the workspace root, e.g. \"handbook/vendor/acme.md\". Give this OR node. A path is what a person reads; a node is what survives somebody reorganizing. · documents: the folder to list, full path from the workspace root, e.g. \"handbook\" or \"handbook/vendor\". A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · claims: the document, whole path from the workspace root. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · truths, spans: a document or folder path. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · comments: the document or folder path. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · github_issues: folder or document path to bind. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · context: a folder or document; its folder and every folder above it are asked. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too."
      • changedInput schema / properties / node / description
        Previous value: -"versions: the document's id, as returned beside its location — survives a rename or a move, so a citation written into a stored document keeps pointing at the right thing. Give this OR location, never both. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · truths, spans: a node id, instead of location. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too."New value: +"versions: the document's id, as returned beside its location — survives a rename or a move, so a citation written into a stored document keeps pointing at the right thing. Give this OR location, never both. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · claims: the document's node id instead of a path. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · truths, spans: a node id, instead of location. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · github_issues: folder or document node id, instead of location. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too."
      • addedOutput schema / properties / bind
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "issue": {
        +      "type": "string"
        +    },
        +    "kind": {
        +      "enum": [
        +        "folder",
        +        "document"
        +      ],
        +      "type": "string"
        +    },
        +    "location": {
        +      "type": "string"
        +    },
        +    "node": {
        +      "type": "string"
        +    },
        +    "pointer_body": {
        +      "type": "string"
        +    },
        +    "pointer_url": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "issue",
        +    "node",
        +    "location",
        +    "kind",
        +    "pointer_url",
        +    "pointer_body"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / binds
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "issue": {
        +        "type": "string"
        +      },
        +      "kind": {
        +        "enum": [
        +          "folder",
        +          "document"
        +        ],
        +        "type": "string"
        +      },
        +      "location": {
        +        "type": "string"
        +      },
        +      "node": {
        +        "type": "string"
        +      },
        +      "pointer_body": {
        +        "type": "string"
        +      },
        +      "pointer_url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "issue",
        +      "node",
        +      "location",
        +      "kind",
        +      "pointer_url",
        +      "pointer_body"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / unbound
        Added value: +{
        +  "type": "boolean"
        +}
    • Changedsources_write7 fields changed
      • changedInput schema / properties / action / enum
        Previous value: -[
        -  "connect",
        -  "sync",
        -  "vote"
        -]New value: +[
        +  "connect",
        +  "sync",
        +  "vote",
        +  "bind_issue",
        +  "unbind_issue"
        +]
      • addedInput schema / properties / issue
        Added value: +{
        +  "description": "bind_issue, unbind_issue: GitHub issue URL or owner/repo#N (required for bind_issue, of_issue; optional for unbind_issue / github_issues)",
        +  "type": "string"
        +}
      • changedInput schema / properties / location / description
        Previous value: -"sync: the FOLDER this source writes into, whole path from the workspace root, e.g. \"handbook\" or \"handbook/vendor\""New value: +"sync: the FOLDER this source writes into, whole path from the workspace root, e.g. \"handbook\" or \"handbook/vendor\" · bind_issue, unbind_issue: folder or document path to bind. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too."
      • addedInput schema / properties / node
        Added value: +{
        +  "description": "bind_issue, unbind_issue: folder or document node id, instead of location. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / bind
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "issue": {
        +      "type": "string"
        +    },
        +    "kind": {
        +      "enum": [
        +        "folder",
        +        "document"
        +      ],
        +      "type": "string"
        +    },
        +    "location": {
        +      "type": "string"
        +    },
        +    "node": {
        +      "type": "string"
        +    },
        +    "pointer_body": {
        +      "type": "string"
        +    },
        +    "pointer_url": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "issue",
        +    "node",
        +    "location",
        +    "kind",
        +    "pointer_url",
        +    "pointer_body"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / binds
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "issue": {
        +        "type": "string"
        +      },
        +      "kind": {
        +        "enum": [
        +          "folder",
        +          "document"
        +        ],
        +        "type": "string"
        +      },
        +      "location": {
        +        "type": "string"
        +      },
        +      "node": {
        +        "type": "string"
        +      },
        +      "pointer_body": {
        +        "type": "string"
        +      },
        +      "pointer_url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "issue",
        +      "node",
        +      "location",
        +      "kind",
        +      "pointer_url",
        +      "pointer_body"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / unbound
        Added value: +{
        +  "type": "boolean"
        +}
  7. 16 tool updates
    • Changedaccess_grant35 fields changed
      • removedInput schema / properties / editors_can_share / anyOf
        Removed value: -[
        -  {
        -    "type": "boolean"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedInput schema / properties / editors_can_share / type
        Added value: +[
        +  "boolean",
        +  "null"
        +]
      • addedInput schema / properties / seat
        Added value: +{
        +  "description": "the seat token identity_write action=take_seat gave you; pass it on every call while you drive that agent",
        +  "maxLength": 64,
        +  "type": "string"
        +}
      • removedOutput schema / properties / across / items / properties / mount / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / across / items / properties / mount / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / hold / properties / releasedAt / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / hold / properties / releasedAt / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / labels / items / properties / declassifiedBy / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / labels / items / properties / declassifiedBy / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / labels / items / properties / derivedBy / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / labels / items / properties / derivedBy / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / labels / items / properties / location / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / labels / items / properties / location / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / request / properties / approvals / items / properties / approverDisplay / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / request / properties / approvals / items / properties / approverDisplay / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / request / properties / approvals / items / properties / approverId / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / request / properties / approvals / items / properties / approverId / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / request / properties / approvals / items / properties / note / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / request / properties / approvals / items / properties / note / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / request / properties / asked / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / request / properties / asked / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / request / properties / location / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / request / properties / location / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / requests / items / properties / approvals / items / properties / approverDisplay / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / requests / items / properties / approvals / items / properties / approverDisplay / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / requests / items / properties / approvals / items / properties / approverId / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / requests / items / properties / approvals / items / properties / approverId / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / requests / items / properties / approvals / items / properties / note / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / requests / items / properties / approvals / items / properties / note / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / requests / items / properties / asked / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / requests / items / properties / asked / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / requests / items / properties / location / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / requests / items / properties / location / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / settings / properties / inheritedFrom / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / settings / properties / inheritedFrom / type
        Added value: +[
        +  "string",
        +  "null"
        +]
    • Changedaccess_read64 fields changed
      • addedInput schema / properties / seat
        Added value: +{
        +  "description": "the seat token identity_write action=take_seat gave you; pass it on every call while you drive that agent",
        +  "maxLength": 64,
        +  "type": "string"
        +}
      • removedOutput schema / properties / across / items / properties / mount / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / across / items / properties / mount / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / ended / properties / heir / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / ended / properties / heir / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / hold / properties / releasedAt / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / hold / properties / releasedAt / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • addedOutput schema / properties / home
        Added value: +{
        +  "description": "your home folder: your journal and standing instructions, read only by you and those above you",
        +  "type": "string"
        +}
      • addedOutput schema / properties / identity / properties / handle
        Added value: +{
        +  "description": "an agent's name in the organization: address it as @handle",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • removedOutput schema / properties / identity / properties / lastSeenAt / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / identity / properties / lastSeenAt / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • addedOutput schema / properties / identity / properties / sleepUntil
        Added value: +{
        +  "anyOf": [
        +    {
        +      "enum": [
        +        "woken",
        +        "reply"
        +      ],
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "when asleep: what wakes it"
        +}
      • addedOutput schema / properties / identity / properties / status / description
        Added value: +"live, asleep (nothing drives it until it is woken), retired or dead"
      • addedOutput schema / properties / journal
        Added value: +{
        +  "description": "with take_seat: the end of your journal, newest last; read it before you carry on",
        +  "type": "string"
        +}
      • addedOutput schema / properties / journalEntry
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "at": {
        +      "type": "string"
        +    },
        +    "location": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "location",
        +    "at"
        +  ],
        +  "type": "object"
        +}
      • removedOutput schema / properties / labels / items / properties / declassifiedBy / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / labels / items / properties / declassifiedBy / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / labels / items / properties / derivedBy / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / labels / items / properties / derivedBy / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / labels / items / properties / location / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / labels / items / properties / location / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • addedOutput schema / properties / position / properties / ancestors / items / properties / handle
        Added value: +{
        +  "description": "an agent's name in the organization: address it as @handle",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • removedOutput schema / properties / position / properties / ancestors / items / properties / lastSeenAt / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / position / properties / ancestors / items / properties / lastSeenAt / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • addedOutput schema / properties / position / properties / ancestors / items / properties / sleepUntil
        Added value: +{
        +  "anyOf": [
        +    {
        +      "enum": [
        +        "woken",
        +        "reply"
        +      ],
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "when asleep: what wakes it"
        +}
      • addedOutput schema / properties / position / properties / ancestors / items / properties / status / description
        Added value: +"live, asleep (nothing drives it until it is woken), retired or dead"
      • addedOutput schema / properties / position / properties / children / items / properties / handle
        Added value: +{
        +  "description": "an agent's name in the organization: address it as @handle",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • removedOutput schema / properties / position / properties / children / items / properties / lastSeenAt / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / position / properties / children / items / properties / lastSeenAt / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • addedOutput schema / properties / position / properties / children / items / properties / sleepUntil
        Added value: +{
        +  "anyOf": [
        +    {
        +      "enum": [
        +        "woken",
        +        "reply"
        +      ],
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "when asleep: what wakes it"
        +}
      • addedOutput schema / properties / position / properties / children / items / properties / status / description
        Added value: +"live, asleep (nothing drives it until it is woken), retired or dead"
      • addedOutput schema / properties / position / properties / self / properties / handle
        Added value: +{
        +  "description": "an agent's name in the organization: address it as @handle",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • removedOutput schema / properties / position / properties / self / properties / lastSeenAt / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / position / properties / self / properties / lastSeenAt / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • addedOutput schema / properties / position / properties / self / properties / sleepUntil
        Added value: +{
        +  "anyOf": [
        +    {
        +      "enum": [
        +        "woken",
        +        "reply"
        +      ],
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "when asleep: what wakes it"
        +}
      • addedOutput schema / properties / position / properties / self / properties / status / description
        Added value: +"live, asleep (nothing drives it until it is woken), retired or dead"
      • addedOutput schema / properties / position / properties / siblings / items / properties / handle
        Added value: +{
        +  "description": "an agent's name in the organization: address it as @handle",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • removedOutput schema / properties / position / properties / siblings / items / properties / lastSeenAt / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / position / properties / siblings / items / properties / lastSeenAt / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • addedOutput schema / properties / position / properties / siblings / items / properties / sleepUntil
        Added value: +{
        +  "anyOf": [
        +    {
        +      "enum": [
        +        "woken",
        +        "reply"
        +      ],
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "when asleep: what wakes it"
        +}
      • addedOutput schema / properties / position / properties / siblings / items / properties / status / description
        Added value: +"live, asleep (nothing drives it until it is woken), retired or dead"
      • removedOutput schema / properties / request / properties / approvals / items / properties / approverDisplay / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / request / properties / approvals / items / properties / approverDisplay / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / request / properties / approvals / items / properties / approverId / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / request / properties / approvals / items / properties / approverId / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / request / properties / approvals / items / properties / note / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / request / properties / approvals / items / properties / note / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / request / properties / asked / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / request / properties / asked / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / request / properties / location / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / request / properties / location / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / requests / items / properties / approvals / items / properties / approverDisplay / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / requests / items / properties / approvals / items / properties / approverDisplay / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / requests / items / properties / approvals / items / properties / approverId / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / requests / items / properties / approvals / items / properties / approverId / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / requests / items / properties / approvals / items / properties / note / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / requests / items / properties / approvals / items / properties / note / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / requests / items / properties / asked / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / requests / items / properties / asked / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / requests / items / properties / location / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / requests / items / properties / location / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • addedOutput schema / properties / seat
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "clientName": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "epoch": {
        +      "description": "raised on every take; a write under an older one is refused",
        +      "type": "number"
        +    },
        +    "expiresAt": {
        +      "description": "renew before then (renew_seat), or the seat is free for the next session",
        +      "type": "string"
        +    },
        +    "token": {
        +      "description": "with take_seat: pass it as `seat` on every call while you drive this agent",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "epoch",
        +    "expiresAt",
        +    "clientName"
        +  ],
        +  "type": "object"
        +}
      • removedOutput schema / properties / settings / properties / inheritedFrom / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / settings / properties / inheritedFrom / type
        Added value: +[
        +  "string",
        +  "null"
        +]
    • Changedaccess_revoke64 fields changed
      • addedInput schema / properties / seat
        Added value: +{
        +  "description": "the seat token identity_write action=take_seat gave you; pass it on every call while you drive that agent",
        +  "maxLength": 64,
        +  "type": "string"
        +}
      • removedOutput schema / properties / across / items / properties / mount / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / across / items / properties / mount / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / ended / properties / heir / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / ended / properties / heir / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / hold / properties / releasedAt / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / hold / properties / releasedAt / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • addedOutput schema / properties / home
        Added value: +{
        +  "description": "your home folder: your journal and standing instructions, read only by you and those above you",
        +  "type": "string"
        +}
      • addedOutput schema / properties / identity / properties / handle
        Added value: +{
        +  "description": "an agent's name in the organization: address it as @handle",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • removedOutput schema / properties / identity / properties / lastSeenAt / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / identity / properties / lastSeenAt / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • addedOutput schema / properties / identity / properties / sleepUntil
        Added value: +{
        +  "anyOf": [
        +    {
        +      "enum": [
        +        "woken",
        +        "reply"
        +      ],
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "when asleep: what wakes it"
        +}
      • addedOutput schema / properties / identity / properties / status / description
        Added value: +"live, asleep (nothing drives it until it is woken), retired or dead"
      • addedOutput schema / properties / journal
        Added value: +{
        +  "description": "with take_seat: the end of your journal, newest last; read it before you carry on",
        +  "type": "string"
        +}
      • addedOutput schema / properties / journalEntry
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "at": {
        +      "type": "string"
        +    },
        +    "location": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "location",
        +    "at"
        +  ],
        +  "type": "object"
        +}
      • removedOutput schema / properties / labels / items / properties / declassifiedBy / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / labels / items / properties / declassifiedBy / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / labels / items / properties / derivedBy / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / labels / items / properties / derivedBy / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / labels / items / properties / location / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / labels / items / properties / location / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • addedOutput schema / properties / position / properties / ancestors / items / properties / handle
        Added value: +{
        +  "description": "an agent's name in the organization: address it as @handle",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • removedOutput schema / properties / position / properties / ancestors / items / properties / lastSeenAt / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / position / properties / ancestors / items / properties / lastSeenAt / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • addedOutput schema / properties / position / properties / ancestors / items / properties / sleepUntil
        Added value: +{
        +  "anyOf": [
        +    {
        +      "enum": [
        +        "woken",
        +        "reply"
        +      ],
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "when asleep: what wakes it"
        +}
      • addedOutput schema / properties / position / properties / ancestors / items / properties / status / description
        Added value: +"live, asleep (nothing drives it until it is woken), retired or dead"
      • addedOutput schema / properties / position / properties / children / items / properties / handle
        Added value: +{
        +  "description": "an agent's name in the organization: address it as @handle",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • removedOutput schema / properties / position / properties / children / items / properties / lastSeenAt / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / position / properties / children / items / properties / lastSeenAt / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • addedOutput schema / properties / position / properties / children / items / properties / sleepUntil
        Added value: +{
        +  "anyOf": [
        +    {
        +      "enum": [
        +        "woken",
        +        "reply"
        +      ],
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "when asleep: what wakes it"
        +}
      • addedOutput schema / properties / position / properties / children / items / properties / status / description
        Added value: +"live, asleep (nothing drives it until it is woken), retired or dead"
      • addedOutput schema / properties / position / properties / self / properties / handle
        Added value: +{
        +  "description": "an agent's name in the organization: address it as @handle",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • removedOutput schema / properties / position / properties / self / properties / lastSeenAt / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / position / properties / self / properties / lastSeenAt / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • addedOutput schema / properties / position / properties / self / properties / sleepUntil
        Added value: +{
        +  "anyOf": [
        +    {
        +      "enum": [
        +        "woken",
        +        "reply"
        +      ],
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "when asleep: what wakes it"
        +}
      • addedOutput schema / properties / position / properties / self / properties / status / description
        Added value: +"live, asleep (nothing drives it until it is woken), retired or dead"
      • addedOutput schema / properties / position / properties / siblings / items / properties / handle
        Added value: +{
        +  "description": "an agent's name in the organization: address it as @handle",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • removedOutput schema / properties / position / properties / siblings / items / properties / lastSeenAt / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / position / properties / siblings / items / properties / lastSeenAt / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • addedOutput schema / properties / position / properties / siblings / items / properties / sleepUntil
        Added value: +{
        +  "anyOf": [
        +    {
        +      "enum": [
        +        "woken",
        +        "reply"
        +      ],
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "when asleep: what wakes it"
        +}
      • addedOutput schema / properties / position / properties / siblings / items / properties / status / description
        Added value: +"live, asleep (nothing drives it until it is woken), retired or dead"
      • removedOutput schema / properties / request / properties / approvals / items / properties / approverDisplay / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / request / properties / approvals / items / properties / approverDisplay / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / request / properties / approvals / items / properties / approverId / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / request / properties / approvals / items / properties / approverId / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / request / properties / approvals / items / properties / note / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / request / properties / approvals / items / properties / note / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / request / properties / asked / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / request / properties / asked / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / request / properties / location / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / request / properties / location / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / requests / items / properties / approvals / items / properties / approverDisplay / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / requests / items / properties / approvals / items / properties / approverDisplay / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / requests / items / properties / approvals / items / properties / approverId / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / requests / items / properties / approvals / items / properties / approverId / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / requests / items / properties / approvals / items / properties / note / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / requests / items / properties / approvals / items / properties / note / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / requests / items / properties / asked / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / requests / items / properties / asked / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / requests / items / properties / location / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / requests / items / properties / location / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • addedOutput schema / properties / seat
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "clientName": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "epoch": {
        +      "description": "raised on every take; a write under an older one is refused",
        +      "type": "number"
        +    },
        +    "expiresAt": {
        +      "description": "renew before then (renew_seat), or the seat is free for the next session",
        +      "type": "string"
        +    },
        +    "token": {
        +      "description": "with take_seat: pass it as `seat` on every call while you drive this agent",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "epoch",
        +    "expiresAt",
        +    "clientName"
        +  ],
        +  "type": "object"
        +}
      • removedOutput schema / properties / settings / properties / inheritedFrom / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / settings / properties / inheritedFrom / type
        Added value: +[
        +  "string",
        +  "null"
        +]
    • Changedbrief_me66 fields changed
      • addedInput schema / properties / seat
        Added value: +{
        +  "description": "the seat token identity_write action=take_seat gave you; pass it on every call while you drive that agent",
        +  "maxLength": 64,
        +  "type": "string"
        +}
      • removedOutput schema / properties / answered / properties / items / items / properties / location / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / answered / properties / items / items / properties / location / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / answered / properties / nextOffset / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / answered / properties / nextOffset / type
        Added value: +[
        +  "number",
        +  "null"
        +]
      • removedOutput schema / properties / approvals / items / properties / location / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / approvals / items / properties / location / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / asked / properties / items / items / properties / location / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / asked / properties / items / items / properties / location / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / asked / properties / nextOffset / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / asked / properties / nextOffset / type
        Added value: +[
        +  "number",
        +  "null"
        +]
      • removedOutput schema / properties / changed / properties / continueThrough / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / changed / properties / continueThrough / type
        Added value: +[
        +  "number",
        +  "null"
        +]
      • removedOutput schema / properties / changed / properties / items / items / properties / location / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / changed / properties / items / items / properties / location / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / changed / properties / items / items / properties / nodeId / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / changed / properties / items / items / properties / nodeId / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / claims / items / properties / span / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / claims / items / properties / span / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / commitments / items / properties / location / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / commitments / items / properties / location / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / contested / properties / overlappingClaims / items / properties / theirs / properties / span / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / contested / properties / overlappingClaims / items / properties / theirs / properties / span / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / contested / properties / staleSpans / items / properties / location / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / contested / properties / staleSpans / items / properties / location / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / contested / properties / toDecide / items / properties / contestStatement / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / contested / properties / toDecide / items / properties / contestStatement / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / contested / properties / toDecide / items / properties / decideBy / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / contested / properties / toDecide / items / properties / decideBy / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / contested / properties / toDecide / items / properties / location / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / contested / properties / toDecide / items / properties / location / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / contested / properties / truths / items / properties / contestStatement / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / contested / properties / truths / items / properties / contestStatement / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / contested / properties / truths / items / properties / location / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / contested / properties / truths / items / properties / location / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / invitations / items / properties / from / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / invitations / items / properties / from / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / me / properties / children / items / properties / lastSeenAt / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / me / properties / children / items / properties / lastSeenAt / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • addedOutput schema / properties / me / properties / home
        Added value: +{
        +  "description": "your home folder, where your journal is; null until a session first takes your seat",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / me / properties / seat
        Added value: +{
        +  "anyOf": [
        +    {
        +      "additionalProperties": false,
        +      "properties": {
        +        "clientName": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "epoch": {
        +          "type": "number"
        +        },
        +        "expiresAt": {
        +          "type": "string"
        +        },
        +        "held": {
        +          "type": "boolean"
        +        }
        +      },
        +      "required": [
        +        "epoch",
        +        "held",
        +        "expiresAt",
        +        "clientName"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "your seat as it stands; take it with identity_write action=take_seat"
        +}
      • removedOutput schema / properties / me / properties / sessionId / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / me / properties / sessionId / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / me / properties / siblings / items / properties / lastSeenAt / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / me / properties / siblings / items / properties / lastSeenAt / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • changedOutput schema / properties / me / required
        Previous value: -[
        -  "id",
        -  "display",
        -  "kind",
        -  "lifecycle",
        -  "status",
        -  "purpose",
        -  "card",
        -  "sessionId",
        -  "ancestors",
        -  "siblings",
        -  "children"
        -]New value: +[
        +  "id",
        +  "display",
        +  "kind",
        +  "lifecycle",
        +  "status",
        +  "purpose",
        +  "card",
        +  "sessionId",
        +  "home",
        +  "seat",
        +  "ancestors",
        +  "siblings",
        +  "children"
        +]
      • removedOutput schema / properties / memberships / items / properties / from / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / memberships / items / properties / from / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / memberships / items / properties / organization / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / memberships / items / properties / organization / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / projects / items / properties / owner / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / projects / items / properties / owner / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / projects / items / properties / threads / items / properties / due / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / projects / items / properties / threads / items / properties / due / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / projects / items / properties / threads / items / properties / link / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / projects / items / properties / threads / items / properties / link / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / projects / items / properties / threads / items / properties / takenBy / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / projects / items / properties / threads / items / properties / takenBy / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / resolvedWaits / items / properties / resolvedAt / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / resolvedWaits / items / properties / resolvedAt / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / session / properties / id / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / session / properties / id / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / waiting / properties / items / items / properties / location / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / waiting / properties / items / items / properties / location / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / waiting / properties / nextOffset / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / waiting / properties / nextOffset / type
        Added value: +[
        +  "number",
        +  "null"
        +]
    • Changedbrowse113 fields changed
      • addedInput schema / properties / seat
        Added value: +{
        +  "description": "the seat token identity_write action=take_seat gave you; pass it on every call while you drive that agent",
        +  "maxLength": 64,
        +  "type": "string"
        +}
      • removedOutput schema / properties / claim / properties / span / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / claim / properties / span / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / claims / items / properties / span / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / claims / items / properties / span / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / comment / properties / anchor_prefix / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / comment / properties / anchor_prefix / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / comment / properties / anchor_suffix / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / comment / properties / anchor_suffix / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / comment / properties / author_id / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / comment / properties / author_id / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / comment / properties / commit_hash / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / comment / properties / commit_hash / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / comment / properties / marker_by / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / comment / properties / marker_by / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / comment / properties / marker_link / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / comment / properties / marker_link / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / comment / properties / quote / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / comment / properties / quote / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / comment / properties / span_id / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / comment / properties / span_id / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / comment / properties / span_text / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / comment / properties / span_text / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • changedOutput schema / properties / comments / anyOf
        Previous value: -[
        -  {
        -    "items": {
        -      "additionalProperties": false,
        -      "properties": {
        -        "actor_kind": {
        -          "type": "string"
        -        },
        -        "anchor_prefix": {
        -          "anyOf": [
        -            {
        -              "type": "string"
        -            },
        -            {
        -              "type": "null"
        -            }
        -          ],
        -          "description": "the text just before quote, which places it when the quote repeats"
        -        },
        -        "anchor_suffix": {
        -          "anyOf": [
        -            {
        -              "type": "string"
        -            },
        -            {
        -              "type": "null"
        -            }
        -          ],
        -          "description": "the text just after quote"
        -        },
        -        "author_display": {
        -          "type": "string"
        -        },
        -        "author_id": {
        -          "anyOf": [
        -            {
        -              "type": "string"
        -            },
        -            {
        -              "type": "null"
        -            }
        -          ]
        -        },
        -        "body": {
        -          "type": "string"
        -        },
        -        "commit_hash": {
        -          "anyOf": [
        -            {
        -              "type": "string"
        -            },
        -            {
        -              "type": "null"
        -            }
        -          ],
        -          "description": "the document's commit when this was written; null on a folder's discussion"
        -        },
        -        "created_at": {
        -          "type": "string"
        -        },
        -        "id": {
        -          "type": "string"
        -        },
        -        "location": {
        -          "type": "string"
        -        },
        -        "marker": {
        -          "anyOf": [
        -            {
        -              "enum": [
        -                "taken",
        -                "reported"
        -              ],
        -              "type": "string"
        -            },
        -            {
        -              "type": "null"
        -            }
        -          ],
        -          "description": "a reply's status for the thread's work"
        -        },
        -        "marker_by": {
        -          "anyOf": [
        -            {
        -              "type": "string"
        -            },
        -            {
        -              "type": "null"
        -            }
        -          ],
        -          "description": "taken: the date it is promised by, YYYY-MM-DD"
        -        },
        -        "marker_link": {
        -          "anyOf": [
        -            {
        -              "type": "string"
        -            },
        -            {
        -              "type": "null"
        -            }
        -          ],
        -          "description": "reported: where the work is; null when you cannot read it"
        -        },
        -        "quote": {
        -          "anyOf": [
        -            {
        -              "type": "string"
        -            },
        -            {
        -              "type": "null"
        -            }
        -          ]
        -        },
        -        "resolved": {
        -          "type": "boolean"
        -        },
        -        "span_id": {
        -          "anyOf": [
        -            {
        -              "type": "string"
        -            },
        -            {
        -              "type": "null"
        -            }
        -          ]
        -        },
        -        "span_text": {
        -          "anyOf": [
        -            {
        -              "type": "string"
        -            },
        -            {
        -              "type": "null"
        -            }
        -          ],
        -          "description": "comments: the span's current text"
        -        },
        -        "thread_id": {
        -          "type": "string"
        -        }
        -      },
        -      "required": [
        -        "id",
        -        "location",
        -        "thread_id",
        -        "quote",
        -        "anchor_prefix",
        -        "anchor_suffix",
        -        "author_id",
        -        "author_display",
        -        "actor_kind",
        -        "span_id",
        -        "body",
        -        "resolved",
        -        "created_at"
        -      ],
        -      "type": "object"
        -    },
        -    "type": "array"
        -  },
        -  {
        -    "items": {
        -      "additionalProperties": false,
        -      "properties": {
        -        "at": {
        -          "type": "string"
        -        },
        -        "author": {
        -          "type": "string"
        -        },
        -        "authorKind": {
        -          "type": "string"
        -        },
        -        "body": {
        -          "type": "string"
        -        },
        -        "org": {
        -          "type": "string"
        -        },
        -        "version": {
        -          "anyOf": [
        -            {
        -              "type": "number"
        -            },
        -            {
        -              "type": "null"
        -            }
        -          ]
        -        }
        -      },
        -      "required": [
        -        "author",
        -        "authorKind",
        -        "org",
        -        "body",
        -        "version",
        -        "at"
        -      ],
        -      "type": "object"
        -    },
        -    "type": "array"
        -  }
        -]New value: +[
        +  {
        +    "items": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "actor_kind": {
        +          "type": "string"
        +        },
        +        "anchor_prefix": {
        +          "description": "the text just before quote, which places it when the quote repeats",
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "anchor_suffix": {
        +          "description": "the text just after quote",
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "author_display": {
        +          "type": "string"
        +        },
        +        "author_id": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "body": {
        +          "type": "string"
        +        },
        +        "commit_hash": {
        +          "description": "the document's commit when this was written; null on a folder's discussion",
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "created_at": {
        +          "type": "string"
        +        },
        +        "id": {
        +          "type": "string"
        +        },
        +        "location": {
        +          "type": "string"
        +        },
        +        "marker": {
        +          "anyOf": [
        +            {
        +              "enum": [
        +                "taken",
        +                "reported"
        +              ],
        +              "type": "string"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ],
        +          "description": "a reply's status for the thread's work"
        +        },
        +        "marker_by": {
        +          "description": "taken: the date it is promised by, YYYY-MM-DD",
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "marker_link": {
        +          "description": "reported: where the work is; null when you cannot read it",
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "quote": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "resolved": {
        +          "type": "boolean"
        +        },
        +        "span_id": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "span_text": {
        +          "description": "comments: the span's current text",
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "thread_id": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "id",
        +        "location",
        +        "thread_id",
        +        "quote",
        +        "anchor_prefix",
        +        "anchor_suffix",
        +        "author_id",
        +        "author_display",
        +        "actor_kind",
        +        "span_id",
        +        "body",
        +        "resolved",
        +        "created_at"
        +      ],
        +      "type": "object"
        +    },
        +    "type": "array"
        +  },
        +  {
        +    "items": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "at": {
        +          "type": "string"
        +        },
        +        "author": {
        +          "type": "string"
        +        },
        +        "authorKind": {
        +          "type": "string"
        +        },
        +        "body": {
        +          "type": "string"
        +        },
        +        "org": {
        +          "type": "string"
        +        },
        +        "version": {
        +          "type": [
        +            "number",
        +            "null"
        +          ]
        +        }
        +      },
        +      "required": [
        +        "author",
        +        "authorKind",
        +        "org",
        +        "body",
        +        "version",
        +        "at"
        +      ],
        +      "type": "object"
        +    },
        +    "type": "array"
        +  }
        +]
      • removedOutput schema / properties / heldBy / items / properties / span / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / heldBy / items / properties / span / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / history / properties / versions / items / properties / editorId / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / history / properties / versions / items / properties / editorId / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • changedOutput schema / properties / history / properties / versions / items / properties / upstream / anyOf
        Previous value: -[
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "authors": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "provider": {
        -        "type": "string"
        -      },
        -      "ref": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      }
        -    },
        -    "required": [
        -      "provider",
        -      "ref",
        -      "authors"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "authors": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "provider": {
        +        "type": "string"
        +      },
        +      "ref": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "required": [
        +      "provider",
        +      "ref",
        +      "authors"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / item / properties / publishedFrom / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / item / properties / publishedFrom / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / item / properties / scopeNodeId / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / item / properties / scopeNodeId / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / item / properties / supersededBy / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / item / properties / supersededBy / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / item / properties / supersedes / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / item / properties / supersedes / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • changedOutput schema / properties / items / anyOf
        Previous value: -[
        -  {
        -    "items": {
        -      "additionalProperties": false,
        -      "properties": {
        -        "at": {
        -          "type": "string"
        -        },
        -        "by": {
        -          "anyOf": [
        -            {
        -              "type": "string"
        -            },
        -            {
        -              "type": "null"
        -            }
        -          ]
        -        },
        -        "kind": {
        -          "type": "string"
        -        },
        -        "objectId": {
        -          "anyOf": [
        -            {
        -              "type": "string"
        -            },
        -            {
        -              "type": "null"
        -            }
        -          ]
        -        },
        -        "seq": {
        -          "type": "number"
        -        },
        -        "subscriptionId": {
        -          "type": "string"
        -        }
        -      },
        -      "required": [
        -        "seq",
        -        "at",
        -        "kind",
        -        "objectId",
        -        "by",
        -        "subscriptionId"
        -      ],
        -      "type": "object"
        -    },
        -    "type": "array"
        -  },
        -  {
        -    "items": {
        -      "additionalProperties": false,
        -      "properties": {
        -        "authorId": {
        -          "type": "string"
        -        },
        -        "body": {
        -          "type": "string"
        -        },
        -        "createdAt": {
        -          "type": "string"
        -        },
        -        "decayHalfLifeDays": {
        -          "type": "number"
        -        },
        -        "draft": {
        -          "type": "boolean"
        -        },
        -        "fields": {
        -          "additionalProperties": {},
        -          "propertyNames": {
        -            "type": "string"
        -          },
        -          "type": "object"
        -        },
        -        "id": {
        -          "type": "string"
        -        },
        -        "kind": {
        -          "type": "string"
        -        },
        -        "ownerId": {
        -          "type": "string"
        -        },
        -        "publishedFrom": {
        -          "anyOf": [
        -            {
        -              "type": "string"
        -            },
        -            {
        -              "type": "null"
        -            }
        -          ]
        -        },
        -        "scopeNodeId": {
        -          "anyOf": [
        -            {
        -              "type": "string"
        -            },
        -            {
        -              "type": "null"
        -            }
        -          ]
        -        },
        -        "standing": {
        -          "additionalProperties": false,
        -          "properties": {
        -            "chains": {
        -              "type": "number"
        -            },
        -            "decay": {
        -              "type": "number"
        -            },
        -            "meanByChain": {
        -              "anyOf": [
        -                {
        -                  "type": "number"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ]
        -            },
        -            "ratings": {
        -              "type": "number"
        -            },
        -            "score": {
        -              "type": "number"
        -            }
        -          },
        -          "required": [
        -            "chains",
        -            "ratings",
        -            "meanByChain",
        -            "decay",
        -            "score"
        -          ],
        -          "type": "object"
        -        },
        -        "supersededBy": {
        -          "anyOf": [
        -            {
        -              "type": "string"
        -            },
        -            {
        -              "type": "null"
        -            }
        -          ]
        -        },
        -        "supersedes": {
        -          "anyOf": [
        -            {
        -              "type": "string"
        -            },
        -            {
        -              "type": "null"
        -            }
        -          ]
        -        },
        -        "title": {
        -          "type": "string"
        -        },
        -        "updatedAt": {
        -          "type": "string"
        -        },
        -        "validation": {
        -          "type": "string"
        -        },
        -        "version": {
        -          "type": "number"
        -        }
        -      },
        -      "required": [
        -        "id",
        -        "kind",
        -        "title",
        -        "body",
        -        "fields",
        -        "scopeNodeId",
        -        "version",
        -        "supersedes",
        -        "supersededBy",
        -        "validation",
        -        "decayHalfLifeDays",
        -        "ownerId",
        -        "authorId",
        -        "draft",
        -        "publishedFrom",
        -        "createdAt",
        -        "updatedAt"
        -      ],
        -      "type": "object"
        -    },
        -    "type": "array"
        -  }
        -]New value: +[
        +  {
        +    "items": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "at": {
        +          "type": "string"
        +        },
        +        "by": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "kind": {
        +          "type": "string"
        +        },
        +        "objectId": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "seq": {
        +          "type": "number"
        +        },
        +        "subscriptionId": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "seq",
        +        "at",
        +        "kind",
        +        "objectId",
        +        "by",
        +        "subscriptionId"
        +      ],
        +      "type": "object"
        +    },
        +    "type": "array"
        +  },
        +  {
        +    "items": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "authorId": {
        +          "type": "string"
        +        },
        +        "body": {
        +          "type": "string"
        +        },
        +        "createdAt": {
        +          "type": "string"
        +        },
        +        "decayHalfLifeDays": {
        +          "type": "number"
        +        },
        +        "draft": {
        +          "type": "boolean"
        +        },
        +        "fields": {
        +          "additionalProperties": {},
        +          "propertyNames": {
        +            "type": "string"
        +          },
        +          "type": "object"
        +        },
        +        "id": {
        +          "type": "string"
        +        },
        +        "kind": {
        +          "type": "string"
        +        },
        +        "ownerId": {
        +          "type": "string"
        +        },
        +        "publishedFrom": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "scopeNodeId": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "standing": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "chains": {
        +              "type": "number"
        +            },
        +            "decay": {
        +              "type": "number"
        +            },
        +            "meanByChain": {
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            },
        +            "ratings": {
        +              "type": "number"
        +            },
        +            "score": {
        +              "type": "number"
        +            }
        +          },
        +          "required": [
        +            "chains",
        +            "ratings",
        +            "meanByChain",
        +            "decay",
        +            "score"
        +          ],
        +          "type": "object"
        +        },
        +        "supersededBy": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "supersedes": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "title": {
        +          "type": "string"
        +        },
        +        "updatedAt": {
        +          "type": "string"
        +        },
        +        "validation": {
        +          "type": "string"
        +        },
        +        "version": {
        +          "type": "number"
        +        }
        +      },
        +      "required": [
        +        "id",
        +        "kind",
        +        "title",
        +        "body",
        +        "fields",
        +        "scopeNodeId",
        +        "version",
        +        "supersedes",
        +        "supersededBy",
        +        "validation",
        +        "decayHalfLifeDays",
        +        "ownerId",
        +        "authorId",
        +        "draft",
        +        "publishedFrom",
        +        "createdAt",
        +        "updatedAt"
        +      ],
        +      "type": "object"
        +    },
        +    "type": "array"
        +  }
        +]
      • changedOutput schema / properties / message / properties / about / anyOf
        Previous value: -[
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "nodeId": {
        -        "type": "string"
        -      },
        -      "span": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      }
        -    },
        -    "required": [
        -      "nodeId",
        -      "span"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "nodeId": {
        +        "type": "string"
        +      },
        +      "span": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "required": [
        +      "nodeId",
        +      "span"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / message / properties / closeNote / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / message / properties / closeNote / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / message / properties / recipients / items / properties / note / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / message / properties / recipients / items / properties / note / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / message / properties / replyTo / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / message / properties / replyTo / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / message / properties / roomId / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / message / properties / roomId / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / message / properties / senderId / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / message / properties / senderId / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • changedOutput schema / properties / messages / items / properties / about / anyOf
        Previous value: -[
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "nodeId": {
        -        "type": "string"
        -      },
        -      "span": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      }
        -    },
        -    "required": [
        -      "nodeId",
        -      "span"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "nodeId": {
        +        "type": "string"
        +      },
        +      "span": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "required": [
        +      "nodeId",
        +      "span"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / messages / items / properties / closeNote / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / messages / items / properties / closeNote / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / messages / items / properties / recipients / items / properties / note / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / messages / items / properties / recipients / items / properties / note / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / messages / items / properties / replyTo / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / messages / items / properties / replyTo / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / messages / items / properties / roomId / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / messages / items / properties / roomId / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / messages / items / properties / senderId / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / messages / items / properties / senderId / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / mount / properties / commitSha / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / mount / properties / commitSha / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / mount / properties / folder / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / mount / properties / folder / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / nextOffset / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / nextOffset / type
        Added value: +[
        +  "number",
        +  "null"
        +]
      • removedOutput schema / properties / notes / items / properties / note / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / notes / items / properties / note / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / package / properties / standing / properties / meanByChain / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / package / properties / standing / properties / meanByChain / type
        Added value: +[
        +  "number",
        +  "null"
        +]
      • removedOutput schema / properties / packages / items / properties / standing / properties / meanByChain / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / packages / items / properties / standing / properties / meanByChain / type
        Added value: +[
        +  "number",
        +  "null"
        +]
      • removedOutput schema / properties / project / properties / owner / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / project / properties / owner / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / projects / items / properties / owner / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / projects / items / properties / owner / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / pulled / properties / location / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / pulled / properties / location / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / report / properties / onBehalfOf / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / report / properties / onBehalfOf / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / report / properties / org / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / report / properties / org / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / reports / items / properties / onBehalfOf / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / reports / items / properties / onBehalfOf / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / reports / items / properties / org / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / reports / items / properties / org / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / retiringUntil / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / retiringUntil / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / standing / properties / meanByChain / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / standing / properties / meanByChain / type
        Added value: +[
        +  "number",
        +  "null"
        +]
      • removedOutput schema / properties / subscription / properties / span / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / subscription / properties / span / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / subscriptions / items / properties / span / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / subscriptions / items / properties / span / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / truth / properties / anchor / properties / spanId / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / truth / properties / anchor / properties / spanId / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • changedOutput schema / properties / truth / properties / debate / anyOf
        Previous value: -[
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "cap": {
        -        "type": "number"
        -      },
        -      "contestStatement": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "contestedBy": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "decideBy": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "decidedHow": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "deciderId": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "decision": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "rounds": {
        -        "type": "number"
        -      },
        -      "threadId": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "threadId",
        -      "contestedBy",
        -      "contestStatement",
        -      "rounds",
        -      "cap",
        -      "deciderId",
        -      "decideBy",
        -      "decision",
        -      "decidedHow",
        -      "note"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "cap": {
        +        "type": "number"
        +      },
        +      "contestStatement": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "contestedBy": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "decideBy": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "decidedHow": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "deciderId": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "decision": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "note": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "rounds": {
        +        "type": "number"
        +      },
        +      "threadId": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "threadId",
        +      "contestedBy",
        +      "contestStatement",
        +      "rounds",
        +      "cap",
        +      "deciderId",
        +      "decideBy",
        +      "decision",
        +      "decidedHow",
        +      "note"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / truth / properties / supersededBy / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / truth / properties / supersededBy / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / truth / properties / supersedes / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / truth / properties / supersedes / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / truths / items / properties / anchor / properties / spanId / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / truths / items / properties / anchor / properties / spanId / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • changedOutput schema / properties / truths / items / properties / debate / anyOf
        Previous value: -[
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "cap": {
        -        "type": "number"
        -      },
        -      "contestStatement": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "contestedBy": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "decideBy": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "decidedHow": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "deciderId": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "decision": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "rounds": {
        -        "type": "number"
        -      },
        -      "threadId": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "threadId",
        -      "contestedBy",
        -      "contestStatement",
        -      "rounds",
        -      "cap",
        -      "deciderId",
        -      "decideBy",
        -      "decision",
        -      "decidedHow",
        -      "note"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "cap": {
        +        "type": "number"
        +      },
        +      "contestStatement": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "contestedBy": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "decideBy": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "decidedHow": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "deciderId": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "decision": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "note": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "rounds": {
        +        "type": "number"
        +      },
        +      "threadId": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "threadId",
        +      "contestedBy",
        +      "contestStatement",
        +      "rounds",
        +      "cap",
        +      "deciderId",
        +      "decideBy",
        +      "decision",
        +      "decidedHow",
        +      "note"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / truths / items / properties / supersededBy / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / truths / items / properties / supersededBy / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / truths / items / properties / supersedes / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / truths / items / properties / supersedes / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • changedOutput schema / properties / wait / anyOf
        Previous value: -[
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "condition": {
        -        "additionalProperties": {},
        -        "propertyNames": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "continuation": {
        -        "type": "string"
        -      },
        -      "counterparty": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "createdAt": {
        -        "type": "string"
        -      },
        -      "deadline": {
        -        "type": "string"
        -      },
        -      "id": {
        -        "type": "string"
        -      },
        -      "identityId": {
        -        "type": "string"
        -      },
        -      "resolution": {
        -        "anyOf": [
        -          {
        -            "additionalProperties": {},
        -            "propertyNames": {
        -              "type": "string"
        -            },
        -            "type": "object"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "resolvedAt": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "status": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "id",
        -      "identityId",
        -      "condition",
        -      "counterparty",
        -      "deadline",
        -      "continuation",
        -      "status",
        -      "resolution",
        -      "createdAt",
        -      "resolvedAt"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "deadline": {
        -        "type": "string"
        -      },
        -      "id": {
        -        "type": "string"
        -      },
        -      "status": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "id",
        -      "status",
        -      "deadline"
        -    ],
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "condition": {
        +        "additionalProperties": {},
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "continuation": {
        +        "type": "string"
        +      },
        +      "counterparty": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "deadline": {
        +        "type": "string"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "identityId": {
        +        "type": "string"
        +      },
        +      "resolution": {
        +        "anyOf": [
        +          {
        +            "additionalProperties": {},
        +            "propertyNames": {
        +              "type": "string"
        +            },
        +            "type": "object"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      },
        +      "resolvedAt": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "status": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "id",
        +      "identityId",
        +      "condition",
        +      "counterparty",
        +      "deadline",
        +      "continuation",
        +      "status",
        +      "resolution",
        +      "createdAt",
        +      "resolvedAt"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "deadline": {
        +        "type": "string"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "id",
        +      "status",
        +      "deadline"
        +    ],
        +    "type": "object"
        +  }
        +]
      • removedOutput schema / properties / waits / items / properties / counterparty / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / waits / items / properties / counterparty / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / waits / items / properties / resolvedAt / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / waits / items / properties / resolvedAt / type
        Added value: +[
        +  "string",
        +  "null"
        +]
    • Changedcoordination_write46 fields changed
      • addedInput schema / properties / seat
        Added value: +{
        +  "description": "the seat token identity_write action=take_seat gave you; pass it on every call while you drive that agent",
        +  "maxLength": 64,
        +  "type": "string"
        +}
      • removedOutput schema / properties / claim / properties / span / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / claim / properties / span / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / claims / items / properties / span / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / claims / items / properties / span / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / heldBy / items / properties / span / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / heldBy / items / properties / span / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / history / properties / versions / items / properties / editorId / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / history / properties / versions / items / properties / editorId / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • changedOutput schema / properties / history / properties / versions / items / properties / upstream / anyOf
        Previous value: -[
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "authors": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "provider": {
        -        "type": "string"
        -      },
        -      "ref": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      }
        -    },
        -    "required": [
        -      "provider",
        -      "ref",
        -      "authors"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "authors": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "provider": {
        +        "type": "string"
        +      },
        +      "ref": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "required": [
        +      "provider",
        +      "ref",
        +      "authors"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / items / items / properties / by / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / items / items / properties / by / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / items / items / properties / objectId / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / items / items / properties / objectId / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / nextOffset / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / nextOffset / type
        Added value: +[
        +  "number",
        +  "null"
        +]
      • removedOutput schema / properties / project / properties / owner / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / project / properties / owner / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / projects / items / properties / owner / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / projects / items / properties / owner / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / subscription / properties / span / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / subscription / properties / span / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / subscriptions / items / properties / span / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / subscriptions / items / properties / span / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / truth / properties / anchor / properties / spanId / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / truth / properties / anchor / properties / spanId / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • changedOutput schema / properties / truth / properties / debate / anyOf
        Previous value: -[
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "cap": {
        -        "type": "number"
        -      },
        -      "contestStatement": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "contestedBy": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "decideBy": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "decidedHow": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "deciderId": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "decision": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "rounds": {
        -        "type": "number"
        -      },
        -      "threadId": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "threadId",
        -      "contestedBy",
        -      "contestStatement",
        -      "rounds",
        -      "cap",
        -      "deciderId",
        -      "decideBy",
        -      "decision",
        -      "decidedHow",
        -      "note"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "cap": {
        +        "type": "number"
        +      },
        +      "contestStatement": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "contestedBy": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "decideBy": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "decidedHow": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "deciderId": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "decision": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "note": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "rounds": {
        +        "type": "number"
        +      },
        +      "threadId": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "threadId",
        +      "contestedBy",
        +      "contestStatement",
        +      "rounds",
        +      "cap",
        +      "deciderId",
        +      "decideBy",
        +      "decision",
        +      "decidedHow",
        +      "note"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / truth / properties / supersededBy / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / truth / properties / supersededBy / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / truth / properties / supersedes / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / truth / properties / supersedes / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / truths / items / properties / anchor / properties / spanId / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / truths / items / properties / anchor / properties / spanId / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • changedOutput schema / properties / truths / items / properties / debate / anyOf
        Previous value: -[
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "cap": {
        -        "type": "number"
        -      },
        -      "contestStatement": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "contestedBy": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "decideBy": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "decidedHow": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "deciderId": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "decision": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "rounds": {
        -        "type": "number"
        -      },
        -      "threadId": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "threadId",
        -      "contestedBy",
        -      "contestStatement",
        -      "rounds",
        -      "cap",
        -      "deciderId",
        -      "decideBy",
        -      "decision",
        -      "decidedHow",
        -      "note"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "cap": {
        +        "type": "number"
        +      },
        +      "contestStatement": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "contestedBy": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "decideBy": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "decidedHow": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "deciderId": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "decision": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "note": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "rounds": {
        +        "type": "number"
        +      },
        +      "threadId": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "threadId",
        +      "contestedBy",
        +      "contestStatement",
        +      "rounds",
        +      "cap",
        +      "deciderId",
        +      "decideBy",
        +      "decision",
        +      "decidedHow",
        +      "note"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / truths / items / properties / supersededBy / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / truths / items / properties / supersededBy / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / truths / items / properties / supersedes / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / truths / items / properties / supersedes / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / wait / properties / counterparty / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / wait / properties / counterparty / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / wait / properties / resolvedAt / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / wait / properties / resolvedAt / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / waits / items / properties / counterparty / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / waits / items / properties / counterparty / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / waits / items / properties / resolvedAt / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / waits / items / properties / resolvedAt / type
        Added value: +[
        +  "string",
        +  "null"
        +]
    • Changeddoc_create3 fields changed
      • addedInput schema / properties / seat
        Added value: +{
        +  "description": "the seat token identity_write action=take_seat gave you; pass it on every call while you drive that agent",
        +  "maxLength": 64,
        +  "type": "string"
        +}
      • removedOutput schema / properties / commit / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / commit / type
        Added value: +[
        +  "string",
        +  "null"
        +]
    • Changeddoc_delete1 field changed
      • addedInput schema / properties / seat
        Added value: +{
        +  "description": "the seat token identity_write action=take_seat gave you; pass it on every call while you drive that agent",
        +  "maxLength": 64,
        +  "type": "string"
        +}
    • Changeddoc_update9 fields changed
      • addedInput schema / properties / seat
        Added value: +{
        +  "description": "the seat token identity_write action=take_seat gave you; pass it on every call while you drive that agent",
        +  "maxLength": 64,
        +  "type": "string"
        +}
      • removedOutput schema / properties / appended / properties / commit / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / appended / properties / commit / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / appended / properties / section / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / appended / properties / section / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / commit / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / commit / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / restored / properties / commit / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / restored / properties / commit / type
        Added value: +[
        +  "string",
        +  "null"
        +]
    • Changedidentity_write38 fields changed
      • changedInput schema / properties / action / enum
        Previous value: -[
        -  "spawn",
        -  "set_card",
        -  "new_session",
        -  "update",
        -  "org_context"
        -]New value: +[
        +  "spawn",
        +  "set_card",
        +  "sleep",
        +  "wake",
        +  "take_seat",
        +  "renew_seat",
        +  "release_seat",
        +  "journal",
        +  "new_session",
        +  "update",
        +  "org_context"
        +]
      • addedInput schema / properties / entry
        Added value: +{
        +  "description": "journal: with journal: what you decided and why, or what the next session must know",
        +  "maxLength": 20000,
        +  "minLength": 1,
        +  "type": "string"
        +}
      • addedInput schema / properties / lease_s
        Added value: +{
        +  "description": "take_seat, renew_seat: how long the seat is yours before you must renew it, in seconds (default 600)",
        +  "maximum": 86400,
        +  "minimum": 60,
        +  "type": "integer"
        +}
      • addedInput schema / properties / seat
        Added value: +{
        +  "description": "the seat token identity_write action=take_seat gave you; pass it on every call while you drive that agent",
        +  "maxLength": 64,
        +  "type": "string"
        +}
      • addedInput schema / properties / take_over
        Added value: +{
        +  "description": "take_seat: take the seat even though another session holds it; that session's next write is refused",
        +  "type": "boolean"
        +}
      • changedInput schema / properties / target / description
        Previous value: -"update: an identity id; defaults to you"New value: +"sleep, wake, update: an identity id; defaults to you"
      • addedInput schema / properties / until
        Added value: +{
        +  "description": "sleep: what wakes it: reply (default: a reply or anything else that resolves one of its waits, or someone above it) or woken (only someone above it)",
        +  "enum": [
        +    "reply",
        +    "woken"
        +  ],
        +  "type": "string"
        +}
      • removedOutput schema / properties / ended / properties / heir / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / ended / properties / heir / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • addedOutput schema / properties / home
        Added value: +{
        +  "description": "your home folder: your journal and standing instructions, read only by you and those above you",
        +  "type": "string"
        +}
      • addedOutput schema / properties / identity / properties / handle
        Added value: +{
        +  "description": "an agent's name in the organization: address it as @handle",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • removedOutput schema / properties / identity / properties / lastSeenAt / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / identity / properties / lastSeenAt / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • addedOutput schema / properties / identity / properties / sleepUntil
        Added value: +{
        +  "anyOf": [
        +    {
        +      "enum": [
        +        "woken",
        +        "reply"
        +      ],
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "when asleep: what wakes it"
        +}
      • addedOutput schema / properties / identity / properties / status / description
        Added value: +"live, asleep (nothing drives it until it is woken), retired or dead"
      • addedOutput schema / properties / journal
        Added value: +{
        +  "description": "with take_seat: the end of your journal, newest last; read it before you carry on",
        +  "type": "string"
        +}
      • addedOutput schema / properties / journalEntry
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "at": {
        +      "type": "string"
        +    },
        +    "location": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "location",
        +    "at"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / position / properties / ancestors / items / properties / handle
        Added value: +{
        +  "description": "an agent's name in the organization: address it as @handle",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • removedOutput schema / properties / position / properties / ancestors / items / properties / lastSeenAt / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / position / properties / ancestors / items / properties / lastSeenAt / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • addedOutput schema / properties / position / properties / ancestors / items / properties / sleepUntil
        Added value: +{
        +  "anyOf": [
        +    {
        +      "enum": [
        +        "woken",
        +        "reply"
        +      ],
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "when asleep: what wakes it"
        +}
      • addedOutput schema / properties / position / properties / ancestors / items / properties / status / description
        Added value: +"live, asleep (nothing drives it until it is woken), retired or dead"
      • addedOutput schema / properties / position / properties / children / items / properties / handle
        Added value: +{
        +  "description": "an agent's name in the organization: address it as @handle",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • removedOutput schema / properties / position / properties / children / items / properties / lastSeenAt / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / position / properties / children / items / properties / lastSeenAt / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • addedOutput schema / properties / position / properties / children / items / properties / sleepUntil
        Added value: +{
        +  "anyOf": [
        +    {
        +      "enum": [
        +        "woken",
        +        "reply"
        +      ],
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "when asleep: what wakes it"
        +}
      • addedOutput schema / properties / position / properties / children / items / properties / status / description
        Added value: +"live, asleep (nothing drives it until it is woken), retired or dead"
      • addedOutput schema / properties / position / properties / self / properties / handle
        Added value: +{
        +  "description": "an agent's name in the organization: address it as @handle",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • removedOutput schema / properties / position / properties / self / properties / lastSeenAt / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / position / properties / self / properties / lastSeenAt / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • addedOutput schema / properties / position / properties / self / properties / sleepUntil
        Added value: +{
        +  "anyOf": [
        +    {
        +      "enum": [
        +        "woken",
        +        "reply"
        +      ],
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "when asleep: what wakes it"
        +}
      • addedOutput schema / properties / position / properties / self / properties / status / description
        Added value: +"live, asleep (nothing drives it until it is woken), retired or dead"
      • addedOutput schema / properties / position / properties / siblings / items / properties / handle
        Added value: +{
        +  "description": "an agent's name in the organization: address it as @handle",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • removedOutput schema / properties / position / properties / siblings / items / properties / lastSeenAt / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / position / properties / siblings / items / properties / lastSeenAt / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • addedOutput schema / properties / position / properties / siblings / items / properties / sleepUntil
        Added value: +{
        +  "anyOf": [
        +    {
        +      "enum": [
        +        "woken",
        +        "reply"
        +      ],
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "when asleep: what wakes it"
        +}
      • addedOutput schema / properties / position / properties / siblings / items / properties / status / description
        Added value: +"live, asleep (nothing drives it until it is woken), retired or dead"
      • addedOutput schema / properties / seat
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "clientName": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "epoch": {
        +      "description": "raised on every take; a write under an older one is refused",
        +      "type": "number"
        +    },
        +    "expiresAt": {
        +      "description": "renew before then (renew_seat), or the seat is free for the next session",
        +      "type": "string"
        +    },
        +    "token": {
        +      "description": "with take_seat: pass it as `seat` on every call while you drive this agent",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "epoch",
        +    "expiresAt",
        +    "clientName"
        +  ],
        +  "type": "object"
        +}
    • Changedknowledge_write25 fields changed
      • addedInput schema / properties / seat
        Added value: +{
        +  "description": "the seat token identity_write action=take_seat gave you; pass it on every call while you drive that agent",
        +  "maxLength": 64,
        +  "type": "string"
        +}
      • removedOutput schema / properties / item / properties / publishedFrom / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / item / properties / publishedFrom / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / item / properties / scopeNodeId / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / item / properties / scopeNodeId / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / item / properties / supersededBy / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / item / properties / supersededBy / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / item / properties / supersedes / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / item / properties / supersedes / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / items / items / properties / publishedFrom / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / items / items / properties / publishedFrom / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / items / items / properties / scopeNodeId / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / items / items / properties / scopeNodeId / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / items / items / properties / standing / properties / meanByChain / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / items / items / properties / standing / properties / meanByChain / type
        Added value: +[
        +  "number",
        +  "null"
        +]
      • removedOutput schema / properties / items / items / properties / supersededBy / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / items / items / properties / supersededBy / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / items / items / properties / supersedes / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / items / items / properties / supersedes / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / notes / items / properties / note / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / notes / items / properties / note / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / retiringUntil / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / retiringUntil / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / standing / properties / meanByChain / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / standing / properties / meanByChain / type
        Added value: +[
        +  "number",
        +  "null"
        +]
    • Changedmessage_write66 fields changed
      • addedInput schema / properties / seat
        Added value: +{
        +  "description": "the seat token identity_write action=take_seat gave you; pass it on every call while you drive that agent",
        +  "maxLength": 64,
        +  "type": "string"
        +}
      • changedInput schema / properties / to / description
        Previous value: -"send: identity id, exact name, or role:<capability>; repeatable"New value: +"send: identity id, an agent's @handle, exact name, or role:<capability>; repeatable"
      • removedOutput schema / properties / comment / properties / anchor_prefix / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / comment / properties / anchor_prefix / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / comment / properties / anchor_suffix / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / comment / properties / anchor_suffix / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / comment / properties / author_id / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / comment / properties / author_id / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / comment / properties / commit_hash / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / comment / properties / commit_hash / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / comment / properties / marker_by / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / comment / properties / marker_by / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / comment / properties / marker_link / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / comment / properties / marker_link / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / comment / properties / quote / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / comment / properties / quote / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / comment / properties / span_id / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / comment / properties / span_id / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / comment / properties / span_text / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / comment / properties / span_text / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / comments / items / properties / anchor_prefix / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / comments / items / properties / anchor_prefix / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / comments / items / properties / anchor_suffix / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / comments / items / properties / anchor_suffix / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / comments / items / properties / author_id / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / comments / items / properties / author_id / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / comments / items / properties / commit_hash / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / comments / items / properties / commit_hash / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / comments / items / properties / marker_by / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / comments / items / properties / marker_by / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / comments / items / properties / marker_link / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / comments / items / properties / marker_link / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / comments / items / properties / quote / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / comments / items / properties / quote / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / comments / items / properties / span_id / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / comments / items / properties / span_id / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / comments / items / properties / span_text / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / comments / items / properties / span_text / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • changedOutput schema / properties / message / properties / about / anyOf
        Previous value: -[
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "nodeId": {
        -        "type": "string"
        -      },
        -      "span": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      }
        -    },
        -    "required": [
        -      "nodeId",
        -      "span"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "nodeId": {
        +        "type": "string"
        +      },
        +      "span": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "required": [
        +      "nodeId",
        +      "span"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / message / properties / closeNote / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / message / properties / closeNote / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / message / properties / recipients / items / properties / note / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / message / properties / recipients / items / properties / note / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / message / properties / replyTo / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / message / properties / replyTo / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / message / properties / roomId / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / message / properties / roomId / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / message / properties / senderId / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / message / properties / senderId / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • changedOutput schema / properties / messages / items / properties / about / anyOf
        Previous value: -[
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "nodeId": {
        -        "type": "string"
        -      },
        -      "span": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      }
        -    },
        -    "required": [
        -      "nodeId",
        -      "span"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "nodeId": {
        +        "type": "string"
        +      },
        +      "span": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "required": [
        +      "nodeId",
        +      "span"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / messages / items / properties / closeNote / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / messages / items / properties / closeNote / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / messages / items / properties / recipients / items / properties / note / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / messages / items / properties / recipients / items / properties / note / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / messages / items / properties / replyTo / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / messages / items / properties / replyTo / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / messages / items / properties / roomId / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / messages / items / properties / roomId / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / messages / items / properties / senderId / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / messages / items / properties / senderId / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / nextOffset / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / nextOffset / type
        Added value: +[
        +  "number",
        +  "null"
        +]
      • removedOutput schema / properties / wait / properties / counterparty / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / wait / properties / counterparty / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / wait / properties / resolvedAt / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / wait / properties / resolvedAt / type
        Added value: +[
        +  "string",
        +  "null"
        +]
    • Changedread76 fields changed
      • addedInput schema / properties / seat
        Added value: +{
        +  "description": "the seat token identity_write action=take_seat gave you; pass it on every call while you drive that agent",
        +  "maxLength": 64,
        +  "type": "string"
        +}
      • removedOutput schema / properties / comments / items / properties / version / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / comments / items / properties / version / type
        Added value: +[
        +  "number",
        +  "null"
        +]
      • removedOutput schema / properties / history / properties / versions / items / properties / editorId / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / history / properties / versions / items / properties / editorId / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • changedOutput schema / properties / history / properties / versions / items / properties / upstream / anyOf
        Previous value: -[
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "authors": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "provider": {
        -        "type": "string"
        -      },
        -      "ref": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      }
        -    },
        -    "required": [
        -      "provider",
        -      "ref",
        -      "authors"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "authors": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "provider": {
        +        "type": "string"
        +      },
        +      "ref": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "required": [
        +      "provider",
        +      "ref",
        +      "authors"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / image / properties / link / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / image / properties / link / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / item / properties / publishedFrom / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / item / properties / publishedFrom / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / item / properties / scopeNodeId / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / item / properties / scopeNodeId / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / item / properties / supersededBy / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / item / properties / supersededBy / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / item / properties / supersedes / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / item / properties / supersedes / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • changedOutput schema / properties / items / anyOf
        Previous value: -[
        -  {
        -    "items": {
        -      "additionalProperties": false,
        -      "properties": {
        -        "authorId": {
        -          "type": "string"
        -        },
        -        "body": {
        -          "type": "string"
        -        },
        -        "createdAt": {
        -          "type": "string"
        -        },
        -        "decayHalfLifeDays": {
        -          "type": "number"
        -        },
        -        "draft": {
        -          "type": "boolean"
        -        },
        -        "fields": {
        -          "additionalProperties": {},
        -          "propertyNames": {
        -            "type": "string"
        -          },
        -          "type": "object"
        -        },
        -        "id": {
        -          "type": "string"
        -        },
        -        "kind": {
        -          "type": "string"
        -        },
        -        "ownerId": {
        -          "type": "string"
        -        },
        -        "publishedFrom": {
        -          "anyOf": [
        -            {
        -              "type": "string"
        -            },
        -            {
        -              "type": "null"
        -            }
        -          ]
        -        },
        -        "scopeNodeId": {
        -          "anyOf": [
        -            {
        -              "type": "string"
        -            },
        -            {
        -              "type": "null"
        -            }
        -          ]
        -        },
        -        "standing": {
        -          "additionalProperties": false,
        -          "properties": {
        -            "chains": {
        -              "type": "number"
        -            },
        -            "decay": {
        -              "type": "number"
        -            },
        -            "meanByChain": {
        -              "anyOf": [
        -                {
        -                  "type": "number"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ]
        -            },
        -            "ratings": {
        -              "type": "number"
        -            },
        -            "score": {
        -              "type": "number"
        -            }
        -          },
        -          "required": [
        -            "chains",
        -            "ratings",
        -            "meanByChain",
        -            "decay",
        -            "score"
        -          ],
        -          "type": "object"
        -        },
        -        "supersededBy": {
        -          "anyOf": [
        -            {
        -              "type": "string"
        -            },
        -            {
        -              "type": "null"
        -            }
        -          ]
        -        },
        -        "supersedes": {
        -          "anyOf": [
        -            {
        -              "type": "string"
        -            },
        -            {
        -              "type": "null"
        -            }
        -          ]
        -        },
        -        "title": {
        -          "type": "string"
        -        },
        -        "updatedAt": {
        -          "type": "string"
        -        },
        -        "validation": {
        -          "type": "string"
        -        },
        -        "version": {
        -          "type": "number"
        -        }
        -      },
        -      "required": [
        -        "id",
        -        "kind",
        -        "title",
        -        "body",
        -        "fields",
        -        "scopeNodeId",
        -        "version",
        -        "supersedes",
        -        "supersededBy",
        -        "validation",
        -        "decayHalfLifeDays",
        -        "ownerId",
        -        "authorId",
        -        "draft",
        -        "publishedFrom",
        -        "createdAt",
        -        "updatedAt"
        -      ],
        -      "type": "object"
        -    },
        -    "type": "array"
        -  },
        -  {
        -    "items": {
        -      "additionalProperties": false,
        -      "properties": {
        -        "at": {
        -          "type": "string"
        -        },
        -        "by": {
        -          "anyOf": [
        -            {
        -              "type": "string"
        -            },
        -            {
        -              "type": "null"
        -            }
        -          ]
        -        },
        -        "kind": {
        -          "type": "string"
        -        },
        -        "objectId": {
        -          "anyOf": [
        -            {
        -              "type": "string"
        -            },
        -            {
        -              "type": "null"
        -            }
        -          ]
        -        },
        -        "seq": {
        -          "type": "number"
        -        },
        -        "subscriptionId": {
        -          "type": "string"
        -        }
        -      },
        -      "required": [
        -        "seq",
        -        "at",
        -        "kind",
        -        "objectId",
        -        "by",
        -        "subscriptionId"
        -      ],
        -      "type": "object"
        -    },
        -    "type": "array"
        -  }
        -]New value: +[
        +  {
        +    "items": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "authorId": {
        +          "type": "string"
        +        },
        +        "body": {
        +          "type": "string"
        +        },
        +        "createdAt": {
        +          "type": "string"
        +        },
        +        "decayHalfLifeDays": {
        +          "type": "number"
        +        },
        +        "draft": {
        +          "type": "boolean"
        +        },
        +        "fields": {
        +          "additionalProperties": {},
        +          "propertyNames": {
        +            "type": "string"
        +          },
        +          "type": "object"
        +        },
        +        "id": {
        +          "type": "string"
        +        },
        +        "kind": {
        +          "type": "string"
        +        },
        +        "ownerId": {
        +          "type": "string"
        +        },
        +        "publishedFrom": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "scopeNodeId": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "standing": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "chains": {
        +              "type": "number"
        +            },
        +            "decay": {
        +              "type": "number"
        +            },
        +            "meanByChain": {
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            },
        +            "ratings": {
        +              "type": "number"
        +            },
        +            "score": {
        +              "type": "number"
        +            }
        +          },
        +          "required": [
        +            "chains",
        +            "ratings",
        +            "meanByChain",
        +            "decay",
        +            "score"
        +          ],
        +          "type": "object"
        +        },
        +        "supersededBy": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "supersedes": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "title": {
        +          "type": "string"
        +        },
        +        "updatedAt": {
        +          "type": "string"
        +        },
        +        "validation": {
        +          "type": "string"
        +        },
        +        "version": {
        +          "type": "number"
        +        }
        +      },
        +      "required": [
        +        "id",
        +        "kind",
        +        "title",
        +        "body",
        +        "fields",
        +        "scopeNodeId",
        +        "version",
        +        "supersedes",
        +        "supersededBy",
        +        "validation",
        +        "decayHalfLifeDays",
        +        "ownerId",
        +        "authorId",
        +        "draft",
        +        "publishedFrom",
        +        "createdAt",
        +        "updatedAt"
        +      ],
        +      "type": "object"
        +    },
        +    "type": "array"
        +  },
        +  {
        +    "items": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "at": {
        +          "type": "string"
        +        },
        +        "by": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "kind": {
        +          "type": "string"
        +        },
        +        "objectId": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "seq": {
        +          "type": "number"
        +        },
        +        "subscriptionId": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "seq",
        +        "at",
        +        "kind",
        +        "objectId",
        +        "by",
        +        "subscriptionId"
        +      ],
        +      "type": "object"
        +    },
        +    "type": "array"
        +  }
        +]
      • changedOutput schema / properties / message / properties / about / anyOf
        Previous value: -[
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "nodeId": {
        -        "type": "string"
        -      },
        -      "span": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      }
        -    },
        -    "required": [
        -      "nodeId",
        -      "span"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "nodeId": {
        +        "type": "string"
        +      },
        +      "span": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "required": [
        +      "nodeId",
        +      "span"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / message / properties / closeNote / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / message / properties / closeNote / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / message / properties / recipients / items / properties / note / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / message / properties / recipients / items / properties / note / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / message / properties / replyTo / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / message / properties / replyTo / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / message / properties / roomId / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / message / properties / roomId / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / message / properties / senderId / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / message / properties / senderId / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • changedOutput schema / properties / messages / items / properties / about / anyOf
        Previous value: -[
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "nodeId": {
        -        "type": "string"
        -      },
        -      "span": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      }
        -    },
        -    "required": [
        -      "nodeId",
        -      "span"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "nodeId": {
        +        "type": "string"
        +      },
        +      "span": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "required": [
        +      "nodeId",
        +      "span"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / messages / items / properties / closeNote / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / messages / items / properties / closeNote / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / messages / items / properties / recipients / items / properties / note / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / messages / items / properties / recipients / items / properties / note / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / messages / items / properties / replyTo / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / messages / items / properties / replyTo / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / messages / items / properties / roomId / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / messages / items / properties / roomId / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / messages / items / properties / senderId / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / messages / items / properties / senderId / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / nextOffset / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / nextOffset / type
        Added value: +[
        +  "number",
        +  "null"
        +]
      • removedOutput schema / properties / notes / items / properties / note / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / notes / items / properties / note / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / package / properties / standing / properties / meanByChain / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / package / properties / standing / properties / meanByChain / type
        Added value: +[
        +  "number",
        +  "null"
        +]
      • removedOutput schema / properties / packages / items / properties / standing / properties / meanByChain / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / packages / items / properties / standing / properties / meanByChain / type
        Added value: +[
        +  "number",
        +  "null"
        +]
      • removedOutput schema / properties / pulled / properties / location / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / pulled / properties / location / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / retiringUntil / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / retiringUntil / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / standing / properties / meanByChain / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / standing / properties / meanByChain / type
        Added value: +[
        +  "number",
        +  "null"
        +]
      • removedOutput schema / properties / subscription / properties / span / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / subscription / properties / span / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / subscriptions / items / properties / span / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / subscriptions / items / properties / span / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / truth / properties / anchor / properties / spanId / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / truth / properties / anchor / properties / spanId / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • changedOutput schema / properties / truth / properties / debate / anyOf
        Previous value: -[
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "cap": {
        -        "type": "number"
        -      },
        -      "contestStatement": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "contestedBy": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "decideBy": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "decidedHow": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "deciderId": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "decision": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "rounds": {
        -        "type": "number"
        -      },
        -      "threadId": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "threadId",
        -      "contestedBy",
        -      "contestStatement",
        -      "rounds",
        -      "cap",
        -      "deciderId",
        -      "decideBy",
        -      "decision",
        -      "decidedHow",
        -      "note"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "cap": {
        +        "type": "number"
        +      },
        +      "contestStatement": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "contestedBy": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "decideBy": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "decidedHow": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "deciderId": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "decision": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "note": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "rounds": {
        +        "type": "number"
        +      },
        +      "threadId": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "threadId",
        +      "contestedBy",
        +      "contestStatement",
        +      "rounds",
        +      "cap",
        +      "deciderId",
        +      "decideBy",
        +      "decision",
        +      "decidedHow",
        +      "note"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / truth / properties / supersededBy / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / truth / properties / supersededBy / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / truth / properties / supersedes / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / truth / properties / supersedes / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / truths / items / properties / anchor / properties / spanId / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / truths / items / properties / anchor / properties / spanId / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • changedOutput schema / properties / truths / items / properties / debate / anyOf
        Previous value: -[
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "cap": {
        -        "type": "number"
        -      },
        -      "contestStatement": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "contestedBy": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "decideBy": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "decidedHow": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "deciderId": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "decision": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "note": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "rounds": {
        -        "type": "number"
        -      },
        -      "threadId": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "threadId",
        -      "contestedBy",
        -      "contestStatement",
        -      "rounds",
        -      "cap",
        -      "deciderId",
        -      "decideBy",
        -      "decision",
        -      "decidedHow",
        -      "note"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "cap": {
        +        "type": "number"
        +      },
        +      "contestStatement": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "contestedBy": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "decideBy": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "decidedHow": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "deciderId": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "decision": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "note": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "rounds": {
        +        "type": "number"
        +      },
        +      "threadId": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "threadId",
        +      "contestedBy",
        +      "contestStatement",
        +      "rounds",
        +      "cap",
        +      "deciderId",
        +      "decideBy",
        +      "decision",
        +      "decidedHow",
        +      "note"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / truths / items / properties / supersededBy / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / truths / items / properties / supersededBy / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / truths / items / properties / supersedes / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / truths / items / properties / supersedes / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • changedOutput schema / properties / wait / anyOf
        Previous value: -[
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "condition": {
        -        "additionalProperties": {},
        -        "propertyNames": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      },
        -      "continuation": {
        -        "type": "string"
        -      },
        -      "counterparty": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "createdAt": {
        -        "type": "string"
        -      },
        -      "deadline": {
        -        "type": "string"
        -      },
        -      "id": {
        -        "type": "string"
        -      },
        -      "identityId": {
        -        "type": "string"
        -      },
        -      "resolution": {
        -        "anyOf": [
        -          {
        -            "additionalProperties": {},
        -            "propertyNames": {
        -              "type": "string"
        -            },
        -            "type": "object"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "resolvedAt": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "status": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "id",
        -      "identityId",
        -      "condition",
        -      "counterparty",
        -      "deadline",
        -      "continuation",
        -      "status",
        -      "resolution",
        -      "createdAt",
        -      "resolvedAt"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "deadline": {
        -        "type": "string"
        -      },
        -      "id": {
        -        "type": "string"
        -      },
        -      "status": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "id",
        -      "status",
        -      "deadline"
        -    ],
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "condition": {
        +        "additionalProperties": {},
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "continuation": {
        +        "type": "string"
        +      },
        +      "counterparty": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "deadline": {
        +        "type": "string"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "identityId": {
        +        "type": "string"
        +      },
        +      "resolution": {
        +        "anyOf": [
        +          {
        +            "additionalProperties": {},
        +            "propertyNames": {
        +              "type": "string"
        +            },
        +            "type": "object"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      },
        +      "resolvedAt": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "status": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "id",
        +      "identityId",
        +      "condition",
        +      "counterparty",
        +      "deadline",
        +      "continuation",
        +      "status",
        +      "resolution",
        +      "createdAt",
        +      "resolvedAt"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "deadline": {
        +        "type": "string"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "id",
        +      "status",
        +      "deadline"
        +    ],
        +    "type": "object"
        +  }
        +]
      • removedOutput schema / properties / waits / items / properties / counterparty / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / waits / items / properties / counterparty / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / waits / items / properties / resolvedAt / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / waits / items / properties / resolvedAt / type
        Added value: +[
        +  "string",
        +  "null"
        +]
    • Changedregistry_write21 fields changed
      • addedInput schema / properties / seat
        Added value: +{
        +  "description": "the seat token identity_write action=take_seat gave you; pass it on every call while you drive that agent",
        +  "maxLength": 64,
        +  "type": "string"
        +}
      • removedOutput schema / properties / comments / items / properties / version / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / comments / items / properties / version / type
        Added value: +[
        +  "number",
        +  "null"
        +]
      • removedOutput schema / properties / mount / properties / commitSha / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / mount / properties / commitSha / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / mount / properties / folder / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / mount / properties / folder / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / package / properties / standing / properties / meanByChain / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / package / properties / standing / properties / meanByChain / type
        Added value: +[
        +  "number",
        +  "null"
        +]
      • removedOutput schema / properties / packages / items / properties / standing / properties / meanByChain / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / packages / items / properties / standing / properties / meanByChain / type
        Added value: +[
        +  "number",
        +  "null"
        +]
      • removedOutput schema / properties / pulled / properties / location / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / pulled / properties / location / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / report / properties / onBehalfOf / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / report / properties / onBehalfOf / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / report / properties / org / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / report / properties / org / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / reports / items / properties / onBehalfOf / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / reports / items / properties / onBehalfOf / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / reports / items / properties / org / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / reports / items / properties / org / type
        Added value: +[
        +  "string",
        +  "null"
        +]
    • Changedsearch52 fields changed
      • addedInput schema / properties / seat
        Added value: +{
        +  "description": "the seat token identity_write action=take_seat gave you; pass it on every call while you drive that agent",
        +  "maxLength": 64,
        +  "type": "string"
        +}
      • removedOutput schema / properties / file / properties / body / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / file / properties / body / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / file / properties / bytes / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / file / properties / bytes / type
        Added value: +[
        +  "number",
        +  "null"
        +]
      • removedOutput schema / properties / file / properties / changedAt / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / file / properties / changedAt / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / file / properties / citedCommit / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / file / properties / citedCommit / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / file / properties / citedCommitCollected / anyOf
        Removed value: -[
        -  {
        -    "type": "boolean"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / file / properties / citedCommitCollected / type
        Added value: +[
        +  "boolean",
        +  "null"
        +]
      • removedOutput schema / properties / file / properties / citedLink / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / file / properties / citedLink / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / file / properties / description / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / file / properties / description / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / file / properties / nextOffset / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / file / properties / nextOffset / type
        Added value: +[
        +  "number",
        +  "null"
        +]
      • removedOutput schema / properties / file / properties / sourceLink / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / file / properties / sourceLink / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / file / properties / stars / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / file / properties / stars / type
        Added value: +[
        +  "number",
        +  "null"
        +]
      • removedOutput schema / properties / file / properties / withheld / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / file / properties / withheld / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / hits / items / properties / freshness / properties / commit / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / hits / items / properties / freshness / properties / commit / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / hits / items / properties / freshness / properties / committedAt / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / hits / items / properties / freshness / properties / committedAt / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • changedOutput schema / properties / hits / items / properties / freshness / properties / source / anyOf
        Previous value: -[
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "aclRecorded": {
        -        "type": "boolean"
        -      },
        -      "id": {
        -        "type": "string"
        -      },
        -      "lastError": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "lastSyncedAt": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "location": {
        -        "type": "string"
        -      },
        -      "name": {
        -        "type": "string"
        -      },
        -      "provider": {
        -        "type": "string"
        -      },
        -      "pulledBy": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "syncLagS": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      }
        -    },
        -    "required": [
        -      "id",
        -      "provider",
        -      "name",
        -      "location",
        -      "pulledBy",
        -      "lastSyncedAt",
        -      "syncLagS",
        -      "lastError",
        -      "aclRecorded"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "aclRecorded": {
        +        "type": "boolean"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "lastError": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "lastSyncedAt": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "location": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "provider": {
        +        "type": "string"
        +      },
        +      "pulledBy": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "syncLagS": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      }
        +    },
        +    "required": [
        +      "id",
        +      "provider",
        +      "name",
        +      "location",
        +      "pulledBy",
        +      "lastSyncedAt",
        +      "syncLagS",
        +      "lastError",
        +      "aclRecorded"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / hits / items / properties / knowledgeId / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / hits / items / properties / knowledgeId / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / hits / items / properties / line / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / hits / items / properties / line / type
        Added value: +[
        +  "number",
        +  "null"
        +]
      • removedOutput schema / properties / hits / items / properties / location / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / hits / items / properties / location / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / hits / items / properties / messageId / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / hits / items / properties / messageId / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / hits / items / properties / nodeId / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / hits / items / properties / nodeId / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / hits / items / properties / score / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / hits / items / properties / score / type
        Added value: +[
        +  "number",
        +  "null"
        +]
      • removedOutput schema / properties / hits / items / properties / spanId / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / hits / items / properties / spanId / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / public / items / properties / bytes / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / public / items / properties / bytes / type
        Added value: +[
        +  "number",
        +  "null"
        +]
      • removedOutput schema / properties / public / items / properties / changedAt / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / public / items / properties / changedAt / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / public / items / properties / description / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / public / items / properties / description / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / public / items / properties / sourceLink / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / public / items / properties / sourceLink / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / public / items / properties / stars / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / public / items / properties / stars / type
        Added value: +[
        +  "number",
        +  "null"
        +]
    • Changedsources_write1 field changed
      • addedInput schema / properties / seat
        Added value: +{
        +  "description": "the seat token identity_write action=take_seat gave you; pass it on every call while you drive that agent",
        +  "maxLength": 64,
        +  "type": "string"
        +}
  8. 6 tool updates
    • Changedaccess_grant2 fields changed
      • changedInput schema / properties / emails / description
        Previous value: -"share: email addresses to share with (at most 20 per call)"New value: +"share: email addresses to share with; give emails, members or both (at most 20 recipients per call)"
      • addedInput schema / properties / members
        Added value: +{
        +  "description": "share: member ids from browse action=people, for a person whose address you do not have; the preview names who each one is",
        +  "items": {
        +    "type": "string"
        +  },
        +  "maxItems": 20,
        +  "minItems": 1,
        +  "type": "array"
        +}
    • Changedbrief_me9 fields changed
      • changedInput schema / properties / only / description
        Previous value: -"projects: the text says only what moved in your projects since your cursor, and nothing when nothing did (for a prompt hook)"New value: +"projects: the text says only the questions, requests and handoffs sent to you and what moved in your projects since your cursor, and nothing when nothing did (for a prompt hook)"
      • addedOutput schema / properties / answered / properties / items / items / properties / isNew
        Added value: +{
        +  "description": "sent after your cursor",
        +  "type": "boolean"
        +}
      • changedOutput schema / properties / answered / properties / items / items / required
        Previous value: -[
        -  "id",
        -  "threadId",
        -  "kind",
        -  "from",
        -  "text",
        -  "location",
        -  "at",
        -  "status"
        -]New value: +[
        +  "id",
        +  "threadId",
        +  "kind",
        +  "from",
        +  "text",
        +  "location",
        +  "at",
        +  "status",
        +  "isNew"
        +]
      • addedOutput schema / properties / asked / properties / items / items / properties / isNew
        Added value: +{
        +  "description": "sent after your cursor",
        +  "type": "boolean"
        +}
      • changedOutput schema / properties / asked / properties / items / items / required
        Previous value: -[
        -  "id",
        -  "threadId",
        -  "kind",
        -  "from",
        -  "text",
        -  "location",
        -  "at",
        -  "status"
        -]New value: +[
        +  "id",
        +  "threadId",
        +  "kind",
        +  "from",
        +  "text",
        +  "location",
        +  "at",
        +  "status",
        +  "isNew"
        +]
      • addedOutput schema / properties / commitments / items / properties / isNew
        Added value: +{
        +  "description": "sent after your cursor",
        +  "type": "boolean"
        +}
      • changedOutput schema / properties / commitments / items / required
        Previous value: -[
        -  "id",
        -  "threadId",
        -  "kind",
        -  "from",
        -  "text",
        -  "location",
        -  "at",
        -  "status"
        -]New value: +[
        +  "id",
        +  "threadId",
        +  "kind",
        +  "from",
        +  "text",
        +  "location",
        +  "at",
        +  "status",
        +  "isNew"
        +]
      • addedOutput schema / properties / waiting / properties / items / items / properties / isNew
        Added value: +{
        +  "description": "sent after your cursor",
        +  "type": "boolean"
        +}
      • changedOutput schema / properties / waiting / properties / items / items / required
        Previous value: -[
        -  "id",
        -  "threadId",
        -  "kind",
        -  "from",
        -  "text",
        -  "location",
        -  "at",
        -  "status"
        -]New value: +[
        +  "id",
        +  "threadId",
        +  "kind",
        +  "from",
        +  "text",
        +  "location",
        +  "at",
        +  "status",
        +  "isNew"
        +]
    • Changedbrowse9 fields changed
      • addedOutput schema / properties / package / properties / name
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / package / properties / organization
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / package / properties / reference
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / packages / items / properties / name
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / packages / items / properties / organization
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / packages / items / properties / reference
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / proposal / properties / name
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / proposal / properties / organization
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / proposal / properties / reference
        Added value: +{
        +  "type": "string"
        +}
    • Changedmessage_write1 field changed
      • changedInput schema / properties / status / description
        Previous value: -"reply_comment: reply_comment: say you took the thread's work on, or report it done"New value: +"reply_comment: reply_comment: say you took the thread's work on, or report it done; taken is refused while someone else holds the thread until its date"
    • Changedread10 fields changed
      • changedInput schema / properties / slug / description
        Previous value: -"package: the package's name in the registry"New value: +"package: org/publication for a public package; a local publication name when proposing"
      • addedOutput schema / properties / package / properties / name
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / package / properties / organization
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / package / properties / reference
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / packages / items / properties / name
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / packages / items / properties / organization
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / packages / items / properties / reference
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / proposal / properties / name
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / proposal / properties / organization
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / proposal / properties / reference
        Added value: +{
        +  "type": "string"
        +}
    • Changedregistry_write10 fields changed
      • changedInput schema / properties / slug / description
        Previous value: -"pull, add, follow, comment, rate, propose: the package's name in the registry"New value: +"pull, add, follow, comment, rate, propose: org/publication for a public package; a local publication name when proposing"
      • addedOutput schema / properties / package / properties / name
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / package / properties / organization
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / package / properties / reference
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / packages / items / properties / name
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / packages / items / properties / organization
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / packages / items / properties / reference
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / proposal / properties / name
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / proposal / properties / organization
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / proposal / properties / reference
        Added value: +{
        +  "type": "string"
        +}
  9. 16 tool updates
    • Changedaccess_grant1 field changed
      • addedInput schema / properties / acting_as
        Added value: +{
        +  "description": "an agent identity below you (its id, from identity_write action=spawn) to make this one call as, with that agent's narrower access; for a helper whose session signs in as its person",
        +  "type": "string"
        +}
    • Changedaccess_read1 field changed
      • addedInput schema / properties / acting_as
        Added value: +{
        +  "description": "an agent identity below you (its id, from identity_write action=spawn) to make this one call as, with that agent's narrower access; for a helper whose session signs in as its person",
        +  "type": "string"
        +}
    • Changedaccess_revoke1 field changed
      • addedInput schema / properties / acting_as
        Added value: +{
        +  "description": "an agent identity below you (its id, from identity_write action=spawn) to make this one call as, with that agent's narrower access; for a helper whose session signs in as its person",
        +  "type": "string"
        +}
    • Changedbrief_me5 fields changed
      • addedInput schema / properties / acting_as
        Added value: +{
        +  "description": "an agent identity below you (its id, from identity_write action=spawn) to make this one call as, with that agent's narrower access; for a helper whose session signs in as its person",
        +  "type": "string"
        +}
      • addedInput schema / properties / only
        Added value: +{
        +  "description": "projects: the text says only what moved in your projects since your cursor, and nothing when nothing did (for a prompt hook)",
        +  "enum": [
        +    "projects"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / repo
        Added value: +{
        +  "description": "the repository you are working in (its git remote, any spelling): adds the projects whose AGENTS.md lists it",
        +  "type": "string"
        +}
      • addedOutput schema / properties / projects
        Added value: +{
        +  "description": "the projects you or anyone above you follows, and those whose AGENTS.md repos: name the repository you named: their open threads and which moved since your cursor",
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "followed": {
        +        "type": "boolean"
        +      },
        +      "location": {
        +        "type": "string"
        +      },
        +      "newCount": {
        +        "type": "number"
        +      },
        +      "node": {
        +        "type": "string"
        +      },
        +      "owner": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      },
        +      "repos": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "routing": {
        +        "enum": [
        +          "members",
        +          "owner"
        +        ],
        +        "type": "string"
        +      },
        +      "threads": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "by": {
        +              "type": "string"
        +            },
        +            "due": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "null"
        +                }
        +              ]
        +            },
        +            "isNew": {
        +              "type": "boolean"
        +            },
        +            "link": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "null"
        +                }
        +              ]
        +            },
        +            "mine": {
        +              "type": "boolean"
        +            },
        +            "state": {
        +              "enum": [
        +                "open",
        +                "taken",
        +                "reported"
        +              ],
        +              "type": "string"
        +            },
        +            "takenBy": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "null"
        +                }
        +              ]
        +            },
        +            "text": {
        +              "type": "string"
        +            },
        +            "thread": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "thread",
        +            "text",
        +            "by",
        +            "state",
        +            "takenBy",
        +            "due",
        +            "link",
        +            "mine",
        +            "isNew"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      }
        +    },
        +    "required": [
        +      "node",
        +      "location",
        +      "routing",
        +      "owner",
        +      "repos",
        +      "followed",
        +      "newCount",
        +      "threads"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "cursor",
        -  "me",
        -  "claims",
        -  "commitments",
        -  "waiting",
        -  "asked",
        -  "answered",
        -  "resolvedWaits",
        -  "pendingWaits",
        -  "approvals",
        -  "invitations",
        -  "offers",
        -  "memberships",
        -  "session",
        -  "usage",
        -  "loops",
        -  "changed",
        -  "contested",
        -  "skills",
        -  "memory",
        -  "loaded"
        -]New value: +[
        +  "cursor",
        +  "me",
        +  "claims",
        +  "commitments",
        +  "waiting",
        +  "asked",
        +  "answered",
        +  "resolvedWaits",
        +  "pendingWaits",
        +  "approvals",
        +  "invitations",
        +  "offers",
        +  "memberships",
        +  "session",
        +  "usage",
        +  "loops",
        +  "changed",
        +  "contested",
        +  "skills",
        +  "memory",
        +  "loaded",
        +  "projects"
        +]
    • Changedbrowse8 fields changed
      • addedInput schema / properties / acting_as
        Added value: +{
        +  "description": "an agent identity below you (its id, from identity_write action=spawn) to make this one call as, with that agent's narrower access; for a helper whose session signs in as its person",
        +  "type": "string"
        +}
      • changedInput schema / properties / action / enum
        Previous value: -[
        -  "folders",
        -  "versions",
        -  "documents",
        -  "sources",
        -  "people",
        -  "inbox",
        -  "claims",
        -  "waits",
        -  "subscriptions",
        -  "rooms",
        -  "truths",
        -  "spans",
        -  "links",
        -  "drafts",
        -  "lessons",
        -  "comments",
        -  "connectors",
        -  "pins",
        -  "packages",
        -  "context",
        -  "reports"
        -]New value: +[
        +  "folders",
        +  "versions",
        +  "documents",
        +  "sources",
        +  "people",
        +  "inbox",
        +  "claims",
        +  "waits",
        +  "subscriptions",
        +  "rooms",
        +  "truths",
        +  "spans",
        +  "links",
        +  "drafts",
        +  "lessons",
        +  "comments",
        +  "connectors",
        +  "pins",
        +  "projects",
        +  "packages",
        +  "context",
        +  "reports"
        +]
      • addedOutput schema / properties / comment / properties / marker
        Added value: +{
        +  "anyOf": [
        +    {
        +      "enum": [
        +        "taken",
        +        "reported"
        +      ],
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "a reply's status for the thread's work"
        +}
      • addedOutput schema / properties / comment / properties / marker_by
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "taken: the date it is promised by, YYYY-MM-DD"
        +}
      • addedOutput schema / properties / comment / properties / marker_link
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "reported: where the work is; null when you cannot read it"
        +}
      • changedOutput schema / properties / comments / anyOf
        Previous value: -[
        -  {
        -    "items": {
        -      "additionalProperties": false,
        -      "properties": {
        -        "actor_kind": {
        -          "type": "string"
        -        },
        -        "anchor_prefix": {
        -          "anyOf": [
        -            {
        -              "type": "string"
        -            },
        -            {
        -              "type": "null"
        -            }
        -          ],
        -          "description": "the text just before quote, which places it when the quote repeats"
        -        },
        -        "anchor_suffix": {
        -          "anyOf": [
        -            {
        -              "type": "string"
        -            },
        -            {
        -              "type": "null"
        -            }
        -          ],
        -          "description": "the text just after quote"
        -        },
        -        "author_display": {
        -          "type": "string"
        -        },
        -        "author_id": {
        -          "anyOf": [
        -            {
        -              "type": "string"
        -            },
        -            {
        -              "type": "null"
        -            }
        -          ]
        -        },
        -        "body": {
        -          "type": "string"
        -        },
        -        "commit_hash": {
        -          "anyOf": [
        -            {
        -              "type": "string"
        -            },
        -            {
        -              "type": "null"
        -            }
        -          ],
        -          "description": "the document's commit when this was written; null on a folder's discussion"
        -        },
        -        "created_at": {
        -          "type": "string"
        -        },
        -        "id": {
        -          "type": "string"
        -        },
        -        "location": {
        -          "type": "string"
        -        },
        -        "quote": {
        -          "anyOf": [
        -            {
        -              "type": "string"
        -            },
        -            {
        -              "type": "null"
        -            }
        -          ]
        -        },
        -        "resolved": {
        -          "type": "boolean"
        -        },
        -        "span_id": {
        -          "anyOf": [
        -            {
        -              "type": "string"
        -            },
        -            {
        -              "type": "null"
        -            }
        -          ]
        -        },
        -        "span_text": {
        -          "anyOf": [
        -            {
        -              "type": "string"
        -            },
        -            {
        -              "type": "null"
        -            }
        -          ],
        -          "description": "comments: the span's current text"
        -        },
        -        "thread_id": {
        -          "type": "string"
        -        }
        -      },
        -      "required": [
        -        "id",
        -        "location",
        -        "thread_id",
        -        "quote",
        -        "anchor_prefix",
        -        "anchor_suffix",
        -        "author_id",
        -        "author_display",
        -        "actor_kind",
        -        "span_id",
        -        "body",
        -        "resolved",
        -        "created_at"
        -      ],
        -      "type": "object"
        -    },
        -    "type": "array"
        -  },
        -  {
        -    "items": {
        -      "additionalProperties": false,
        -      "properties": {
        -        "at": {
        -          "type": "string"
        -        },
        -        "author": {
        -          "type": "string"
        -        },
        -        "authorKind": {
        -          "type": "string"
        -        },
        -        "body": {
        -          "type": "string"
        -        },
        -        "org": {
        -          "type": "string"
        -        },
        -        "version": {
        -          "anyOf": [
        -            {
        -              "type": "number"
        -            },
        -            {
        -              "type": "null"
        -            }
        -          ]
        -        }
        -      },
        -      "required": [
        -        "author",
        -        "authorKind",
        -        "org",
        -        "body",
        -        "version",
        -        "at"
        -      ],
        -      "type": "object"
        -    },
        -    "type": "array"
        -  }
        -]New value: +[
        +  {
        +    "items": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "actor_kind": {
        +          "type": "string"
        +        },
        +        "anchor_prefix": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ],
        +          "description": "the text just before quote, which places it when the quote repeats"
        +        },
        +        "anchor_suffix": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ],
        +          "description": "the text just after quote"
        +        },
        +        "author_display": {
        +          "type": "string"
        +        },
        +        "author_id": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        },
        +        "body": {
        +          "type": "string"
        +        },
        +        "commit_hash": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ],
        +          "description": "the document's commit when this was written; null on a folder's discussion"
        +        },
        +        "created_at": {
        +          "type": "string"
        +        },
        +        "id": {
        +          "type": "string"
        +        },
        +        "location": {
        +          "type": "string"
        +        },
        +        "marker": {
        +          "anyOf": [
        +            {
        +              "enum": [
        +                "taken",
        +                "reported"
        +              ],
        +              "type": "string"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ],
        +          "description": "a reply's status for the thread's work"
        +        },
        +        "marker_by": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ],
        +          "description": "taken: the date it is promised by, YYYY-MM-DD"
        +        },
        +        "marker_link": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ],
        +          "description": "reported: where the work is; null when you cannot read it"
        +        },
        +        "quote": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        },
        +        "resolved": {
        +          "type": "boolean"
        +        },
        +        "span_id": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        },
        +        "span_text": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ],
        +          "description": "comments: the span's current text"
        +        },
        +        "thread_id": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "id",
        +        "location",
        +        "thread_id",
        +        "quote",
        +        "anchor_prefix",
        +        "anchor_suffix",
        +        "author_id",
        +        "author_display",
        +        "actor_kind",
        +        "span_id",
        +        "body",
        +        "resolved",
        +        "created_at"
        +      ],
        +      "type": "object"
        +    },
        +    "type": "array"
        +  },
        +  {
        +    "items": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "at": {
        +          "type": "string"
        +        },
        +        "author": {
        +          "type": "string"
        +        },
        +        "authorKind": {
        +          "type": "string"
        +        },
        +        "body": {
        +          "type": "string"
        +        },
        +        "org": {
        +          "type": "string"
        +        },
        +        "version": {
        +          "anyOf": [
        +            {
        +              "type": "number"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        }
        +      },
        +      "required": [
        +        "author",
        +        "authorKind",
        +        "org",
        +        "body",
        +        "version",
        +        "at"
        +      ],
        +      "type": "object"
        +    },
        +    "type": "array"
        +  }
        +]
      • addedOutput schema / properties / project
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "location": {
        +      "type": "string"
        +    },
        +    "node": {
        +      "type": "string"
        +    },
        +    "owner": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "the folder's owner, which is the project's"
        +    },
        +    "repos": {
        +      "description": "the repositories its AGENTS.md lists under repos:, as host/owner/name",
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "routing": {
        +      "description": "members choose their work, or the owner's side assigns it",
        +      "enum": [
        +        "members",
        +        "owner"
        +      ],
        +      "type": "string"
        +    },
        +    "started_at": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "node",
        +    "location",
        +    "routing",
        +    "owner",
        +    "started_at"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / projects
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "location": {
        +        "type": "string"
        +      },
        +      "node": {
        +        "type": "string"
        +      },
        +      "owner": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "the folder's owner, which is the project's"
        +      },
        +      "repos": {
        +        "description": "the repositories its AGENTS.md lists under repos:, as host/owner/name",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "routing": {
        +        "description": "members choose their work, or the owner's side assigns it",
        +        "enum": [
        +          "members",
        +          "owner"
        +        ],
        +        "type": "string"
        +      },
        +      "started_at": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "node",
        +      "location",
        +      "routing",
        +      "owner",
        +      "started_at"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
    • Changedcoordination_write7 fields changed
      • addedInput schema / properties / acting_as
        Added value: +{
        +  "description": "an agent identity below you (its id, from identity_write action=spawn) to make this one call as, with that agent's narrower access; for a helper whose session signs in as its person",
        +  "type": "string"
        +}
      • changedInput schema / properties / action / enum
        Previous value: -[
        -  "claim",
        -  "renew",
        -  "release",
        -  "wait_for",
        -  "cancel_wait",
        -  "subscribe",
        -  "unsubscribe",
        -  "ack_changes",
        -  "ack_brief",
        -  "propose",
        -  "accept",
        -  "verify",
        -  "contest",
        -  "argue",
        -  "decide",
        -  "supersede",
        -  "pin",
        -  "unpin",
        -  "order_pins",
        -  "link"
        -]New value: +[
        +  "claim",
        +  "renew",
        +  "release",
        +  "wait_for",
        +  "cancel_wait",
        +  "subscribe",
        +  "unsubscribe",
        +  "ack_changes",
        +  "ack_brief",
        +  "propose",
        +  "accept",
        +  "verify",
        +  "contest",
        +  "argue",
        +  "decide",
        +  "supersede",
        +  "pin",
        +  "unpin",
        +  "order_pins",
        +  "link",
        +  "start_project",
        +  "end_project",
        +  "route_project"
        +]
      • changedInput schema / properties / location / description
        Previous value: -"claim: the document, whole path from the workspace root. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · subscribe: the document or folder to follow. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · propose: a document or folder path. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · pin, unpin: the document's location, e.g. team/dashboard.md. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too."New value: +"claim: the document, whole path from the workspace root. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · subscribe: the document or folder to follow. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · propose: a document or folder path. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · pin, unpin: the document's location, e.g. team/dashboard.md. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · start_project, end_project, route_project: the folder. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too."
      • changedInput schema / properties / node / description
        Previous value: -"claim: the document's node id instead of a path. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · subscribe: the document or folder, by id instead of location. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · propose: a node id, instead of location. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · pin, unpin: the document's node id, instead of location. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too."New value: +"claim: the document's node id instead of a path. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · subscribe: the document or folder, by id instead of location. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · propose: a node id, instead of location. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · pin, unpin: the document's node id, instead of location. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · start_project, end_project, route_project: the folder's node id, instead of location. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too."
      • addedInput schema / properties / routing
        Added value: +{
        +  "description": "start_project, route_project: members (the default): each member's agent takes the work its person picks; owner: the owner's side assigns it",
        +  "enum": [
        +    "members",
        +    "owner"
        +  ],
        +  "type": "string"
        +}
      • addedOutput schema / properties / project
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "location": {
        +      "type": "string"
        +    },
        +    "node": {
        +      "type": "string"
        +    },
        +    "owner": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "the folder's owner, which is the project's"
        +    },
        +    "repos": {
        +      "description": "the repositories its AGENTS.md lists under repos:, as host/owner/name",
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "routing": {
        +      "description": "members choose their work, or the owner's side assigns it",
        +      "enum": [
        +        "members",
        +        "owner"
        +      ],
        +      "type": "string"
        +    },
        +    "started_at": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "node",
        +    "location",
        +    "routing",
        +    "owner",
        +    "started_at"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / projects
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "location": {
        +        "type": "string"
        +      },
        +      "node": {
        +        "type": "string"
        +      },
        +      "owner": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "the folder's owner, which is the project's"
        +      },
        +      "repos": {
        +        "description": "the repositories its AGENTS.md lists under repos:, as host/owner/name",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "routing": {
        +        "description": "members choose their work, or the owner's side assigns it",
        +        "enum": [
        +          "members",
        +          "owner"
        +        ],
        +        "type": "string"
        +      },
        +      "started_at": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "node",
        +      "location",
        +      "routing",
        +      "owner",
        +      "started_at"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
    • Changeddoc_create14 fields changed
      • addedInput schema / properties / acting_as
        Added value: +{
        +  "description": "an agent identity below you (its id, from identity_write action=spawn) to make this one call as, with that agent's narrower access; for a helper whose session signs in as its person",
        +  "type": "string"
        +}
      • changedInput schema / properties / action / enum
        Previous value: -[
        -  "document",
        -  "folder"
        -]New value: +[
        +  "document",
        +  "folder",
        +  "upload"
        +]
      • addedInput schema / properties / delete
        Added value: +{
        +  "description": "upload: true to delete what folder_path holds that entries leaves out (rsync --delete); undoable",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / entries
        Added value: +{
        +  "description": "upload: the files, one {path, sha256, size} each (at most 1000, 100 MB a file, 1 GB in all); a file unchanged since its last upload is not sent again",
        +  "items": {
        +    "properties": {
        +      "data": {
        +        "description": "the bytes inline as a data: URI, for a file under 256 KB",
        +        "type": "string"
        +      },
        +      "mimeType": {
        +        "description": "its media type, e.g. image/png; guessed from the extension when absent",
        +        "type": "string"
        +      },
        +      "path": {
        +        "description": "where the file goes, relative to folder_path, e.g. figure.svg or img/photo.png",
        +        "type": "string"
        +      },
        +      "sha256": {
        +        "description": "the file's SHA-256 as 64 hex characters (sha256sum / shasum -a 256); needed unless data or source_url brings the bytes",
        +        "type": "string"
        +      },
        +      "size": {
        +        "description": "the file's length in bytes; needed with sha256",
        +        "maximum": 9007199254740991,
        +        "minimum": 0,
        +        "type": "integer"
        +      },
        +      "source_url": {
        +        "description": "an https URL the server fetches the bytes from instead",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "path"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedInput schema / properties / file
        Added value: +{
        +  "description": "upload: a file ChatGPT attached, as it hands it to the tool; stored under its file_name",
        +  "properties": {
        +    "download_url": {
        +      "type": "string"
        +    },
        +    "file_id": {
        +      "type": "string"
        +    },
        +    "file_name": {
        +      "type": "string"
        +    },
        +    "mime_type": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "download_url"
        +  ],
        +  "type": "object"
        +}
      • changedInput schema / properties / folder_path / description
        Previous value: -"document: folder names, outermost first, e.g. [\"handbook\",\"policies\"]; at least one, since documents go in a folder · folder: folder names, outermost first, e.g. [\"product-docs\"] or [\"product-docs\",\"specs\"]"New value: +"document, upload: folder names, outermost first, e.g. [\"handbook\",\"policies\"]; at least one, since documents go in a folder · folder: folder names, outermost first, e.g. [\"product-docs\"] or [\"product-docs\",\"specs\"]"
      • addedOutput schema / properties / commit
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "the commit this call landed, when nothing was left to send"
        +}
      • addedOutput schema / properties / delete_refused
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / deleted
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / destination
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / files
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "answer": {
        +        "enum": [
        +          "unchanged",
        +          "upload",
        +          "received",
        +          "stored",
        +          "refused"
        +        ],
        +        "type": "string"
        +      },
        +      "expires_at": {
        +        "type": "string"
        +      },
        +      "link": {
        +        "description": "the markdown a document beside it links it with",
        +        "type": "string"
        +      },
        +      "location": {
        +        "description": "where it is stored; a .docx becomes .md",
        +        "type": "string"
        +      },
        +      "max_size": {
        +        "type": "number"
        +      },
        +      "method": {
        +        "type": "string"
        +      },
        +      "path": {
        +        "type": "string"
        +      },
        +      "reason": {
        +        "description": "refused: why",
        +        "type": "string"
        +      },
        +      "sha256": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "description": "upload: PUT the file's bytes here, e.g. curl -T <file> '<url>'",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "path",
        +      "answer"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / remote_only
        Added value: +{
        +  "description": "files folder_path holds that entries leaves out, relative to it",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / remote_only_more
        Added value: +{
        +  "maximum": 9007199254740991,
        +  "minimum": -9007199254740991,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / sync
        Added value: +{
        +  "anyOf": [
        +    {
        +      "additionalProperties": false,
        +      "properties": {
        +        "expires_at": {
        +          "type": "string"
        +        },
        +        "id": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "id",
        +        "expires_at"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "open until every upload URL has its bytes, then committed as one; at expires_at what arrived is committed"
        +}
    • Changeddoc_delete1 field changed
      • addedInput schema / properties / acting_as
        Added value: +{
        +  "description": "an agent identity below you (its id, from identity_write action=spawn) to make this one call as, with that agent's narrower access; for a helper whose session signs in as its person",
        +  "type": "string"
        +}
    • Changeddoc_update1 field changed
      • addedInput schema / properties / acting_as
        Added value: +{
        +  "description": "an agent identity below you (its id, from identity_write action=spawn) to make this one call as, with that agent's narrower access; for a helper whose session signs in as its person",
        +  "type": "string"
        +}
    • Changedidentity_write1 field changed
      • addedInput schema / properties / acting_as
        Added value: +{
        +  "description": "an agent identity below you (its id, from identity_write action=spawn) to make this one call as, with that agent's narrower access; for a helper whose session signs in as its person",
        +  "type": "string"
        +}
    • Changedknowledge_write1 field changed
      • addedInput schema / properties / acting_as
        Added value: +{
        +  "description": "an agent identity below you (its id, from identity_write action=spawn) to make this one call as, with that agent's narrower access; for a helper whose session signs in as its person",
        +  "type": "string"
        +}
    • Changedmessage_write10 fields changed
      • addedInput schema / properties / acting_as
        Added value: +{
        +  "description": "an agent identity below you (its id, from identity_write action=spawn) to make this one call as, with that agent's narrower access; for a helper whose session signs in as its person",
        +  "type": "string"
        +}
      • changedInput schema / properties / by / description
        Previous value: -"send: commitment / request: when, as an ISO date or time"New value: +"send: commitment / request: when, as an ISO date or time · reply_comment: reply_comment status=taken: the date you will have it by (default seven days from today)"
      • addedInput schema / properties / link
        Added value: +{
        +  "description": "reply_comment: reply_comment status=reported: the document or folder the work is in. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too.",
        +  "type": "string"
        +}
      • addedInput schema / properties / status
        Added value: +{
        +  "description": "reply_comment: reply_comment: say you took the thread's work on, or report it done",
        +  "enum": [
        +    "taken",
        +    "reported"
        +  ],
        +  "type": "string"
        +}
      • addedOutput schema / properties / comment / properties / marker
        Added value: +{
        +  "anyOf": [
        +    {
        +      "enum": [
        +        "taken",
        +        "reported"
        +      ],
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "a reply's status for the thread's work"
        +}
      • addedOutput schema / properties / comment / properties / marker_by
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "taken: the date it is promised by, YYYY-MM-DD"
        +}
      • addedOutput schema / properties / comment / properties / marker_link
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "reported: where the work is; null when you cannot read it"
        +}
      • addedOutput schema / properties / comments / items / properties / marker
        Added value: +{
        +  "anyOf": [
        +    {
        +      "enum": [
        +        "taken",
        +        "reported"
        +      ],
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "a reply's status for the thread's work"
        +}
      • addedOutput schema / properties / comments / items / properties / marker_by
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "taken: the date it is promised by, YYYY-MM-DD"
        +}
      • addedOutput schema / properties / comments / items / properties / marker_link
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "reported: where the work is; null when you cannot read it"
        +}
    • Changedread1 field changed
      • addedInput schema / properties / acting_as
        Added value: +{
        +  "description": "an agent identity below you (its id, from identity_write action=spawn) to make this one call as, with that agent's narrower access; for a helper whose session signs in as its person",
        +  "type": "string"
        +}
    • Changedregistry_write1 field changed
      • addedInput schema / properties / acting_as
        Added value: +{
        +  "description": "an agent identity below you (its id, from identity_write action=spawn) to make this one call as, with that agent's narrower access; for a helper whose session signs in as its person",
        +  "type": "string"
        +}
    • Changedsearch1 field changed
      • addedInput schema / properties / acting_as
        Added value: +{
        +  "description": "an agent identity below you (its id, from identity_write action=spawn) to make this one call as, with that agent's narrower access; for a helper whose session signs in as its person",
        +  "type": "string"
        +}
    • Changedsources_write1 field changed
      • addedInput schema / properties / acting_as
        Added value: +{
        +  "description": "an agent identity below you (its id, from identity_write action=spawn) to make this one call as, with that agent's narrower access; for a helper whose session signs in as its person",
        +  "type": "string"
        +}
  10. 4 tool updates
    • Changedbrowse8 fields changed
      • changedInput schema / properties / action / enum
        Previous value: -[
        -  "folders",
        -  "documents",
        -  "sources",
        -  "people",
        -  "inbox",
        -  "claims",
        -  "waits",
        -  "subscriptions",
        -  "rooms",
        -  "truths",
        -  "spans",
        -  "links",
        -  "drafts",
        -  "lessons",
        -  "comments",
        -  "connectors",
        -  "pins",
        -  "packages",
        -  "context",
        -  "reports"
        -]New value: +[
        +  "folders",
        +  "versions",
        +  "documents",
        +  "sources",
        +  "people",
        +  "inbox",
        +  "claims",
        +  "waits",
        +  "subscriptions",
        +  "rooms",
        +  "truths",
        +  "spans",
        +  "links",
        +  "drafts",
        +  "lessons",
        +  "comments",
        +  "connectors",
        +  "pins",
        +  "packages",
        +  "context",
        +  "reports"
        +]
      • changedInput schema / properties / location / description
        Previous value: -"folders: full path to scope to, e.g. \"handbook\" or \"handbook/vendor\". Omit to cover everything you can reach. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · documents: the folder to list, full path from the workspace root, e.g. \"handbook\" or \"handbook/vendor\". A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · truths, spans: a document or folder path. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · comments: the document or folder path. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · context: a folder or document; its folder and every folder above it are asked. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too."New value: +"folders: full path to scope to, e.g. \"handbook\" or \"handbook/vendor\". Omit to cover everything you can reach. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · versions: full path from the workspace root, e.g. \"handbook/vendor/acme.md\". Give this OR node. A path is what a person reads; a node is what survives somebody reorganizing. · documents: the folder to list, full path from the workspace root, e.g. \"handbook\" or \"handbook/vendor\". A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · truths, spans: a document or folder path. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · comments: the document or folder path. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · context: a folder or document; its folder and every folder above it are asked. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too."
      • changedInput schema / properties / node / description
        Previous value: -"truths, spans: a node id, instead of location. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too."New value: +"versions: the document's id, as returned beside its location — survives a rename or a move, so a citation written into a stored document keeps pointing at the right thing. Give this OR location, never both. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · truths, spans: a node id, instead of location. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too."
      • addedOutput schema / properties / mount / properties / files
        Added value: +{
        +  "description": "how many files the mount holds",
        +  "type": "number"
        +}
      • addedOutput schema / properties / mount / properties / folder
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "for a skill that lives in a folder: where its whole folder was mounted; null for a file mounted alone"
        +}
      • addedOutput schema / properties / mount / properties / skipped
        Added value: +{
        +  "description": "files of the skill's folder not copied, and why",
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "path": {
        +        "type": "string"
        +      },
        +      "why": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "path",
        +      "why"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • changedOutput schema / properties / mount / required
        Previous value: -[
        -  "location",
        -  "created",
        -  "diverged",
        -  "organization",
        -  "follow",
        -  "commitSha",
        -  "changed"
        -]New value: +[
        +  "location",
        +  "created",
        +  "diverged",
        +  "organization",
        +  "follow",
        +  "commitSha",
        +  "changed",
        +  "folder",
        +  "files",
        +  "skipped"
        +]
      • addedOutput schema / properties / versions
        Added value: +{
        +  "description": "the document's versions, newest first",
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "author": {
        +        "description": "who committed it",
        +        "type": "string"
        +      },
        +      "commit": {
        +        "description": "the version's commit hash: pass it as commit to read action=version or doc_update action=restore_version",
        +        "type": "string"
        +      },
        +      "message": {
        +        "description": "the commit message",
        +        "type": "string"
        +      },
        +      "ts": {
        +        "description": "when, ISO 8601",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "commit",
        +      "author",
        +      "message",
        +      "ts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
    • Changeddoc_update7 fields changed
      • changedInput schema / properties / action / enum
        Previous value: -[
        -  "edit",
        -  "replace",
        -  "move",
        -  "restore"
        -]New value: +[
        +  "edit",
        +  "replace",
        +  "move",
        +  "restore",
        +  "restore_version"
        +]
      • addedInput schema / properties / commit
        Added value: +{
        +  "description": "restore_version: the version's commit hash, as browse action=versions lists it (any lowercase prefix of at least 7 hex characters that names one)",
        +  "pattern": "^[0-9a-f]{7,64}$",
        +  "type": "string"
        +}
      • changedInput schema / properties / expected_commit / description
        Previous value: -"edit: the document head you read at (read action=document prints it; any lowercase prefix of at least 7 hex characters). Refuses if that document has changed since. · replace: the document head you read at (read action=document prints it; any lowercase prefix of at least 7 hex characters). Refuses if that document has changed since. Omit to replace whatever is there now."New value: +"edit: the document head you read at (read action=document prints it; any lowercase prefix of at least 7 hex characters). Refuses if that document has changed since. · replace: the document head you read at (read action=document prints it; any lowercase prefix of at least 7 hex characters). Refuses if that document has changed since. Omit to replace whatever is there now. · restore_version: the document head you read at (read action=document prints it; any lowercase prefix of at least 7 hex characters). Refuses if that document has changed since. Omit to restore over whatever is there now."
      • changedInput schema / properties / location / description
        Previous value: -"edit, replace: full path from the workspace root, e.g. \"handbook/vendor/acme.md\". Give this OR node. A path is what a person reads; a node is what survives somebody reorganizing. · restore: full path from the workspace root, e.g. \"handbook/vendor/acme.md\" (as printed by browse action=documents or search). A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too."New value: +"edit, replace, restore_version: full path from the workspace root, e.g. \"handbook/vendor/acme.md\". Give this OR node. A path is what a person reads; a node is what survives somebody reorganizing. · restore: full path from the workspace root, e.g. \"handbook/vendor/acme.md\" (as printed by browse action=documents or search). A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too."
      • changedInput schema / properties / node / description
        Previous value: -"edit, replace: the document's id, as returned beside its location — survives a rename or a move, so a citation written into a stored document keeps pointing at the right thing. Give this OR location, never both. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too."New value: +"edit, replace, restore_version: the document's id, as returned beside its location — survives a rename or a move, so a citation written into a stored document keeps pointing at the right thing. Give this OR location, never both. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too."
      • changedInput schema / properties / override_claim / description
        Previous value: -"edit: write even though another agent has CLAIMED the section you are changing. Logged, and they will see it. Default: refuse and name the holder. · replace: write even though another agent has CLAIMED this document. Logged, and they will see it. Default: refuse and name the holder."New value: +"edit: write even though another agent has CLAIMED the section you are changing. Logged, and they will see it. Default: refuse and name the holder. · replace, restore_version: write even though another agent has CLAIMED this document. Logged, and they will see it. Default: refuse and name the holder."
      • addedOutput schema / properties / restored
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "what the restore put back, and the new version it made of it",
        +  "properties": {
        +    "commit": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "the NEW commit the restore made; null when the document already said exactly that"
        +    },
        +    "from": {
        +      "description": "the version that was put back",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "from",
        +    "commit"
        +  ],
        +  "type": "object"
        +}
    • Changedread5 fields changed
      • changedInput schema / properties / action / enum
        Previous value: -[
        -  "document",
        -  "message",
        -  "thread",
        -  "truth",
        -  "span_history",
        -  "lesson",
        -  "lesson_notes",
        -  "package",
        -  "room",
        -  "wait",
        -  "changes"
        -]New value: +[
        +  "document",
        +  "version",
        +  "message",
        +  "thread",
        +  "truth",
        +  "span_history",
        +  "lesson",
        +  "lesson_notes",
        +  "package",
        +  "room",
        +  "wait",
        +  "changes"
        +]
      • addedInput schema / properties / commit
        Added value: +{
        +  "description": "version: the version's commit hash, as browse action=versions lists it (any lowercase prefix of at least 7 hex characters that names one)",
        +  "pattern": "^[0-9a-f]{7,64}$",
        +  "type": "string"
        +}
      • changedInput schema / properties / location / description
        Previous value: -"document: full path from the workspace root, e.g. \"handbook/vendor/acme.md\". Give this OR node. A path is what a person reads; a node is what survives somebody reorganizing."New value: +"document, version: full path from the workspace root, e.g. \"handbook/vendor/acme.md\". Give this OR node. A path is what a person reads; a node is what survives somebody reorganizing."
      • changedInput schema / properties / node / description
        Previous value: -"document: the document's id, as returned beside its location — survives a rename or a move, so a citation written into a stored document keeps pointing at the right thing. Give this OR location, never both. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too."New value: +"document, version: the document's id, as returned beside its location — survives a rename or a move, so a citation written into a stored document keeps pointing at the right thing. Give this OR location, never both. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too."
      • addedOutput schema / properties / image
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "present when the location is an image: an SVG's text is its source, a raster image's bytes are never sent as text",
        +  "properties": {
        +    "bytes": {
        +      "description": "its stored size in bytes",
        +      "maximum": 9007199254740991,
        +      "minimum": -9007199254740991,
        +      "type": "integer"
        +    },
        +    "link": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "where the console shows it; null when this deployment names no console"
        +    },
        +    "type": {
        +      "description": "its type, by extension: image/svg+xml, image/png, image/jpeg, image/gif or image/webp",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "type",
        +    "bytes",
        +    "link"
        +  ],
        +  "type": "object"
        +}
    • Changedregistry_write4 fields changed
      • addedOutput schema / properties / mount / properties / files
        Added value: +{
        +  "description": "how many files the mount holds",
        +  "type": "number"
        +}
      • addedOutput schema / properties / mount / properties / folder
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "for a skill that lives in a folder: where its whole folder was mounted; null for a file mounted alone"
        +}
      • addedOutput schema / properties / mount / properties / skipped
        Added value: +{
        +  "description": "files of the skill's folder not copied, and why",
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "path": {
        +        "type": "string"
        +      },
        +      "why": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "path",
        +      "why"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • changedOutput schema / properties / mount / required
        Previous value: -[
        -  "location",
        -  "created",
        -  "diverged",
        -  "organization",
        -  "follow",
        -  "commitSha",
        -  "changed"
        -]New value: +[
        +  "location",
        +  "created",
        +  "diverged",
        +  "organization",
        +  "follow",
        +  "commitSha",
        +  "changed",
        +  "folder",
        +  "files",
        +  "skipped"
        +]
  11. 2 tool updates
    • Changedbrowse2 fields changed
      • addedOutput schema / properties / comment / properties / commit_hash
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "the document's commit when this was written; null on a folder's discussion"
        +}
      • changedOutput schema / properties / comments / anyOf
        Previous value: -[
        -  {
        -    "items": {
        -      "additionalProperties": false,
        -      "properties": {
        -        "actor_kind": {
        -          "type": "string"
        -        },
        -        "anchor_prefix": {
        -          "anyOf": [
        -            {
        -              "type": "string"
        -            },
        -            {
        -              "type": "null"
        -            }
        -          ],
        -          "description": "the text just before quote, which places it when the quote repeats"
        -        },
        -        "anchor_suffix": {
        -          "anyOf": [
        -            {
        -              "type": "string"
        -            },
        -            {
        -              "type": "null"
        -            }
        -          ],
        -          "description": "the text just after quote"
        -        },
        -        "author_display": {
        -          "type": "string"
        -        },
        -        "author_id": {
        -          "anyOf": [
        -            {
        -              "type": "string"
        -            },
        -            {
        -              "type": "null"
        -            }
        -          ]
        -        },
        -        "body": {
        -          "type": "string"
        -        },
        -        "created_at": {
        -          "type": "string"
        -        },
        -        "id": {
        -          "type": "string"
        -        },
        -        "location": {
        -          "type": "string"
        -        },
        -        "quote": {
        -          "anyOf": [
        -            {
        -              "type": "string"
        -            },
        -            {
        -              "type": "null"
        -            }
        -          ]
        -        },
        -        "resolved": {
        -          "type": "boolean"
        -        },
        -        "span_id": {
        -          "anyOf": [
        -            {
        -              "type": "string"
        -            },
        -            {
        -              "type": "null"
        -            }
        -          ]
        -        },
        -        "span_text": {
        -          "anyOf": [
        -            {
        -              "type": "string"
        -            },
        -            {
        -              "type": "null"
        -            }
        -          ],
        -          "description": "comments: the span's current text"
        -        },
        -        "thread_id": {
        -          "type": "string"
        -        }
        -      },
        -      "required": [
        -        "id",
        -        "location",
        -        "thread_id",
        -        "quote",
        -        "anchor_prefix",
        -        "anchor_suffix",
        -        "author_id",
        -        "author_display",
        -        "actor_kind",
        -        "span_id",
        -        "body",
        -        "resolved",
        -        "created_at"
        -      ],
        -      "type": "object"
        -    },
        -    "type": "array"
        -  },
        -  {
        -    "items": {
        -      "additionalProperties": false,
        -      "properties": {
        -        "at": {
        -          "type": "string"
        -        },
        -        "author": {
        -          "type": "string"
        -        },
        -        "authorKind": {
        -          "type": "string"
        -        },
        -        "body": {
        -          "type": "string"
        -        },
        -        "org": {
        -          "type": "string"
        -        },
        -        "version": {
        -          "anyOf": [
        -            {
        -              "type": "number"
        -            },
        -            {
        -              "type": "null"
        -            }
        -          ]
        -        }
        -      },
        -      "required": [
        -        "author",
        -        "authorKind",
        -        "org",
        -        "body",
        -        "version",
        -        "at"
        -      ],
        -      "type": "object"
        -    },
        -    "type": "array"
        -  }
        -]New value: +[
        +  {
        +    "items": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "actor_kind": {
        +          "type": "string"
        +        },
        +        "anchor_prefix": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ],
        +          "description": "the text just before quote, which places it when the quote repeats"
        +        },
        +        "anchor_suffix": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ],
        +          "description": "the text just after quote"
        +        },
        +        "author_display": {
        +          "type": "string"
        +        },
        +        "author_id": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        },
        +        "body": {
        +          "type": "string"
        +        },
        +        "commit_hash": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ],
        +          "description": "the document's commit when this was written; null on a folder's discussion"
        +        },
        +        "created_at": {
        +          "type": "string"
        +        },
        +        "id": {
        +          "type": "string"
        +        },
        +        "location": {
        +          "type": "string"
        +        },
        +        "quote": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        },
        +        "resolved": {
        +          "type": "boolean"
        +        },
        +        "span_id": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        },
        +        "span_text": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ],
        +          "description": "comments: the span's current text"
        +        },
        +        "thread_id": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "id",
        +        "location",
        +        "thread_id",
        +        "quote",
        +        "anchor_prefix",
        +        "anchor_suffix",
        +        "author_id",
        +        "author_display",
        +        "actor_kind",
        +        "span_id",
        +        "body",
        +        "resolved",
        +        "created_at"
        +      ],
        +      "type": "object"
        +    },
        +    "type": "array"
        +  },
        +  {
        +    "items": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "at": {
        +          "type": "string"
        +        },
        +        "author": {
        +          "type": "string"
        +        },
        +        "authorKind": {
        +          "type": "string"
        +        },
        +        "body": {
        +          "type": "string"
        +        },
        +        "org": {
        +          "type": "string"
        +        },
        +        "version": {
        +          "anyOf": [
        +            {
        +              "type": "number"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        }
        +      },
        +      "required": [
        +        "author",
        +        "authorKind",
        +        "org",
        +        "body",
        +        "version",
        +        "at"
        +      ],
        +      "type": "object"
        +    },
        +    "type": "array"
        +  }
        +]
    • Changedmessage_write2 fields changed
      • addedOutput schema / properties / comment / properties / commit_hash
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "the document's commit when this was written; null on a folder's discussion"
        +}
      • addedOutput schema / properties / comments / items / properties / commit_hash
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "the document's commit when this was written; null on a folder's discussion"
        +}
  12. 10 tool updates
    • Changedaccess_grant2 fields changed
      • changedInput schema / properties / location / description
        Previous value: -"share: full path from the workspace root, e.g. \"handbook/vendor/acme.md\" (as printed by browse action=documents or search) · request, declassify, hold, share_out, accept_share, set_settings: the document or folder, by path; accept_share: the folder to put it in, only you can see (default the top level)"New value: +"share: full path from the workspace root, e.g. \"handbook/vendor/acme.md\" (as printed by browse action=documents or search). A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · request, declassify, hold, share_out, accept_share, set_settings: the document or folder, by path; accept_share: the folder to put it in, only you can see (default the top level)"
      • changedInput schema / properties / scope_type / description
        Previous value: -"share: default folder"New value: +"share: default folder, or what a pasted link names"
    • Changedbrief_me23 fields changed
      • addedInput schema / properties / answered_offset
        Added value: +{
        +  "description": "answered: skip this many (nextOffset from the last brief) to see the rest",
        +  "maximum": 9007199254740991,
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedInput schema / properties / asked_offset
        Added value: +{
        +  "description": "asked: skip this many (nextOffset from the last brief) to see the rest",
        +  "maximum": 9007199254740991,
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedInput schema / properties / waiting_offset
        Added value: +{
        +  "description": "waiting: skip this many (nextOffset from the last brief) to see the rest",
        +  "maximum": 9007199254740991,
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / answered / properties / capped
        Added value: +{
        +  "description": "the count stopped at that window, so there are more",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / answered / properties / count / description
        Added value: +"how many, counted up to 50 past the offset"
      • addedOutput schema / properties / answered / properties / nextOffset
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "number"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "when truncated: pass it as this list's offset to see the next ones"
        +}
      • addedOutput schema / properties / answered / properties / truncated
        Added value: +{
        +  "description": "more follow the ones in items",
        +  "type": "boolean"
        +}
      • changedOutput schema / properties / answered / required
        Previous value: -[
        -  "count",
        -  "items"
        -]New value: +[
        +  "count",
        +  "capped",
        +  "truncated",
        +  "nextOffset",
        +  "items"
        +]
      • addedOutput schema / properties / asked / properties / capped
        Added value: +{
        +  "description": "the count stopped at that window, so there are more",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / asked / properties / count / description
        Added value: +"how many, counted up to 50 past the offset"
      • addedOutput schema / properties / asked / properties / nextOffset
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "number"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "when truncated: pass it as this list's offset to see the next ones"
        +}
      • addedOutput schema / properties / asked / properties / truncated
        Added value: +{
        +  "description": "more follow the ones in items",
        +  "type": "boolean"
        +}
      • changedOutput schema / properties / asked / required
        Previous value: -[
        -  "count",
        -  "items"
        -]New value: +[
        +  "count",
        +  "capped",
        +  "truncated",
        +  "nextOffset",
        +  "items"
        +]
      • addedOutput schema / properties / changed / properties / capped
        Added value: +{
        +  "description": "the window filled, so there may be more than count",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / changed / properties / continueThrough
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "number"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "when truncated: coordination_write action=ack_brief through=this, and the next brief shows the changes after these"
        +}
      • addedOutput schema / properties / changed / properties / count / description
        Added value: +"changes counted past your cursor, up to a window of 500 events"
      • addedOutput schema / properties / changed / properties / truncated
        Added value: +{
        +  "description": "more changes follow the ones in items",
        +  "type": "boolean"
        +}
      • changedOutput schema / properties / changed / required
        Previous value: -[
        -  "since",
        -  "count",
        -  "items"
        -]New value: +[
        +  "since",
        +  "count",
        +  "capped",
        +  "truncated",
        +  "continueThrough",
        +  "items"
        +]
      • addedOutput schema / properties / waiting / properties / capped
        Added value: +{
        +  "description": "the count stopped at that window, so there are more",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / waiting / properties / count / description
        Added value: +"how many, counted up to 50 past the offset"
      • addedOutput schema / properties / waiting / properties / nextOffset
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "number"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "when truncated: pass it as this list's offset to see the next ones"
        +}
      • addedOutput schema / properties / waiting / properties / truncated
        Added value: +{
        +  "description": "more follow the ones in items",
        +  "type": "boolean"
        +}
      • changedOutput schema / properties / waiting / required
        Previous value: -[
        -  "count",
        -  "items"
        -]New value: +[
        +  "count",
        +  "capped",
        +  "truncated",
        +  "nextOffset",
        +  "items"
        +]
    • Changedbrowse17 fields changed
      • changedInput schema / properties / from / description
        Previous value: -"links: one end, as <type>:<id> — node, span, truth or message; a node's id may be its console link"New value: +"links: one end, as <type>:<id> — node, span, truth, message or knowledge; a node's id may be its console link, a knowledge item's its search citation"
      • addedInput schema / properties / kinds
        Added value: +{
        +  "description": "inbox: inbox: only these kinds, e.g. question and request, the ones waiting on your reply",
        +  "items": {
        +    "enum": [
        +      "question",
        +      "answer",
        +      "finding",
        +      "request",
        +      "handoff",
        +      "commitment"
        +    ],
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • changedInput schema / properties / location / description
        Previous value: -"folders: full path to scope to, e.g. \"handbook\" or \"handbook/vendor\". Omit to cover everything you can reach. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · documents: the folder to list, full path from the workspace root, e.g. \"handbook\" or \"handbook/vendor\". A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · truths, spans: a document or folder path · comments: the document or folder path · context: a folder or document; its folder and every folder above it are asked. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too."New value: +"folders: full path to scope to, e.g. \"handbook\" or \"handbook/vendor\". Omit to cover everything you can reach. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · documents: the folder to list, full path from the workspace root, e.g. \"handbook\" or \"handbook/vendor\". A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · truths, spans: a document or folder path. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · comments: the document or folder path. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · context: a folder or document; its folder and every folder above it are asked. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too."
      • changedInput schema / properties / offset / description
        Previous value: -"documents: results to skip — pass the previous page's nextOffset to page"New value: +"documents: results to skip — pass the previous page's nextOffset to page · inbox: inbox: skip this many (nextOffset from the last page) to see the rest · spans: spans: the span index to start at, from a previous answer's nextOffset"
      • addedOutput schema / properties / comment / properties / anchor_prefix
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "the text just before quote, which places it when the quote repeats"
        +}
      • addedOutput schema / properties / comment / properties / anchor_suffix
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "the text just after quote"
        +}
      • addedOutput schema / properties / comment / properties / span_text
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "comments: the span's current text"
        +}
      • changedOutput schema / properties / comment / required
        Previous value: -[
        -  "id",
        -  "location",
        -  "thread_id",
        -  "quote",
        -  "author_id",
        -  "author_display",
        -  "actor_kind",
        -  "span_id",
        -  "body",
        -  "resolved",
        -  "created_at"
        -]New value: +[
        +  "id",
        +  "location",
        +  "thread_id",
        +  "quote",
        +  "anchor_prefix",
        +  "anchor_suffix",
        +  "author_id",
        +  "author_display",
        +  "actor_kind",
        +  "span_id",
        +  "body",
        +  "resolved",
        +  "created_at"
        +]
      • changedOutput schema / properties / comments / anyOf
        Previous value: -[
        -  {
        -    "items": {
        -      "additionalProperties": false,
        -      "properties": {
        -        "actor_kind": {
        -          "type": "string"
        -        },
        -        "author_display": {
        -          "type": "string"
        -        },
        -        "author_id": {
        -          "anyOf": [
        -            {
        -              "type": "string"
        -            },
        -            {
        -              "type": "null"
        -            }
        -          ]
        -        },
        -        "body": {
        -          "type": "string"
        -        },
        -        "created_at": {
        -          "type": "string"
        -        },
        -        "id": {
        -          "type": "string"
        -        },
        -        "location": {
        -          "type": "string"
        -        },
        -        "quote": {
        -          "anyOf": [
        -            {
        -              "type": "string"
        -            },
        -            {
        -              "type": "null"
        -            }
        -          ]
        -        },
        -        "resolved": {
        -          "type": "boolean"
        -        },
        -        "span_id": {
        -          "anyOf": [
        -            {
        -              "type": "string"
        -            },
        -            {
        -              "type": "null"
        -            }
        -          ]
        -        },
        -        "thread_id": {
        -          "type": "string"
        -        }
        -      },
        -      "required": [
        -        "id",
        -        "location",
        -        "thread_id",
        -        "quote",
        -        "author_id",
        -        "author_display",
        -        "actor_kind",
        -        "span_id",
        -        "body",
        -        "resolved",
        -        "created_at"
        -      ],
        -      "type": "object"
        -    },
        -    "type": "array"
        -  },
        -  {
        -    "items": {
        -      "additionalProperties": false,
        -      "properties": {
        -        "at": {
        -          "type": "string"
        -        },
        -        "author": {
        -          "type": "string"
        -        },
        -        "authorKind": {
        -          "type": "string"
        -        },
        -        "body": {
        -          "type": "string"
        -        },
        -        "org": {
        -          "type": "string"
        -        },
        -        "version": {
        -          "anyOf": [
        -            {
        -              "type": "number"
        -            },
        -            {
        -              "type": "null"
        -            }
        -          ]
        -        }
        -      },
        -      "required": [
        -        "author",
        -        "authorKind",
        -        "org",
        -        "body",
        -        "version",
        -        "at"
        -      ],
        -      "type": "object"
        -    },
        -    "type": "array"
        -  }
        -]New value: +[
        +  {
        +    "items": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "actor_kind": {
        +          "type": "string"
        +        },
        +        "anchor_prefix": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ],
        +          "description": "the text just before quote, which places it when the quote repeats"
        +        },
        +        "anchor_suffix": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ],
        +          "description": "the text just after quote"
        +        },
        +        "author_display": {
        +          "type": "string"
        +        },
        +        "author_id": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        },
        +        "body": {
        +          "type": "string"
        +        },
        +        "created_at": {
        +          "type": "string"
        +        },
        +        "id": {
        +          "type": "string"
        +        },
        +        "location": {
        +          "type": "string"
        +        },
        +        "quote": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        },
        +        "resolved": {
        +          "type": "boolean"
        +        },
        +        "span_id": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        },
        +        "span_text": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ],
        +          "description": "comments: the span's current text"
        +        },
        +        "thread_id": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "id",
        +        "location",
        +        "thread_id",
        +        "quote",
        +        "anchor_prefix",
        +        "anchor_suffix",
        +        "author_id",
        +        "author_display",
        +        "actor_kind",
        +        "span_id",
        +        "body",
        +        "resolved",
        +        "created_at"
        +      ],
        +      "type": "object"
        +    },
        +    "type": "array"
        +  },
        +  {
        +    "items": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "at": {
        +          "type": "string"
        +        },
        +        "author": {
        +          "type": "string"
        +        },
        +        "authorKind": {
        +          "type": "string"
        +        },
        +        "body": {
        +          "type": "string"
        +        },
        +        "org": {
        +          "type": "string"
        +        },
        +        "version": {
        +          "anyOf": [
        +            {
        +              "type": "number"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        }
        +      },
        +      "required": [
        +        "author",
        +        "authorKind",
        +        "org",
        +        "body",
        +        "version",
        +        "at"
        +      ],
        +      "type": "object"
        +    },
        +    "type": "array"
        +  }
        +]
      • addedOutput schema / properties / nextOffset
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "number"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "spans: the offset of the next page, or null when this one ends the document"
        +}
      • addedOutput schema / properties / proposal / properties / approver
        Added value: +{
        +  "description": "the identity id of the person whose link decides it",
        +  "type": "string"
        +}
      • addedOutput schema / properties / proposal / properties / createdAt
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / proposal / properties / proposedBy
        Added value: +{
        +  "description": "your identity id",
        +  "type": "string"
        +}
      • addedOutput schema / properties / proposal / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • changedOutput schema / properties / proposal / required
        Previous value: -[
        -  "id",
        -  "slug",
        -  "kind",
        -  "title",
        -  "status",
        -  "expiresAt"
        -]New value: +[
        +  "id",
        +  "slug",
        +  "kind",
        +  "title",
        +  "summary",
        +  "status",
        +  "proposedBy",
        +  "approver",
        +  "expiresAt",
        +  "createdAt"
        +]
      • addedOutput schema / properties / spans / items / properties / truncated
        Added value: +{
        +  "description": "this block alone is past the read cap; read action=document has the rest",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / truncated
        Added value: +{
        +  "description": "inbox: more are waiting past this page",
        +  "type": "boolean"
        +}
    • Changedcoordination_write5 fields changed
      • changedInput schema / properties / from / description
        Previous value: -"link: one end, as <type>:<id> — node, span, truth or message; a node's id may be its console link"New value: +"link: one end, as <type>:<id> — node, span, truth, message or knowledge; a node's id may be its console link, a knowledge item's its search citation"
      • changedInput schema / properties / lease_s / description
        Previous value: -"claim, renew: lease in seconds (default 1800, max 86400)"New value: +"claim, renew: lease in seconds (max 86400). claim: default 1800. renew: default the claim's own lease again, never shorter than it has left"
      • changedInput schema / properties / location / description
        Previous value: -"claim: the document, whole path from the workspace root · subscribe: the document or folder to follow · propose: a document or folder path · pin, unpin: the document's location, e.g. team/dashboard.md. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too."New value: +"claim: the document, whole path from the workspace root. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · subscribe: the document or folder to follow. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · propose: a document or folder path. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · pin, unpin: the document's location, e.g. team/dashboard.md. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too."
      • addedOutput schema / properties / nextOffset
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "number"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "spans: the offset of the next page, or null when this one ends the document"
        +}
      • addedOutput schema / properties / spans / items / properties / truncated
        Added value: +{
        +  "description": "this block alone is past the read cap; read action=document has the rest",
        +  "type": "boolean"
        +}
    • Changeddoc_create1 field changed
      • addedOutput schema / properties / stored
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "what the document's head stores after this call, to check against what was sent (#1492)",
        +  "properties": {
        +    "bytes": {
        +      "description": "the stored body's length in UTF-8 bytes; frontmatter is kept beside the body, not in it",
        +      "maximum": 9007199254740991,
        +      "minimum": -9007199254740991,
        +      "type": "integer"
        +    },
        +    "previousBytes": {
        +      "anyOf": [
        +        {
        +          "maximum": 9007199254740991,
        +          "minimum": -9007199254740991,
        +          "type": "integer"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "the length of the body this replaced; null when nothing was there"
        +    },
        +    "sha256": {
        +      "description": "the stored body's sha256, hex",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "bytes",
        +    "sha256",
        +    "previousBytes"
        +  ],
        +  "type": "object"
        +}
    • Changeddoc_delete1 field changed
      • changedInput schema / properties / location / description
        Previous value: -"delete: full path from the workspace root, e.g. \"handbook/vendor/acme.md\" (as printed by browse action=documents or search) · erase: full path from the workspace root, e.g. \"handbook/vendor/acme.md\". Give this OR node. A path is what a person reads; a node is what survives somebody reorganizing."New value: +"delete: full path from the workspace root, e.g. \"handbook/vendor/acme.md\" (as printed by browse action=documents or search). A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · erase: full path from the workspace root, e.g. \"handbook/vendor/acme.md\". Give this OR node. A path is what a person reads; a node is what survives somebody reorganizing."
    • Changeddoc_update2 fields changed
      • changedInput schema / properties / location / description
        Previous value: -"edit, replace: full path from the workspace root, e.g. \"handbook/vendor/acme.md\". Give this OR node. A path is what a person reads; a node is what survives somebody reorganizing. · restore: full path from the workspace root, e.g. \"handbook/vendor/acme.md\" (as printed by browse action=documents or search)"New value: +"edit, replace: full path from the workspace root, e.g. \"handbook/vendor/acme.md\". Give this OR node. A path is what a person reads; a node is what survives somebody reorganizing. · restore: full path from the workspace root, e.g. \"handbook/vendor/acme.md\" (as printed by browse action=documents or search). A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too."
      • addedOutput schema / properties / stored
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "what the document's head stores after this call, to check against what was sent (#1492)",
        +  "properties": {
        +    "bytes": {
        +      "description": "the stored body's length in UTF-8 bytes; frontmatter is kept beside the body, not in it",
        +      "maximum": 9007199254740991,
        +      "minimum": -9007199254740991,
        +      "type": "integer"
        +    },
        +    "previousBytes": {
        +      "anyOf": [
        +        {
        +          "maximum": 9007199254740991,
        +          "minimum": -9007199254740991,
        +          "type": "integer"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "the length of the body this replaced; null when nothing was there"
        +    },
        +    "sha256": {
        +      "description": "the stored body's sha256, hex",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "bytes",
        +    "sha256",
        +    "previousBytes"
        +  ],
        +  "type": "object"
        +}
    • Changedmessage_write11 fields changed
      • changedInput schema / properties / location / description
        Previous value: -"send: the document or folder it is about · comment: the document or folder path"New value: +"send: the document or folder it is about. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · comment: the document or folder path. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too."
      • addedOutput schema / properties / comment / properties / anchor_prefix
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "the text just before quote, which places it when the quote repeats"
        +}
      • addedOutput schema / properties / comment / properties / anchor_suffix
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "the text just after quote"
        +}
      • addedOutput schema / properties / comment / properties / span_text
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "comments: the span's current text"
        +}
      • changedOutput schema / properties / comment / required
        Previous value: -[
        -  "id",
        -  "location",
        -  "thread_id",
        -  "quote",
        -  "author_id",
        -  "author_display",
        -  "actor_kind",
        -  "span_id",
        -  "body",
        -  "resolved",
        -  "created_at"
        -]New value: +[
        +  "id",
        +  "location",
        +  "thread_id",
        +  "quote",
        +  "anchor_prefix",
        +  "anchor_suffix",
        +  "author_id",
        +  "author_display",
        +  "actor_kind",
        +  "span_id",
        +  "body",
        +  "resolved",
        +  "created_at"
        +]
      • addedOutput schema / properties / comments / items / properties / anchor_prefix
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "the text just before quote, which places it when the quote repeats"
        +}
      • addedOutput schema / properties / comments / items / properties / anchor_suffix
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "the text just after quote"
        +}
      • addedOutput schema / properties / comments / items / properties / span_text
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "comments: the span's current text"
        +}
      • changedOutput schema / properties / comments / items / required
        Previous value: -[
        -  "id",
        -  "location",
        -  "thread_id",
        -  "quote",
        -  "author_id",
        -  "author_display",
        -  "actor_kind",
        -  "span_id",
        -  "body",
        -  "resolved",
        -  "created_at"
        -]New value: +[
        +  "id",
        +  "location",
        +  "thread_id",
        +  "quote",
        +  "anchor_prefix",
        +  "anchor_suffix",
        +  "author_id",
        +  "author_display",
        +  "actor_kind",
        +  "span_id",
        +  "body",
        +  "resolved",
        +  "created_at"
        +]
      • addedOutput schema / properties / nextOffset
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "number"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "inbox: the offset that shows them"
        +}
      • addedOutput schema / properties / truncated
        Added value: +{
        +  "description": "inbox: more are waiting past this page",
        +  "type": "boolean"
        +}
    • Changedread8 fields changed
      • addedOutput schema / properties / nextOffset
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "number"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "spans: the offset of the next page, or null when this one ends the document"
        +}
      • addedOutput schema / properties / proposal / properties / approver
        Added value: +{
        +  "description": "the identity id of the person whose link decides it",
        +  "type": "string"
        +}
      • addedOutput schema / properties / proposal / properties / createdAt
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / proposal / properties / proposedBy
        Added value: +{
        +  "description": "your identity id",
        +  "type": "string"
        +}
      • addedOutput schema / properties / proposal / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • changedOutput schema / properties / proposal / required
        Previous value: -[
        -  "id",
        -  "slug",
        -  "kind",
        -  "title",
        -  "status",
        -  "expiresAt"
        -]New value: +[
        +  "id",
        +  "slug",
        +  "kind",
        +  "title",
        +  "summary",
        +  "status",
        +  "proposedBy",
        +  "approver",
        +  "expiresAt",
        +  "createdAt"
        +]
      • addedOutput schema / properties / spans / items / properties / truncated
        Added value: +{
        +  "description": "this block alone is past the read cap; read action=document has the rest",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / truncated
        Added value: +{
        +  "description": "inbox: more are waiting past this page",
        +  "type": "boolean"
        +}
    • Changedregistry_write5 fields changed
      • addedOutput schema / properties / proposal / properties / approver
        Added value: +{
        +  "description": "the identity id of the person whose link decides it",
        +  "type": "string"
        +}
      • addedOutput schema / properties / proposal / properties / createdAt
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / proposal / properties / proposedBy
        Added value: +{
        +  "description": "your identity id",
        +  "type": "string"
        +}
      • addedOutput schema / properties / proposal / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • changedOutput schema / properties / proposal / required
        Previous value: -[
        -  "id",
        -  "slug",
        -  "kind",
        -  "title",
        -  "status",
        -  "expiresAt"
        -]New value: +[
        +  "id",
        +  "slug",
        +  "kind",
        +  "title",
        +  "summary",
        +  "status",
        +  "proposedBy",
        +  "approver",
        +  "expiresAt",
        +  "createdAt"
        +]
  13. 5 tool updates
    • Changedaccess_grant1 field changed
      • changedInput schema / properties / location / description
        Previous value: -"share: full path from the workspace root, e.g. \"handbook/vendor/acme.md\" (as printed by browse action=documents or search) · request, declassify, hold, share_out, set_settings: the document or folder, by path"New value: +"share: full path from the workspace root, e.g. \"handbook/vendor/acme.md\" (as printed by browse action=documents or search) · request, declassify, hold, share_out, accept_share, set_settings: the document or folder, by path; accept_share: the folder to put it in, only you can see (default the top level)"
    • Changedaccess_read1 field changed
      • changedInput schema / properties / location / description
        Previous value: -"who_can_read: full path from the workspace root, e.g. \"handbook/vendor/acme.md\" (as printed by browse action=documents or search). A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · can_see, labels, settings: the document or folder, by path"New value: +"who_can_read: full path from the workspace root, e.g. \"handbook/vendor/acme.md\" (as printed by browse action=documents or search). A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. · can_see, labels, settings: the document or folder, by path; accept_share: the folder to put it in, only you can see (default the top level)"
    • Changedbrowse5 fields changed
      • addedOutput schema / properties / added
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "created": {
        +      "type": "boolean"
        +    },
        +    "diverged": {
        +      "type": "boolean"
        +    },
        +    "follow": {
        +      "enum": [
        +        "latest",
        +        "pinned"
        +      ],
        +      "type": "string"
        +    },
        +    "location": {
        +      "type": "string"
        +    },
        +    "version": {
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "location",
        +    "version",
        +    "follow",
        +    "diverged",
        +    "created"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / package / properties / files
        Added value: +{
        +  "anyOf": [
        +    {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "content": {
        +            "type": "string"
        +          },
        +          "path": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "path",
        +          "content"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "a folder package's documents by path; null for one document or knowledge item"
        +}
      • changedOutput schema / properties / package / required
        Previous value: -[
        -  "slug",
        -  "kind",
        -  "title",
        -  "summary",
        -  "publisher",
        -  "version",
        -  "body",
        -  "fields",
        -  "approvedBy",
        -  "publishedAt",
        -  "standing"
        -]New value: +[
        +  "slug",
        +  "kind",
        +  "title",
        +  "summary",
        +  "publisher",
        +  "version",
        +  "body",
        +  "fields",
        +  "approvedBy",
        +  "publishedAt",
        +  "standing",
        +  "files"
        +]
      • addedOutput schema / properties / packages / items / properties / files
        Added value: +{
        +  "anyOf": [
        +    {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "content": {
        +            "type": "string"
        +          },
        +          "path": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "path",
        +          "content"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "a folder package's documents by path; null for one document or knowledge item"
        +}
      • changedOutput schema / properties / packages / items / required
        Previous value: -[
        -  "slug",
        -  "kind",
        -  "title",
        -  "summary",
        -  "publisher",
        -  "version",
        -  "body",
        -  "fields",
        -  "approvedBy",
        -  "publishedAt",
        -  "standing"
        -]New value: +[
        +  "slug",
        +  "kind",
        +  "title",
        +  "summary",
        +  "publisher",
        +  "version",
        +  "body",
        +  "fields",
        +  "approvedBy",
        +  "publishedAt",
        +  "standing",
        +  "files"
        +]
    • Changedread5 fields changed
      • addedOutput schema / properties / added
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "created": {
        +      "type": "boolean"
        +    },
        +    "diverged": {
        +      "type": "boolean"
        +    },
        +    "follow": {
        +      "enum": [
        +        "latest",
        +        "pinned"
        +      ],
        +      "type": "string"
        +    },
        +    "location": {
        +      "type": "string"
        +    },
        +    "version": {
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "location",
        +    "version",
        +    "follow",
        +    "diverged",
        +    "created"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / package / properties / files
        Added value: +{
        +  "anyOf": [
        +    {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "content": {
        +            "type": "string"
        +          },
        +          "path": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "path",
        +          "content"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "a folder package's documents by path; null for one document or knowledge item"
        +}
      • changedOutput schema / properties / package / required
        Previous value: -[
        -  "slug",
        -  "kind",
        -  "title",
        -  "summary",
        -  "publisher",
        -  "version",
        -  "body",
        -  "fields",
        -  "approvedBy",
        -  "publishedAt",
        -  "standing"
        -]New value: +[
        +  "slug",
        +  "kind",
        +  "title",
        +  "summary",
        +  "publisher",
        +  "version",
        +  "body",
        +  "fields",
        +  "approvedBy",
        +  "publishedAt",
        +  "standing",
        +  "files"
        +]
      • addedOutput schema / properties / packages / items / properties / files
        Added value: +{
        +  "anyOf": [
        +    {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "content": {
        +            "type": "string"
        +          },
        +          "path": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "path",
        +          "content"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "a folder package's documents by path; null for one document or knowledge item"
        +}
      • changedOutput schema / properties / packages / items / required
        Previous value: -[
        -  "slug",
        -  "kind",
        -  "title",
        -  "summary",
        -  "publisher",
        -  "version",
        -  "body",
        -  "fields",
        -  "approvedBy",
        -  "publishedAt",
        -  "standing"
        -]New value: +[
        +  "slug",
        +  "kind",
        +  "title",
        +  "summary",
        +  "publisher",
        +  "version",
        +  "body",
        +  "fields",
        +  "approvedBy",
        +  "publishedAt",
        +  "standing",
        +  "files"
        +]
    • Changedregistry_write12 fields changed
      • changedInput schema / properties / action / enum
        Previous value: -[
        -  "pull",
        -  "comment",
        -  "rate",
        -  "propose",
        -  "report",
        -  "withdraw_report",
        -  "mount"
        -]New value: +[
        +  "pull",
        +  "add",
        +  "follow",
        +  "comment",
        +  "rate",
        +  "propose",
        +  "report",
        +  "withdraw_report",
        +  "mount"
        +]
      • changedInput schema / properties / follow / description
        Previous value: -"mount: latest keeps it up to date with its source (the default for a new mount); pinned keeps the version it holds"New value: +"add, follow: with add or follow: latest follows each approved version until the copy is edited (the default); pinned keeps the version it holds, or with follow the version you name · mount: latest keeps it up to date with its source (the default for a new mount); pinned keeps the version it holds"
      • addedInput schema / properties / from_folder
        Added value: +{
        +  "description": "propose: a folder path or node id: every text document in it, by path (a skill when it holds SKILL.md). A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too.",
        +  "type": "string"
        +}
      • addedInput schema / properties / into
        Added value: +{
        +  "description": "mount: the folder to put it in; default public-context/<owner>/<repo>/",
        +  "type": "string"
        +}
      • changedInput schema / properties / scope / description
        Previous value: -"pull: the folder to copy it into"New value: +"pull, add: the folder to copy it into"
      • changedInput schema / properties / slug / description
        Previous value: -"pull, comment, rate, propose: the package's name in the registry"New value: +"pull, add, follow, comment, rate, propose: the package's name in the registry"
      • changedInput schema / properties / version / description
        Previous value: -"pull: a published version; default the latest"New value: +"pull, follow: a published version; default the latest"
      • addedOutput schema / properties / added
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "created": {
        +      "type": "boolean"
        +    },
        +    "diverged": {
        +      "type": "boolean"
        +    },
        +    "follow": {
        +      "enum": [
        +        "latest",
        +        "pinned"
        +      ],
        +      "type": "string"
        +    },
        +    "location": {
        +      "type": "string"
        +    },
        +    "version": {
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "location",
        +    "version",
        +    "follow",
        +    "diverged",
        +    "created"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / package / properties / files
        Added value: +{
        +  "anyOf": [
        +    {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "content": {
        +            "type": "string"
        +          },
        +          "path": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "path",
        +          "content"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "a folder package's documents by path; null for one document or knowledge item"
        +}
      • changedOutput schema / properties / package / required
        Previous value: -[
        -  "slug",
        -  "kind",
        -  "title",
        -  "summary",
        -  "publisher",
        -  "version",
        -  "body",
        -  "fields",
        -  "approvedBy",
        -  "publishedAt",
        -  "standing"
        -]New value: +[
        +  "slug",
        +  "kind",
        +  "title",
        +  "summary",
        +  "publisher",
        +  "version",
        +  "body",
        +  "fields",
        +  "approvedBy",
        +  "publishedAt",
        +  "standing",
        +  "files"
        +]
      • addedOutput schema / properties / packages / items / properties / files
        Added value: +{
        +  "anyOf": [
        +    {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "content": {
        +            "type": "string"
        +          },
        +          "path": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "path",
        +          "content"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "a folder package's documents by path; null for one document or knowledge item"
        +}
      • changedOutput schema / properties / packages / items / required
        Previous value: -[
        -  "slug",
        -  "kind",
        -  "title",
        -  "summary",
        -  "publisher",
        -  "version",
        -  "body",
        -  "fields",
        -  "approvedBy",
        -  "publishedAt",
        -  "standing"
        -]New value: +[
        +  "slug",
        +  "kind",
        +  "title",
        +  "summary",
        +  "publisher",
        +  "version",
        +  "body",
        +  "fields",
        +  "approvedBy",
        +  "publishedAt",
        +  "standing",
        +  "files"
        +]

Publisher details

Operator
agentleFS
Operator website
https://agentlefs.com
Vendor relationship
First-party
Trust center
Not available
Restrictions
None. Free, no card required. No admin approval or custom OAuth app: users sign in through the browser via OAuth with dynamic client registration. Clients that only accept a request header (e.g. Cline) use an agent token minted in the console under Permissions.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    Gives AI agents a shared persistent memory by ingesting Obsidian vaults, code, transcripts, web clips, and session or bug-fix captures, then serving token-optimized context briefings, keyword and semantic search, and cross-source synthesis. Enables multiple agents to read and write the same growing knowledge base so each session builds on the last.
    14 npm
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI agents to share a persistent, self-improving memory by ingesting sources like Obsidian vaults, code, transcripts, and session captures, then serving them back through search, classification, synthesis, and token-optimized context briefings. It lets multiple agents read and write the same knowledge base, so each session builds on the last without copy-pasting context.
    14 npm
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI agents to capture, classify, promote, synthesize, and retrieve persistent knowledge from sources such as Obsidian vaults, code repos, YouTube transcripts, bookmarks, terminal sessions, and bug fixes. Exposes tiered cold/warm/hot memory with token-optimized search, context briefings, and cross-source synthesis so multiple agents share one compounding brain across sessions.
    14 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources