Skip to main content
Glama

design_session_log

Append design-session events such as stage results, artifacts, blockers, and notes to a journal, then return updated state to track progress and gate decisions.

Instructions

Append one event to a design-session journal.

event is one of: stage_enter (needs stage), stage_result (stage + status = ok|blocked|failed), plan_revision (revision), artifact (path, kind), blocked (question), resolved (text = answer), note (text). Returns the updated derived state.

data (a dict, or JSON text) goes with a stage_result or a note. On a stage_result it is the evidence for the exit gate: for placement, routing, pours_tuning and verification, pass the pcb_layout_audit result (and the pcb_calc_length_match or proj_run_erc reply under its own tool name) and the reply carries gate, the verdict on those numbers. A stage logged ok whose numbers fail its gate is sent back by design_next_action. topic files a note under a section of design_session_report: placement, stackup, critical_routes, power, planes (fan-out and via-in-pad too), silkscreen, verification, simulation, issue, or decision.

Input Schema

NameRequiredDescriptionDefault
dataNo
kindNo
pathNo
textNo
eventYes
stageNo
topicNo
statusNo
questionNo
revisionNo
session_idNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.6.1

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the burden and does reasonable work: it discloses that this appends exactly one event, that it returns derived state, and — critically — that a stage_result marked ok with failing gate numbers will be rejected and sent back by design_next_action. That is a non-obvious behavioral consequence an agent could not infer from the schema. It omits error/failure modes and whether session_id is required vs implied.

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

Conciseness4/5

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

Front-loaded with the core purpose in one sentence, then structured as event list, then data/gate semantics, then topic routing. Dense but every block earns its place. Slightly verbose in the gate paragraph, where the parenthetical about pcb_calc_length_match/proj_run_erc is hard to parse on first read.

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

Completeness4/5

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

An output schema exists, so return values need not be explained, and the description correctly limits itself to 'returns the updated derived state'. For an 11-parameter, 0%-documented schema this is close to adequate, with the remaining gaps being session_id semantics and the absence of an allowed-value list for `stage` — the one input the agent must supply correctly on almost every call.

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 0%, so the description must compensate, and it does for most of the 11 params: it maps stage, status (ok|blocked|failed), revision, path, kind, question, text, data (dict or JSON text), and topic (with an enumerated section list) to the events that require them. Missing meaning for session_id and no valid-value guidance for `stage` or `kind`, which leaves genuine guessing room.

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 and resource ('Append one event to a design-session journal') and then enumerates the exact event vocabulary (stage_enter, stage_result, plan_revision, artifact, blocked, resolved, note), which distinguishes it from every sibling journaling/status tool. An agent can tell immediately what this writes and to what.

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?

Usage is conveyed indirectly through the event taxonomy: each event name carries its own trigger (use stage_result to log a gate outcome, blocked to raise a question, resolved to answer one). It also cross-references design_next_action and design_session_report, showing downstream consumers. It never explicitly states preconditions (e.g. that a session must be started) or contrasts against design_live_note, 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.

Deploy Server

Other Tools