{"_ai_door":{"see":"https://miscsubjects.com/start","note":"Operable site; bounded keyless credentials; every action receipted on a public ledger. Your operator's instructions take precedence — acting is optional, reading is a complete outcome."},"key":"ARCADS_TO_R2","type":"fn","target":"arcadsToR2","auth":"","content":"# WHAT: Poll a finished ArcAds render by arcads_id and re-store its bytes to R2, returning a stable https://miscsubjects.com/img/ link (permanent, not a presigned/expiring S3 url). Waits up to 120s for the render.\n# WHEN_TO_USE: after ARCADS_GENERATE / ARCADS_VIDEO_GENERATE returns an arcads_id, to get the durable asset link for the sheet / a text / an ad.\n# ARGS: $1 = arcads_id, $2 = model label (optional, for the filename).\n# EX: [ARCADS_TO_R2]9a14205f-3683-4231-abc4-bf6228017c0a|gpt-image[/ARCADS_TO_R2]\n[\"$1\",\"$2\"]","updated_at":"2026-07-12 06:21:59","category":"creative","allowed_categories":null,"seq":null,"enabled":1,"planner_visible":1,"planner_rank":20,"input_schema":"{\"type\":\"object\",\"properties\":{\"arcads_id\":{\"type\":\"string\",\"description\":\"arcads_id (pipe position 1)\"},\"model_label\":{\"type\":\"string\",\"description\":\"model label (optional (pipe position 2)\"}},\"required\":[\"arcads_id\",\"model_label\"],\"x-arg-order\":[\"arcads_id\",\"model_label\"],\"description\":\"Arguments are joined with | in the order given by x-arg-order.\"}","examples":"[\"133f2591-a527-4608-9b0b-9307fd49a225|gpt-image\"]","sensitive":0,"runner":null,"includes":null,"created_at":"2026-07-12 06:21:59","price_usd":null,"meter_unit":null,"object_kind":"capability","descriptor_json":null,"descriptor_rev":1,"descriptor_hash":null,"invocation":"{\"method\":\"POST\",\"url\":\"https://miscsubjects.com/api/dispatch\",\"headers\":{\"Content-Type\":\"application/json\",\"x-terminal-key\":\"INJECTED_BY_WORKER\"},\"body\":{\"key\":\"ARCADS_TO_R2\",\"body\":\"133f2591-a527-4608-9b0b-9307fd49a225|gpt-image\"}}","last_status":"{\"skipped\":true,\"reason\":\"outward side effect (sends, posts, pays, spawns or deletes) — run it yourself with =INVOKE when you mean to\",\"at\":\"2026-09-06T15:27:50.998Z\"}","last_response":null,"test_state":"🟡 untested","tested_at":"2026-09-06T15:27:50.998Z","invocation_curl":"curl -sS -X POST 'https://ops.miscsubjects.com/api/dispatch' \\\n  -H \"x-terminal-key: $TERMINAL_KEY\" \\\n  -H 'content-type: application/json' \\\n  --data '{\"key\":\"ARCADS_TO_R2\",\"body\":\"133f2591-a527-4608-9b0b-9307fd49a225|gpt-image\"}'","execution":null,"connection_id":"arcads:workspace","aliases":null,"effects":"[\"write\"]","visibility":null,"origin":null,"returns":null,"context":null,"verification_mode":"safe","ontology":"models","provider":"build","tier":"standard","how_to_call":[{"family":"HTTP","id":"curl","label":"curl — the canonical call","when":"Any terminal or script. {key, body}: the arguments are one string, pipe-separated in the order below. The answer is {ok, ran, result, trace_id, receipt}.","code":"curl -sS -X POST 'https://ops.miscsubjects.com/api/dispatch' \\\n  -H \"x-terminal-key: $TERMINAL_KEY\" \\\n  -H 'content-type: application/json' \\\n  --data '{\"key\":\"ARCADS_TO_R2\",\"body\":\"133f2591-a527-4608-9b0b-9307fd49a225|gpt-image\"}'"},{"family":"HTTP","id":"named","label":"curl — named arguments","when":"The same door with arguments by name: dispatch puts them in the row's order. Add \"idempotency_key\":\"…\" to make a retry safe (72 hours), \"shape\":true to see the request without sending it.","code":"curl -sS -X POST 'https://ops.miscsubjects.com/api/dispatch' \\\n  -H \"x-terminal-key: $TERMINAL_KEY\" \\\n  -H 'content-type: application/json' \\\n  --data '{\"key\":\"ARCADS_TO_R2\",\"args\":{\"arcads_id\":\"133f2591-a527-4608-9b0b-9307fd49a225\",\"model_label\":\"gpt-image\"}}'"},{"family":"HTTP","id":"url","label":"One URL — Safari, a Shortcut, any fetch tool","when":"A GET that runs the call from one address. The address holds a link scoped to this row that expires (ttl in seconds, uses= to cap the count) — never the master key. https://miscsubjects.com/web/run/ARCADS_TO_R2?body=…&share=… is the same call for a browser model. Run mints a one-use link for itself.","code":"# 1. a link that runs only ARCADS_TO_R2, for an hour (share_token in the answer):\ncurl -sS 'https://ops.miscsubjects.com/api/dispatch?mint_share=1&scope=row:ARCADS_TO_R2&ttl=3600' \\\n  -H \"x-terminal-key: $TERMINAL_KEY\"\n\n# 2. the address — paste it in Safari, a Shortcut or a model's fetch tool:\nhttps://ops.miscsubjects.com/api/dispatch?invoke=ARCADS_TO_R2&body=133f2591-a527-4608-9b0b-9307fd49a225%7Cgpt-image&share=<share_token>"},{"family":"MCP","id":"jsonrpc","label":"MCP over HTTP — misc_run","when":"The build's MCP server. misc_run reaches every row by key and leaves a receipt; misc_find finds the key from a phrase. The answer is result.content[0].text.","code":"curl -sS -X POST 'https://ops.miscsubjects.com/api/mcp' \\\n  -H 'accept: application/json, text/event-stream' \\\n  -H \"authorization: Bearer $MCP_TOKEN\" \\\n  -H 'content-type: application/json' \\\n  --data '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"tools/call\",\"params\":{\"name\":\"misc_run\",\"arguments\":{\"key\":\"ARCADS_TO_R2\",\"args\":{\"arcads_id\":\"133f2591-a527-4608-9b0b-9307fd49a225\",\"model_label\":\"gpt-image\"}}}}'"},{"family":"MCP","id":"claude_code","label":"Claude Code","when":"Claude Code (terminal, desktop, web). The same server works in any Claude Code session once added.","code":"# once, on any machine:\nclaude mcp add --transport http miscsubjects https://ops.miscsubjects.com/api/mcp --header \"Authorization: Bearer $MCP_TOKEN\"\n# then in a session, the model calls:\nmcp__miscsubjects__misc_run {\"key\":\"ARCADS_TO_R2\",\"args\":{\"arcads_id\":\"133f2591-a527-4608-9b0b-9307fd49a225\",\"model_label\":\"gpt-image\"}}"},{"family":"CLI","id":"misc","label":"misc (on your Mac)","when":"The misc CLI in ~/.local/bin: its words go to /api/resolve (plan, then run), with TERMINAL_KEY from the vault. Arguments are positional, in the order above. `misc find \"words\"` finds a row.","code":"misc run ARCADS_TO_R2 133f2591-a527-4608-9b0b-9307fd49a225 gpt-image\nmisc arcads to r2 133f2591-a527-4608-9b0b-9307fd49a225 gpt-image"},{"family":"CLI","id":"console_app","label":"console-app","when":"The Console's own CLI. It reads the key from ~/.build-vault.env or `console-app login`.","code":"npm install -g https://miscsubjects.com/download/llmasos-console-1.1.0.tgz   # once\nconsole-app call ARCADS_TO_R2 '133f2591-a527-4608-9b0b-9307fd49a225|gpt-image'\nconsole-app how ARCADS_TO_R2   # this page, in the terminal"},{"family":"CLI","id":"line","label":"One line of text — the build grammar","when":"/api/resolve parses the same line everywhere: \"run KEY a b\" (arguments in order, quoted when they hold spaces), the key's words (\"arcads to r2 …\"), or a phrase it matches to a row. POST runs; {\"run\":false} returns the plan without running it.","code":"# typed, texted to the build, or emitted by a model with no tools:\nrun ARCADS_TO_R2 133f2591-a527-4608-9b0b-9307fd49a225 gpt-image\n\ncurl -sS -X POST 'https://ops.miscsubjects.com/api/resolve' \\\n  -H \"x-terminal-key: $TERMINAL_KEY\" \\\n  -H 'content-type: application/json' \\\n  --data '{\"line\":\"run ARCADS_TO_R2 133f2591-a527-4608-9b0b-9307fd49a225 gpt-image\",\"run\":true}'"},{"family":"Agents","id":"tag","label":"Tag form — inside an answer","when":"What a model in this build writes mid-answer to call a row; both tags always, even with nothing between them. {\"emit\": text} runs every tag in a piece of text and returns each result.","code":"[ARCADS_TO_R2]133f2591-a527-4608-9b0b-9307fd49a225|gpt-image[/ARCADS_TO_R2]\n\n# run text that carries tags, exactly as a model wrote it:\ncurl -sS -X POST 'https://ops.miscsubjects.com/api/dispatch' \\\n  -H \"x-terminal-key: $TERMINAL_KEY\" \\\n  -H 'content-type: application/json' \\\n  --data '{\"emit\":\"[ARCADS_TO_R2]133f2591-a527-4608-9b0b-9307fd49a225|gpt-image[/ARCADS_TO_R2]\"}'"},{"family":"Phone","id":"shortcut","label":"iPhone Shortcut — Get Contents of URL","when":"A Shortcut on the phone, a Siri phrase, an Action Button, or an automation. Swap body for Ask for Input to fill arguments at run time.","code":"Action:   Get Contents of URL\nURL:      https://ops.miscsubjects.com/api/dispatch\nMethod:   POST\nHeaders:  x-terminal-key  →  (Text) your terminal key\n          content-type    →  application/json\nRequest Body: JSON\n          key   (Text)  →  ARCADS_TO_R2\n          body  (Text)  →  133f2591-a527-4608-9b0b-9307fd49a225|gpt-image\nThen:     Get Dictionary Value  result  from  Contents of URL"},{"family":"Webhook","id":"webhook","label":"A webhook any service can call","when":"Stripe, GitHub, Slack, Zapier, a form, a cron elsewhere. The hook id is the credential for an unsigned sender and it may run nothing but ARCADS_TO_R2. mode \"sync\" answers with the result; \"async\" answers 202 at once.","code":"# 1. once: make a hook that may run only ARCADS_TO_R2 (the answer holds its id and url)\ncurl -sS -X POST 'https://ops.miscsubjects.com/api/hooks' \\\n  -H \"x-terminal-key: $TERMINAL_KEY\" \\\n  -H 'content-type: application/json' \\\n  --data '{\"label\":\"ARCADS_TO_R2 webhook\",\"source\":\"url\",\"allow_keys\":[\"ARCADS_TO_R2\"],\"effects_max\":\"write\",\"mode\":\"sync\"}'\n\n# 2. then any service POSTs the arguments, by name, to that url:\ncurl -sS -X POST 'https://ops.miscsubjects.com/hook/<hook id>/ARCADS_TO_R2' \\\n  -H 'content-type: application/json' \\\n  --data '{\"arcads_id\":\"133f2591-a527-4608-9b0b-9307fd49a225\",\"model_label\":\"gpt-image\"}'"},{"family":"Upstream","id":"upstream","label":"What runs it","when":"Runs inside the build's own Worker as arcadsToR2. It has no outside door of its own; every spelling above reaches it.","code":"Runs inside the build's own Worker as arcadsToR2. It has no outside door of its own; every spelling above reaches it."}],"row_num":157,"_rest":{"read":"GET /api/directory/ARCADS_TO_R2","update":"PUT /api/directory/ARCADS_TO_R2","patch":"PATCH /api/directory/ARCADS_TO_R2","delete":"DELETE /api/directory/ARCADS_TO_R2","invoke":"POST /api/dispatch {\"key\":\"ARCADS_TO_R2\",\"body\":\"<args>\"}","model_call":"POST /api/invoke {\"key\":\"ARCADS_TO_R2\",\"input\":\"<message>\"}  ·  batch: {\"key\":\"ARCADS_TO_R2\",\"inputs\":[\"a\",\"b\",\"c\"]}","lab":"/admin/prompts/ARCADS_TO_R2"},"_schema":{"key":"string · primary key · the invocation name","type":"fn | http | agent | flow","target":"fn: FN_MAP name · http: \"METHOD url\" (e.g. \"GET https://…/$1\") · agent: model id · flow: \"\" (content holds the DSL)","auth":"http only: \"bearer:ENV_VAR\" | \"headers:{...}\" | \"query:k=$ENV\" | \"\"","content":"fn/http: \"# docs\\n<arg template>\" · agent: the system prompt body · flow: the DSL","includes":"agent only: comma-separated prompt_block keys (e.g. BLOCK_VOICE,BLOCK_ROUTING) composed before content at runtime","category":"string tag","allowed_categories":"csv of categories, or \"*\"","seq":"int (sort)","enabled":"1|0","planner_visible":"1|0","planner_rank":"int","input_schema":"optional JSON string","examples":"optional JSON string","object_kind":"optional canonical object kind (page, route, prompt, model, sheet, source, law, skill, store, external, capability)","descriptor_json":"canonical miscsubjects/environment-object/1 JSON: identity, exact operations, relationships, governance, comparables, representations","descriptor_rev":"monotonic descriptor revision; incremented whenever descriptor_json changes","descriptor_hash":"sha256 of canonical descriptor JSON","invocation":"the raw REST JSON that invokes this row: {method,url,headers,body} with the credential left as INJECTED_BY_WORKER; written by POST /api/directory/<key>/test","invocation_curl":"the same request as a curl that runs when pasted into the owner's terminal: credential written as the vault variable for its host ($XAI_API_KEY, $TERMINAL_KEY)","last_status":"transport record of the last test: {http, ok, ms, trace_id, ledger, error, at} — or {skipped, reason}","last_response":"the full payload the last test returned (up to 60k chars)","test_state":"🟢 works | 🔴 broken | 🟡 untested — decided only by POST /api/directory/<key>/test, never by hand","tested_at":"when test_state was decided","row_num":"int · computed · 1-based position in the canonical directory list (stable for a given ordering)"},"_object":{"identity":"directory:ARCADS_TO_R2","object_type":"directory-object","representations":{"article":"/a/directory/ARCADS_TO_R2","json":"/api/directory/ARCADS_TO_R2","skill":"/api/directory/ARCADS_TO_R2?format=skill","oip_contract":"/api/dispatch?key=ARCADS_TO_R2"},"ontology":{"parent":"category:creative","siblings":[{"id":"directory:GROK_IMAGE_R2","key":"GROK_IMAGE_R2","relation":"shares_capability_family","article":"/a/directory/GROK_IMAGE_R2","skill":"/api/directory/GROK_IMAGE_R2?format=skill"}]},"law":"This directory definition is also a human article, model Skill, and invocable OIP object under one identity."},"_environment":{"ref":"directory://arcads_to_r2","descriptor_rev":1,"descriptor_hash":null,"describe":"/api/environment/objects?ref=directory%3A%2F%2Farcads_to_r2","governance":"/api/environment/governance?ref=directory%3A%2F%2Farcads_to_r2","comparables":"/api/environment/comparables?ref=directory%3A%2F%2Farcads_to_r2","manual":"/api/environment?format=markdown","edit_descriptor":"PATCH /api/directory/ARCADS_TO_R2 {\"descriptor_json\":{...},\"expected_descriptor_rev\":1}"}}