{
  "_self": {
    "protocol": "OIP",
    "version": "1.2.0",
    "widget": "object:ARCADS_ROUTES",
    "name": "ARCADS_ROUTES",
    "principle": "Self-explaining payload — no external context required. This _self block is the capability: what it is, how to run it, how to change it, and where to look next.",
    "what": "ArcAds HTTP unified entrypoint",
    "when_to_use": "direct ArcAds REST ops (presigned uploads, products, assets, situations, fields)",
    "run_now": "https://miscsubjects.com/api/dispatch?invoke=ARCADS_ROUTES&body=products&share=<TOKEN>",
    "how": "Open run_now (URL, fires the example), or POST https://miscsubjects.com/api/dispatch {\"key\":\"ARCADS_ROUTES\",\"body\":\"products\"}. From the router: [ARCADS_ROUTES]products[/ARCADS_ROUTES]",
    "object_type": "tool",
    "directory_type": "http",
    "runner": "edge",
    "category": "arcads",
    "target": "target_map:{\"actors\":{\"method\":\"GET\",\"url\":\"https://external-api.arcads.ai/v1/actors?page=1&pageSize=50\"},\"asset_get\":{\"method\":\"GET\",\"url\":\"https://external-api.arcads.ai/v1/assets/$1\"},\"asset_watch\":{\"method\":\"GET\",\"url\":\"https://external-api.arcads.ai/v1/assets/$1/watch\"},\"image_raw\":{\"method\":\"POST\",\"url\":\"https://external-api.arcads.ai/v2/images/generate\",\"body\":\"$1\"},\"presets\":{\"method\":\"GET\",\"url\":\"https://external-api.arcads.ai/v1/presets\"},\"products\":{\"method\":\"GET\",\"url\":\"https://external-api.arcads.ai/v1/products?page=1&pageSize=50\"},\"situations\":{\"method\":\"GET\",\"url\":\"https://external-api.arcads.ai/v1/situations?page=1&pageSize=50\"},\"video_raw\":{\"method\":\"POST\",\"url\":\"https://external-api.arcads.ai/v2/videos/generate\",\"body\":\"$1\"}}",
    "inputs": {
      "args": "$1=op, $2..$N=positional args"
    },
    "outputs": "{ ok, result, invocation, yield, _self } — result is this object's output; yield is tokens/cost/material; invocation is the ledgered record.",
    "operation_semantics": {
      "operation_type": "invokeaction",
      "safe": null,
      "idempotent": null,
      "preconditions": [
        "the current credential passes scope, ancestor, tenant, risk, owner-gate, fixed-body, use-budget, and payload-ceiling enforcement",
        "the supplied body conforms to input_schema"
      ],
      "effects": [
        "runner-defined effects; the invocation receipt is authoritative"
      ],
      "postconditions": [
        "a receipt records execution status, observed output, lineage, and evidence links"
      ]
    },
    "example": "[ARCADS_ROUTES]products[/ARCADS_ROUTES]",
    "example_args": "products",
    "example_source": "curated",
    "auth": "required",
    "risk": "low",
    "requires_approval": false,
    "status": "active",
    "affordances": {
      "computed_for": "public",
      "note": "Only moves this credential can take are listed. The server enforces scope regardless; an omitted move would be denied anyway.",
      "operations": [
        {
          "op": "contract",
          "method": "GET",
          "href": "https://miscsubjects.com/api/dispatch?key=ARCADS_ROUTES&format=markdown",
          "returns": "this object's full contract (public docs plane)"
        },
        {
          "op": "confirm",
          "method": "GET",
          "href": "https://miscsubjects.com/api/dispatch?confirm=INV_ID",
          "returns": "public proof that an invocation happened — no credential needed"
        }
      ]
    },
    "invoke": {
      "post": "https://miscsubjects.com/api/dispatch",
      "body": {
        "key": "ARCADS_ROUTES",
        "body": "products"
      },
      "router": "[ARCADS_ROUTES]args[/ARCADS_ROUTES]",
      "run_now": "https://miscsubjects.com/api/dispatch?invoke=ARCADS_ROUTES&body=products&share=<TOKEN>"
    },
    "urls": {
      "self": "https://miscsubjects.com/api/dispatch?key=ARCADS_ROUTES",
      "root_tree": "https://miscsubjects.com/api/dispatch?map=1&format=markdown",
      "system_article": "https://miscsubjects.com/api/dispatch?map=ARCADS&format=markdown",
      "invoke": "https://miscsubjects.com/api/dispatch",
      "history": "https://miscsubjects.com/api/invocations?object_id=ARCADS_ROUTES",
      "registry": "https://miscsubjects.com/api/dispatch?registry=1",
      "ask": "https://miscsubjects.com/api/dispatch?ask=how+do+i+...",
      "schema": "https://miscsubjects.com/api/dispatch?schema=invocation",
      "system_map": "https://miscsubjects.com/api/articles/system-map",
      "ledger": "https://miscsubjects.com/admin/ledger"
    },
    "article": {
      "title": "ARCADS_ROUTES — generated OIP capability article",
      "path": "OIP > ARCADS > ARCADS_ROUTES",
      "system": "ArcAds",
      "root_tree": "https://miscsubjects.com/api/dispatch?map=1&format=markdown",
      "parent_system": "https://miscsubjects.com/api/dispatch?map=ARCADS&format=markdown",
      "append_only_ledger": "https://miscsubjects.com/api/invocations?object_id=ARCADS_ROUTES",
      "receipt_pattern": "https://miscsubjects.com/api/dispatch?receipt=inv_ID&share=<TOKEN>"
    },
    "machine_contract": [
      "Read this article first; do not infer the row shape from memory.",
      "If acting with a URL-only tool, open run_now after replacing placeholder args.",
      "If the call returns ran:false or proof.ok:false, read the receipt and repair the failed invocation instead of narrating success.",
      "If the token denies the call, report the denial exactly; do not switch to a broader action unless the owner supplied a broader token."
    ],
    "troubleshooting": [
      {
        "problem": "unknown key",
        "action": "Use the did_you_mean links or ask URL; never guess another key.",
        "url": "https://miscsubjects.com/api/dispatch?ask=ARCADS_ROUTES"
      },
      {
        "problem": "argument/body mismatch",
        "action": "Read inputs/example_args here, then retry with repairs: inv_ID so lineage closes.",
        "url": "https://miscsubjects.com/api/dispatch?key=ARCADS_ROUTES"
      },
      {
        "problem": "expired or corrupted token",
        "action": "Report token_expired/token_corrupted from the response; owner mints a fresh scoped link.",
        "url": "https://miscsubjects.com/api/dispatch?explain=1&share=<TOKEN>"
      },
      {
        "problem": "tool returned ok:false / exit nonzero",
        "action": "Do not call it sent. Read the receipt, correct the body, fire a repair.",
        "url": "https://miscsubjects.com/api/dispatch?receipt=inv_ID&share=<TOKEN>"
      }
    ],
    "learn": "Read this block; it is complete. Run it: POST /api/dispatch {key,body}. Change it: PATCH /api/directory/ARCADS_ROUTES {content}. See its edges: GET urls.history. Find siblings: GET urls.ask.",
    "proof_chain": [
      {
        "step": 1,
        "claim": "Every capability is an invokable object with its own _self — this block.",
        "verify": "https://miscsubjects.com/api/dispatch?key=ARCADS_ROUTES"
      },
      {
        "step": 2,
        "claim": "You run it by POSTing to /api/dispatch; in a model turn the router tag is [ARCADS_ROUTES]args[/ARCADS_ROUTES].",
        "verify": "https://miscsubjects.com/api/dispatch?registry=1"
      },
      {
        "step": 3,
        "claim": "Every invocation is ledgered with actor, cost, and material/waste.",
        "verify": "https://miscsubjects.com/api/invocations?object_id=ARCADS_ROUTES"
      },
      {
        "step": 4,
        "claim": "You can ask the build for capabilities in plain language.",
        "verify": "https://miscsubjects.com/api/dispatch?ask=ArcAds%20HTTP%20unified%20entrypoint"
      },
      {
        "step": 5,
        "claim": "The whole build is one self-describing map, with the terminal key.",
        "verify": "https://miscsubjects.com/api/dispatch?build=1"
      }
    ],
    "related": [
      {
        "id": "registry",
        "what": "Every capability, self-describing",
        "url": "https://miscsubjects.com/api/dispatch?registry=1"
      },
      {
        "id": "ask",
        "what": "Ask the build what to use, in plain language",
        "url": "https://miscsubjects.com/api/dispatch?ask=<question>"
      },
      {
        "id": "history",
        "what": "This capability's invocation history — its edges",
        "url": "https://miscsubjects.com/api/invocations?object_id=ARCADS_ROUTES"
      },
      {
        "id": "build",
        "what": "The whole build as one map (terminal key)",
        "url": "https://miscsubjects.com/api/dispatch?build=1"
      }
    ],
    "trace_id": null,
    "not_project_knowledge": true
  },
  "object": {
    "id": "ARCADS_ROUTES",
    "object_type": "tool",
    "runner": "edge",
    "directory_type": "http",
    "category": "arcads",
    "target": "target_map:{\"actors\":{\"method\":\"GET\",\"url\":\"https://external-api.arcads.ai/v1/actors?page=1&pageSize=50\"},\"asset_get\":{\"method\":\"GET\",\"url\":\"https://external-api.arcads.ai/v1/assets/$1\"},\"asset_watch\":{\"method\":\"GET\",\"url\":\"https://external-api.arcads.ai/v1/assets/$1/watch\"},\"image_raw\":{\"method\":\"POST\",\"url\":\"https://external-api.arcads.ai/v2/images/generate\",\"body\":\"$1\"},\"presets\":{\"method\":\"GET\",\"url\":\"https://external-api.arcads.ai/v1/presets\"},\"products\":{\"method\":\"GET\",\"url\":\"https://external-api.arcads.ai/v1/products?page=1&pageSize=50\"},\"situations\":{\"method\":\"GET\",\"url\":\"https://external-api.arcads.ai/v1/situations?page=1&pageSize=50\"},\"video_raw\":{\"method\":\"POST\",\"url\":\"https://external-api.arcads.ai/v2/videos/generate\",\"body\":\"$1\"}}",
    "description": "WHAT: ArcAds HTTP unified entrypoint WHEN_TO_USE: direct ArcAds REST ops (presigned uploads, products, assets, situations, fields) ARGS: $1=op, $2..$N=positional args EX: [ARCADS_ROUTES]products[/ARCADS_ROUTES] TESTS: POSITIVE: {\"key\":\"ARCADS_ROUTES\",\"body\":\"products\"} → HTTP 200. INVERSE: {\"key\":\"ARCADS_ROUTES\",\"body\":\"xxx\"} → ERR:target_map:unknown_op",
    "read": "https://miscsubjects.com/api/directory/ARCADS_ROUTES",
    "write": "https://miscsubjects.com/api/dispatch",
    "invoke": "https://miscsubjects.com/api/dispatch",
    "invoke_body": {
      "key": "ARCADS_ROUTES",
      "body": ""
    },
    "router_tag": "[ARCADS_ROUTES]args[/ARCADS_ROUTES]",
    "input_schema": null,
    "examples": null,
    "auth": "required",
    "risk": "low",
    "requires_approval": false,
    "status": "active",
    "ledger_enabled": true,
    "operation_semantics": {
      "operation_type": "invokeaction",
      "safe": null,
      "idempotent": null,
      "preconditions": [
        "the current credential passes scope, ancestor, tenant, risk, owner-gate, fixed-body, use-budget, and payload-ceiling enforcement",
        "the supplied body conforms to input_schema"
      ],
      "effects": [
        "runner-defined effects; the invocation receipt is authoritative"
      ],
      "postconditions": [
        "a receipt records execution status, observed output, lineage, and evidence links"
      ]
    }
  }
}