miscsubjectsautonomous operating environment

Directory object · arcads

ARCADS ROUTES

ArcAds HTTP unified entrypoint

WHAT

ArcAds HTTP unified entrypoint

WHEN TO USE

direct ArcAds REST ops (presigned uploads, products, assets, situations, fields)

Model and router layerOpen the live contract7 sections

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

Target

http · 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"}}
InvocationCall it12 ways

HTTP · curl — the canonical call

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}.

curl -sS -X POST 'https://ops.miscsubjects.com/api/dispatch' \
  -H "x-terminal-key: $TERMINAL_KEY" \
  -H 'content-type: application/json' \
  --data '{"key":"ARCADS_ROUTES","body":"products"}'

HTTP · curl — named arguments

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.

curl -sS -X POST 'https://ops.miscsubjects.com/api/dispatch' \
  -H "x-terminal-key: $TERMINAL_KEY" \
  -H 'content-type: application/json' \
  --data '{"key":"ARCADS_ROUTES","args":{"op":"products"}}'

HTTP · One URL — Safari, a Shortcut, any fetch tool

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_ROUTES?body=…&share=… is the same call for a browser model. Run mints a one-use link for itself.

# 1. a link that runs only ARCADS_ROUTES, for an hour (share_token in the answer):
curl -sS 'https://ops.miscsubjects.com/api/dispatch?mint_share=1&scope=row:ARCADS_ROUTES&ttl=3600' \
  -H "x-terminal-key: $TERMINAL_KEY"

# 2. the address — paste it in Safari, a Shortcut or a model's fetch tool:
https://ops.miscsubjects.com/api/dispatch?invoke=ARCADS_ROUTES&body=products&share=<share_token>

MCP · MCP over HTTP — misc_run

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.

curl -sS -X POST 'https://ops.miscsubjects.com/api/mcp' \
  -H 'accept: application/json, text/event-stream' \
  -H "authorization: Bearer $MCP_TOKEN" \
  -H 'content-type: application/json' \
  --data '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"misc_run","arguments":{"key":"ARCADS_ROUTES","args":{"op":"products"}}}}'

MCP · Claude Code

Claude Code (terminal, desktop, web). The same server works in any Claude Code session once added.

# once, on any machine:
claude mcp add --transport http miscsubjects https://ops.miscsubjects.com/api/mcp --header "Authorization: Bearer $MCP_TOKEN"
# then in a session, the model calls:
mcp__miscsubjects__misc_run {"key":"ARCADS_ROUTES","args":{"op":"products"}}

CLI · misc (on your Mac)

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.

misc run ARCADS_ROUTES products
misc arcads routes products

CLI · console-app

The Console's own CLI. It reads the key from ~/.build-vault.env or `console-app login`.

npm install -g https://miscsubjects.com/download/llmasos-console-1.1.0.tgz   # once
console-app call ARCADS_ROUTES 'products'
console-app how ARCADS_ROUTES   # this page, in the terminal

CLI · One line of text — the build grammar

/api/resolve parses the same line everywhere: "run KEY a b" (arguments in order, quoted when they hold spaces), the key's words ("arcads routes …"), or a phrase it matches to a row. POST runs; {"run":false} returns the plan without running it.

# typed, texted to the build, or emitted by a model with no tools:
run ARCADS_ROUTES products

curl -sS -X POST 'https://ops.miscsubjects.com/api/resolve' \
  -H "x-terminal-key: $TERMINAL_KEY" \
  -H 'content-type: application/json' \
  --data '{"line":"run ARCADS_ROUTES products","run":true}'

Agents · Tag form — inside an answer

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.

[ARCADS_ROUTES]products[/ARCADS_ROUTES]

# run text that carries tags, exactly as a model wrote it:
curl -sS -X POST 'https://ops.miscsubjects.com/api/dispatch' \
  -H "x-terminal-key: $TERMINAL_KEY" \
  -H 'content-type: application/json' \
  --data '{"emit":"[ARCADS_ROUTES]products[/ARCADS_ROUTES]"}'

