Skip to main content
Glama

fow_campaign_author

Destructive

Define and revise governed verification campaigns: set scope, cases, obligations, behavioral Oracles, source attestations, and materialization or promotion authority.

Instructions

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

Input Schema

TableJSON 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

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

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

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.