Skip to main content
Glama

project_resolve_manifest

Resolves item references to file components and writes a merge-ready manifest, ensuring assembly merges remain valid when files are renamed or moved.

Instructions

Resolve a project's item-ref components to file components and write a merge- ready manifest (issue #143 / D1, the deferred #140 seam). Each component naming an item (items.json identity, not a bare path) is lowered to a {file} component with the CAD artifact resolved from the registry, so merge_assembly consumes the result unchanged — renaming/moving a file updates the item's files[] in one place without breaking any reference.

project: path to the project.json container. out: output manifest path (defaults to .resolved.json next to it).

Returns {path, lowered} — the written path and the lowered manifest object; a dangling item-ref fails loudly.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
outNo
projectYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral burden and does well: it states that a manifest file is written, gives the default output location, describes the return shape as {path, lowered}, and warns that a dangling item-ref fails loudly. It still does not cover edge cases like overwrite behavior or permissions, so it is not fully exhaustive.

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 definition is front-loaded with purpose, then parameters, then return behavior. It is reasonably concise, though the issue references ('issue #143 / D1, the deferred #140 seam') are internal context that does not help an agent invoke the tool.

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 two-parameter transformation tool with no annotations and no output schema, the description covers the key operational details: inputs, default output path, return shape, and failure mode. It is largely complete, though additional notes about side effects or overwrite semantics would improve it.

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 description coverage is 0%, so the description must compensate. It documents both parameters: project is the path to the project.json container, and out is the output manifest path with a default of <manifest>.resolved.json next to it. This adds clear meaning beyond the bare schema types.

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 first sentence names a specific verb and resource: resolve a project's item-ref components to file components and write a merge-ready manifest. It also differentiates the result from downstream behavior by saying merge_assembly consumes it unchanged, which helps distinguish it from related tools like validate_manifest, project_validate, and merge_assembly.

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?

The description implies usage when components name an item and need to be lowered for merge, and it mentions the downstream consumer merge_assembly. However, it does not explicitly state when this tool should be used instead of alternatives such as items_resolve, project_check_references, or validate_manifest.

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