Skip to main content
Glama

myco_molt

Atomically update contract version, changelog section, and wave counter for release.

Instructions

Ship a contract-version bump: update _canon.yaml's contract_version and synced_contract_version fields to the new value, append a stub section to docs/contract_changelog.md with placeholders, and advance waves.current counter. The atomic molt keeps all three version knobs in lockstep and produces a reviewable one-commit diff.

Use this AT RELEASE TIME, not during development. Pair with .scripts/bump_version.py which orchestrates molt alongside the package-version bump in init.py, plugin.json, and CITATION.cff. Do NOT call this mid-session for ad-hoc experiments — the contract_changelog is append-only and reverting a molt requires an explicit down-bump.

Side effects: writes _canon.yaml + docs/contract_changelog.md. R6 write_surface must cover both. Dry-run prints the diff that would be applied. Skip-molt option in bump_version.py exists for cases where the version parity step is separate from the canon stamp.

Returns: { exit_code, new_version, synced_touched, waves_touched, canon_path, changelog_path, canon_preview_head }.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
contractYesNew contract version string, in the form 'v<semver>' (e.g. 'v0.5.23'). Must be strictly greater than the current canon's contract_version per semver comparison. Down-bumps are refused unless --allow-downgrade is passed at the bump_version.py layer (molt itself has no such flag).
dry_runNoWhen true, compute the exact canon patch + changelog section that would be applied and return them in the response, without writing. Use to preview before committing the atomic version bump. Default false (writes + returns the same preview so the agent can diff against its pre-bump state).
dateNoOverride the date stamp in the contract_changelog.md section header (YYYY-MM-DD format). When null, uses today (UTC). Useful for back-dating a release whose molt was delayed, or for reproducing historical molts exactly.
project_dirNoAbsolute path of the workspace / project whose Myco substrate this call targets. Overrides auto-discovery. When omitted, Myco resolves via MCP roots/list, then MYCO_PROJECT_DIR, then cwd — the substrate_pulse field in every response echoes which source answered.
Behavior5/5

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

No annotations are provided, so the description carries the full burden. It discloses side effects (writes to _canon.yaml and changelog), dry-run behavior ('prints the diff'), and version refusal ('down-bumps are refused unless --allow-downgrade is passed at the bump_version.py layer'). It also describes the return object fields, compensating for the lack of an output schema.

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 four distinct paragraphs covering purpose, usage, side effects, and return values. It is front-loaded with the main action. While it is somewhat lengthy, every sentence adds value, so it earns a 4 for being appropriately sized and organized.

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?

Given the tool's moderate complexity (multiple file writes, version constraints) and the absence of an output schema, the description provides sufficient context: it explains the atomic operation, dry-run preview, return fields, and error conditions (down-bump refusal). It is complete enough for an agent to execute 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% with detailed parameter descriptions. The tool description adds no new per-parameter detail beyond what the schema already provides (e.g., contract format, dry_run default). Thus, the description provides marginal added value for parameter semantics, earning the baseline score of 3.

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 clearly states the tool's core function: 'Ship a contract-version bump' by updating specific fields in _canon.yaml and docs/contract_changelog.md, and advancing a counter. It specifies the verb ('ship'), resource ('contract version'), and distinguishes itself from sibling tools (e.g., myco_assimilate, myco_brief) through unique release-time version management.

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

Usage Guidelines5/5

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

The description provides explicit when-to-use guidance: 'AT RELEASE TIME, not during development.' It also specifies when not to use ('Do NOT call this mid-session') and mentions an orchestrating companion (bump_version.py) and an alternative (skip-molt option). This clearly helps an agent choose this tool over alternatives.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Battam1111/Myco'

If you have feedback or need assistance with the MCP directory API, please join our Discord server