Skip to main content
Glama

fow_interaction

Destructive

Connect a conversation to its durable lifecycle project, discover available work, and select one bounded work surface using issued choices to persist context and continuations.

Instructions

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

Input Schema

TableJSON 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

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed17 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 / 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."
  2. First observedv0.1.0

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.