Skip to main content
Glama

record_owner_decision

Destructive

Record a workspace owner's directive as a canonical decision, broadcast it to specified agents, and optionally attach it to a task to release a live human gate.

Instructions

Record a directive from the workspace owner as a canonical decision in project_knowledge. Broadcasts to specified agents via propagate_to tags. privacy:private records are stored but EXCLUDED from get_canonical_updates. Auto-flags private if text contains secrets. If task_id is given, also records this as a human_gate decision on that task (docs/human-gate-decision-recorded.md in evc-mesh) — releases the gate as a consequence if it's currently live, and links back via canonical_key. Best-effort: a failure here is reported in the result but does not undo the canonical write.

Input Schema

NameRequiredDescriptionDefault
textYesFull text of the decision/directive.
scopeNoOptional project_id UUID. Omit for workspace-level decisions.
privacyNo'public' (default, visible in change-feed) or 'private' (recorded but hidden).public
summaryYesOne-line summary used as UPSERT key (dedupes same decision on same day).
task_idNoOptional task UUID this decision answers. When set, also records a human_gate decision on that task (provenance=attested, channel=telegram, quote=text) — releasing a live human_gate as a consequence. Omit for a plain canonical-only record (unchanged behavior).
propagate_toNoAgent slugs to propagate to, e.g. ['alice','bob']. Use ['all'] for workspace-wide broadcast.
question_refNoOptional comment UUID of the Blocking marker this decision answers (only with task_id). Omit when the task has exactly one live marker — the server binds it. Required when several markers are live; the error lists their ids.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.1

TDQS

A4.6/5.0
Behavior5/5

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

Annotations mark this destructive and non-idempotent, but the description goes well beyond them: private entries are stored yet EXCLUDED from get_canonical_updates, secrets auto-force private, a live human_gate is released as a side effect, and a partial failure is best-effort without undoing the canonical write. That is exactly the side-effect disclosure a destructive tool needs.

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

Conciseness4/5

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

Dense and front-loaded — the core write is stated first, then side effects, then the failure caveat. Slightly load-bearing with many clauses, but nearly every sentence carries a distinct behavioral fact.

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

Completeness5/5

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

No output schema exists, yet the description covers the return-relevant behavior (failures are reported in the result but do not roll back), plus side effects, dedupe key, and privacy semantics. Nothing an agent needs to call this destructive multi-effect tool safely appears to be missing.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds real semantics on top: it frames propagate_to as tags, explains privacy's exclusion behavior, and describes task_id's dual-record consequence and question_ref's binding rules. Only question_ref is left essentially to the schema.

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

Purpose5/5

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

States a specific verb+resource pair ("Record a directive ... as a canonical decision in project_knowledge") and immediately enumerates its effects (broadcast via propagate_to, optional human_gate record). An agent can distinguish this from set_project_knowledge or remember without opening any schema.

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

Usage Guidelines4/5

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

Gives clear conditions for use: owner directives, and the conditional branch for task_id ("If task_id is given, also records this as a human_gate decision"). It does not explicitly name a competing sibling or state when NOT to record a canonical decision, so it stops short of full routing guidance.

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