Skip to main content
Glama

Import missing compiled waveform ports

scf_ports_import
Destructive

Append selected top-level I/O nodes from a verified .edo to an existing SCF, preserving waveforms and rejecting role mismatches or unsafe opaque references.

Instructions

Append selected top-level input/output nodes from a fresh hashed .edo to an existing hashed SCF. Retains existing waveforms; inputs begin0, outputsX until simulated. Refuses role mismatches/unsafe opaque references. Both files must be inside the same scope.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pathYesFile path within the scope.
confirmNoApply when true; default preview with no write.
projectNoExisting ACF whose directory scopes the files.
signalsNoExplicit existing scalar names in MSB-first order where used as counter bits.
edifPathYesExported .edo in the same scope.
workspaceNoWorkspace when no project is supplied.
edifSha256YesCurrent full SHA-256 from fresh file inspection.
expectedSha256YesCurrent full SHA-256 from fresh file inspection.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.10.3

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, non-idempotent, non-read-only, so the safety profile is covered. The description adds real behavioral context: existing waveforms are retained, inputs start at 0 and outputs at X until simulated, and it refuses role mismatches/unsafe opaque references. The 'retains existing waveforms' claim sits a little oddly beside destructiveHint=true, but appending still mutates the file, so this is nuance rather than contradiction.

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?

Four tight sentences, front-loaded with the verb and resource before constraints. Every sentence carries information, though the telegraphic notation ('begin0', 'outputsX') assumes domain familiarity without clarifying it.

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 an 8-parameter mutating tool with no output schema, the description covers the operation, preconditions, post-state, and refusal cases. It omits only finer details like partial-failure behavior, which is a minor gap against otherwise strong coverage.

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 description coverage is 100%, so the schema already documents all eight parameters including the confirm preview default and the MSB-first signals ordering. The description ties parameters to concepts ('fresh hashed .edo', 'existing hashed SCF', 'same scope') but adds no syntax or format detail beyond the schema, so baseline 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?

States a specific verb+resource+scope: append selected top-level input/output nodes from a fresh .edo into an existing SCF. It clearly distinguishes itself from siblings like scf_from_compiled_create (create) and scf_compiled_ports (inspect) by describing an incremental append into an existing file.

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?

It gives preconditions ('Both files must be inside the same scope') and refusal conditions, which implies the usage context, but it never names an alternative tool or states when to prefer this over scf_create/scf_from_compiled_create. Usage is implied rather than explicit.

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