## §OIP SYSTEM ARTICLE — FLOW (3 operations)
A generated article for one OIP shelf. It lists every operation in this API/CLI/MCP/device/model/core subsystem, links each leaf article, and gives the ledger path for proof.

### Read Order
- scan operations
- open a leaf doc
- run via run_now or POST /api/dispatch
- open receipt
- repair/replay if needed

### Operations
- **FLOW_LEARN** — Turn a successful trace into an executable flow capability. Reads the ordered capability calls of a trace (or 
  when: the same multi-step job has been done by hand or by a model more than once. Compile it, then call the new key instead of rediscovering the s
  args: $1 = NEW_KEY|trace_id or inv_a,inv_b,…|{"arg":"<the run input>","replay":true}. The JSON options are optional.
  doc: https://miscsubjects.com/api/dispatch?key=FLOW_LEARN&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=FLOW_LEARN&body=QUAKE_REVIEW%7Ct_abc123%7C%7B%22replay%22%3Atrue%7D&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=FLOW_LEARN
- **FLOW_PROMOTE** — Enable a learned flow that was created disabled because a step is sensitive or side-effecting. Owner action, a
  when: FLOW_LEARN returned enabled:false and the steps are acceptable to run unattended.
  args: $1 = KEY.
  doc: https://miscsubjects.com/api/dispatch?key=FLOW_PROMOTE&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=FLOW_PROMOTE&body=CUSTOMER_REFUND_REVIEW&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=FLOW_PROMOTE
- **FLOW_CANDIDATES** — Procedures the ledger has watched succeed repeatedly: traces grouped by their ordered capability sequence, wit
  when: you want to know what the build keeps doing by hand that could be compiled.
  args: $1 = days|min_repeats (defaults 14|2).
  doc: https://miscsubjects.com/api/dispatch?key=FLOW_CANDIDATES&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=FLOW_CANDIDATES&body=30%7C3&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=FLOW_CANDIDATES

### Troubleshooting
- If a row's example has placeholders, replace only the placeholder values and preserve separators.
- If a call fails, open its receipt and repair it with POST /api/dispatch {key, body, repairs:'inv_ID'}.
- If token scope denies this system, ask the owner for a row:/rows:/pfx: token scoped to the exact operation set.

Back to the tree: https://miscsubjects.com/api/dispatch?map=1&format=markdown