# ticket_scenario_revise

Replace an owned scenario's content, compare-and-swapping on expected_version. Revisions are append-only: validation runs already recorded keep naming the exact version and hash they were proven against, so revising never rewrites past evidence — it does mean the epic needs a fresh passing run against the new version. A stale expected_version conflicts rather than overwriting a concurrent edit.

Agent View of the PolicyLayer registry record for `ticket_scenario_revise`. HTML page: https://policylayer.com/tools/com-meta-council-decision-intelligence/ticket-scenario-revise

## Facts

- Tool: `ticket_scenario_revise`
- Server: Meta Council (`https://meta-council.com/mcp`) — https://policylayer.com/tools/com-meta-council-decision-intelligence.md
- Homepage: https://github.com/daliu/meta-council
- Risk category: Execute (High risk)
- Registry record: grade F, identity unverified
- Server auth posture: open
- Server rate-limited: no
- Parameters: 7 (7 required)
- Recommended policy verdict: Rate-limited

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `name` | string | yes |  |
| `ticket_id` | string | yes |  |
| `then_steps` | array | yes | Ordered clause steps; blank-only steps are rejected. |
| `when_steps` | array | yes | Ordered clause steps; blank-only steps are rejected. |
| `given_steps` | array | yes | Ordered clause steps; blank-only steps are rejected. |
| `scenario_id` | string | yes |  |
| `expected_version` | integer | yes |  |

Parameters from the server's own tool schema.

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "ticket_scenario_revise",
    "arguments": {
      "name": "<name>",
      "ticket_id": "<ticket_id>",
      "then_steps": [],
      "when_steps": [],
      "given_steps": [],
      "scenario_id": "<scenario_id>",
      "expected_version": 0
    }
  }
}
```

## Why ticket_scenario_revise is rated High

ticket_scenario_revise triggers real processes with real consequences. An agent gone sideways doesn't fire it once. It starts dozens of builds, sends mass notifications, or burns through compute before anyone looks up.

## Use case

AI agents invoke ticket_scenario_revise to trigger actions in Meta Council. What it does depends on the arguments the agent supplies, and its effects often reach beyond the immediate call: builds kicked off, notifications sent, workflows started.

## Recommended policy (PolicyLayer)

Verdict: **Rate-limited**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Meta Council:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "ticket_scenario_revise": {
      "limits": [
        {
          "counter": "ticket_scenario_revise_rate",
          "window": "minute",
          "max": 10,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on Meta Council (279)

- `account_export` — Destructive — https://policylayer.com/tools/com-meta-council-decision-intelligence/account-export.md
- `cancel_booking` — Destructive — https://policylayer.com/tools/com-meta-council-decision-intelligence/cancel-booking.md
- `decide_approval` — Destructive — https://policylayer.com/tools/com-meta-council-decision-intelligence/decide-approval.md
- `delete_accounting_run` — Destructive — https://policylayer.com/tools/com-meta-council-decision-intelligence/delete-accounting-run.md
- `delete_monitor` — Destructive — https://policylayer.com/tools/com-meta-council-decision-intelligence/delete-monitor.md
- `delete_saved_view` — Destructive — https://policylayer.com/tools/com-meta-council-decision-intelligence/delete-saved-view.md
- `delete_workflow_template` — Destructive — https://policylayer.com/tools/com-meta-council-decision-intelligence/delete-workflow-template.md
- `preview_scheduling_action` — Destructive — https://policylayer.com/tools/com-meta-council-decision-intelligence/preview-scheduling-action.md
- `project_unlink_feature` — Destructive — https://policylayer.com/tools/com-meta-council-decision-intelligence/project-unlink-feature.md
- `reconcile_attention_notification_delivery` — Destructive — https://policylayer.com/tools/com-meta-council-decision-intelligence/reconcile-attention-notification-delivery.md
- `revoke_portfolio_report_share` — Destructive — https://policylayer.com/tools/com-meta-council-decision-intelligence/revoke-portfolio-report-share.md
- `ticket_dependency_remove` — Destructive — https://policylayer.com/tools/com-meta-council-decision-intelligence/ticket-dependency-remove.md
- `void_invoice` — Destructive — https://policylayer.com/tools/com-meta-council-decision-intelligence/void-invoice.md
- `dismiss_ticket_integration_effect` — Execute — https://policylayer.com/tools/com-meta-council-decision-intelligence/dismiss-ticket-integration-effect.md
- `execute_saved_view` — Execute — https://policylayer.com/tools/com-meta-council-decision-intelligence/execute-saved-view.md
- `preview_accounting_ticket_sync` — Execute — https://policylayer.com/tools/com-meta-council-decision-intelligence/preview-accounting-ticket-sync.md
- `project_link_feature` — Execute — https://policylayer.com/tools/com-meta-council-decision-intelligence/project-link-feature.md
- `retry_workflow` — Execute — https://policylayer.com/tools/com-meta-council-decision-intelligence/retry-workflow.md
- `review_external_workflow` — Execute — https://policylayer.com/tools/com-meta-council-decision-intelligence/review-external-workflow.md
- `run_comparison` — Execute — https://policylayer.com/tools/com-meta-council-decision-intelligence/run-comparison.md
- `run_council` — Execute — https://policylayer.com/tools/com-meta-council-decision-intelligence/run-council.md
- `run_workflow` — Execute — https://policylayer.com/tools/com-meta-council-decision-intelligence/run-workflow.md
- `start_external_workflow` — Execute — https://policylayer.com/tools/com-meta-council-decision-intelligence/start-external-workflow.md
- `add_invoice_line_item` — Financial — https://policylayer.com/tools/com-meta-council-decision-intelligence/add-invoice-line-item.md
- `mark_invoice_paid` — Financial — https://policylayer.com/tools/com-meta-council-decision-intelligence/mark-invoice-paid.md
- `advance_workflow` — Read — https://policylayer.com/tools/com-meta-council-decision-intelligence/advance-workflow.md
- `ask_legal` — Read — https://policylayer.com/tools/com-meta-council-decision-intelligence/ask-legal.md
- `browse_ticket_integration_import` — Read — https://policylayer.com/tools/com-meta-council-decision-intelligence/browse-ticket-integration-import.md
- `campaign_pipeline_stats` — Read — https://policylayer.com/tools/com-meta-council-decision-intelligence/campaign-pipeline-stats.md
- `check_ticket_provider_fields` — Read — https://policylayer.com/tools/com-meta-council-decision-intelligence/check-ticket-provider-fields.md
- …and 249 more: https://policylayer.com/tools/com-meta-council-decision-intelligence.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=com-meta-council-decision-intelligence · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/com-meta-council-decision-intelligence
