Skip to main content
Glama

Lifecycle Transition

lifecycle_transition
Destructive

Advance an item through the lifecycle states in_work, in_review, released, or obsolete while enforcing allowed transitions. Illegal moves are rejected, and successful transitions return the new state and revision.

Instructions

Move an item through the lifecycle state machine in_work -> in_review -> released -> obsolete, guarded by a transition table (#141 C2). An illegal edge (e.g. skipping review, or re-opening a released item in place) is rejected loudly; releasing stamps the item's first revision and freezes it.

registry: path to the items.json sidecar (written back on success). item: the item id to transition. to: the target lifecycle state. actor / note: optional provenance recorded in the item's transition log.

Returns {ok, state, rev}, or {ok:false, problems} on an illegal transition.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
toYes
itemYes
noteNo
actorNo
registryYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the destructiveHint annotation, the description reveals key side effects: the registry is written back on success, releasing stamps the first revision and freezes the item, and illegal transitions fail loudly. It also discloses the return contract, including the error shape, which is substantial behavioral detail.

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 well-structured with purpose first, then parameter semantics, then return behavior. It is slightly dense and includes an internal reference (#141 C2) that adds no agent value, but nearly every sentence earns its place.

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?

For a mutating lifecycle tool with no output schema and no parameter enums, the description is complete: it explains legal transitions, illegal edge cases, side effects, parameter meanings, and return shapes. An agent has enough to call this correctly without needing external context.

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

Parameters5/5

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

Schema description coverage is 0%, yet the description documents every parameter: registry is the items.json sidecar path, item is the item id, to is the target lifecycle state, and actor/note are optional provenance written to the transition log. This fully compensates for the empty schema descriptions.

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 action and resource: 'Move an item through the lifecycle state machine' and names the exact legal flow in_work -> in_review -> released -> obsolete. It also gives concrete examples of illegal transitions, which makes the tool's domain unmistakable and separates it from vague sibling names like lifecycle_apply_change.

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?

The description provides clear context for when to use this tool: whenever an item needs to advance through the lifecycle state machine. It also implies constraints by saying illegal edges are rejected, but it does not explicitly contrast with lifecycle_editable, lifecycle_classify_change, or lifecycle_apply_change, so exclusions are left mostly to inference.

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