Skip to main content
Glama

journal.distill

Convert raw journal events into organized markdown entries by topic, advancing the high-water mark. Automatically creates a project row for unregistered slugs, ensuring every event is captured without duplication.

Instructions

Run the distillation pipeline: read raw events since the high-water mark, group by topic, write mechanical markdown entries, advance high-water. Idempotent. Auto-provisions a project row for orphan slugs (e.g. default) that have no registered project yet.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
max_eventsNoMaximum raw events to process per run (default 200, max 2000).
project_slugNoProject slug to distill. Defaults to the current active project.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv4.7.2

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description bears the full burden of behavioral disclosure. It reveals important side effects: advancing high-water mark, writing markdown entries, and auto-provisioning project rows for orphan slugs, plus the crucial 'Idempotent' guarantee. It does not cover failure modes or effects on existing entries, but is notably transparent for 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.

Conciseness5/5

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

Three sentences with zero filler: the first lists pipeline steps in a compact colon-delimited series, the second is a one-word idempotency note, and the third explains the auto-provisioning edge case. The action is front-loaded and every sentence earns its place.

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?

For a tool with 2 optional parameters, no output schema, and no annotations, this description is quite complete: it conveys the pipeline flow, state advancement, idempotency, and an edge-case side effect. It does not describe the return value or error conditions, but it is sufficient for an agent to invoke the tool correctly.

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

Parameters3/5

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

Schema coverage is 100%: both parameters have meaningful descriptions, including max_events' default/max/exclusiveMinimum and project_slug's default to current active project. The description adds no parameter-specific meaning beyond the schema, so the baseline of 3 applies.

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

Purpose5/5

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

The description opens with a specific verb and resource ('Run the distillation pipeline') and enumerates the exact operations: read events since high-water mark, group by topic, write mechanical markdown entries, advance high-water. This distinguishes it clearly from sibling journal tools like append, note, or status.

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

Usage Guidelines3/5

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

Usage is implied rather than explicit: the description explains what the pipeline does and mentions idempotency and auto-provisioning, but it never states when to use this tool versus sibling journal tools or under what conditions one would run it. No alternatives or exclusions are given.

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