Skip to main content
Glama

atisbo_decide

Destructive

PM decision facade. CURATE: evidence review/grouping, deal-breakers. EXECUTE: create, update, dispatch or delete Solutions, record Outcomes. DOCUMENT/GOVERN: living docs, coverage, schedules, knowledge, strategy. log_decision is only for external decisions; mutations log themselves. Writes require UUIDs. mode=declare_pm_exception marks a CLAIM as needing a human decision (SEN-180).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idNoEntity UUID — delete_knowledge: doc id from atisbo_lookup knowledge.
modeYesResolve names to UUIDs before mutating; mode-specific notes return in meta.guidance.
noteNoRationale or audit note.
specNoStructured spec for apply_solution_spec.
briefNodispatch_solution: context/brief handed to the agent.
forceNoTrue confirms a reassignment that would soft-delete the emptied source claim; without it the call fails CONFIRMATION_REQUIRED.
titleNoTitle; the new title when renaming.
effortNoSize estimate in person-weeks (0.5-52). Sizing only — it does not affect Backlog order.
matrixNovalidate_delivery: one entry per success criterion (see implementation_context). ≤20 entries.
pr_urlNoGitHub PR URL.
statusNoset_claim/snippet_status: target classification.
claimIdNoAlias for claim_id.
commentNoupdate_solution: report posted to the thread as the agent, visible to teammates.
missionNoupdate_strategy: informational note only — not scored or used in prompts.
node_idNoOptional map node to attach a new solution to.
outcomeNorecord_outcome: impact of this launch. Does not reopen the Solution.
roadmapNoupdate_strategy: informational note only — not scored or used in prompts.
verdictNomode=triage: BOTH values close the claim — see guidance.
claim_idNoClaim UUID — resolve names with atisbo_lookup mode=resolve first
decisionNoDecision value/verdict for log_decision.
strategyNoupdate_strategy: the only functional field — drives alignment scoring/prompts.
unassignNoupdate_solution: clear the item's owner.
claim_idsNo
kpi_afterNo
lifecycleNoSolution stage: IDEA, DESIGNING, IN_DEVELOPMENT, or LAUNCHED.
target_idNoGeneric target UUID for decision logging.
agent_nameNoSigns comments, assignments and logged decisions; without it they credit the key owner. Default "Agent".
kpi_beforeNo
risk_notesNocheck_coverage: acknowledge unresolved contradictions by id. 50 notes ×1000 chars.
snippet_idNoSnippet UUID for reassignment or claim creation.
solutionIdNoAlias for solution_id
updated_atNoOptimistic lock from your last read; concurrent edits fail with STALE_DATA.
descriptionNoSolution description. ≤2000 chars.
document_idNoupdate_artefact_schedule: living doc UUID.
instructionNocreate_living_doc/create_solution_doc: preferred structure.
observed_atNorecord_outcome: when the evidence was observed.
review_kindNomark_reviewed: which review kind to checkpoint.
rice_effortNoAlias for effort (legacy column name).
snooze_daysNoPause on Board for N days.
solution_idNoSolution UUID — resolve names with atisbo_lookup mode=resolve first
target_typeNoTarget entity type for log_decision.
alternativesNo
out_of_scopeNocheck_coverage: ids intentionally NOT addressed. 100 ids ×128 chars.
product_nameNo
snooze_clearNoWake a snoozed solution now.
clear_discardNoupdate_solution: lift the discard mark; lifecycle unchanged.
covered_ideasNocheck_coverage: idea ids from the coverage map. 100 ids ×128 chars.
decision_typeNoCanonical decision type for log_decision.
evidence_refsNorecord_outcome: durable post-launch evidence references. Required downstream.
main_featuresNo
outcome_notesNorecord_outcome: alias for `note`.
assign_node_idNoupdate_solution: assign to a taxonomy node; surfaces under claims anchored there.
covered_claimsNocheck_coverage: claim ids this work implements. 50 ids ×128 chars.
design_contextNoDesign reasoning seeding the living document.
discard_reasonNoupdate_solution: marks this CANCELED solution a discarded divergence loser (ADR-224). Requires lifecycle CANCELED here or earlier.
force_reassignNodispatch_solution: take over a Solution another agent holds in progress; recorded on the audit trail. Omitting it refuses a contested dispatch naming the holder.
metric_currentNorecord_outcome with an automated verification method: fresh reading of the bound metric, as a number.
priority_boostNoupdate_solution: PM multiplier (0.5-5.0, default 1.0); the lever that moves Backlog order.
assign_to_agentNoupdate_solution: take ownership as this agent; overrides an existing assignee.
effort_estimateNoInitial effort estimate in person-weeks.
is_deal_breakerNoflag_deal_breaker: true = flag claim, false = unflag.
target_claim_idNoDestination claim for snippet reassignment.
attach_claim_idsNoupdate_solution: attach more claims covered.
detach_claim_idsNoupdate_solution: remove non-primary claim attachments
refresh_scheduleNoupdate_artefact_schedule: cadence
criteria_left_outNoupdate_solution: criteria this launch leaves OUT (ADR-234). Only with lifecycle=LAUNCHED.
expected_behaviorNocheck_coverage: observable behavior delivered. 50 strings ×500 chars.
chosen_solution_idNoupdate_solution: the sibling that won, when discard_reason names it.
clear_pm_exceptionNoupdate_solution / declare_pm_exception: lift the PM exception.
outcome_confidenceNorecord_outcome: confidence in the classification.
pm_exception_reasonNoupdate_solution / declare_pm_exception: needs a PERSON decision (ADR-222, SEN-180 for claims); not ops — see operational_block_reason.
verification_methodNorecord_outcome: how the external agent verified the observed result. Required downstream.
contradictions_foundNorecord_outcome with an automated verification method: attest you swept the covered claims for contradictory evidence.
outcome_classificationNorecord_outcome: alias for `outcome`.
clear_operational_blockNoupdate_solution: lift it.
criteria_left_out_reasonNoupdate_solution: why each is out. Required with criteria_left_out.
operational_block_reasonNoupdate_solution: OPERATIONAL blocker; pair with operational_block_category. Not a decision.
operational_block_categoryNo

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already carry destructiveHint=true and readOnlyHint=false, lowering the bar. The description adds useful behavioral context beyond annotations: mutations are self-logged, writes need UUIDs, and declare_pm_exception signals a human-decision requirement. It does not disclose confirmation flows, return behavior, or which specific modes are destructive, but the annotation covers the destructive profile adequately.

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

