Skip to main content
Glama

Flower MCP

Persistent software lifecycle management for coding agents.

Flower connects requirements, milestones and implementation plans to evidence, verification, acceptance and handover. It stores project state in a SQLite ledger and exposes it through the Model Context Protocol (MCP), while your coding agent investigates repositories, writes code and runs checks.

Published release: 0.6.3 · In testing · Python: 3.11+ · Apache-2.0

Quick start · English walkthrough · Presentazione italiana · Development method

Flower 0.6.3

The 0.6.3 notes describe a focused HTTP shutdown correction. After SIGTERM, Flower reaches its existing runtime cleanup, waits for owned workers, releases ownership and closes logging. Repeated termination signals do not interrupt that cleanup; genuine shutdown failures remain failures. Stdio behavior, the 37 tools, 445 input fields, 182 operation routes, dependencies and SQLite schema 55 are unchanged. No provider, model or witness feature is added.

Flower 0.6.3 is published. The commands below select its official assets. Use the same-profile upgrade, preserving SQLite, configuration, receipts, evidence and handovers.

Related MCP server: project-memory-mcp

Flower 0.6.2

The 0.6.2 notes and readable lifecycle guide describe the presentation correction. Lifecycle records, guided roadmaps and generated references now render as complete Markdown sections and lists, preserving multiline paragraphs and ordered steps. The complete roadmap appears once alongside its summary and gates; machine consumers retain the structured application envelope. Requirements, prerequisites, producer contracts and verification obligations remain explicit. Formatting does not resolve gaps, change authority or grant acceptance.

Flower 0.6.2 remains a preserved historical release. Current commands select 0.6.3. Use the SQLite-preserving upgrade with the original environment and profile. Schema 55, configuration, historical artifacts, receipts, evidence and handovers stay in place. The core remains model-free, with 37 tools, 445 input fields and 182 operation routes.

Flower 0.6.1

The 0.6.1 notes and lens catalog guide describe the new read-only fow_interaction(operation="catalog") route. Hosts can present relevant direct verbs from complete core/primary/companion membership. Flower keeps 37 tools and 445 input fields; selection and execution gates remain explicit.

Flower 0.6.1 remains a preserved historical release. Its catalog and verified assets remain available; current operational commands below select 0.6.3. Source builds and installer-owned release artifacts remain distinct. Use the same-profile upgrade, preserving SQLite schema 55, configuration, receipts, evidence and handovers.

Flower 0.6.0 history

Flower 0.6.0 is published. The release notes describe the compatibility change. Its immutable assets and compatibility history remain available.

  • Milestones separate work realized now from requirements owned by earlier milestones. prerequisite_requirement_ids replaces dependency_closure_ids; use [] when there are no prerequisites, and refresh the host's tool schema.

  • Certified pre-write milestone rejections carry a correlated no-effect receipt. Uncertain outcomes require durable inspection before retrying.

  • Native hosts can explicitly prepare, inspect, delete and reconcile project data with flower-mcp project-purge. This is not an MCP tool. Follow the native deletion guide; Windows native purge durability remains unqualified.

Schema 55 and original lifecycle history stay in place. Follow the 0.6.0 upgrade guidance with the same SQLite profile; project deletion is never an upgrade step. Core remains model-free.

Why Flower exists

An agent can finish a patch while the requested behavior remains unverified. A later session needs to know which decisions still apply, which results are current and what remains open before delivery.

Flower checks declared plan dependencies and verification obligations, applies lifecycle gates, and preserves result provenance and revisions. A handover recovers current work and the next gate. Exported Markdown plans support authorized offline work and reconciliation when Flower returns.

The model is not the system of record. Persistence supports the lifecycle; the purpose is to keep agreed intent, delegated work and evidence connected.

You can start with a scenario: what should the software do and show? Using Flower's bootstrap guidance, the agent investigates technical gaps and asks progressive questions about your intent. It records requirements and decisions in Flower and proposes a roadmap for your confirmation before implementation. You do not need to define the architecture up front.

Who does what?

Participant

Responsibility

Person / project authority

Clarifies intent, confirms scope and makes the acceptance and delivery decisions assigned to them.

Coding agent and its host

Investigates the repository, chooses the technical implementation, edits code, runs checks and reports outcomes.

Flower MCP

Maintains lifecycle records, applies its operation gates, tracks evidence provenance and returns durable state.

The core works without CodingCastle or an internal model. Optional providers can connect lifecycle records to technical evidence and execution; see integration boundaries and the advanced configuration guide.

Implemented ≠ verified ≠ accepted

State

What it means

Implemented

The material work is declared produced.

Verified

The required checks have passed for the declared scope and relevant current revision, with supporting evidence.

Accepted

The competent authority has made the required decision.

Local checks, deferred campaigns and acceptance stay distinct. Results from an older revision do not automatically satisfy current work. Plans, evidence and gates.

Example: two people book the same room

Illustrative scenario from the presentation, not an executed demo or benchmark.

The requirement: two concurrent requests for the same room and time slot must produce one confirmation and one explicit conflict. The agent records the requirement and scenario in Flower, plans bounded work with dependencies and checks, and reports results against the relevant revision. The implementation remains its job.

Two confirmations would be a defect; recurring bookings would be a new request. Flower preserves that distinction and the work still awaiting verification.

The walkthrough follows Require → Plan → Build → Verify → Deploy → Operate. These are lifecycle perspectives, not mandatory sequential commands or built-in deployment and monitoring. Follow the story in English or Italiano.

Quick start

Choose one installation route. Use a writable user directory and have a Codex, Claude Code, Cursor, Antigravity or Gemini CLI client installed. Downloads require Internet access and trusted HTTPS certificates. Check the prerequisites first.

For an existing installation, use the safe upgrade plan with its original environment and profile. The commands below require matching published release assets; changes on main do not publish a release. These download commands select published 0.6.3. Use the existing environment and profile when upgrading, so the SQLite ledger and client registration stay in place.

macOS / Linux

Requires Bash, curl, awk, sha256sum or shasum, and standard shell utilities. Review the release installer before execution:

curl -fsSL https://github.com/Damel91/flower-mcp/releases/download/v0.6.3/install.sh | bash

The installer prepares an isolated Python environment, obtaining Python if needed, checks backend and wheel checksums, and offers optional client registration.

Windows

Requires Windows PowerShell 5.1+. Download the launcher, inspect it, then run the second command only after the download succeeds:

Invoke-WebRequest -UseBasicParsing -Uri "https://github.com/Damel91/flower-mcp/releases/download/v0.6.3/install.ps1" -OutFile ".\install.ps1"
powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\install.ps1 -Platform codex

Use -Platform claude-code, -Platform cursor, -Platform antigravity, -Platform gemini-cli or -NoRegister as appropriate. The launcher reuses or prepares Python and installs the checked release wheel. The execution-policy option applies only to that process.

Manual alternatives: source or release wheel with checksum verification. Both require Python 3.11+ with SSL, venv and ensurepip; cloning also requires Git. The installation guide covers downloads, upgrades, profiles, removal and recovery.

Already using Flower? Follow the safe upgrade plan to retain the existing SQLite ledger, profile and client registration. Stop all clients sharing its environment, inspect --upgrade --dry-run, then run the same command without --dry-run. Do not reinstall into a different profile.

See Google client setup for Antigravity and Gemini CLI.

Optional internal inference

Flower 0.6.3 selects the independently published runtime-llama 0.5.0, pinned by URL and SHA256 through its optional inference extra. Historical Flower 0.6.1 and 0.6.0 selected the same SDK. Historical Flower 0.5.2 still selects runtime 0.4.1; its assets remain immutable. Existing optional installations can update only the SDK while retaining the installed Flower artifact, receipt and profile; reinstalling its old extra can select the old SDK again. Historical Flower v0.4.1 still requires runtime 0.4.0 and retains its eight assets. Core installers remain core-only. See inference setup and migration for current-source installation, verified offline downloads and the targeted SDK-only update. An operator-managed llama.cpp endpoint is required only for internal inference. Host-produced semantic results continue to work without a model. See advanced configuration for role selection, operator YAML, provider contracts, portable associations and explicit execution.

Glama and containers

The repository includes maintainer metadata and a core-only Dockerfile for Glama's build workflow. See the Glama and container guide for startup arguments, persistent SQLite storage and client setup. Glama account claim, hosted deployment and platform release are separate steps; the GitHub v0.6.0 release includes these container files.

Glama's tool-definition feedback helped identify the discovery gaps addressed in 0.5.1. The changes were verified against Flower's code and public operation contracts. Platform evaluation, hosted deployment and functional acceptance remain separate.

Connect an agent and start a project

  1. Reload the registered client and approve its MCP connection. The client starts Flower. If you installed without registration, configure the client first. Do not start another server process against the same ledger.

  2. Give your agent this request while working in the project you intend to develop. Replace "the installed Flower MCP command" with the executable path returned by the installer:

Run the installed Flower MCP command with bootstrap and follow its output to update this project's AGENTS.md, preserving its existing rules. Verify the MCP connection, discover the lifecycle projects and select the intended project explicitly. If the ledger is empty, I authorize creating a lifecycle project for this repository. Report an ambiguous project choice or a missing connection instead of guessing. Read the durable project snapshot and follow Flower's current recipes. Help me describe the first scenario, clarify its intent progressively and present a roadmap for my confirmation before coding.

The bootstrap command prints instructions; the agent merges them into AGENTS.md. Ensure your host loads those instructions through its supported mechanism. Project selection and state recovery use Flower's public tools; the agent follows their current recipes.

For a manual source installation, the bootstrap command is .venv/bin/flower-mcp bootstrap on macOS/Linux or & .\.venv\Scripts\flower-mcp.exe bootstrap in PowerShell, from the Flower checkout. From your application project, use the absolute path to that executable. A bare flower-mcp command works only when it is on PATH.

First-use check: the agent can see Flower's tools, select the intended project and retrieve its current snapshot and next gate. doctor checks configuration files; it does not prove the MCP connection. The bootstrap guide includes a ready-to-use agent request.

Already installed? Follow the SQLite-preserving upgrade plan. Stop clients sharing the Flower environment, preview with the new installer's --upgrade --dry-run (PowerShell -Upgrade -DryRun), then upgrade with the same environment/profile paths. Flower backs up SQLite and YAML before package changes. Updating an existing schema 55 installation to 0.6.3 keeps schema 55 unchanged; older 0.3.1/schema 52 installations use the existing additive migrations to 55. Resume the existing project and verify another restart.

Documentation

Topic

English

Italiano

Scenario-led walkthrough

Start here

Inizia qui

Concepts, packet validation and evidence

Concepts

Concetti

Public MCP tools

Tool map

Mappa dei tool

Optional providers and technical execution

Integrations

Integrazioni

Comparison with related projects

Comparison

Confronto

Sources, provenance and limits

Sources

Fonti

The presentation index also links the offline readers.

Advanced configuration explains internal LLM setup, supported host semantic roles and external technical providers. The 0.6.3 release notes and readable lifecycle guide describe current references. The 0.6.1 notes and lens catalog guide retain the catalog introduction. The 0.5.2 release notes record the published corrections. The 0.6.0 release notes and native project deletion guide describe the new contracts and their qualification boundaries.

Release 0.4.1 retains continuous work and recovery: frozen handovers, current authority, original evidence, offline outcomes and the installed HTTP probe. Historical 0.3.0 assets remain unchanged.

Release 0.4.1 retains project architecture and negotiated PVP handoff. Standalone external plans remain independent; real provider pairing requires compatible consumer support and separate qualification.

The 0.4.1 patch preserves every finding when an SRS import or revision is rejected, including repeated diagnostic codes. It adds no tool or database migration. Already using Flower? Follow the upgrade plan with the same environment and profile: preview, stop all clients, back up before pip, update and verify the existing project after restart. Do not reinstall into a new profile to recover project state.

Development method

Flower is a personal project by Davide Mele, developed outside his professional work. He designed the system, defined requirements and constraints, guided verification and made acceptance decisions; coding agents, primarily Codex, carried out repository investigation, technical planning, implementation, tests and document updates. The work first used a documentary framework; Flower moves part of that discipline into a persistent server. Read the method in English or Italiano.

A real project managed with Flower is llama-runtime. Its requirements, milestones, implementation packets, plan validation, verification evidence and handovers are maintained in Flower's persistent project ledger. Flower supports the library's development lifecycle; installing or using the library does not require Flower.

Status and operating limits

Flower 0.6.3 is published at commit e6e6649bf631ed986217bf758ff3d9d8d389937e (release 418513137). The Release workflow passed all eight jobs, including Python 3.11–3.14, Windows and the core container. Seven official assets were downloaded and checked against SHA256SUMS. The wheel SHA256 is dc1716e87c10f5417693edd7ed6656b49da95c7c9e72c27e7a3c9b952f613f20. SQLite stays at schema 55; use the existing backup-preserving upgrade procedure. Client startup and human acceptance remain separate. The writer witness stays deferred.

Historical release checkpoints follow.

Flower 0.6.2 is published and remains in testing. Tag v0.6.2 identifies commit 12ad69317dab92bdba06ae113ac22d107d259236 (release 416738867). Exact candidate CI passed six jobs; the Release workflow passed all eight. Seven anonymous official assets and a fresh owned macOS HTTPS 0.6.1 → 0.6.2 upgrade were verified separately, preserving SQLite schema 55, existing history, configuration, client paths and restart continuity. New artifact generation was checked separately from pure preservation of the old records. These fixtures changed no real user installation. Noxi's actual adoption follows its owner's native updater and remains a separate deployment checkpoint; it is not inferred from package or CI checks. Unknown OS/client usability, model quality and human acceptance remain separate. The writer witness stays deferred.

Historical release checkpoints follow.

Flower 0.6.1 is published and remains in testing. Tag v0.6.1 identifies commit 8de41beb1368ef772755b068b7404a91d3197f49 (release 416461595). Exact candidate CI passed six jobs. The Release workflow, attempt 2 has eight successful job results. Seven anonymous official assets and a fresh owned macOS HTTPS upgrade from 0.6.0 to 0.6.1 were verified separately, including SQLite schema 55, existing history, configuration, client paths and restart. No real user installation was changed for those checks. Published tags and assets are preserved by maintainer policy; GitHub does not enforce immutability for this release. Current guides on main do not replace its published bytes. These checks do not certify an unknown OS, model usability, a real client update or human acceptance. The witness remains deferred.

Flower 0.6.0 is published and remains in testing. Published tag v0.6.0 identifies commit bb43b5a161ecc85e56f1d2dba2c69184da0a02b7 (release 416096822). Candidate CI and Release workflow are separate from anonymous asset checks and the populated-profile HTTPS upgrade. The official assets and a fresh owned 0.5.2/schema55 → 0.6.0/schema55 HTTPS upgrade were checked separately from source, installed-package and CI checks. No user installation or real project deletion was used for those checks. The incompatible milestone input is documented above; refresh the host schema. The writer witness remains deferred. Windows native purge durability and real Noxi/client acceptance remain separate qualifications.

Flower 0.5.2 is published and remains in testing. Its release notes, the historical 0.4.1 release notes and installation status distinguish installed-package and CI checks from end-to-end installer and target-client qualification. The patch corrects repeated authority reads and shared-predecessor PVP work in complete project recovery, preserving full results, gates and the existing deadlines. It retains 0.5.1's descriptions for all 37 tools and 445 inputs, conservative MCP annotations and canonical examples, together with the 0.5.0 receipt/error-recovery corrections, explicit sync-only provider delivery and bounded provider RPCs, with the same callable contracts and schema 55. The writer witness remains deferred; this release does not claim its integration or cross-server acceptance. The immutable release archive retains its preparation-era documentation; these current guides on main align installation instructions with the published assets.

Flower's gates govern its server operations, not every action available to the agent's host. Host-declared evidence is not an independent source audit; correctness depends on the implementation, checks and oracles behind it. Optional CodingCastle adapters need compatible services; their presence alone does not establish that a runtime pairing has been qualified.

To report an issue, include the Flower version, operating system, client, operation and error in the issue tracker, without credentials or private project data.

License and compatibility

Licensed under Apache-2.0, with attribution in NOTICE. The public command is flower-mcp; the Python distribution flow-of-work-mcp, import package flow_of_work_mcp and MCP prefix fow_* retain their existing names.

Available Tools

37 tools
fow_accept_milestoneA

Record governed acceptance of an eligible milestone using actual acceptance evidence after its required verification and campaign gates. Single operation; call directly without an operation argument. Prerequisites: Use an existing eligible milestone and actual governed acceptance evidence after required verification/campaign closure. Effects: Appends explicit acceptance authority under policy guards; never substitutes agent completion for acceptance. Exact help (replace operation_name with the selected route): fow_capabilities({"view":"operation","operation_tool":"fow_accept_milestone","operation_name":"call"}).

ParametersJSON 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.
milestone_idYesExisting milestone identity governing or filtering the requested scope.
acceptance_evidenceYesDeclared evidence supporting human/governed milestone acceptance; not a completion claim by the coding agent.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare the mutation/safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false), so the bar is lower. The description nonetheless adds real behavior: the action appends acceptance authority under policy guards and explicitly cannot be used to substitute for agent completion. It omits any retry/idempotency warning, which matters given idempotentHint=false.

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 short, front-loaded lines covering purpose, invocation style, prerequisites, and effects, with a pointer to exact help last. Every line contributes; the help-pointer line is somewhat formulaic but useful for route discovery.

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

Completeness5/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 not be described, and structured fields supply safety and parameter detail. The description still covers what an agent needs: gates that must close first, the evidence requirement, and the fact that this records authority rather than agent-claimed completion.

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 actor, request_id retry semantics, and the meaning of acceptance_evidence. The description adds only high-level prerequisite context (eligible milestone, actual evidence) rather than parameter-level syntax or constraints, so the baseline of 3 applies.

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 ('Record governed acceptance of an eligible milestone') with scope conditions (evidence, verification and campaign gates closed). It implicitly distinguishes itself from verification and completion tools via 'never substitutes agent completion for acceptance', but no sibling is named outright.

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?

An explicit Prerequisites line tells the agent when this applies: an existing eligible milestone plus actual governed acceptance evidence after verification/campaign closure. It also clarifies invocation style ('single operation; call directly without an operation argument'). It stops short of naming an alternative tool for the when-not case, though the 'not a completion claim' line implies one.

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

fow_architectureA
Destructive

Define and select the project technical architecture: components, interfaces and engineering decisions. Inspect current authority, propose a complete revision, then explicitly adopt it. Route with operation: inspect, propose, adopt. Prerequisites: Use an existing project and current architecture revision. Effects: propose stores an immutable candidate; adopt changes selected engineering authority. No model/provider call, coding or acceptance. Exact help (replace operation_name with the selected route): fow_capabilities({"view":"operation","operation_tool":"fow_architecture","operation_name":"inspect"}).

ParametersJSON Schema
NameRequiredDescriptionDefault
actorNoIdentity of the human or agent recording this action; retain the original identity when replaying its request.
payloadNoArchitecture operation input: inspect selects revision/kind/page; propose supplies expected_revision and a complete definition; adopt selects expected_revision/revision and rationale. Proposals become authority only through adopt. Required by: propose, adopt. Exact required/optional dotted fields and guidance: fow_capabilities(view=operation, operation_tool=fow_architecture, operation_name=<selected route>).
operationYesOperation selector for this multiplexer; use a canonical route listed below. Canonical values: inspect, propose, adopt.
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.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

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

Adds real behavior beyond the annotations: propose produces an 'immutable candidate' while adopt is what 'changes selected engineering authority', and it scopes out work ('No model/provider call, coding or acceptance'). This complements the destructiveHint=true/idempotentHint=false annotations by telling the agent which route actually mutates authority. It does not spell out immutability/reversibility of an adopted revision, keeping it below 5.

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?

Front-loads the purpose, then routes, then prerequisites, then effects - a sensible ordering with no filler sentences. The repeated pointer to fow_capabilities (once in the description and again in the payload schema) duplicates a help-hint already carried by structured fields, which slightly dilutes 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?

An output schema exists, so return values need not be described, and the description covers routing, prerequisites, and side effects for a destructive multiplexer. What is missing is any note on what 'current authority' means operationally (how the agent obtains the expected_revision it must pass on propose/adopt).

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?

With 100% schema coverage the baseline is 3, but the description adds route-specific payload meaning ('inspect selects revision/kind/page; propose supplies expected_revision and a complete definition; adopt selects expected_revision/revision and rationale'), which the schema does not spell out per route. The actor/request_id retry identity is left to the schema, so it is not a 5.

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 ('Define and select the project technical architecture: components, interfaces and engineering decisions') and enumerates the three routes, so the subject matter is unmistakable. It never names a sibling tool (e.g. fow_goal, fow_semantic, fow_bindings) to differentiate scope, so it stops 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 Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit routing ('Route with operation: inspect, propose, adopt') and prerequisites ('Use an existing project and current architecture revision'), which is clear context for when this tool applies. It does not state when NOT to use it or point at an alternative tool, so it lacks the exclusion/alternative element of a 5.

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

fow_assuranceA
Destructive

Record and inspect software assurance findings, reassess them against current intent, associate corrective packets and request guarded change acceptance using actual evidence. Route with operation: record_finding, get_finding, reassess_intent, set_finding_disposition, link_fixing_packet, request_change_acceptance. Prerequisites: Investigate current requirements/goals and evidence before classifying a finding or correction. Effects: Records findings, semantic reassessment, dispositions, fixing-packet links and guarded change acceptance. Reassessment is engineer-authored; completion, verification and acceptance remain separate. Exact help (replace operation_name with the selected route): fow_capabilities({"view":"operation","operation_tool":"fow_assurance","operation_name":"record_finding"}).

