Skip to main content
Glama

Stage/apply AI candidate links

orangepro_ai_links

Proposes weak MAY_RELATE_TO links between deterministic behaviors and CodeSymbol nodes, stages them in .orangepro/ai/links.json, and applies survivors to candidate_edges without affecting proven coverage.

Instructions

Opt-in AI lane: propose weak MAY_RELATE_TO candidate links between existing deterministic behavior and CodeSymbol nodes. Generate writes .orangepro/ai/links.json only; apply=true explicitly merges survivors into candidate_edges. These links never affect proven coverage.

Input Schema

NameRequiredDescriptionDefault
allNoLink across all behavior nodes instead of the default gaps-only scope.
applyNoApply staged links into candidate_edges. Default false stages links only.
modelNoModel name override.
providerNoBYOK provider override.
workspaceNoLocal workspace root. Defaults to the current directory.
max_behaviorsNoMaximum behavior targets to process in this AI linking run.
max_prompt_tokensNoApproximate per-batch prompt token ceiling.
symbols_per_behaviorNoDeterministic CodeSymbol shortlist size per behavior.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • removedInput schema / additionalProperties
      Removed value: -false
    • addedInput schema / properties / max_behaviors / maximum
      Added value: +9007199254740991
    • addedInput schema / properties / max_prompt_tokens / maximum
      Added value: +9007199254740991
    • addedInput schema / properties / symbols_per_behavior / maximum
      Added value: +9007199254740991
  2. Addedv0.2.59

TDQS

A4.4/5.0
Behavior4/5

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

Annotations only say readOnlyHint=false, destructiveHint=false, openWorldHint=true; the description adds materially by naming the exact write target (.orangepro/ai/links.json) and the downstream mutation of candidate_edges under apply=true. It also reassures that links 'never affect proven coverage', which clarifies blast radius. It omits cost/credential implications of the model call (BYOK) and whether staging is idempotent or overwrites prior staged files.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences with no redundancy: opt-in framing first, the default behavior second, the escape hatch (apply=true) third, then the safety caveat. Every clause carries distinct information.

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, no-output-schema tool, the description covers the critical ambiguity (staging vs. applying) and the boundary condition (does not touch proven coverage). It leaves the effect on previously staged links and the shape of any run summary unstated, a minor gap given the rich schema.

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 coverage is 100%, so the baseline is 3, but the description goes further than the schema by explaining the default-vs-apply contract ('Generate writes ... only; apply=true explicitly merges survivors'), which is procedural meaning the field description alone does not convey. It says nothing about 'all', model, provider, or the token/behavior caps, leaving those to the schema.

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 names a specific verb and resource ('propose weak MAY_RELATE_TO candidate links between existing deterministic behavior and CodeSymbol nodes') and frames the tool as an 'opt-in AI lane', which separates it from the deterministic prove/coverage siblings. An agent can tell what this produces and what it deliberately is not.

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?

It lays out the operational flow clearly: generate stages to .orangepro/ai/links.json, and apply=true merges survivors. The 'opt-in' framing signals this is not part of the default path, but it does not name a sibling alternative or state when to skip this lane entirely.

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