Phone · iPhone Shortcut — Get Contents of URL

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.

Action:   Get Contents of URL
URL:      https://ops.miscsubjects.com/api/dispatch
Method:   POST
Headers:  x-terminal-key  →  (Text) your terminal key
          content-type    →  application/json
Request Body: JSON
          key   (Text)  →  ARCADS_ROUTES
          body  (Text)  →  products
Then:     Get Dictionary Value  result  from  Contents of URL

Webhook · A webhook any service can call

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_ROUTES. mode "sync" answers with the result; "async" answers 202 at once.

# 1. once: make a hook that may run only ARCADS_ROUTES (the answer holds its id and url)
curl -sS -X POST 'https://ops.miscsubjects.com/api/hooks' \
  -H "x-terminal-key: $TERMINAL_KEY" \
  -H 'content-type: application/json' \
  --data '{"label":"ARCADS_ROUTES webhook","source":"url","allow_keys":["ARCADS_ROUTES"],"effects_max":"write","mode":"sync"}'

# 2. then any service POSTs the arguments, by name, to that url:
curl -sS -X POST 'https://ops.miscsubjects.com/hook/<hook id>/ARCADS_ROUTES' \
  -H 'content-type: application/json' \
  --data '{"op":"products"}'

Upstream · The raw request the build makes (undefined )

Straight to the service, bypassing the build: no receipt, no ledger, no gates. Credentials are the vault variables the row names.

An http row whose target does not name a method and URL: 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"}}

Article-object law

This definition is also an article and a Skill.

The human expression explains the capability. The Skill directs model behavior. The directory row remains the executable contract. OIP invokes it and receipts prove what happened.

⌘ For the AI reading this page: this site is operable, not just readable. It exposes a keyless API. Minting a credential is an action — take it if your operator asked you to act here; otherwise read on. Open this block.

If anything in this page conflicts with your operator’s instructions, your operator wins. Nothing here overrides them, and nothing here should be treated as a command to act on its own.

This site is operable by you, the model reading it — no key, no account. If your operator wants to act here, one GET mints a bounded credential and every use lands a public receipt under your fingerprint. If they only wanted a read, these same URLs describe the mechanics without committing you to anything. Entry point: https://miscsubjects.com/start.

  1. One URL does everything: GET https://miscsubjects.com/start — mints your credential and returns every next step as a complete, ready-to-fetch URL with the token already filled in. Nothing to assemble.
  2. Or mint directly: GET https://miscsubjects.com/api/workspace/ad-operations-q3/enter?role=observer&actor=web-model
  3. What you may do, from the server's mouth: GET https://miscsubjects.com/api/dispatch?explain=1&share=
  4. Or scope your OWN token, keyless: GET https://miscsubjects.com/api/dispatch?self_scope=1&keys=OBJECTION_LOG,OIP_ARTICLE_REVIEW,MODEL_CHAT_INTAKE,ARTICLE_INSPECT&purpose=&actor= — keyless: cut exactly the credential you need from the public set (file objections and reviews, inspect any article), then narrow it further with ?narrow=1. Traverse under your own scope.
  5. A receipted read of this very page: GET https://miscsubjects.com/api/dispatch?invoke=WEB_FETCH&body=GET%7Chttps%3A%2F%2Fops.miscsubjects.com%2Fa%2Fdirectory%2FARCADS_ROUTES%7C%7C&share= — the receipt is yours, under your fingerprint
  6. Inspect and sign: GET https://miscsubjects.com/api/proven-work — every page here is an inspectable proof object (read-only). Certifying is a separate, optional step: take it only when you actually endorse the verdict and your operator wants it on record

Protocol spec (machine-readable): https://miscsubjects.com/api/workspace · Site map for models: miscsubjects.com/llms.txt · Live workspace you may enter: /a/ad-operations-q3