Conciseness4/5

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

The description is compact and scannable, using CURATE/EXECUTE/DOCUMENT/GOVERN to compress a large surface area into a few sentences. It front-loads the tool's identity and every sentence carries some operational guidance. Minor jargon like 'facade' and the all-caps category labels are slightly cryptic, but the density is appropriate for the tool's breadth.

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

Completeness3/5

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

Given 78 parameters, 28 modes, no output schema, and destructive behavior, the description is a minimum-viable orientation rather than a complete invocation guide. It supplies the critical guards (external-only log_decision, UUIDs) and broad mode families, but relies heavily on the schema for mode-specific semantics and does not mention return shapes or confirmation requirements.

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

Parameters3/5

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

Schema description coverage is 91%, so the schema already documents most parameters and baseline is 3. The description itself adds little parameter-level meaning beyond the UUID requirement and a hint about declare_pm_exception. Mode-specific parameter relationships are left to the schema's per-parameter descriptions, which is acceptable given the high coverage.

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

Purpose4/5

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

The description identifies a 'PM decision facade' and enumerates concrete action families with verbs and resources: curate evidence/deal-breakers, execute create/update/dispatch/delete Solutions, record Outcomes, and govern living docs/coverage/schedules/knowledge/strategy. It does not name one single operation, but for a 28-mode tool the mode enum supplies the granularity. The write-focused framing also helps separate it from read/analysis sibling tools.

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

Usage Guidelines4/5

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

It explicitly delimits log_decision to external decisions ('mutations log themselves') and states a hard prerequisite for writes ('require UUIDs'). It also clarifies one mode's special meaning (declare_pm_exception on claims). It does not provide routing guidance for all 28 modes or name sibling alternatives explicitly, so it stops short of a 5.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4/5.0
Disambiguation5/5

Each tool occupies a distinct functional domain: analysis, capture, connections, decisions, lookup, mapping, orientation, and support. Overlapping cases are explicitly disambiguated in descriptions, such as analyze-for-aggregates vs lookup-for-single-entities and the two non-interchangeable claim-to-node modes in map.

Naming Consistency5/5

All tools follow the same atisbo_<verb> pattern with lowercase snake_case and no mixed conventions. The prefix makes the server identity clear, and every tool name is a concise, predictable verb-like facade.

Tool Count5/5

Eight tools is a well-scoped count for a broad product surface: each tool is a compact facade grouping related modes rather than a scattered collection of one-off operations. There are no trivial or redundant tools.

Completeness5/5

The set covers the core workflow end to end: connect sources, capture signals, look up and analyze entities, map claims, make decisions, orient the workspace, and diagnose failures. Cross-references between tools fill in supporting steps like opening snippet refs and patching living docs, leaving no obvious dead ends.

Resources