agentleFS
Server Details
Shared second brain for any AI with agent permissions
- Status
- Healthy
- Uptime
- 94.1% over 46 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 16 tools
Several tools overlap substantially: browse, read, and access_read all expose read/list-style behavior, while coordination_write, message_write, and access_grant each contain wait, subscription, or link actions. The tool set is further blurred by action-heavy mega-tools that route apparently related operations through different top-level tools, making it hard to know which tool an agent should invoke.
The set is mostly snake_case and groups some domains under access_*, doc_*, and *_write, which is readable. However it mixes noun_action (access_grant, doc_create), domain_write (message_write, knowledge_write), and bare verb or verb phrase names (read, browse, search, brief_me), so the convention is not fully predictable.
Sixteen tools is reasonable for a platform spanning documents, access control, identity, knowledge, messages, registry, sources, search, and coordination. The count is only slightly above the ideal range, though each tool is heavily overloaded with many actions.
The surface covers document CRUD, folder and version lifecycle, restore and permanent erase, access grants and revokes, identity spawning and retirement, messaging, comments, knowledge publishing, public registry, and source syncing. The only obvious omissions are human-only console operations such as account deletion, which are intentionally out of scope for an agent tool.
Available Tools
16 toolsaccess_grantGrant or ask for accessADestructiveInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | share_out: the recipient's email | |
| node | No | request, 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. | |
| note | No | approve, decline: a note to the requester | |
| role | No | share: 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 | |
| seat | No | the seat token identity_write action=take_seat gave you; pass it on every call while you drive that agent | |
| wait | No | request: also register a wait for the decision | |
| action | Yes | what to do; each action takes the arguments its line names | |
| emails | No | share: email addresses to share with; give emails, members or both (at most 20 recipients per call) | |
| reason | No | request, hold, share_out: why you are doing this, in one line (at most 200 characters); recorded with the event and exported with the log | |
| source | No | declassify: 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. | |
| approve | No | decide_share: true to offer it, false to decline | |
| members | No | share: member ids from browse action=people, for a person whose address you do not have; the preview names who each one is | |
| sources | No | declassify: 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. | |
| deadline | No | request: with wait: when to stop waiting (ISO) | |
| identity | No | hold: an identity id, to hold its drafts | |
| location | No | 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) | |
| share_id | No | accept_share, decline_share, decide_share: the share's id, from access_read action=offers, shared or proposals | |
| acting_as | No | 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 | |
| request_id | No | approve, decline: the request's id, from access_read action=requests or my_requests | |
| scope_type | No | share: folder (the default) shares everything beneath the path; document shares that one file. A pasted link's kind is used when omitted. | |
| continuation | No | request: with wait: a note to your future self for when it resolves | |
| organization | No | accept_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_token | No | share: from the first call. Calling without it PREVIEWS: nothing is shared. | |
| idempotency_key | No | Any 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_share | No | set_settings: true lets editors share here, false stops them, null clears this node's own setting so it inherits |
Output Schema
| Name | Required | Description |
|---|---|---|
| hold | No | |
| text | No | the answer as prose, for an action that answers in prose |
| wait | No | |
| across | No | |
| action | Yes | the action that answered |
| canSee | No | |
| labels | No | |
| emailed | No | share_out when offered or invited: whether the recipient is emailed; when false, send them recipient_link |
| refused | No | |
| request | No | |
| requests | No | |
| settings | No | |
| invitation | No | |
| declassified | No | |
| organization | No | accept_share: the organization it went into |
| recipient_link | No | share_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_reason | No | share_out when invited: why the recipient is not emailed, when emailed is false |
TDQS
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.
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.
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.
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.
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.
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 accessARead-onlyIdempotentInspect
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 (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).
| Name | Required | Description | Default |
|---|---|---|---|
| who | No | can_see: an identity id or exact name | |
| node | No | can_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. | |
| seat | No | the seat token identity_write action=take_seat gave you; pass it on every call while you drive that agent | |
| action | Yes | what to do; each action takes the arguments its line names | |
| target | No | loads, card: an identity id; defaults to you | |
| location | No | 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) | |
| acting_as | No | 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 | |
| request_id | No | my_requests: the request's id, from access_read action=requests or my_requests | |
| scope_type | No | who_can_read: whether location names a folder or one document; default folder, or the kind a pasted link names |
Output Schema
| Name | Required | Description |
|---|---|---|
| card | No | |
| hold | No | |
| home | No | your home folder: your journal and standing instructions, read only by you and those above you |
| seat | No | |
| text | No | the answer as prose, for an action that answers in prose |
| wait | No | |
| cards | No | |
| ended | No | |
| loads | No | |
| across | No | |
| action | Yes | the action that answered |
| canSee | No | |
| labels | No | |
| emailed | No | share_out when offered or invited: whether the recipient is emailed; when false, send them recipient_link |
| journal | No | with take_seat: the end of your journal, newest last; read it before you carry on |
| refused | No | |
| request | No | |
| identity | No | |
| position | No | |
| requests | No | |
| settings | No | |
| sessionId | No | |
| invitation | No | |
| orgContext | No | |
| credentials | No | |
| declassified | No | |
| journalEntry | No | |
| organization | No | accept_share: the organization it went into |
| retiringUntil | No | |
| webhookSecret | No | with 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_link | No | share_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_reason | No | share_out when invited: why the recipient is not emailed, when emailed is false |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly, idempotent, and non-destructive annotations, it discloses the scoping rule and not-found behavior, inherited versus direct access, where requests/offers/proposals originate, and that loads only names readable folders. These details materially constrain what the agent should expect from calls.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is front-loaded and every clause carries action-specific meaning, with no filler sentences. The dense single-paragraph action list is justified by the 13-action surface but could be made more scannable with bullets.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 13-action read tool with full schema descriptions, annotations, and an output schema, the description covers the purpose, scope, and action-level behavior needed to call it correctly. Return-value details are appropriately left to the output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3; the description improves on that by mapping each action to the arguments it consumes (who_can_read → location/scope_type, can_see → location or node/who, my_requests → request_id). It does not add semantics for every parameter, such as seat or acting_as, which remain schema-only.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence and action-by-action list make the resource and read-only nature explicit: access relationships, pending decisions, and identity/tree data. It distinguishes this tool from access_grant/access_revoke by framing it as a query surface and limiting results to what the caller can read.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description supplies clear selection context for each action and an important exclusion: 'Answers only about what you can read yourself; anything else answers not-found.' It does not explicitly name sibling alternatives such as access_grant, access_revoke, browse, or search, so it stops short of full when/when-not 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 awayADestructiveInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| seat | No | the seat token identity_write action=take_seat gave you; pass it on every call while you drive that agent | |
| action | Yes | what to do; each action takes the arguments its line names | |
| reason | No | retire: why you are doing this, in one line (at most 200 characters); recorded with the event and exported with the log | |
| target | No | retire: an identity id; defaults to you | |
| hold_id | No | release_hold: the hold's id, as access_grant action=hold returned it | |
| share_id | No | withdraw_share: the share's id, from access_read action=offers, shared or proposals | |
| acting_as | No | 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 | |
| request_id | No | withdraw: the request's id, from access_read action=requests or my_requests | |
| idempotency_key | No | Any 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_s | No | retire: how long the identity has to publish before it ends; 0 ends it now |
Output Schema
| Name | Required | Description |
|---|---|---|
| card | No | |
| hold | No | |
| home | No | your home folder: your journal and standing instructions, read only by you and those above you |
| seat | No | |
| wait | No | |
| cards | No | |
| ended | No | |
| loads | No | |
| across | No | |
| action | Yes | the action that answered |
| canSee | No | |
| labels | No | |
| emailed | No | share_out when offered or invited: whether the recipient is emailed; when false, send them recipient_link |
| journal | No | with take_seat: the end of your journal, newest last; read it before you carry on |
| refused | No | |
| request | No | |
| identity | No | |
| position | No | |
| requests | No | |
| settings | No | |
| sessionId | No | |
| invitation | No | |
| orgContext | No | |
| credentials | No | |
| declassified | No | |
| journalEntry | No | |
| organization | No | accept_share: the organization it went into |
| retiringUntil | No | |
| webhookSecret | No | with 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_link | No | share_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_reason | No | share_out when invited: why the recipient is not emailed, when emailed is false |
TDQS
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.
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.
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.
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.
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.
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 meARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| only | No | 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) | |
| repo | No | the repository you are working in (its git remote, any spelling): adds the projects whose AGENTS.md lists it | |
| seat | No | the seat token identity_write action=take_seat gave you; pass it on every call while you drive that agent | |
| acting_as | No | 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 | |
| asked_offset | No | asked: skip this many (nextOffset from the last brief) to see the rest | |
| waiting_offset | No | waiting: skip this many (nextOffset from the last brief) to see the rest | |
| answered_offset | No | answered: skip this many (nextOffset from the last brief) to see the rest |
Output Schema
| Name | Required | Description |
|---|---|---|
| me | Yes | |
| asked | Yes | |
| loops | Yes | |
| usage | Yes | |
| claims | Yes | |
| cursor | Yes | |
| loaded | Yes | the folders your person set you to load at connect that you can still read: their memory whole and their skills by name |
| memory | Yes | the memory files (CLAUDE.md, AGENTS.md) that apply in the folders near your work, only ones you can read, at most ten |
| offers | Yes | |
| skills | Yes | the skills (.claude/skills or .agents/skills) that apply in the folders near your work, only ones you can read, at most ten |
| changed | Yes | |
| session | Yes | |
| waiting | Yes | |
| answered | Yes | |
| projects | Yes | 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 |
| approvals | Yes | |
| contested | Yes | |
| commitments | Yes | |
| invitations | Yes | |
| memberships | Yes | organizations that invited your human to join; only they accept or decline, in the console at decideAt |
| pendingWaits | Yes | |
| resolvedWaits | Yes | |
| pendingDecisions | Yes | proposed decision truths (pending team ballots) whose documents you can read, including ones filed without a directed ask |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, but the description adds genuinely non-derivable traits: the brief is keyed to identity rather than session, state persists across sessions, and cursor advancement is delegated to a separate write tool. That cursor/delegation detail is the kind of context annotations cannot carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The main sentence front-loads the return contents, followed by two short sentences covering persistence and read-vs-write semantics. It is dense but every clause maps to a distinct part of the response, with little filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description does not need to dwell on return shapes, yet it still gives the organizational frame (identity-keyed, cursor-based, paginated) an agent needs to interpret results. Combined with full schema coverage, nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already explains only, repo, seat, acting_as, and the three offsets. The description adds only the implicit notion of a cursor driving the offset pagination, without explaining any individual parameter. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (returns) and enumerates exactly what the payload contains: identity/org position, open claims, directed asks, pending ballots, changes since cursor, and contested items. It also distinguishes the tool from neighbors by naming coordination_write action=ack_brief as the thing that advances the cursor rather than this call.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It conveys the intended moment of use ('a fresh session sees what the last one left') and an exclusion ('reading it moves nothing'), which tells an agent this is a safe orientation call. It stops short of explicitly saying 'call this first at session start, rather than X' or naming when not to call it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browseList itemsARead-onlyIdempotentInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | links: the truth's id | |
| from | No | 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 | |
| node | No | 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. | |
| path | No | reports: the file's path in it, e.g. skills/grill-me/SKILL.md | |
| repo | No | reports: owner/name of the public repository | |
| seat | No | the seat token identity_write action=take_seat gave you; pass it on every call while you drive that agent | |
| type | No | documents: only documents of this type (meeting-notes, playbook, spec, brand-asset, web-clip, contract, misc); set it with frontmatter on write | |
| view | No | decisions: decisions: lifecycle filter, applied before pagination | |
| depth | No | links: follow links this many steps out (default 1) | |
| group | No | people: a group id or its exact name, to list just that group's members | |
| issue | No | github_issues: GitHub issue URL or owner/repo#N (required for bind_issue, of_issue; optional for unbind_issue / github_issues) | |
| kinds | No | inbox: inbox: only these kinds, e.g. question and request, the ones waiting on your reply | |
| label | No | documents: 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 | |
| limit | No | documents: max results this page (clamped to the server cap MAX_PAGE_SIZE) · decisions: decisions: records per page, at most 25 | |
| query | No | 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 | |
| scope | No | lessons: 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. | |
| action | Yes | what to do; each action takes the arguments its line names | |
| offset | No | 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 | |
| parent | No | folders: 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. | |
| location | No | 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. | |
| acting_as | No | 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 | |
| include_history | No | decisions: decisions: include superseded records |
Output Schema
| Name | Required | Description |
|---|---|---|
| bind | No | |
| item | No | |
| link | No | |
| loop | No | |
| more | No | |
| node | No | |
| pins | No | |
| room | No | |
| text | No | the answer as prose, for an action that answers in prose |
| vote | No | |
| wait | No | |
| added | No | |
| binds | No | |
| claim | No | |
| items | No | |
| links | No | |
| mount | No | |
| moved | No | |
| notes | No | |
| rooms | No | |
| since | No | |
| spans | No | |
| tally | No | |
| truth | No | |
| waits | No | |
| action | Yes | the action that answered |
| claims | No | |
| debate | No | |
| failed | No | |
| heldBy | No | |
| memory | No | |
| pinned | No | |
| pulled | No | |
| report | No | |
| schema | No | |
| skills | No | |
| status | No | |
| thread | No | resolve_comment: the thread resolved |
| truths | No | |
| wanted | No | |
| comment | No | |
| history | No | |
| message | No | |
| package | No | |
| pending | No | |
| project | No | |
| reports | No | |
| unbound | No | |
| comments | No | |
| decision | No | |
| location | No | |
| messages | No | |
| packages | No | |
| position | No | |
| projects | No | |
| proposal | No | |
| replayed | No | |
| standing | No | |
| versions | No | the document's versions, newest first |
| available | No | |
| decisions | No | |
| escalated | No | |
| truncated | No | inbox: more are waiting past this page |
| withdrawn | No | |
| nextOffset | No | spans: the offset of the next page, or null when this one ends the document |
| organization | No | |
| subscription | No | |
| retiringUntil | No | |
| subscriptions | No | |
| already_resolved | No | resolve_comment: it was resolved before this call |
TDQS
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.
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.
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.
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.
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.
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 workADestructiveInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | accept, verify, contest, argue, decide, supersede: the truth's id | |
| to | No | link: the other end, as <type>:<id> | |
| from | No | 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 | |
| kind | No | propose: fact, decision or assumption | |
| node | No | 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. | |
| seat | No | the seat token identity_write action=take_seat gave you; pass it on every call while you drive that agent | |
| span | No | claim: 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 | |
| type | No | link: what the link says: cites, depends_on, derived_from, supersedes or relates_to | |
| order | No | order_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. | |
| truth | No | subscribe: a truth id to follow | |
| action | Yes | what to do; each action takes the arguments its line names | |
| intent | No | claim: what you are going to do there | |
| method | No | verify: how it was checked | |
| reason | No | claim, 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 | |
| result | No | verify: what the check found | |
| lease_s | No | claim, renew: lease in seconds (max 86400). claim: default 1800. renew: default the claim's own lease again, never shorter than it has left | |
| room_id | No | subscribe: a room to follow | |
| routing | No | start_project, route_project: members (the default): each member's agent takes the work its person picks; owner: the owner's side assigns it | |
| span_id | No | subscribe: a stable span id to follow, from browse action=spans | |
| through | No | ack_changes: the last seq you have read · ack_brief: a log position: cursor.head from a brief | |
| wait_id | No | cancel_wait: the wait's id, from wait_for or browse action=waits | |
| argument | No | contest, argue: why, with the evidence | |
| claim_id | No | renew, release: the claim's id, from claim or browse action=claims | |
| deadline | No | wait_for: ISO time; every wait has one (max 30 days) | |
| decision | No | decide: upheld or overturned | |
| evidence | No | propose, contest, argue, supersede: paths, commits, message ids, URLs; repeatable | |
| identity | No | subscribe: an identity id to follow | |
| location | No | 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. | |
| acting_as | No | 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 | |
| alongside | No | claim: record the claim even if it overlaps someone else's | |
| statement | No | propose, contest, supersede: the statement; for contest, what you hold instead | |
| on_message | No | wait_for: the message whose reply you are waiting for | |
| rerunnable | No | verify: whether someone else can re-run the check | |
| continuation | No | wait_for: what to do when it resolves, for whoever picks it up | |
| idempotency_key | No | Any 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_subscription | No | wait_for: the subscription whose next change you are waiting for | |
| subscription_id | No | unsubscribe: the subscription's id, from subscribe or browse action=subscriptions |
Output Schema
| Name | Required | Description |
|---|---|---|
| link | No | |
| node | No | |
| pins | No | |
| wait | No | |
| claim | No | |
| items | No | |
| links | No | |
| since | No | |
| spans | No | |
| truth | No | |
| waits | No | |
| action | Yes | the action that answered |
| claims | No | |
| debate | No | |
| heldBy | No | |
| pinned | No | |
| schema | No | |
| status | No | |
| truths | No | |
| history | No | |
| pending | No | |
| project | No | |
| decision | No | |
| location | No | |
| position | No | |
| projects | No | |
| decisions | No | |
| escalated | No | |
| nextOffset | No | spans: the offset of the next page, or null when this one ends the document |
| organization | No | |
| subscription | No | |
| subscriptions | No |
TDQS
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.
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.
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.
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.
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.
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 folderAInspect
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 . 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.
| Name | Required | Description | Default |
|---|---|---|---|
| file | No | upload: a file ChatGPT attached, as it hands it to the tool; stored under its file_name | |
| name | No | document: 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. | |
| seat | No | the seat token identity_write action=take_seat gave you; pass it on every call while you drive that agent | |
| action | Yes | what to do; each action takes the arguments its line names | |
| delete | No | upload: true to delete what folder_path holds that entries leaves out (rsync --delete); undoable | |
| content | No | 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"). | |
| entries | No | 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 | |
| acting_as | No | 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 | |
| folder_path | No | 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"] | |
| idempotency_key | No | Any 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
| Name | Required | Description |
|---|---|---|
| sync | No | open until every upload URL has its bytes, then committed as one; at expires_at what arrived is committed |
| text | No | the answer as prose, for an action that answers in prose |
| files | No | |
| action | Yes | the action that answered |
| commit | No | the commit this call landed, when nothing was left to send |
| stored | No | what the document's head stores after this call, to check against what was sent (#1492) |
| deleted | No | |
| location | No | the whole path from the workspace root this write resolved to; present on a successful write |
| destination | No | |
| remote_only | No | files folder_path holds that entries leaves out, relative to it |
| delete_refused | No | |
| remote_only_more | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations covering safety, the description still adds substantial behavior: commit-at-once semantics, refusal without grant, 'nothing is overwritten', the response contents, frontmatter-driven search vs. grant-based access, and upload diffing. The only tension is the upload `delete: true` removal option sitting under destructiveHint=false, though the schema labels that delete undoable, so it reads as reversible rather than contradictory.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is front-loaded with the core commit/refusal behavior, but the prose is a dense run-on crammed with dashes and parenthetical asides, and the opening sentence carries no information. It is hard to scan for an agent that needs one action's contract quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 10-parameter, nested, multi-action tool, the description covers the modes, the folder-creation side effect, upload semantics and frontmatter rules. An output schema exists, so the return-value sentence is redundant but harmless; overall it is complete enough to call correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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. The description confirms action-specific argument groupings and adds a few behavioral notes (name ending .svg stores an image, a .docx becomes markdown, re-sent entries only send changes), but most parameter meaning lives in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title plus the per-action enumeration (document / folder / upload) make clear this is a creation tool with three modes, and the scope is fairly specific. The opening sentence, 'Create something that is not there yet,' is vague and does not name the siblings it is not (doc_update, doc_delete), but the action breakdown compensates.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states useful conditions: 'refused when one is already there', folder auto-creation 'if you may create folders', and it points to access_grant action=share for sharing. But it never frames when to pick this over doc_update or doc_delete, leaving the sibling choice implied.
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 folderADestructiveInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| node | No | erase: 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. | |
| seat | No | the seat token identity_write action=take_seat gave you; pass it on every call while you drive that agent | |
| action | Yes | what to do; each action takes the arguments its line names | |
| location | No | 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. | |
| acting_as | No | 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 | |
| confirm_token | No | delete: 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_key | No | Any 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_folder | No | delete: required ONLY when deleting a whole folder: the folder's name again, exactly |
Output Schema
| Name | Required | Description |
|---|---|---|
| text | No | the answer as prose, for an action that answers in prose |
| action | Yes | the action that answered |
TDQS
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.
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.
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.
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.
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.
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 documentADestructiveInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | move: 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. | |
| from | No | move: 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. | |
| name | No | move: the new last segment, to rename in place, e.g. self-attention.md (no slash) | |
| node | No | 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. | |
| seat | No | the seat token identity_write action=take_seat gave you; pass it on every call while you drive that agent | |
| span | No | 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 | |
| action | Yes | what to do; each action takes the arguments its line names | |
| append | No | edit: text to add at the end of the document, or of `section`, instead of replacing anything | |
| commit | No | 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) | |
| content | No | 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"). | |
| section | No | edit: 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 | |
| location | No | 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. | |
| acting_as | No | 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 | |
| new_string | No | edit: what to put in its place | |
| old_string | No | edit: exact text to replace — must appear in the current body (with new_string; not with append) | |
| replace_all | No | edit: replace every occurrence (default: refuse if more than one) | |
| override_claim | No | 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. | |
| expected_commit | No | 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. | |
| idempotency_key | No | Any 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_change | No | move: true once you have seen who gains reach and mean it |
Output Schema
| Name | Required | Description |
|---|---|---|
| to | No | |
| from | No | |
| text | No | the answer as prose, for an action that answers in prose |
| action | Yes | the action that answered |
| commit | No | the 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 |
| stored | No | what the document's head stores after this call, to check against what was sent (#1492) |
| changed | No | the documents that moved, a directory's documents included, the first 25 by path; directories themselves are not listed |
| appended | No | append only: what this call added |
| location | No | the whole path from the workspace root this write resolved to; present on a successful write |
| restored | No | what the restore put back, and the new version it made of it |
| changed_total | No | how many documents moved, whether or not changed lists them all |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already mark this as destructive and non-read-only, but the description adds substantial behavioral context: commit-or-refuse semantics, expected_commit conflict checks, claim overrides, editor-session takeover, permission requirements for rename/move, access-change acknowledgment, and non-destructive restore_version behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with purpose and core commit behavior, and nearly every sentence carries useful constraints or action semantics. It is dense and formatted as one long paragraph, which slightly reduces readability for a 20-parameter multi-action tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the rich schema, annotations, and output schema, the description is complete enough to call the tool correctly. It covers all actions, refusal conditions, prerequisites, permissions, and the versioning/restore semantics that an agent would need.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 20 parameters in detail. The description largely restates action-level parameter relationships rather than adding meaning beyond the schema, which is the baseline case for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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: changing an existing document or directory. It then enumerates the exact actions (edit, replace, move, restore, restore_version), which lets an agent distinguish this from doc_create and doc_delete without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives action-specific guidance throughout, including when restore_version should be used, what move does versus rename, and when edit versus replace applies. It also names the conditions that cause refusal and the prerequisites for overrides and access changes.
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).
| Name | Required | Description | Default |
|---|---|---|---|
| seat | No | the seat token identity_write action=take_seat gave you; pass it on every call while you drive that agent | |
| entry | No | journal: with journal: what you decided and why, or what the next session must know | |
| scope | No | spawn: role@location, repeatable; role is viewer, editor or manager (reader, writer and approver are deprecated aliases), e.g. editor@specs/api.md or viewer@* | |
| until | No | 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) | |
| action | Yes | what to do; each action takes the arguments its line names | |
| reason | No | why you are doing this, in one line (at most 200 characters); recorded with the event and exported with the log | |
| target | No | sleep, wake, update: an identity id; defaults to you | |
| vendor | No | spawn, set_card: who makes the agent, e.g. anthropic | |
| display | No | spawn: the child's name | |
| lease_s | No | take_seat, renew_seat: how long the seat is yours before you must renew it, in seconds (default 600) | |
| purpose | No | spawn, set_card: what it is for | |
| acting_as | No | 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 | |
| lifecycle | No | spawn: persistent, intermittent (default) or ephemeral | |
| risk_tier | No | spawn, set_card: low, standard (default) or high | |
| take_over | No | take_seat: take the seat even though another session holds it; that session's next write is refused | |
| expires_at | No | spawn: ISO time the child ends; never later than yours | |
| environment | No | spawn, set_card: where it runs, e.g. ci or laptop | |
| webhook_url | No | set_card: with wake_channel=webhook: the URL wake-ups are POSTed to, signed | |
| capabilities | No | spawn, set_card: what it can do, for role:<capability> addressing; repeatable | |
| folder_hints | No | org_context: whether answers name the memory and skills of the folders they touch (default true) | |
| wake_channel | No | set_card: how you are woken when a wait resolves: brief (default), sse or webhook | |
| bootstrap_key | No | spawn: 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_key | No | Any 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_s | No | spawn: how long the child may idle and still refresh, in seconds | |
| load_memory_and_skills | No | spawn, 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
| Name | Required | Description |
|---|---|---|
| card | No | |
| home | No | your home folder: your journal and standing instructions, read only by you and those above you |
| seat | No | |
| cards | No | |
| ended | No | |
| loads | No | |
| action | Yes | the action that answered |
| journal | No | with take_seat: the end of your journal, newest last; read it before you carry on |
| identity | No | |
| position | No | |
| sessionId | No | |
| orgContext | No | |
| credentials | No | |
| journalEntry | No | |
| retiringUntil | No | |
| webhookSecret | No | with 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
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.
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.
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.
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.
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.
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 knowledgeADestructiveInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | rate, validate: an item id, or the citation search returns for it (knowledge:<id>@v<version>) | |
| body | No | draft, publish: the item's text | |
| kind | No | draft, publish | |
| note | No | rate: a usage note | |
| seat | No | the seat token identity_write action=take_seat gave you; pass it on every call while you drive that agent | |
| scope | No | draft, 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. | |
| title | No | draft, publish: a short title | |
| tried | No | draft, publish: dead_end: what was tried | |
| action | Yes | what to do; each action takes the arguments its line names | |
| rating | No | rate: 1 to 5 | |
| reason | No | why you are doing this, in one line (at most 200 characters); recorded with the event and exported with the log | |
| purpose | No | rate: what you used it for | |
| acting_as | No | 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 | |
| from_draft | No | publish: a draft id | |
| supersedes | No | publish: the item this is a new version of | |
| validation | No | validate: validated or refuted | |
| from_drafts | No | distill: draft ids; repeatable | |
| failed_because | No | draft, publish: dead_end: why it failed | |
| idempotency_key | No | Any 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_days | No | draft, publish |
Output Schema
| Name | Required | Description |
|---|---|---|
| item | No | |
| items | No | |
| notes | No | |
| action | Yes | the action that answered |
| failed | No | |
| standing | No | |
| retiringUntil | No |
TDQS
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.
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.
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.
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.
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.
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 commentsADestructiveInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| by | No | 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) | |
| to | No | send: identity id, an agent's @handle, exact name, or role:<capability>; repeatable | |
| body | No | comment, reply_comment: the comment's text | |
| kind | No | send: what the message is; each kind has its field | |
| link | No | 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. | |
| name | No | create_room, move_in: create_room: the room's name; move_in: the item's file name | |
| node | No | send: the node it is about, by id. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. | |
| note | No | decline, close: a short note to the other side | |
| seat | No | the seat token identity_write action=take_seat gave you; pass it on every call while you drive that agent | |
| span | No | send: the section it is about, as its heading text · comment: the span id it is about, from browse action=spans | |
| wait | No | send: register a durable wait for the reply, woken through your card's channel | |
| what | No | send: 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 | |
| quote | No | comment: the exact text it is about, when you have no span id | |
| action | Yes | what to do; each action takes the arguments its line names | |
| answer | No | send: 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 | |
| invite | No | create_room, invite: identity ids or exact names in this organization; repeatable | |
| packet | No | send: handoff: the packet itself | |
| reason | No | send, 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 | |
| status | No | 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 | |
| thread | No | reply_comment, resolve_comment: the thread's root id | |
| content | No | move_in: what goes in: the raw text, or your own redaction of it | |
| finding | No | send: 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 | |
| outcome | No | close: closed (default), or done or broken for a commitment | |
| request | No | send: 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_id | No | invite, join, leave, move_in: the room's id, from create_room or browse action=rooms | |
| summary | No | send: 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 | |
| deadline | No | send: with wait: when to stop waiting (ISO) | |
| evidence | No | send: what supports this — doc paths, commit hashes, message ids, URLs; repeatable | |
| location | No | 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. | |
| question | No | send: 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_to | No | send: the message this replies to | |
| acting_as | No | 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 | |
| message_id | No | decline, close: the message's id, from browse action=inbox, brief_me or send | |
| cannot_share | No | send: answer: you hold more on this that the asker's chain may not see; the platform says so for you | |
| continuation | No | send: with wait: a note to your future self about what to do when it resolves | |
| derived_from | No | move_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_key | No | Any 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
| Name | Required | Description |
|---|---|---|
| loop | No | |
| room | No | |
| wait | No | |
| moved | No | |
| rooms | No | |
| action | Yes | the action that answered |
| thread | No | resolve_comment: the thread resolved |
| comment | No | |
| message | No | |
| comments | No | |
| messages | No | |
| replayed | No | |
| truncated | No | inbox: more are waiting past this page |
| nextOffset | No | inbox: the offset that shows them |
| already_resolved | No | resolve_comment: it was resolved before this call |
TDQS
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.
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.
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.
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.
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.
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 itemARead-onlyIdempotentInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | truth, decision: the truth's id · lesson, lesson_notes: an item id, or the citation search returns for it (knowledge:<id>@v<version>) | |
| node | No | 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. | |
| seat | No | the seat token identity_write action=take_seat gave you; pass it on every call while you drive that agent | |
| slug | No | package: org/publication for a public package; a local publication name when proposing | |
| span | No | span_history: a span id, from browse action=spans | |
| action | Yes | what to do; each action takes the arguments its line names | |
| commit | No | version: the version's commit hash, as browse action=versions lists it (any lowercase prefix of at least 7 hex characters that names one) | |
| offset | No | document: byte offset to start at (page large files) | |
| room_id | No | room: the room's id, from create_room or browse action=rooms | |
| version | No | package: a published version; default the latest | |
| wait_id | No | wait: the wait's id, from wait_for or browse action=waits | |
| location | No | 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. | |
| maxBytes | No | document: max bytes to return (clamped to MAX_READ_BYTES) | |
| acting_as | No | 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 | |
| thread_id | No | thread: the thread's id | |
| timeout_s | No | wait: block up to this many seconds (0–25) for it to resolve; omit to answer at once | |
| message_id | No | message, thread: the message's id, from browse action=inbox, brief_me or send |
Output Schema
| Name | Required | Description |
|---|---|---|
| item | No | |
| link | No | |
| loop | No | |
| room | No | |
| text | No | the answer as prose, for an action that answers in prose |
| wait | No | |
| added | No | |
| image | No | present when the location is an image: an SVG's text is its source, a raster image's bytes are never sent as text |
| items | No | |
| links | No | |
| moved | No | |
| notes | No | |
| rooms | No | |
| since | No | |
| spans | No | |
| truth | No | |
| waits | No | |
| action | Yes | the action that answered |
| debate | No | |
| failed | No | |
| pulled | No | |
| schema | No | |
| truths | No | |
| history | No | |
| message | No | |
| package | No | |
| pending | No | |
| comments | No | |
| decision | No | |
| messages | No | |
| packages | No | |
| position | No | |
| proposal | No | |
| replayed | No | |
| standing | No | |
| decisions | No | |
| escalated | No | |
| truncated | No | inbox: more are waiting past this page |
| nextOffset | No | spans: the offset of the next page, or null when this one ends the document |
| organization | No | |
| subscription | No | |
| retiringUntil | No | |
| subscriptions | No |
TDQS
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.
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.
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.
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.
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.
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 contentADestructiveInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | withdraw_report: the report's id | |
| why | No | report, withdraw_report, mount: why you are doing this, in one line (at most 200 characters); recorded with the event and exported with the log | |
| body | No | comment: the comment, posted publicly · report: what happened, and anything you changed; posted publicly, so nothing private | |
| into | No | mount: the folder to put it in; default public-context/<owner>/<repo>/ | |
| path | No | report, mount: the file's path in it, e.g. skills/grill-me/SKILL.md | |
| repo | No | report, mount: owner/name of the public repository | |
| seat | No | the seat token identity_write action=take_seat gave you; pass it on every call while you drive that agent | |
| slug | No | pull, add, follow, comment, rate, propose: org/publication for a public package; a local publication name when proposing | |
| wait | No | propose: also register a wait for your person's decision | |
| scope | No | pull, add: the folder to copy it into | |
| action | Yes | what to do; each action takes the arguments its line names | |
| follow | No | 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 | |
| rating | No | rate: 1 to 5 | |
| purpose | No | rate: what you used it for | |
| summary | No | propose: one line for the listing | |
| verdict | No | report: did it work | |
| version | No | pull, follow: a published version; default the latest | |
| deadline | No | propose: with wait: when to stop waiting (ISO); defaults to the link's expiry | |
| used_for | No | report: what you used it for, in a sentence | |
| acting_as | No | 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 | |
| from_folder | No | 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. | |
| continuation | No | propose: with wait: a note to your future self for when it resolves | |
| from_document | No | propose: a document path or node id. A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. | |
| from_knowledge | No | propose: a knowledge item id | |
| idempotency_key | No | Any 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
| Name | Required | Description |
|---|---|---|
| link | No | |
| wait | No | |
| added | No | |
| mount | No | |
| tally | No | |
| action | Yes | the action that answered |
| pulled | No | |
| report | No | |
| package | No | |
| reports | No | |
| comments | No | |
| packages | No | |
| proposal | No | |
| withdrawn | No |
TDQS
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.
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.
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.
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.
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.
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.
searchSearchARead-onlyIdempotentInspect
Search what you can read, and get back hits you can cite: each has a citation (location@commit, and #span for a block), its freshness (when committed; for a mirror, when it last synced and who connected it) and a trust signal (verified_truth, stated_truth, mirror or text) with the truths about it. A document hit also carries matched: why it matched, strongest first (titles, labels, text, meaning). score names no strategy, so matched is the only field that says which of them found the hit. PUBLIC GITHUB, a separate corpus: scope "public" searches agent instruction files (skills, CLAUDE.md, AGENTS.md, cursor rules, copilot instructions, llms.txt) written by strangers, not your organization. They come back only in public, never in hits: 5 by default (limit up to 20), each a pointer with its licence, capabilities (what it would have an agent do), stars, whether its publisher is known, when its repository's agent context changed, a commit-pinned citation, a link for a person, a sourceLink to GitHub (readable whatever the licence) and an agentlefs://public/ URI. The citation and sourceLink are portable references; the uri pins no commit. No field proves one file changed. licensed_only keeps the files whose text may be served. With within owner/repo/path (or the URI) it opens one file in file: its text if licensed, otherwise a description and the link; a long file comes in parts of up to 50,000 bytes (max_bytes for smaller ones), the next by offset; the file's own text is everything above the last ──── end of … line, less its last two line breaks, and an entry before it says it is public. A public query needs two characters or more. Your own folder named public is scope /public. how: auto (default) runs every strategy and merges them; meaning ranks by what a passage is about; text matches the words in a body; titles finds a document by name (file name, title or frontmatter aliases, typo-tolerant, and the excerpt says which name matched). Documents come best first, and a document hit's score is the quantity they were ordered by, comparable only within one answer; a hit's line, when set, is the line its excerpt is from. Narrow it with scope (a location), within (one document: returns its matching spans), thread (a message id: searches that thread), or source (one connected source, by id or a location in it). follow (1-3) adds the links around each hit. Nothing you cannot read is returned or counted. Hits are documents, their spans, messages, and published knowledge (lessons, dead ends, workflows, skills): a knowledge hit cites knowledge:@v, is dated by its last change, and its trust is validated_knowledge, unvalidated_knowledge or refuted_knowledge. Knowledge matches the query as one phrase, so a key term finds a lesson where a whole question may not; drafts are never returned. skills names the skills (.claude/skills or .agents/skills) and memory names the CLAUDE.md and AGENTS.md files that apply at scope and at the hits' folders, ones you can read only.
| Name | Required | Description | Default |
|---|---|---|---|
| how | No | ||
| seat | No | the seat token identity_write action=take_seat gave you; pass it on every call while you drive that agent | |
| limit | No | how many hits (at most 20 with scope "public") | |
| query | No | what you want to know (not needed to open a public file with scope "public" and within) | |
| scope | No | "public" searches the public corpus; a folder path (e.g. "specs", or "/public" for your own folder named public) limits the search to it (a document is refused: search one document with within); omit for everything you can read | |
| follow | No | ||
| offset | No | scope "public" with within only: where in the file to start, in bytes as read action=document takes it (a part gives nextOffset) | |
| source | No | a sync source id, or a location inside the mirror | |
| thread | No | a message id in the thread | |
| within | No | a document path or node id; with scope "public", one public file as owner/repo/path, its agentlefs://public/ URI, a hit's citation or its GitHub link at a commit (either also says whether the repository has moved on since), or its link (not one from another console served under a path prefix). A console link (`/d/<Name-Slug>-<32 hex>`, whole or just its id) is accepted too. | |
| acting_as | No | 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 | |
| max_bytes | No | scope "public" with within only: the largest part to return, in bytes (default and ceiling 50,000); a part never splits a character, so one smaller than the character at offset holds that character | |
| licensed_only | No | scope "public" only: just the files whose licence lets their text be served (default false: every match, unlicensed ones described with a link) |
Output Schema
| Name | Required | Description |
|---|---|---|
| file | No | |
| hits | Yes | |
| mode | Yes | |
| query | Yes | |
| memory | No | the memory files (CLAUDE.md, AGENTS.md) of scope and of the hits' folders and above, only ones you can read |
| public | No | |
| skills | No | the skills that apply at scope and at the folders of the hits (a .claude/skills/<name>/SKILL.md or .agents/skills/<name>/SKILL.md there or above), only ones you can read |
| degraded | Yes | |
| truncated | Yes | |
| licensedOnly | No | |
| spansPending | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, the description discloses many behavioral traits: freshness, trust signals, citation formats, public-corpus licensing rules, default and maximum limits, pagination with offsets and max_bytes, and that drafts and unreadable content are never returned. These details substantially help an agent understand what the tool returns and what it does not return.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely dense and delivered as one long paragraph, making it hard to scan. While the core purpose is front-loaded, many clauses and parenthetical details obscure the main usage path.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity, the rich annotations, the output schema, and the high schema coverage, the description is more than complete. It covers public versus private search, knowledge hits, pagination, licensing, and trust signals, so an agent has enough context to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Although schema coverage is already high at 85%, the description adds meaningful semantics for key parameters: the `how` strategies, `scope` public vs. folder behavior, `within` opening a public file, `offset` and `max_bytes` pagination, `licensed_only`, and `follow`. This goes well beyond the schema's field-level descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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: 'Search what you can read' and then explains that hits are citable and include documents, spans, messages, public GitHub files, and knowledge. It clearly distinguishes the public corpus from the organization's readable corpus, but it does not explicitly name sibling tools like browse or read as alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives extensive usage context: how to search by scope, within, thread, source, and how to open a public file with scope "public" and within. It explains public-corpus behavior and pagination, but it does not explicitly state when to prefer this tool over sibling tools such as browse or read.
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).
| Name | Required | Description | Default |
|---|---|---|---|
| why | No | vote: what you would do with it, in one line (at most 200 characters); recorded with the vote | |
| node | No | 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. | |
| seat | No | the seat token identity_write action=take_seat gave you; pass it on every call while you drive that agent | |
| issue | No | bind_issue, unbind_issue: GitHub issue URL or owner/repo#N (required for bind_issue, of_issue; optional for unbind_issue / github_issues) | |
| action | Yes | what to do; each action takes the arguments its line names | |
| branch | No | sync: GitHub only: the branch to follow (default: the repo default) | |
| account | No | sync: the connected account, exactly as browse action=sources prints it (the installation or account ref) | |
| location | No | 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. | |
| provider | No | connect: which source to connect: github, or gdrive for Google Drive · sync: which connected account this source uses | |
| acting_as | No | 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 | |
| connector | No | vote: the product to connect, e.g. Notion | |
| folder_id | No | sync: Google Drive only: the Drive folder id to pull | |
| repo_name | No | sync: GitHub only: the repository name | |
| repo_owner | No | sync: GitHub only: the repository owner | |
| idempotency_key | No | Any 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
| Name | Required | Description |
|---|---|---|
| bind | No | |
| text | No | the answer as prose, for an action that answers in prose |
| vote | No | |
| binds | No | |
| action | Yes | the action that answered |
| wanted | No | |
| unbound | No | |
| available | No |
TDQS
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.
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.
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.
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.
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.
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.
3 tool updates
- Changed
browse10 fields changed- changed
Input schema / properties / action / enumPrevious 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" +] - added
Input schema / properties / include_historyAdded value: +{ + "description": "decisions: decisions: include superseded records", + "type": "boolean" +} - changed
Input schema / properties / limit / descriptionPrevious 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" - changed
Input schema / properties / offset / descriptionPrevious 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" - changed
Input schema / properties / query / descriptionPrevious 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" - added
Input schema / properties / viewAdded value: +{ + "description": "decisions: decisions: lifecycle filter, applied before pagination", + "enum": [ + "all", + "needs", + "decided", + "completed" + ], + "type": "string" +} - added
Output schema / properties / decisionAdded 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" +} - added
Output schema / properties / decisionsAdded 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" +} - added
Output schema / properties / organizationAdded value: +{ + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "type": "object" +} - added
Output schema / properties / schemaAdded value: +{ + "const": "agentlefs-decision-history/v1", + "type": "string" +}
- Changed
coordination_write4 fields changed- added
Output schema / properties / decisionAdded 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" +} - added
Output schema / properties / decisionsAdded 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" +} - added
Output schema / properties / organizationAdded value: +{ + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "type": "object" +} - added
Output schema / properties / schemaAdded value: +{ + "const": "agentlefs-decision-history/v1", + "type": "string" +}
- Changed
read6 fields changed- changed
Input schema / properties / action / enumPrevious 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" +] - changed
Input schema / properties / id / descriptionPrevious 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>)" - added
Output schema / properties / decisionAdded 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" +} - added
Output schema / properties / decisionsAdded 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" +} - added
Output schema / properties / organizationAdded value: +{ + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "type": "object" +} - added
Output schema / properties / schemaAdded value: +{ + "const": "agentlefs-decision-history/v1", + "type": "string" +}
16 tool updates
- Changed
access_grant2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
access_read2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
access_revoke2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
brief_me2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
browse2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
coordination_write2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
doc_create2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
doc_delete2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
doc_update2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
identity_write2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
knowledge_write2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
message_write2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
read2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
registry_write2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
search2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
sources_write2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
2 tool updates
- Changed
doc_create1 field changed- changed
Input schema / properties / content / descriptionPrevious 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\")."
- Changed
doc_update1 field changed- changed
Input schema / properties / content / descriptionPrevious 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\")."
2 tool updates
- Changed
doc_create1 field changed- added
Output schema / properties / locationAdded value: +{ + "description": "the whole path from the workspace root this write resolved to; present on a successful write", + "type": "string" +}
- Changed
doc_update2 fields changed- added
Input schema / properties / spanAdded 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" +} - added
Output schema / properties / locationAdded value: +{ + "description": "the whole path from the workspace root this write resolved to; present on a successful write", + "type": "string" +}
4 tool updates
- Changed
access_grant1 field changed- changed
Input schema / properties / scope_type / descriptionPrevious 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."
- Changed
brief_me2 fields changed- added
Output schema / properties / pendingDecisionsAdded 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" +} - changed
Output schema / requiredPrevious 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" +]
- Changed
browse7 fields changed- changed
Input schema / properties / action / enumPrevious 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" +] - added
Input schema / properties / issueAdded 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" +} - changed
Input schema / properties / location / descriptionPrevious 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." - changed
Input schema / properties / node / descriptionPrevious 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." - added
Output schema / properties / bindAdded 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" +} - added
Output schema / properties / bindsAdded 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" +} - added
Output schema / properties / unboundAdded value: +{ + "type": "boolean" +}
- Changed
sources_write7 fields changed- changed
Input schema / properties / action / enumPrevious value: -[ - "connect", - "sync", - "vote" -]New value: +[ + "connect", + "sync", + "vote", + "bind_issue", + "unbind_issue" +] - added
Input schema / properties / issueAdded 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" +} - changed
Input schema / properties / location / descriptionPrevious 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." - added
Input schema / properties / nodeAdded 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" +} - added
Output schema / properties / bindAdded 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" +} - added
Output schema / properties / bindsAdded 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" +} - added
Output schema / properties / unboundAdded value: +{ + "type": "boolean" +}
16 tool updates
- Changed
access_grant35 fields changed- removed
Input schema / properties / editors_can_share / anyOfRemoved value: -[ - { - "type": "boolean" - }, - { - "type": "null" - } -] - added
Input schema / properties / editors_can_share / typeAdded value: +[ + "boolean", + "null" +] - added
Input schema / properties / seatAdded 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" +} - removed
Output schema / properties / across / items / properties / mount / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / across / items / properties / mount / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / hold / properties / releasedAt / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / hold / properties / releasedAt / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / labels / items / properties / declassifiedBy / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / labels / items / properties / declassifiedBy / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / labels / items / properties / derivedBy / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / labels / items / properties / derivedBy / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / labels / items / properties / location / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / labels / items / properties / location / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / request / properties / approvals / items / properties / approverDisplay / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / request / properties / approvals / items / properties / approverDisplay / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / request / properties / approvals / items / properties / approverId / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / request / properties / approvals / items / properties / approverId / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / request / properties / approvals / items / properties / note / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / request / properties / approvals / items / properties / note / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / request / properties / asked / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / request / properties / asked / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / request / properties / location / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / request / properties / location / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / requests / items / properties / approvals / items / properties / approverDisplay / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / requests / items / properties / approvals / items / properties / approverDisplay / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / requests / items / properties / approvals / items / properties / approverId / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / requests / items / properties / approvals / items / properties / approverId / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / requests / items / properties / approvals / items / properties / note / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / requests / items / properties / approvals / items / properties / note / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / requests / items / properties / asked / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / requests / items / properties / asked / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / requests / items / properties / location / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / requests / items / properties / location / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / settings / properties / inheritedFrom / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / settings / properties / inheritedFrom / typeAdded value: +[ + "string", + "null" +]
- Changed
access_read64 fields changed- added
Input schema / properties / seatAdded 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" +} - removed
Output schema / properties / across / items / properties / mount / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / across / items / properties / mount / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / ended / properties / heir / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / ended / properties / heir / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / hold / properties / releasedAt / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / hold / properties / releasedAt / typeAdded value: +[ + "string", + "null" +] - added
Output schema / properties / homeAdded value: +{ + "description": "your home folder: your journal and standing instructions, read only by you and those above you", + "type": "string" +} - added
Output schema / properties / identity / properties / handleAdded value: +{ + "description": "an agent's name in the organization: address it as @handle", + "type": [ + "string", + "null" + ] +} - removed
Output schema / properties / identity / properties / lastSeenAt / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / identity / properties / lastSeenAt / typeAdded value: +[ + "string", + "null" +] - added
Output schema / properties / identity / properties / sleepUntilAdded value: +{ + "anyOf": [ + { + "enum": [ + "woken", + "reply" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "when asleep: what wakes it" +} - added
Output schema / properties / identity / properties / status / descriptionAdded value: +"live, asleep (nothing drives it until it is woken), retired or dead" - added
Output schema / properties / journalAdded value: +{ + "description": "with take_seat: the end of your journal, newest last; read it before you carry on", + "type": "string" +} - added
Output schema / properties / journalEntryAdded value: +{ + "additionalProperties": false, + "properties": { + "at": { + "type": "string" + }, + "location": { + "type": "string" + } + }, + "required": [ + "location", + "at" + ], + "type": "object" +} - removed
Output schema / properties / labels / items / properties / declassifiedBy / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / labels / items / properties / declassifiedBy / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / labels / items / properties / derivedBy / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / labels / items / properties / derivedBy / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / labels / items / properties / location / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / labels / items / properties / location / typeAdded value: +[ + "string", + "null" +] - added
Output schema / properties / position / properties / ancestors / items / properties / handleAdded value: +{ + "description": "an agent's name in the organization: address it as @handle", + "type": [ + "string", + "null" + ] +} - removed
Output schema / properties / position / properties / ancestors / items / properties / lastSeenAt / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / position / properties / ancestors / items / properties / lastSeenAt / typeAdded value: +[ + "string", + "null" +] - added
Output schema / properties / position / properties / ancestors / items / properties / sleepUntilAdded value: +{ + "anyOf": [ + { + "enum": [ + "woken", + "reply" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "when asleep: what wakes it" +} - added
Output schema / properties / position / properties / ancestors / items / properties / status / descriptionAdded value: +"live, asleep (nothing drives it until it is woken), retired or dead" - added
Output schema / properties / position / properties / children / items / properties / handleAdded value: +{ + "description": "an agent's name in the organization: address it as @handle", + "type": [ + "string", + "null" + ] +} - removed
Output schema / properties / position / properties / children / items / properties / lastSeenAt / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / position / properties / children / items / properties / lastSeenAt / typeAdded value: +[ + "string", + "null" +] - added
Output schema / properties / position / properties / children / items / properties / sleepUntilAdded value: +{ + "anyOf": [ + { + "enum": [ + "woken", + "reply" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "when asleep: what wakes it" +} - added
Output schema / properties / position / properties / children / items / properties / status / descriptionAdded value: +"live, asleep (nothing drives it until it is woken), retired or dead" - added
Output schema / properties / position / properties / self / properties / handleAdded value: +{ + "description": "an agent's name in the organization: address it as @handle", + "type": [ + "string", + "null" + ] +} - removed
Output schema / properties / position / properties / self / properties / lastSeenAt / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / position / properties / self / properties / lastSeenAt / typeAdded value: +[ + "string", + "null" +] - added
Output schema / properties / position / properties / self / properties / sleepUntilAdded value: +{ + "anyOf": [ + { + "enum": [ + "woken", + "reply" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "when asleep: what wakes it" +} - added
Output schema / properties / position / properties / self / properties / status / descriptionAdded value: +"live, asleep (nothing drives it until it is woken), retired or dead" - added
Output schema / properties / position / properties / siblings / items / properties / handleAdded value: +{ + "description": "an agent's name in the organization: address it as @handle", + "type": [ + "string", + "null" + ] +} - removed
Output schema / properties / position / properties / siblings / items / properties / lastSeenAt / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / position / properties / siblings / items / properties / lastSeenAt / typeAdded value: +[ + "string", + "null" +] - added
Output schema / properties / position / properties / siblings / items / properties / sleepUntilAdded value: +{ + "anyOf": [ + { + "enum": [ + "woken", + "reply" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "when asleep: what wakes it" +} - added
Output schema / properties / position / properties / siblings / items / properties / status / descriptionAdded value: +"live, asleep (nothing drives it until it is woken), retired or dead" - removed
Output schema / properties / request / properties / approvals / items / properties / approverDisplay / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / request / properties / approvals / items / properties / approverDisplay / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / request / properties / approvals / items / properties / approverId / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / request / properties / approvals / items / properties / approverId / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / request / properties / approvals / items / properties / note / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / request / properties / approvals / items / properties / note / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / request / properties / asked / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / request / properties / asked / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / request / properties / location / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / request / properties / location / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / requests / items / properties / approvals / items / properties / approverDisplay / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / requests / items / properties / approvals / items / properties / approverDisplay / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / requests / items / properties / approvals / items / properties / approverId / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / requests / items / properties / approvals / items / properties / approverId / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / requests / items / properties / approvals / items / properties / note / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / requests / items / properties / approvals / items / properties / note / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / requests / items / properties / asked / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / requests / items / properties / asked / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / requests / items / properties / location / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / requests / items / properties / location / typeAdded value: +[ + "string", + "null" +] - added
Output schema / properties / seatAdded 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" +} - removed
Output schema / properties / settings / properties / inheritedFrom / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / settings / properties / inheritedFrom / typeAdded value: +[ + "string", + "null" +]
- Changed
access_revoke64 fields changed- added
Input schema / properties / seatAdded 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" +} - removed
Output schema / properties / across / items / properties / mount / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / across / items / properties / mount / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / ended / properties / heir / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / ended / properties / heir / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / hold / properties / releasedAt / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / hold / properties / releasedAt / typeAdded value: +[ + "string", + "null" +] - added
Output schema / properties / homeAdded value: +{ + "description": "your home folder: your journal and standing instructions, read only by you and those above you", + "type": "string" +} - added
Output schema / properties / identity / properties / handleAdded value: +{ + "description": "an agent's name in the organization: address it as @handle", + "type": [ + "string", + "null" + ] +} - removed
Output schema / properties / identity / properties / lastSeenAt / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / identity / properties / lastSeenAt / typeAdded value: +[ + "string", + "null" +] - added
Output schema / properties / identity / properties / sleepUntilAdded value: +{ + "anyOf": [ + { + "enum": [ + "woken", + "reply" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "when asleep: what wakes it" +} - added
Output schema / properties / identity / properties / status / descriptionAdded value: +"live, asleep (nothing drives it until it is woken), retired or dead" - added
Output schema / properties / journalAdded value: +{ + "description": "with take_seat: the end of your journal, newest last; read it before you carry on", + "type": "string" +} - added
Output schema / properties / journalEntryAdded value: +{ + "additionalProperties": false, + "properties": { + "at": { + "type": "string" + }, + "location": { + "type": "string" + } + }, + "required": [ + "location", + "at" + ], + "type": "object" +} - removed
Output schema / properties / labels / items / properties / declassifiedBy / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / labels / items / properties / declassifiedBy / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / labels / items / properties / derivedBy / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / labels / items / properties / derivedBy / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / labels / items / properties / location / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / labels / items / properties / location / typeAdded value: +[ + "string", + "null" +] - added
Output schema / properties / position / properties / ancestors / items / properties / handleAdded value: +{ + "description": "an agent's name in the organization: address it as @handle", + "type": [ + "string", + "null" + ] +} - removed
Output schema / properties / position / properties / ancestors / items / properties / lastSeenAt / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / position / properties / ancestors / items / properties / lastSeenAt / typeAdded value: +[ + "string", + "null" +] - added
Output schema / properties / position / properties / ancestors / items / properties / sleepUntilAdded value: +{ + "anyOf": [ + { + "enum": [ + "woken", + "reply" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "when asleep: what wakes it" +} - added
Output schema / properties / position / properties / ancestors / items / properties / status / descriptionAdded value: +"live, asleep (nothing drives it until it is woken), retired or dead" - added
Output schema / properties / position / properties / children / items / properties / handleAdded value: +{ + "description": "an agent's name in the organization: address it as @handle", + "type": [ + "string", + "null" + ] +} - removed
Output schema / properties / position / properties / children / items / properties / lastSeenAt / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / position / properties / children / items / properties / lastSeenAt / typeAdded value: +[ + "string", + "null" +] - added
Output schema / properties / position / properties / children / items / properties / sleepUntilAdded value: +{ + "anyOf": [ + { + "enum": [ + "woken", + "reply" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "when asleep: what wakes it" +} - added
Output schema / properties / position / properties / children / items / properties / status / descriptionAdded value: +"live, asleep (nothing drives it until it is woken), retired or dead" - added
Output schema / properties / position / properties / self / properties / handleAdded value: +{ + "description": "an agent's name in the organization: address it as @handle", + "type": [ + "string", + "null" + ] +} - removed
Output schema / properties / position / properties / self / properties / lastSeenAt / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / position / properties / self / properties / lastSeenAt / typeAdded value: +[ + "string", + "null" +] - added
Output schema / properties / position / properties / self / properties / sleepUntilAdded value: +{ + "anyOf": [ + { + "enum": [ + "woken", + "reply" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "when asleep: what wakes it" +} - added
Output schema / properties / position / properties / self / properties / status / descriptionAdded value: +"live, asleep (nothing drives it until it is woken), retired or dead" - added
Output schema / properties / position / properties / siblings / items / properties / handleAdded value: +{ + "description": "an agent's name in the organization: address it as @handle", + "type": [ + "string", + "null" + ] +} - removed
Output schema / properties / position / properties / siblings / items / properties / lastSeenAt / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / position / properties / siblings / items / properties / lastSeenAt / typeAdded value: +[ + "string", + "null" +] - added
Output schema / properties / position / properties / siblings / items / properties / sleepUntilAdded value: +{ + "anyOf": [ + { + "enum": [ + "woken", + "reply" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "when asleep: what wakes it" +} - added
Output schema / properties / position / properties / siblings / items / properties / status / descriptionAdded value: +"live, asleep (nothing drives it until it is woken), retired or dead" - removed
Output schema / properties / request / properties / approvals / items / properties / approverDisplay / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / request / properties / approvals / items / properties / approverDisplay / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / request / properties / approvals / items / properties / approverId / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / request / properties / approvals / items / properties / approverId / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / request / properties / approvals / items / properties / note / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / request / properties / approvals / items / properties / note / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / request / properties / asked / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / request / properties / asked / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / request / properties / location / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / request / properties / location / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / requests / items / properties / approvals / items / properties / approverDisplay / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / requests / items / properties / approvals / items / properties / approverDisplay / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / requests / items / properties / approvals / items / properties / approverId / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / requests / items / properties / approvals / items / properties / approverId / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / requests / items / properties / approvals / items / properties / note / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / requests / items / properties / approvals / items / properties / note / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / requests / items / properties / asked / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / requests / items / properties / asked / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / requests / items / properties / location / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / requests / items / properties / location / typeAdded value: +[ + "string", + "null" +] - added
Output schema / properties / seatAdded 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" +} - removed
Output schema / properties / settings / properties / inheritedFrom / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / settings / properties / inheritedFrom / typeAdded value: +[ + "string", + "null" +]
- Changed
brief_me66 fields changed- added
Input schema / properties / seatAdded 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" +} - removed
Output schema / properties / answered / properties / items / items / properties / location / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / answered / properties / items / items / properties / location / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / answered / properties / nextOffset / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / answered / properties / nextOffset / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / approvals / items / properties / location / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / approvals / items / properties / location / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / asked / properties / items / items / properties / location / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / asked / properties / items / items / properties / location / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / asked / properties / nextOffset / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / asked / properties / nextOffset / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / changed / properties / continueThrough / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / changed / properties / continueThrough / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / changed / properties / items / items / properties / location / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / changed / properties / items / items / properties / location / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / changed / properties / items / items / properties / nodeId / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / changed / properties / items / items / properties / nodeId / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / claims / items / properties / span / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / claims / items / properties / span / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / commitments / items / properties / location / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / commitments / items / properties / location / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / contested / properties / overlappingClaims / items / properties / theirs / properties / span / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / contested / properties / overlappingClaims / items / properties / theirs / properties / span / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / contested / properties / staleSpans / items / properties / location / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / contested / properties / staleSpans / items / properties / location / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / contested / properties / toDecide / items / properties / contestStatement / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / contested / properties / toDecide / items / properties / contestStatement / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / contested / properties / toDecide / items / properties / decideBy / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / contested / properties / toDecide / items / properties / decideBy / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / contested / properties / toDecide / items / properties / location / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / contested / properties / toDecide / items / properties / location / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / contested / properties / truths / items / properties / contestStatement / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / contested / properties / truths / items / properties / contestStatement / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / contested / properties / truths / items / properties / location / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / contested / properties / truths / items / properties / location / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / invitations / items / properties / from / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / invitations / items / properties / from / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / me / properties / children / items / properties / lastSeenAt / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / me / properties / children / items / properties / lastSeenAt / typeAdded value: +[ + "string", + "null" +] - added
Output schema / properties / me / properties / homeAdded value: +{ + "description": "your home folder, where your journal is; null until a session first takes your seat", + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / me / properties / seatAdded 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" +} - removed
Output schema / properties / me / properties / sessionId / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / me / properties / sessionId / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / me / properties / siblings / items / properties / lastSeenAt / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / me / properties / siblings / items / properties / lastSeenAt / typeAdded value: +[ + "string", + "null" +] - changed
Output schema / properties / me / requiredPrevious 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" +] - removed
Output schema / properties / memberships / items / properties / from / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / memberships / items / properties / from / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / memberships / items / properties / organization / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / memberships / items / properties / organization / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / projects / items / properties / owner / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / projects / items / properties / owner / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / projects / items / properties / threads / items / properties / due / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / projects / items / properties / threads / items / properties / due / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / projects / items / properties / threads / items / properties / link / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / projects / items / properties / threads / items / properties / link / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / projects / items / properties / threads / items / properties / takenBy / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / projects / items / properties / threads / items / properties / takenBy / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / resolvedWaits / items / properties / resolvedAt / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / resolvedWaits / items / properties / resolvedAt / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / session / properties / id / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / session / properties / id / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / waiting / properties / items / items / properties / location / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / waiting / properties / items / items / properties / location / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / waiting / properties / nextOffset / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / waiting / properties / nextOffset / typeAdded value: +[ + "number", + "null" +]
- Changed
browse113 fields changed- added
Input schema / properties / seatAdded 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" +} - removed
Output schema / properties / claim / properties / span / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / claim / properties / span / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / claims / items / properties / span / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / claims / items / properties / span / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / comment / properties / anchor_prefix / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / comment / properties / anchor_prefix / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / comment / properties / anchor_suffix / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / comment / properties / anchor_suffix / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / comment / properties / author_id / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / comment / properties / author_id / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / comment / properties / commit_hash / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / comment / properties / commit_hash / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / comment / properties / marker_by / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / comment / properties / marker_by / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / comment / properties / marker_link / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / comment / properties / marker_link / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / comment / properties / quote / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / comment / properties / quote / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / comment / properties / span_id / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / comment / properties / span_id / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / comment / properties / span_text / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / comment / properties / span_text / typeAdded value: +[ + "string", + "null" +] - changed
Output schema / properties / comments / anyOfPrevious 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" + } +] - removed
Output schema / properties / heldBy / items / properties / span / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / heldBy / items / properties / span / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / history / properties / versions / items / properties / editorId / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / history / properties / versions / items / properties / editorId / typeAdded value: +[ + "string", + "null" +] - changed
Output schema / properties / history / properties / versions / items / properties / upstream / anyOfPrevious 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" + } +] - removed
Output schema / properties / item / properties / publishedFrom / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / item / properties / publishedFrom / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / item / properties / scopeNodeId / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / item / properties / scopeNodeId / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / item / properties / supersededBy / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / item / properties / supersededBy / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / item / properties / supersedes / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / item / properties / supersedes / typeAdded value: +[ + "string", + "null" +] - changed
Output schema / properties / items / anyOfPrevious 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" + } +] - changed
Output schema / properties / message / properties / about / anyOfPrevious 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" + } +] - removed
Output schema / properties / message / properties / closeNote / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / message / properties / closeNote / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / message / properties / recipients / items / properties / note / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / message / properties / recipients / items / properties / note / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / message / properties / replyTo / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / message / properties / replyTo / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / message / properties / roomId / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / message / properties / roomId / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / message / properties / senderId / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / message / properties / senderId / typeAdded value: +[ + "string", + "null" +] - changed
Output schema / properties / messages / items / properties / about / anyOfPrevious 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" + } +] - removed
Output schema / properties / messages / items / properties / closeNote / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / messages / items / properties / closeNote / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / messages / items / properties / recipients / items / properties / note / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / messages / items / properties / recipients / items / properties / note / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / messages / items / properties / replyTo / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / messages / items / properties / replyTo / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / messages / items / properties / roomId / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / messages / items / properties / roomId / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / messages / items / properties / senderId / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / messages / items / properties / senderId / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / mount / properties / commitSha / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / mount / properties / commitSha / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / mount / properties / folder / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / mount / properties / folder / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / nextOffset / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / nextOffset / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / notes / items / properties / note / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / notes / items / properties / note / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / package / properties / standing / properties / meanByChain / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / package / properties / standing / properties / meanByChain / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / packages / items / properties / standing / properties / meanByChain / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / packages / items / properties / standing / properties / meanByChain / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / project / properties / owner / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / project / properties / owner / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / projects / items / properties / owner / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / projects / items / properties / owner / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / pulled / properties / location / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / pulled / properties / location / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / report / properties / onBehalfOf / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / report / properties / onBehalfOf / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / report / properties / org / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / report / properties / org / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / reports / items / properties / onBehalfOf / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / reports / items / properties / onBehalfOf / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / reports / items / properties / org / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / reports / items / properties / org / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / retiringUntil / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / retiringUntil / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / standing / properties / meanByChain / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / standing / properties / meanByChain / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / subscription / properties / span / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / subscription / properties / span / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / subscriptions / items / properties / span / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / subscriptions / items / properties / span / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / truth / properties / anchor / properties / spanId / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / truth / properties / anchor / properties / spanId / typeAdded value: +[ + "string", + "null" +] - changed
Output schema / properties / truth / properties / debate / anyOfPrevious 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" + } +] - removed
Output schema / properties / truth / properties / supersededBy / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / truth / properties / supersededBy / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / truth / properties / supersedes / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / truth / properties / supersedes / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / truths / items / properties / anchor / properties / spanId / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / truths / items / properties / anchor / properties / spanId / typeAdded value: +[ + "string", + "null" +] - changed
Output schema / properties / truths / items / properties / debate / anyOfPrevious 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" + } +] - removed
Output schema / properties / truths / items / properties / supersededBy / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / truths / items / properties / supersededBy / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / truths / items / properties / supersedes / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / truths / items / properties / supersedes / typeAdded value: +[ + "string", + "null" +] - changed
Output schema / properties / wait / anyOfPrevious 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" + } +] - removed
Output schema / properties / waits / items / properties / counterparty / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / waits / items / properties / counterparty / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / waits / items / properties / resolvedAt / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / waits / items / properties / resolvedAt / typeAdded value: +[ + "string", + "null" +]
- Changed
coordination_write46 fields changed- added
Input schema / properties / seatAdded 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" +} - removed
Output schema / properties / claim / properties / span / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / claim / properties / span / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / claims / items / properties / span / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / claims / items / properties / span / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / heldBy / items / properties / span / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / heldBy / items / properties / span / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / history / properties / versions / items / properties / editorId / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / history / properties / versions / items / properties / editorId / typeAdded value: +[ + "string", + "null" +] - changed
Output schema / properties / history / properties / versions / items / properties / upstream / anyOfPrevious 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" + } +] - removed
Output schema / properties / items / items / properties / by / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / items / items / properties / by / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / items / items / properties / objectId / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / items / items / properties / objectId / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / nextOffset / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / nextOffset / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / project / properties / owner / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / project / properties / owner / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / projects / items / properties / owner / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / projects / items / properties / owner / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / subscription / properties / span / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / subscription / properties / span / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / subscriptions / items / properties / span / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / subscriptions / items / properties / span / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / truth / properties / anchor / properties / spanId / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / truth / properties / anchor / properties / spanId / typeAdded value: +[ + "string", + "null" +] - changed
Output schema / properties / truth / properties / debate / anyOfPrevious 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" + } +] - removed
Output schema / properties / truth / properties / supersededBy / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / truth / properties / supersededBy / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / truth / properties / supersedes / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / truth / properties / supersedes / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / truths / items / properties / anchor / properties / spanId / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / truths / items / properties / anchor / properties / spanId / typeAdded value: +[ + "string", + "null" +] - changed
Output schema / properties / truths / items / properties / debate / anyOfPrevious 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" + } +] - removed
Output schema / properties / truths / items / properties / supersededBy / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / truths / items / properties / supersededBy / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / truths / items / properties / supersedes / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / truths / items / properties / supersedes / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / wait / properties / counterparty / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / wait / properties / counterparty / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / wait / properties / resolvedAt / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / wait / properties / resolvedAt / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / waits / items / properties / counterparty / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / waits / items / properties / counterparty / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / waits / items / properties / resolvedAt / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / waits / items / properties / resolvedAt / typeAdded value: +[ + "string", + "null" +]
- Changed
doc_create3 fields changed- added
Input schema / properties / seatAdded 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" +} - removed
Output schema / properties / commit / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / commit / typeAdded value: +[ + "string", + "null" +]
- Changed
doc_delete1 field changed- added
Input schema / properties / seatAdded 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" +}
- Changed
doc_update9 fields changed- added
Input schema / properties / seatAdded 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" +} - removed
Output schema / properties / appended / properties / commit / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / appended / properties / commit / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / appended / properties / section / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / appended / properties / section / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / commit / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / commit / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / restored / properties / commit / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / restored / properties / commit / typeAdded value: +[ + "string", + "null" +]
- Changed
identity_write38 fields changed- changed
Input schema / properties / action / enumPrevious 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" +] - added
Input schema / properties / entryAdded value: +{ + "description": "journal: with journal: what you decided and why, or what the next session must know", + "maxLength": 20000, + "minLength": 1, + "type": "string" +} - added
Input schema / properties / lease_sAdded 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" +} - added
Input schema / properties / seatAdded 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" +} - added
Input schema / properties / take_overAdded value: +{ + "description": "take_seat: take the seat even though another session holds it; that session's next write is refused", + "type": "boolean" +} - changed
Input schema / properties / target / descriptionPrevious value: -"update: an identity id; defaults to you"New value: +"sleep, wake, update: an identity id; defaults to you" - added
Input schema / properties / untilAdded 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" +} - removed
Output schema / properties / ended / properties / heir / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / ended / properties / heir / typeAdded value: +[ + "string", + "null" +] - added
Output schema / properties / homeAdded value: +{ + "description": "your home folder: your journal and standing instructions, read only by you and those above you", + "type": "string" +} - added
Output schema / properties / identity / properties / handleAdded value: +{ + "description": "an agent's name in the organization: address it as @handle", + "type": [ + "string", + "null" + ] +} - removed
Output schema / properties / identity / properties / lastSeenAt / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / identity / properties / lastSeenAt / typeAdded value: +[ + "string", + "null" +] - added
Output schema / properties / identity / properties / sleepUntilAdded value: +{ + "anyOf": [ + { + "enum": [ + "woken", + "reply" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "when asleep: what wakes it" +} - added
Output schema / properties / identity / properties / status / descriptionAdded value: +"live, asleep (nothing drives it until it is woken), retired or dead" - added
Output schema / properties / journalAdded value: +{ + "description": "with take_seat: the end of your journal, newest last; read it before you carry on", + "type": "string" +} - added
Output schema / properties / journalEntryAdded value: +{ + "additionalProperties": false, + "properties": { + "at": { + "type": "string" + }, + "location": { + "type": "string" + } + }, + "required": [ + "location", + "at" + ], + "type": "object" +} - added
Output schema / properties / position / properties / ancestors / items / properties / handleAdded value: +{ + "description": "an agent's name in the organization: address it as @handle", + "type": [ + "string", + "null" + ] +} - removed
Output schema / properties / position / properties / ancestors / items / properties / lastSeenAt / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / position / properties / ancestors / items / properties / lastSeenAt / typeAdded value: +[ + "string", + "null" +] - added
Output schema / properties / position / properties / ancestors / items / properties / sleepUntilAdded value: +{ + "anyOf": [ + { + "enum": [ + "woken", + "reply" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "when asleep: what wakes it" +} - added
Output schema / properties / position / properties / ancestors / items / properties / status / descriptionAdded value: +"live, asleep (nothing drives it until it is woken), retired or dead" - added
Output schema / properties / position / properties / children / items / properties / handleAdded value: +{ + "description": "an agent's name in the organization: address it as @handle", + "type": [ + "string", + "null" + ] +} - removed
Output schema / properties / position / properties / children / items / properties / lastSeenAt / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / position / properties / children / items / properties / lastSeenAt / typeAdded value: +[ + "string", + "null" +] - added
Output schema / properties / position / properties / children / items / properties / sleepUntilAdded value: +{ + "anyOf": [ + { + "enum": [ + "woken", + "reply" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "when asleep: what wakes it" +} - added
Output schema / properties / position / properties / children / items / properties / status / descriptionAdded value: +"live, asleep (nothing drives it until it is woken), retired or dead" - added
Output schema / properties / position / properties / self / properties / handleAdded value: +{ + "description": "an agent's name in the organization: address it as @handle", + "type": [ + "string", + "null" + ] +} - removed
Output schema / properties / position / properties / self / properties / lastSeenAt / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / position / properties / self / properties / lastSeenAt / typeAdded value: +[ + "string", + "null" +] - added
Output schema / properties / position / properties / self / properties / sleepUntilAdded value: +{ + "anyOf": [ + { + "enum": [ + "woken", + "reply" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "when asleep: what wakes it" +} - added
Output schema / properties / position / properties / self / properties / status / descriptionAdded value: +"live, asleep (nothing drives it until it is woken), retired or dead" - added
Output schema / properties / position / properties / siblings / items / properties / handleAdded value: +{ + "description": "an agent's name in the organization: address it as @handle", + "type": [ + "string", + "null" + ] +} - removed
Output schema / properties / position / properties / siblings / items / properties / lastSeenAt / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / position / properties / siblings / items / properties / lastSeenAt / typeAdded value: +[ + "string", + "null" +] - added
Output schema / properties / position / properties / siblings / items / properties / sleepUntilAdded value: +{ + "anyOf": [ + { + "enum": [ + "woken", + "reply" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "when asleep: what wakes it" +} - added
Output schema / properties / position / properties / siblings / items / properties / status / descriptionAdded value: +"live, asleep (nothing drives it until it is woken), retired or dead" - added
Output schema / properties / seatAdded 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" +}
- Changed
knowledge_write25 fields changed- added
Input schema / properties / seatAdded 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" +} - removed
Output schema / properties / item / properties / publishedFrom / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / item / properties / publishedFrom / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / item / properties / scopeNodeId / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / item / properties / scopeNodeId / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / item / properties / supersededBy / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / item / properties / supersededBy / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / item / properties / supersedes / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / item / properties / supersedes / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / items / items / properties / publishedFrom / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / items / items / properties / publishedFrom / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / items / items / properties / scopeNodeId / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / items / items / properties / scopeNodeId / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / items / items / properties / standing / properties / meanByChain / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / items / items / properties / standing / properties / meanByChain / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / items / items / properties / supersededBy / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / items / items / properties / supersededBy / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / items / items / properties / supersedes / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / items / items / properties / supersedes / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / notes / items / properties / note / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / notes / items / properties / note / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / retiringUntil / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / retiringUntil / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / standing / properties / meanByChain / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / standing / properties / meanByChain / typeAdded value: +[ + "number", + "null" +]
- Changed
message_write66 fields changed- added
Input schema / properties / seatAdded 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" +} - changed
Input schema / properties / to / descriptionPrevious 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" - removed
Output schema / properties / comment / properties / anchor_prefix / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / comment / properties / anchor_prefix / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / comment / properties / anchor_suffix / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / comment / properties / anchor_suffix / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / comment / properties / author_id / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / comment / properties / author_id / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / comment / properties / commit_hash / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / comment / properties / commit_hash / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / comment / properties / marker_by / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / comment / properties / marker_by / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / comment / properties / marker_link / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / comment / properties / marker_link / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / comment / properties / quote / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / comment / properties / quote / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / comment / properties / span_id / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / comment / properties / span_id / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / comment / properties / span_text / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / comment / properties / span_text / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / comments / items / properties / anchor_prefix / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / comments / items / properties / anchor_prefix / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / comments / items / properties / anchor_suffix / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / comments / items / properties / anchor_suffix / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / comments / items / properties / author_id / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / comments / items / properties / author_id / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / comments / items / properties / commit_hash / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / comments / items / properties / commit_hash / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / comments / items / properties / marker_by / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / comments / items / properties / marker_by / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / comments / items / properties / marker_link / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / comments / items / properties / marker_link / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / comments / items / properties / quote / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / comments / items / properties / quote / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / comments / items / properties / span_id / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / comments / items / properties / span_id / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / comments / items / properties / span_text / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / comments / items / properties / span_text / typeAdded value: +[ + "string", + "null" +] - changed
Output schema / properties / message / properties / about / anyOfPrevious 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" + } +] - removed
Output schema / properties / message / properties / closeNote / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / message / properties / closeNote / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / message / properties / recipients / items / properties / note / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / message / properties / recipients / items / properties / note / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / message / properties / replyTo / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / message / properties / replyTo / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / message / properties / roomId / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / message / properties / roomId / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / message / properties / senderId / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / message / properties / senderId / typeAdded value: +[ + "string", + "null" +] - changed
Output schema / properties / messages / items / properties / about / anyOfPrevious 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" + } +] - removed
Output schema / properties / messages / items / properties / closeNote / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / messages / items / properties / closeNote / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / messages / items / properties / recipients / items / properties / note / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / messages / items / properties / recipients / items / properties / note / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / messages / items / properties / replyTo / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / messages / items / properties / replyTo / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / messages / items / properties / roomId / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / messages / items / properties / roomId / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / messages / items / properties / senderId / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / messages / items / properties / senderId / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / nextOffset / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / nextOffset / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / wait / properties / counterparty / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / wait / properties / counterparty / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / wait / properties / resolvedAt / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / wait / properties / resolvedAt / typeAdded value: +[ + "string", + "null" +]
- Changed
read76 fields changed- added
Input schema / properties / seatAdded 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" +} - removed
Output schema / properties / comments / items / properties / version / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / comments / items / properties / version / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / history / properties / versions / items / properties / editorId / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / history / properties / versions / items / properties / editorId / typeAdded value: +[ + "string", + "null" +] - changed
Output schema / properties / history / properties / versions / items / properties / upstream / anyOfPrevious 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" + } +] - removed
Output schema / properties / image / properties / link / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / image / properties / link / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / item / properties / publishedFrom / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / item / properties / publishedFrom / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / item / properties / scopeNodeId / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / item / properties / scopeNodeId / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / item / properties / supersededBy / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / item / properties / supersededBy / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / item / properties / supersedes / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / item / properties / supersedes / typeAdded value: +[ + "string", + "null" +] - changed
Output schema / properties / items / anyOfPrevious 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" + } +] - changed
Output schema / properties / message / properties / about / anyOfPrevious 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" + } +] - removed
Output schema / properties / message / properties / closeNote / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / message / properties / closeNote / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / message / properties / recipients / items / properties / note / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / message / properties / recipients / items / properties / note / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / message / properties / replyTo / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / message / properties / replyTo / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / message / properties / roomId / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / message / properties / roomId / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / message / properties / senderId / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / message / properties / senderId / typeAdded value: +[ + "string", + "null" +] - changed
Output schema / properties / messages / items / properties / about / anyOfPrevious 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" + } +] - removed
Output schema / properties / messages / items / properties / closeNote / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / messages / items / properties / closeNote / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / messages / items / properties / recipients / items / properties / note / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / messages / items / properties / recipients / items / properties / note / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / messages / items / properties / replyTo / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / messages / items / properties / replyTo / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / messages / items / properties / roomId / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / messages / items / properties / roomId / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / messages / items / properties / senderId / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / messages / items / properties / senderId / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / nextOffset / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / nextOffset / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / notes / items / properties / note / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / notes / items / properties / note / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / package / properties / standing / properties / meanByChain / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / package / properties / standing / properties / meanByChain / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / packages / items / properties / standing / properties / meanByChain / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / packages / items / properties / standing / properties / meanByChain / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / pulled / properties / location / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / pulled / properties / location / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / retiringUntil / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / retiringUntil / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / standing / properties / meanByChain / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / standing / properties / meanByChain / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / subscription / properties / span / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / subscription / properties / span / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / subscriptions / items / properties / span / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / subscriptions / items / properties / span / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / truth / properties / anchor / properties / spanId / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / truth / properties / anchor / properties / spanId / typeAdded value: +[ + "string", + "null" +] - changed
Output schema / properties / truth / properties / debate / anyOfPrevious 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" + } +] - removed
Output schema / properties / truth / properties / supersededBy / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / truth / properties / supersededBy / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / truth / properties / supersedes / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / truth / properties / supersedes / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / truths / items / properties / anchor / properties / spanId / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / truths / items / properties / anchor / properties / spanId / typeAdded value: +[ + "string", + "null" +] - changed
Output schema / properties / truths / items / properties / debate / anyOfPrevious 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" + } +] - removed
Output schema / properties / truths / items / properties / supersededBy / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / truths / items / properties / supersededBy / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / truths / items / properties / supersedes / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / truths / items / properties / supersedes / typeAdded value: +[ + "string", + "null" +] - changed
Output schema / properties / wait / anyOfPrevious 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" + } +] - removed
Output schema / properties / waits / items / properties / counterparty / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / waits / items / properties / counterparty / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / waits / items / properties / resolvedAt / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / waits / items / properties / resolvedAt / typeAdded value: +[ + "string", + "null" +]
- Changed
registry_write21 fields changed- added
Input schema / properties / seatAdded 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" +} - removed
Output schema / properties / comments / items / properties / version / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / comments / items / properties / version / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / mount / properties / commitSha / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / mount / properties / commitSha / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / mount / properties / folder / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / mount / properties / folder / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / package / properties / standing / properties / meanByChain / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / package / properties / standing / properties / meanByChain / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / packages / items / properties / standing / properties / meanByChain / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / packages / items / properties / standing / properties / meanByChain / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / pulled / properties / location / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / pulled / properties / location / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / report / properties / onBehalfOf / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / report / properties / onBehalfOf / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / report / properties / org / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / report / properties / org / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / reports / items / properties / onBehalfOf / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / reports / items / properties / onBehalfOf / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / reports / items / properties / org / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / reports / items / properties / org / typeAdded value: +[ + "string", + "null" +]
- Changed
search52 fields changed- added
Input schema / properties / seatAdded 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" +} - removed
Output schema / properties / file / properties / body / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / file / properties / body / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / file / properties / bytes / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / file / properties / bytes / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / file / properties / changedAt / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / file / properties / changedAt / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / file / properties / citedCommit / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / file / properties / citedCommit / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / file / properties / citedCommitCollected / anyOfRemoved value: -[ - { - "type": "boolean" - }, - { - "type": "null" - } -] - added
Output schema / properties / file / properties / citedCommitCollected / typeAdded value: +[ + "boolean", + "null" +] - removed
Output schema / properties / file / properties / citedLink / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / file / properties / citedLink / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / file / properties / description / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / file / properties / description / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / file / properties / nextOffset / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / file / properties / nextOffset / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / file / properties / sourceLink / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / file / properties / sourceLink / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / file / properties / stars / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / file / properties / stars / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / file / properties / withheld / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / file / properties / withheld / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / hits / items / properties / freshness / properties / commit / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / hits / items / properties / freshness / properties / commit / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / hits / items / properties / freshness / properties / committedAt / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / hits / items / properties / freshness / properties / committedAt / typeAdded value: +[ + "string", + "null" +] - changed
Output schema / properties / hits / items / properties / freshness / properties / source / anyOfPrevious 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" + } +] - removed
Output schema / properties / hits / items / properties / knowledgeId / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / hits / items / properties / knowledgeId / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / hits / items / properties / line / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / hits / items / properties / line / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / hits / items / properties / location / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / hits / items / properties / location / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / hits / items / properties / messageId / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / hits / items / properties / messageId / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / hits / items / properties / nodeId / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / hits / items / properties / nodeId / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / hits / items / properties / score / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / hits / items / properties / score / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / hits / items / properties / spanId / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / hits / items / properties / spanId / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / public / items / properties / bytes / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / public / items / properties / bytes / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / public / items / properties / changedAt / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / public / items / properties / changedAt / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / public / items / properties / description / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / public / items / properties / description / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / public / items / properties / sourceLink / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / public / items / properties / sourceLink / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / public / items / properties / stars / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / public / items / properties / stars / typeAdded value: +[ + "number", + "null" +]
- Changed
sources_write1 field changed- added
Input schema / properties / seatAdded 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" +}
6 tool updates
- Changed
access_grant2 fields changed- changed
Input schema / properties / emails / descriptionPrevious 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)" - added
Input schema / properties / membersAdded 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" +}
- Changed
brief_me9 fields changed- changed
Input schema / properties / only / descriptionPrevious 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)" - added
Output schema / properties / answered / properties / items / items / properties / isNewAdded value: +{ + "description": "sent after your cursor", + "type": "boolean" +} - changed
Output schema / properties / answered / properties / items / items / requiredPrevious value: -[ - "id", - "threadId", - "kind", - "from", - "text", - "location", - "at", - "status" -]New value: +[ + "id", + "threadId", + "kind", + "from", + "text", + "location", + "at", + "status", + "isNew" +] - added
Output schema / properties / asked / properties / items / items / properties / isNewAdded value: +{ + "description": "sent after your cursor", + "type": "boolean" +} - changed
Output schema / properties / asked / properties / items / items / requiredPrevious value: -[ - "id", - "threadId", - "kind", - "from", - "text", - "location", - "at", - "status" -]New value: +[ + "id", + "threadId", + "kind", + "from", + "text", + "location", + "at", + "status", + "isNew" +] - added
Output schema / properties / commitments / items / properties / isNewAdded value: +{ + "description": "sent after your cursor", + "type": "boolean" +} - changed
Output schema / properties / commitments / items / requiredPrevious value: -[ - "id", - "threadId", - "kind", - "from", - "text", - "location", - "at", - "status" -]New value: +[ + "id", + "threadId", + "kind", + "from", + "text", + "location", + "at", + "status", + "isNew" +] - added
Output schema / properties / waiting / properties / items / items / properties / isNewAdded value: +{ + "description": "sent after your cursor", + "type": "boolean" +} - changed
Output schema / properties / waiting / properties / items / items / requiredPrevious value: -[ - "id", - "threadId", - "kind", - "from", - "text", - "location", - "at", - "status" -]New value: +[ + "id", + "threadId", + "kind", + "from", + "text", + "location", + "at", + "status", + "isNew" +]
- Changed
browse9 fields changed- added
Output schema / properties / package / properties / nameAdded value: +{ + "type": "string" +} - added
Output schema / properties / package / properties / organizationAdded value: +{ + "type": "string" +} - added
Output schema / properties / package / properties / referenceAdded value: +{ + "type": "string" +} - added
Output schema / properties / packages / items / properties / nameAdded value: +{ + "type": "string" +} - added
Output schema / properties / packages / items / properties / organizationAdded value: +{ + "type": "string" +} - added
Output schema / properties / packages / items / properties / referenceAdded value: +{ + "type": "string" +} - added
Output schema / properties / proposal / properties / nameAdded value: +{ + "type": "string" +} - added
Output schema / properties / proposal / properties / organizationAdded value: +{ + "type": "string" +} - added
Output schema / properties / proposal / properties / referenceAdded value: +{ + "type": "string" +}
- Changed
message_write1 field changed- changed
Input schema / properties / status / descriptionPrevious 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"
- Changed
read10 fields changed- changed
Input schema / properties / slug / descriptionPrevious value: -"package: the package's name in the registry"New value: +"package: org/publication for a public package; a local publication name when proposing" - added
Output schema / properties / package / properties / nameAdded value: +{ + "type": "string" +} - added
Output schema / properties / package / properties / organizationAdded value: +{ + "type": "string" +} - added
Output schema / properties / package / properties / referenceAdded value: +{ + "type": "string" +} - added
Output schema / properties / packages / items / properties / nameAdded value: +{ + "type": "string" +} - added
Output schema / properties / packages / items / properties / organizationAdded value: +{ + "type": "string" +} - added
Output schema / properties / packages / items / properties / referenceAdded value: +{ + "type": "string" +} - added
Output schema / properties / proposal / properties / nameAdded value: +{ + "type": "string" +} - added
Output schema / properties / proposal / properties / organizationAdded value: +{ + "type": "string" +} - added
Output schema / properties / proposal / properties / referenceAdded value: +{ + "type": "string" +}
- Changed
registry_write10 fields changed- changed
Input schema / properties / slug / descriptionPrevious 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" - added
Output schema / properties / package / properties / nameAdded value: +{ + "type": "string" +} - added
Output schema / properties / package / properties / organizationAdded value: +{ + "type": "string" +} - added
Output schema / properties / package / properties / referenceAdded value: +{ + "type": "string" +} - added
Output schema / properties / packages / items / properties / nameAdded value: +{ + "type": "string" +} - added
Output schema / properties / packages / items / properties / organizationAdded value: +{ + "type": "string" +} - added
Output schema / properties / packages / items / properties / referenceAdded value: +{ + "type": "string" +} - added
Output schema / properties / proposal / properties / nameAdded value: +{ + "type": "string" +} - added
Output schema / properties / proposal / properties / organizationAdded value: +{ + "type": "string" +} - added
Output schema / properties / proposal / properties / referenceAdded value: +{ + "type": "string" +}
16 tool updates
- Changed
access_grant1 field changed- added
Input schema / properties / acting_asAdded 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" +}
- Changed
access_read1 field changed- added
Input schema / properties / acting_asAdded 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" +}
- Changed
access_revoke1 field changed- added
Input schema / properties / acting_asAdded 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" +}
- Changed
brief_me5 fields changed- added
Input schema / properties / acting_asAdded 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" +} - added
Input schema / properties / onlyAdded 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" +} - added
Input schema / properties / repoAdded value: +{ + "description": "the repository you are working in (its git remote, any spelling): adds the projects whose AGENTS.md lists it", + "type": "string" +} - added
Output schema / properties / projectsAdded 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" +} - changed
Output schema / requiredPrevious 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" +]
- Changed
browse8 fields changed- added
Input schema / properties / acting_asAdded 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" +} - changed
Input schema / properties / action / enumPrevious 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" +] - added
Output schema / properties / comment / properties / markerAdded value: +{ + "anyOf": [ + { + "enum": [ + "taken", + "reported" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "a reply's status for the thread's work" +} - added
Output schema / properties / comment / properties / marker_byAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "taken: the date it is promised by, YYYY-MM-DD" +} - added
Output schema / properties / comment / properties / marker_linkAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "reported: where the work is; null when you cannot read it" +} - changed
Output schema / properties / comments / anyOfPrevious 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" + } +] - added
Output schema / properties / projectAdded 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" +} - added
Output schema / properties / projectsAdded 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" +}
- Changed
coordination_write7 fields changed- added
Input schema / properties / acting_asAdded 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" +} - changed
Input schema / properties / action / enumPrevious 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" +] - changed
Input schema / properties / location / descriptionPrevious 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." - changed
Input schema / properties / node / descriptionPrevious 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." - added
Input schema / properties / routingAdded 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" +} - added
Output schema / properties / projectAdded 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" +} - added
Output schema / properties / projectsAdded 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" +}
- Changed
doc_create14 fields changed- added
Input schema / properties / acting_asAdded 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" +} - changed
Input schema / properties / action / enumPrevious value: -[ - "document", - "folder" -]New value: +[ + "document", + "folder", + "upload" +] - added
Input schema / properties / deleteAdded value: +{ + "description": "upload: true to delete what folder_path holds that entries leaves out (rsync --delete); undoable", + "type": "boolean" +} - added
Input schema / properties / entriesAdded 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" +} - added
Input schema / properties / fileAdded 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" +} - changed
Input schema / properties / folder_path / descriptionPrevious 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\"]" - added
Output schema / properties / commitAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "the commit this call landed, when nothing was left to send" +} - added
Output schema / properties / delete_refusedAdded value: +{ + "type": "string" +} - added
Output schema / properties / deletedAdded value: +{ + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / destinationAdded value: +{ + "type": "string" +} - added
Output schema / properties / filesAdded 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" +} - added
Output schema / properties / remote_onlyAdded value: +{ + "description": "files folder_path holds that entries leaves out, relative to it", + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / remote_only_moreAdded value: +{ + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" +} - added
Output schema / properties / syncAdded 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" +}
- Changed
doc_delete1 field changed- added
Input schema / properties / acting_asAdded 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" +}
- Changed
doc_update1 field changed- added
Input schema / properties / acting_asAdded 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" +}
- Changed
identity_write1 field changed- added
Input schema / properties / acting_asAdded 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" +}
- Changed
knowledge_write1 field changed- added
Input schema / properties / acting_asAdded 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" +}
- Changed
message_write10 fields changed- added
Input schema / properties / acting_asAdded 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" +} - changed
Input schema / properties / by / descriptionPrevious 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)" - added
Input schema / properties / linkAdded 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" +} - added
Input schema / properties / statusAdded value: +{ + "description": "reply_comment: reply_comment: say you took the thread's work on, or report it done", + "enum": [ + "taken", + "reported" + ], + "type": "string" +} - added
Output schema / properties / comment / properties / markerAdded value: +{ + "anyOf": [ + { + "enum": [ + "taken", + "reported" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "a reply's status for the thread's work" +} - added
Output schema / properties / comment / properties / marker_byAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "taken: the date it is promised by, YYYY-MM-DD" +} - added
Output schema / properties / comment / properties / marker_linkAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "reported: where the work is; null when you cannot read it" +} - added
Output schema / properties / comments / items / properties / markerAdded value: +{ + "anyOf": [ + { + "enum": [ + "taken", + "reported" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "a reply's status for the thread's work" +} - added
Output schema / properties / comments / items / properties / marker_byAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "taken: the date it is promised by, YYYY-MM-DD" +} - added
Output schema / properties / comments / items / properties / marker_linkAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "reported: where the work is; null when you cannot read it" +}
- Changed
read1 field changed- added
Input schema / properties / acting_asAdded 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" +}
- Changed
registry_write1 field changed- added
Input schema / properties / acting_asAdded 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" +}
- Changed
search1 field changed- added
Input schema / properties / acting_asAdded 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" +}
- Changed
sources_write1 field changed- added
Input schema / properties / acting_asAdded 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" +}
4 tool updates
- Changed
browse8 fields changed- changed
Input schema / properties / action / enumPrevious 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" +] - changed
Input schema / properties / location / descriptionPrevious 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." - changed
Input schema / properties / node / descriptionPrevious 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." - added
Output schema / properties / mount / properties / filesAdded value: +{ + "description": "how many files the mount holds", + "type": "number" +} - added
Output schema / properties / mount / properties / folderAdded 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" +} - added
Output schema / properties / mount / properties / skippedAdded 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" +} - changed
Output schema / properties / mount / requiredPrevious value: -[ - "location", - "created", - "diverged", - "organization", - "follow", - "commitSha", - "changed" -]New value: +[ + "location", + "created", + "diverged", + "organization", + "follow", + "commitSha", + "changed", + "folder", + "files", + "skipped" +] - added
Output schema / properties / versionsAdded 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" +}
- Changed
doc_update7 fields changed- changed
Input schema / properties / action / enumPrevious value: -[ - "edit", - "replace", - "move", - "restore" -]New value: +[ + "edit", + "replace", + "move", + "restore", + "restore_version" +] - added
Input schema / properties / commitAdded 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" +} - changed
Input schema / properties / expected_commit / descriptionPrevious 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." - changed
Input schema / properties / location / descriptionPrevious 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." - changed
Input schema / properties / node / descriptionPrevious 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." - changed
Input schema / properties / override_claim / descriptionPrevious 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." - added
Output schema / properties / restoredAdded 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" +}
- Changed
read5 fields changed- changed
Input schema / properties / action / enumPrevious 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" +] - added
Input schema / properties / commitAdded 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" +} - changed
Input schema / properties / location / descriptionPrevious 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." - changed
Input schema / properties / node / descriptionPrevious 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." - added
Output schema / properties / imageAdded 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" +}
- Changed
registry_write4 fields changed- added
Output schema / properties / mount / properties / filesAdded value: +{ + "description": "how many files the mount holds", + "type": "number" +} - added
Output schema / properties / mount / properties / folderAdded 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" +} - added
Output schema / properties / mount / properties / skippedAdded 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" +} - changed
Output schema / properties / mount / requiredPrevious value: -[ - "location", - "created", - "diverged", - "organization", - "follow", - "commitSha", - "changed" -]New value: +[ + "location", + "created", + "diverged", + "organization", + "follow", + "commitSha", + "changed", + "folder", + "files", + "skipped" +]
2 tool updates
- Changed
browse2 fields changed- added
Output schema / properties / comment / properties / commit_hashAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "the document's commit when this was written; null on a folder's discussion" +} - changed
Output schema / properties / comments / anyOfPrevious 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" + } +]
- Changed
message_write2 fields changed- added
Output schema / properties / comment / properties / commit_hashAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "the document's commit when this was written; null on a folder's discussion" +} - added
Output schema / properties / comments / items / properties / commit_hashAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "the document's commit when this was written; null on a folder's discussion" +}
10 tool updates
- Changed
access_grant2 fields changed- changed
Input schema / properties / location / descriptionPrevious 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)" - changed
Input schema / properties / scope_type / descriptionPrevious value: -"share: default folder"New value: +"share: default folder, or what a pasted link names"
- Changed
brief_me23 fields changed- added
Input schema / properties / answered_offsetAdded value: +{ + "description": "answered: skip this many (nextOffset from the last brief) to see the rest", + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" +} - added
Input schema / properties / asked_offsetAdded value: +{ + "description": "asked: skip this many (nextOffset from the last brief) to see the rest", + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" +} - added
Input schema / properties / waiting_offsetAdded value: +{ + "description": "waiting: skip this many (nextOffset from the last brief) to see the rest", + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" +} - added
Output schema / properties / answered / properties / cappedAdded value: +{ + "description": "the count stopped at that window, so there are more", + "type": "boolean" +} - added
Output schema / properties / answered / properties / count / descriptionAdded value: +"how many, counted up to 50 past the offset" - added
Output schema / properties / answered / properties / nextOffsetAdded value: +{ + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "when truncated: pass it as this list's offset to see the next ones" +} - added
Output schema / properties / answered / properties / truncatedAdded value: +{ + "description": "more follow the ones in items", + "type": "boolean" +} - changed
Output schema / properties / answered / requiredPrevious value: -[ - "count", - "items" -]New value: +[ + "count", + "capped", + "truncated", + "nextOffset", + "items" +] - added
Output schema / properties / asked / properties / cappedAdded value: +{ + "description": "the count stopped at that window, so there are more", + "type": "boolean" +} - added
Output schema / properties / asked / properties / count / descriptionAdded value: +"how many, counted up to 50 past the offset" - added
Output schema / properties / asked / properties / nextOffsetAdded value: +{ + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "when truncated: pass it as this list's offset to see the next ones" +} - added
Output schema / properties / asked / properties / truncatedAdded value: +{ + "description": "more follow the ones in items", + "type": "boolean" +} - changed
Output schema / properties / asked / requiredPrevious value: -[ - "count", - "items" -]New value: +[ + "count", + "capped", + "truncated", + "nextOffset", + "items" +] - added
Output schema / properties / changed / properties / cappedAdded value: +{ + "description": "the window filled, so there may be more than count", + "type": "boolean" +} - added
Output schema / properties / changed / properties / continueThroughAdded 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" +} - added
Output schema / properties / changed / properties / count / descriptionAdded value: +"changes counted past your cursor, up to a window of 500 events" - added
Output schema / properties / changed / properties / truncatedAdded value: +{ + "description": "more changes follow the ones in items", + "type": "boolean" +} - changed
Output schema / properties / changed / requiredPrevious value: -[ - "since", - "count", - "items" -]New value: +[ + "since", + "count", + "capped", + "truncated", + "continueThrough", + "items" +] - added
Output schema / properties / waiting / properties / cappedAdded value: +{ + "description": "the count stopped at that window, so there are more", + "type": "boolean" +} - added
Output schema / properties / waiting / properties / count / descriptionAdded value: +"how many, counted up to 50 past the offset" - added
Output schema / properties / waiting / properties / nextOffsetAdded value: +{ + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "when truncated: pass it as this list's offset to see the next ones" +} - added
Output schema / properties / waiting / properties / truncatedAdded value: +{ + "description": "more follow the ones in items", + "type": "boolean" +} - changed
Output schema / properties / waiting / requiredPrevious value: -[ - "count", - "items" -]New value: +[ + "count", + "capped", + "truncated", + "nextOffset", + "items" +]
- Changed
browse17 fields changed- changed
Input schema / properties / from / descriptionPrevious 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" - added
Input schema / properties / kindsAdded 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" +} - changed
Input schema / properties / location / descriptionPrevious 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." - changed
Input schema / properties / offset / descriptionPrevious 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" - added
Output schema / properties / comment / properties / anchor_prefixAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "the text just before quote, which places it when the quote repeats" +} - added
Output schema / properties / comment / properties / anchor_suffixAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "the text just after quote" +} - added
Output schema / properties / comment / properties / span_textAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "comments: the span's current text" +} - changed
Output schema / properties / comment / requiredPrevious 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" +] - changed
Output schema / properties / comments / anyOfPrevious 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" + } +] - added
Output schema / properties / nextOffsetAdded value: +{ + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "spans: the offset of the next page, or null when this one ends the document" +} - added
Output schema / properties / proposal / properties / approverAdded value: +{ + "description": "the identity id of the person whose link decides it", + "type": "string" +} - added
Output schema / properties / proposal / properties / createdAtAdded value: +{ + "type": "string" +} - added
Output schema / properties / proposal / properties / proposedByAdded value: +{ + "description": "your identity id", + "type": "string" +} - added
Output schema / properties / proposal / properties / summaryAdded value: +{ + "type": "string" +} - changed
Output schema / properties / proposal / requiredPrevious value: -[ - "id", - "slug", - "kind", - "title", - "status", - "expiresAt" -]New value: +[ + "id", + "slug", + "kind", + "title", + "summary", + "status", + "proposedBy", + "approver", + "expiresAt", + "createdAt" +] - added
Output schema / properties / spans / items / properties / truncatedAdded value: +{ + "description": "this block alone is past the read cap; read action=document has the rest", + "type": "boolean" +} - added
Output schema / properties / truncatedAdded value: +{ + "description": "inbox: more are waiting past this page", + "type": "boolean" +}
- Changed
coordination_write5 fields changed- changed
Input schema / properties / from / descriptionPrevious 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" - changed
Input schema / properties / lease_s / descriptionPrevious 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" - changed
Input schema / properties / location / descriptionPrevious 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." - added
Output schema / properties / nextOffsetAdded value: +{ + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "spans: the offset of the next page, or null when this one ends the document" +} - added
Output schema / properties / spans / items / properties / truncatedAdded value: +{ + "description": "this block alone is past the read cap; read action=document has the rest", + "type": "boolean" +}
- Changed
doc_create1 field changed- added
Output schema / properties / storedAdded 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" +}
- Changed
doc_delete1 field changed- changed
Input schema / properties / location / descriptionPrevious 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."
- Changed
doc_update2 fields changed- changed
Input schema / properties / location / descriptionPrevious 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." - added
Output schema / properties / storedAdded 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" +}
- Changed
message_write11 fields changed- changed
Input schema / properties / location / descriptionPrevious 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." - added
Output schema / properties / comment / properties / anchor_prefixAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "the text just before quote, which places it when the quote repeats" +} - added
Output schema / properties / comment / properties / anchor_suffixAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "the text just after quote" +} - added
Output schema / properties / comment / properties / span_textAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "comments: the span's current text" +} - changed
Output schema / properties / comment / requiredPrevious 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" +] - added
Output schema / properties / comments / items / properties / anchor_prefixAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "the text just before quote, which places it when the quote repeats" +} - added
Output schema / properties / comments / items / properties / anchor_suffixAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "the text just after quote" +} - added
Output schema / properties / comments / items / properties / span_textAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "comments: the span's current text" +} - changed
Output schema / properties / comments / items / requiredPrevious 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" +] - added
Output schema / properties / nextOffsetAdded value: +{ + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "inbox: the offset that shows them" +} - added
Output schema / properties / truncatedAdded value: +{ + "description": "inbox: more are waiting past this page", + "type": "boolean" +}
- Changed
read8 fields changed- added
Output schema / properties / nextOffsetAdded value: +{ + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "spans: the offset of the next page, or null when this one ends the document" +} - added
Output schema / properties / proposal / properties / approverAdded value: +{ + "description": "the identity id of the person whose link decides it", + "type": "string" +} - added
Output schema / properties / proposal / properties / createdAtAdded value: +{ + "type": "string" +} - added
Output schema / properties / proposal / properties / proposedByAdded value: +{ + "description": "your identity id", + "type": "string" +} - added
Output schema / properties / proposal / properties / summaryAdded value: +{ + "type": "string" +} - changed
Output schema / properties / proposal / requiredPrevious value: -[ - "id", - "slug", - "kind", - "title", - "status", - "expiresAt" -]New value: +[ + "id", + "slug", + "kind", + "title", + "summary", + "status", + "proposedBy", + "approver", + "expiresAt", + "createdAt" +] - added
Output schema / properties / spans / items / properties / truncatedAdded value: +{ + "description": "this block alone is past the read cap; read action=document has the rest", + "type": "boolean" +} - added
Output schema / properties / truncatedAdded value: +{ + "description": "inbox: more are waiting past this page", + "type": "boolean" +}
- Changed
registry_write5 fields changed- added
Output schema / properties / proposal / properties / approverAdded value: +{ + "description": "the identity id of the person whose link decides it", + "type": "string" +} - added
Output schema / properties / proposal / properties / createdAtAdded value: +{ + "type": "string" +} - added
Output schema / properties / proposal / properties / proposedByAdded value: +{ + "description": "your identity id", + "type": "string" +} - added
Output schema / properties / proposal / properties / summaryAdded value: +{ + "type": "string" +} - changed
Output schema / properties / proposal / requiredPrevious value: -[ - "id", - "slug", - "kind", - "title", - "status", - "expiresAt" -]New value: +[ + "id", + "slug", + "kind", + "title", + "summary", + "status", + "proposedBy", + "approver", + "expiresAt", + "createdAt" +]
5 tool updates
- Changed
access_grant1 field changed- changed
Input schema / properties / location / descriptionPrevious 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)"
- Changed
access_read1 field changed- changed
Input schema / properties / location / descriptionPrevious 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)"
- Changed
browse5 fields changed- added
Output schema / properties / addedAdded 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" +} - added
Output schema / properties / package / properties / filesAdded 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" +} - changed
Output schema / properties / package / requiredPrevious 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" +] - added
Output schema / properties / packages / items / properties / filesAdded 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" +} - changed
Output schema / properties / packages / items / requiredPrevious 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" +]
- Changed
read5 fields changed- added
Output schema / properties / addedAdded 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" +} - added
Output schema / properties / package / properties / filesAdded 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" +} - changed
Output schema / properties / package / requiredPrevious 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" +] - added
Output schema / properties / packages / items / properties / filesAdded 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" +} - changed
Output schema / properties / packages / items / requiredPrevious 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" +]
- Changed
registry_write12 fields changed- changed
Input schema / properties / action / enumPrevious value: -[ - "pull", - "comment", - "rate", - "propose", - "report", - "withdraw_report", - "mount" -]New value: +[ + "pull", + "add", + "follow", + "comment", + "rate", + "propose", + "report", + "withdraw_report", + "mount" +] - changed
Input schema / properties / follow / descriptionPrevious 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" - added
Input schema / properties / from_folderAdded 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" +} - added
Input schema / properties / intoAdded value: +{ + "description": "mount: the folder to put it in; default public-context/<owner>/<repo>/", + "type": "string" +} - changed
Input schema / properties / scope / descriptionPrevious value: -"pull: the folder to copy it into"New value: +"pull, add: the folder to copy it into" - changed
Input schema / properties / slug / descriptionPrevious 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" - changed
Input schema / properties / version / descriptionPrevious value: -"pull: a published version; default the latest"New value: +"pull, follow: a published version; default the latest" - added
Output schema / properties / addedAdded 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" +} - added
Output schema / properties / package / properties / filesAdded 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" +} - changed
Output schema / properties / package / requiredPrevious 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" +] - added
Output schema / properties / packages / items / properties / filesAdded 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" +} - changed
Output schema / properties / packages / items / requiredPrevious 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" +]
46 tool updates
- Added
access_grant - Added
access_read - Added
access_revoke - Removed
add_org_source - Removed
await - Changed
brief_me7 fields changed- removed
Input schema / properties / ack_throughRemoved value: -{ - "description": "advance your cursor to this log position first (cursor.head from a previous brief)", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" -} - removed
Input schema / properties / idempotency_keyRemoved value: -{ - "description": "Any 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.", - "maxLength": 200, - "minLength": 1, - "type": "string" -} - added
Output schema / properties / loadedAdded value: +{ + "description": "the folders your person set you to load at connect that you can still read: their memory whole and their skills by name", + "items": { + "additionalProperties": false, + "properties": { + "location": { + "type": "string" + }, + "memory": { + "items": { + "additionalProperties": false, + "properties": { + "location": { + "type": "string" + }, + "text": { + "type": "string" + }, + "truncated": { + "type": "boolean" + } + }, + "required": [ + "location", + "text", + "truncated" + ], + "type": "object" + }, + "type": "array" + }, + "moreSkills": { + "type": "number" + }, + "skills": { + "items": { + "additionalProperties": false, + "properties": { + "description": { + "type": "string" + }, + "location": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "name", + "description", + "location" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "location", + "memory", + "skills", + "moreSkills" + ], + "type": "object" + }, + "type": "array" +} - added
Output schema / properties / membershipsAdded value: +{ + "description": "organizations that invited your human to join; only they accept or decline, in the console at decideAt", + "items": { + "additionalProperties": false, + "properties": { + "at": { + "type": "string" + }, + "decideAt": { + "type": "string" + }, + "from": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "grants": { + "type": "number" + }, + "id": { + "type": "string" + }, + "organization": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "role": { + "type": "string" + } + }, + "required": [ + "id", + "organization", + "from", + "role", + "grants", + "at", + "decideAt" + ], + "type": "object" + }, + "type": "array" +} - added
Output schema / properties / memoryAdded value: +{ + "description": "the memory files (CLAUDE.md, AGENTS.md) that apply in the folders near your work, only ones you can read, at most ten", + "items": { + "additionalProperties": false, + "properties": { + "changed": { + "type": "boolean" + }, + "folder": { + "type": "string" + }, + "location": { + "type": "string" + } + }, + "required": [ + "location", + "folder", + "changed" + ], + "type": "object" + }, + "type": "array" +} - added
Output schema / properties / skillsAdded value: +{ + "description": "the skills (.claude/skills or .agents/skills) that apply in the folders near your work, only ones you can read, at most ten", + "items": { + "additionalProperties": false, + "properties": { + "changed": { + "description": "committed since this session last read it", + "type": "boolean" + }, + "description": { + "type": "string" + }, + "folder": { + "description": "the folder it applies in and below; empty for the whole organization", + "type": "string" + }, + "location": { + "description": "the SKILL.md to read", + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "name", + "description", + "location", + "folder", + "changed" + ], + "type": "object" + }, + "type": "array" +} - changed
Output schema / requiredPrevious value: -[ - "cursor", - "me", - "claims", - "commitments", - "waiting", - "asked", - "answered", - "resolvedWaits", - "pendingWaits", - "approvals", - "invitations", - "offers", - "session", - "usage", - "loops", - "changed", - "contested" -]New value: +[ + "cursor", + "me", + "claims", + "commitments", + "waiting", + "asked", + "answered", + "resolvedWaits", + "pendingWaits", + "approvals", + "invitations", + "offers", + "memberships", + "session", + "usage", + "loops", + "changed", + "contested", + "skills", + "memory", + "loaded" +]
- Added
browse - Removed
claim - Removed
comment - Removed
connect_org_source - Removed
connectors - Added
coordination_write - Removed
create_org_folder - Removed
delete_org_doc - Added
doc_create - Added
doc_delete - Added
doc_update - Removed
edit_org_doc - Removed
erase_org_doc - Removed
identity - Added
identity_write - Removed
knowledge - Added
knowledge_write - Removed
list_org_docs - Removed
list_org_folders - Removed
list_org_people - Removed
list_org_sources - Removed
message - Added
message_write - Removed
move - Removed
public_context_discussion - Added
read - Removed
read_org_doc - Removed
registry - Added
registry_write - Removed
room - Changed
search5 fields changed- changed
Input schema / properties / offset / descriptionPrevious value: -"scope \"public\" with within only: where in the file to start, in bytes as read_org_doc takes it (a part gives nextOffset)"New value: +"scope \"public\" with within only: where in the file to start, in bytes as read action=document takes it (a part gives nextOffset)" - changed
Output schema / properties / hits / items / properties / matched / descriptionPrevious value: -"Why this hit matched, strongest evidence first: its file name, title or an alias (titles), a label on it (labels), a literal phrase in its body (text), or a semantically near chunk (meaning). `labels` is evidence you can read but not yet ask for: `how` takes the other three. Document hits carry it; hits from within one document, one thread, or knowledge do not, because there the single strategy is already named in `mode` and `score` is the rank key."New value: +"Why this hit matched, names before body evidence: its file name, title or an alias (titles), a label on it (labels), its words in a chunk by full-text search (keyword), a literal phrase in its body (text), or a semantically near chunk (meaning). `labels` and `keyword` are evidence you can read but not ask for: `how` takes titles, text and meaning. Document hits carry it; hits from within one document, one thread, or knowledge do not, because there the single strategy is already named in `mode` and `score` is the rank key." - changed
Output schema / properties / hits / items / properties / matched / items / enumPrevious value: -[ - "titles", - "labels", - "text", - "meaning" -]New value: +[ + "titles", + "labels", + "keyword", + "text", + "meaning" +] - added
Output schema / properties / memoryAdded value: +{ + "description": "the memory files (CLAUDE.md, AGENTS.md) of scope and of the hits' folders and above, only ones you can read", + "items": { + "additionalProperties": false, + "properties": { + "changed": { + "type": "boolean" + }, + "folder": { + "type": "string" + }, + "location": { + "type": "string" + } + }, + "required": [ + "location", + "folder", + "changed" + ], + "type": "object" + }, + "type": "array" +} - added
Output schema / properties / skillsAdded value: +{ + "description": "the skills that apply at scope and at the folders of the hits (a .claude/skills/<name>/SKILL.md or .agents/skills/<name>/SKILL.md there or above), only ones you can read", + "items": { + "additionalProperties": false, + "properties": { + "changed": { + "description": "committed since this session last read it", + "type": "boolean" + }, + "description": { + "type": "string" + }, + "folder": { + "description": "the folder it applies in and below; empty for the whole organization", + "type": "string" + }, + "location": { + "description": "the SKILL.md to read", + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "name", + "description", + "location", + "folder", + "changed" + ], + "type": "object" + }, + "type": "array" +}
- Removed
search_org_knowledge - Removed
share - Removed
share_org_folder - Added
sources_write - Removed
subscribe - Removed
truth - Removed
undo_delete - Removed
who_can_read - Removed
write_org_doc
Publisher details
- Operator
- agentleFS
- Operator website
- https://agentlefs.com
- Vendor relationship
- First-party
- Documentation
- https://agentlefs.com/docs/connect?ref=glama
- 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
Shared persistent memory for AI agents to read, verify, continue, and connect knowledge.
The second brain your AI agents share. It builds itself from your work and keeps itself current.
A second brain for your AI agent. Shared memory for your team's AI agents, plus public and private knowledge bases — works with ChatGPT, Claude, Cursor and any MCP client.
- BeepOAuthapp.getbeep
Shared memory for AIs. Share a project with anyone and their AI knows everything yours does.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceGives 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 npmMIT
- AlicenseNot gradedqualityAmaintenanceEnables 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 npmMIT
- AlicenseAqualityBmaintenanceShared memory layer for AI coding agents to store and recall learned information across sessions and tools.92MIT
- AlicenseNot gradedqualityAmaintenanceEnables 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 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.