ParametersJSON Schema
NameRequiredDescriptionDefault
actorYesIdentity of the human or agent recording this action; retain the original identity when replaying its request.
titleNoShort human-readable title of the authored requirement, finding, packet, run step or campaign. Applies to: record_finding. Required by: record_finding.
severityNoCanonical assurance finding severity, expressing impact without implying acceptance. Applies to: record_finding. Required by: record_finding. Canonical values: info, low, medium, high, critical.
change_idNoCanonical owning change ID; when address resolution permits omission, the packet/campaign must resolve unambiguously.
operationYesOperation selector for this multiplexer; use a canonical route listed below. Canonical values: record_finding, get_finding, reassess_intent, set_finding_disposition, link_fixing_packet, request_change_acceptance.
packet_idNoCanonical packet identity returned by authoring; it identifies the bounded implementation work.
rationaleNoConcrete reasoning supporting this ordinary mutation, decision or selected authority. Applies to: record_finding, set_finding_disposition. Required by: record_finding, set_finding_disposition.
scope_refNoExisting object/reference identifying the finding's selected scope. Applies to: record_finding. Required by: record_finding.
assessmentNoEngineer-authored reassessment against current intent/finding fingerprints, classification, rationale and technical evidence. Applies to: reassess_intent. Required by: reassess_intent. Exact required/optional dotted fields and guidance: fow_capabilities(view=operation, operation_tool=fow_assurance, operation_name=<selected route>).
finding_idNoStable identity of the existing assurance finding. Applies to: get_finding, reassess_intent, set_finding_disposition, link_fixing_packet. Required by: get_finding, reassess_intent, set_finding_disposition, link_fixing_packet.
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.
scope_kindNoKind of lifecycle/source object affected by the assurance finding. Applies to: record_finding. Required by: record_finding.
dispositionNoExplicit classification/action for the selected finding, review, packet question or campaign obligation. Applies to: set_finding_disposition. Required by: set_finding_disposition. Canonical values: open, confirmed, resolved, accepted_exception, deferred, superseded, cancelled.
finding_kindNoSemantic category of the assurance finding. Applies to: record_finding. Canonical values: semantic, engineering, informational, unspecified.unspecified
evidence_refsNoReferences to actual supporting evidence; host-declared provenance remains host-declared. Applies to: set_finding_disposition.
source_anchorNoString source locator/reference (path, section, entity or revision as applicable) linking authority to its originating material; this public input is not a structured object. Applies to: record_finding.
implementation_refNoReference to the implementation location or artifact involved in the finding. Applies to: record_finding.
expected_correctionNoBounded corrective behavior required to resolve the finding within the current intent. Applies to: record_finding, link_fixing_packet. Required by: record_finding, link_fixing_packet.
acceptance_referenceNoReference to the explicit authority accepting the governed change. Applies to: request_change_acceptance. Required by: request_change_acceptance.
disposition_referenceNoReference to the authority supporting the recorded disposition. Applies to: set_finding_disposition.
required_campaign_idsNoExisting campaigns whose successful verification remains required by this corrective packet/finding. Applies to: link_fixing_packet.
supersedes_finding_idNoExisting finding explicitly superseded by this new finding; history remains retained. Applies to: set_finding_disposition.
required_regression_evidenceNoDeclared regression evidence obligations that must remain visible until actually satisfied. Applies to: link_fixing_packet.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already flag the mutation profile (readOnlyHint=false, destructiveHint=true, idempotentHint=false), but the description adds real context beyond them: it lists what effects are produced and stresses that 'reassessment is engineer-authored; completion, verification and acceptance remain separate,' which prevents the agent conflating these stages. It does not, however, describe reversibility or the receipt/retry behavior (only the schema's request_id field hints at that).

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 blocks — purpose, route list, prerequisites/effects — plus one help pointer, all front-loaded with the capability statement first. Density is justified for a six-operation multiplexer, though the 'Effects' sentence is somewhat compressed and could be clearer.

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?

An output schema exists, so return values need no explanation, and the description covers routing, prerequisites, mutation effects and a mechanism for per-operation detail. For a 24-parameter, 6-route multiplexer it is close to complete, but it leaves the receipt/replay policy and success criteria implicit in the schema only.

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?

With 24 parameters and 100% schema description coverage, the schema already carries per-field meaning, including 'Applies to' / 'Required by' routing annotations, so the baseline is 3. The description contributes only the operation enumeration and a pointer to fow_capabilities for dotted-field help, adding nothing about field formats or constraints beyond 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?

The description states a specific verb and resource set — recording/inspecting software assurance findings, reassessing intent, linking fixing packets, requesting guarded change acceptance — and enumerates the six routing operations that scope the tool. It is clearly distinguishable in domain from siblings like fow_campaign_author or fow_record_verification, but it never explicitly contrasts itself against those neighbors.

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 gives an explicit prerequisite ('Investigate current requirements/goals and evidence before classifying a finding or correction') and names the operation routes for each intended behavior, so an agent knows which route to select. It stops short of when-not-to-use guidance or pointing to an alternative sibling tool for overlapping work.

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

fow_audit_phaseA

Compare current requirement traceability with the previous snapshot of a named scope and retain the resulting phase audit as a durable local job. Single operation; call directly without an operation argument. Prerequisites: Use a defined requirement scope; retain the same requirement selection when reusing its scope_id. Effects: Schedules a durable local audit of traceability changes since the prior scope snapshot. No model/provider call or lifecycle transition; audit evidence is distinct from acceptance. Exact help (replace operation_name with the selected route): fow_capabilities({"view":"operation","operation_tool":"fow_audit_phase","operation_name":"call"}).

ParametersJSON Schema
NameRequiredDescriptionDefault
actorYesIdentity of the human or agent recording this action; retain the original identity when replaying its request.
scope_idYesNamed audit/work scope selecting the relevant requirement phase or work projection.
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.
requirement_idsNoExplicit existing requirement IDs defining the selected scope.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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

Beyond the annotations, the description discloses that it schedules a durable LOCAL job, makes no model/provider call, performs no lifecycle transition, and that audit evidence is distinct from acceptance. This meaningfully expands on destructiveHint=false/readOnlyHint=false, though it stays silent on idempotency/replay behavior despite idempotentHint=false.

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?

Front-loaded with purpose, then Prerequisites and Effects blocks that are easy to scan. The final fow_capabilities help-pointer line is slightly meta/verbose but every other sentence earns its place.

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 mutation-style job-scheduling tool, the description covers prerequisites, effects, and scope semantics, and an output schema exists so return values need no explanation. Only the retry/idempotency story (relevant given idempotentHint=false) is left largely to the schema's request_id field.

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 baseline is 3. The description adds only marginal value for parameters, mainly the scope_id reuse constraint ('retain the same requirement selection when reusing its scope_id'); it does not explain requirement_ids or request_id beyond what the schema already documents.

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?

The description states a precise verb and resource: 'Compare current requirement traceability with the previous snapshot of a named scope' and clarifies the output is a retained phase audit. It is specific enough to distinguish itself from passive read siblings like fow_traceability, though it never names an alternative explicitly.

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?

'Single operation; call directly without an operation argument' plus a Prerequisites line ('Use a defined requirement scope; retain the same requirement selection when reusing its scope_id') gives clear invocation context. It does not name a competing sibling tool or state when NOT to use it, so it stops short of a 5.

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

fow_bindingsA
Destructive

Associate an existing lifecycle project with a coding host or optional configured provider through portable versioned JSON receipts. Inspect/export current associations or explicitly import and replace one. Route with operation: inspect, export, import. Prerequisites: Use an existing project; provider receipts may select already configured routes only. Effects: inspect/export read associations; import records idempotent canonical associations and requires a reason for replacement. No endpoint, credentials, commands or restart are supplied by receipts. Exact help (replace operation_name with the selected route): fow_capabilities({"view":"operation","operation_tool":"fow_bindings","operation_name":"inspect"}).

ParametersJSON Schema
NameRequiredDescriptionDefault
actorNoIdentity of the human or agent recording this action; retain the original identity when replaying its request.
host_idNoStable coding-host identity for the host association; independent from optional provider bindings. Applies to: export.
operationYesOperation selector for this multiplexer; use a canonical route listed below. Canonical values: inspect, export, import.
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.
provider_kindNoConfigured route category selecting the implementation_provider association to export; not the provider's transport URL or executable command. Applies to: export.
association_kindNoAssociation category to export: host or implementation_provider; these are independent bindings. Applies to: export. Required by: export.
replacement_reasonNoRequired explanation when replacing a different canonical host/provider association; replay of the same receipt does not replace it. Applies to: import.
association_receiptNoVersioned flow.project-association.v1 JSON receipt. Contains associations only; URLs, credentials, commands and unknown fields are rejected. Applies to: import. Required by: import. Exact required/optional dotted fields and guidance: fow_capabilities(view=operation, operation_tool=fow_bindings, operation_name=<selected route>).

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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

Annotations declare the tool destructive and not read-only, and the description usefully splits behavior per operation (inspect/export read, import replaces and requires a reason), notes idempotent replay semantics, and reassures that receipts carry no endpoints or credentials. It still defers finer behavioral detail (error handling, exact receipt policy) to the per-operation help view.

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?

Information is front-loaded: purpose first, then routing, prerequisites, and effects, with the help pointer at the end. It is dense and slightly repetitive (the fow_capabilities help pattern is stated twice across the description and schema), which keeps it from a 5.

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 nine-parameter multiplexer with an output schema and complex receipt payloads, the description covers routing, prerequisites, side effects, and where to get exact help, which is enough for correct invocation. Deep per-operation details are delegated to a discovery call rather than included, leaving a minor completeness gap.

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 nine parameters including route applicability and the receipt contract. The description only echoes the operation routing and the receipt-safety rule, adding little syntax or meaning the schema lacks, so baseline 3 applies.

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?

The description states a specific verb and resource: bind an existing lifecycle project to a coding host or configured provider via versioned JSON receipts, with inspect/export/import routing made explicit. No sibling tool in the list performs association binding, so overlap is not an issue, but it never explicitly contrasts itself with any sibling, keeping it below 5.

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 names the three routes (inspect, export, import) and gives prerequisites: an existing project is required and provider receipts may only select already-configured routes. It does not name alternative tools or state when NOT to use this one, so it stops short of a full when/when-not treatment.

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

fow_bootstrapA
Destructive

Turn stakeholder scenarios into recorded lifecycle intent and an explicitly confirmed roadmap, then track correspondence, progress choices and completion of that bootstrap cycle. Route with operation: bind_implementation_provider, provider_binding_state, list_provider_bindings, start, resume, state, record_intake, record_contradiction, confirm_intake, derive_behavior, complete, cancel, guidance, record_answer, record_correspondence, roadmap, confirm_roadmap, record_continuation. Prerequisites: Select the real project/current bootstrap. Start from stakeholder scenarios and record only governing answers. Effects: Records intake, correspondence, confirmation and continuation; complete/cancel closes a cycle. Provider-binding replacement and optional behavior derivation are explicit operations. Never invent stakeholder approval or execute unclear scope. Exact help (replace operation_name with the selected route): fow_capabilities({"view":"operation","operation_tool":"fow_bootstrap","operation_name":"bind_implementation_provider"}).

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNoBootstrap workflow: import existing requirements, inspect existing code, create requirements or use guided engineering. Use a canonical path listed below. Applies to: start. Required by: start. Canonical values: requirements_import, code_import, requirements_creation, guided_engineering.
actorYesIdentity of the human or agent recording this action; retain the original identity when replaying its request.
answerNoStructured answer to the selected bootstrap or Oracle question; obtain its exact shape from operation help. Applies to: record_answer. Required by: record_answer. Exact required/optional dotted fields and guidance: fow_capabilities(view=operation, operation_tool=fow_bootstrap, operation_name=<selected route>).
intakeNoStructured bootstrap intake capturing scenario, constraints and existing-system context. Applies to: record_intake. Required by: record_intake. Exact required/optional dotted fields and guidance: fow_capabilities(view=operation, operation_tool=fow_bootstrap, operation_name=<selected route>).
reasonNoExplicit reason for the transition, cancellation or continuation action. Applies to: cancel, record_continuation. Required by: cancel, record_continuation.
surfacesNoExplicit provider evidence/association surfaces, such as repo; use the exact configured route contract. Applies to: bind_implementation_provider.
operationYesOperation selector for this multiplexer; use a canonical route listed below. Canonical values: bind_implementation_provider, provider_binding_state, list_provider_bindings, start, resume, state, record_intake, record_contradiction, confirm_intake, derive_behavior, complete, cancel, guidance, record_answer, record_correspondence, roadmap, confirm_roadmap, record_continuation.
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.
bootstrap_idNoIdentifier of an existing bootstrap cycle; use the current cycle returned by guidance/state. Applies to: resume, state, record_intake, record_contradiction, confirm_intake, derive_behavior, complete, cancel, guidance, record_answer, record_correspondence, roadmap, confirm_roadmap, record_continuation. Required by: resume, state, record_intake, record_contradiction, confirm_intake, derive_behavior, complete, cancel, record_answer, record_correspondence, roadmap, confirm_roadmap, record_continuation.
project_nameNoExact registered project name associated with this bootstrap cycle. Applies to: start. Required by: start.
contradictionNoStructured bootstrap contradiction between the recorded intent and known authority, with the relevant references. Applies to: record_contradiction. Required by: record_contradiction. Exact required/optional dotted fields and guidance: fow_capabilities(view=operation, operation_tool=fow_bootstrap, operation_name=<selected route>).
milestone_idsNoExplicit existing milestone IDs in the roadmap or handover selection. Applies to: roadmap, confirm_roadmap. Required by: roadmap, confirm_roadmap.
provider_kindNoCanonical configured route category to bind/inspect: implementation_graph, bootstrap_behavior, packet_evidence, packet_execution or test_execution. Applies to: bind_implementation_provider, provider_binding_state. Required by: bind_implementation_provider, provider_binding_state.
correspondenceNoRecorded mapping from one current bootstrap answer revision to canonical requirements/goals/milestones and its disposition. Applies to: record_correspondence. Required by: record_correspondence. Exact required/optional dotted fields and guidance: fow_capabilities(view=operation, operation_tool=fow_bootstrap, operation_name=<selected route>).
progress_revisionNoIssued roadmap progress revision associated with the stakeholder's continuation choice. Applies to: record_continuation. Required by: record_continuation.
provider_scope_idNoAuthorized scope identity understood by the configured provider. Applies to: bind_implementation_provider. Required by: bind_implementation_provider.
replacement_reasonNoRequired explanation when replacing a different canonical host/provider association; replay of the same receipt does not replace it. Applies to: bind_implementation_provider.
continuation_choiceNoExplicit stakeholder continuation choice: continue the authorized roadmap or review the current result. Applies to: record_continuation. Required by: record_continuation. Canonical values: continue, review.
provider_context_idNoContext identity understood by an already configured optional provider route. Applies to: bind_implementation_provider.
roadmap_fingerprintNoFingerprint of the exact roadmap being confirmed or continued; stale intent/scope requires ordinary revision. Applies to: confirm_roadmap, record_continuation. Required by: confirm_roadmap, record_continuation.
completion_referenceNoReference to the actual evidence/authority supporting completion of this lifecycle object. Applies to: complete. Required by: complete.
confirmation_referenceNoReference to the stakeholder's actual confirmation of the recorded intent or roadmap. Applies to: confirm_intake, confirm_roadmap. Required by: confirm_intake, confirm_roadmap.
continuation_referenceNoReference to the actual stakeholder choice; do not synthesize approval from elapsed time. Applies to: record_continuation. Required by: record_continuation.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior4/5

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

With destructiveHint=true and openWorldHint=true already in annotations, the description still adds substantive behavior: it says what gets recorded (intake, correspondence, confirmation, continuation), that complete/cancel closes a cycle, that provider-binding replacement and behavior derivation are explicit opt-in operations, and that approval must never be invented. The one gap is that individual operation-level side effects and the confirmation receipt semantics are deferred to the capabilities lookup.

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

Conciseness3/5

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

Purpose is front-loaded and the Prerequisites/Effects blocks are well-structured, so the skeleton is good. But the description re-lists all 19 operation names that are already enumerated in the `operation` schema enum, which is pure duplication and dominates the token budget. The final fow_capabilities pointer is verbose but earns its place.

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 24-parameter, 19-route multiplexer with an output schema available (so return values need no explanation), the description covers purpose, prerequisites, effects, and the escape hatch for exact per-operation contracts. The residual gap is that the object-typed payloads (intake, contradiction, correspondence, answer) are only reachable via an extra fow_capabilities call, so an agent cannot invoke those routes from this definition alone.

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 baseline is 3 and the per-property 'Applies to / Required by' notes already tell the agent which operation consumes which field. The description itself contributes no parameter meaning beyond the operation-route list, which is duplicated in the schema's canonical values. It correctly defers the nested payload shapes to operation help rather than pretending to document them.

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?

The first sentence names a specific transformation (stakeholder scenarios -> recorded lifecycle intent + explicitly confirmed roadmap) plus the ongoing tracking function, which is far more than a restatement of the name. It is distinguishably a lifecycle-bootstrap multiplexer rather than a sibling like fow_handover or fow_packet_advance. It loses a point only because the phrasing is dense internal jargon that an outside agent must decode.

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?

Prerequisites ('Select the real project/current bootstrap. Start from stakeholder scenarios and record only governing answers.') give real context for when this tool is the right entry point, and the enumerated operation routes imply the sub-workflow. However, there is no explicit when-not-to-use guidance and no routing against the 35 sibling tools (e.g. when to bootstrap vs. fow_goal or fow_campaign_author), so usage is only partially disambiguated.

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

fow_campaign_advanceA
Destructive

Perform bounded deterministic progression of an existing verification campaign until the next semantic, evidence or provider boundary requires attention. Implicit advance operation; transition_budget bounds the call. Prerequisites: Use an existing campaign, current scope and the provider/evidence prerequisites of its next boundary. Effects: Runs bounded deterministic lifecycle transitions, may deliver admitted provider work, then returns one semantic/evidence/provider boundary. It does not invent answers or acceptance. Exact help (replace operation_name with the selected route): fow_capabilities({"view":"operation","operation_tool":"fow_campaign_advance","operation_name":"advance"}).

ParametersJSON Schema
NameRequiredDescriptionDefault
actorYesIdentity of the human or agent recording this action; retain the original identity when replaying its request.
change_idNoCanonical owning change ID; when address resolution permits omission, the packet/campaign must resolve unambiguously.
project_idYesCanonical lifecycle project ID. Select the existing project explicitly; development Markdown authorities are separate from runtime projects.
request_idYesCaller-owned retry identity. For receipted mutations replay the same actor and contents; changed contents can conflict. Inspect exact operation help for its receipt policy.
campaign_idNoIdentifier of the governed test campaign, as returned by campaign authoring.
transition_budgetNoMaximum deterministic campaign transitions in this call before returning the current boundary.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, idempotentHint=false and openWorldHint=true, so the safety bar is lower. The description still adds real behavioral context the annotations do not: the progression is deterministic and bounded, it may deliver admitted provider work, it stops at exactly one boundary, and it 'does not invent answers or acceptance'. It stops short of describing the destructive/persistence consequences the annotations imply.

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 purpose is front-loaded in the first sentence, followed by clearly labelled Prerequisites and Effects blocks, so an agent can scan it quickly. 'Implicit advance operation' is near-redundant with the name and the help-dispatcher sentence is dense, but overall the size is proportionate and every remaining sentence carries 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?

An output schema exists, so return values need not be explained, and the description covers prerequisites, bounded effects, and the boundary it stops at. Combined with the annotations it gives an agent enough to call the tool correctly; only the destructive/idempotency implications and sibling routing are unaddressed.

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 coverage is 100%, so all six parameters are already documented in the schema, making a baseline of 3 appropriate. The description only elaborates on transition_budget (it bounds the call) and the campaign prerequisite; it adds no format or interaction detail beyond what the schema supplies.

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?

The description states a specific verb and resource: bounded deterministic progression of an existing verification campaign until a semantic/evidence/provider boundary. That is far more precise than a restatement of the name. It does not, however, explicitly contrast itself with the similarly named sibling fow_packet_advance or the read-only fow_campaign_inspect, so sibling disambiguation is left to the name.

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 prerequisites ('use an existing campaign, current scope and the provider/evidence prerequisites of its next boundary') and notes the implicit advance operation bounded by transition_budget. But it never says when NOT to use it, nor names an alternative route (e.g. inspecting rather than advancing, or packet-level advance). Usage is implied rather than routed.

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

fow_campaign_authorA
Destructive

Define and revise a verification campaign: scope, cases, obligations, behavioral Oracles, source attestations and explicit materialization or promotion authority. Route with operation: start, edit_scope, add_case, edit_case, remove_case, reorder_cases, decide_obligation, bind_obligation, author_oracle, answer_question, attest_source, authorize_materialization, retry_provider_rejection, authorize_promotion, accept_exception, cancel. Prerequisites: Use an existing governed change and current campaign fingerprint for edits. Effects: Authors cases/obligations/Oracle definitions, attestations and explicit provider materialization/promotion commands. Removal/cancellation/exception changes current authority; source files and provider actions require their declared prerequisites. Exact help (replace operation_name with the selected route): fow_capabilities({"view":"operation","operation_tool":"fow_campaign_author","operation_name":"start"}).

ParametersJSON Schema
NameRequiredDescriptionDefault
caseNoStructured campaign case: semantic test intent and its required scope/obligations; inspect exact operation help before authoring. Applies to: start, add_case, edit_case. Required by: add_case, edit_case. Exact required/optional dotted fields and guidance: fow_capabilities(view=operation, operation_tool=fow_campaign_author, operation_name=<selected route>).
actorYesIdentity of the human or agent recording this action; retain the original identity when replaying its request.
scopeNoStructured campaign scope selecting change, requirements, goals, packets and explicit environment assumptions. Applies to: start, edit_scope. Required by: start, edit_scope. Exact required/optional dotted fields and guidance: fow_capabilities(view=operation, operation_tool=fow_campaign_author, operation_name=<selected route>).
titleNoShort human-readable title of the authored requirement, finding, packet, run step or campaign. Applies to: start, edit_scope. Required by: start, edit_scope.
answerNoJSON answer matching the selected Oracle question's declared shape; it may be a scalar, array or object rather than necessarily a mapping. Preserve the declared answer_authority and provenance. Applies to: answer_question. Required by: answer_question. Exact required/optional dotted fields and guidance: fow_capabilities(view=operation, operation_tool=fow_campaign_author, operation_name=<selected route>).
oracleNoStructured behavioral Oracle definition expressing expected/forbidden behavior and test obligations. Applies to: author_oracle. Required by: author_oracle. Exact required/optional dotted fields and guidance: fow_capabilities(view=operation, operation_tool=fow_campaign_author, operation_name=<selected route>).
case_idNoStable identifier of the existing campaign case to edit or remove. Applies to: edit_case, remove_case, bind_obligation, author_oracle, attest_source, authorize_materialization, authorize_promotion. Required by: edit_case, remove_case, bind_obligation, author_oracle, attest_source, authorize_materialization, authorize_promotion.
harnessNoStructured test-harness participant contract and provenance; it declares execution boundaries, not observed success. Applies to: attest_source. Exact required/optional dotted fields and guidance: fow_capabilities(view=operation, operation_tool=fow_campaign_author, operation_name=<selected route>).
decisionNoCanonical campaign-obligation decision for decide_obligation; this is a string selector, not a packet gate object. Applies to: decide_obligation. Required by: decide_obligation. Canonical values: required, out_of_scope, duplicate, investigate, waived. Exact required/optional dotted fields and guidance: fow_capabilities(view=operation, operation_tool=fow_campaign_author, operation_name=<selected route>).
operationYesOperation selector for this multiplexer; use a canonical route listed below. Canonical values: start, edit_scope, add_case, edit_case, remove_case, reorder_cases, decide_obligation, bind_obligation, author_oracle, answer_question, attest_source, authorize_materialization, retry_provider_rejection, authorize_promotion, accept_exception, cancel.
oracle_idNoExisting behavioral Oracle identity selected for the campaign operation. Applies to: author_oracle, answer_question. Required by: answer_question.
rationaleNoConcrete reasoning supporting this ordinary mutation, decision or selected authority. Applies to: remove_case, decide_obligation, retry_provider_rejection. Required by: remove_case, decide_obligation, retry_provider_rejection.
case_orderNoComplete ordered list of current campaign case IDs for the requested reorder. Applies to: reorder_cases. Required by: reorder_cases.
project_idYesCanonical lifecycle project ID. Select the existing project explicitly; development Markdown authorities are separate from runtime projects.
provenanceNoDeclared origin of campaign answers/source evidence; does not confer provider audit or human acceptance. Applies to: answer_question. Required by: answer_question.
request_idYesCaller-owned retry identity. For receipted mutations replay the same actor and contents; changed contents can conflict. Inspect exact operation help for its receipt policy.
campaign_idNoIdentifier of the governed test campaign, as returned by campaign authoring. Applies to: edit_scope, add_case, edit_case, remove_case, reorder_cases, decide_obligation, bind_obligation, author_oracle, answer_question, attest_source, authorize_materialization, retry_provider_rejection, authorize_promotion, accept_exception, cancel. Required by: edit_scope, add_case, edit_case, remove_case, reorder_cases, decide_obligation, bind_obligation, author_oracle, answer_question, attest_source, authorize_materialization, retry_provider_rejection, authorize_promotion, accept_exception, cancel.
evidence_idNoExisting evidence identity to inspect or associate; use returned IDs rather than inventing evidence. Applies to: authorize_promotion. Required by: authorize_promotion.
question_idNoExisting open packet-construction or Oracle question identity. Applies to: answer_question. Required by: answer_question.
source_filesNoOracle source mapping from file paths to source-content strings for attestation/materialization. Future files remain declarations until materialized and verified. Applies to: attest_source. Required by: attest_source.
waiver_scopeNoExplicit campaign/Oracle scope covered by the authorized waiver. Applies to: answer_question.
evidence_gapsNoKnown missing verification/evidence obligations retained by an explicit campaign exception. Applies to: accept_exception. Required by: accept_exception.
obligation_idNoStable identity of the campaign verification obligation being decided or bound. Applies to: decide_obligation, bind_obligation. Required by: decide_obligation, bind_obligation.
risk_authorityNoExplicit authority permitting the campaign's remaining risks/evidence gaps. Applies to: accept_exception. Required by: accept_exception.
coverage_intentNoExplanation of the behavior or risk the selected campaign obligation is intended to cover. Applies to: bind_obligation. Required by: bind_obligation.
answer_authorityNoDeclared authority/provenance of the Oracle answer; it does not upgrade host assertions into provider-audited evidence. Applies to: answer_question. Required by: answer_question. Canonical values: grounded_fact, accepted_decision, derived_hypothesis, unknown, waived.
authority_referenceNoReference to the ordinary authority permitting the selected campaign action. Applies to: attest_source, authorize_materialization, authorize_promotion. Required by: attest_source, authorize_materialization, authorize_promotion.
provider_command_idNoIssued provider-command identity selected for explicit retry or materialization authority. Applies to: retry_provider_rejection. Required by: retry_provider_rejection.
expected_fingerprintNoPreviously issued campaign authority fingerprint; guards against stale authoring. Applies to: edit_scope, add_case, edit_case, remove_case, reorder_cases.
requested_capabilityNoStructured provider capability declaration for campaign source/materialization work; use the exact fields supported by the current provider command contract. Applies to: attest_source, authorize_materialization. Required by: authorize_materialization.
disposition_referenceNoReference to the authority supporting the recorded disposition. Applies to: accept_exception, cancel. Required by: accept_exception, cancel.
regression_obligationNoWhether the campaign binding declares a required regression obligation. Applies to: authorize_promotion.
exception_obligation_idsNoCampaign obligation IDs covered by the requested explicit exception. Applies to: accept_exception. Required by: accept_exception.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, openWorldHint=true and non-idempotent, so the safety bar is lower; the description still adds real substance by naming the mutation targets and warning that removal/cancellation/exception changes current authority and that source files and provider actions require declared prerequisites. It does not state reversibility or receipt-replay behavior in the description itself (that lives in the schema).

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?

Effectively structured: purpose first, then the operation routes, then prerequisites, then effects, then the help escape hatch. The long route enumeration is load-bearing for a multiplexer rather than padding, and no sentence is redundant.

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

Completeness5/5

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

For a 16-route multiplexer with 33 parameters, an output schema, and full annotations, the description supplies the routing table, the mutation/authority effects, and a concrete pointer (fow_capabilities with operation_name) for per-route field detail. Nothing needed to select or correctly invoke a route is missing.

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% across 33 parameters, so the schema already carries per-field meaning and applicability. The description contributes only the routing contract (operation selectors and prerequisites) and then defers exact dotted-field guidance to fow_capabilities, adding little beyond the structured data.

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 pair ('Define and revise a verification campaign') and enumerates exactly what artifacts are within that scope (scope, cases, obligations, Oracles, attestations, materialization/promotion authority). The focus on authoring clearly separates it from the sibling campaign tools fow_campaign_advance and fow_campaign_inspect.

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?

The 'Route with operation:' list tells the agent exactly which operation selects which sub-action, and the Prerequisites sentence ('use an existing governed change and current campaign fingerprint for edits') sets a gating condition. It never explicitly names an alternative sibling (e.g. use fow_campaign_inspect to read rather than author), so it stops short of full when/when-not routing.

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

fow_campaign_inspectA
Read-onlyIdempotent

Inspect one campaign scope, cases, obligations, Oracle contracts, attestations, evidence, residuals or history without progressing it. Route with view: summary, working_sheet, cases, obligations, oracles, constructibility, oracle_ir, attestation, evidence, residuals, history. Prerequisites: Use the campaign ID and optional owning change for scope validation. Effects: Read-only summary, cases, Oracle/evidence/residuals or history page. No provider/model calls, materialization or acceptance. Exact help (replace operation_name with the selected route): fow_capabilities({"view":"operation","operation_tool":"fow_campaign_inspect","operation_name":"summary"}).

ParametersJSON Schema
NameRequiredDescriptionDefault
viewNoRead projection selector; canonical view names depend on this tool. Canonical values: summary, working_sheet, cases, obligations, oracles, constructibility, oracle_ir, attestation, evidence, residuals, history.summary
limitNoMaximum number of records in this read page; existing route-specific bounds still apply.
offsetNoZero-based position of the first record in this bounded read page.
change_idNoCanonical owning change ID; when address resolution permits omission, the packet/campaign must resolve unambiguously.
project_idYesCanonical lifecycle project ID. Select the existing project explicitly; development Markdown authorities are separate from runtime projects.
campaign_idNoIdentifier of the governed test campaign, as returned by campaign authoring.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint false, and openWorldHint false. The description adds meaningful non-effects beyond those: it does not progress the campaign and makes no provider/model calls, materialization, or acceptance.

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?

Front-loads the purpose, then routes, prerequisites, effects, and an exact-help pointer. It is dense but each line earns its place; the help pointer is useful for view-specific semantics, though the overall block is longer than strictly minimal.

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

Completeness5/5

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

For a six-parameter, multi-view read tool with an output schema, the description covers purpose, routing, prerequisites, effects, and points to exact help for route details. Return values are handled by the output schema, so no critical gaps remain.

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 six parameters including the canonical view values. The description adds slight purpose for campaign_id/change_id via 'scope validation,' but limit/offset and address-resolution behavior remain schema-only, making the baseline 3 appropriate.

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 ('Inspect') and resource ('one campaign') plus the inspectable aspects. The phrase 'without progressing it' distinguishes it from fow_campaign_advance, so an agent can select it without opening another schema.

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?

Gives clear routing via view values and prerequisites ('Use the campaign ID and optional owning change for scope validation'). It does not explicitly name sibling alternatives such as fow_campaign_advance or fow_packet_inspect, so it stops short of full when/when-not guidance.

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

fow_capabilitiesA
Read-onlyIdempotent

Discover what Flower can do and how to call it: bounded tool summary, progressive workflow recipes, exact operation inputs/examples or the diagnostic catalog. Route with view=summary|recipe|operation|docs|full; recipe needs recipe_name, operation needs operation_tool and operation_name. Prerequisites: No project, database mutation or optional provider is needed. Effects: Read-only progressive discovery; returns exact required/optional fields, accepted selector values, examples and guidance. Does not execute recipes. Exact help (replace operation_name with the selected route): fow_capabilities({"view":"operation","operation_tool":"fow_capabilities","operation_name":"call"}).

ParametersJSON Schema
NameRequiredDescriptionDefault
viewNoProgressive discovery: summary for the bounded catalog, recipe for one workflow, operation for one exact contract, docs for the tool reference, full for diagnostics. Canonical values: summary, recipe, operation, docs, full.summary
recipe_nameNoOne named progressive workflow recipe, requested with capabilities view=recipe.
operation_nameNoCanonical operation name for exact help, interpreted within operation_tool; simple tools use call.
operation_toolNoPublic fow_* tool identity whose exact operation contract is requested.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already cover readOnly/idempotent/non-destructive; the description adds genuinely new behavioral context: it 'does not execute recipes' and returns 'exact required/optional fields, accepted selector values, examples and guidance'. This clarifies the tool is pure introspection rather than an action, which the annotations alone would not convey. It stops short of describing pagination or size bounds for the 'full' view.

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?

Front-loaded routing sentence, then prerequisites, effects, and a concrete example call. Every element is useful, though the final 'Exact help' sentence is somewhat clunky and partly overlaps the earlier routing statement.

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

Completeness5/5

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

An output schema exists, so return contents need not be described. For a meta-discovery tool the description covers routes, required companion parameters, prerequisites, and side-effect scope, leaving nothing an agent needs before invoking 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 coverage is 100%, so baseline would be 3, but the description adds conditional dependency semantics the schema does not express: recipe requires recipe_name, operation requires operation_tool plus operation_name. That routing-to-parameter mapping is real added meaning.

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: 'Discover what Flower can do and how to call it', with concrete sub-capabilities (bounded tool summary, workflow recipes, exact operation inputs, diagnostic catalog). This is clearly distinguishable from all the action siblings like fow_run, fow_traceability, or fow_goal, which perform work rather than describe it.

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?

Gives explicit routing conditions for each view ('recipe needs recipe_name, operation needs operation_tool and operation_name') and a prerequisite statement ('No project, database mutation or optional provider is needed'). It does not explicitly say when to prefer a concrete sibling over this discovery tool, but the route-to-use mapping is clear.

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

fow_changeA
Destructive

Record a governed change and manage its packet readiness, engineering questions, evidence reconciliation, dependencies and risk dispositions. Author the executable packet plan with fow_packet_author. Route with operation: create_change, get_change, link_change_milestone, set_packet_target_state, evaluate_packet_readiness, start_packet_construction_audit, get_packet_construction_audit, initialize_packet_reconciliation, get_packet_reconciliation, declare_packet_evidence_claim, supersede_packet_evidence_claim, import_packet_evidence_snapshot, collect_packet_evidence_snapshot, reconcile_packet_evidence, disposition_packet_evidence_residual, answer_packet_question, waive_packet_question, block_packet_question, derive_packet_pressure, get_packet_pressure, accept_residual_risk, revise_packet, link_dependency, transition_packet. Prerequisites: Use existing project/change/packet identities and the selected ordinary authority/evidence contract. Effects: Records governed changes, readiness, reconciliation and risk/question dispositions. Some explicit evidence collection/audit routes use configured providers or inference; transitions/supersession can invalidate current authority. Work plans are authored with fow_packet_author. Exact help (replace operation_name with the selected route): fow_capabilities({"view":"operation","operation_tool":"fow_change","operation_name":"create_change"}).

ParametersJSON Schema
NameRequiredDescriptionDefault
actorYesIdentity of the human or agent recording this action; retain the original identity when replaying its request.
titleNoShort human-readable title of the authored requirement, finding, packet, run step or campaign. Applies to: create_change, revise_packet. Required by: create_change.
claimsNoProvider snapshot claim records, preserving their identities, content and declared provenance. Applies to: import_packet_evidence_snapshot. Required by: import_packet_evidence_snapshot.
intentNoEngineering statement of the packet's intended observable behavior and authorized scope. Applies to: revise_packet.
profileNoNamed existing policy/profile used for the selected packet-construction audit. Applies to: start_packet_construction_audit, derive_packet_pressure.balanced
summaryNoDeclared concise evidence/readiness summary retained with the snapshot or packet target. Applies to: answer_packet_question, block_packet_question.
claim_idNoStable ID of the existing packet-evidence claim. Applies to: supersede_packet_evidence_claim. Required by: supersede_packet_evidence_claim.
goal_idsNoExisting goal graph IDs governing the packet or campaign scope. Applies to: revise_packet.
in_scopeNoBehaviors and implementation boundaries explicitly included in this packet. Applies to: revise_packet.
providerNoCompatibility alias for provider_id when importing a packet-evidence snapshot. Applies to: import_packet_evidence_snapshot.
surfacesNoExplicit provider evidence/association surfaces, such as repo; use the exact configured route contract. Applies to: import_packet_evidence_snapshot.
assertionNoStructured content of the declared packet-evidence claim, retaining its provenance. Applies to: declare_packet_evidence_claim.
change_idNoCanonical owning change ID; when address resolution permits omission, the packet/campaign must resolve unambiguously.
claim_keyNoCaller-supplied identity of this claim within its reconciliation scope. Applies to: declare_packet_evidence_claim. Required by: declare_packet_evidence_claim.
max_depthNoMaximum traversal depth for this bounded provider-evidence collection. Applies to: collect_packet_evidence_snapshot.
operationYesOperation selector for this multiplexer; use a canonical route listed below. Canonical values: create_change, get_change, link_change_milestone, set_packet_target_state, evaluate_packet_readiness, start_packet_construction_audit, get_packet_construction_audit, initialize_packet_reconciliation, get_packet_reconciliation, declare_packet_evidence_claim, supersede_packet_evidence_claim, import_packet_evidence_snapshot, collect_packet_evidence_snapshot, reconcile_packet_evidence, disposition_packet_evidence_residual, answer_packet_question, waive_packet_question, block_packet_question, derive_packet_pressure, get_packet_pressure, accept_residual_risk, revise_packet, link_dependency, transition_packet.
packet_idNoCanonical packet identity returned by authoring; it identifies the bounded implementation work.
predicateNoRelationship asserted between the evidence claim's subject and object. Applies to: declare_packet_evidence_claim. Required by: declare_packet_evidence_claim.
rationaleNoConcrete reasoning supporting this ordinary mutation, decision or selected authority. Applies to: create_change, supersede_packet_evidence_claim, disposition_packet_evidence_residual, waive_packet_question, block_packet_question, revise_packet. Required by: create_change, supersede_packet_evidence_claim, disposition_packet_evidence_residual.
truncatedNoWhether imported evidence was truncated; partial evidence must not be treated as complete. Applies to: import_packet_evidence_snapshot.
claim_typeNoCanonical evidence-claim category used by packet reconciliation. Applies to: declare_packet_evidence_claim. Required by: declare_packet_evidence_claim. Canonical values: target, symbol_contract, impact, cleanup, test_obligation.
invariantsNoConditions that must remain true throughout the scoped behavior or change. Applies to: revise_packet.
max_claimsNoMaximum provider-evidence claims requested by this bounded collection. Applies to: collect_packet_evidence_snapshot.
object_refNoObject-side identity of the declared subject/predicate/object evidence claim. Applies to: declare_packet_evidence_claim. Required by: declare_packet_evidence_claim.
policy_refNoExisting policy reference authorizing the requested waiver or residual disposition. Applies to: disposition_packet_evidence_residual, waive_packet_question. Required by: waive_packet_question.
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.
diagnosticsNoDeclared provider diagnostics attached to imported evidence; preserve errors and partial coverage. Applies to: import_packet_evidence_snapshot.
dispositionNoExplicit classification/action for the selected finding, review, packet question or campaign obligation. Applies to: transition_packet.
fingerprintNoSource/provider-reported evidence fingerprint retained for reconciliation currentness. Applies to: import_packet_evidence_snapshot. Required by: import_packet_evidence_snapshot.
pressure_idNoExisting packet-pressure projection identity for explicit residual-risk acceptance. Applies to: get_packet_pressure, accept_residual_risk. Required by: accept_residual_risk.
provider_idNoEvidence-provider identity recorded in the imported snapshot. Applies to: import_packet_evidence_snapshot. Required by: import_packet_evidence_snapshot.
question_idNoExisting open packet-construction or Oracle question identity. Applies to: answer_packet_question, waive_packet_question, block_packet_question. Required by: answer_packet_question, waive_packet_question, block_packet_question.
snapshot_idNoExisting imported packet-evidence snapshot identity to reconcile. Applies to: reconcile_packet_evidence. Required by: reconcile_packet_evidence.
source_refsNoReferences to existing sources governing the proposed change. Applies to: create_change.
subject_refNoSubject-side identity of the declared evidence claim. Applies to: declare_packet_evidence_claim. Required by: declare_packet_evidence_claim.
completenessNoDeclared completeness of each evidence surface; absent or partial evidence must remain explicit. Applies to: import_packet_evidence_snapshot. Required by: import_packet_evidence_snapshot.
milestone_idNoExisting milestone identity governing or filtering the requested scope. Applies to: create_change, link_change_milestone, start_packet_construction_audit. Required by: link_change_milestone.
out_of_scopeNoExplicitly excluded behavior and implementation work for this packet. Applies to: revise_packet.
target_stateNoDeclared packet target-readiness state checked against the governing target policy. Applies to: set_packet_target_state, revise_packet. Canonical values: draft, needs_targets, needs_authority, refined, execution_ready, stale, blocked.
baseline_refsNoReferences to existing baselines governing the proposed change. Applies to: create_change.
claim_dynamicNoWhether the evidence claim requires current dynamic/provider evidence rather than a static declaration. Applies to: declare_packet_evidence_claim.
evidence_refsNoReferences to actual supporting evidence; host-declared provenance remains host-declared. Applies to: declare_packet_evidence_claim, answer_packet_question.
packet_statusNoRequested canonical packet lifecycle status, checked against its ordinary transition guards. Applies to: transition_packet. Required by: transition_packet. Canonical values: planned, scaffolded, partial, idle, implemented, superseded, cancelled.
selection_refNoProvider selection reference retained in the imported evidence snapshot. Applies to: import_packet_evidence_snapshot. Required by: import_packet_evidence_snapshot.
target_policyNoPacket target-selection policy controlling explicit/provider/materialization readiness requirements. Applies to: set_packet_target_state, revise_packet. Canonical values: code_targets_required, documental_only.
answer_summaryNoExplanation resolving the selected packet-construction question. Applies to: answer_packet_question, block_packet_question.
claim_requiredNoWhether the declared claim is required for reconciliation closure. Applies to: declare_packet_evidence_claim.
active_providerNoAccepted compatibility input; the current fow_change handler does not consume it and it has no effect. Set execution ownership through packet authoring/external-work selection. Applies to: set_packet_target_state, revise_packet.
requirement_idsNoExplicit existing requirement IDs defining the selected scope. Applies to: create_change, revise_packet. Required by: create_change.
source_revisionNoDeclared repository/source revision associated with the work or evidence; does not independently prove implementation. Applies to: import_packet_evidence_snapshot. Required by: import_packet_evidence_snapshot.
blocking_reasonsNoCurrent readiness blockers recorded for this packet target. Applies to: set_packet_target_state, block_packet_question, revise_packet, transition_packet.
candidate_set_idNoSingular navigation-candidate-set alias, used when candidate_set_ids is absent or empty. Applies to: set_packet_target_state, revise_packet.
contract_versionNoVersion identifier of the imported provider-evidence contract. Applies to: import_packet_evidence_snapshot.packet-evidence-snapshot-v1
waiver_rationaleNoConcrete reason for explicitly waiving the selected packet-construction question under its policy. Applies to: waive_packet_question.
accepted_risk_refNoDurable reference identifying the explicitly accepted residual risk. Applies to: accept_residual_risk. Required by: accept_residual_risk.
architecture_refsNoReferences to components, interfaces or decisions in one adopted architecture revision; omission preserves selection and [] explicitly clears it. Applies to: revise_packet.
candidate_set_idsNoExisting navigation candidate sets supplying the packet's target-readiness context. Applies to: set_packet_target_state, revise_packet.
criterion_resultsNoDeclared results for the packet's completion criteria; completion, verification and acceptance remain distinct. Applies to: transition_packet.
provider_scope_idNoAuthorized scope identity understood by the configured provider. Applies to: import_packet_evidence_snapshot. Required by: import_packet_evidence_snapshot.
claim_contradictedNoWhether the declared evidence claim is contradicted, as explicitly reported by its source. Applies to: declare_packet_evidence_claim.
target_binding_idsNoExisting navigation target-binding identities supporting packet readiness. Applies to: set_packet_target_state, revise_packet.
workspace_revisionNoProvider-declared workspace revision associated with the imported evidence snapshot. Applies to: import_packet_evidence_snapshot.
completion_criteriaNoOrdered packet completion statements; these become stable criteria through the validation-authority workflow. Applies to: revise_packet.
context_snapshot_idNoSingular navigation-context-snapshot alias, used when context_snapshot_ids is absent or empty. Applies to: set_packet_target_state, revise_packet.
navigation_audit_idNoSingular navigation-audit alias, used when navigation_audit_ids is absent or empty. Applies to: set_packet_target_state, revise_packet.
successor_packet_idNoExisting successor/remediation packet identity associated with this lifecycle transition. Applies to: transition_packet.
context_snapshot_idsNoExisting context snapshots supporting current packet target selection. Applies to: set_packet_target_state, revise_packet.
depends_on_packet_idNoExisting predecessor packet ID to link as a dependency of the selected packet. Applies to: link_dependency. Required by: link_dependency.
navigation_audit_idsNoExisting navigation audit IDs supporting packet target readiness. Applies to: set_packet_target_state, revise_packet.
provider_snapshot_idNoProvider-issued identity of the imported evidence snapshot. Applies to: import_packet_evidence_snapshot. Required by: import_packet_evidence_snapshot.
unresolved_questionsNoKnown unresolved engineering/behavior questions retained on this packet; closure gates require resolution rather than anticipatory coding. Applies to: revise_packet.
construction_audit_idNoID of the existing packet-construction audit containing the question being resolved. Applies to: get_packet_construction_audit, answer_packet_question, waive_packet_question, block_packet_question. Required by: answer_packet_question, waive_packet_question, block_packet_question.
linked_navigation_refsNoExisting navigation references supporting the packet-question answer. Applies to: answer_packet_question.
reconciliation_item_idNoExisting residual identity returned by packet-evidence reconciliation. Applies to: disposition_packet_evidence_residual. Required by: disposition_packet_evidence_residual.
reconciliation_profileNoNamed reconciliation policy/profile to apply to the declared evidence scope. Applies to: initialize_packet_reconciliation.target-impact-v1
reconciliation_scope_idNoExisting packet-evidence reconciliation scope identity. Applies to: get_packet_reconciliation, declare_packet_evidence_claim, import_packet_evidence_snapshot, collect_packet_evidence_snapshot, reconcile_packet_evidence. Required by: declare_packet_evidence_claim, import_packet_evidence_snapshot, collect_packet_evidence_snapshot, reconcile_packet_evidence.
reconciliation_dispositionNoExplicit decision for the selected packet-evidence reconciliation residual. Applies to: disposition_packet_evidence_residual. Required by: disposition_packet_evidence_residual. Canonical values: resolved, waived, rejected, escalated, superseded.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, openWorldHint=true, idempotentHint=false and readOnlyHint=false, so the safety posture is known. The description adds real value beyond that: it discloses that some evidence-collection/audit routes use configured providers or inference, and that transitions/supersession can invalidate current authority. The request_id schema note also conveys the retry/receipt policy. This is meaningful behavioral context layered on the annotations.

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

Conciseness3/5

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

Content is clearly labeled (Route, Prerequisites, Effects, Exact help) and the purpose is front-loaded, which is good structure. However, the 24-route enumeration plus the effects boilerplate is heavy prose for a multiplexer whose schema already lists the same canonical operations, so some text is redundant with structured fields rather than earning its place.

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?

An output schema exists, so return values need not be explained, and the 78-parameter schema is fully documented. The description supplies purpose, routing, prerequisites, effects and a help pointer — sufficient for an agent to know which route to select. Deeper per-route argument semantics are deliberately deferred to fow_capabilities, which is a reasonable division of labor.

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 78 parameters, setting the baseline at 3. The description adds no per-parameter format or syntax detail but instead delegates exact per-operation parameter guidance to fow_capabilities. With the schema carrying the full burden, 3 is appropriate.

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 domain (governed change plus packet readiness, engineering questions, evidence reconciliation, dependencies, risk dispositions) and enumerates all 24 routes, so the resource is unambiguous. It also explicitly routes plan authoring to the sibling fow_packet_author, giving clear differentiation. The aggregate 'manage X, Y, Z' framing is broad but the route list grounds it.

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?

Provides a Prerequisites line (existing project/change/packet identities and the selected ordinary authority/evidence contract) and an Effects line, plus an explicit alternative ('Work plans are authored with fow_packet_author') and a concrete way to get per-route help via fow_capabilities. It does not, however, spell out when to prefer this tool over fow_packet_advance or fow_packet_inspect, leaving some sibling disambiguation implied.

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

fow_create_projectA
Idempotent

Register a uniquely identified local lifecycle project before recording its requirements, goals and implementation work. This creates lifecycle authority rather than repository scaffolding. Single operation; call directly without an operation argument. Prerequisites: Choose a unique lifecycle project ID and human-readable name. Effects: Creates canonical local project authority and its audit event. Repeated creation of the same project_id rejects before further effects; request_id is inert. Does not inspect or create repository files. Exact help (replace operation_name with the selected route): fow_capabilities({"view":"operation","operation_tool":"fow_create_project","operation_name":"call"}).

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesHuman-readable project or milestone name.
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_idNoAccepted compatibility input; current project creation does not consume request_id or issue a request replay receipt. The canonical project_id is unique and identical repeated creation is rejected before adding effects.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already declare non-readOnly, idempotent, non-destructive and closed-world, and the description adds real depth beyond them: duplicate project_id is rejected before further effects, request_id is inert, an audit event is created, and repository files are neither inspected nor created. This is exactly the behavioral context an agent needs before invoking a state-mutating tool.

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?

Purpose is front-loaded and the remainder is organized into usable Prerequisites/Effects clauses with zero filler sentences. The trailing 'Exact help' boilerplate and some conceptual jargon slightly dilute an otherwise tight passage, keeping it just short of 5.

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

Completeness5/5

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

An output schema exists, so return values need not be explained. Given that, the description covers purpose, prerequisites, side effects, duplicate-rejection behavior and non-file-system scope — everything needed to call it correctly.

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 baseline is 3; each parameter already has its own description in the schema. The description reinforces project_id uniqueness and request_id inertness, but that duplicates what the schema fields (particularly request_id) already document, so it adds little beyond the structured data.

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 ('Register a ... local lifecycle project') and immediately scopes it ('lifecycle authority rather than repository scaffolding'), which separates it from repo-file creation and from downstream siblings like fow_register_requirement and fow_goal. An agent can tell what this does and where it sits in the sequence without opening the schema.

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?

Explicitly says 'Single operation; call directly without an operation argument' and lists prerequisites (pick a unique project_id and human-readable name). It gives clear conditions for use but does not route to a named alternative tool (it only points at fow_capabilities for help), so full when/when-not/alternatives coverage is not reached.

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

fow_external_workA
Destructive

Hand a complete revision-bound packet to an external coding agent, export its executable Markdown plan, derive dependency-ordered TODOs and reconcile declared outcomes. Optional provider execution is a separate explicitly selected route. Route with operation: set_mode, select_executor, negotiate_provider, upgrade_validation, criteria, reconcile_criteria, add_criterion, edit_criterion, remove_criterion, validation, provider_validation, export_plan, todo, report_outcome, reconcile_outcome. Prerequisites: Use an existing packet/plan and issued authority. Select exactly one executor before execution. Effects: Reads derive criteria/readiness/TODO without executing code. Mutations record selection, criterion authority, artifacts and host outcomes; negotiate_provider alone explicitly probes optional provider support. Reporting completion does not verify or accept it. Exact help (replace operation_name with the selected route): fow_capabilities({"view":"operation","operation_tool":"fow_external_work","operation_name":"set_mode"}).

ParametersJSON Schema
NameRequiredDescriptionDefault
actorNoIdentity of the human or agent recording this action; retain the original identity when replaying its request.
payloadNoStandalone execution/PVP operation input. Copy issued spec/plan revisions and authority fingerprint where required; TODO/outcome identities and declared verification obligations must match the issued plan, including offline work. Applies to: set_mode, select_executor, negotiate_provider, upgrade_validation, reconcile_criteria, add_criterion, edit_criterion, remove_criterion, validation, provider_validation, export_plan, todo, report_outcome, reconcile_outcome. Required by: set_mode, select_executor, negotiate_provider, upgrade_validation, reconcile_criteria, add_criterion, edit_criterion, remove_criterion, export_plan, report_outcome, reconcile_outcome. Exact required/optional dotted fields and guidance: fow_capabilities(view=operation, operation_tool=fow_external_work, operation_name=<selected route>).
change_idYesCanonical owning change ID; when address resolution permits omission, the packet/campaign must resolve unambiguously.
operationYesOperation selector for this multiplexer; use a canonical route listed below. Canonical values: set_mode, select_executor, negotiate_provider, upgrade_validation, criteria, reconcile_criteria, add_criterion, edit_criterion, remove_criterion, validation, provider_validation, export_plan, todo, report_outcome, reconcile_outcome.
packet_idYesCanonical packet identity returned by authoring; it identifies the bounded implementation work.
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.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, openWorldHint=true and non-idempotent, so the description's job is to add context. It does: reads derive criteria/readiness/TODO without executing code; mutations record authority and outputs; negotiate_provider is the only route that probes optional provider support; reporting completion does not verify or accept it. That last point is important behavioral context not covered by annotations.

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

Conciseness3/5

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

It is front-loaded and organized with Route/Prerequisites/Effects paragraphs, which gives structure. However, the opening sentence is dense, the operation list duplicates the enum in the schema, and the help pointer is lengthy; the text is adequate but not tight.

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?

An output schema exists, so return values need not be explained. For a 7-parameter, 15-operation multiplexer the description covers routing, prerequisites and the key behavioral distinction between read and mutation routes, and points to fow_capabilities for per-operation field details. It is complete enough to call correctly, though per-operation semantics remain behind the capabilities tool.

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%, and the schema itself already describes actor, payload, change_id, packet_id, project_id, request_id and the operation enum. The description names the operations but adds little about individual parameter semantics beyond pointing to fow_capabilities for exact dotted fields. Baseline 3 is appropriate.

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

Purpose3/5

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

The description opens with a broad summary of handing a packet to an external coding agent, exporting plans, deriving TODOs and reconciling outcomes, then lists 15 operations. That is a consistent descriptor for a multiplexer, so the purpose is not misleading, but it does not establish what fow_external_work owns relative to siblings like fow_packet_advance or fow_run. Its identity is only distinguishable by the operation list.

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 states prerequisites (existing packet/plan and issued authority; exactly one executor selected before execution) and separates read operations from mutations. It does not tell the agent when to choose a sibling tool instead, but within this tool the read/mutation split and executor rule are clear routing guidance.

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

fow_generate_artifactsA

Render and retain project lifecycle documents using an existing artifact profile in a durable local job. The host publishes or saves returned artifacts separately. Single operation; call directly without an operation argument. Prerequisites: Select an existing configured artifact profile and project. Effects: Schedules local rendering and stores immutable artifact generations from ledger/profile data. No model/provider or repository publication is performed. Exact help (replace operation_name with the selected route): fow_capabilities({"view":"operation","operation_tool":"fow_generate_artifacts","operation_name":"call"}).

ParametersJSON Schema
NameRequiredDescriptionDefault
actorYesIdentity of the human or agent recording this action; retain the original identity when replaying its request.
profile_idYesConfigured artifact-generation profile identity; selects rendering policy, not a model endpoint.
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.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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

Goes well beyond the annotations: it discloses the durable local job, that stored generations are immutable, and that no model/provider call or repository publication occurs — the latter being important given openWorldHint=false. The request_id retry semantics are also surfaced. It stops short of stating auth/permission requirements or expected duration.

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 first sentence front-loads verb, resource, and mechanism, and the following lines are clearly segmented into Single operation / Prerequisites / Effects. Slightly verbose, and the long help pointer sentence is heavy, but nothing is redundant with structured fields.

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?

An output schema exists, so return values need not be explained, and the description covers prerequisites, effects, non-effects, and retry behavior for a mutation with idempotentHint=false. The main gap is the missing pointer to fow_get_artifacts as the retrieval counterpart.

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 four parameters are already documented (actor, profile_id, project_id, request_id) with meaningful semantics like 'selects rendering policy, not a model endpoint'. The description adds little parameter-level meaning beyond echoing that an existing profile and project must be selected, so the baseline 3 applies.

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: 'Render and retain project lifecycle documents using an existing artifact profile in a durable local job.' It also delimits scope by noting the host publishes/saves artifacts separately, so the agent can tell rendering from publishing. It does not name the read-side sibling (fow_get_artifacts), so sibling differentiation is implicit rather than explicit.

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?

'Single operation; call directly without an operation argument' plus an explicit Prerequisites line gives clear invocation context. However, it never states when NOT to use it or which sibling to reach for instead (e.g., fow_get_artifacts for retrieval), so the when-vs-alternatives guidance is absent.

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

fow_get_artifactsA
Read-onlyIdempotent

Retrieve retained artifact generations and optionally their document contents, filtered by generation or artifact kind. Single operation; call directly without an operation argument. Prerequisites: Select an existing project; generation_id optionally filters to one retained generation. Effects: Read-only stored metadata and optional content from all retained generations when generation_id is omitted. The coding host saves returned content using its own file tools. Exact help (replace operation_name with the selected route): fow_capabilities({"view":"operation","operation_tool":"fow_get_artifacts","operation_name":"call"}).

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYesCanonical lifecycle project ID. Select the existing project explicitly; development Markdown authorities are separate from runtime projects.
artifact_kindNoOptional artifact-type filter within the selected generation; omission returns all retained kinds.
generation_idNoStored immutable artifact-generation ID; omit it to read all retained generations for this project, subject to artifact_kind filtering.
include_contentNoWhether to include stored artifact body text as well as metadata.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive/closed-world, and the description adds real value beyond them: breadth of the read when generation_id is omitted (all retained generations), and the important operational note that the coding host writes returned content to disk using its own file tools rather than this tool persisting anything. No indication of pagination or result-size limits.

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?

Front-loads the purpose, then uses short labeled lines (Single operation / Prerequisites / Effects) that are easy to scan. The trailing templated capabilities-help sentence is boilerplate filler that slightly dilutes an otherwise tight definition.

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 not be described, and the description covers prerequisites, filtering scope, and content handling adequately. Minor omissions remain around pagination or volume expectations for large generation sets.

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 project_id, generation_id, artifact_kind and include_content with semantics comparable to the description. The description repeats the filtering behavior without adding syntax or format detail beyond it, so 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+resource ('Retrieve retained artifact generations and optionally their document contents') with the filtering axes named. It is clearly distinguishable from the write-side sibling fow_generate_artifacts and from the other fow_* tools.

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?

Explicitly says it is a single operation with no operation argument, and lists the prerequisite (select an existing project) plus how generation_id narrows scope. It lacks an explicit 'when not to use / use X instead' pointer back to fow_generate_artifacts for creating artifacts.

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

fow_get_jobA
Read-onlyIdempotent

Retrieve the status, result or failure of one previously scheduled durable job without starting or retrying it. Single operation; call directly without an operation argument. Prerequisites: Use the durable job ID returned when work was scheduled. Effects: Read-only job status/result/error; polling does not start or retry execution. Exact help (replace operation_name with the selected route): fow_capabilities({"view":"operation","operation_tool":"fow_get_job","operation_name":"call"}).

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYesDurable job ID returned by the operation that scheduled the work.
project_idYesCanonical lifecycle project ID. Select the existing project explicitly; development Markdown authorities are separate from runtime projects.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds meaningful behavioral context beyond that: polling does not start or retry execution, which is the exact misunderstanding an agent could have for a job-status tool.

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?

Front-loads the core purpose and then labels prerequisites and effects clearly. The trailing fow_capabilities help pointer is useful but adds bulk; still, every sentence carries operational content and none is filler.

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 not be spelled out, and the description supplies prerequisites, read-only effects, and a help route. It is complete enough for correct invocation, with the only gap being no explicit tie-break against fow_list_jobs.

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 both job_id and project_id are already documented in the schema, including where the job ID comes from. The description restates the job-ID provenance but adds no format or constraint detail beyond the schema; baseline 3 is appropriate.

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 ('Retrieve the status, result or failure of one previously scheduled durable job') and adds a scope boundary ('without starting or retrying it') that distinguishes it from scheduling or list-style siblings like fow_list_jobs. An agent can identify the tool's role without opening the schema.

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?

Gives the prerequisite (use the durable job ID returned when work was scheduled) and clarifies it is a single operation requiring no operation argument. It does not explicitly contrast with the sibling fow_list_jobs, so an agent must infer the one-job-vs-many-jobs split.

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

fow_get_requirementA
Read-onlyIdempotent

Retrieve one existing requirement, its current canonical state and retained revision history. Single operation; call directly without an operation argument. Prerequisites: Use an existing canonical requirement ID within its project. Effects: Read-only requirement state and immutable revision history; no model/provider calls. Exact help (replace operation_name with the selected route): fow_capabilities({"view":"operation","operation_tool":"fow_get_requirement","operation_name":"call"}).

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYesCanonical lifecycle project ID. Select the existing project explicitly; development Markdown authorities are separate from runtime projects.
requirement_idYesExisting canonical requirement identity, as returned by registration/import.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so safety is covered structurally. The description still adds real value beyond them by disclosing the effects ('no model/provider calls', immutable revision history) and the need for an existing canonical ID — cost, side-effect and precondition context the annotations cannot express.

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 key claim (what is retrieved) is front-loaded, and the Prerequisites/Effects labeling makes it scannable. The trailing 'Exact help (replace operation_name with the selected route)' boilerplate is a bit of templated filler, keeping it out of the top band.

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

Completeness5/5

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

A read-only retrieval tool with an output schema, full annotation coverage and 100% parameter description coverage needs little more than this. The description supplies the operation model, prerequisites, side-effect profile and help routing, leaving no gap an agent must close before calling it.

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% and both parameters are documented there in detail (canonical lifecycle project ID, requirement identity as returned by registration/import). The description's phrase 'existing canonical requirement ID within its project' only lightly reinforces that, without adding format, syntax or constraint detail beyond the schema — baseline 3.

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 (Retrieve) and resource (one existing requirement), and explicitly scopes what is returned: current canonical state plus retained revision history. The resource is unique among siblings, so an agent can distinguish it from fow_get_artifacts, fow_get_job, and the mutate-oriented fow_revise_requirement without opening the schema.

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 invocation guidance ('Single operation; call directly without an operation argument') and a precondition ('Use an existing canonical requirement ID within its project'), which is more than nothing. However, it never states when to prefer this over siblings such as fow_traceability or fow_revise_requirement, and there are no explicit when-not-to-use conditions.

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

fow_goalA

Describe intended software behavior as use cases, ordered sequences and behavioral expectations, then link and inspect those goal nodes or derive requirement candidates. Route with operation: view, add_use_case, add_sequence, add_behavioral_expectation, link, derive_requirement_candidates. Prerequisites: Use an existing project and canonical graph-node identities for links. Effects: view reads the graph; authoring appends use cases/sequences/expectations/links. Candidate derivation uses the recorded goal graph without inference; candidates do not silently become requirements. Exact help (replace operation_name with the selected route): fow_capabilities({"view":"operation","operation_tool":"fow_goal","operation_name":"view"}).

ParametersJSON Schema
NameRequiredDescriptionDefault
viewNoGoal-graph projection selected by operation=view; use the canonical views listed in exact operation help. Applies to: view. Canonical values: summary, nodes, edges, candidates.summary
actorNoIdentity of the human or agent recording this action; retain the original identity when replaying its request.
limitNoMaximum number of records in this read page; existing route-specific bounds still apply. Applies to: view.
titleNoShort human-readable title of the authored requirement, finding, packet, run step or campaign. Applies to: add_use_case, add_sequence, add_behavioral_expectation. Required by: add_use_case, add_sequence, add_behavioral_expectation.
offsetNoZero-based position of the first record in this bounded read page. Applies to: view.
categoryNoRequirement or behavioral-expectation category recognized by the current lifecycle policy. Applies to: add_behavioral_expectation. Required by: add_behavioral_expectation. Canonical values: functional, non_functional.
relationNoCanonical directed relationship between the selected source and target goal nodes. Applies to: link. Required by: link.
objectiveNoObservable objective of the use case or implementation run. Applies to: add_use_case. Required by: add_use_case.
operationYesOperation selector for this multiplexer; use a canonical route listed below. Canonical values: view, add_use_case, add_sequence, add_behavioral_expectation, link, derive_requirement_candidates.
statementNoPrecise requirement or behavioral expectation describing an observable obligation. Applies to: add_behavioral_expectation. Required by: add_behavioral_expectation.
invariantsNoConditions that must remain true throughout the scoped behavior or change. Applies to: add_use_case.
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.
detail_levelNoRead projection detail level; standard is bounded routine context, audit includes the available audit detail. Applies to: view. Canonical values: standard, audit.standard
normal_stepsNoOrdered normal use-case/sequence actions describing the intended successful behavior. Applies to: add_sequence. Required by: add_sequence.
participantsNoNamed actors/components participating in the use case or sequence. Applies to: add_sequence. Required by: add_sequence.
failure_stepsNoOrdered steps describing how the use case behaves when its normal operation fails. Applies to: add_sequence.
preconditionsNoConditions assumed before the use case starts. Applies to: add_use_case.
source_anchorNoOptional structured source anchor containing source_path, integer line_start and line_end, and optional label; this goal-authoring input is a mapping, distinct from requirement/finding string references. Applies to: add_use_case, add_sequence, add_behavioral_expectation.
postconditionsNoConditions that should hold after the use case completes. Applies to: add_use_case.
source_goal_idNoExisting source goal node for the directed goal relationship. Applies to: link. Required by: link.
target_goal_idNoExisting target goal node for the directed goal relationship. Applies to: link. Required by: link.
use_case_actorNoStakeholder/system role performing the use case, distinct from the actor recording this mutation. Applies to: add_use_case. Required by: add_use_case.
alternate_stepsNoOrdered alternative use-case steps, distinct from the normal and failure paths. Applies to: add_sequence.
expected_effectsNoObservable effects expected from the authored use-case or sequence steps. Applies to: add_sequence. Required by: add_sequence.
observable_outcomeNoResult the stakeholder should be able to observe when the use case succeeds. Applies to: add_use_case, add_behavioral_expectation. Required by: add_use_case, add_behavioral_expectation.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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

Annotations declare it is not read-only, not idempotent, and non-destructive, and the description adds useful specifics beyond that: 'view reads the graph; authoring appends ... candidates do not silently become requirements.' This clarifies the mutation/read split and the non-promoting behavior of derivation, going beyond the annotation flags.

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?

Front-loaded with the core purpose, then routing, prerequisites, and effects in labeled blocks. Reasonably tight for a 26-parameter multiplexer, though the help-invocation sentence is somewhat boilerplate.

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?

An output schema exists so return values need not be explained. The description covers routing, prerequisites, and effects for a complex multiplexer; the main omission is discriminating this tool from sibling authoring tools.

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 26 parameters thoroughly. The description adds only the operation routing values, which the schema also lists. Baseline 3 is appropriate.

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?

The description states a specific domain (goal graph) and enumerates the authoring capabilities (use cases, sequences, behavioral expectations, links, derivation). It is clear what the tool does, though it is a multiplexer whose breadth is better conveyed by the operation enumeration than a single crisp verb+resource.

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 explicitly names the routing operation values and provides prerequisites (existing project, canonical graph-node identities). It doesn't compare against siblings like fow_architecture or fow_register_requirement, but the routing guidance is concrete.

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

fow_ground_intentA

Run the configured internal intention-grounding workflow to compare selected goals with implementation evidence. For an external host assignment use fow_semantic. Single operation; call directly without an operation argument. Prerequisites: Requires configured internal inference and the implementation/source provider; host mode uses fow_semantic. Effects: Schedules bounded grounding and records declared audit evidence from actual optional integrations. Missing prerequisites block the job; grounding is not acceptance. Exact help (replace operation_name with the selected route): fow_capabilities({"view":"operation","operation_tool":"fow_ground_intent","operation_name":"call"}).

ParametersJSON 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.
goal_node_idsYesExisting use-case/sequence/expectation node IDs selected for intention grounding or correspondence.
source_revisionNoDeclared repository/source revision associated with the work or evidence; does not independently prove implementation.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

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

Annotations declare readOnlyHint=false, openWorldHint=true, idempotentHint=false, destructiveHint=false, so the safety profile is already carried. The description goes beyond that by disclosing async behavior ('Schedules bounded grounding'), that audit evidence is recorded from optional integrations, and the important caveat that 'grounding is not acceptance.' It does not spell out receipt/idempotency semantics beyond pointing at the help route.

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 content is front-loaded with the purpose, then prerequisites, then effects, which is a sensible order and each block earns its place. It is slightly redundant ('host mode uses fow_semantic' repeats the earlier external-host routing sentence) and the trailing self-referential help pointer adds length, but nothing is padded.

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?

This is a non-idempotent, open-world mutation that schedules a job, and the description covers prerequisites, blocking behavior, side effects (audit evidence), and the semantic limit of the result. Because an output schema exists, it need not describe return values. The main residual gap is that it does not describe how to observe the scheduled job's progress.

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% and all five parameters carry their own descriptions (actor, project_id, request_id, goal_node_ids, source_revision), so the schema does the heavy lifting. The description adds no parameter-level syntax or format detail, which is the expected baseline when coverage is complete.

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 ('Run the configured internal intention-grounding workflow to compare selected goals with implementation evidence'), which is far more precise than the bare tool name. It immediately distinguishes itself from the closest sibling by stating 'For an external host assignment use fow_semantic.' An agent can separate fow_ground_intent from fow_semantic without opening either 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?

It gives explicit routing guidance: use this tool for internal intention grounding, use fow_semantic for an external host assignment. Prerequisites are stated concretely ('Requires configured internal inference and the implementation/source provider') along with the consequence of missing them ('Missing prerequisites block the job'). Both when-to-use and when-not-to-use are covered.

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

fow_handoverA

Read coherent project progress and lifecycle context or retain a durable handover snapshot that another agent can inspect and resume. Route with operation: create_handover, get_handover, resume_context, ledger_projection, project_state_snapshot, project_progress. Prerequisites: Select current project scope or a retained handover ID. Effects: Read projections are inert; create_handover stores a coherent durable snapshot. It does not execute, accept or rewrite historical work. Exact help (replace operation_name with the selected route): fow_capabilities({"view":"operation","operation_tool":"fow_handover","operation_name":"create_handover"}).

ParametersJSON Schema
NameRequiredDescriptionDefault
actorNoIdentity of the human or agent recording this action; retain the original identity when replaying its request.
limitNoMaximum number of records in this read page; existing route-specific bounds still apply. Applies to: project_state_snapshot.
run_idNoExisting implementation-run identity returned by create_run. Applies to: create_handover, resume_context. Required by: create_handover.
change_idNoCanonical owning change ID; when address resolution permits omission, the packet/campaign must resolve unambiguously.
focus_refNoExisting lifecycle-object reference selected by focus_kind. Applies to: project_state_snapshot.
operationYesOperation selector for this multiplexer; use a canonical route listed below. Canonical values: create_handover, get_handover, resume_context, ledger_projection, project_state_snapshot, project_progress.
packet_idNoCanonical packet identity returned by authoring; it identifies the bounded implementation work.
focus_kindNoType of lifecycle object anchoring the requested handover projection. Applies to: project_state_snapshot. Canonical values: project, milestone, use_case, sequence, packet, gate.project
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.
handover_idNoIdentity of an existing durable handover snapshot to inspect or resume. Applies to: get_handover, resume_context. Required by: get_handover.
milestone_idsNoExplicit existing milestone IDs in the roadmap or handover selection. Applies to: project_progress. Required by: project_progress.
profile_versionNoRequested existing handover projection contract/profile version. Applies to: create_handover.handover-context-v1
projection_kindNoKind of coherent lifecycle projection to retain in the handover. Applies to: ledger_projection.lifecycle

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

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

Annotations declare readOnly=false and destructive=false but say nothing about scope of mutation. The description fills that gap well: read projections are inert, create_handover stores a coherent durable snapshot, and it explicitly does not execute, accept, or rewrite historical work. It does not address retry/receipt semantics beyond deferring to operation help, which keeps it short of a 5.

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?

Front-loaded around the read/write split, then routing, prerequisites, effects, and a help pointer in that order. Dense but every line carries information; the fow_capabilities boilerplate is slightly long but justified for a six-route multiplexer.

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 split, routing, prerequisites, and non-destructiveness for what is a 6-route, 14-parameter multiplexer. The per-parameter route mapping lives in the schema's "Applies to" annotations, so the description is nearly complete; only route-to-sibling boundary guidance is missing.

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% across 14 parameters, each already annotated with which route it applies to and which are required, so the schema carries the burden and baseline 3 applies. The description adds only the aggregate prerequisite (project scope or handover ID retained) and route names, without new format or constraint detail.

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?

The first sentence names a specific resource and two concrete modes: reading lifecycle/progress context versus retaining a durable handover snapshot another agent can resume. The six operation routes are listed, so the tool's dual read/write scope is clear. It stops short of distinguishing itself from nearby siblings like fow_packet_inspect or fow_campaign_inspect, which also deal with progress state.

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?

"Route with operation: ..." plus "Prerequisites: Select current project scope or a retained handover ID" gives real selection context, and the fow_capabilities pointer offers per-route help. However, no guidance is given on when to pick ledger_projection versus project_state_snapshot versus project_progress, nor when a sibling tool would be the better entry point. Usage is implied by route names rather than explained.

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

fow_import_srsA

Import an eligible local Markdown SRS as the initial canonical requirement baseline, preserving validated source provenance. Existing baseline changes use fow_revise_srs_baseline. Single operation; call directly without an operation argument. Prerequisites: Supply a structurally/semantically eligible initial local SRS under the selected profile. Effects: Validates source provenance and atomically imports the initial canonical baseline. Existing baseline replacement uses revise_srs_baseline; import is not stakeholder acceptance. Exact help (replace operation_name with the selected route): fow_capabilities({"view":"operation","operation_tool":"fow_import_srs","operation_name":"call"}).

ParametersJSON 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

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations supplied, the description carries the load and does reasonably well: it discloses provenance validation, atomic import semantics, the eligibility prerequisite, and the non-implication of stakeholder acceptance, and points to the operation help for receipt policy. It still doesn't cover permissions/auth required to import a canonical baseline or whether an import can be undone.

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?

Front-loaded statement of purpose followed by clearly labelled Prerequisites/Effects lines — efficient structure. The final 'exact help' sentence is boilerplate phrased generically for a route-based tool and reads as marginal noise on a single-operation 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?

Covers purpose, prerequisites, effects, sibling routing, and invocation mode, but with no output schema the description never says what the agent receives back (baseline identifier, receipt, revision record). For a baseline-mutating operation that gap is a modest but real incompleteness.

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?

All five parameters carry schema descriptions (source_path explains the server-filesystem constraint and import root; request_id explains retry identity), so the schema does the heavy lifting. The description only adds that the source must be eligible under the selected profile, which is confirmatory rather than new. 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 ('Import ... Markdown SRS as the initial canonical requirement baseline') and scopes it to the *initial* baseline, explicitly naming fow_revise_srs_baseline as the tool for existing baseline changes. An agent can distinguish this from its lifecycle siblings 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 an explicit alternative and the condition selecting it ('Existing baseline changes use fow_revise_srs_baseline'), plus stated prerequisites (eligible local SRS under the selected profile) and a scope exclusion ('import is not stakeholder acceptance'). It also tells the agent to call directly without an operation argument.

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

fow_interactionB
Destructive

Connect this conversation to its durable lifecycle project, discover available work and select one bounded work surface using the issued choices and frame. Route with operation: status, discover, open, select_project, switch_project, clear_project, select, switch, clear, frame, resolve, goal_hook. Prerequisites: Supply the host's stable interaction_session_ref and explicit selection intent. Effects: Persists conversation context, lenses and continuations. Optional configured discovery providers may be consulted; selecting a surface does not authorize its work. Exact help (replace operation_name with the selected route): fow_capabilities({"view":"operation","operation_tool":"fow_interaction","operation_name":"status"}).

ParametersJSON Schema
NameRequiredDescriptionDefault
areaNoInteger lifecycle-area choice issued by the current discovery/frame. Use its displayed number; do not supply an area name or invent an index. Applies to: select, switch. Required by: select, switch.
actorNoIdentity of the human or agent recording this action; retain the original identity when replaying its request.orchestrator
limitNoMaximum number of records in this read page; existing route-specific bounds still apply. Applies to: discover.
queryNoBounded search text used by interaction discovery within the selected work surface. Applies to: discover.
triggerNoDeclared interaction-continuation trigger used to select the next bounded attention surface. Applies to: goal_hook. Required by: goal_hook. Canonical values: goal_started, goal_resumed, lens_changed, bounded_work_completed, asynchronous_wake, breath_resumed, context_reconstructed, structural_no_progress.
frame_refNoIssued interaction frame reference used to continue the same bounded selection/page. Applies to: resolve. Required by: resolve.
operationNoOperation selector for this multiplexer; use a canonical route listed below. Canonical values: status, discover, open, select_project, switch_project, clear_project, select, switch, clear, frame, resolve, goal_hook.status
selectionNoInteger work-item choice issued by the current interaction frame. Retain its frame_ref and use the displayed number. Applies to: resolve. Required by: resolve.
project_idNoCanonical 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.
page_actionNoRequested interaction-page navigation action using the issued frame, not a new project selection. Applies to: discover. Canonical values: more, refine, stop.refine
trigger_refNoReference to the event/evidence that caused the declared interaction trigger. Applies to: goal_hook.
breath_availableNoHost-declared availability for the interaction continuation boundary; does not authorize work or accept results. Applies to: goal_hook.
project_selectionNoInteger project choice issued by project discovery. Use the displayed number for the current interaction session; project_id is the separate explicit identity input. Applies to: select_project, switch_project.
interaction_session_refYesHost-provided stable interaction-session identity; retain it across calls within the same conversation.
previous_anchor_fingerprintNoPreviously issued interaction anchor fingerprint used to detect continuation drift. Applies to: goal_hook.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=true and openWorldHint=true, so mutation risk and external reach are known. The description adds genuine context beyond that in the Effects line ('Persists conversation context, lenses and continuations', external providers 'may be consulted', and 'selecting a surface does not authorize its work'), but it never maps destructive behavior to specific routes (clear, clear_project) or states auth/permission needs, so it only partially fills the 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?

The text is front-loaded with purpose and then cleanly sectioned into Route, Prerequisites, Effects, and an 'Exact help' pointer, making it easy to scan. It is fairly dense with neologisms and repeats the route list already present in the operation enum, but every section is functionally purposeful.

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 12-route multiplexer this is thin: the description lists operation names but never explains what distinguishes select from switch from frame from resolve, which is exactly what an agent needs to choose a route. Output values need not be explained since an output schema exists, and the pointer to fow_capabilities partially mitigates the gap, but it forces a second call to become actionable.

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 16 parameters thoroughly, including which routes each applies to. The description adds only the prerequisite that interaction_session_ref and selection intent must be supplied, so the baseline 3 for a fully-documented schema is appropriate.

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

Purpose3/5

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

The description names a concrete set of verbs (connect, discover, select) and a resource (the lifecycle project/work surface) and enumerates the 12 routes, which helps an agent see the multiplexer's scope. However, it is wrapped in invented jargon ('durable lifecycle project', 'bounded work surface', 'issued choices and frame') and never distinguishes this tool from siblings like fow_what_next, fow_goal, or fow_capabilities, so an agent cannot easily tell when this is the right entry point.

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 a real prerequisite ('Supply the host's stable interaction_session_ref and explicit selection intent') and tells the agent to pick a route via the operation selector, plus points to fow_capabilities for exact per-operation help. But it offers no when-to-use vs when-not-to-use guidance and names no alternative sibling tool, leaving route selection to inference.

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

fow_list_jobsA
Read-onlyIdempotent

List the durable jobs already recorded for one lifecycle project without scheduling additional work. Single operation; call directly without an operation argument. Prerequisites: Select an existing project. Effects: Read-only durable job inventory; does not schedule, retry or cancel jobs. Exact help (replace operation_name with the selected route): fow_capabilities({"view":"operation","operation_tool":"fow_list_jobs","operation_name":"call"}).

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYesCanonical lifecycle project ID. Select the existing project explicitly; development Markdown authorities are separate from runtime projects.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, non-destructive behavior. The description adds useful context beyond that: it is a durable job inventory and does not schedule, retry, or cancel jobs.

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 description is short and front-loaded, with purpose first, then invocation, prerequisites, and effects. The trailing exact-help call is useful but slightly less essential, keeping it from a full 5.

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

Completeness5/5

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

Given rich annotations, full parameter schema coverage, and an output schema, the description supplies everything an agent needs: purpose, invocation style, prerequisite, and side-effect boundaries. Return values are appropriately left to the output schema.

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 the single project_id parameter thoroughly. The description only adds that the project must be selected explicitly, which is already implied by the schema description; baseline 3 is appropriate.

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: 'List the durable jobs already recorded for one lifecycle project.' It adds scope and an exclusion ('without scheduling additional work'), but does not explicitly differentiate itself from the related fow_get_job sibling.

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?

Gives clear invocation guidance ('call directly without an operation argument') and a prerequisite ('Select an existing project'). It also implies when not to use it by saying it does not schedule work, though it names no sibling alternative explicitly.

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

fow_packet_advanceA
Destructive

Move an existing packet through its ordinary lifecycle gates and admitted provider delivery, or only synchronize authoring deltas without starting execution. Semantic decisions answer the exact current gate. Route ordinary progression with mode=advance (default) or sync_only. Gate responses use decision.operation: accept_work_plan, reject_work_plan, accept_residual_risk, retry_provider_rejection, record_workspace_review, resolve_reconciliation_residual. Prerequisites: Inspect the current packet gate and retain issued revision/fingerprint identities. Effects: advance may synchronize provider deltas, persist transitions and reach START when admitted. mode=sync_only delivers deltas without START and rejects gate decisions. Explicit provider routes require compatible configured support; failures preserve truthful recovery. Exact help (replace operation_name with the selected route): fow_capabilities({"view":"operation","operation_tool":"fow_packet_advance","operation_name":"advance"}).

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoPacket advancement policy: advance evaluates ordinary progression; sync_only delivers pending deltas without START. Applies to: advance. Canonical values: advance, sync_only.advance
actorYesIdentity of the human or agent recording this action; retain the original identity when replaying its request.
decisionNoGate response object routed by decision.operation. Omit it for ordinary advance; obtain the current gate and its required decision fields before replying. sync_only rejects semantic decisions. Applies to: accept_work_plan, reject_work_plan, accept_residual_risk, retry_provider_rejection, record_workspace_review, resolve_reconciliation_residual. Required by: accept_work_plan, reject_work_plan, accept_residual_risk, retry_provider_rejection, record_workspace_review, resolve_reconciliation_residual. Exact required/optional dotted fields and guidance: fow_capabilities(view=operation, operation_tool=fow_packet_advance, operation_name=<selected route>).
change_idNoCanonical owning change ID; when address resolution permits omission, the packet/campaign must resolve unambiguously.
packet_idYesCanonical packet identity returned by authoring; it identifies the bounded implementation work.
project_idYesCanonical lifecycle project ID. Select the existing project explicitly; development Markdown authorities are separate from runtime projects.
request_idYesCaller-owned retry identity. For receipted mutations replay the same actor and contents; changed contents can conflict. Inspect exact operation help for its receipt policy.
expected_plan_revisionNoPlan revision issued with the work or gate being acted on; do not replace stale issued authority to legitimize old work.
expected_spec_revisionNoPacket specification revision issued with the work or gate being acted on; mismatch rejects stale mutation.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, idempotentHint=false and openWorldHint=true; the description adds real behavioral context beyond them — what advance persists and that it can reach START when admitted, that sync_only delivers deltas without START and rejects gate decisions, that explicit provider routes require compatible configured support, and that failures preserve truthful recovery. It stops short of detailing what state is destroyed or the retry/conflict mechanics, which the schema partially carries.

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?

Purpose is front-loaded, followed by routing, prerequisites, effects, and a precise help pointer, so each block is scannable. It is dense with domain jargon and the 'Semantic decisions answer the exact current gate' line is terse to the point of opacity, but no sentence is pure filler.

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 9-parameter, gated mutation tool with an output schema available, the description covers prerequisites, effects, mode routing, and failure behavior adequately. It relies on the fow_capabilities pointer for exact per-route required fields, which is a reasonable division of labor but leaves the agent to make a follow-up call.

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 by explaining mode semantics, how decision.operation routes each gate response, and the need to retain issued revision/fingerprint identities (expected_plan_revision/expected_spec_revision). It adds meaning beyond the schema rather than restating it.

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 concrete verb+resource ('Move an existing packet through its ordinary lifecycle gates') and splits it into the two operating modes (advance vs sync_only), so the agent knows this is a lifecycle-progression tool rather than authoring or inspection. It does not explicitly name siblings such as fow_packet_inspect or fow_packet_author, so it falls short of full sibling differentiation.

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?

Gives clear routing criteria ('Route ordinary progression with mode=advance (default) or sync_only'), states the prerequisite to inspect the current gate first, and enumerates the gate decision routes via decision.operation. There is no explicit 'do not use this when X, use tool Y' exclusion, but the context for correct usage is well covered.

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

fow_packet_authorA
Destructive

Define the bounded implementation work in a packet: complete instructions, stable plan units, dependencies, producer/consumer contracts and checks. Resolve engineering questions through ordinary authoring before execution. Route with operation: start_packet, revise_packet, replace_plan, resolve_questions, answer_gate, add_unit, revise_unit, remove_unit, rebind_unit, set_dependencies. Prerequisites: Use current specification/plan revisions and ordinary packet authority; investigate and close semantic gaps before dispatch. Effects: Creates/revises packets and complete ordered units/contracts/dependencies. Removal/replacement changes current plan authority; provider-target deltas may be queued, without executing coding work. Exact help (replace operation_name with the selected route): fow_capabilities({"view":"operation","operation_tool":"fow_packet_author","operation_name":"start_packet"}).

ParametersJSON Schema
NameRequiredDescriptionDefault
unitNoComplete bounded implementation-unit declaration, including instructions, targets, producer/consumer contracts and verification obligations as required by plan authority. Applies to: add_unit. Exact required/optional dotted fields and guidance: fow_capabilities(view=operation, operation_tool=fow_packet_author, operation_name=<selected route>).
actorYesIdentity of the human or agent recording this action; retain the original identity when replaying its request.
titleNoShort human-readable title of the authored requirement, finding, packet, run step or campaign. Applies to: start_packet, revise_packet. Required by: start_packet.
intentNoEngineering statement of the packet's intended observable behavior and authorized scope. Applies to: start_packet, revise_packet. Required by: start_packet.
answersNoStructured resolutions of the packet's currently open engineering questions, using their issued identities. Applies to: replace_plan, resolve_questions. Required by: resolve_questions. Exact required/optional dotted fields and guidance: fow_capabilities(view=operation, operation_tool=fow_packet_author, operation_name=<selected route>).
purposeNoCanonical packet purpose, including ordinary implementation or governed semantic remediation. Applies to: start_packet. Required by: start_packet. Canonical values: implementation, remediation.implementation
goal_idsNoExisting goal graph IDs governing the packet or campaign scope. Applies to: start_packet, revise_packet.
in_scopeNoBehaviors and implementation boundaries explicitly included in this packet. Applies to: start_packet, revise_packet.
responseNoStructured answer to the issued packet gate; use its current fingerprint and exact response contract. Applies to: answer_gate. Required by: answer_gate. Exact required/optional dotted fields and guidance: fow_capabilities(view=operation, operation_tool=fow_packet_author, operation_name=<selected route>).
change_idNoCanonical owning change ID; when address resolution permits omission, the packet/campaign must resolve unambiguously.
operationNoOperation selector for this multiplexer; use a canonical route listed below. Canonical values: start_packet, revise_packet, replace_plan, resolve_questions, answer_gate, add_unit, revise_unit, remove_unit, rebind_unit, set_dependencies.add_unit
packet_idNoCanonical packet identity returned by authoring; it identifies the bounded implementation work.
rationaleNoConcrete reasoning supporting this ordinary mutation, decision or selected authority. Applies to: start_packet, revise_packet.
work_planNoComplete ordered implementation plan with stable unit identities, dependencies, instructions and checks; accepted mutations give it authority. Applies to: replace_plan. Required by: replace_plan. Exact required/optional dotted fields and guidance: fow_capabilities(view=operation, operation_tool=fow_packet_author, operation_name=<selected route>).
depends_onNoExisting plan-unit identities this unit must consume before becoming executable. Applies to: set_dependencies. Required by: set_dependencies.
invariantsNoConditions that must remain true throughout the scoped behavior or change. Applies to: start_packet, revise_packet.
project_idYesCanonical lifecycle project ID. Select the existing project explicitly; development Markdown authorities are separate from runtime projects.
request_idYesCaller-owned retry identity. For receipted mutations replay the same actor and contents; changed contents can conflict. Inspect exact operation help for its receipt policy.
unit_patchNoExplicit patch to the identified existing plan unit; omitted fields preserve existing values under the ordinary revision rules. Applies to: revise_unit, rebind_unit. Required by: revise_unit, rebind_unit. Exact required/optional dotted fields and guidance: fow_capabilities(view=operation, operation_tool=fow_packet_author, operation_name=<selected route>).
finding_idsNoExisting assurance finding IDs that the corrective packet is intended to address. Applies to: start_packet.
milestone_idNoExisting milestone identity governing or filtering the requested scope. Applies to: start_packet.
out_of_scopeNoExplicitly excluded behavior and implementation work for this packet. Applies to: start_packet, revise_packet.
target_policyNoPacket target-selection policy controlling explicit/provider/materialization readiness requirements. Applies to: start_packet. Canonical values: code_targets_required, documental_only.code_targets_required
active_providerNoSelected implementation-provider identity for provider-owned packet execution. Applies to: start_packet.
client_unit_keyNoStable caller-owned unit identity used to reconcile authoring retries and locate the intended plan unit. Applies to: add_unit, revise_unit, remove_unit, rebind_unit, set_dependencies. Required by: revise_unit, remove_unit, rebind_unit, set_dependencies.
requirement_idsNoExplicit existing requirement IDs defining the selected scope. Applies to: start_packet, revise_packet.
source_revisionNoDeclared repository/source revision associated with the work or evidence; does not independently prove implementation. Applies to: start_packet.
gate_fingerprintNoFingerprint of the exact issued packet gate being answered; prevents responding to a different current gate. Applies to: answer_gate. Required by: answer_gate.
target_selectionNoStructured existing navigation/plan-unit target selection; inspect its current identities before binding. Applies to: add_unit.
architecture_refsNoReferences to components, interfaces or decisions in one adopted architecture revision; omission preserves selection and [] explicitly clears it. Applies to: start_packet, revise_packet.
completion_criteriaNoOrdered packet completion statements; these become stable criteria through the validation-authority workflow. Applies to: start_packet, revise_packet. Required by: start_packet.
unresolved_questionsNoKnown unresolved engineering/behavior questions retained on this packet; closure gates require resolution rather than anticipatory coding. Applies to: start_packet, revise_packet.
predecessor_packet_idNoExisting packet being superseded or corrected by this new packet. Applies to: start_packet.
required_campaign_idsNoExisting campaigns whose successful verification remains required by this corrective packet/finding. Applies to: start_packet.
expected_plan_revisionNoPlan revision issued with the work or gate being acted on; do not replace stale issued authority to legitimize old work. Applies to: revise_packet, replace_plan, resolve_questions, answer_gate, add_unit, revise_unit, remove_unit, rebind_unit, set_dependencies. Required by: revise_unit, remove_unit, rebind_unit, set_dependencies.
expected_spec_revisionNoPacket specification revision issued with the work or gate being acted on; mismatch rejects stale mutation. Applies to: revise_packet, replace_plan, resolve_questions, answer_gate, add_unit, revise_unit, remove_unit, rebind_unit, set_dependencies.
required_regression_evidenceNoDeclared regression evidence obligations that must remain visible until actually satisfied. Applies to: start_packet.
predecessor_dependency_policyNoDeclared dependency treatment when creating a successor/remediation packet. Applies to: start_packet. Canonical values: materialized, context_only.materialized

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false, openWorldHint=true, so the safety profile is covered. The description meaningfully adds: removal/replacement changes current plan authority, provider-target deltas may be queued, and — importantly — no coding work is actually executed. That is real context beyond the structured hints.

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 labeled lines (purpose, routing, prerequisites, effects, help) front-load the definition and are scannable. Given a 38-parameter multiplexer, the density is justified, though the help-pointer sentence and some phrasing are slightly redundant with the schema's own capability notes.

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 not be described, and the description still covers effects, prerequisites, routing, and where to get per-operation detail. For a tool of this complexity it is nearly complete; only the when-versus-siblings dimension is left implicit.

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% across 38 parameters, so the schema already documents each field's meaning and applicable operations. The description adds only the operation-route enumeration and a pointer to fow_capabilities for exact dotted-field help, which does not meaningfully exceed the schema's own content. Baseline 3 is appropriate.

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 — defining bounded implementation work in a packet — and enumerates what that entails (instructions, stable plan units, dependencies, producer/consumer contracts, checks). The operation list makes the tool's surface très concrete. It doesn't explicitly name a sibling such as fow_packet_advance or fow_packet_inspect to disambiguate, so it falls 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?

"Route with operation: ..." tells how to select a mode, and the Prerequisites line gives a precondition (use current spec/plan revisions, close semantic gaps before dispatch). However, nothing says when to choose this authoring tool over fow_packet_advance or fow_packet_inspect, so guidance 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.

fow_packet_inspectA
Read-onlyIdempotent

Inspect a packet scope, executable units, current gates, requirements, working sheet or retained history without advancing or executing it. Route with view: summary, units, gates, working_sheet, history, requirements. Prerequisites: Use the packet ID and owning change when needed for unambiguous address resolution. Effects: Read-only bounded packet authority/units/gates/history. Provider capability projection is local binding inspection; no provider RPC or coding execution. Exact help (replace operation_name with the selected route): fow_capabilities({"view":"operation","operation_tool":"fow_packet_inspect","operation_name":"summary"}).

ParametersJSON Schema
NameRequiredDescriptionDefault
viewNoRead projection selector; canonical view names depend on this tool. Canonical values: summary, units, gates, working_sheet, history, requirements.summary
limitNoMaximum number of records in this read page; existing route-specific bounds still apply.
offsetNoZero-based position of the first record in this bounded read page.
change_idNoCanonical owning change ID; when address resolution permits omission, the packet/campaign must resolve unambiguously.
packet_idYesCanonical packet identity returned by authoring; it identifies the bounded implementation work.
project_idYesCanonical lifecycle project ID. Select the existing project explicitly; development Markdown authorities are separate from runtime projects.
detail_levelNoRead projection detail level; standard is bounded routine context, audit includes the available audit detail. Canonical values: standard, audit.standard

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description nonetheless adds value beyond them: 'no provider RPC or coding execution,' the fact that provider capability projection is local binding inspection, and that the packet authority is bounded – all behavioral context an agent could not derive from the annotations alone.

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?

Front-loads the core purpose in the first sentence and then layers route, prerequisites, and effects in clearly delineated blocks. The trailing 'Exact help' JSON template is slightly clunky but is a concrete pointer rather than filler, so the overall structure is efficient.

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

Completeness5/5

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

For a 7-parameter read tool with an output schema present, the description covers purpose, routing, prerequisites, and effects without needing to explain return values. Nothing an agent needs in order to invoke it correctly is missing.

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 every parameter is already documented, and the tool has no enums. The description restates the view routes (summary, units, gates, working_sheet, history, requirements) and the packet/change address prerequisite, but adds no format, default, or interaction detail beyond the schema, which is the expected baseline of 3.

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 (inspect) and resource (packet scope: units, gates, requirements, working sheet, history) and immediately bounds it with 'without advancing or executing it,' which cleanly separates it from the fow_packet_advance sibling. An agent can tell what it does and what it does not do without opening the schema.

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?

The 'without advancing or executing it' clause plus the route list tells the agent when this is the right call versus the advance/mutation path, and it names a prerequisite (packet ID and owning change for unambiguous resolution). It stops short of explicitly naming fow_packet_advance as the alternative, so it is clear context rather than a full when/when-not routing table.

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

fow_promote_milestoneA

Create planned milestone scope from canonical requirements, dependencies and entry/exit/risk policies. Actual result acceptance uses fow_accept_milestone. Single operation; call directly without an operation argument. Prerequisites: Supply canonical requirements, dependency closure and planning entry/exit/risk policies. Effects: Records planned milestone scope. Nonempty acceptance_evidence is rejected; promotion does not accept the result. Exact help (replace operation_name with the selected route): fow_capabilities({"view":"operation","operation_tool":"fow_promote_milestone","operation_name":"call"}).

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesHuman-readable project or milestone name.
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.
exit_policyYesDeclared exit/acceptance conditions for the milestone's planned scope.
entry_policyYesDeclared entry conditions for the milestone's planned scope.
requirement_idsYesExplicit existing requirement IDs defining the selected scope.
risk_dispositionYesDeclared treatment of milestone planning risks.
acceptance_evidenceNoReserved compatibility input; milestone promotion plans scope and rejects nonempty acceptance evidence. Use fow_accept_milestone for actual governed acceptance.
dependency_closure_idsYesRequirement IDs included in the milestone's explicit dependency closure.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

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

Annotations declare readOnlyHint=false and destructiveHint=false; the description goes further by disclosing the observable effect ('Records planned milestone scope') and a hard failure condition (nonempty acceptance_evidence is rejected). It does not discuss retry/idempotency behavior despite idempotentHint=false, though the request_id parameter description in the schema partly covers that.

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?

Front-loaded with purpose and the alternative route, then labeled Prerequisites/Effects lines that scan quickly. The trailing 'Exact help' boilerplate with the operation_name substitution instruction is lower-value and slightly bloats an otherwise tight definition.

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 10-parameter governed mutation with an output schema, the description covers purpose, prerequisites, effect, rejection rule, and the sibling alternative, so an agent has enough to invoke it correctly. Minor gaps remain around failure/retry semantics, which the request_id schema description only partly addresses.

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. The description adds genuine meaning beyond the schema for the two highest-risk inputs: acceptance_evidence is a 'reserved compatibility input' that must stay empty, and the requirement/dependency/policy inputs are framed as prerequisites the caller must supply. That is useful routing information, though no syntax or format detail is added.

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 ('Create planned milestone scope') and immediately names the contrasting sibling ('Actual result acceptance uses fow_accept_milestone'), so the agent can separate scope planning from acceptance without opening either schema. The scope is further bounded by the inputs it draws from (requirements, dependencies, entry/exit/risk policies).

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 explicit when-to-use ('Create planned milestone scope...'), when-not (rejects nonempty acceptance_evidence; promotion does not accept the result), and the alternative route (fow_accept_milestone). It also answers the invocation-shape question directly: 'Single operation; call directly without an operation argument.'

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

fow_record_verificationA

Record evidence actually obtained for a requirement, including verification method, outcome, reference and declared metadata. This records a result rather than running a test. Single operation; call directly without an operation argument. Prerequisites: Use an existing requirement and evidence actually obtained by the declared verification method. Effects: Appends declared evidence/provenance. It does not execute tests, audit a provider or grant acceptance. Exact help (replace operation_name with the selected route): fow_capabilities({"view":"operation","operation_tool":"fow_record_verification","operation_name":"call"}).

ParametersJSON Schema
NameRequiredDescriptionDefault
actorYesIdentity of the human or agent recording this action; retain the original identity when replaying its request.
outcomeYesDeclared verification result, preserving failed or unexecuted obligations as such. Canonical values: passed, failed, partial.
metadataNoDeclared verification metadata, such as provenance and execution details; not independent proof of the result.
referenceYesLocator/reference of actual verification evidence; evidence provenance remains explicitly declared.
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.
requirement_idYesExisting canonical requirement identity, as returned by registration/import.
verification_kindYesCanonical verification category identifying how the declared requirement evidence was obtained. Canonical values: tested_deterministically, tested_live.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

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

Annotations mark this as a non-read-only, non-idempotent, non-destructive mutation; the description is consistent and goes further by saying it 'appends declared evidence/provenance' and explicitly disclaims test execution, provider auditing, and acceptance granting. Retry/receipt behavior is only gestured at ('inspect exact operation help'), leaving idempotency semantics thin given idempotentHint=false.

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?

Front-loaded purpose followed by labeled Prerequisites/Effects blocks, which is easy for an agent to scan. The trailing 'Exact help' pointer with a literal fow_capabilities call is useful but adds length; overall every block earns its place.

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?

An output schema exists, so return values need no explanation, and the description covers purpose, prerequisites, effects, and single-operation invocation. Given 8 parameters and a retry/receipt surface implied by request_id, the reliance on external operation help for receipt policy is the only real gap.

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% across all 8 parameters, so the schema already carries the semantics. The description echoes the key inputs (verification method, outcome, reference, declared metadata) and reinforces that evidence must be 'actually obtained', but adds no format, enum, or constraint detail beyond the structured fields. Baseline 3 is appropriate.

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 (record evidence obtained for a requirement) plus the concrete payload it captures (method, outcome, reference, metadata). The sentence 'This records a result rather than running a test' actively distinguishes it from execution-oriented siblings such as fow_run or fow_assurance, so an agent can route without opening the schema.

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?

Provides explicit prerequisites (an existing requirement and evidence actually obtained by the declared verification method) and boundary conditions (does not execute tests, audit a provider, or grant acceptance). It also routes to fow_capabilities for exact operation help. It stops short of naming the sibling tool to use instead when the goal is actually running a test, which would make the when-not guidance complete.

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

fow_register_requirementA

Record one observable software requirement and its source in the selected lifecycle project. Use the returned requirement ID for goals, milestone scope and verification. Single operation; call directly without an operation argument. Prerequisites: Use an existing project and an observable requirement statement. Effects: Appends canonical requirement authority with declared source anchor and receipt; does not implement or accept it. Exact help (replace operation_name with the selected route): fow_capabilities({"view":"operation","operation_tool":"fow_register_requirement","operation_name":"call"}).

ParametersJSON Schema
NameRequiredDescriptionDefault
actorYesIdentity of the human or agent recording this action; retain the original identity when replaying its request.
titleYesShort human-readable title of the authored requirement, finding, packet, run step or campaign.
categoryYesRequirement or behavioral-expectation category recognized by the current lifecycle policy.
rationaleYesConcrete reasoning supporting this ordinary mutation, decision or selected authority.
statementYesPrecise requirement or behavioral expectation describing an observable obligation.
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_anchorNoString source locator/reference (path, section, entity or revision as applicable) linking authority to its originating material; this public input is not a structured object.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

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

Annotations cover the safety profile (non-readOnly, non-destructive, non-idempotent), and the description adds real behavior beyond that: it appends 'canonical requirement authority with declared source anchor and receipt' and clarifies it does not implement or accept the requirement. This is meaningful context layered on top of the annotations.

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-loads the core action in the first sentence, then organizes Prerequisites and Effects as labeled lines, closing with a precise help pointer. Every sentence carries information; nothing is redundant.

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-value explanation is unnecessary, and the description correctly points the agent at the returned requirement ID. Prerequisites, effects, and single-operation guidance are all present. Minor gap: no explicit pairing to the nearest siblings (get/revise requirement).

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 8 parameters (project_id, statement, rationale, actor, request_id, source_anchor, etc.). The description only alludes to source_anchor and project implicitly, adding no syntax or format detail beyond the schema. Baseline 3 is appropriate.

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: 'Record one observable software requirement and its source in the selected lifecycle project.' It is distinguishable from fow_revise_requirement by the 'record' framing, though it never names that sibling explicitly to draw the boundary.

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?

Gives concrete usage context: 'Use the returned requirement ID for goals, milestone scope and verification' plus an explicit Prerequisites line ('existing project and an observable requirement statement') and a negative scope ('does not implement or accept it'). No sibling alternatives (e.g. revise/import) are named, so it stops short of a 5.

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

fow_revise_requirementA
Destructive

Change the statement or classification of an existing requirement by appending a canonical revision. Keep intent changes explicit so downstream evidence can be reconciled. Single operation; call directly without an operation argument. Prerequisites: Investigate the existing requirement and authorize any actual change of intent first. Effects: Appends an immutable revision; downstream currentness/closure may change. Existing evidence is not rewritten or made current. Exact help (replace operation_name with the selected route): fow_capabilities({"view":"operation","operation_tool":"fow_revise_requirement","operation_name":"call"}).

ParametersJSON Schema
NameRequiredDescriptionDefault
actorYesIdentity of the human or agent recording this action; retain the original identity when replaying its request.
titleYesShort human-readable title of the authored requirement, finding, packet, run step or campaign.
categoryYesRequirement or behavioral-expectation category recognized by the current lifecycle policy.
rationaleYesConcrete reasoning supporting this ordinary mutation, decision or selected authority.
statementYesPrecise requirement or behavioral expectation describing an observable obligation.
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_anchorNoString source locator/reference (path, section, entity or revision as applicable) linking authority to its originating material; this public input is not a structured object.
requirement_idYesExisting canonical requirement identity, as returned by registration/import.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and idempotentHint=false; the description adds valuable context beyond that: the revision is immutable, existing evidence is not rewritten or made current, and downstream currentness/closure may change. This is exactly the kind of non-obvious consequence disclosure the annotations cannot convey, though it omits explicit permission/authorization error behavior.

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?

Front-loaded with the core action, then cleanly labeled Prerequisites and Effects. Every sentence carries content, though the trailing 'Exact help' template line is somewhat boilerplate-heavy for a description whose sibling fow_capabilities already exists.

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 destructive, non-idempotent mutation with an output schema present, the description covers prerequisites, the append-only semantics, and downstream effects. The receipt/retry story is delegated to the schema's request_id and the help route, which is reasonable given the output schema exists.

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% and each of the 9 parameters carries its own description (actor, title, category, rationale, statement, requirement_id, project_id, request_id, source_anchor), so the schema does the heavy lifting. The prose mentions statement and classification but adds no syntax or format detail beyond the schema, so a baseline-plus score is appropriate.

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 ('Change the statement or classification of an existing requirement') plus the mechanism ('by appending a canonical revision'). Combined with the prerequisite/effects framing, an agent can distinguish this from register_requirement (new) and set_requirement_lifecycle (state) without opening the schema.

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?

Gives clear invocation context ('Single operation; call directly without an operation argument') and explicit prerequisites ('Investigate the existing requirement and authorize any actual change of intent first'). It does not name a sibling alternative to route to when the change is a lifecycle transition rather than a revision, which keeps it short of a 5.

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

fow_revise_srs_baselineA
Destructive

Apply a source-proven revision to the current SRS baseline, classifying changes and retaining approval requirements and immutable history. Single operation; call directly without an operation argument. Prerequisites: Use the exact current previous_baseline_id, changed local source and any required governed approval. Effects: Classifies source-proven changes and appends a baseline revision; impacted authority/evidence may require reconciliation. Does not silently accept drift. Exact help (replace operation_name with the selected route): fow_capabilities({"view":"operation","operation_tool":"fow_revise_srs_baseline","operation_name":"call"}).

ParametersJSON 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.
previous_baseline_idYesExact current SRS baseline ID that this source-proven revision is intended to replace.
governed_approval_referenceNoReference to explicit governed approval required for this lifecycle transition or baseline change.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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, idempotentHint=false and openWorldHint=true, so the safety profile is covered. The description adds real value on top: it is an append ('appends a baseline revision') that retains immutable history and approval requirements, warns that authority/evidence 'may require reconciliation', and states 'Does not silently accept drift' — behavior an agent would not otherwise know.

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?

Front-loaded with the core action in sentence one, then layered Prerequisites/Effects before the help escape hatch. Slight redundancy ('classifying changes' appears in both the opening and the Effects block), and the verbose fow_capabilities call line costs space, but nothing is truly wasted.

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 destructive, open-world mutation this covers prerequisites, effects, history/approval retention, and reconciliation risk, and an output schema exists so return values need not be described. The only gap is the absence of any explicit pointer to how it differs from fow_import_srs or fow_revise_requirement, which matters given the dense sibling set.

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 seven parameters thoroughly, and this is the baseline of 3. The description reinforces a few of them (previous_baseline_id, changed source, governed approval) but adds no syntax, format, or constraint detail beyond what the fields already spell out.

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 (apply/revise) and resource (the current SRS baseline), and the qualifier 'source-proven' cleanly separates it from a raw import. It does not, however, name the nearest siblings (fow_import_srs for first-time import, fow_revise_requirement for single requirements), so the agent must infer the boundary from the resource noun alone.

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?

'Single operation; call directly without an operation argument' plus an explicit Prerequisites clause (exact current previous_baseline_id, changed local source, required governed approval) tell the agent when the tool is callable and what must be true first. It stops short of naming an alternative or a when-not condition, so it is clear context without exclusions.

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

fow_runA
Destructive

Track who performs the implementation work: record a run, ordered dependent steps and their started/completed/blocked/cancelled states. The coding agent performs those actions outside Flower. Route with operation: create_run, get_run, add_step, link_step_dependency, start_step, complete_step, block_step, cancel_step, complete_run, cancel_run, task_view. Prerequisites: Use a governed change/packet and existing run/step IDs where requested. Effects: Records implementation-run steps, dependencies and execution outcomes; cancellation changes live authority. Flower does not execute the declared step actions. Exact help (replace operation_name with the selected route): fow_capabilities({"view":"operation","operation_tool":"fow_run","operation_name":"create_run"}).

ParametersJSON Schema
NameRequiredDescriptionDefault
actorYesIdentity of the human or agent recording this action; retain the original identity when replaying its request.
titleNoShort human-readable title of the authored requirement, finding, packet, run step or campaign. Applies to: add_step. Required by: add_step.
actionNoBounded instruction describing what this implementation-run step will do. Applies to: add_step. Required by: add_step.
reasonNoExplicit reason for the transition, cancellation or continuation action. Applies to: cancel_step, cancel_run. Required by: cancel_step, cancel_run.
run_idNoExisting implementation-run identity returned by create_run. Applies to: get_run, add_step, link_step_dependency, start_step, complete_step, block_step, cancel_step, complete_run, cancel_run, task_view. Required by: get_run, add_step, link_step_dependency, start_step, complete_step, block_step, cancel_step, complete_run, cancel_run, task_view.
step_idNoExisting implementation-run step identity. Applies to: link_step_dependency, start_step, complete_step, block_step, cancel_step. Required by: link_step_dependency, start_step, complete_step, block_step, cancel_step.
change_idNoCanonical owning change ID; when address resolution permits omission, the packet/campaign must resolve unambiguously.
objectiveNoObservable objective of the use case or implementation run. Applies to: create_run. Required by: create_run.
operationYesOperation selector for this multiplexer; use a canonical route listed below. Canonical values: create_run, get_run, add_step, link_step_dependency, start_step, complete_step, block_step, cancel_step, complete_run, cancel_run, task_view.
packet_idNoCanonical packet identity returned by authoring; it identifies the bounded implementation work.
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_refNoDeclared source-authority reference attached to the implementation run. Applies to: create_run.
target_refsNoExplicit implementation/source targets for this bounded run step. Applies to: add_step.
external_refNoDeclared external execution/reference identity attached to the implementation run. Applies to: create_run.
evidence_refsNoReferences to actual supporting evidence; host-declared provenance remains host-declared. Applies to: add_step, complete_step. Required by: complete_step.
step_requiredNoWhether completion of this implementation-run step is required for the run to complete. Applies to: add_step.
blocking_reasonNoConcrete reason the implementation-run step cannot advance. Applies to: block_step. Required by: block_step.
orchestrator_refNoIdentity/reference of the orchestrator responsible for this implementation run. Applies to: create_run.
depends_on_step_idNoExisting predecessor run-step ID that must complete before the selected step can start. Applies to: link_step_dependency. Required by: link_step_dependency.
completion_referenceNoReference to the actual evidence/authority supporting completion of this lifecycle object. Applies to: complete_run. Required by: complete_run.
next_expected_actionNoConcrete next action required to unblock or continue this implementation-run step. Applies to: block_step. Required by: block_step.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already flag destructiveHint=true, readOnlyHint=false, idempotentHint=false, but the description adds genuine context beyond them: that the coding agent acts outside Flower, that cancellation changes live authority, and that Flower never executes declared step actions. These are meaningful behavioral disclosures for a mutation tool.

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?

Front-loads purpose, then routing, prerequisites, effects, and a help pointer in a compact block. Slightly redundant, repeating the non-execution point twice ('performs those actions outside Flower' and 'Flower does not execute the declared step actions').

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?

Because an output schema exists, return values need not be described; the description covers routing, prerequisites, and effects for a complex 22-parameter multiplexer. It reasonably defers exact per-operation detail to fow_capabilities, though that leaves some ambiguity resolvable only by a follow-up call.

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 every parameter is already documented with its per-operation applicability and requiredness. The description adds only the conceptual grouping of operations, so the baseline 3 is appropriate.

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 ('Track who performs the implementation work: record a run, ordered dependent steps...') and enumerates the eleven canonical routes, so an agent can distinguish it from sibling multiplexers like fow_packet_advance or fow_campaign_advance without opening schemas.

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?

Gives a clear operational context (route via 'operation', prerequisites of a governed change/packet and existing IDs) and points to fow_capabilities for exact per-operation help. It stops short of explicitly naming when to prefer this tool over adjacent siblings.

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

fow_semanticA

Prepare bounded semantic assignments for an external host or configured internal model, validate their submitted results and separately adopt their audit evidence. Supported roles are SRS semantic validation and intention grounding. Route with operation: inventory, prepare, inspect, submit, adopt, execute_internal. Prerequisites: Use inventory, then prepare a supported role in host or internal mode; internal needs configured inference. Effects: prepare persists a prompt/authority snapshot; submit validates executor results; adopt records declared provenance. execute_internal explicitly invokes inference. SRS preparation/inspection reads the selected source file. Observed-behavior drafting is unsupported. Exact help (replace operation_name with the selected route): fow_capabilities({"view":"operation","operation_tool":"fow_semantic","operation_name":"inventory"}).

ParametersJSON Schema
NameRequiredDescriptionDefault
roleNoBounded semantic role, currently srs_semantic_validation or intention_grounding; inventory discloses unsupported roles. Applies to: prepare. Required by: prepare. Canonical values: srs_semantic_validation, intention_grounding.
actorNoIdentity of the human or agent recording this action; retain the original identity when replaying its request.
resultNoExecutor-authored semantic result matching the prepared assignment schema. submit validates; adopt is a separate authority mutation. Applies to: submit. Required by: submit. Exact required/optional dotted fields and guidance: fow_capabilities(view=operation, operation_tool=fow_semantic, operation_name=<selected route>).
operationYesOperation selector for this multiplexer; use a canonical route listed below. Canonical values: inventory, prepare, inspect, submit, adopt, execute_internal.
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_pathNoUTF-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. Applies to: prepare.
executor_refNoIdentity/reference of the executor that produced the submitted semantic result. Applies to: submit. Required by: submit.
assignment_idNoIdentifier returned when the bounded semantic assignment was prepared. Applies to: inspect, submit, adopt, execute_internal. Required by: inspect, submit, adopt, execute_internal.
goal_node_idsNoExisting use-case/sequence/expectation node IDs selected for intention grounding or correspondence. Applies to: prepare.
host_evidenceNoExact flower-host-grounding-evidence-v1 receipt for host grounding, with its declared source/provenance. Applies to: prepare. Exact required/optional dotted fields and guidance: fow_capabilities(view=operation, operation_tool=fow_semantic, operation_name=<selected route>).
execution_modeNoSemantic executor route: host prepares a durable external assignment; internal explicitly uses configured inference. Applies to: prepare. Required by: prepare. Canonical values: host, internal.
source_revisionNoDeclared grounding/source revision. The assignment also retains a prepared authority snapshot; submitting a different revision does not make stale evidence current. Applies to: prepare, submit.
standard_profileNoSupported SRS Markdown validation profile; use the same profile when preparing, validating and importing a source. Applies to: prepare.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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

Annotations declare non-readonly/non-idempotent/openWorld, so the safety profile is already carried. The description goes beyond them with per-route effects (prepare persists a prompt/authority snapshot, submit validates, adopt records declared provenance, execute_internal invokes inference) and a server-side file-read note, which is genuinely additive context.

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?

Structure is front-loaded: a one-line purpose sentence, then routing, prerequisites, effects, and a help pointer, each earning its place. For a six-route multiplexer it is dense but not wasteful; the trailing capabilities-help pointer is functional rather than filler.

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 not be explained, and the description covers routing, prerequisites, per-route effects, and unsupported cases. Given the six-operation complexity it is largely complete, though it leaves the actual per-route field requirements to the referenced fow_capabilities help rather than stating them inline.

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% and the schema already documents roles, execution modes, source path containment, and receipt/idempotency semantics at param level. The description adds little param-specific meaning beyond repeating the operation routes, so the baseline of 3 is appropriate.

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?

The description states concrete verbs and resources across the multiplexed operations (prepare bounded semantic assignments, validate submitted results, adopt audit evidence) and names the two supported roles. It is clear what the tool does, but it does not explicitly differentiate itself from siblings like fow_validate_srs or fow_ground_intent, whose names overlap with the roles it claims.

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 gives an explicit prerequisite sequence ('Use inventory, then prepare a supported role in host or internal mode; internal needs configured inference') and routes via the operation selector, plus an explicit exclusion ('Observed-behavior drafting is unsupported'). It stops short of telling the agent when to choose this tool over a sibling, so it is clear context without full alternative routing.

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

fow_set_requirement_lifecycleA
Destructive

Move an existing requirement to a policy-permitted lifecycle state with its reason and any required approval reference. Single operation; call directly without an operation argument. Prerequisites: Use an existing requirement and the approval reference required by its transition policy. Effects: Mutates lifecycle state under ordinary guards; retirement/rejection can invalidate active authority. Does not infer human approval. Exact help (replace operation_name with the selected route): fow_capabilities({"view":"operation","operation_tool":"fow_set_requirement_lifecycle","operation_name":"call"}).

ParametersJSON Schema
NameRequiredDescriptionDefault
actorYesIdentity of the human or agent recording this action; retain the original identity when replaying its request.
reasonYesExplicit reason for the transition, cancellation or continuation action.
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.
requirement_idYesExisting canonical requirement identity, as returned by registration/import.
lifecycle_statusYesRequested canonical requirement lifecycle state, subject to normal transition/approval policy. Canonical values: planned, implemented, partial, removed.
governed_approval_referenceNoReference to explicit governed approval required for this lifecycle transition or baseline change.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior5/5

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

Annotations declare destructive=true and idempotent=false, and the description meaningfully extends them: ordinary guards apply, retirement/rejection can invalidate active authority, and human approval is not inferred by the tool. That tells the agent the blast radius of a state change, which the annotations alone do not.

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?

Front-loaded one-line purpose followed by labeled Prerequisites and Effects blocks that are easy to scan. The trailing capabilities-help pointer is useful but slightly boilerplate-y, keeping it short of a flawless 5.

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

Completeness5/5

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

For a destructive, non-idempotent mutation with 7 parameters and an output schema, the description covers prerequisites, mutation effects, approval expectations, and even points to exact operation help for receipt/retry policy. Nothing an agent needs before calling is missing.

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 actor identity, reason, project vs. requirement IDs, request_id replay semantics, and the canonical lifecycle_status values. The description only restates that a reason and a policy-required approval reference accompany the move, adding negligible syntax or format detail beyond 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+resource: moving an existing requirement to a policy-permitted lifecycle state, with reason and approval reference. It also clarifies the invocation shape ('single operation; call directly without an operation argument'), which separates it from multi-route siblings. It stops short of naming the nearest neighbor (fow_revise_requirement), so the boundary is inferable rather than explicit.

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?

Gives a clear usage context plus prerequisites ('use an existing requirement and the approval reference required by its transition policy') and a call-directly instruction. No alternatives or when-not-to-use conditions are named, so it is clear context without exclusions.

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

fow_traceabilityA
Read-onlyIdempotent

Inspect how current requirements, milestone scope and recorded verification evidence correspond. Read bounded pages or retrieve one original evidence body with audit detail. Single operation; call directly without an operation argument. Prerequisites: Select a project and optionally a milestone or exact evidence ID. Effects: Read-only bounded traceability/evidence with pagination; no provider/model execution or authority mutation. Exact help (replace operation_name with the selected route): fow_capabilities({"view":"operation","operation_tool":"fow_traceability","operation_name":"call"}).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of records in this read page; existing route-specific bounds still apply.
offsetNoZero-based position of the first record in this bounded read page.
project_idYesCanonical lifecycle project ID. Select the existing project explicitly; development Markdown authorities are separate from runtime projects.
evidence_idNoExisting evidence identity to inspect or associate; use returned IDs rather than inventing evidence.
detail_levelNoRead projection detail level; standard is bounded routine context, audit includes the available audit detail. Canonical values: standard, audit.standard
milestone_idNoExisting milestone identity governing or filtering the requested scope.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world behavior, so the bar is lower. The description still adds real value beyond them: bounded paged reads, no provider/model execution, and no authority mutation — useful scoping for an inspection tool. It does not note rate limits or auth specifics, but nothing is contradicted.

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?

Content is front-loaded and organized under Prerequisites/Effects labels, which helps scanning. The trailing 'Exact help' pointer to fow_capabilities is a useful affordance but adds boilerplate length, keeping it short of maximally tight.

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 rich annotations, full schema coverage and an output schema, the description does not need to explain return values and correctly avoids doing so. It covers prerequisites, effects and pagination adequately; only the relationship to sibling inspection tools remains unstated.

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 would be 3. The description goes slightly beyond the schema by conveying that milestone and evidence ID are alternative optional selectors and that audit detail is a distinct projection, which the raw schema does not spell out as relationships. It still doesn't clarify limit/offset semantics, so it is not a full 5.

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?

The description states a specific verb ('Inspect') and a concrete resource set (requirements, milestone scope, recorded verification evidence and how they correspond). It is clearly traceability-oriented, but it never names a sibling tool it must be distinguished from, so the agent must infer the boundary with tools like fow_get_requirement or fow_audit_phase.

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 gives operating context ('Single operation; call directly without an operation argument') and prerequisites ('Select a project and optionally a milestone or exact evidence ID'), which tells the agent the entry conditions and the two read modes. It does not, however, state when to prefer this over the neighboring requirement/evidence tools, so the exclusions are only implicit.

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

fow_validate_srsA

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"}).

ParametersJSON 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

ParametersJSON Schema
NameRequiredDescription

No output parameters

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.

fow_what_nextA
Read-onlyIdempotent

Find the next bounded lifecycle action from current packet gates, dependencies, requirements and evidence. Reading this projection does not execute the suggested work. Single operation; call directly without an operation argument. Prerequisites: Select existing project/scope and optional milestone, then follow returned bounded pages. Effects: Read-only next-work projection from current authority/dependencies; no code execution or provider probes. Exact help (replace operation_name with the selected route): fow_capabilities({"view":"operation","operation_tool":"fow_what_next","operation_name":"call"}).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of records in this read page; existing route-specific bounds still apply.
offsetNoZero-based position of the first record in this bounded read page.
scope_idNoNamed audit/work scope selecting the relevant requirement phase or work projection.project-default
project_idYesCanonical lifecycle project ID. Select the existing project explicitly; development Markdown authorities are separate from runtime projects.
detail_levelNoRead projection detail level; standard is bounded routine context, audit includes the available audit detail. Canonical values: standard, audit.standard
milestone_idNoExisting milestone identity governing or filtering the requested scope.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive/no-open-world, but the description adds real context: no code execution and no provider probes, plus that output arrives as bounded pages to be followed. It stops short of describing limits on the projection itself.

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?

Front-loads the purpose, then cleanly separates Prerequisites and Effects, so an agent can scan the constraints it needs. The trailing 'Exact help' pointer is somewhat meta boilerplate but is compact and self-contained.

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 shape need not be explained, and the description covers prerequisites, read-only effects and pagination behavior for a 6-parameter tool. The main residual gap is explicit guidance on which sibling to call when the agent intends to act on the suggested work.

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 limit, offset, scope_id, project_id, detail_level and milestone_id are all documented in the schema. The description only loosely gestures at project/scope/milestone selection and adds no format or syntax detail beyond that, matching the baseline for fully-covered schemas.

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: it finds 'the next bounded lifecycle action' derived from gates, dependencies, requirements and evidence. It also implicitly separates itself from execution siblings by asserting that reading the projection does not execute work, though it never names those siblings.

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?

Provides a concrete prerequisite ('select existing project/scope and optional milestone, then follow returned bounded pages') and notes it is a single direct operation with no operation argument. The contrast with execution tools is implied rather than stated, so the when-not condition is left to inference.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 37 tool updatesv0.5.1
    • Changedfow_accept_milestone5 fields changed
      • addedInput schema / properties / acceptance_evidence / description
        Added value: +"Declared evidence supporting human/governed milestone acceptance; not a completion claim by the coding agent."
      • 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 / milestone_id / description
        Added value: +"Existing milestone identity governing or filtering the requested scope."
      • 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."
    • Changedfow_architecture7 fields changed
      • 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 / operation / description
        Added value: +"Operation selector for this multiplexer; use a canonical route listed below. Canonical values: inspect, propose, adopt."
      • addedInput schema / properties / operation / examples
        Added value: +[
        +  "inspect"
        +]
      • addedInput schema / properties / payload / description
        Added value: +"Architecture operation input: inspect selects revision/kind/page; propose supplies expected_revision and a complete definition; adopt selects expected_revision/revision and rationale. Proposals become authority only through adopt. Required by: propose, adopt. Exact required/optional dotted fields and guidance: fow_capabilities(view=operation, operation_tool=fow_architecture, operation_name=<selected route>)."
      • addedInput schema / properties / payload / examples
        Added value: +[
        +  {
        +    "kind": "all",
        +    "limit": 20,
        +    "offset": 0,
        +    "revision": 0
        +  }
        +]
      • 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."
    • Changedfow_assurance25 fields changed
      • addedInput schema / properties / acceptance_reference / description
        Added value: +"Reference to the explicit authority accepting the governed change. Applies to: request_change_acceptance. Required by: request_change_acceptance."
      • 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 / assessment / description
        Added value: +"Engineer-authored reassessment against current intent/finding fingerprints, classification, rationale and technical evidence. Applies to: reassess_intent. Required by: reassess_intent. Exact required/optional dotted fields and guidance: fow_capabilities(view=operation, operation_tool=fow_assurance, operation_name=<selected route>)."
      • addedInput schema / properties / change_id / description
        Added value: +"Canonical owning change ID; when address resolution permits omission, the packet/campaign must resolve unambiguously."
      • addedInput schema / properties / disposition / description
        Added value: +"Explicit classification/action for the selected finding, review, packet question or campaign obligation. Applies to: set_finding_disposition. Required by: set_finding_disposition. Canonical values: open, confirmed, resolved, accepted_exception, deferred, superseded, cancelled."
      • addedInput schema / properties / disposition_reference / description
        Added value: +"Reference to the authority supporting the recorded disposition. Applies to: set_finding_disposition."
      • addedInput schema / properties / evidence_refs / description
        Added value: +"References to actual supporting evidence; host-declared provenance remains host-declared. Applies to: set_finding_disposition."
      • addedInput schema / properties / expected_correction / description
        Added value: +"Bounded corrective behavior required to resolve the finding within the current intent. Applies to: record_finding, link_fixing_packet. Required by: record_finding, link_fixing_packet."
      • addedInput schema / properties / finding_id / description
        Added value: +"Stable identity of the existing assurance finding. Applies to: get_finding, reassess_intent, set_finding_disposition, link_fixing_packet. Required by: get_finding, reassess_intent, set_finding_disposition, link_fixing_packet."
      • addedInput schema / properties / finding_kind / description
        Added value: +"Semantic category of the assurance finding. Applies to: record_finding. Canonical values: semantic, engineering, informational, unspecified."
      • addedInput schema / properties / implementation_ref / description
        Added value: +"Reference to the implementation location or artifact involved in the finding. Applies to: record_finding."
      • addedInput schema / properties / operation / description
        Added value: +"Operation selector for this multiplexer; use a canonical route listed below. Canonical values: record_finding, get_finding, reassess_intent, set_finding_disposition, link_fixing_packet, request_change_acceptance."
      • addedInput schema / properties / operation / examples
        Added value: +[
        +  "record_finding"
        +]
      • addedInput schema / properties / packet_id / description
        Added value: +"Canonical packet identity returned by authoring; it identifies the bounded implementation work."
      • 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 / rationale / description
        Added value: +"Concrete reasoning supporting this ordinary mutation, decision or selected authority. Applies to: record_finding, set_finding_disposition. Required by: record_finding, set_finding_disposition."
      • 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 / required_campaign_ids / description
        Added value: +"Existing campaigns whose successful verification remains required by this corrective packet/finding. Applies to: link_fixing_packet."
      • addedInput schema / properties / required_regression_evidence / description
        Added value: +"Declared regression evidence obligations that must remain visible until actually satisfied. Applies to: link_fixing_packet."
      • addedInput schema / properties / scope_kind / description
        Added value: +"Kind of lifecycle/source object affected by the assurance finding. Applies to: record_finding. Required by: record_finding."
      • addedInput schema / properties / scope_ref / description
        Added value: +"Existing object/reference identifying the finding's selected scope. Applies to: record_finding. Required by: record_finding."
      • addedInput schema / properties / severity / description
        Added value: +"Canonical assurance finding severity, expressing impact without implying acceptance. Applies to: record_finding. Required by: record_finding. Canonical values: info, low, medium, high, critical."
      • addedInput schema / properties / source_anchor / description
        Added value: +"String source locator/reference (path, section, entity or revision as applicable) linking authority to its originating material; this public input is not a structured object. Applies to: record_finding."
      • addedInput schema / properties / supersedes_finding_id / description
        Added value: +"Existing finding explicitly superseded by this new finding; history remains retained. Applies to: set_finding_disposition."
      • addedInput schema / properties / title / description
        Added value: +"Short human-readable title of the authored requirement, finding, packet, run step or campaign. Applies to: record_finding. Required by: record_finding."
    • Changedfow_audit_phase5 fields changed
      • 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 / requirement_ids / description
        Added value: +"Explicit existing requirement IDs defining the selected scope."
      • addedInput schema / properties / scope_id / description
        Added value: +"Named audit/work scope selecting the relevant requirement phase or work projection."
    • Changedfow_bindings11 fields changed
      • 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 / association_kind / description
        Added value: +"Association category to export: host or implementation_provider; these are independent bindings. Applies to: export. Required by: export."
      • addedInput schema / properties / association_receipt / description
        Added value: +"Versioned flow.project-association.v1 JSON receipt. Contains associations only; URLs, credentials, commands and unknown fields are rejected. Applies to: import. Required by: import. Exact required/optional dotted fields and guidance: fow_capabilities(view=operation, operation_tool=fow_bindings, operation_name=<selected route>)."
      • addedInput schema / properties / association_receipt / examples
        Added value: +[
        +  {
        +    "association": {
        +      "host_id": "coding-agent",
        +      "kind": "host",
        +      "repository_locator": "./repository"
        +    },
        +    "contract": "flow.project-association.v1",
        +    "project_id": "example-project-id"
        +  }
        +]
      • addedInput schema / properties / host_id / description
        Added value: +"Stable coding-host identity for the host association; independent from optional provider bindings. Applies to: export."
      • addedInput schema / properties / operation / description
        Added value: +"Operation selector for this multiplexer; use a canonical route listed below. Canonical values: inspect, export, import."
      • addedInput schema / properties / operation / examples
        Added value: +[
        +  "inspect"
        +]
      • 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 / provider_kind / description
        Added value: +"Configured route category selecting the implementation_provider association to export; not the provider's transport URL or executable command. Applies to: export."
      • addedInput schema / properties / replacement_reason / description
        Added value: +"Required explanation when replacing a different canonical host/provider association; replay of the same receipt does not replace it. Applies to: import."
      • 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."
    • Changedfow_bootstrap27 fields changed
      • 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 / answer / description
        Added value: +"Structured answer to the selected bootstrap or Oracle question; obtain its exact shape from operation help. Applies to: record_answer. Required by: record_answer. Exact required/optional dotted fields and guidance: fow_capabilities(view=operation, operation_tool=fow_bootstrap, operation_name=<selected route>)."
      • addedInput schema / properties / answer / examples
        Added value: +[
        +  {
        +    "answer": "Return the integer successor through the declared API.",
        +    "answer_key": "successor-scenario",
        +    "kind": "intent",
        +    "question": "What should the software do?",
        +    "source_reference": "stakeholder:scenario-1"
        +  }
        +]
      • addedInput schema / properties / bootstrap_id / description
        Added value: +"Identifier of an existing bootstrap cycle; use the current cycle returned by guidance/state. Applies to: resume, state, record_intake, record_contradiction, confirm_intake, derive_behavior, complete, cancel, guidance, record_answer, record_correspondence, roadmap, confirm_roadmap, record_continuation. Required by: resume, state, record_intake, record_contradiction, confirm_intake, derive_behavior, complete, cancel, record_answer, record_correspondence, roadmap, confirm_roadmap, record_continuation."
      • addedInput schema / properties / completion_reference / description
        Added value: +"Reference to the actual evidence/authority supporting completion of this lifecycle object. Applies to: complete. Required by: complete."
      • addedInput schema / properties / confirmation_reference / description
        Added value: +"Reference to the stakeholder's actual confirmation of the recorded intent or roadmap. Applies to: confirm_intake, confirm_roadmap. Required by: confirm_intake, confirm_roadmap."
      • addedInput schema / properties / continuation_choice / description
        Added value: +"Explicit stakeholder continuation choice: continue the authorized roadmap or review the current result. Applies to: record_continuation. Required by: record_continuation. Canonical values: continue, review."
      • addedInput schema / properties / continuation_reference / description
        Added value: +"Reference to the actual stakeholder choice; do not synthesize approval from elapsed time. Applies to: record_continuation. Required by: record_continuation."
      • addedInput schema / properties / contradiction / description
        Added value: +"Structured bootstrap contradiction between the recorded intent and known authority, with the relevant references. Applies to: record_contradiction. Required by: record_contradiction. Exact required/optional dotted fields and guidance: fow_capabilities(view=operation, operation_tool=fow_bootstrap, operation_name=<selected route>)."
      • addedInput schema / properties / correspondence / description
        Added value: +"Recorded mapping from one current bootstrap answer revision to canonical requirements/goals/milestones and its disposition. Applies to: record_correspondence. Required by: record_correspondence. Exact required/optional dotted fields and guidance: fow_capabilities(view=operation, operation_tool=fow_bootstrap, operation_name=<selected route>)."
      • addedInput schema / properties / correspondence / examples
        Added value: +[
        +  {
        +    "answer_key": "successor-scenario",
        +    "answer_revision": 1,
        +    "canonical_references": {
        +      "goal_node_ids": [],
        +      "milestone_ids": [],
        +      "requirement_ids": [
        +        "current-requirement-id"
        +      ]
        +    },
        +    "disposition": "consistent",
        +    "rationale": "The current canonical requirement expresses the recorded scenario."
        +  }
        +]
      • addedInput schema / properties / intake / description
        Added value: +"Structured bootstrap intake capturing scenario, constraints and existing-system context. Applies to: record_intake. Required by: record_intake. Exact required/optional dotted fields and guidance: fow_capabilities(view=operation, operation_tool=fow_bootstrap, operation_name=<selected route>)."
      • addedInput schema / properties / milestone_ids / description
        Added value: +"Explicit existing milestone IDs in the roadmap or handover selection. Applies to: roadmap, confirm_roadmap. Required by: roadmap, confirm_roadmap."
      • addedInput schema / properties / operation / description
        Added value: +"Operation selector for this multiplexer; use a canonical route listed below. Canonical values: bind_implementation_provider, provider_binding_state, list_provider_bindings, start, resume, state, record_intake, record_contradiction, confirm_intake, derive_behavior, complete, cancel, guidance, record_answer, record_correspondence, roadmap, confirm_roadmap, record_continuation."
      • addedInput schema / properties / operation / examples
        Added value: +[
        +  "bind_implementation_provider"
        +]
      • addedInput schema / properties / path / description
        Added value: +"Bootstrap workflow: import existing requirements, inspect existing code, create requirements or use guided engineering. Use a canonical path listed below. Applies to: start. Required by: start. Canonical values: requirements_import, code_import, requirements_creation, guided_engineering."
      • addedInput schema / properties / progress_revision / description
        Added value: +"Issued roadmap progress revision associated with the stakeholder's continuation choice. Applies to: record_continuation. Required by: record_continuation."
      • 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 / project_name / description
        Added value: +"Exact registered project name associated with this bootstrap cycle. Applies to: start. Required by: start."
      • addedInput schema / properties / provider_context_id / description
        Added value: +"Context identity understood by an already configured optional provider route. Applies to: bind_implementation_provider."
      • addedInput schema / properties / provider_kind / description
        Added value: +"Canonical configured route category to bind/inspect: implementation_graph, bootstrap_behavior, packet_evidence, packet_execution or test_execution. Applies to: bind_implementation_provider, provider_binding_state. Required by: bind_implementation_provider, provider_binding_state."
      • addedInput schema / properties / provider_scope_id / description
        Added value: +"Authorized scope identity understood by the configured provider. Applies to: bind_implementation_provider. Required by: bind_implementation_provider."
      • addedInput schema / properties / reason / description
        Added value: +"Explicit reason for the transition, cancellation or continuation action. Applies to: cancel, record_continuation. Required by: cancel, record_continuation."
      • addedInput schema / properties / replacement_reason / description
        Added value: +"Required explanation when replacing a different canonical host/provider association; replay of the same receipt does not replace it. Applies to: bind_implementation_provider."
      • 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 / roadmap_fingerprint / description
        Added value: +"Fingerprint of the exact roadmap being confirmed or continued; stale intent/scope requires ordinary revision. Applies to: confirm_roadmap, record_continuation. Required by: confirm_roadmap, record_continuation."
      • addedInput schema / properties / surfaces / description
        Added value: +"Explicit provider evidence/association surfaces, such as repo; use the exact configured route contract. Applies to: bind_implementation_provider."
    • Changedfow_campaign_advance6 fields changed
      • 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 / campaign_id / description
        Added value: +"Identifier of the governed test campaign, as returned by campaign authoring."
      • addedInput schema / properties / change_id / description
        Added value: +"Canonical owning change ID; when address resolution permits omission, the packet/campaign must resolve unambiguously."
      • 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 / transition_budget / description
        Added value: +"Maximum deterministic campaign transitions in this call before returning the current boundary."
    • Changedfow_campaign_author35 fields changed
      • 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 / answer / description
        Added value: +"JSON answer matching the selected Oracle question's declared shape; it may be a scalar, array or object rather than necessarily a mapping. Preserve the declared answer_authority and provenance. Applies to: answer_question. Required by: answer_question. Exact required/optional dotted fields and guidance: fow_capabilities(view=operation, operation_tool=fow_campaign_author, operation_name=<selected route>)."
      • addedInput schema / properties / answer_authority / description
        Added value: +"Declared authority/provenance of the Oracle answer; it does not upgrade host assertions into provider-audited evidence. Applies to: answer_question. Required by: answer_question. Canonical values: grounded_fact, accepted_decision, derived_hypothesis, unknown, waived."
      • addedInput schema / properties / authority_reference / description
        Added value: +"Reference to the ordinary authority permitting the selected campaign action. Applies to: attest_source, authorize_materialization, authorize_promotion. Required by: attest_source, authorize_materialization, authorize_promotion."
      • addedInput schema / properties / campaign_id / description
        Added value: +"Identifier of the governed test campaign, as returned by campaign authoring. Applies to: edit_scope, add_case, edit_case, remove_case, reorder_cases, decide_obligation, bind_obligation, author_oracle, answer_question, attest_source, authorize_materialization, retry_provider_rejection, authorize_promotion, accept_exception, cancel. Required by: edit_scope, add_case, edit_case, remove_case, reorder_cases, decide_obligation, bind_obligation, author_oracle, answer_question, attest_source, authorize_materialization, retry_provider_rejection, authorize_promotion, accept_exception, cancel."
      • addedInput schema / properties / case / description
        Added value: +"Structured campaign case: semantic test intent and its required scope/obligations; inspect exact operation help before authoring. Applies to: start, add_case, edit_case. Required by: add_case, edit_case. Exact required/optional dotted fields and guidance: fow_capabilities(view=operation, operation_tool=fow_campaign_author, operation_name=<selected route>)."
      • addedInput schema / properties / case_id / description
        Added value: +"Stable identifier of the existing campaign case to edit or remove. Applies to: edit_case, remove_case, bind_obligation, author_oracle, attest_source, authorize_materialization, authorize_promotion. Required by: edit_case, remove_case, bind_obligation, author_oracle, attest_source, authorize_materialization, authorize_promotion."
      • addedInput schema / properties / case_order / description
        Added value: +"Complete ordered list of current campaign case IDs for the requested reorder. Applies to: reorder_cases. Required by: reorder_cases."
      • addedInput schema / properties / coverage_intent / description
        Added value: +"Explanation of the behavior or risk the selected campaign obligation is intended to cover. Applies to: bind_obligation. Required by: bind_obligation."
      • addedInput schema / properties / decision / description
        Added value: +"Canonical campaign-obligation decision for decide_obligation; this is a string selector, not a packet gate object. Applies to: decide_obligation. Required by: decide_obligation. Canonical values: required, out_of_scope, duplicate, investigate, waived. Exact required/optional dotted fields and guidance: fow_capabilities(view=operation, operation_tool=fow_campaign_author, operation_name=<selected route>)."
      • addedInput schema / properties / decision / examples
        Added value: +[
        +  "required"
        +]
      • addedInput schema / properties / disposition_reference / description
        Added value: +"Reference to the authority supporting the recorded disposition. Applies to: accept_exception, cancel. Required by: accept_exception, cancel."
      • addedInput schema / properties / evidence_gaps / description
        Added value: +"Known missing verification/evidence obligations retained by an explicit campaign exception. Applies to: accept_exception. Required by: accept_exception."
      • addedInput schema / properties / evidence_id / description
        Added value: +"Existing evidence identity to inspect or associate; use returned IDs rather than inventing evidence. Applies to: authorize_promotion. Required by: authorize_promotion."
      • addedInput schema / properties / exception_obligation_ids / description
        Added value: +"Campaign obligation IDs covered by the requested explicit exception. Applies to: accept_exception. Required by: accept_exception."
      • addedInput schema / properties / expected_fingerprint / description
        Added value: +"Previously issued campaign authority fingerprint; guards against stale authoring. Applies to: edit_scope, add_case, edit_case, remove_case, reorder_cases."
      • addedInput schema / properties / harness / description
        Added value: +"Structured test-harness participant contract and provenance; it declares execution boundaries, not observed success. Applies to: attest_source. Exact required/optional dotted fields and guidance: fow_capabilities(view=operation, operation_tool=fow_campaign_author, operation_name=<selected route>)."
      • addedInput schema / properties / obligation_id / description
        Added value: +"Stable identity of the campaign verification obligation being decided or bound. Applies to: decide_obligation, bind_obligation. Required by: decide_obligation, bind_obligation."
      • addedInput schema / properties / operation / description
        Added value: +"Operation selector for this multiplexer; use a canonical route listed below. Canonical values: start, edit_scope, add_case, edit_case, remove_case, reorder_cases, decide_obligation, bind_obligation, author_oracle, answer_question, attest_source, authorize_materialization, retry_provider_rejection, authorize_promotion, accept_exception, cancel."
      • addedInput schema / properties / operation / examples
        Added value: +[
        +  "start"
        +]
      • addedInput schema / properties / oracle / description
        Added value: +"Structured behavioral Oracle definition expressing expected/forbidden behavior and test obligations. Applies to: author_oracle. Required by: author_oracle. Exact required/optional dotted fields and guidance: fow_capabilities(view=operation, operation_tool=fow_campaign_author, operation_name=<selected route>)."
      • addedInput schema / properties / oracle_id / description
        Added value: +"Existing behavioral Oracle identity selected for the campaign operation. Applies to: author_oracle, answer_question. Required by: answer_question."
      • 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 / provenance / description
        Added value: +"Declared origin of campaign answers/source evidence; does not confer provider audit or human acceptance. Applies to: answer_question. Required by: answer_question."
      • addedInput schema / properties / provider_command_id / description
        Added value: +"Issued provider-command identity selected for explicit retry or materialization authority. Applies to: retry_provider_rejection. Required by: retry_provider_rejection."
      • addedInput schema / properties / question_id / description
        Added value: +"Existing open packet-construction or Oracle question identity. Applies to: answer_question. Required by: answer_question."
      • addedInput schema / properties / rationale / description
        Added value: +"Concrete reasoning supporting this ordinary mutation, decision or selected authority. Applies to: remove_case, decide_obligation, retry_provider_rejection. Required by: remove_case, decide_obligation, retry_provider_rejection."
      • addedInput schema / properties / regression_obligation / description
        Added value: +"Whether the campaign binding declares a required regression obligation. Applies to: authorize_promotion."
      • 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 / requested_capability / description
        Added value: +"Structured provider capability declaration for campaign source/materialization work; use the exact fields supported by the current provider command contract. Applies to: attest_source, authorize_materialization. Required by: authorize_materialization."
      • addedInput schema / properties / risk_authority / description
        Added value: +"Explicit authority permitting the campaign's remaining risks/evidence gaps. Applies to: accept_exception. Required by: accept_exception."
      • addedInput schema / properties / scope / description
        Added value: +"Structured campaign scope selecting change, requirements, goals, packets and explicit environment assumptions. Applies to: start, edit_scope. Required by: start, edit_scope. Exact required/optional dotted fields and guidance: fow_capabilities(view=operation, operation_tool=fow_campaign_author, operation_name=<selected route>)."
      • addedInput schema / properties / source_files / description
        Added value: +"Oracle source mapping from file paths to source-content strings for attestation/materialization. Future files remain declarations until materialized and verified. Applies to: attest_source. Required by: attest_source."
      • addedInput schema / properties / title / description
        Added value: +"Short human-readable title of the authored requirement, finding, packet, run step or campaign. Applies to: start, edit_scope. Required by: start, edit_scope."
      • addedInput schema / properties / waiver_scope / description
        Added value: +"Explicit campaign/Oracle scope covered by the authorized waiver. Applies to: answer_question."
    • Changedfow_campaign_inspect7 fields changed
      • addedInput schema / properties / campaign_id / description
        Added value: +"Identifier of the governed test campaign, as returned by campaign authoring."
      • addedInput schema / properties / change_id / description
        Added value: +"Canonical owning change ID; when address resolution permits omission, the packet/campaign must resolve unambiguously."
      • addedInput schema / properties / limit / description
        Added value: +"Maximum number of records in this read page; existing route-specific bounds still apply."
      • addedInput schema / properties / offset / description
        Added value: +"Zero-based position of the first record in this bounded read page."
      • 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 / view / description
        Added value: +"Read projection selector; canonical view names depend on this tool. Canonical values: summary, working_sheet, cases, obligations, oracles, constructibility, oracle_ir, attestation, evidence, residuals, history."
      • addedInput schema / properties / view / examples
        Added value: +[
        +  "summary"
        +]
    • Changedfow_capabilities5 fields changed
      • addedInput schema / properties / operation_name / description
        Added value: +"Canonical operation name for exact help, interpreted within operation_tool; simple tools use call."
      • addedInput schema / properties / operation_tool / description
        Added value: +"Public fow_* tool identity whose exact operation contract is requested."
      • addedInput schema / properties / recipe_name / description
        Added value: +"One named progressive workflow recipe, requested with capabilities view=recipe."
      • addedInput schema / properties / view / description
        Added value: +"Progressive discovery: summary for the bounded catalog, recipe for one workflow, operation for one exact contract, docs for the tool reference, full for diagnostics. Canonical values: summary, recipe, operation, docs, full."
      • addedInput schema / properties / view / examples
        Added value: +[
        +  "summary"
        +]
    • Changedfow_change79 fields changed
      • addedInput schema / properties / accepted_risk_ref / description
        Added value: +"Durable reference identifying the explicitly accepted residual risk. Applies to: accept_residual_risk. Required by: accept_residual_risk."
      • addedInput schema / properties / active_provider / description
        Added value: +"Accepted compatibility input; the current fow_change handler does not consume it and it has no effect. Set execution ownership through packet authoring/external-work selection. Applies to: set_packet_target_state, revise_packet."
      • 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 / answer_summary / description
        Added value: +"Explanation resolving the selected packet-construction question. Applies to: answer_packet_question, block_packet_question."
      • addedInput schema / properties / architecture_refs / description
        Added value: +"References to components, interfaces or decisions in one adopted architecture revision; omission preserves selection and [] explicitly clears it. Applies to: revise_packet."
      • addedInput schema / properties / assertion / description
        Added value: +"Structured content of the declared packet-evidence claim, retaining its provenance. Applies to: declare_packet_evidence_claim."
      • addedInput schema / properties / baseline_refs / description
        Added value: +"References to existing baselines governing the proposed change. Applies to: create_change."
      • addedInput schema / properties / blocking_reasons / description
        Added value: +"Current readiness blockers recorded for this packet target. Applies to: set_packet_target_state, block_packet_question, revise_packet, transition_packet."
      • addedInput schema / properties / candidate_set_id / description
        Added value: +"Singular navigation-candidate-set alias, used when candidate_set_ids is absent or empty. Applies to: set_packet_target_state, revise_packet."
      • addedInput schema / properties / candidate_set_ids / description
        Added value: +"Existing navigation candidate sets supplying the packet's target-readiness context. Applies to: set_packet_target_state, revise_packet."
      • addedInput schema / properties / change_id / description
        Added value: +"Canonical owning change ID; when address resolution permits omission, the packet/campaign must resolve unambiguously."
      • addedInput schema / properties / claim_contradicted / description
        Added value: +"Whether the declared evidence claim is contradicted, as explicitly reported by its source. Applies to: declare_packet_evidence_claim."
      • addedInput schema / properties / claim_dynamic / description
        Added value: +"Whether the evidence claim requires current dynamic/provider evidence rather than a static declaration. Applies to: declare_packet_evidence_claim."
      • addedInput schema / properties / claim_id / description
        Added value: +"Stable ID of the existing packet-evidence claim. Applies to: supersede_packet_evidence_claim. Required by: supersede_packet_evidence_claim."
      • addedInput schema / properties / claim_key / description
        Added value: +"Caller-supplied identity of this claim within its reconciliation scope. Applies to: declare_packet_evidence_claim. Required by: declare_packet_evidence_claim."
      • addedInput schema / properties / claim_required / description
        Added value: +"Whether the declared claim is required for reconciliation closure. Applies to: declare_packet_evidence_claim."
      • addedInput schema / properties / claim_type / description
        Added value: +"Canonical evidence-claim category used by packet reconciliation. Applies to: declare_packet_evidence_claim. Required by: declare_packet_evidence_claim. Canonical values: target, symbol_contract, impact, cleanup, test_obligation."
      • addedInput schema / properties / claims / description
        Added value: +"Provider snapshot claim records, preserving their identities, content and declared provenance. Applies to: import_packet_evidence_snapshot. Required by: import_packet_evidence_snapshot."
      • addedInput schema / properties / completeness / description
        Added value: +"Declared completeness of each evidence surface; absent or partial evidence must remain explicit. Applies to: import_packet_evidence_snapshot. Required by: import_packet_evidence_snapshot."
      • addedInput schema / properties / completion_criteria / description
        Added value: +"Ordered packet completion statements; these become stable criteria through the validation-authority workflow. Applies to: revise_packet."
      • addedInput schema / properties / construction_audit_id / description
        Added value: +"ID of the existing packet-construction audit containing the question being resolved. Applies to: get_packet_construction_audit, answer_packet_question, waive_packet_question, block_packet_question. Required by: answer_packet_question, waive_packet_question, block_packet_question."
      • addedInput schema / properties / context_snapshot_id / description
        Added value: +"Singular navigation-context-snapshot alias, used when context_snapshot_ids is absent or empty. Applies to: set_packet_target_state, revise_packet."
      • addedInput schema / properties / context_snapshot_ids / description
        Added value: +"Existing context snapshots supporting current packet target selection. Applies to: set_packet_target_state, revise_packet."
      • addedInput schema / properties / contract_version / description
        Added value: +"Version identifier of the imported provider-evidence contract. Applies to: import_packet_evidence_snapshot."
      • addedInput schema / properties / criterion_results / description
        Added value: +"Declared results for the packet's completion criteria; completion, verification and acceptance remain distinct. Applies to: transition_packet."
      • addedInput schema / properties / depends_on_packet_id / description
        Added value: +"Existing predecessor packet ID to link as a dependency of the selected packet. Applies to: link_dependency. Required by: link_dependency."
      • addedInput schema / properties / diagnostics / description
        Added value: +"Declared provider diagnostics attached to imported evidence; preserve errors and partial coverage. Applies to: import_packet_evidence_snapshot."
      • addedInput schema / properties / disposition / description
        Added value: +"Explicit classification/action for the selected finding, review, packet question or campaign obligation. Applies to: transition_packet."
      • addedInput schema / properties / evidence_refs / description
        Added value: +"References to actual supporting evidence; host-declared provenance remains host-declared. Applies to: declare_packet_evidence_claim, answer_packet_question."
      • addedInput schema / properties / fingerprint / description
        Added value: +"Source/provider-reported evidence fingerprint retained for reconciliation currentness. Applies to: import_packet_evidence_snapshot. Required by: import_packet_evidence_snapshot."
      • addedInput schema / properties / goal_ids / description
        Added value: +"Existing goal graph IDs governing the packet or campaign scope. Applies to: revise_packet."
      • addedInput schema / properties / in_scope / description
        Added value: +"Behaviors and implementation boundaries explicitly included in this packet. Applies to: revise_packet."
      • addedInput schema / properties / intent / description
        Added value: +"Engineering statement of the packet's intended observable behavior and authorized scope. Applies to: revise_packet."
      • addedInput schema / properties / invariants / description
        Added value: +"Conditions that must remain true throughout the scoped behavior or change. Applies to: revise_packet."
      • addedInput schema / properties / linked_navigation_refs / description
        Added value: +"Existing navigation references supporting the packet-question answer. Applies to: answer_packet_question."
      • addedInput schema / properties / max_claims / description
        Added value: +"Maximum provider-evidence claims requested by this bounded collection. Applies to: collect_packet_evidence_snapshot."
      • addedInput schema / properties / max_depth / description
        Added value: +"Maximum traversal depth for this bounded provider-evidence collection. Applies to: collect_packet_evidence_snapshot."
      • addedInput schema / properties / milestone_id / description
        Added value: +"Existing milestone identity governing or filtering the requested scope. Applies to: create_change, link_change_milestone, start_packet_construction_audit. Required by: link_change_milestone."
      • addedInput schema / properties / navigation_audit_id / description
        Added value: +"Singular navigation-audit alias, used when navigation_audit_ids is absent or empty. Applies to: set_packet_target_state, revise_packet."
      • addedInput schema / properties / navigation_audit_ids / description
        Added value: +"Existing navigation audit IDs supporting packet target readiness. Applies to: set_packet_target_state, revise_packet."
      • addedInput schema / properties / object_ref / description
        Added value: +"Object-side identity of the declared subject/predicate/object evidence claim. Applies to: declare_packet_evidence_claim. Required by: declare_packet_evidence_claim."
      • addedInput schema / properties / operation / description
        Added value: +"Operation selector for this multiplexer; use a canonical route listed below. Canonical values: create_change, get_change, link_change_milestone, set_packet_target_state, evaluate_packet_readiness, start_packet_construction_audit, get_packet_construction_audit, initialize_packet_reconciliation, get_packet_reconciliation, declare_packet_evidence_claim, supersede_packet_evidence_claim, import_packet_evidence_snapshot, collect_packet_evidence_snapshot, reconcile_packet_evidence, disposition_packet_evidence_residual, answer_packet_question, waive_packet_question, block_packet_question, derive_packet_pressure, get_packet_pressure, accept_residual_risk, revise_packet, link_dependency, transition_packet."
      • addedInput schema / properties / operation / examples
        Added value: +[
        +  "create_change"
        +]
      • addedInput schema / properties / out_of_scope / description
        Added value: +"Explicitly excluded behavior and implementation work for this packet. Applies to: revise_packet."
      • addedInput schema / properties / packet_id / description
        Added value: +"Canonical packet identity returned by authoring; it identifies the bounded implementation work."
      • addedInput schema / properties / packet_status / description
        Added value: +"Requested canonical packet lifecycle status, checked against its ordinary transition guards. Applies to: transition_packet. Required by: transition_packet. Canonical values: planned, scaffolded, partial, idle, implemented, superseded, cancelled."
      • addedInput schema / properties / policy_ref / description
        Added value: +"Existing policy reference authorizing the requested waiver or residual disposition. Applies to: disposition_packet_evidence_residual, waive_packet_question. Required by: waive_packet_question."
      • addedInput schema / properties / predicate / description
        Added value: +"Relationship asserted between the evidence claim's subject and object. Applies to: declare_packet_evidence_claim. Required by: declare_packet_evidence_claim."
      • addedInput schema / properties / pressure_id / description
        Added value: +"Existing packet-pressure projection identity for explicit residual-risk acceptance. Applies to: get_packet_pressure, accept_residual_risk. Required by: accept_residual_risk."
      • addedInput schema / properties / profile / description
        Added value: +"Named existing policy/profile used for the selected packet-construction audit. Applies to: start_packet_construction_audit, derive_packet_pressure."
      • 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 / provider / description
        Added value: +"Compatibility alias for provider_id when importing a packet-evidence snapshot. Applies to: import_packet_evidence_snapshot."
      • addedInput schema / properties / provider_id / description
        Added value: +"Evidence-provider identity recorded in the imported snapshot. Applies to: import_packet_evidence_snapshot. Required by: import_packet_evidence_snapshot."
      • addedInput schema / properties / provider_scope_id / description
        Added value: +"Authorized scope identity understood by the configured provider. Applies to: import_packet_evidence_snapshot. Required by: import_packet_evidence_snapshot."
      • addedInput schema / properties / provider_snapshot_id / description
        Added value: +"Provider-issued identity of the imported evidence snapshot. Applies to: import_packet_evidence_snapshot. Required by: import_packet_evidence_snapshot."
      • addedInput schema / properties / question_id / description
        Added value: +"Existing open packet-construction or Oracle question identity. Applies to: answer_packet_question, waive_packet_question, block_packet_question. Required by: answer_packet_question, waive_packet_question, block_packet_question."
      • addedInput schema / properties / rationale / description
        Added value: +"Concrete reasoning supporting this ordinary mutation, decision or selected authority. Applies to: create_change, supersede_packet_evidence_claim, disposition_packet_evidence_residual, waive_packet_question, block_packet_question, revise_packet. Required by: create_change, supersede_packet_evidence_claim, disposition_packet_evidence_residual."
      • addedInput schema / properties / reconciliation_disposition / description
        Added value: +"Explicit decision for the selected packet-evidence reconciliation residual. Applies to: disposition_packet_evidence_residual. Required by: disposition_packet_evidence_residual. Canonical values: resolved, waived, rejected, escalated, superseded."
      • addedInput schema / properties / reconciliation_item_id / description
        Added value: +"Existing residual identity returned by packet-evidence reconciliation. Applies to: disposition_packet_evidence_residual. Required by: disposition_packet_evidence_residual."
      • addedInput schema / properties / reconciliation_profile / description
        Added value: +"Named reconciliation policy/profile to apply to the declared evidence scope. Applies to: initialize_packet_reconciliation."
      • addedInput schema / properties / reconciliation_scope_id / description
        Added value: +"Existing packet-evidence reconciliation scope identity. Applies to: get_packet_reconciliation, declare_packet_evidence_claim, import_packet_evidence_snapshot, collect_packet_evidence_snapshot, reconcile_packet_evidence. Required by: declare_packet_evidence_claim, import_packet_evidence_snapshot, collect_packet_evidence_snapshot, reconcile_packet_evidence."
      • 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 / requirement_ids / description
        Added value: +"Explicit existing requirement IDs defining the selected scope. Applies to: create_change, revise_packet. Required by: create_change."
      • addedInput schema / properties / selection_ref / description
        Added value: +"Provider selection reference retained in the imported evidence snapshot. Applies to: import_packet_evidence_snapshot. Required by: import_packet_evidence_snapshot."
      • addedInput schema / properties / snapshot_id / description
        Added value: +"Existing imported packet-evidence snapshot identity to reconcile. Applies to: reconcile_packet_evidence. Required by: reconcile_packet_evidence."
      • addedInput schema / properties / source_refs / description
        Added value: +"References to existing sources governing the proposed change. Applies to: create_change."
      • addedInput schema / properties / source_revision / description
        Added value: +"Declared repository/source revision associated with the work or evidence; does not independently prove implementation. Applies to: import_packet_evidence_snapshot. Required by: import_packet_evidence_snapshot."
      • addedInput schema / properties / subject_ref / description
        Added value: +"Subject-side identity of the declared evidence claim. Applies to: declare_packet_evidence_claim. Required by: declare_packet_evidence_claim."
      • addedInput schema / properties / successor_packet_id / description
        Added value: +"Existing successor/remediation packet identity associated with this lifecycle transition. Applies to: transition_packet."
      • addedInput schema / properties / summary / description
        Added value: +"Declared concise evidence/readiness summary retained with the snapshot or packet target. Applies to: answer_packet_question, block_packet_question."
      • addedInput schema / properties / surfaces / description
        Added value: +"Explicit provider evidence/association surfaces, such as repo; use the exact configured route contract. Applies to: import_packet_evidence_snapshot."
      • addedInput schema / properties / target_binding_ids / description
        Added value: +"Existing navigation target-binding identities supporting packet readiness. Applies to: set_packet_target_state, revise_packet."
      • addedInput schema / properties / target_policy / description
        Added value: +"Packet target-selection policy controlling explicit/provider/materialization readiness requirements. Applies to: set_packet_target_state, revise_packet. Canonical values: code_targets_required, documental_only."
      • addedInput schema / properties / target_state / description
        Added value: +"Declared packet target-readiness state checked against the governing target policy. Applies to: set_packet_target_state, revise_packet. Canonical values: draft, needs_targets, needs_authority, refined, execution_ready, stale, blocked."
      • addedInput schema / properties / title / description
        Added value: +"Short human-readable title of the authored requirement, finding, packet, run step or campaign. Applies to: create_change, revise_packet. Required by: create_change."
      • addedInput schema / properties / truncated / description
        Added value: +"Whether imported evidence was truncated; partial evidence must not be treated as complete. Applies to: import_packet_evidence_snapshot."
      • addedInput schema / properties / unresolved_questions / description
        Added value: +"Known unresolved engineering/behavior questions retained on this packet; closure gates require resolution rather than anticipatory coding. Applies to: revise_packet."
      • addedInput schema / properties / waiver_rationale / description
        Added value: +"Concrete reason for explicitly waiving the selected packet-construction question under its policy. Applies to: waive_packet_question."
      • addedInput schema / properties / workspace_revision / description
        Added value: +"Provider-declared workspace revision associated with the imported evidence snapshot. Applies to: import_packet_evidence_snapshot."
    • Changedfow_create_project4 fields changed
      • 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 / name / description
        Added value: +"Human-readable project or milestone name."
      • 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: +"Accepted compatibility input; current project creation does not consume request_id or issue a request replay receipt. The canonical project_id is unique and identical repeated creation is rejected before adding effects."
    • Changedfow_external_work9 fields changed
      • 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 / change_id / description
        Added value: +"Canonical owning change ID; when address resolution permits omission, the packet/campaign must resolve unambiguously."
      • addedInput schema / properties / operation / description
        Added value: +"Operation selector for this multiplexer; use a canonical route listed below. Canonical values: set_mode, select_executor, negotiate_provider, upgrade_validation, criteria, reconcile_criteria, add_criterion, edit_criterion, remove_criterion, validation, provider_validation, export_plan, todo, report_outcome, reconcile_outcome."
      • addedInput schema / properties / operation / examples
        Added value: +[
        +  "set_mode"
        +]
      • addedInput schema / properties / packet_id / description
        Added value: +"Canonical packet identity returned by authoring; it identifies the bounded implementation work."
      • addedInput schema / properties / payload / description
        Added value: +"Standalone execution/PVP operation input. Copy issued spec/plan revisions and authority fingerprint where required; TODO/outcome identities and declared verification obligations must match the issued plan, including offline work. Applies to: set_mode, select_executor, negotiate_provider, upgrade_validation, reconcile_criteria, add_criterion, edit_criterion, remove_criterion, validation, provider_validation, export_plan, todo, report_outcome, reconcile_outcome. Required by: set_mode, select_executor, negotiate_provider, upgrade_validation, reconcile_criteria, add_criterion, edit_criterion, remove_criterion, export_plan, report_outcome, reconcile_outcome. Exact required/optional dotted fields and guidance: fow_capabilities(view=operation, operation_tool=fow_external_work, operation_name=<selected route>)."
      • addedInput schema / properties / payload / examples
        Added value: +[
        +  {
        +    "expected_plan_revision": 1,
        +    "expected_spec_revision": 1,
        +    "mode": "external_agent"
        +  }
        +]
      • 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."
    • Changedfow_generate_artifacts4 fields changed
      • 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 / profile_id / description
        Added value: +"Configured artifact-generation profile identity; selects rendering policy, not a model endpoint."
      • 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."
    • Changedfow_get_artifacts4 fields changed
      • addedInput schema / properties / artifact_kind / description
        Added value: +"Optional artifact-type filter within the selected generation; omission returns all retained kinds."
      • addedInput schema / properties / generation_id / description
        Added value: +"Stored immutable artifact-generation ID; omit it to read all retained generations for this project, subject to artifact_kind filtering."
      • addedInput schema / properties / include_content / description
        Added value: +"Whether to include stored artifact body text as well as metadata."
      • 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."
    • Changedfow_get_job2 fields changed
      • addedInput schema / properties / job_id / description
        Added value: +"Durable job ID returned by the operation that scheduled the work."
      • 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."
    • Changedfow_get_requirement2 fields changed
      • 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 / requirement_id / description
        Added value: +"Existing canonical requirement identity, as returned by registration/import."
    • Changedfow_goal28 fields changed
      • 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 / alternate_steps / description
        Added value: +"Ordered alternative use-case steps, distinct from the normal and failure paths. Applies to: add_sequence."
      • addedInput schema / properties / category / description
        Added value: +"Requirement or behavioral-expectation category recognized by the current lifecycle policy. Applies to: add_behavioral_expectation. Required by: add_behavioral_expectation. Canonical values: functional, non_functional."
      • addedInput schema / properties / detail_level / description
        Added value: +"Read projection detail level; standard is bounded routine context, audit includes the available audit detail. Applies to: view. Canonical values: standard, audit."
      • addedInput schema / properties / expected_effects / description
        Added value: +"Observable effects expected from the authored use-case or sequence steps. Applies to: add_sequence. Required by: add_sequence."
      • addedInput schema / properties / failure_steps / description
        Added value: +"Ordered steps describing how the use case behaves when its normal operation fails. Applies to: add_sequence."
      • addedInput schema / properties / invariants / description
        Added value: +"Conditions that must remain true throughout the scoped behavior or change. Applies to: add_use_case."
      • addedInput schema / properties / limit / description
        Added value: +"Maximum number of records in this read page; existing route-specific bounds still apply. Applies to: view."
      • addedInput schema / properties / normal_steps / description
        Added value: +"Ordered normal use-case/sequence actions describing the intended successful behavior. Applies to: add_sequence. Required by: add_sequence."
      • addedInput schema / properties / objective / description
        Added value: +"Observable objective of the use case or implementation run. Applies to: add_use_case. Required by: add_use_case."
      • addedInput schema / properties / observable_outcome / description
        Added value: +"Result the stakeholder should be able to observe when the use case succeeds. Applies to: add_use_case, add_behavioral_expectation. Required by: add_use_case, add_behavioral_expectation."
      • addedInput schema / properties / offset / description
        Added value: +"Zero-based position of the first record in this bounded read page. Applies to: view."
      • addedInput schema / properties / operation / description
        Added value: +"Operation selector for this multiplexer; use a canonical route listed below. Canonical values: view, add_use_case, add_sequence, add_behavioral_expectation, link, derive_requirement_candidates."
      • addedInput schema / properties / operation / examples
        Added value: +[
        +  "view"
        +]
      • addedInput schema / properties / participants / description
        Added value: +"Named actors/components participating in the use case or sequence. Applies to: add_sequence. Required by: add_sequence."
      • addedInput schema / properties / postconditions / description
        Added value: +"Conditions that should hold after the use case completes. Applies to: add_use_case."
      • addedInput schema / properties / preconditions / description
        Added value: +"Conditions assumed before the use case starts. Applies to: add_use_case."
      • 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 / relation / description
        Added value: +"Canonical directed relationship between the selected source and target goal nodes. Applies to: link. Required by: link."
      • 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_anchor / description
        Added value: +"Optional structured source anchor containing source_path, integer line_start and line_end, and optional label; this goal-authoring input is a mapping, distinct from requirement/finding string references. Applies to: add_use_case, add_sequence, add_behavioral_expectation."
      • addedInput schema / properties / source_goal_id / description
        Added value: +"Existing source goal node for the directed goal relationship. Applies to: link. Required by: link."
      • addedInput schema / properties / statement / description
        Added value: +"Precise requirement or behavioral expectation describing an observable obligation. Applies to: add_behavioral_expectation. Required by: add_behavioral_expectation."
      • addedInput schema / properties / target_goal_id / description
        Added value: +"Existing target goal node for the directed goal relationship. Applies to: link. Required by: link."
      • addedInput schema / properties / title / description
        Added value: +"Short human-readable title of the authored requirement, finding, packet, run step or campaign. Applies to: add_use_case, add_sequence, add_behavioral_expectation. Required by: add_use_case, add_sequence, add_behavioral_expectation."
      • addedInput schema / properties / use_case_actor / description
        Added value: +"Stakeholder/system role performing the use case, distinct from the actor recording this mutation. Applies to: add_use_case. Required by: add_use_case."
      • addedInput schema / properties / view / description
        Added value: +"Goal-graph projection selected by operation=view; use the canonical views listed in exact operation help. Applies to: view. Canonical values: summary, nodes, edges, candidates."
      • addedInput schema / properties / view / examples
        Added value: +[
        +  "summary"
        +]
    • Changedfow_ground_intent5 fields changed
      • 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 / goal_node_ids / description
        Added value: +"Existing use-case/sequence/expectation node IDs selected for intention grounding or correspondence."
      • 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_revision / description
        Added value: +"Declared repository/source revision associated with the work or evidence; does not independently prove implementation."
    • Changedfow_handover15 fields changed
      • 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 / change_id / description
        Added value: +"Canonical owning change ID; when address resolution permits omission, the packet/campaign must resolve unambiguously."
      • addedInput schema / properties / focus_kind / description
        Added value: +"Type of lifecycle object anchoring the requested handover projection. Applies to: project_state_snapshot. Canonical values: project, milestone, use_case, sequence, packet, gate."
      • addedInput schema / properties / focus_ref / description
        Added value: +"Existing lifecycle-object reference selected by focus_kind. Applies to: project_state_snapshot."
      • addedInput schema / properties / handover_id / description
        Added value: +"Identity of an existing durable handover snapshot to inspect or resume. Applies to: get_handover, resume_context. Required by: get_handover."
      • addedInput schema / properties / limit / description
        Added value: +"Maximum number of records in this read page; existing route-specific bounds still apply. Applies to: project_state_snapshot."
      • addedInput schema / properties / milestone_ids / description
        Added value: +"Explicit existing milestone IDs in the roadmap or handover selection. Applies to: project_progress. Required by: project_progress."
      • addedInput schema / properties / operation / description
        Added value: +"Operation selector for this multiplexer; use a canonical route listed below. Canonical values: create_handover, get_handover, resume_context, ledger_projection, project_state_snapshot, project_progress."
      • addedInput schema / properties / operation / examples
        Added value: +[
        +  "create_handover"
        +]
      • addedInput schema / properties / packet_id / description
        Added value: +"Canonical packet identity returned by authoring; it identifies the bounded implementation work."
      • addedInput schema / properties / profile_version / description
        Added value: +"Requested existing handover projection contract/profile version. Applies to: create_handover."
      • 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 / projection_kind / description
        Added value: +"Kind of coherent lifecycle projection to retain in the handover. Applies to: ledger_projection."
      • 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 / run_id / description
        Added value: +"Existing implementation-run identity returned by create_run. Applies to: create_handover, resume_context. Required by: create_handover."
    • Changedfow_import_srs5 fields changed
      • 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."
    • Changedfow_interaction17 fields changed
      • 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 / area / description
        Added value: +"Integer lifecycle-area choice issued by the current discovery/frame. Use its displayed number; do not supply an area name or invent an index. Applies to: select, switch. Required by: select, switch."
      • addedInput schema / properties / breath_available / description
        Added value: +"Host-declared availability for the interaction continuation boundary; does not authorize work or accept results. Applies to: goal_hook."
      • addedInput schema / properties / frame_ref / description
        Added value: +"Issued interaction frame reference used to continue the same bounded selection/page. Applies to: resolve. Required by: resolve."
      • addedInput schema / properties / interaction_session_ref / description
        Added value: +"Host-provided stable interaction-session identity; retain it across calls within the same conversation."
      • addedInput schema / properties / limit / description
        Added value: +"Maximum number of records in this read page; existing route-specific bounds still apply. Applies to: discover."
      • addedInput schema / properties / operation / description
        Added value: +"Operation selector for this multiplexer; use a canonical route listed below. Canonical values: status, discover, open, select_project, switch_project, clear_project, select, switch, clear, frame, resolve, goal_hook."
      • addedInput schema / properties / operation / examples
        Added value: +[
        +  "status"
        +]
      • addedInput schema / properties / page_action / description
        Added value: +"Requested interaction-page navigation action using the issued frame, not a new project selection. Applies to: discover. Canonical values: more, refine, stop."
      • addedInput schema / properties / previous_anchor_fingerprint / description
        Added value: +"Previously issued interaction anchor fingerprint used to detect continuation drift. Applies to: goal_hook."
      • 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 / project_selection / description
        Added value: +"Integer project choice issued by project discovery. Use the displayed number for the current interaction session; project_id is the separate explicit identity input. Applies to: select_project, switch_project."
      • addedInput schema / properties / query / description
        Added value: +"Bounded search text used by interaction discovery within the selected work surface. Applies to: discover."
      • 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 / selection / description
        Added value: +"Integer work-item choice issued by the current interaction frame. Retain its frame_ref and use the displayed number. Applies to: resolve. Required by: resolve."
      • addedInput schema / properties / trigger / description
        Added value: +"Declared interaction-continuation trigger used to select the next bounded attention surface. Applies to: goal_hook. Required by: goal_hook. Canonical values: goal_started, goal_resumed, lens_changed, bounded_work_completed, asynchronous_wake, breath_resumed, context_reconstructed, structural_no_progress."
      • addedInput schema / properties / trigger_ref / description
        Added value: +"Reference to the event/evidence that caused the declared interaction trigger. Applies to: goal_hook."
    • Changedfow_list_jobs1 field changed
      • 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."
    • Changedfow_packet_advance11 fields changed
      • 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 / change_id / description
        Added value: +"Canonical owning change ID; when address resolution permits omission, the packet/campaign must resolve unambiguously."
      • addedInput schema / properties / decision / description
        Added value: +"Gate response object routed by decision.operation. Omit it for ordinary advance; obtain the current gate and its required decision fields before replying. sync_only rejects semantic decisions. Applies to: accept_work_plan, reject_work_plan, accept_residual_risk, retry_provider_rejection, record_workspace_review, resolve_reconciliation_residual. Required by: accept_work_plan, reject_work_plan, accept_residual_risk, retry_provider_rejection, record_workspace_review, resolve_reconciliation_residual. Exact required/optional dotted fields and guidance: fow_capabilities(view=operation, operation_tool=fow_packet_advance, operation_name=<selected route>)."
      • addedInput schema / properties / decision / examples
        Added value: +[
        +  {
        +    "operation": "accept_work_plan",
        +    "rationale": "example-rationale"
        +  }
        +]
      • addedInput schema / properties / expected_plan_revision / description
        Added value: +"Plan revision issued with the work or gate being acted on; do not replace stale issued authority to legitimize old work."
      • addedInput schema / properties / expected_spec_revision / description
        Added value: +"Packet specification revision issued with the work or gate being acted on; mismatch rejects stale mutation."
      • addedInput schema / properties / mode / description
        Added value: +"Packet advancement policy: advance evaluates ordinary progression; sync_only delivers pending deltas without START. Applies to: advance. Canonical values: advance, sync_only."
      • addedInput schema / properties / mode / examples
        Added value: +[
        +  "advance"
        +]
      • addedInput schema / properties / packet_id / description
        Added value: +"Canonical packet identity returned by authoring; it identifies the bounded implementation work."
      • 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."
    • Changedfow_packet_author40 fields changed
      • addedInput schema / properties / active_provider / description
        Added value: +"Selected implementation-provider identity for provider-owned packet execution. Applies to: start_packet."
      • 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 / answers / description
        Added value: +"Structured resolutions of the packet's currently open engineering questions, using their issued identities. Applies to: replace_plan, resolve_questions. Required by: resolve_questions. Exact required/optional dotted fields and guidance: fow_capabilities(view=operation, operation_tool=fow_packet_author, operation_name=<selected route>)."
      • addedInput schema / properties / architecture_refs / description
        Added value: +"References to components, interfaces or decisions in one adopted architecture revision; omission preserves selection and [] explicitly clears it. Applies to: start_packet, revise_packet."
      • addedInput schema / properties / change_id / description
        Added value: +"Canonical owning change ID; when address resolution permits omission, the packet/campaign must resolve unambiguously."
      • addedInput schema / properties / client_unit_key / description
        Added value: +"Stable caller-owned unit identity used to reconcile authoring retries and locate the intended plan unit. Applies to: add_unit, revise_unit, remove_unit, rebind_unit, set_dependencies. Required by: revise_unit, remove_unit, rebind_unit, set_dependencies."
      • addedInput schema / properties / completion_criteria / description
        Added value: +"Ordered packet completion statements; these become stable criteria through the validation-authority workflow. Applies to: start_packet, revise_packet. Required by: start_packet."
      • addedInput schema / properties / depends_on / description
        Added value: +"Existing plan-unit identities this unit must consume before becoming executable. Applies to: set_dependencies. Required by: set_dependencies."
      • addedInput schema / properties / expected_plan_revision / description
        Added value: +"Plan revision issued with the work or gate being acted on; do not replace stale issued authority to legitimize old work. Applies to: revise_packet, replace_plan, resolve_questions, answer_gate, add_unit, revise_unit, remove_unit, rebind_unit, set_dependencies. Required by: revise_unit, remove_unit, rebind_unit, set_dependencies."
      • addedInput schema / properties / expected_spec_revision / description
        Added value: +"Packet specification revision issued with the work or gate being acted on; mismatch rejects stale mutation. Applies to: revise_packet, replace_plan, resolve_questions, answer_gate, add_unit, revise_unit, remove_unit, rebind_unit, set_dependencies."
      • addedInput schema / properties / finding_ids / description
        Added value: +"Existing assurance finding IDs that the corrective packet is intended to address. Applies to: start_packet."
      • addedInput schema / properties / gate_fingerprint / description
        Added value: +"Fingerprint of the exact issued packet gate being answered; prevents responding to a different current gate. Applies to: answer_gate. Required by: answer_gate."
      • addedInput schema / properties / goal_ids / description
        Added value: +"Existing goal graph IDs governing the packet or campaign scope. Applies to: start_packet, revise_packet."
      • addedInput schema / properties / in_scope / description
        Added value: +"Behaviors and implementation boundaries explicitly included in this packet. Applies to: start_packet, revise_packet."
      • addedInput schema / properties / intent / description
        Added value: +"Engineering statement of the packet's intended observable behavior and authorized scope. Applies to: start_packet, revise_packet. Required by: start_packet."
      • addedInput schema / properties / invariants / description
        Added value: +"Conditions that must remain true throughout the scoped behavior or change. Applies to: start_packet, revise_packet."
      • addedInput schema / properties / milestone_id / description
        Added value: +"Existing milestone identity governing or filtering the requested scope. Applies to: start_packet."
      • addedInput schema / properties / operation / description
        Added value: +"Operation selector for this multiplexer; use a canonical route listed below. Canonical values: start_packet, revise_packet, replace_plan, resolve_questions, answer_gate, add_unit, revise_unit, remove_unit, rebind_unit, set_dependencies."
      • addedInput schema / properties / operation / examples
        Added value: +[
        +  "start_packet"
        +]
      • addedInput schema / properties / out_of_scope / description
        Added value: +"Explicitly excluded behavior and implementation work for this packet. Applies to: start_packet, revise_packet."
      • addedInput schema / properties / packet_id / description
        Added value: +"Canonical packet identity returned by authoring; it identifies the bounded implementation work."
      • addedInput schema / properties / predecessor_dependency_policy / description
        Added value: +"Declared dependency treatment when creating a successor/remediation packet. Applies to: start_packet. Canonical values: materialized, context_only."
      • addedInput schema / properties / predecessor_packet_id / description
        Added value: +"Existing packet being superseded or corrected by this new packet. Applies to: start_packet."
      • 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 / purpose / description
        Added value: +"Canonical packet purpose, including ordinary implementation or governed semantic remediation. Applies to: start_packet. Required by: start_packet. Canonical values: implementation, remediation."
      • addedInput schema / properties / rationale / description
        Added value: +"Concrete reasoning supporting this ordinary mutation, decision or selected authority. Applies to: start_packet, revise_packet."
      • 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 / required_campaign_ids / description
        Added value: +"Existing campaigns whose successful verification remains required by this corrective packet/finding. Applies to: start_packet."
      • addedInput schema / properties / required_regression_evidence / description
        Added value: +"Declared regression evidence obligations that must remain visible until actually satisfied. Applies to: start_packet."
      • addedInput schema / properties / requirement_ids / description
        Added value: +"Explicit existing requirement IDs defining the selected scope. Applies to: start_packet, revise_packet."
      • addedInput schema / properties / response / description
        Added value: +"Structured answer to the issued packet gate; use its current fingerprint and exact response contract. Applies to: answer_gate. Required by: answer_gate. Exact required/optional dotted fields and guidance: fow_capabilities(view=operation, operation_tool=fow_packet_author, operation_name=<selected route>)."
      • addedInput schema / properties / source_revision / description
        Added value: +"Declared repository/source revision associated with the work or evidence; does not independently prove implementation. Applies to: start_packet."
      • addedInput schema / properties / target_policy / description
        Added value: +"Packet target-selection policy controlling explicit/provider/materialization readiness requirements. Applies to: start_packet. Canonical values: code_targets_required, documental_only."
      • addedInput schema / properties / target_selection / description
        Added value: +"Structured existing navigation/plan-unit target selection; inspect its current identities before binding. Applies to: add_unit."
      • addedInput schema / properties / title / description
        Added value: +"Short human-readable title of the authored requirement, finding, packet, run step or campaign. Applies to: start_packet, revise_packet. Required by: start_packet."
      • addedInput schema / properties / unit / description
        Added value: +"Complete bounded implementation-unit declaration, including instructions, targets, producer/consumer contracts and verification obligations as required by plan authority. Applies to: add_unit. Exact required/optional dotted fields and guidance: fow_capabilities(view=operation, operation_tool=fow_packet_author, operation_name=<selected route>)."
      • addedInput schema / properties / unit / examples
        Added value: +[
        +  {
        +    "client_unit_key": "supporting-module",
        +    "file_path": "src/supporting_module.py",
        +    "instructions": [
        +      "Create the bounded supporting module.",
        +      "Export the contract required by its declared consumers."
        +    ],
        +    "operation_kind": "new_file",
        +    "unit_checks": [
        +      "The required public contract is exported."
        +    ]
        +  }
        +]
      • addedInput schema / properties / unit_patch / description
        Added value: +"Explicit patch to the identified existing plan unit; omitted fields preserve existing values under the ordinary revision rules. Applies to: revise_unit, rebind_unit. Required by: revise_unit, rebind_unit. Exact required/optional dotted fields and guidance: fow_capabilities(view=operation, operation_tool=fow_packet_author, operation_name=<selected route>)."
      • addedInput schema / properties / unresolved_questions / description
        Added value: +"Known unresolved engineering/behavior questions retained on this packet; closure gates require resolution rather than anticipatory coding. Applies to: start_packet, revise_packet."
      • addedInput schema / properties / work_plan / description
        Added value: +"Complete ordered implementation plan with stable unit identities, dependencies, instructions and checks; accepted mutations give it authority. Applies to: replace_plan. Required by: replace_plan. Exact required/optional dotted fields and guidance: fow_capabilities(view=operation, operation_tool=fow_packet_author, operation_name=<selected route>)."
    • Changedfow_packet_inspect8 fields changed
      • addedInput schema / properties / change_id / description
        Added value: +"Canonical owning change ID; when address resolution permits omission, the packet/campaign must resolve unambiguously."
      • addedInput schema / properties / detail_level / description
        Added value: +"Read projection detail level; standard is bounded routine context, audit includes the available audit detail. Canonical values: standard, audit."
      • addedInput schema / properties / limit / description
        Added value: +"Maximum number of records in this read page; existing route-specific bounds still apply."
      • addedInput schema / properties / offset / description
        Added value: +"Zero-based position of the first record in this bounded read page."
      • addedInput schema / properties / packet_id / description
        Added value: +"Canonical packet identity returned by authoring; it identifies the bounded implementation work."
      • 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 / view / description
        Added value: +"Read projection selector; canonical view names depend on this tool. Canonical values: summary, units, gates, working_sheet, history, requirements."
      • addedInput schema / properties / view / examples
        Added value: +[
        +  "summary"
        +]
    • Changedfow_promote_milestone10 fields changed
      • addedInput schema / properties / acceptance_evidence / description
        Added value: +"Reserved compatibility input; milestone promotion plans scope and rejects nonempty acceptance evidence. Use fow_accept_milestone for actual governed acceptance."
      • 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 / dependency_closure_ids / description
        Added value: +"Requirement IDs included in the milestone's explicit dependency closure."
      • addedInput schema / properties / entry_policy / description
        Added value: +"Declared entry conditions for the milestone's planned scope."
      • addedInput schema / properties / exit_policy / description
        Added value: +"Declared exit/acceptance conditions for the milestone's planned scope."
      • addedInput schema / properties / name / description
        Added value: +"Human-readable project or milestone name."
      • 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 / requirement_ids / description
        Added value: +"Explicit existing requirement IDs defining the selected scope."
      • addedInput schema / properties / risk_disposition / description
        Added value: +"Declared treatment of milestone planning risks."
    • Changedfow_record_verification8 fields changed
      • 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 / metadata / description
        Added value: +"Declared verification metadata, such as provenance and execution details; not independent proof of the result."
      • addedInput schema / properties / outcome / description
        Added value: +"Declared verification result, preserving failed or unexecuted obligations as such. Canonical values: passed, failed, partial."
      • 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 / reference / description
        Added value: +"Locator/reference of actual verification evidence; evidence provenance remains explicitly declared."
      • 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 / requirement_id / description
        Added value: +"Existing canonical requirement identity, as returned by registration/import."
      • addedInput schema / properties / verification_kind / description
        Added value: +"Canonical verification category identifying how the declared requirement evidence was obtained. Canonical values: tested_deterministically, tested_live."
    • Changedfow_register_requirement8 fields changed
      • 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 / category / description
        Added value: +"Requirement or behavioral-expectation category recognized by the current lifecycle policy."
      • 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 / rationale / description
        Added value: +"Concrete reasoning supporting this ordinary mutation, decision or selected authority."
      • 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_anchor / description
        Added value: +"String source locator/reference (path, section, entity or revision as applicable) linking authority to its originating material; this public input is not a structured object."
      • addedInput schema / properties / statement / description
        Added value: +"Precise requirement or behavioral expectation describing an observable obligation."
      • addedInput schema / properties / title / description
        Added value: +"Short human-readable title of the authored requirement, finding, packet, run step or campaign."
    • Changedfow_revise_requirement9 fields changed
      • 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 / category / description
        Added value: +"Requirement or behavioral-expectation category recognized by the current lifecycle policy."
      • 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 / rationale / description
        Added value: +"Concrete reasoning supporting this ordinary mutation, decision or selected authority."
      • 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 / requirement_id / description
        Added value: +"Existing canonical requirement identity, as returned by registration/import."
      • addedInput schema / properties / source_anchor / description
        Added value: +"String source locator/reference (path, section, entity or revision as applicable) linking authority to its originating material; this public input is not a structured object."
      • addedInput schema / properties / statement / description
        Added value: +"Precise requirement or behavioral expectation describing an observable obligation."
      • addedInput schema / properties / title / description
        Added value: +"Short human-readable title of the authored requirement, finding, packet, run step or campaign."
    • Changedfow_revise_srs_baseline7 fields changed
      • 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 / governed_approval_reference / description
        Added value: +"Reference to explicit governed approval required for this lifecycle transition or baseline change."
      • addedInput schema / properties / previous_baseline_id / description
        Added value: +"Exact current SRS baseline ID that this source-proven revision is intended to replace."
      • 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."
    • Changedfow_run23 fields changed
      • addedInput schema / properties / action / description
        Added value: +"Bounded instruction describing what this implementation-run step will do. Applies to: add_step. Required by: add_step."
      • 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 / blocking_reason / description
        Added value: +"Concrete reason the implementation-run step cannot advance. Applies to: block_step. Required by: block_step."
      • addedInput schema / properties / change_id / description
        Added value: +"Canonical owning change ID; when address resolution permits omission, the packet/campaign must resolve unambiguously."
      • addedInput schema / properties / completion_reference / description
        Added value: +"Reference to the actual evidence/authority supporting completion of this lifecycle object. Applies to: complete_run. Required by: complete_run."
      • addedInput schema / properties / depends_on_step_id / description
        Added value: +"Existing predecessor run-step ID that must complete before the selected step can start. Applies to: link_step_dependency. Required by: link_step_dependency."
      • addedInput schema / properties / evidence_refs / description
        Added value: +"References to actual supporting evidence; host-declared provenance remains host-declared. Applies to: add_step, complete_step. Required by: complete_step."
      • addedInput schema / properties / external_ref / description
        Added value: +"Declared external execution/reference identity attached to the implementation run. Applies to: create_run."
      • addedInput schema / properties / next_expected_action / description
        Added value: +"Concrete next action required to unblock or continue this implementation-run step. Applies to: block_step. Required by: block_step."
      • addedInput schema / properties / objective / description
        Added value: +"Observable objective of the use case or implementation run. Applies to: create_run. Required by: create_run."
      • addedInput schema / properties / operation / description
        Added value: +"Operation selector for this multiplexer; use a canonical route listed below. Canonical values: create_run, get_run, add_step, link_step_dependency, start_step, complete_step, block_step, cancel_step, complete_run, cancel_run, task_view."
      • addedInput schema / properties / operation / examples
        Added value: +[
        +  "create_run"
        +]
      • addedInput schema / properties / orchestrator_ref / description
        Added value: +"Identity/reference of the orchestrator responsible for this implementation run. Applies to: create_run."
      • addedInput schema / properties / packet_id / description
        Added value: +"Canonical packet identity returned by authoring; it identifies the bounded implementation work."
      • 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 / reason / description
        Added value: +"Explicit reason for the transition, cancellation or continuation action. Applies to: cancel_step, cancel_run. Required by: cancel_step, cancel_run."
      • 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 / run_id / description
        Added value: +"Existing implementation-run identity returned by create_run. Applies to: get_run, add_step, link_step_dependency, start_step, complete_step, block_step, cancel_step, complete_run, cancel_run, task_view. Required by: get_run, add_step, link_step_dependency, start_step, complete_step, block_step, cancel_step, complete_run, cancel_run, task_view."
      • addedInput schema / properties / source_ref / description
        Added value: +"Declared source-authority reference attached to the implementation run. Applies to: create_run."
      • addedInput schema / properties / step_id / description
        Added value: +"Existing implementation-run step identity. Applies to: link_step_dependency, start_step, complete_step, block_step, cancel_step. Required by: link_step_dependency, start_step, complete_step, block_step, cancel_step."
      • addedInput schema / properties / step_required / description
        Added value: +"Whether completion of this implementation-run step is required for the run to complete. Applies to: add_step."
      • addedInput schema / properties / target_refs / description
        Added value: +"Explicit implementation/source targets for this bounded run step. Applies to: add_step."
      • addedInput schema / properties / title / description
        Added value: +"Short human-readable title of the authored requirement, finding, packet, run step or campaign. Applies to: add_step. Required by: add_step."
    • Changedfow_semantic16 fields changed
      • 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 / assignment_id / description
        Added value: +"Identifier returned when the bounded semantic assignment was prepared. Applies to: inspect, submit, adopt, execute_internal. Required by: inspect, submit, adopt, execute_internal."
      • addedInput schema / properties / execution_mode / description
        Added value: +"Semantic executor route: host prepares a durable external assignment; internal explicitly uses configured inference. Applies to: prepare. Required by: prepare. Canonical values: host, internal."
      • addedInput schema / properties / executor_ref / description
        Added value: +"Identity/reference of the executor that produced the submitted semantic result. Applies to: submit. Required by: submit."
      • addedInput schema / properties / goal_node_ids / description
        Added value: +"Existing use-case/sequence/expectation node IDs selected for intention grounding or correspondence. Applies to: prepare."
      • addedInput schema / properties / host_evidence / description
        Added value: +"Exact flower-host-grounding-evidence-v1 receipt for host grounding, with its declared source/provenance. Applies to: prepare. Exact required/optional dotted fields and guidance: fow_capabilities(view=operation, operation_tool=fow_semantic, operation_name=<selected route>)."
      • addedInput schema / properties / operation / description
        Added value: +"Operation selector for this multiplexer; use a canonical route listed below. Canonical values: inventory, prepare, inspect, submit, adopt, execute_internal."
      • addedInput schema / properties / operation / examples
        Added value: +[
        +  "inventory"
        +]
      • 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 / result / description
        Added value: +"Executor-authored semantic result matching the prepared assignment schema. submit validates; adopt is a separate authority mutation. Applies to: submit. Required by: submit. Exact required/optional dotted fields and guidance: fow_capabilities(view=operation, operation_tool=fow_semantic, operation_name=<selected route>)."
      • addedInput schema / properties / result / examples
        Added value: +[
        +  {
        +    "findings": []
        +  }
        +]
      • addedInput schema / properties / role / description
        Added value: +"Bounded semantic role, currently srs_semantic_validation or intention_grounding; inventory discloses unsupported roles. Applies to: prepare. Required by: prepare. Canonical values: srs_semantic_validation, intention_grounding."
      • 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. Applies to: prepare."
      • addedInput schema / properties / source_revision / description
        Added value: +"Declared grounding/source revision. The assignment also retains a prepared authority snapshot; submitting a different revision does not make stale evidence current. Applies to: prepare, submit."
      • addedInput schema / properties / standard_profile / description
        Added value: +"Supported SRS Markdown validation profile; use the same profile when preparing, validating and importing a source. Applies to: prepare."
    • Changedfow_set_requirement_lifecycle7 fields changed
      • 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 / governed_approval_reference / description
        Added value: +"Reference to explicit governed approval required for this lifecycle transition or baseline change."
      • addedInput schema / properties / lifecycle_status / description
        Added value: +"Requested canonical requirement lifecycle state, subject to normal transition/approval policy. Canonical values: planned, implemented, partial, removed."
      • 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 / reason / description
        Added value: +"Explicit reason for the transition, cancellation or continuation action."
      • 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 / requirement_id / description
        Added value: +"Existing canonical requirement identity, as returned by registration/import."
    • Changedfow_traceability6 fields changed
      • addedInput schema / properties / detail_level / description
        Added value: +"Read projection detail level; standard is bounded routine context, audit includes the available audit detail. Canonical values: standard, audit."
      • addedInput schema / properties / evidence_id / description
        Added value: +"Existing evidence identity to inspect or associate; use returned IDs rather than inventing evidence."
      • addedInput schema / properties / limit / description
        Added value: +"Maximum number of records in this read page; existing route-specific bounds still apply."
      • addedInput schema / properties / milestone_id / description
        Added value: +"Existing milestone identity governing or filtering the requested scope."
      • addedInput schema / properties / offset / description
        Added value: +"Zero-based position of the first record in this bounded read page."
      • 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."
    • Changedfow_validate_srs5 fields changed
      • 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."
    • Changedfow_what_next6 fields changed
      • addedInput schema / properties / detail_level / description
        Added value: +"Read projection detail level; standard is bounded routine context, audit includes the available audit detail. Canonical values: standard, audit."
      • addedInput schema / properties / limit / description
        Added value: +"Maximum number of records in this read page; existing route-specific bounds still apply."
      • addedInput schema / properties / milestone_id / description
        Added value: +"Existing milestone identity governing or filtering the requested scope."
      • addedInput schema / properties / offset / description
        Added value: +"Zero-based position of the first record in this bounded read page."
      • 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 / scope_id / description
        Added value: +"Named audit/work scope selecting the relevant requirement phase or work projection."
  2. 37 tool updatesv0.1.0
    • First observedfow_accept_milestone
    • First observedfow_architecture
    • First observedfow_assurance
    • First observedfow_audit_phase
    • First observedfow_bindings
    • First observedfow_bootstrap
    • First observedfow_campaign_advance
    • First observedfow_campaign_author
    • First observedfow_campaign_inspect
    • First observedfow_capabilities
    • First observedfow_change
    • First observedfow_create_project
    • First observedfow_external_work
    • First observedfow_generate_artifacts
    • First observedfow_get_artifacts
    • First observedfow_get_job
    • First observedfow_get_requirement
    • First observedfow_goal
    • First observedfow_ground_intent
    • First observedfow_handover
    • First observedfow_import_srs
    • First observedfow_interaction
    • First observedfow_list_jobs
    • First observedfow_packet_advance
    • First observedfow_packet_author
    • First observedfow_packet_inspect
    • First observedfow_promote_milestone
    • First observedfow_record_verification
    • First observedfow_register_requirement
    • First observedfow_revise_requirement
    • First observedfow_revise_srs_baseline
    • First observedfow_run
    • First observedfow_semantic
    • First observedfow_set_requirement_lifecycle
    • First observedfow_traceability
    • First observedfow_validate_srs
    • First observedfow_what_next

TDQS

A3.7/5.0

Scored across 37 tools

Disambiguation4/5

Most tools target a distinct lifecycle concern, and descriptions include explicit cross-references that steer agents away from overlaps (e.g. fow_ground_intent vs fow_semantic, fow_external_work vs fow_packet_advance). However, the dense cluster of packet/change/run/campaign/external-work tools has subtle boundaries that an agent could still misselect, so it is not perfectly unambiguous.

Naming Consistency4/5

All tools share a consistent fow_ prefix and snake_case, with single-operation tools using a clear verb_noun pattern (fow_create_project, fow_get_requirement, fow_revise_requirement) and multi-operation routers named by domain (fow_change, fow_assurance, fow_packet_author). The deliberate router-vs-verb distinction is readable and mostly consistent, with only minor deviation.

Tool Count3/5

At 37 tools the surface is heavy and exceeds the comfortable range, which raises cognitive load for an agent. That said, the domain (a full software lifecycle governance engine) is genuinely vast and many tools are multi-operation dispatchers that consolidate dozens of underlying actions, so the count is defensible rather than inflated.

Completeness5/5

The surface covers an unusually full lifecycle: project creation, requirement CRUD and lifecycle, verification evidence, traceability, goals, SRS validate/import/revise, milestone promotion/acceptance, audits, artifact generation, job retrieval, bootstrap, assurance, run tracking, handover, packet authoring, and verification campaigns. CRUD and lifecycle coverage across these domains appears complete with no obvious dead ends.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables coding agents to store, recall, and manage persistent memory across sessions through MCP tools, with reviewable handoffs and SQLite-backed local storage.
    1
    MIT
  • F
    license
    A
    quality
    B
    maintenance
    Enables coding agents to track and coordinate project work through a shared SQLite ledger, including task plans, session ancestry, claims, work locations, blockers, and commits via MCP tools.
    9
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables coding agents to persist and resume shared working state—tasks, progress, decisions, commands, tests, checkpoints, and handoffs—backed by SQLite while keeping Git authoritative for files and repository state.
    MIT