{
  "info": {
    "description": "Read-only curated dataset and synthetic demonstrations. Separate bounded hosted inference uses only public context. No private record access. Curated evidence GET routes support bodyless HEAD and public OPTIONS; calculation and replay contract routes support only the methods individually documented.",
    "title": "Haris Mekic public evidence API",
    "version": "2026-10-09"
  },
  "openapi": "3.1.0",
  "paths": {
    "/api/ask": {
      "post": {
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "question": {
                    "maxLength": 500,
                    "minLength": 3,
                    "type": "string"
                  }
                },
                "required": [
                  "question"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Model-generated answer with retrieved public references; verify against the sources"
          },
          "400": {
            "description": "Invalid question"
          },
          "403": {
            "description": "Browser origin is not permitted"
          },
          "429": {
            "description": "Global daily inference allowance exhausted"
          },
          "503": {
            "description": "Model or approved data unavailable"
          }
        },
        "summary": "Ask Workers AI about approved public portfolio evidence"
      }
    },
    "/api/demo": {
      "get": {
        "parameters": [
          {
            "in": "query",
            "name": "scenario",
            "required": true,
            "schema": {
              "enum": [
                "missing-source",
                "incomplete-branch",
                "missing-receipt",
                "accepted"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "decision": {
                      "maxLength": 1200,
                      "type": "string"
                    },
                    "scenario": {
                      "enum": [
                        "missing-source",
                        "incomplete-branch",
                        "missing-receipt",
                        "accepted"
                      ]
                    },
                    "scope": {
                      "maxLength": 1200,
                      "type": "string"
                    },
                    "steps": {
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "detail": {
                            "maxLength": 1200,
                            "type": "string"
                          },
                          "name": {
                            "type": "string"
                          },
                          "status": {
                            "enum": [
                              "passed",
                              "blocked",
                              "not-run",
                              "partial"
                            ]
                          }
                        },
                        "required": [
                          "name",
                          "status",
                          "detail"
                        ],
                        "type": "object"
                      },
                      "maxItems": 8,
                      "type": "array"
                    },
                    "title": {
                      "maxLength": 200,
                      "type": "string"
                    }
                  },
                  "required": [
                    "scenario",
                    "title",
                    "steps",
                    "decision",
                    "scope"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Curated public result; inspect scope and limitations before reuse"
          },
          "400": {
            "description": "Invalid or unknown parameters"
          },
          "405": {
            "description": "Mutation is not permitted"
          },
          "503": {
            "description": "Public dataset unavailable; no private fallback"
          }
        },
        "summary": "Run a fixed synthetic workflow demonstration"
      },
      "head": {
        "parameters": [
          {
            "in": "query",
            "name": "scenario",
            "required": true,
            "schema": {
              "enum": [
                "missing-source",
                "incomplete-branch",
                "missing-receipt",
                "accepted"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Curated public result; inspect scope and limitations before reuse"
          },
          "400": {
            "description": "Invalid or unknown parameters"
          },
          "405": {
            "description": "Mutation is not permitted"
          },
          "503": {
            "description": "Public dataset unavailable; no private fallback"
          }
        },
        "summary": "Bodyless run a fixed synthetic workflow demonstration"
      },
      "options": {
        "responses": {
          "204": {
            "description": "Allows GET, HEAD and OPTIONS only"
          }
        },
        "summary": "Public read-only preflight"
      }
    },
    "/api/evidence": {
      "get": {
        "parameters": [
          {
            "in": "query",
            "name": "kind",
            "required": false,
            "schema": {
              "enum": [
                "profile",
                "ai_case",
                "career_case",
                "repository",
                "metric",
                "learning_path"
              ]
            }
          },
          {
            "in": "query",
            "name": "q",
            "required": false,
            "schema": {
              "maxLength": 160,
              "minLength": 1,
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 25,
              "maximum": 100,
              "minimum": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "decision": {
                      "maxLength": 1200,
                      "type": "string"
                    },
                    "scenario": {
                      "enum": [
                        "missing-source",
                        "incomplete-branch",
                        "missing-receipt",
                        "accepted"
                      ]
                    },
                    "scope": {
                      "maxLength": 1200,
                      "type": "string"
                    },
                    "steps": {
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "detail": {
                            "maxLength": 1200,
                            "type": "string"
                          },
                          "name": {
                            "type": "string"
                          },
                          "status": {
                            "enum": [
                              "passed",
                              "blocked",
                              "not-run",
                              "partial"
                            ]
                          }
                        },
                        "required": [
                          "name",
                          "status",
                          "detail"
                        ],
                        "type": "object"
                      },
                      "maxItems": 8,
                      "type": "array"
                    },
                    "title": {
                      "maxLength": 200,
                      "type": "string"
                    }
                  },
                  "required": [
                    "scenario",
                    "title",
                    "steps",
                    "decision",
                    "scope"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Curated public result; inspect scope and limitations before reuse"
          },
          "400": {
            "description": "Invalid or unknown parameters"
          },
          "405": {
            "description": "Mutation is not permitted"
          },
          "503": {
            "description": "Public dataset unavailable; no private fallback"
          }
        },
        "summary": "Search public records"
      },
      "head": {
        "parameters": [
          {
            "in": "query",
            "name": "kind",
            "required": false,
            "schema": {
              "enum": [
                "profile",
                "ai_case",
                "career_case",
                "repository",
                "metric",
                "learning_path"
              ]
            }
          },
          {
            "in": "query",
            "name": "q",
            "required": false,
            "schema": {
              "maxLength": 160,
              "minLength": 1,
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 25,
              "maximum": 100,
              "minimum": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Curated public result; inspect scope and limitations before reuse"
          },
          "400": {
            "description": "Invalid or unknown parameters"
          },
          "405": {
            "description": "Mutation is not permitted"
          },
          "503": {
            "description": "Public dataset unavailable; no private fallback"
          }
        },
        "summary": "Bodyless search public records"
      },
      "options": {
        "responses": {
          "204": {
            "description": "Allows GET, HEAD and OPTIONS only"
          }
        },
        "summary": "Public read-only preflight"
      }
    },
    "/api/evidence/{key}": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "key",
            "required": true,
            "schema": {
              "maxLength": 100,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "decision": {
                      "maxLength": 1200,
                      "type": "string"
                    },
                    "scenario": {
                      "enum": [
                        "missing-source",
                        "incomplete-branch",
                        "missing-receipt",
                        "accepted"
                      ]
                    },
                    "scope": {
                      "maxLength": 1200,
                      "type": "string"
                    },
                    "steps": {
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "detail": {
                            "maxLength": 1200,
                            "type": "string"
                          },
                          "name": {
                            "type": "string"
                          },
                          "status": {
                            "enum": [
                              "passed",
                              "blocked",
                              "not-run",
                              "partial"
                            ]
                          }
                        },
                        "required": [
                          "name",
                          "status",
                          "detail"
                        ],
                        "type": "object"
                      },
                      "maxItems": 8,
                      "type": "array"
                    },
                    "title": {
                      "maxLength": 200,
                      "type": "string"
                    }
                  },
                  "required": [
                    "scenario",
                    "title",
                    "steps",
                    "decision",
                    "scope"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Curated public result; inspect scope and limitations before reuse"
          },
          "400": {
            "description": "Invalid or unknown parameters"
          },
          "404": {
            "description": "Public record not found"
          },
          "405": {
            "description": "Mutation is not permitted"
          },
          "503": {
            "description": "Public dataset unavailable; no private fallback"
          }
        },
        "summary": "Read a deterministic public record"
      },
      "head": {
        "parameters": [
          {
            "in": "path",
            "name": "key",
            "required": true,
            "schema": {
              "maxLength": 100,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Curated public result; inspect scope and limitations before reuse"
          },
          "400": {
            "description": "Invalid or unknown parameters"
          },
          "404": {
            "description": "Public record not found"
          },
          "405": {
            "description": "Mutation is not permitted"
          },
          "503": {
            "description": "Public dataset unavailable; no private fallback"
          }
        },
        "summary": "Bodyless read a deterministic public record"
      },
      "options": {
        "responses": {
          "204": {
            "description": "Allows GET, HEAD and OPTIONS only"
          }
        },
        "summary": "Public read-only preflight"
      }
    },
    "/api/metrics": {
      "get": {
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "decision": {
                      "maxLength": 1200,
                      "type": "string"
                    },
                    "scenario": {
                      "enum": [
                        "missing-source",
                        "incomplete-branch",
                        "missing-receipt",
                        "accepted"
                      ]
                    },
                    "scope": {
                      "maxLength": 1200,
                      "type": "string"
                    },
                    "steps": {
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "detail": {
                            "maxLength": 1200,
                            "type": "string"
                          },
                          "name": {
                            "type": "string"
                          },
                          "status": {
                            "enum": [
                              "passed",
                              "blocked",
                              "not-run",
                              "partial"
                            ]
                          }
                        },
                        "required": [
                          "name",
                          "status",
                          "detail"
                        ],
                        "type": "object"
                      },
                      "maxItems": 8,
                      "type": "array"
                    },
                    "title": {
                      "maxLength": 200,
                      "type": "string"
                    }
                  },
                  "required": [
                    "scenario",
                    "title",
                    "steps",
                    "decision",
                    "scope"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Curated public result; inspect scope and limitations before reuse"
          },
          "400": {
            "description": "Invalid or unknown parameters"
          },
          "405": {
            "description": "Mutation is not permitted"
          },
          "503": {
            "description": "Public dataset unavailable; no private fallback"
          }
        },
        "summary": "Read separately scoped check counts"
      },
      "head": {
        "parameters": [],
        "responses": {
          "200": {
            "description": "Curated public result; inspect scope and limitations before reuse"
          },
          "400": {
            "description": "Invalid or unknown parameters"
          },
          "405": {
            "description": "Mutation is not permitted"
          },
          "503": {
            "description": "Public dataset unavailable; no private fallback"
          }
        },
        "summary": "Bodyless read separately scoped check counts"
      },
      "options": {
        "responses": {
          "204": {
            "description": "Allows GET, HEAD and OPTIONS only"
          }
        },
        "summary": "Public read-only preflight"
      }
    },
    "/api/operations/contract": {
      "get": {
        "responses": {
          "200": {
            "description": "Replay contract and portable pack link"
          },
          "400": {
            "description": "Query parameters are not accepted"
          },
          "403": {
            "description": "Browser origin not allowed"
          },
          "405": {
            "description": "Only GET is supported",
            "headers": {
              "Allow": {
                "schema": {
                  "const": "GET",
                  "type": "string"
                }
              }
            }
          },
          "503": {
            "description": "Replay contract unavailable"
          }
        },
        "summary": "Read the fictional Operations Desk scenario, bounds and event-journal example"
      }
    },
    "/api/operations/replay": {
      "post": {
        "description": "The request schema describes all 13 event variants. Structural validity is not approval: replay checks journal order, cross-field totals, identifiers, eligibility and balances. Use the example at /api/operations/contract. Event money is major currency units; derived money is integer cents.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "description": "A replayable journal for the fixed fictional scenario, not an imported balance snapshot. At most 100 unique purchases are allowed. Cross-field totals, duplicate identifiers, sequence, supplier eligibility and budget availability are validated by replay.",
                "properties": {
                  "events": {
                    "items": {
                      "description": "One event in the fixed fictional scenario. Structural validity does not authorize a transition, move money or prove that a purchase, balance or approval exists. Replay verifies those controls in journal order.",
                      "oneOf": [
                        {
                          "additionalProperties": false,
                          "description": "Move available provision between distinct scenario budget lines. Replay checks available funds.",
                          "properties": {
                            "amount": {
                              "description": "Major EUR currency units with at most two decimal places; derived replay balances are integer cents.",
                              "exclusiveMinimum": 0,
                              "maximum": 1000000,
                              "minimum": 0,
                              "multipleOf": 0.01,
                              "type": "number"
                            },
                            "from": {
                              "enum": [
                                "expert",
                                "venue",
                                "travel",
                                "translation",
                                "contingency"
                              ],
                              "maxLength": 48,
                              "minLength": 1,
                              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]*$",
                              "type": "string"
                            },
                            "reason": {
                              "description": "Non-blank plain text without markup or control characters. The engine also enforces this length in UTF-16 code units and trims surrounding whitespace.",
                              "maxLength": 160,
                              "minLength": 1,
                              "pattern": "^(?=[\\s\\S]*\\S)[^\\u0000-\\u001f\\u007f-\\u009f<>]+$",
                              "type": "string"
                            },
                            "to": {
                              "enum": [
                                "expert",
                                "venue",
                                "travel",
                                "translation",
                                "contingency"
                              ],
                              "maxLength": 48,
                              "minLength": 1,
                              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]*$",
                              "type": "string"
                            },
                            "type": {
                              "const": "budget_transfer",
                              "type": "string"
                            }
                          },
                          "required": [
                            "type",
                            "from",
                            "to",
                            "amount",
                            "reason"
                          ],
                          "type": "object"
                        },
                        {
                          "additionalProperties": false,
                          "description": "Replace the remaining uncommitted forecast for one scenario line.",
                          "properties": {
                            "amount": {
                              "description": "Major EUR currency units with at most two decimal places; derived replay balances are integer cents.",
                              "maximum": 1000000,
                              "minimum": 0,
                              "multipleOf": 0.01,
                              "type": "number"
                            },
                            "lineId": {
                              "enum": [
                                "expert",
                                "venue",
                                "travel",
                                "translation",
                                "contingency"
                              ],
                              "maxLength": 48,
                              "minLength": 1,
                              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]*$",
                              "type": "string"
                            },
                            "type": {
                              "const": "forecast",
                              "type": "string"
                            }
                          },
                          "required": [
                            "type",
                            "lineId",
                            "amount"
                          ],
                          "type": "object"
                        },
                        {
                          "additionalProperties": false,
                          "description": "Create a uniquely identified requirement. Quantity multiplied by unit price must not exceed the engine amount limit.",
                          "properties": {
                            "description": {
                              "description": "Non-blank plain text without markup or control characters. The engine also enforces this length in UTF-16 code units and trims surrounding whitespace.",
                              "maxLength": 160,
                              "minLength": 1,
                              "pattern": "^(?=[\\s\\S]*\\S)[^\\u0000-\\u001f\\u007f-\\u009f<>]+$",
                              "type": "string"
                            },
                            "id": {
                              "maxLength": 48,
                              "minLength": 1,
                              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]*$",
                              "type": "string"
                            },
                            "lineId": {
                              "enum": [
                                "expert",
                                "venue",
                                "travel",
                                "translation",
                                "contingency"
                              ],
                              "maxLength": 48,
                              "minLength": 1,
                              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]*$",
                              "type": "string"
                            },
                            "quantity": {
                              "maximum": 100000,
                              "minimum": 1,
                              "type": "integer"
                            },
                            "supplierId": {
                              "enum": [
                                "translation-studio",
                                "learning-venue",
                                "travel-service",
                                "pending-supplier"
                              ],
                              "maxLength": 48,
                              "minLength": 1,
                              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]*$",
                              "type": "string"
                            },
                            "type": {
                              "const": "requisition",
                              "type": "string"
                            },
                            "unitPrice": {
                              "description": "Major EUR currency units with at most two decimal places; derived replay balances are integer cents.",
                              "exclusiveMinimum": 0,
                              "maximum": 1000000,
                              "minimum": 0,
                              "multipleOf": 0.01,
                              "type": "number"
                            }
                          },
                          "required": [
                            "type",
                            "id",
                            "lineId",
                            "supplierId",
                            "description",
                            "quantity",
                            "unitPrice"
                          ],
                          "type": "object"
                        },
                        {
                          "additionalProperties": false,
                          "description": "Simulate review of an existing requested purchase.",
                          "properties": {
                            "purchaseId": {
                              "maxLength": 48,
                              "minLength": 1,
                              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]*$",
                              "type": "string"
                            },
                            "type": {
                              "const": "approve_request",
                              "type": "string"
                            }
                          },
                          "required": [
                            "type",
                            "purchaseId"
                          ],
                          "type": "object"
                        },
                        {
                          "additionalProperties": false,
                          "description": "Reserve a reviewed purchase as a commitment after supplier eligibility and budget checks.",
                          "properties": {
                            "purchaseId": {
                              "maxLength": 48,
                              "minLength": 1,
                              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]*$",
                              "type": "string"
                            },
                            "type": {
                              "const": "issue_po",
                              "type": "string"
                            }
                          },
                          "required": [
                            "type",
                            "purchaseId"
                          ],
                          "type": "object"
                        },
                        {
                          "additionalProperties": false,
                          "description": "Add accepted whole units. Cumulative receipt cannot exceed the order.",
                          "properties": {
                            "purchaseId": {
                              "maxLength": 48,
                              "minLength": 1,
                              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]*$",
                              "type": "string"
                            },
                            "quantity": {
                              "maximum": 100000,
                              "minimum": 1,
                              "type": "integer"
                            },
                            "type": {
                              "const": "receipt",
                              "type": "string"
                            }
                          },
                          "required": [
                            "type",
                            "purchaseId",
                            "quantity"
                          ],
                          "type": "object"
                        },
                        {
                          "additionalProperties": false,
                          "description": "Register the single invoice for a purchase. The invoice total must be within the amount limit; invoice numbers must be unique per supplier.",
                          "properties": {
                            "number": {
                              "description": "Non-blank plain text without markup or control characters. The engine also enforces this length in UTF-16 code units and trims surrounding whitespace.",
                              "maxLength": 48,
                              "minLength": 1,
                              "pattern": "^(?=[\\s\\S]*\\S)[^\\u0000-\\u001f\\u007f-\\u009f<>]+$",
                              "type": "string"
                            },
                            "purchaseId": {
                              "maxLength": 48,
                              "minLength": 1,
                              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]*$",
                              "type": "string"
                            },
                            "quantity": {
                              "maximum": 100000,
                              "minimum": 1,
                              "type": "integer"
                            },
                            "type": {
                              "const": "invoice",
                              "type": "string"
                            },
                            "unitPrice": {
                              "description": "Major EUR currency units with at most two decimal places; derived replay balances are integer cents.",
                              "exclusiveMinimum": 0,
                              "maximum": 1000000,
                              "minimum": 0,
                              "multipleOf": 0.01,
                              "type": "number"
                            }
                          },
                          "required": [
                            "type",
                            "purchaseId",
                            "number",
                            "quantity",
                            "unitPrice"
                          ],
                          "type": "object"
                        },
                        {
                          "additionalProperties": false,
                          "description": "Correct an existing unvalidated invoice. The revised total must be within the amount limit.",
                          "properties": {
                            "purchaseId": {
                              "maxLength": 48,
                              "minLength": 1,
                              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]*$",
                              "type": "string"
                            },
                            "quantity": {
                              "maximum": 100000,
                              "minimum": 1,
                              "type": "integer"
                            },
                            "type": {
                              "const": "revise_invoice",
                              "type": "string"
                            },
                            "unitPrice": {
                              "description": "Major EUR currency units with at most two decimal places; derived replay balances are integer cents.",
                              "exclusiveMinimum": 0,
                              "maximum": 1000000,
                              "minimum": 0,
                              "multipleOf": 0.01,
                              "type": "number"
                            }
                          },
                          "required": [
                            "type",
                            "purchaseId",
                            "quantity",
                            "unitPrice"
                          ],
                          "type": "object"
                        },
                        {
                          "additionalProperties": false,
                          "description": "Match the invoice to the purchase-order price and all accepted units before recognizing expenditure and the payable.",
                          "properties": {
                            "purchaseId": {
                              "maxLength": 48,
                              "minLength": 1,
                              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]*$",
                              "type": "string"
                            },
                            "type": {
                              "const": "validate_invoice",
                              "type": "string"
                            }
                          },
                          "required": [
                            "type",
                            "purchaseId"
                          ],
                          "type": "object"
                        },
                        {
                          "additionalProperties": false,
                          "description": "Route a matched invoice into a simulated voucher.",
                          "properties": {
                            "purchaseId": {
                              "maxLength": 48,
                              "minLength": 1,
                              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]*$",
                              "type": "string"
                            },
                            "type": {
                              "const": "create_voucher",
                              "type": "string"
                            }
                          },
                          "required": [
                            "type",
                            "purchaseId"
                          ],
                          "type": "object"
                        },
                        {
                          "additionalProperties": false,
                          "description": "Record the simulated approval step for a created voucher.",
                          "properties": {
                            "purchaseId": {
                              "maxLength": 48,
                              "minLength": 1,
                              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]*$",
                              "type": "string"
                            },
                            "type": {
                              "const": "approve_payment",
                              "type": "string"
                            }
                          },
                          "required": [
                            "type",
                            "purchaseId"
                          ],
                          "type": "object"
                        },
                        {
                          "additionalProperties": false,
                          "description": "Record fictional settlement after payment approval. No external payment is executed.",
                          "properties": {
                            "purchaseId": {
                              "maxLength": 48,
                              "minLength": 1,
                              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]*$",
                              "type": "string"
                            },
                            "type": {
                              "const": "record_payment",
                              "type": "string"
                            }
                          },
                          "required": [
                            "type",
                            "purchaseId"
                          ],
                          "type": "object"
                        },
                        {
                          "additionalProperties": false,
                          "description": "Close a paid order and release its unused commitment after checking accepted units.",
                          "properties": {
                            "purchaseId": {
                              "maxLength": 48,
                              "minLength": 1,
                              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]*$",
                              "type": "string"
                            },
                            "reason": {
                              "description": "Non-blank plain text without markup or control characters. The engine also enforces this length in UTF-16 code units and trims surrounding whitespace.",
                              "maxLength": 160,
                              "minLength": 1,
                              "pattern": "^(?=[\\s\\S]*\\S)[^\\u0000-\\u001f\\u007f-\\u009f<>]+$",
                              "type": "string"
                            },
                            "type": {
                              "const": "close_po",
                              "type": "string"
                            }
                          },
                          "required": [
                            "type",
                            "purchaseId",
                            "reason"
                          ],
                          "type": "object"
                        }
                      ]
                    },
                    "maxItems": 200,
                    "type": "array"
                  },
                  "version": {
                    "const": "1",
                    "type": "string"
                  }
                },
                "required": [
                  "version",
                  "events"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Derived budget, purchasing, ledger and audit state"
          },
          "400": {
            "description": "Invalid schema, query parameters or rejected business transition"
          },
          "403": {
            "description": "Browser origin not allowed"
          },
          "405": {
            "description": "Only POST is supported",
            "headers": {
              "Allow": {
                "schema": {
                  "const": "POST",
                  "type": "string"
                }
              }
            }
          },
          "408": {
            "description": "Request deadline exceeded"
          },
          "413": {
            "description": "Body exceeds 65536 bytes"
          },
          "415": {
            "description": "JSON required"
          },
          "503": {
            "description": "Replay unavailable"
          }
        },
        "summary": "Replay a bounded fictional operations journal without persistence or model execution"
      }
    },
    "/api/repositories": {
      "get": {
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "decision": {
                      "maxLength": 1200,
                      "type": "string"
                    },
                    "scenario": {
                      "enum": [
                        "missing-source",
                        "incomplete-branch",
                        "missing-receipt",
                        "accepted"
                      ]
                    },
                    "scope": {
                      "maxLength": 1200,
                      "type": "string"
                    },
                    "steps": {
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "detail": {
                            "maxLength": 1200,
                            "type": "string"
                          },
                          "name": {
                            "type": "string"
                          },
                          "status": {
                            "enum": [
                              "passed",
                              "blocked",
                              "not-run",
                              "partial"
                            ]
                          }
                        },
                        "required": [
                          "name",
                          "status",
                          "detail"
                        ],
                        "type": "object"
                      },
                      "maxItems": 8,
                      "type": "array"
                    },
                    "title": {
                      "maxLength": 200,
                      "type": "string"
                    }
                  },
                  "required": [
                    "scenario",
                    "title",
                    "steps",
                    "decision",
                    "scope"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Curated public result; inspect scope and limitations before reuse"
          },
          "400": {
            "description": "Invalid or unknown parameters"
          },
          "405": {
            "description": "Mutation is not permitted"
          },
          "503": {
            "description": "Public dataset unavailable; no private fallback"
          }
        },
        "summary": "Read inspected public repository provenance and limits"
      },
      "head": {
        "parameters": [],
        "responses": {
          "200": {
            "description": "Curated public result; inspect scope and limitations before reuse"
          },
          "400": {
            "description": "Invalid or unknown parameters"
          },
          "405": {
            "description": "Mutation is not permitted"
          },
          "503": {
            "description": "Public dataset unavailable; no private fallback"
          }
        },
        "summary": "Bodyless read inspected public repository provenance and limits"
      },
      "options": {
        "responses": {
          "204": {
            "description": "Allows GET, HEAD and OPTIONS only"
          }
        },
        "summary": "Public read-only preflight"
      }
    },
    "/api/workbench/budget": {
      "get": {
        "responses": {
          "200": {
            "description": "Calculation rules and download link"
          },
          "400": {
            "description": "Query parameters are not accepted"
          },
          "403": {
            "description": "Browser origin not allowed"
          },
          "405": {
            "description": "Only GET and POST are supported",
            "headers": {
              "Allow": {
                "schema": {
                  "const": "GET, POST",
                  "type": "string"
                }
              }
            }
          },
          "503": {
            "description": "Calculation contract unavailable"
          }
        },
        "summary": "Read the stateless Budget Studio contract"
      },
      "post": {
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "/operations-pack/budget-input.schema.json"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Per-line and total amounts in major currency units"
          },
          "400": {
            "description": "Invalid input or query parameters; fixed validation messages"
          },
          "403": {
            "description": "Browser origin not allowed"
          },
          "405": {
            "description": "Only GET and POST are supported",
            "headers": {
              "Allow": {
                "schema": {
                  "const": "GET, POST",
                  "type": "string"
                }
              }
            }
          },
          "408": {
            "description": "Request deadline exceeded"
          },
          "413": {
            "description": "Body exceeds 32768 bytes"
          },
          "415": {
            "description": "JSON required"
          },
          "503": {
            "description": "Calculation unavailable"
          }
        },
        "summary": "Calculate a budget scenario without persistence or model execution"
      }
    },
    "/mcp": {
      "post": {
        "description": "Public tools and resources only; supports 2026-07-28 and documented earlier protocol versions. Not a model execution or private-system endpoint.",
        "responses": {
          "200": {
            "description": "JSON-RPC result or protocol error"
          },
          "400": {
            "description": "Invalid protocol metadata or payload"
          },
          "403": {
            "description": "Origin not permitted"
          }
        },
        "summary": "Read-only MCP Streamable HTTP endpoint"
      }
    }
  },
  "servers": [
    {
      "url": "https://haris-mekic-profile.pages.dev"
    }
  ]
}
