Skip to main content
Glama
SAS MCP Server

SAS MCP Server

Official
by sassoftware

Lock Decision Flow Revision

lock_decision_flow_revision

Freezes a decision flow's current state as an immutable revision after a successful create or update, enabling publishing of that snapshot while opening the next working revision.

Instructions

Lock the current state of a decision flow as an immutable revision.

Call after a successful create/update to freeze the approved state as a point-in-time snapshot referenceable by publish_decision_flow. Viya locks the revision that was current and opens the next one: the result describes that new working revision, as before, and locked_revision the frozen one.

Input Schema

NameRequiredDescriptionDefault
decision_idYesThe decision flow UUID (not its name — list_decision_flows returns both).

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.7.0
    • changedInput schema / properties / decision_id / description
      Previous value: -"The decision flow UUID."New value: +"The decision flow UUID (not its name — list_decision_flows returns both)."
  2. Addedv1.5.0

TDQS

A4.1/5.0
Behavior5/5

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

The description goes well beyond the annotations by explaining the state machine: Viya locks the current revision and opens the next one, with the result describing the new working revision and locked_revision the frozen one. This is consistent with readOnlyHint=false and idempotentHint=false, and tells the agent exactly what mutation occurs and what the outcome represents.

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 core action is front-loaded in the first sentence, followed by a compact explanation of when to call and what the result contains. Slightly verbose in the final clause ('as before') but no sentence is wasted.

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 a single fully documented parameter, an output schema, and annotations covering the safety profile, the description supplies everything an agent needs to invoke it correctly: the trigger, the locked/next-revision behavior, and the downstream publish relationship.

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% and the schema itself already clarifies that decision_id is a UUID rather than a name. The description adds no additional parameter semantics, 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?

The description gives a specific verb plus resource ('Lock the current state of a decision flow as an immutable revision') and explains the resulting snapshot semantics. It names publish_decision_flow as the consumer, but does not distinguish itself explicitly from the analogous lock_decisioning_asset_revision or lock_business_ruleset_revision 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?

'Call after a successful create/update to freeze the approved state' provides a concrete trigger condition, and naming publish_decision_flow as the downstream consumer clarifies the ordering. It stops short of stating when not to call or what happens if invoked on an already-locked state.

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

Deploy Server

Other Tools