Skip to main content
Glama

fow_goal

Model intended software behavior by recording use cases, sequences, and expectations, linking goal nodes, and deriving requirement candidates for a project graph.

Instructions

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

Input Schema

TableJSON 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

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed28 schema fields changedv0.5.1
    • addedInput schema / properties / actor / description
      Added value: +"Identity of the human or agent recording this action; retain the original identity when replaying its request."
    • addedInput schema / properties / 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"
      +]
  2. First observedv0.1.0

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.