Skip to main content
Glama
BorgDiven

research-workflow-studio

by BorgDiven

rws_artifact_register

Idempotent

Register an immutable research output with its producer and configuration, or record unresolved legacy provenance using source evidence and a description instead of inventing a producer run.

Instructions

Register an immutable output with its actual producer and configuration. For a legacy output with unresolved provenance, explicitly set provenance=unresolved with source evidence and a description; never invent a producer run. Does not read arbitrary files.

Input Schema

NameRequiredDescriptionDefault
recordYes
projectIdYes
requestIdYes
expectedRevisionYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.3

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already declare non-read-only, idempotent, non-destructive. The description adds materially beyond them: the record is immutable, provenance must be truthful, and the tool will not fetch arbitrary files. It does not mention the revision/concurrency semantics, which is the main remaining gap.

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?

Three tight sentences with the core action front-loaded and the legacy-provenance caveat immediately after. No filler, though the 'does not read arbitrary files' clause is slightly orphaned without elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with a deeply nested record schema and no output schema, the description covers the trickiest conceptual rule (provenance=known vs unresolved) but omits the optimistic-concurrency contract implied by expectedRevision and the span of supported content kinds.

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

Parameters2/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, but it only illuminates the provenance/source/description portion of the record. The required requestId, projectId, and expectedRevision parameters and the many content kinds are left entirely to the schema.

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

Purpose4/5

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

States a specific verb and resource: register an immutable output tied to its producer and configuration. This distinguishes it from sibling register tools like rws_run_register and rws_dataset_register by emphasizing the immutable-output record. It doesn't explicitly name those siblings as alternatives, keeping it short of a 5.

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?

Gives a clear conditional rule for the legacy case (provenance=unresolved with source evidence and description instead of inventing a producer run), and a when-not ('does not read arbitrary files'). However it never routes the agent to a specific alternative when this tool isn't appropriate, so usage is implied rather than enumerated.

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