{
  "schema_version": "utilito.agent-workflows.v1",
  "version": "1.0.0",
  "compiler_schema_version": "utilito.agent-use-case-compile.v1",
  "workflow_count": 10,
  "execution": false,
  "network_used_by_catalog": false,
  "storage_used_by_catalog": false,
  "workflows": [
    {
      "schema_version": "utilito.agent-use-case.v1",
      "id": "contract-change-safety",
      "order": 1,
      "title": "Decide contract change safety",
      "job": "Decide whether an API/tool contract change is safe.",
      "outcome": "Reconcile 1–5 related submitted contracts, references, and fixtures into a deterministic pass, review, or block packet with explicit unknowns.",
      "keywords": [
        "contract",
        "api",
        "tool schema",
        "compatibility",
        "release safety"
      ],
      "required_evidence": [
        {
          "id": "contracts",
          "label": "Contract versions",
          "description": "Previous and current inline contracts, contract kinds, and directions.",
          "required": true
        },
        {
          "id": "fixtures",
          "label": "Submitted fixtures",
          "description": "Bounded fixtures and explicit references.",
          "required": true
        },
        {
          "id": "policy",
          "label": "Decision policy",
          "description": "Unknown and failure policy.",
          "required": true
        }
      ],
      "privacy": {
        "mode": "server-submitted-response-only",
        "browser_local_search": true,
        "product_collection": false,
        "retention": "response_only",
        "network_used_by_compiler": false,
        "storage_used_by_compiler": false
      },
      "limits": {
        "max_steps": 5,
        "max_compiled_request_bytes": 262144,
        "tool_limits_source": "API_TOOL_MANIFEST"
      },
      "transport": "run",
      "steps": [
        {
          "id": "contract-review",
          "order": 1,
          "tool_id": "contract-reliability-workbench",
          "caller_id": null,
          "input": {
            "kind": "api-manifest-example",
            "tool_id": "contract-reliability-workbench",
            "example_index": 0
          },
          "bindings": []
        }
      ],
      "limitations": [
        "Conservative supported contract subset only; missing or unsupported semantics remain unknown."
      ],
      "sample_compile_input": {
        "use_case_id": "contract-change-safety",
        "response_mode": "full"
      },
      "compiled_sample": {
        "ok": true,
        "receipt": {
          "bindings": 0,
          "compiled_request_bytes": 1105,
          "executed": false,
          "network_used": false,
          "steps": 1,
          "storage_used": false,
          "tools": [
            "contract-reliability-workbench"
          ]
        },
        "request": {
          "input": {
            "contracts": [
              {
                "current_contract": {
                  "input_schema": {
                    "additionalProperties": false,
                    "properties": {
                      "value": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "value"
                    ],
                    "type": "object"
                  },
                  "name": "account",
                  "output_schema": {
                    "additionalProperties": false,
                    "properties": {
                      "ok": {
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "ok"
                    ],
                    "type": "object"
                  }
                },
                "id": "account-tool",
                "kind": "tool_contract",
                "previous_contract": {
                  "input_schema": {
                    "additionalProperties": false,
                    "properties": {
                      "value": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "value"
                    ],
                    "type": "object"
                  },
                  "name": "account",
                  "output_schema": {
                    "additionalProperties": false,
                    "properties": {
                      "ok": {
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "ok"
                    ],
                    "type": "object"
                  }
                },
                "references": [],
                "version": "2"
              }
            ],
            "direction": "both",
            "fixtures": [
              {
                "contract_ids": [
                  "account-tool"
                ],
                "expected": {
                  "outcome": "accepted"
                },
                "id": "input-ok",
                "target": "input",
                "value": {
                  "value": "sample"
                }
              },
              {
                "contract_ids": [
                  "account-tool"
                ],
                "expected": {
                  "outcome": "accepted"
                },
                "id": "output-ok",
                "target": "output",
                "value": {
                  "ok": true
                }
              }
            ],
            "policy": {
              "cross_contract_findings": "block",
              "fixture_failures": "block",
              "unknowns": "block"
            }
          },
          "response_mode": "full",
          "tool_id": "contract-reliability-workbench"
        },
        "schema_version": "utilito.agent-use-case-compile.v1",
        "transport": "run",
        "use_case_id": "contract-change-safety"
      }
    },
    {
      "schema_version": "utilito.agent-use-case.v1",
      "id": "find-utilito-workflow",
      "order": 2,
      "title": "Find a Utilito workflow",
      "job": "Find the correct Utilito workflow for a natural-language job.",
      "outcome": "Use browser-local catalog search to choose a use case, then compile an inert launch package for an explicitly selected canonical tool and client profile.",
      "keywords": [
        "workflow",
        "catalog",
        "tool discovery",
        "integration",
        "launch kit"
      ],
      "required_evidence": [
        {
          "id": "query",
          "label": "Local query",
          "description": "Natural-language discovery query remains browser-local.",
          "required": true
        },
        {
          "id": "selection",
          "label": "Explicit selection",
          "description": "Selected use-case ID, client profile, tool ID, and language.",
          "required": true
        },
        {
          "id": "example",
          "label": "Safe example",
          "description": "Optional submitted credential-free example input.",
          "required": false
        }
      ],
      "privacy": {
        "mode": "browser-local-or-server-submitted-response-only",
        "browser_local_search": true,
        "product_collection": false,
        "retention": "response_only",
        "network_used_by_compiler": false,
        "storage_used_by_compiler": false
      },
      "limits": {
        "max_steps": 5,
        "max_compiled_request_bytes": 262144,
        "tool_limits_source": "API_TOOL_MANIFEST"
      },
      "transport": "run",
      "steps": [
        {
          "id": "integration-launch",
          "order": 1,
          "tool_id": "integration-launch-kit",
          "caller_id": null,
          "input": {
            "kind": "api-manifest-example",
            "tool_id": "integration-launch-kit",
            "example_index": 0
          },
          "bindings": []
        }
      ],
      "limitations": [
        "Natural-language discovery is browser-local; compilation occurs only after explicit selection and never executes the launch request."
      ],
      "sample_compile_input": {
        "use_case_id": "find-utilito-workflow",
        "response_mode": "full"
      },
      "compiled_sample": {
        "ok": true,
        "receipt": {
          "bindings": 0,
          "compiled_request_bytes": 200,
          "executed": false,
          "network_used": false,
          "steps": 1,
          "storage_used": false,
          "tools": [
            "integration-launch-kit"
          ]
        },
        "request": {
          "input": {
            "client_profile": "cursor",
            "example_input": {
              "input": "{name:\"Ada\",items:[1,2,],}"
            },
            "language": "javascript",
            "tool_id": "json-repair"
          },
          "response_mode": "full",
          "tool_id": "integration-launch-kit"
        },
        "schema_version": "utilito.agent-use-case-compile.v1",
        "transport": "run",
        "use_case_id": "find-utilito-workflow"
      }
    },
    {
      "schema_version": "utilito.agent-use-case.v1",
      "id": "diagnose-api-mcp-failure",
      "order": 3,
      "title": "Diagnose an API or MCP failure",
      "job": "Diagnose a failed API or MCP call from submitted evidence.",
      "outcome": "Diagnose sanitized submitted MCP/client configuration, protocol, capability, and transcript evidence and produce inert fixes and verification requests.",
      "keywords": [
        "api failure",
        "mcp failure",
        "diagnostic",
        "connection",
        "transcript"
      ],
      "required_evidence": [
        {
          "id": "profile",
          "label": "Client profile",
          "description": "Client profile and transport.",
          "required": true
        },
        {
          "id": "configuration",
          "label": "Sanitized configuration",
          "description": "Credential-free bounded configuration.",
          "required": true
        },
        {
          "id": "transcript",
          "label": "Transcript",
          "description": "Bounded submitted transcript and expected protocol version.",
          "required": true
        },
        {
          "id": "policy",
          "label": "Policy",
          "description": "Strict diagnostic policy.",
          "required": true
        }
      ],
      "privacy": {
        "mode": "browser-local-or-server-submitted-response-only",
        "browser_local_search": true,
        "product_collection": false,
        "retention": "response_only",
        "network_used_by_compiler": false,
        "storage_used_by_compiler": false
      },
      "limits": {
        "max_steps": 5,
        "max_compiled_request_bytes": 65536,
        "tool_limits_source": "API_TOOL_MANIFEST"
      },
      "transport": "run",
      "steps": [
        {
          "id": "connection-diagnostic",
          "order": 1,
          "tool_id": "agent-connection-diagnostic-kit",
          "caller_id": null,
          "input": {
            "kind": "api-manifest-example",
            "tool_id": "agent-connection-diagnostic-kit",
            "example_index": 0
          },
          "bindings": []
        }
      ],
      "limitations": [
        "Current coverage is MCP/client-connection diagnostics, not the full API status, authentication, and rate-limit taxonomy planned for NX12."
      ],
      "sample_compile_input": {
        "use_case_id": "diagnose-api-mcp-failure",
        "response_mode": "full"
      },
      "compiled_sample": {
        "ok": true,
        "receipt": {
          "bindings": 0,
          "compiled_request_bytes": 608,
          "executed": false,
          "network_used": false,
          "steps": 1,
          "storage_used": false,
          "tools": [
            "agent-connection-diagnostic-kit"
          ]
        },
        "request": {
          "input": {
            "client_profile": "cursor",
            "diagnostic_policy": {
              "credential_material": "reject",
              "placeholders": "clearly_labeled",
              "transcript_evidence": "safe_exact",
              "unknown_client": "review"
            },
            "expected_protocol_version": "2025-06-18",
            "sanitized_configuration": {
              "args": [],
              "command": null,
              "declared_capabilities": [
                "tools"
              ],
              "endpoint_path": "/mcp",
              "environment_keys": [],
              "header_names": [],
              "protocol_version": "2025-03-26",
              "server_name": "utilito"
            },
            "transcript": "protocolVersion: 2025-03-26\ntools/list: available\nerror: Method not found",
            "transport": "http"
          },
          "response_mode": "full",
          "tool_id": "agent-connection-diagnostic-kit"
        },
        "schema_version": "utilito.agent-use-case-compile.v1",
        "transport": "run",
        "use_case_id": "diagnose-api-mcp-failure"
      }
    },
    {
      "schema_version": "utilito.agent-use-case.v1",
      "id": "translate-validate-tool-calls",
      "order": 4,
      "title": "Translate and validate tool calls",
      "job": "Translate and validate tool calls across OpenAI, Anthropic, and MCP shapes.",
      "outcome": "Validate and convert one submitted OpenAI, Anthropic, MCP, or Utilito tool definition and optional call into another supported shape.",
      "keywords": [
        "openai",
        "anthropic",
        "gemini",
        "mcp",
        "tool calls",
        "validation"
      ],
      "required_evidence": [
        {
          "id": "tool",
          "label": "Tool definition and optional call",
          "description": "One bounded submitted definition and optional matching call.",
          "required": true
        },
        {
          "id": "formats",
          "label": "Source and target formats",
          "description": "OpenAI, Anthropic, MCP, or canonical Utilito.",
          "required": true
        }
      ],
      "privacy": {
        "mode": "browser-local-or-server-submitted-response-only",
        "browser_local_search": true,
        "product_collection": false,
        "retention": "response_only",
        "network_used_by_compiler": false,
        "storage_used_by_compiler": false
      },
      "limits": {
        "max_steps": 5,
        "max_compiled_request_bytes": 262144,
        "tool_limits_source": "API_TOOL_MANIFEST"
      },
      "transport": "run",
      "steps": [
        {
          "id": "tool-call-interoperability",
          "order": 1,
          "tool_id": "tool-call-interoperability",
          "caller_id": null,
          "input": {
            "kind": "api-manifest-example",
            "tool_id": "tool-call-interoperability",
            "example_index": 0
          },
          "bindings": []
        }
      ],
      "limitations": [
        "Supports one definition and optional call through a conservative schema subset; unsupported semantics remain explicit unknowns and no tool is executed."
      ],
      "sample_compile_input": {
        "use_case_id": "translate-validate-tool-calls",
        "response_mode": "full"
      },
      "compiled_sample": {
        "ok": true,
        "receipt": {
          "bindings": 0,
          "compiled_request_bytes": 679,
          "executed": false,
          "network_used": false,
          "steps": 1,
          "storage_used": false,
          "tools": [
            "tool-call-interoperability"
          ]
        },
        "request": {
          "input": {
            "source_format": "openai",
            "target_format": "anthropic",
            "tool_call": {
              "function": {
                "arguments": "{\"location\":{\"city\":\"Paris\"},\"units\":\"celsius\"}",
                "name": "lookup_weather"
              },
              "id": "call_1",
              "type": "function"
            },
            "tool_definition": {
              "function": {
                "description": "Look up submitted weather data.",
                "name": "lookup_weather",
                "parameters": {
                  "additionalProperties": false,
                  "properties": {
                    "location": {
                      "additionalProperties": false,
                      "properties": {
                        "city": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "city"
                      ],
                      "type": "object"
                    },
                    "units": {
                      "enum": [
                        "celsius",
                        "fahrenheit"
                      ],
                      "type": "string"
                    }
                  },
                  "required": [
                    "location"
                  ],
                  "type": "object"
                }
              },
              "type": "function"
            }
          },
          "response_mode": "full",
          "tool_id": "tool-call-interoperability"
        },
        "schema_version": "utilito.agent-use-case-compile.v1",
        "transport": "run",
        "use_case_id": "translate-validate-tool-calls"
      }
    },
    {
      "schema_version": "utilito.agent-use-case.v1",
      "id": "prepare-agent-context-handoff",
      "order": 5,
      "title": "Prepare an agent context handoff",
      "job": "Produce a bounded context handoff another agent can trust.",
      "outcome": "Build a dependency-closed Context Pack, evidence report, integrity manifest, and inert next-agent prompt with whole-record omission receipts.",
      "keywords": [
        "agent handoff",
        "context pack",
        "bounded context",
        "integrity manifest",
        "resume"
      ],
      "required_evidence": [
        {
          "id": "handoff",
          "label": "Handoff document",
          "description": "Goal, status, decisions, completed work, blockers, next actions, artifacts, evidence, unknowns, constraints, and notes.",
          "required": true
        },
        {
          "id": "budget",
          "label": "Byte budget",
          "description": "Explicit maximum Context Pack byte budget.",
          "required": true
        }
      ],
      "privacy": {
        "mode": "server-submitted-response-only",
        "browser_local_search": true,
        "product_collection": false,
        "retention": "response_only",
        "network_used_by_compiler": false,
        "storage_used_by_compiler": false
      },
      "limits": {
        "max_steps": 5,
        "max_compiled_request_bytes": 262144,
        "tool_limits_source": "API_TOOL_MANIFEST"
      },
      "transport": "run",
      "steps": [
        {
          "id": "context-handoff",
          "order": 1,
          "tool_id": "agent-context-handoff",
          "caller_id": null,
          "input": {
            "kind": "api-manifest-example",
            "tool_id": "agent-context-handoff",
            "example_index": 0
          },
          "bindings": []
        }
      ],
      "limitations": [
        "Submitted evidence and integrity references are not independently verified; no session, repository, filesystem, artifact reference, provider, model, or network access occurs."
      ],
      "sample_compile_input": {
        "use_case_id": "prepare-agent-context-handoff",
        "response_mode": "full"
      },
      "compiled_sample": {
        "ok": true,
        "receipt": {
          "bindings": 0,
          "compiled_request_bytes": 727,
          "executed": false,
          "network_used": false,
          "steps": 1,
          "storage_used": false,
          "tools": [
            "agent-context-handoff"
          ]
        },
        "request": {
          "input": {
            "handoff": {
              "artifacts": [],
              "blockers": [],
              "completed": [],
              "constraints": [
                {
                  "id": "c1",
                  "summary": "No filesystem reads."
                }
              ],
              "decisions": [
                {
                  "evidence_ids": [
                    "e1"
                  ],
                  "id": "d1",
                  "summary": "Keep sections distinct."
                }
              ],
              "evidence": [
                {
                  "id": "e1",
                  "quote": "Preserve submitted evidence exactly.",
                  "source_id": "caller-plan"
                }
              ],
              "goal": "Continue the verified implementation.",
              "handoff_id": "handoff-example",
              "next_actions": [
                {
                  "depends_on": [],
                  "id": "n1",
                  "priority": "high",
                  "summary": "Run focused verification."
                }
              ],
              "notes": [],
              "schema_version": "utilito.agent-handoff.v1",
              "status": "in_progress",
              "unknowns": [
                {
                  "evidence_ids": [
                    "e1"
                  ],
                  "id": "u1",
                  "summary": "Review outcome is unknown."
                }
              ]
            },
            "max_bytes": 8192
          },
          "response_mode": "full",
          "tool_id": "agent-context-handoff"
        },
        "schema_version": "utilito.agent-use-case-compile.v1",
        "transport": "run",
        "use_case_id": "prepare-agent-context-handoff"
      }
    },
    {
      "schema_version": "utilito.agent-use-case.v1",
      "id": "prepare-retrieval-evidence",
      "order": 6,
      "title": "Prepare retrieval evidence",
      "job": "Prepare retrieval evidence for a grounded model turn.",
      "outcome": "Normalize already-retrieved caller-mapped records into bounded exact citation evidence, omissions, Context Pack, and report.",
      "keywords": [
        "rag",
        "retrieval",
        "evidence",
        "citations",
        "context pack"
      ],
      "required_evidence": [
        {
          "id": "records",
          "label": "Retrieved records",
          "description": "Submitted records and explicit field mapping.",
          "required": true
        },
        {
          "id": "options",
          "label": "Preparation options",
          "description": "Ordering, dedupe, quote, context-budget, and report options.",
          "required": true
        }
      ],
      "privacy": {
        "mode": "server-submitted-response-only",
        "browser_local_search": true,
        "product_collection": false,
        "retention": "response_only",
        "network_used_by_compiler": false,
        "storage_used_by_compiler": false
      },
      "limits": {
        "max_steps": 5,
        "max_compiled_request_bytes": 262144,
        "tool_limits_source": "API_TOOL_MANIFEST"
      },
      "transport": "run",
      "steps": [
        {
          "id": "retrieval-evidence",
          "order": 1,
          "tool_id": "rag-evidence-preparation-kit",
          "caller_id": null,
          "input": {
            "kind": "api-manifest-example",
            "tool_id": "rag-evidence-preparation-kit",
            "example_index": 0
          },
          "bindings": []
        }
      ],
      "limitations": [
        "Evidence is structurally prepared, not judged true; no claim-to-evidence support graph until NX15."
      ],
      "sample_compile_input": {
        "use_case_id": "prepare-retrieval-evidence",
        "response_mode": "full"
      },
      "compiled_sample": {
        "ok": true,
        "receipt": {
          "bindings": 0,
          "compiled_request_bytes": 609,
          "executed": false,
          "network_used": false,
          "steps": 1,
          "storage_used": false,
          "tools": [
            "rag-evidence-preparation-kit"
          ]
        },
        "request": {
          "input": {
            "field_mapping": {
              "quote": "text",
              "score": "score",
              "source_id": "source",
              "title": "title",
              "url": "url"
            },
            "options": {
              "context_budget_bytes": 8192,
              "dedupe_policy": "remove",
              "max_quote_bytes": 8192,
              "ordering": "submitted_score_desc",
              "report_format": "markdown",
              "report_mode": "excerpt"
            },
            "records": [
              {
                "score": 0.92,
                "source": "guide-a",
                "text": "Use exact retrieved text as citation evidence.",
                "title": "Guide A",
                "url": "https://example.test/guide-a"
              },
              {
                "score": 0.81,
                "source": "guide-b",
                "text": "Context budgets retain complete quotes only.",
                "title": "Guide B"
              }
            ]
          },
          "response_mode": "full",
          "tool_id": "rag-evidence-preparation-kit"
        },
        "schema_version": "utilito.agent-use-case-compile.v1",
        "transport": "run",
        "use_case_id": "prepare-retrieval-evidence"
      }
    },
    {
      "schema_version": "utilito.agent-use-case.v1",
      "id": "reduce-ci-failure-review",
      "order": 7,
      "title": "Reduce a CI failure review",
      "job": "Reduce CI/build failures into an exact review pack.",
      "outcome": "Turn one submitted CI log and run metadata into line-addressable failure evidence, bounded context, patch status, and report.",
      "keywords": [
        "ci",
        "build failure",
        "log",
        "review pack",
        "patch status"
      ],
      "required_evidence": [
        {
          "id": "log",
          "label": "CI log",
          "description": "One submitted CI log and run metadata.",
          "required": true
        },
        {
          "id": "verification",
          "label": "Verification status",
          "description": "Optional submitted patch-verification status and report options.",
          "required": false
        }
      ],
      "privacy": {
        "mode": "server-submitted-response-only",
        "browser_local_search": true,
        "product_collection": false,
        "retention": "response_only",
        "network_used_by_compiler": false,
        "storage_used_by_compiler": false
      },
      "limits": {
        "max_steps": 5,
        "max_compiled_request_bytes": 262144,
        "tool_limits_source": "API_TOOL_MANIFEST"
      },
      "transport": "run",
      "steps": [
        {
          "id": "ci-review",
          "order": 1,
          "tool_id": "ci-failure-review-kit",
          "caller_id": null,
          "input": {
            "kind": "api-manifest-example",
            "tool_id": "ci-failure-review-kit",
            "example_index": 0
          },
          "bindings": []
        }
      ],
      "limitations": [
        "One submitted log only; baseline/candidate regression comparison remains NX16."
      ],
      "sample_compile_input": {
        "use_case_id": "reduce-ci-failure-review",
        "response_mode": "full"
      },
      "compiled_sample": {
        "ok": true,
        "receipt": {
          "bindings": 0,
          "compiled_request_bytes": 467,
          "executed": false,
          "network_used": false,
          "steps": 1,
          "storage_used": false,
          "tools": [
            "ci-failure-review-kit"
          ]
        },
        "request": {
          "input": {
            "log_text": "setup\nERROR test_checkout\nexpected 200\nreceived 500\nFAILED checkout.spec.ts",
            "options": {
              "ansi_mode": "strip",
              "collapse_duplicates": true,
              "context_budget_bytes": 8192,
              "context_lines": 1,
              "report_format": "markdown",
              "report_mode": "excerpt"
            },
            "patch_verification": {
              "status": "not_submitted"
            },
            "run_metadata": {
              "conclusion": "failure",
              "job": "test",
              "provider": "github-actions",
              "run_id": "sample-42"
            }
          },
          "response_mode": "full",
          "tool_id": "ci-failure-review-kit"
        },
        "schema_version": "utilito.agent-use-case-compile.v1",
        "transport": "run",
        "use_case_id": "reduce-ci-failure-review"
      }
    },
    {
      "schema_version": "utilito.agent-use-case.v1",
      "id": "explain-resume-agent-run",
      "order": 8,
      "title": "Explain and resume an agent run",
      "job": "Explain an agent run and prepare a safe resume/replay handoff.",
      "outcome": "Produce an ordered timeline, submitted-evidence failure review, conservative retry safety, blockers, next actions, and redacted handoff.",
      "keywords": [
        "agent run",
        "forensics",
        "resume",
        "replay",
        "handoff"
      ],
      "required_evidence": [
        {
          "id": "run",
          "label": "Run evidence",
          "description": "Failed or paused run metadata and ordered events.",
          "required": true
        },
        {
          "id": "handoff",
          "label": "Handoff evidence",
          "description": "Decisions, blockers, next actions, artifacts, evidence, and pack/report options.",
          "required": true
        }
      ],
      "privacy": {
        "mode": "browser-local-or-server-submitted-response-only",
        "browser_local_search": true,
        "product_collection": false,
        "retention": "response_only",
        "network_used_by_compiler": false,
        "storage_used_by_compiler": false
      },
      "limits": {
        "max_steps": 5,
        "max_compiled_request_bytes": 131072,
        "tool_limits_source": "API_TOOL_MANIFEST"
      },
      "transport": "run",
      "steps": [
        {
          "id": "run-forensics",
          "order": 1,
          "tool_id": "agent-run-forensics-handoff-kit",
          "caller_id": null,
          "input": {
            "kind": "api-manifest-example",
            "tool_id": "agent-run-forensics-handoff-kit",
            "example_index": 0
          },
          "bindings": []
        }
      ],
      "limitations": [
        "Resume safety is conservative and evidence-based; no checkpoint transition validator until NX17."
      ],
      "sample_compile_input": {
        "use_case_id": "explain-resume-agent-run",
        "response_mode": "full"
      },
      "compiled_sample": {
        "ok": true,
        "receipt": {
          "bindings": 0,
          "compiled_request_bytes": 1371,
          "executed": false,
          "network_used": false,
          "steps": 1,
          "storage_used": false,
          "tools": [
            "agent-run-forensics-handoff-kit"
          ]
        },
        "request": {
          "input": {
            "artifacts": [
              {
                "id": "artifact-1",
                "kind": "log",
                "ref": "local/redacted-run.log"
              }
            ],
            "blockers": [
              {
                "id": "blocker-1",
                "next_step": "Inspect the provider dashboard manually.",
                "summary": "Refund side effects are unknown."
              }
            ],
            "decisions": [
              {
                "evidence_ids": [
                  "evidence-1"
                ],
                "id": "decision-1",
                "summary": "Stop automatic work."
              }
            ],
            "events": [
              {
                "argument_keys": [
                  "order_id"
                ],
                "artifact_ids": [
                  "artifact-1"
                ],
                "depends_on": [],
                "event_kind": "tool",
                "id": "event-1",
                "sequence": 1,
                "side_effect_state": "none",
                "status": "complete",
                "summary": "Order lookup completed.",
                "tool_name": "lookup_order"
              },
              {
                "argument_keys": [
                  "amount",
                  "payment_intent"
                ],
                "artifact_ids": [],
                "depends_on": [
                  "event-1"
                ],
                "error": {
                  "code": "REFUND_FAILED",
                  "message": "The submitted tool result reported failure."
                },
                "event_kind": "tool",
                "id": "event-2",
                "sequence": 2,
                "side_effect_state": "unknown",
                "status": "failed",
                "summary": "Refund creation failed.",
                "tool_name": "create_refund"
              }
            ],
            "evidence": [
              {
                "id": "evidence-1",
                "quote": "The caller marked side effects unknown.",
                "source_id": "submitted-run"
              }
            ],
            "goal": "Hand off a failed checkout agent run.",
            "next_actions": [
              {
                "depends_on": [],
                "id": "action-1",
                "priority": "high",
                "summary": "Confirm refund state manually."
              }
            ],
            "options": {
              "max_pack_bytes": 16384,
              "report_format": "markdown",
              "report_mode": "details"
            },
            "run_id": "run-sample-1",
            "run_status": "failed"
          },
          "response_mode": "full",
          "tool_id": "agent-run-forensics-handoff-kit"
        },
        "schema_version": "utilito.agent-use-case-compile.v1",
        "transport": "run",
        "use_case_id": "explain-resume-agent-run"
      }
    },
    {
      "schema_version": "utilito.agent-use-case.v1",
      "id": "gate-web-release-evidence",
      "order": 9,
      "title": "Gate web release evidence",
      "job": "Combine submitted web-release evidence into a deterministic gate.",
      "outcome": "Build a six-domain release matrix from one submitted page artifact, image metadata, text artifacts, regression checks, and explicit policy.",
      "keywords": [
        "web release",
        "evidence",
        "quality gate",
        "security headers",
        "regression"
      ],
      "required_evidence": [
        {
          "id": "identity",
          "label": "Release identity",
          "description": "Submitted release identity.",
          "required": true
        },
        {
          "id": "artifacts",
          "label": "Artifacts",
          "description": "Optional page HTML and headers, image metadata, and text artifacts.",
          "required": true
        },
        {
          "id": "checks",
          "label": "Checks and policy",
          "description": "Regression checks and required or informational domain policy.",
          "required": true
        }
      ],
      "privacy": {
        "mode": "browser-local-or-server-submitted-response-only",
        "browser_local_search": true,
        "product_collection": false,
        "retention": "response_only",
        "network_used_by_compiler": false,
        "storage_used_by_compiler": false
      },
      "limits": {
        "max_steps": 5,
        "max_compiled_request_bytes": 262144,
        "tool_limits_source": "API_TOOL_MANIFEST"
      },
      "transport": "run",
      "steps": [
        {
          "id": "release-gate",
          "order": 1,
          "tool_id": "web-release-qa-kit",
          "caller_id": null,
          "input": {
            "kind": "api-manifest-example",
            "tool_id": "web-release-qa-kit",
            "example_index": 0
          },
          "bindings": []
        }
      ],
      "limitations": [
        "No baseline/candidate release delta until NX18."
      ],
      "sample_compile_input": {
        "use_case_id": "gate-web-release-evidence",
        "response_mode": "full"
      },
      "compiled_sample": {
        "ok": true,
        "receipt": {
          "bindings": 0,
          "compiled_request_bytes": 1401,
          "executed": false,
          "network_used": false,
          "steps": 1,
          "storage_used": false,
          "tools": [
            "web-release-qa-kit"
          ]
        },
        "request": {
          "input": {
            "images": [
              {
                "bytes": 120000,
                "format": "image/webp",
                "has_alpha": false,
                "height": 630,
                "id": "hero",
                "ref": "image:hero",
                "width": 1200
              }
            ],
            "page_artifact": {
              "headers": "HTTP/2 200\nContent-Type: text/html; charset=utf-8\nStrict-Transport-Security: max-age=31536000\nX-Content-Type-Options: nosniff\nContent-Security-Policy: default-src 'self'; object-src 'none'; frame-ancestors 'none'\nReferrer-Policy: strict-origin-when-cross-origin\nPermissions-Policy: camera=()",
              "headers_ref": "page:index-headers",
              "html": "<!doctype html><html lang=\"en\"><head><title>Release sample page</title><meta name=\"description\" content=\"Release sample\"><meta name=\"viewport\" content=\"width=device-width\"><link rel=\"canonical\" href=\"https://example.test/release\"></head><body><main><h1>Release sample</h1></main></body></html>",
              "html_ref": "page:index-html"
            },
            "policy": {
              "domains": {
                "accessibility": "required",
                "image_delivery": "informational",
                "integrity": "required",
                "page_quality": "required",
                "regression": "required",
                "security_headers": "required"
              },
              "report_format": "markdown",
              "required_regression_ids": [
                "release-smoke"
              ]
            },
            "regression_checks": [
              {
                "artifact_refs": [
                  "asset:app-js"
                ],
                "id": "release-smoke",
                "severity": "critical",
                "status": "pass"
              }
            ],
            "release": {
              "id": "release-sample",
              "version": "1.0.0"
            },
            "text_artifacts": [
              {
                "ref": "asset:app-js",
                "text": "console.log(\"release\");"
              }
            ]
          },
          "response_mode": "full",
          "tool_id": "web-release-qa-kit"
        },
        "schema_version": "utilito.agent-use-case-compile.v1",
        "transport": "run",
        "use_case_id": "gate-web-release-evidence"
      }
    },
    {
      "schema_version": "utilito.agent-use-case.v1",
      "id": "deliver-verifiable-artifacts",
      "order": 10,
      "title": "Deliver verifiable artifacts",
      "job": "Deliver artifacts with checksums, manifests, verification instructions, and generated conformance fixtures.",
      "outcome": "Independently assemble a release evidence packet, compare submitted checksum metadata, and generate inert schema, provider, and conformance artifacts.",
      "keywords": [
        "artifacts",
        "checksums",
        "manifest",
        "verification",
        "conformance"
      ],
      "required_evidence": [
        {
          "id": "release",
          "label": "Release packet",
          "description": "Release checks and artifact manifest.",
          "required": true
        },
        {
          "id": "digests",
          "label": "Digest metadata",
          "description": "Expected and submitted digest metadata.",
          "required": true
        },
        {
          "id": "schema",
          "label": "Tool schema",
          "description": "Strict tool schema and typed failures.",
          "required": true
        }
      ],
      "privacy": {
        "mode": "browser-local-files-or-server-submitted-metadata-only",
        "browser_local_search": true,
        "product_collection": false,
        "retention": "response_only",
        "network_used_by_compiler": false,
        "storage_used_by_compiler": false
      },
      "limits": {
        "max_steps": 5,
        "max_compiled_request_bytes": 262144,
        "tool_limits_source": "API_TOOL_MANIFEST"
      },
      "transport": "batch",
      "steps": [
        {
          "id": "release-packet",
          "order": 1,
          "tool_id": "release-evidence-kit",
          "caller_id": "release-packet",
          "input": {
            "kind": "api-manifest-example",
            "tool_id": "release-evidence-kit",
            "example_index": 0
          },
          "bindings": []
        },
        {
          "id": "checksum-handoff",
          "order": 2,
          "tool_id": "file-verification-handoff-kit",
          "caller_id": "checksum-handoff",
          "input": {
            "kind": "api-manifest-example",
            "tool_id": "file-verification-handoff-kit",
            "example_index": 0
          },
          "bindings": []
        },
        {
          "id": "conformance-fixtures",
          "order": 3,
          "tool_id": "tool-schema-publishing-kit",
          "caller_id": "conformance-fixtures",
          "input": {
            "kind": "api-manifest-example",
            "tool_id": "tool-schema-publishing-kit",
            "example_index": 0
          },
          "bindings": []
        }
      ],
      "limitations": [
        "Hosted checksums are caller-submitted and unverified. Real digest recomputation remains browser-local; full NX19 binary delivery is not claimed."
      ],
      "sample_compile_input": {
        "use_case_id": "deliver-verifiable-artifacts"
      },
      "compiled_sample": {
        "ok": true,
        "receipt": {
          "bindings": 0,
          "compiled_request_bytes": 2742,
          "executed": false,
          "network_used": false,
          "steps": 3,
          "storage_used": false,
          "tools": [
            "release-evidence-kit",
            "file-verification-handoff-kit",
            "tool-schema-publishing-kit"
          ]
        },
        "request": {
          "requests": [
            {
              "id": "release-packet",
              "input": {
                "artifact_manifests": [
                  {
                    "algorithm": "sha256",
                    "bytes": 123,
                    "digest": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
                    "path": "dist/app.js",
                    "ref": "web-bundle"
                  }
                ],
                "checks": [
                  {
                    "artifact_refs": [
                      "web-bundle"
                    ],
                    "domain": "tests",
                    "evidence_refs": [
                      "test-log"
                    ],
                    "id": "unit",
                    "severity": "required",
                    "status": "pass",
                    "summary": "Unit suite passed"
                  },
                  {
                    "artifact_refs": [],
                    "domain": "contracts",
                    "evidence_refs": [
                      "contract-log"
                    ],
                    "id": "contracts",
                    "severity": "required",
                    "status": "pass",
                    "summary": "Contract suite passed"
                  }
                ],
                "evidence_references": [
                  {
                    "id": "test-log",
                    "kind": "test-log",
                    "ref": "ci://run/1",
                    "summary": "Caller-submitted test output"
                  },
                  {
                    "id": "contract-log",
                    "kind": "contract-report",
                    "ref": "file://contract.json",
                    "summary": "Caller-submitted contract output"
                  }
                ],
                "known_limitations": [
                  "All check statuses and digests are caller-submitted and remain unverified."
                ],
                "policy": {
                  "report_format": "markdown",
                  "required_check_ids": [
                    "unit",
                    "contracts"
                  ],
                  "required_domains": [
                    "tests",
                    "contracts"
                  ]
                },
                "release": {
                  "channel": "production",
                  "id": "utilito-web",
                  "submitted_at": "2026-07-19T00:00:00Z",
                  "version": "1.2.3"
                },
                "rollback_notes": [
                  "Restore the previously approved artifact manually after independent review."
                ]
              },
              "tool_id": "release-evidence-kit"
            },
            {
              "id": "checksum-handoff",
              "input": {
                "expected": [
                  {
                    "algorithm": "SHA-256",
                    "bytes": 5,
                    "digest": "2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824",
                    "name": "hello.txt"
                  }
                ],
                "manifest_id": "release-2026-07",
                "policy": {
                  "collision": "fail",
                  "extra": "fail",
                  "missing": "fail"
                },
                "report_format": "markdown",
                "submitted_digests": [
                  {
                    "algorithm": "SHA-256",
                    "bytes": 5,
                    "digest": "2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824",
                    "name": "hello.txt"
                  }
                ]
              },
              "tool_id": "file-verification-handoff-kit"
            },
            {
              "id": "conformance-fixtures",
              "input": {
                "description": "Look up submitted weather fixture data for one city.",
                "input_schema": {
                  "additionalProperties": false,
                  "description": "Weather lookup input.",
                  "properties": {
                    "city": {
                      "description": "City name.",
                      "maxLength": 80,
                      "minLength": 1,
                      "type": "string"
                    },
                    "options": {
                      "additionalProperties": false,
                      "properties": {
                        "include_wind": {
                          "type": "boolean"
                        }
                      },
                      "required": [],
                      "type": "object"
                    },
                    "units": {
                      "description": "Temperature units.",
                      "enum": [
                        "celsius",
                        "fahrenheit"
                      ],
                      "type": "string"
                    }
                  },
                  "required": [
                    "city"
                  ],
                  "type": "object"
                },
                "name": "lookup_weather",
                "output_schema": {
                  "additionalProperties": false,
                  "properties": {
                    "summary": {
                      "type": "string"
                    },
                    "temperature": {
                      "type": "number"
                    }
                  },
                  "required": [
                    "temperature"
                  ],
                  "type": "object"
                },
                "typed_failures": [
                  {
                    "code": "CITY_NOT_FOUND",
                    "description": "The submitted city has no fixture.",
                    "retryable": false
                  },
                  {
                    "code": "TEMPORARY_SOURCE_UNAVAILABLE",
                    "description": "The caller-owned source is unavailable.",
                    "retryable": true
                  }
                ]
              },
              "tool_id": "tool-schema-publishing-kit"
            }
          ]
        },
        "schema_version": "utilito.agent-use-case-compile.v1",
        "transport": "batch",
        "use_case_id": "deliver-verifiable-artifacts"
      }
    }
  ],
  "checksum": "sha256:0a77b15b55355e2cf8db5beb608dd18dcdd9f91648d2f9f758f4d17bfad03d41"
}
