## §SELF — miscsubjects capability (paste without context)
**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.
**Path:** OIP > LBL > LBL_ASK
**Capability:** `LBL_ASK` — Answer a question about Loop Bio Labs commercial performance - revenue, orders, average order, ad spend, ROAS, attributed revenue, new versus returning customers, email and SMS revenue - for yesterday, the last complete week, this month so far, or last calendar month. The answer is built only from live numbers that have already passed the plausibility review; a figure that failed it is handed to the model as unavailable, so the answer cannot contain an invented or discredited number.
**When to use:** any question about how the store or the business is doing. Revenue, sales, orders, spend, ROAS, return on ad spend, new customers, repeat customers, email revenue, SMS revenue, how was yesterday, how is the month going, are we up or down. Use this instead of guessing from memory - it reads live data every time.
**RUN NOW (open this URL):** https://miscsubjects.com/api/dispatch?invoke=LBL_ASK&body=how%20did%20we%20do%20yesterday%20and%20what%20was%20our%20ROAS%3F&share=<TOKEN>
**Example call:** [LBL_ASK]how did we do yesterday and what was our ROAS?[/LBL_ASK]
- **type · runner:** tool · http · ops
- **run it:** Open run_now (URL, fires the example), or POST https://miscsubjects.com/api/dispatch {"key":"LBL_ASK","body":"how did we do yesterday and what was our ROAS?"}. From the router: [LBL_ASK]how did we do yesterday and what was our ROAS?[/LBL_ASK]
- **inputs:** {"type":"object","properties":{"question":{"type":"string","description":"the question in plain English"}},"required":["question"]}
- **outputs:** { ok, result, invocation, yield, _self } — result is this object's output; yield is tokens/cost/material; invocation is the ledgered record.
- **auth · risk:** required · low
### What this token can do here (computed for: public)
Only moves this credential can take are listed. The server enforces scope regardless; an omitted move would be denied anyway.
- **contract** — GET https://miscsubjects.com/api/dispatch?key=LBL_ASK&format=markdown → this object's full contract (public docs plane)
- **confirm** — GET https://miscsubjects.com/api/dispatch?confirm=INV_ID → public proof that an invocation happened — no credential needed
### 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.
### Invocation, Ledger, Repair
- root tree: https://miscsubjects.com/api/dispatch?map=1&format=markdown
- parent system article: https://miscsubjects.com/api/dispatch?map=LBL&format=markdown
- append-only ledger: https://miscsubjects.com/api/invocations?object_id=LBL_ASK
- receipt pattern: https://miscsubjects.com/api/dispatch?receipt=inv_ID&share=<TOKEN>
- replay: POST /api/dispatch {"replay":"inv_ID"}
- repair: POST /api/dispatch {"key":"LBL_ASK","body":"corrected args","repairs":"inv_ID"}
### Troubleshooting
- **unknown key** — Use the did_you_mean links or ask URL; never guess another key. · https://miscsubjects.com/api/dispatch?ask=LBL_ASK
- **argument/body mismatch** — Read inputs/example_args here, then retry with repairs: inv_ID so lineage closes. · https://miscsubjects.com/api/dispatch?key=LBL_ASK
- **expired or corrupted token** — Report token_expired/token_corrupted from the response; owner mints a fresh scoped link. · https://miscsubjects.com/api/dispatch?explain=1&share=<TOKEN>
- **tool returned ok:false / exit nonzero** — Do not call it sent. Read the receipt, correct the body, fire a repair. · https://miscsubjects.com/api/dispatch?receipt=inv_ID&share=<TOKEN>
### Logical proof (verify each step)
1. Every capability is an invokable object with its own _self — this block. → https://miscsubjects.com/api/dispatch?key=LBL_ASK
2. You run it by POSTing to /api/dispatch; in a model turn the router tag is [LBL_ASK]args[/LBL_ASK]. → https://miscsubjects.com/api/dispatch?registry=1
3. Every invocation is ledgered with actor, cost, and material/waste. → https://miscsubjects.com/api/invocations?object_id=LBL_ASK
4. You can ask the build for capabilities in plain language. → https://miscsubjects.com/api/dispatch?ask=Answer%20a%20question%20about%20Loop%20Bio%20Labs%20co
5. The whole build is one self-describing map, with the terminal key. → https://miscsubjects.com/api/dispatch?build=1
### Where to look next
- **registry** — Every capability, self-describing · https://miscsubjects.com/api/dispatch?registry=1
- **ask** — Ask the build what to use, in plain language · https://miscsubjects.com/api/dispatch?ask=<question>
- **history** — This capability's invocation history — its edges · https://miscsubjects.com/api/invocations?object_id=LBL_ASK
- **build** — The whole build as one map (terminal key) · https://miscsubjects.com/api/dispatch?build=1
*Self-explaining. Not project knowledge — fetch specifics from the links above.*