Skip to main content
Glama

fow_validate_srs

Validate a local Markdown SRS structurally against a supported profile as a durable job; semantic checks run separately.

Instructions

Check a local Markdown software-requirements document structurally against a supported profile in a durable job. Semantic assignment validation is exposed separately by fow_semantic. Single operation; call directly without an operation argument. Prerequisites: Supply a readable local Markdown SRS and supported standard_profile. Effects: Schedules durable structural validation and reads the source. Semantic checks use fow_semantic; validation alone does not import or accept a baseline. Exact help (replace operation_name with the selected route): fow_capabilities({"view":"operation","operation_tool":"fow_validate_srs","operation_name":"call"}).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
actorYesIdentity of the human or agent recording this action; retain the original identity when replaying its request.
project_idYesCanonical lifecycle project ID. Select the existing project explicitly; development Markdown authorities are separate from runtime projects.
request_idNoCaller-owned retry identity. For receipted mutations replay the same actor and contents; changed contents can conflict. Inspect exact operation help for its receipt policy.
source_pathYesUTF-8 .md/.markdown SRS file on the Flower SERVER filesystem, not automatically the coding client's disk. The expanded/resolved path must stay within the configured import root when one is set; source/profile/currentness checks apply.
standard_profileYesSupported SRS Markdown validation profile; use the same profile when preparing, validating and importing a source.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changedv0.5.1
    • addedInput schema / properties / actor / description
      Added value: +"Identity of the human or agent recording this action; retain the original identity when replaying its request."
    • addedInput schema / properties / project_id / description
      Added value: +"Canonical lifecycle project ID. Select the existing project explicitly; development Markdown authorities are separate from runtime projects."
    • addedInput schema / properties / request_id / description
      Added value: +"Caller-owned retry identity. For receipted mutations replay the same actor and contents; changed contents can conflict. Inspect exact operation help for its receipt policy."
    • addedInput schema / properties / source_path / description
      Added value: +"UTF-8 .md/.markdown SRS file on the Flower SERVER filesystem, not automatically the coding client's disk. The expanded/resolved path must stay within the configured import root when one is set; source/profile/currentness checks apply."
    • addedInput schema / properties / standard_profile / description
      Added value: +"Supported SRS Markdown validation profile; use the same profile when preparing, validating and importing a source."
  2. First observedv0.1.0

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already establish the profile (not read-only, not destructive, not idempotent, open world), so the bar is lower. The description still adds real context: a durable job is scheduled, the source is read, and no baseline import/acceptance occurs. It does not spell out receipt/retry policy, deferring that to the operation help, which keeps it at a 4 rather than 5.

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?

Front-loaded with the core action in the first clause, then organized under compact labeled lines (Prerequisites, Effects) with no filler. The help-pointer line is a deliberate routing aid rather than padding.

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?

With an output schema present, return values need no explanation, and the description covers scope, prerequisites, and non-effects for a mutation-class tool. It stops short of saying how the resulting durable job is polled (fow_get_job), leaving a small gap an agent must infer from siblings.

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 all five parameters are already documented in the schema, including the server-side source_path constraint and the actor identity. The description only restates 'readable local Markdown SRS and supported standard_profile' and the profile-consistency advice, adding little beyond the schema — the 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 and resource — structural validation of a local Markdown SRS against a supported profile — and explicitly bounds the scope by naming the sibling that handles the other half ('Semantic assignment validation is exposed separately by fow_semantic'). An agent can distinguish this from fow_import_srs and fow_semantic without opening any schema.

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?

Gives prerequisites (readable local Markdown SRS plus supported standard_profile), an explicit when-not (semantic checks belong to fow_semantic; this does not import or accept a baseline), and disambiguates invocation ('Single operation; call directly without an operation argument'). It also routes to fow_capabilities for exact help.

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