@battlegrid/mcp-server 31.2.106 → 31.2.109

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -24,6 +24,36 @@ Seeing package `31.x` alongside handshake `battlegrid@33.x` — the package **be
24
24
 
25
25
  **What this changes for you:** nothing about how you call anything. Upgrading the package no longer waits on a server deploy, and a server deploy no longer strands you on a package that names the wrong contract — reconnect and the announcement follows. **Contract breaking-change notes are no longer keyed to package versions**, since a contract move is no longer a release here; the v11-and-earlier notes below are kept as history, and the live vocabulary is always discovery.
26
26
 
27
+ ## Contract history — v111 (the draft tools take their arguments at the top level)
28
+
29
+ **Breaking at v111: every draft-lifecycle tool takes its id, `draftVersion` and payload as top-level
30
+ arguments.** v111 is the contract on top of v110.12. Reconnect the proxy, or restart it, so discovery
31
+ reads the new schemas.
32
+
33
+ ### Rejected input — something you send is no longer accepted
34
+
35
+ - **The `request` envelope on the twenty-five draft-lifecycle tools** — `stage_`, `get_`, `commit_` and
36
+ `discard_<kind>_draft`, and `list_<kind>_drafts`, for the agent, strategy, Arena deployment, radar deployment
37
+ and Market Grid entry kinds. The fields that sat under `request` — the kind's id (`agentId`, `strategyId`,
38
+ `presetId`, `coinId` or `sessionId`), `draftVersion`, `axes`, `expectedRevision` and `cursor` — are now the
39
+ tool's own top-level arguments. A call that still wraps them in `request` is refused as an unrecognised key
40
+ naming `request`; nothing translates it. A refusal's path into the payload loses its leading `request`.
41
+ - **A number sent as a string** stays refused at the new top level, as it was under `request`: a
42
+ `draftVersion` of `"0"` is refused naming `draftVersion`.
43
+
44
+ ### Behaviour behind unchanged schemas
45
+
46
+ - **`request` stays exactly where its payload is a union or a refinement**: `get_strategy_section_template`,
47
+ `preview_radar_resolution`, `preview_deployment_resolution` and `test_generate_deployment_grid`. A draft
48
+ preview's `draftVersion` stays inside their `request`. Their schemas do not move.
49
+ - **A retried commit replays across the cutover.** Its idempotency key is still the entity id and the
50
+ `draftVersion`, so a commit retried in the new shape returns the first commit's receipt.
51
+ - **On a multi-account proxy, `account` sits beside a draft tool's own arguments**, as it does beside every
52
+ other flat tool's. The proxy still strips only `account`.
53
+ - **Each `get_<kind>_draft` description states how long a `draftVersion` holds** — every write to the draft
54
+ moves it — and, for every kind but the strategy, the event that ends the kind's drafts: a Market Grid
55
+ session leaving PENDING, an agent's deletion, a deployment's un-deploy.
56
+
27
57
  ## Contract history — v110.9 (the price zone reads the channel of the bars before)
28
58
 
29
59
  **Served values move at v110.9; no schema moves.** v110.9 is the contract on top of v110.8. Nothing you send
package/SKILL.md CHANGED
@@ -9,7 +9,7 @@ BattleGrid is a real-time cryptocurrency prediction gaming and trading platform.
9
9
 
10
10
  ## The other nine skills
11
11
 
12
- This skill covers **connection**: how to reach BattleGrid, the request envelope, and what each scope
12
+ This skill covers **connection**: how to reach BattleGrid, the `account` argument, and what each scope
13
13
  grants. Everything about *using* the platform lives in the nine skills installed beside it, exported
14
14
  from BattleGrid's own server so they name exactly the tools you reach here:
15
15
 
@@ -32,14 +32,14 @@ to connect and to know which one to open.
32
32
 
33
33
  **Tools, prompts, and resources are discovered live from this MCP connection.** Always read the current `tools/list`, `prompts/list`, and `resources/list` before acting — a cached capability list is not authoritative after a server deployment. This skill teaches the workflows and the strict request contracts; it deliberately does not copy the server's tool catalog, metric/transform vocabulary, formulas, or default values. Discover those from the live tools (`list_strategy_categories`, `list_strategy_vocabulary`, `list_strategy_signals`, `get_strategy_signal_definition`, …). Never guess a metric, transform, parameter, template, signal, or enabled-timeframe fact.
34
34
 
35
- ## Single-account vs multi-account request shape
35
+ ## Single-account vs multi-account arguments
36
36
 
37
- The draft lifecycle tools — `stage_<kind>_draft`, `get_<kind>_draft`, `commit_<kind>_draft`, `discard_<kind>_draft` and `list_<kind>_drafts` for the `strategy` and `agent` kinds — and `get_strategy_section_template` use one strict server-owned envelope, `{ request: canonicalPayload }`.
37
+ Call every tool with the arguments its live `tools/list` schema publishes. This skill states no tool's arguments; the exported skills below carry each workflow's calls, and discovery is the authority.
38
38
 
39
- - **Single account:** call them as the server publishes them, e.g. `stage_strategy_draft({ request })`.
40
- - **Multiple accounts (proxy):** live discovery adds a sibling `account`, so the shape is exactly `{ account, request }`. Select the account in the outer field; keep `request` exactly as discovered. The proxy strips only `account` and forwards the unchanged `{ request }`.
39
+ - **Single account:** send exactly the published arguments.
40
+ - **Multiple accounts (proxy):** live discovery adds a required `account` beside each tool's own published arguments. Select the account there. The proxy strips only `account` and forwards every other argument unchanged — it never unwraps, moves or rebuilds one.
41
41
 
42
- Never put `account` inside `request`, and never flatten request fields beside it. Other tools keep whatever input shape live discovery reports for them.
42
+ Never put `account` inside another argument.
43
43
 
44
44
  ## Scopes
45
45
 
@@ -56,19 +56,18 @@ that arc.
56
56
  Four facts about transport, which are this skill's to state because they are about the wire rather
57
57
  than about authoring:
58
58
 
59
- - **The envelope is `{ request }`, or `{ account, request }` on a multi-account proxy** (see above).
60
- It applies to every draft lifecycle tool and to `get_strategy_section_template`.
59
+ - **A tool's arguments are what discovery publishes, plus `account` on a multi-account proxy** (see
60
+ above).
61
61
  - **Every change goes through the entity's draft** — an agent's, a strategy's, and an Arena or radar
62
- deployment's. `stage_<kind>_draft({ request: { <id>?, draftVersion, axes } })` writes proposed axes
63
- into the player's unsaved draft and commits nothing. For an agent or a strategy, omit the id to open a
64
- new create draft, whose minted id the response carries; a deployment draft is keyed by its `presetId`
65
- or `coinId`, which every call names.
66
- `get_<kind>_draft({ request: { <id> } })` returns the draft, its `draftVersion`, the live
67
- `committedRevision`, a per-axis `diff`, `diagnostics` and `impact`.
68
- - **A commit names exactly the two numbers that read returned.**
69
- `commit_<kind>_draft({ request: { <id>, draftVersion, expectedRevision } })` — `expectedRevision`
70
- is `null` for an entity not created yet. Commit only after the player has seen the diff and impact
71
- and said yes. `discard_<kind>_draft({ request: { <id>, draftVersion } })` is the same fence. The two
62
+ deployment's. `stage_<kind>_draft` writes proposed axes into the player's unsaved draft and commits
63
+ nothing. For an agent or a strategy, omit the id to open a new create draft, whose minted id the
64
+ response carries; a deployment draft is keyed by its `presetId` or `coinId`, which every call names.
65
+ `get_<kind>_draft` returns the draft, its `draftVersion`, the live `committedRevision`, a per-axis
66
+ `diff`, `diagnostics` and `impact`.
67
+ - **A commit names exactly the two numbers that read returned.** `commit_<kind>_draft` takes that
68
+ `draftVersion` and, as `expectedRevision`, that `committedRevision` — `null` for an entity not
69
+ created yet. Commit only after the player has seen the diff and impact and said yes.
70
+ `discard_<kind>_draft` is the same fence on the `draftVersion`. The two
72
71
  deployment commits arm wagers and require `mcp:wager`; a deployment's resume and delete name the
73
72
  `expectedPolicyId` and `expectedRevision` a `COMMITTED` preview returned.
74
73
  - **The proxy forwards numbers and `null` unchanged.** It never fills in a version, never retries a
@@ -94,7 +93,7 @@ The `play-market-grid` prompt (discover via `prompts/list`) provides a guided en
94
93
 
95
94
  ## Retired operations
96
95
 
97
- `create_strategy`, the plan tools (`compile_strategy_plan`, `stage_strategy_plan`, `apply_strategy_plan`), `update_strategy_signal_rule`, the signal-rule tools (`simulate_aggregate_score`, `list_strategy_signals`, `get_strategy_signal_definition`, `derive_strategy_rule_view`, `get_coin_signal_preview`), the direct agent writers (`create_intelligence_agent`, `update_intelligence_agent`, `rebind_intelligence_agent`), and the direct grid writers (`submit_market_grid`, `update_market_grid`) are **retired** — they are absent from discovery and cannot be invoked. Stage into the entity's draft, read it back, and commit the version you read; a strategy's entry gate is its conditions (a required or verdict-carrying condition — a strategy with none never trades, and its draft warns `NO_ENTRY_CONDITION`), its ATR floor `minAtrPct` is part of the `TRADE_LEVEL_POLICY` axis, a strategy binding is the agent draft's `STRATEGY_BINDING` axis, and a player's Market Grid picks are the entry draft's `CELL_n` and `RATIONALE` axes. A deployment preview's `previewToken`, and the `confirm` on a deployment commit, resume, delete or draft discard, are retired the same way: a strict input refuses either key. Do not attempt flat legacy payloads; the server enforces a closed-world request root and the proxy never reconstructs them.
96
+ `create_strategy`, the plan tools (`compile_strategy_plan`, `stage_strategy_plan`, `apply_strategy_plan`), `update_strategy_signal_rule`, the signal-rule tools (`simulate_aggregate_score`, `list_strategy_signals`, `get_strategy_signal_definition`, `derive_strategy_rule_view`, `get_coin_signal_preview`), the direct agent writers (`create_intelligence_agent`, `update_intelligence_agent`, `rebind_intelligence_agent`), and the direct grid writers (`submit_market_grid`, `update_market_grid`) are **retired** — they are absent from discovery and cannot be invoked. Stage into the entity's draft, read it back, and commit the version you read; a strategy's entry gate is its conditions (a required or verdict-carrying condition — a strategy with none never trades, and its draft warns `NO_ENTRY_CONDITION`), its ATR floor `minAtrPct` is part of the `TRADE_LEVEL_POLICY` axis, a strategy binding is the agent draft's `STRATEGY_BINDING` axis, and a player's Market Grid picks are the entry draft's `CELL_n` and `RATIONALE` axes. A deployment preview's `previewToken`, and the `confirm` on a deployment commit, resume, delete or draft discard, are retired the same way: a strict input refuses either key. Do not attempt a retired argument shape; the server's strict inputs refuse it, and the proxy never reconstructs one.
98
97
 
99
98
  ## Common errors
100
99
 
@@ -103,7 +102,7 @@ The `play-market-grid` prompt (discover via `prompts/list`) provides a guided en
103
102
  | `BATTLEGRID_API_KEY is required` | Missing API key | Set `BATTLEGRID_API_KEY` (or `BATTLEGRID_API_KEYS`) |
104
103
  | `API key must start with "bg_live_"` | Invalid key format | Generate a new key at battlegrid.trade → Profile → MCP |
105
104
  | Authentication failed (401/403) | Key revoked/rotated | Generate a new key and **restart** the proxy (keys read once at startup) |
106
- | `"account" parameter is required` | Multi-account call missing `account` | Add the outer `account`; keep `request` unchanged |
105
+ | `"account" parameter is required` | Multi-account call missing `account` | Add `account` beside the tool's own arguments; keep them unchanged |
107
106
  | `DRAFT_VERSION_MOVED` | The draft changed after you read it, or no draft is held (`details.draftVersion` null) | Call `get_<kind>_draft` again, show the player what it now holds, and commit only on their word |
108
107
  | `DRAFT_AXIS_CONTESTED` | The player changed `details.contestedAxes` in their open form after the version you staged against | Read the draft again and propose against what they now have |
109
108
  | `CONFLICT` on a commit | The live revision moved after the draft read | Read the draft again, show the player the new diff and impact, and commit at the new `committedRevision` only on their word |
package/dist/index.d.ts CHANGED
@@ -11,13 +11,12 @@
11
11
  * enum parameter is injected into every tool so the AI agent can choose
12
12
  * which account to act as. Tool calls are routed with the matching Bearer token.
13
13
  *
14
- * Strategy authoring (v3): the strategy-authoring tools publish one strict
15
- * server-owned outer object, `{ request: canonicalPayload }`. In multi-account
16
- * mode the proxy adds `account` only as a sibling of `request`, producing
17
- * exactly `{ account, request }`; on a call it strips only `account` and
18
- * forwards the unchanged `{ request }`. It never descends into or reconstructs
19
- * the nested request — the server owns every required field, bound, union
20
- * discriminator, and `additionalProperties:false` constraint.
14
+ * Every tool's input is the server's published schema. In multi-account mode
15
+ * the proxy adds `account` beside a tool's own top-level properties; on a call
16
+ * it strips only `account` and forwards every other argument unchanged. It
17
+ * never descends into or reconstructs an argument — the server owns every
18
+ * required field, bound, union discriminator, and `additionalProperties:false`
19
+ * constraint.
21
20
  *
22
21
  * Versions (two of them, describing two different things):
23
22
  * - PACKAGE_VERSION — this proxy's own code. Sent UPSTREAM as the client identity.
@@ -49,7 +48,7 @@ import { type Implementation, type Prompt, type Resource } from '@modelcontextpr
49
48
  * being asked. Move it for a change to THIS package — a proxy fix, a dependency bump, a docs
50
49
  * correction. Never move it to track the server.
51
50
  */
52
- export declare const PACKAGE_VERSION = "31.2.106";
51
+ export declare const PACKAGE_VERSION = "31.2.109";
53
52
  export declare const DEFAULT_URL = "https://mcp.battlegrid.trade/mcp";
54
53
  export interface EnvConfig {
55
54
  apiKeys: string[];
@@ -75,11 +74,9 @@ export interface ToolDefinition {
75
74
  }
76
75
  /**
77
76
  * Add a required `account` enum to every discovered tool, as a sibling of the
78
- * existing top-level properties. For the strict authoring tools whose schema is
79
- * `{ request: canonicalPayload }`, this produces exactly `{ account, request }`
80
- * with `required: ["account", "request"]`; the server-owned root
81
- * `additionalProperties:false` and the entire nested `request` (unions,
82
- * required fields, bounds) are preserved by reference, never rewritten.
77
+ * existing top-level properties. The server-owned root
78
+ * `additionalProperties:false` and every existing property (unions, required
79
+ * fields, bounds) are preserved by reference, never rewritten.
83
80
  */
84
81
  export declare function injectAccountParam(tools: ToolDefinition[], accountNames: string[]): ToolDefinition[];
85
82
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -11,13 +11,12 @@
11
11
  * enum parameter is injected into every tool so the AI agent can choose
12
12
  * which account to act as. Tool calls are routed with the matching Bearer token.
13
13
  *
14
- * Strategy authoring (v3): the strategy-authoring tools publish one strict
15
- * server-owned outer object, `{ request: canonicalPayload }`. In multi-account
16
- * mode the proxy adds `account` only as a sibling of `request`, producing
17
- * exactly `{ account, request }`; on a call it strips only `account` and
18
- * forwards the unchanged `{ request }`. It never descends into or reconstructs
19
- * the nested request — the server owns every required field, bound, union
20
- * discriminator, and `additionalProperties:false` constraint.
14
+ * Every tool's input is the server's published schema. In multi-account mode
15
+ * the proxy adds `account` beside a tool's own top-level properties; on a call
16
+ * it strips only `account` and forwards every other argument unchanged. It
17
+ * never descends into or reconstructs an argument — the server owns every
18
+ * required field, bound, union discriminator, and `additionalProperties:false`
19
+ * constraint.
21
20
  *
22
21
  * Versions (two of them, describing two different things):
23
22
  * - PACKAGE_VERSION — this proxy's own code. Sent UPSTREAM as the client identity.
@@ -52,7 +51,7 @@ import { ListToolsRequestSchema, CallToolRequestSchema, ListPromptsRequestSchema
52
51
  * being asked. Move it for a change to THIS package — a proxy fix, a dependency bump, a docs
53
52
  * correction. Never move it to track the server.
54
53
  */
55
- export const PACKAGE_VERSION = '31.2.106';
54
+ export const PACKAGE_VERSION = '31.2.109';
56
55
  export const DEFAULT_URL = 'https://mcp.battlegrid.trade/mcp';
57
56
  const MAX_RETRIES = 3;
58
57
  const RETRY_DELAYS_MS = [2000, 4000, 8000];
@@ -175,11 +174,9 @@ async function connectWithRetry(client, transport, apiUrl, apiKey) {
175
174
  }
176
175
  /**
177
176
  * Add a required `account` enum to every discovered tool, as a sibling of the
178
- * existing top-level properties. For the strict authoring tools whose schema is
179
- * `{ request: canonicalPayload }`, this produces exactly `{ account, request }`
180
- * with `required: ["account", "request"]`; the server-owned root
181
- * `additionalProperties:false` and the entire nested `request` (unions,
182
- * required fields, bounds) are preserved by reference, never rewritten.
177
+ * existing top-level properties. The server-owned root
178
+ * `additionalProperties:false` and every existing property (unions, required
179
+ * fields, bounds) are preserved by reference, never rewritten.
183
180
  */
184
181
  export function injectAccountParam(tools, accountNames) {
185
182
  return tools.map(tool => ({
@@ -388,7 +385,7 @@ export async function createProxyServer(options) {
388
385
  };
389
386
  }
390
387
  targetKey = keyByAccount.get(selectedAccount);
391
- delete args.account; // Strip ONLY account before forwarding; request is forwarded unchanged
388
+ delete args.account; // Strip ONLY account before forwarding; every other argument is forwarded unchanged
392
389
  }
393
390
  const client = await getClientForKey(targetKey);
394
391
  return await client.callTool({
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@battlegrid/mcp-server",
3
- "version": "31.2.106",
3
+ "version": "31.2.109",
4
4
  "description": "BattleGrid MCP server — play crypto prediction games from AI agents",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -1,17 +1,17 @@
1
1
  {
2
2
  "generator": "battlegrid-app/server/scripts/export-mcp-skills.mjs",
3
- "contractVersion": "110.10.0",
3
+ "contractVersion": "110.13.0",
4
4
  "files": {
5
5
  "battlegrid-agent-management/SKILL.md": "9dc151c32c3578d06e8895c6752d7a64959bff6a6681a01d62ab65e1ea1590d1",
6
- "battlegrid-agent-management/references/agent-stage-examples.md": "d47555906ce8dedf4c17422f8f5d60187f2d6b3c0af5d9545617a10a5bdb59a1",
7
- "battlegrid-arena-play/SKILL.md": "88534714cdbaa31344e1798b2b3f18836bf543f5610d118d76095d1a0dbea502",
8
- "battlegrid-arena-play/references/entry-stage-examples.md": "3bc62f9faca7b5529d51a9794e162333216acb23f0d7f644d5180b9cbc696fca",
6
+ "battlegrid-agent-management/references/agent-stage-examples.md": "dffcc353d61dfc7b5bb6a2b3077fc6bf8c760a34c287cafb3b59b99306f24195",
7
+ "battlegrid-arena-play/SKILL.md": "2e37970a66b8738ffbc445a23da90651c1f41b56ce4eef551582ab123517ef74",
8
+ "battlegrid-arena-play/references/entry-stage-examples.md": "0223f3743171ff213e943789d27590b2f65648398e85e10cd24938d5eb6af665",
9
9
  "battlegrid-market-analysis/SKILL.md": "fcbe98e30e1edce39bb170c224cdf20181934f62b5f3a26b293787c70eeb6229",
10
- "battlegrid-radar-deployment/SKILL.md": "652325c4923d79b9c9b78026a5493bfaaedf01f600641511438a9c4bf497c0b1",
11
- "battlegrid-radar-deployment/references/arena-stage-examples.md": "f605aaa266a291ef1b6d02a0e8885ad5df2fea88c800be2b6625cd629cd741f2",
12
- "battlegrid-radar-deployment/references/radar-stage-examples.md": "1ddad4a11f021dd65234ee65cc12d7d1561fe9acfd61cb021f4352080d4cecd5",
13
- "battlegrid-strategy-authoring/SKILL.md": "5ce41e11d50658226230cfccb70a5c5f08e52755ef737c528d98872f239b3d4e",
14
- "battlegrid-strategy-authoring/references/strategy-stage-examples.md": "9822cc2bcc8975a3e436c2a960b10e03c95e6e6b4b04bc2206e0ac90688cab66",
10
+ "battlegrid-radar-deployment/SKILL.md": "dfe8f354ac3dd426eedeac1ec080ac518e9c8cbfefdd26036afa61f80c08295c",
11
+ "battlegrid-radar-deployment/references/arena-stage-examples.md": "d27cfed1f4663f267c4a7ecebe4a6e65a450fc74bd14ce8987fb61af5bbf2ca5",
12
+ "battlegrid-radar-deployment/references/radar-stage-examples.md": "e3805f5c1b243135a7f25fb3a8cc6093dd242f8ad67b7e6b242bbdefa58a0735",
13
+ "battlegrid-strategy-authoring/SKILL.md": "39cfa46b1f640e6800edb7e85a8f2c4b6b8786cddf71bb8244d172a44fc11d75",
14
+ "battlegrid-strategy-authoring/references/strategy-stage-examples.md": "f10ecdc91f3660a708eee7a7bacefce2acbb46c9cf7e0ac1454bd54f839f39fd",
15
15
  "battlegrid-strategy-doctor/SKILL.md": "e34e055b0cc9b355bc1adeb5d49d464eaa0756ca3f48dc89ca2ccdda94e1311f",
16
16
  "battlegrid-strategy-examples/SKILL.md": "597ddacdfc00955fcfd5a1afcc40b5ea72a0f658acbbebc8264afeecc46d2306",
17
17
  "battlegrid-strategy-examples/references/playbooks.md": "2309eb7e8324f563c5b1b51e05da931b37c542484135a2be749eff6ef78aa40f",
@@ -21,14 +21,12 @@ platform seed.
21
21
 
22
22
  ```json stage_agent_draft
23
23
  {
24
- "request": {
25
- "draftVersion": 0,
26
- "axes": {
27
- "IDENTITY": { "displayName": "Breakout Scout" },
28
- "BEHAVIOR": { "behavior": { "risk": "MODERATE", "outlook": "REALIST", "conviction": "MEASURED" } },
29
- "MODEL": { "modelId": "<MODEL_ID>" },
30
- "STRATEGY_BINDING": { "strategyId": "<STRATEGY_ID>" }
31
- }
24
+ "draftVersion": 0,
25
+ "axes": {
26
+ "IDENTITY": { "displayName": "Breakout Scout" },
27
+ "BEHAVIOR": { "behavior": { "risk": "MODERATE", "outlook": "REALIST", "conviction": "MEASURED" } },
28
+ "MODEL": { "modelId": "<MODEL_ID>" },
29
+ "STRATEGY_BINDING": { "strategyId": "<STRATEGY_ID>" }
32
30
  }
33
31
  }
34
32
  ```
@@ -39,12 +37,10 @@ BEHAVIOR is sent whole: all three of risk, outlook and conviction, even when onl
39
37
 
40
38
  ```json stage_agent_draft
41
39
  {
42
- "request": {
43
- "agentId": "<AGENT_ID>",
44
- "draftVersion": 4,
45
- "axes": {
46
- "BEHAVIOR": { "behavior": { "risk": "CONSERVATIVE", "outlook": "REALIST", "conviction": "CAUTIOUS" } }
47
- }
40
+ "agentId": "<AGENT_ID>",
41
+ "draftVersion": 4,
42
+ "axes": {
43
+ "BEHAVIOR": { "behavior": { "risk": "CONSERVATIVE", "outlook": "REALIST", "conviction": "CAUTIOUS" } }
48
44
  }
49
45
  }
50
46
  ```
@@ -53,12 +49,10 @@ BEHAVIOR is sent whole: all three of risk, outlook and conviction, even when onl
53
49
 
54
50
  ```json stage_agent_draft
55
51
  {
56
- "request": {
57
- "agentId": "<AGENT_ID>",
58
- "draftVersion": 4,
59
- "axes": {
60
- "STRATEGY_BINDING": { "strategyId": "<STRATEGY_ID>" }
61
- }
52
+ "agentId": "<AGENT_ID>",
53
+ "draftVersion": 4,
54
+ "axes": {
55
+ "STRATEGY_BINDING": { "strategyId": "<STRATEGY_ID>" }
62
56
  }
63
57
  }
64
58
  ```
@@ -48,8 +48,10 @@ the enablement path there.
48
48
 
49
49
  ### 2. Workflow A reads, in order
50
50
 
51
- 1. `list_market_grid_sessions` with status `PENDING` — the sessions still enterable. **The
52
- `sessionId` you use comes from here; never fabricate one.**
51
+ 1. `list_market_grid_sessions` with status `PENDING`. A session accepts entries while it is PENDING
52
+ **and** its `lockAt` is still ahead — the status turns LIVE some time after the lock, so a session
53
+ can still read PENDING once entries have closed. **The `sessionId` you use comes from here; never
54
+ fabricate one.**
53
55
  2. `get_market_grid_session` — the coin pool (note each coin's `id`), the entry fee, the pool and
54
56
  the session's three instants: `startsAt` (the **Opening Bell** — the open of the one candle it
55
57
  scores), `lockAt` (entries close) and `settleAt` (the candle closes). Entries stay open through
@@ -60,13 +62,21 @@ the enablement path there.
60
62
  4. `check_market_grid_submission` — **before composing anything.** If a submission already exists,
61
63
  report it (with its id and time); while the session is still PENDING, a commit of the draft
62
64
  replaces its picks. Never compose a duplicate.
63
- 5. `get_market_grid_entry_draft({ request: { sessionId } })` — what the draft holds now, the player's
65
+ 5. `get_market_grid_entry_draft({ sessionId })` — what the draft holds now, the player's
64
66
  own picks included, with the `draftVersion` and `committedRevision` your stage and commit name.
65
67
  Answer "what does my grid look like" from this read, never from a pick count.
66
68
 
69
+ **Know the window before you spend it.** The first read already carries each session's `lockAt`:
70
+ compare it with the current time — in Commander, every player turn carries the time it was sent — and
71
+ tell the player how long remains before the rest of the reads use it up. A staged grid still needs the
72
+ player's PLACE ENTRY, or your commit, before the lock. A `lockAt` already behind the current time
73
+ means the session is **closed to entries even though it reads PENDING**: say so and point at the next
74
+ session rather than composing for it — a stage or commit there is refused `CONFLICT` as closed to
75
+ entries.
76
+
67
77
  ### 3. Compose — stage into the draft, and the reasoning is yours to get right
68
78
 
69
- `stage_market_grid_entry_draft({ request: { sessionId, draftVersion, axes } })`, naming the
79
+ `stage_market_grid_entry_draft({ sessionId, draftVersion, axes })`, naming the
70
80
  `draftVersion` the read returned. Each cell axis is `{ cell: { coinId, prediction } }` — `coinId` the
71
81
  pool coin's `id` — or `{ cell: null }` to empty it. **Compose on top of what the draft holds**: a cell
72
82
  you do not stage keeps the player's pick, and you never discard their picks to start over unless they
@@ -103,7 +113,7 @@ say that rather than inventing a bar), whether it meets the threshold, and the p
103
113
  `impact` — `ENTER` with the `entryFee` the commit charges, or `REPLACE` for none. One confirmation
104
114
  naming **the session, that fee, and the confidence** — then commit on an explicit pick.
105
115
 
106
- - Direct → `commit_market_grid_entry_draft({ request: { sessionId, draftVersion, expectedRevision } })`,
116
+ - Direct → `commit_market_grid_entry_draft({ sessionId, draftVersion, expectedRevision })`,
107
117
  naming exactly the `draftVersion` and `committedRevision` the last read returned (`null` with no
108
118
  entry). A refusal naming `get_draft` means the draft or the entry moved: read again and confirm
109
119
  again — never retry with a bumped number.
@@ -126,7 +136,8 @@ player's, and the attribution is part of what was scored.
126
136
  ### 5. After settlement
127
137
 
128
138
  - A session moves PENDING → LIVE → RESOLVING → SETTLED. It stays PENDING through the Opening Bell
129
- window and goes LIVE at `lockAt`. Two states sit off that path: CANCELLED
139
+ window and turns LIVE once its lock has passed; entries close at `lockAt` itself, whatever the
140
+ status reads. Two states sit off that path: CANCELLED
130
141
  (entry fees refunded) and SETTLEMENT_QUARANTINED (settlement exhausted its retries and awaits an
131
142
  operator). Either one is the answer — report it as the status.
132
143
  - `get_market_grid_results` — available only once the session is SETTLED. Before that it returns a
@@ -21,23 +21,21 @@ enter, each citing the market context you read.
21
21
 
22
22
  ```json stage_market_grid_entry_draft
23
23
  {
24
- "request": {
25
- "sessionId": "<SESSION_ID>",
26
- "draftVersion": 0,
27
- "axes": {
28
- "CELL_0": { "cell": { "coinId": "<COIN_ID>", "prediction": "UP" } },
29
- "CELL_1": { "cell": { "coinId": "<SECOND_COIN_ID>", "prediction": "DOWN" } },
30
- "CELL_2": { "cell": { "coinId": "<THIRD_COIN_ID>", "prediction": "UP" } },
31
- "RATIONALE": {
32
- "reasoning": "The leader is breaking out on rising volume while the second coin rejects its range high.",
33
- "confidenceScore": 0.7,
34
- "modelName": "your-model-name",
35
- "pickReasoning": [
36
- { "coinId": "<COIN_ID>", "reasoning": "Breaking resistance on rising volume.", "confidence": 0.8 },
37
- { "coinId": "<SECOND_COIN_ID>", "reasoning": "Bearish divergence at the range high.", "confidence": 0.6 },
38
- { "coinId": "<THIRD_COIN_ID>", "reasoning": "Holding its trend above the session open.", "confidence": 0.6 }
39
- ]
40
- }
24
+ "sessionId": "<SESSION_ID>",
25
+ "draftVersion": 0,
26
+ "axes": {
27
+ "CELL_0": { "cell": { "coinId": "<COIN_ID>", "prediction": "UP" } },
28
+ "CELL_1": { "cell": { "coinId": "<SECOND_COIN_ID>", "prediction": "DOWN" } },
29
+ "CELL_2": { "cell": { "coinId": "<THIRD_COIN_ID>", "prediction": "UP" } },
30
+ "RATIONALE": {
31
+ "reasoning": "The leader is breaking out on rising volume while the second coin rejects its range high.",
32
+ "confidenceScore": 0.7,
33
+ "modelName": "your-model-name",
34
+ "pickReasoning": [
35
+ { "coinId": "<COIN_ID>", "reasoning": "Breaking resistance on rising volume.", "confidence": 0.8 },
36
+ { "coinId": "<SECOND_COIN_ID>", "reasoning": "Bearish divergence at the range high.", "confidence": 0.6 },
37
+ { "coinId": "<THIRD_COIN_ID>", "reasoning": "Holding its trend above the session open.", "confidence": 0.6 }
38
+ ]
41
39
  }
42
40
  }
43
41
  }
@@ -51,12 +49,10 @@ that coin changed.
51
49
 
52
50
  ```json stage_market_grid_entry_draft
53
51
  {
54
- "request": {
55
- "sessionId": "<SESSION_ID>",
56
- "draftVersion": 4,
57
- "axes": {
58
- "CELL_1": { "cell": { "coinId": "<SECOND_COIN_ID>", "prediction": "UP" } }
59
- }
52
+ "sessionId": "<SESSION_ID>",
53
+ "draftVersion": 4,
54
+ "axes": {
55
+ "CELL_1": { "cell": { "coinId": "<SECOND_COIN_ID>", "prediction": "UP" } }
60
56
  }
61
57
  }
62
58
  ```
@@ -65,21 +61,19 @@ that coin changed.
65
61
 
66
62
  ```json stage_market_grid_entry_draft
67
63
  {
68
- "request": {
69
- "sessionId": "<SESSION_ID>",
70
- "draftVersion": 5,
71
- "axes": {
72
- "CELL_1": { "cell": { "coinId": "<SECOND_COIN_ID>", "prediction": "UP" } },
73
- "RATIONALE": {
74
- "reasoning": "The second coin reclaimed its range high, so it now runs with the leader.",
75
- "confidenceScore": 0.65,
76
- "modelName": "your-model-name",
77
- "pickReasoning": [
78
- { "coinId": "<COIN_ID>", "reasoning": "Breaking resistance on rising volume.", "confidence": 0.8 },
79
- { "coinId": "<SECOND_COIN_ID>", "reasoning": "Reclaimed the range high on the last close.", "confidence": 0.6 },
80
- { "coinId": "<THIRD_COIN_ID>", "reasoning": "Holding its trend above the session open.", "confidence": 0.6 }
81
- ]
82
- }
64
+ "sessionId": "<SESSION_ID>",
65
+ "draftVersion": 5,
66
+ "axes": {
67
+ "CELL_1": { "cell": { "coinId": "<SECOND_COIN_ID>", "prediction": "UP" } },
68
+ "RATIONALE": {
69
+ "reasoning": "The second coin reclaimed its range high, so it now runs with the leader.",
70
+ "confidenceScore": 0.65,
71
+ "modelName": "your-model-name",
72
+ "pickReasoning": [
73
+ { "coinId": "<COIN_ID>", "reasoning": "Breaking resistance on rising volume.", "confidence": 0.8 },
74
+ { "coinId": "<SECOND_COIN_ID>", "reasoning": "Reclaimed the range high on the last close.", "confidence": 0.6 },
75
+ { "coinId": "<THIRD_COIN_ID>", "reasoning": "Holding its trend above the session open.", "confidence": 0.6 }
76
+ ]
83
77
  }
84
78
  }
85
79
  }
@@ -105,8 +105,8 @@ is test-routing a regime. Never carry a fact from a radar conversation into it,
105
105
  on duty, whether it trades once committed, and for a first deployment the coin cap
106
106
  (`admission.coinCapReached` true means the commit will be refused until a coin is un-deployed).
107
107
  Do not confirm a draft whose diagnostics carry an error: stage a fix.
108
- 3. `preview_radar_resolution` with `request: { kind: "DRAFT", draftVersion }` at the version that read
109
- returned. It composes the draft over the deployed policy **exactly as the commit will write it**,
108
+ 3. `preview_radar_resolution({ coinId, request: { kind: "DRAFT", draftVersion } })` at the version that
109
+ read returned. It composes the draft over the deployed policy **exactly as the commit will write it**,
110
110
  and refuses a draft no longer at that version with `DRAFT_VERSION_MOVED`.
111
111
 
112
112
  To try a slot set without touching the draft, preview `{ kind: "SLOTS", slots }` — it resolves
@@ -134,8 +134,8 @@ choose. Complete stage payloads for every row are in `references/radar-stage-exa
134
134
  and `REGIME_ANCHOR` (the anchor override, or null to inherit the arena's). Pausing is never staged.
135
135
  2. `get_deployment_policy_draft` — its `draftVersion`, `committedRevision`, diff, `diagnostics` and
136
136
  `impact` (the next session's resolution and whether it will play), exactly as for Radar.
137
- 3. `preview_deployment_resolution` with `request: { kind: "DRAFT", draftVersion }` at the version
138
- that read returned.
137
+ 3. `preview_deployment_resolution({ presetId, request: { kind: "DRAFT", draftVersion } })` at the
138
+ version that read returned.
139
139
 
140
140
  A draft that would hold no rule and no catch-all is a withdrawal, which a commit never does — that is
141
141
  `delete_deployment_policy` (step 4).
@@ -239,11 +239,11 @@ the reason — and **names what the change does to the stored policy**, read fro
239
239
 
240
240
  Then:
241
241
 
242
- - **Radar** → `commit_radar_deployment_draft({ request: { coinId, draftVersion, expectedRevision } })`,
242
+ - **Radar** → `commit_radar_deployment_draft({ coinId, draftVersion, expectedRevision })`,
243
243
  naming exactly the `draftVersion` and `committedRevision` your draft read returned — the version
244
244
  your preview resolved. Ask with `ask_user` first and commit only after an explicit confirming pick.
245
245
  The axes it published leave the draft.
246
- - **Arena** → `commit_deployment_policy_draft({ request: { presetId, draftVersion, expectedRevision } })`,
246
+ - **Arena** → `commit_deployment_policy_draft({ presetId, draftVersion, expectedRevision })`,
247
247
  the same way.
248
248
 
249
249
  **On `DRAFT_VERSION_MOVED` or a CONFLICT: re-read, re-preview, re-confirm.** In that order, and all
@@ -256,7 +256,7 @@ ask for again.
256
256
 
257
257
  **Pause a coin's Radar** → `pause_radar_deployment({ coinId })`. No preview and no revision: stopping
258
258
  never waits on a read. The player's draft keeps its content and is re-based onto the paused revision.
259
- **Resume** → preview the deployed policy with `request: { kind: "COMMITTED" }`, tell the player which
259
+ **Resume** → preview the deployed policy with `preview_radar_resolution({ coinId, request: { kind: "COMMITTED" } })`, tell the player which
260
260
  agents will go on duty again, and on their word
261
261
  `resume_radar_deployment({ coinId, expectedPolicyId, expectedRevision })` naming the `policyId` and
262
262
  `revision` that preview returned — so it re-arms the policy the player was shown, or nothing.
@@ -274,8 +274,8 @@ same cancellation and refund as their own Cancel button. Say nothing is cancelle
274
274
 
275
275
  **Discard a draft** only on the player's word. Read it first and tell the player what it holds and
276
276
  when and from where it was last written; then
277
- `discard_radar_deployment_draft({ request: { coinId, draftVersion } })` or
278
- `discard_deployment_policy_draft({ request: { presetId, draftVersion } })` at **the version you read**.
277
+ `discard_radar_deployment_draft({ coinId, draftVersion })` or
278
+ `discard_deployment_policy_draft({ presetId, draftVersion })` at **the version you read**.
279
279
  If the draft moved since, it is refused with `DRAFT_VERSION_MOVED` and nothing is removed — read it
280
280
  again and show them.
281
281
 
@@ -17,13 +17,11 @@ axis you omit keeps the value the draft already has.
17
17
 
18
18
  ```json stage_deployment_policy_draft
19
19
  {
20
- "request": {
21
- "presetId": "<PRESET_ID>",
22
- "draftVersion": 0,
23
- "axes": {
24
- "DEFAULT_SLOT": {
25
- "defaultSlot": { "agentId": "<AGENT_ID>", "minConfidence": null }
26
- }
20
+ "presetId": "<PRESET_ID>",
21
+ "draftVersion": 0,
22
+ "axes": {
23
+ "DEFAULT_SLOT": {
24
+ "defaultSlot": { "agentId": "<AGENT_ID>", "minConfidence": null }
27
25
  }
28
26
  }
29
27
  }
@@ -33,19 +31,17 @@ axis you omit keeps the value the draft already has.
33
31
 
34
32
  ```json stage_deployment_policy_draft
35
33
  {
36
- "request": {
37
- "presetId": "<PRESET_ID>",
38
- "draftVersion": 0,
39
- "axes": {
40
- "RULES": {
41
- "rules": [
42
- {
43
- "agentId": "<AGENT_ID>",
44
- "minConfidence": null,
45
- "conditions": [{ "kind": "regime", "regimes": ["bull_expansion", "bull_ranging"] }]
46
- }
47
- ]
48
- }
34
+ "presetId": "<PRESET_ID>",
35
+ "draftVersion": 0,
36
+ "axes": {
37
+ "RULES": {
38
+ "rules": [
39
+ {
40
+ "agentId": "<AGENT_ID>",
41
+ "minConfidence": null,
42
+ "conditions": [{ "kind": "regime", "regimes": ["bull_expansion", "bull_ranging"] }]
43
+ }
44
+ ]
49
45
  }
50
46
  }
51
47
  }
@@ -58,21 +54,19 @@ session occurrence, never both.
58
54
 
59
55
  ```json stage_deployment_policy_draft
60
56
  {
61
- "request": {
62
- "presetId": "<PRESET_ID>",
63
- "draftVersion": 0,
64
- "axes": {
65
- "RULES": {
66
- "rules": [
67
- {
68
- "agentId": "<AGENT_ID>",
69
- "minConfidence": 0.6,
70
- "conditions": [
71
- { "kind": "session_start", "startTimes": ["14:00:00", "15:00:00"], "days": [1, 2, 3, 4, 5] }
72
- ]
73
- }
74
- ]
75
- }
57
+ "presetId": "<PRESET_ID>",
58
+ "draftVersion": 0,
59
+ "axes": {
60
+ "RULES": {
61
+ "rules": [
62
+ {
63
+ "agentId": "<AGENT_ID>",
64
+ "minConfidence": 0.6,
65
+ "conditions": [
66
+ { "kind": "session_start", "startTimes": ["14:00:00", "15:00:00"], "days": [1, 2, 3, 4, 5] }
67
+ ]
68
+ }
69
+ ]
76
70
  }
77
71
  }
78
72
  }
@@ -82,22 +76,20 @@ session occurrence, never both.
82
76
 
83
77
  ```json stage_deployment_policy_draft
84
78
  {
85
- "request": {
86
- "presetId": "<PRESET_ID>",
87
- "draftVersion": 0,
88
- "axes": {
89
- "RULES": {
90
- "rules": [
91
- {
92
- "agentId": "<AGENT_ID>",
93
- "minConfidence": null,
94
- "conditions": [
95
- { "kind": "regime", "regimes": ["volatile"] },
96
- { "kind": "session_start", "startTimes": ["14:00:00"], "days": [1, 2, 3, 4, 5] }
97
- ]
98
- }
99
- ]
100
- }
79
+ "presetId": "<PRESET_ID>",
80
+ "draftVersion": 0,
81
+ "axes": {
82
+ "RULES": {
83
+ "rules": [
84
+ {
85
+ "agentId": "<AGENT_ID>",
86
+ "minConfidence": null,
87
+ "conditions": [
88
+ { "kind": "regime", "regimes": ["volatile"] },
89
+ { "kind": "session_start", "startTimes": ["14:00:00"], "days": [1, 2, 3, 4, 5] }
90
+ ]
91
+ }
92
+ ]
101
93
  }
102
94
  }
103
95
  }
@@ -110,12 +102,10 @@ come together, or not at all.
110
102
 
111
103
  ```json stage_deployment_policy_draft
112
104
  {
113
- "request": {
114
- "presetId": "<PRESET_ID>",
115
- "draftVersion": 2,
116
- "axes": {
117
- "REGIME_ANCHOR": { "regimeAnchor": { "regimeReferenceCoinId": "<COIN_ID>", "regimeTimeframe": "4h" } }
118
- }
105
+ "presetId": "<PRESET_ID>",
106
+ "draftVersion": 2,
107
+ "axes": {
108
+ "REGIME_ANCHOR": { "regimeAnchor": { "regimeReferenceCoinId": "<COIN_ID>", "regimeTimeframe": "4h" } }
119
109
  }
120
110
  }
121
111
  ```
@@ -126,12 +116,10 @@ The arena's own anchor applies again.
126
116
 
127
117
  ```json stage_deployment_policy_draft
128
118
  {
129
- "request": {
130
- "presetId": "<PRESET_ID>",
131
- "draftVersion": 2,
132
- "axes": {
133
- "REGIME_ANCHOR": { "regimeAnchor": null }
134
- }
119
+ "presetId": "<PRESET_ID>",
120
+ "draftVersion": 2,
121
+ "axes": {
122
+ "REGIME_ANCHOR": { "regimeAnchor": null }
135
123
  }
136
124
  }
137
125
  ```
@@ -21,12 +21,10 @@ on this coin" with no condition named.
21
21
 
22
22
  ```json stage_radar_deployment_draft
23
23
  {
24
- "request": {
25
- "coinId": "<COIN_ID>",
26
- "draftVersion": 0,
27
- "axes": {
28
- "DEFAULT_SLOT": { "defaultSlot": { "agentId": "<AGENT_ID>", "minConviction": null } }
29
- }
24
+ "coinId": "<COIN_ID>",
25
+ "draftVersion": 0,
26
+ "axes": {
27
+ "DEFAULT_SLOT": { "defaultSlot": { "agentId": "<AGENT_ID>", "minConviction": null } }
30
28
  }
31
29
  }
32
30
  ```
@@ -38,21 +36,19 @@ regime condition is the regime-reading floor, and must be a level one of the sel
38
36
 
39
37
  ```json stage_radar_deployment_draft
40
38
  {
41
- "request": {
42
- "coinId": "<COIN_ID>",
43
- "draftVersion": 0,
44
- "axes": {
45
- "RULES": {
46
- "rules": [
47
- {
48
- "agentId": "<AGENT_ID>",
49
- "minConviction": null,
50
- "conditions": [
51
- { "kind": "regime", "regimes": ["bull_expansion", "bull_ranging"], "minConviction": "high" }
52
- ]
53
- }
54
- ]
55
- }
39
+ "coinId": "<COIN_ID>",
40
+ "draftVersion": 0,
41
+ "axes": {
42
+ "RULES": {
43
+ "rules": [
44
+ {
45
+ "agentId": "<AGENT_ID>",
46
+ "minConviction": null,
47
+ "conditions": [
48
+ { "kind": "regime", "regimes": ["bull_expansion", "bull_ranging"], "minConviction": "high" }
49
+ ]
50
+ }
51
+ ]
56
52
  }
57
53
  }
58
54
  }
@@ -64,21 +60,19 @@ Hours are UTC, 0–23. Days run 0 (Sunday) to 6. Each is listed once.
64
60
 
65
61
  ```json stage_radar_deployment_draft
66
62
  {
67
- "request": {
68
- "coinId": "<COIN_ID>",
69
- "draftVersion": 0,
70
- "axes": {
71
- "RULES": {
72
- "rules": [
73
- {
74
- "agentId": "<AGENT_ID>",
75
- "minConviction": null,
76
- "conditions": [
77
- { "kind": "hours", "hours": [13, 14, 15, 16, 17, 18, 19, 20], "days": [1, 2, 3, 4, 5] }
78
- ]
79
- }
80
- ]
81
- }
63
+ "coinId": "<COIN_ID>",
64
+ "draftVersion": 0,
65
+ "axes": {
66
+ "RULES": {
67
+ "rules": [
68
+ {
69
+ "agentId": "<AGENT_ID>",
70
+ "minConviction": null,
71
+ "conditions": [
72
+ { "kind": "hours", "hours": [13, 14, 15, 16, 17, 18, 19, 20], "days": [1, 2, 3, 4, 5] }
73
+ ]
74
+ }
75
+ ]
82
76
  }
83
77
  }
84
78
  }
@@ -88,22 +82,20 @@ Hours are UTC, 0–23. Days run 0 (Sunday) to 6. Each is listed once.
88
82
 
89
83
  ```json stage_radar_deployment_draft
90
84
  {
91
- "request": {
92
- "coinId": "<COIN_ID>",
93
- "draftVersion": 0,
94
- "axes": {
95
- "RULES": {
96
- "rules": [
97
- {
98
- "agentId": "<AGENT_ID>",
99
- "minConviction": 0.6,
100
- "conditions": [
101
- { "kind": "hours", "hours": [13, 14, 15, 16], "days": [1, 2, 3, 4, 5] },
102
- { "kind": "regime", "regimes": ["volatile"] }
103
- ]
104
- }
105
- ]
106
- }
85
+ "coinId": "<COIN_ID>",
86
+ "draftVersion": 0,
87
+ "axes": {
88
+ "RULES": {
89
+ "rules": [
90
+ {
91
+ "agentId": "<AGENT_ID>",
92
+ "minConviction": 0.6,
93
+ "conditions": [
94
+ { "kind": "hours", "hours": [13, 14, 15, 16], "days": [1, 2, 3, 4, 5] },
95
+ { "kind": "regime", "regimes": ["volatile"] }
96
+ ]
97
+ }
98
+ ]
107
99
  }
108
100
  }
109
101
  }
@@ -117,21 +109,19 @@ first agent's regimes.
117
109
 
118
110
  ```json stage_radar_deployment_draft
119
111
  {
120
- "request": {
121
- "coinId": "<COIN_ID>",
122
- "draftVersion": 0,
123
- "axes": {
124
- "RULES": {
125
- "rules": [
126
- {
127
- "agentId": "<AGENT_ID>",
128
- "minConviction": null,
129
- "conditions": [{ "kind": "regime", "regimes": ["bear_expansion", "bear_ranging"] }]
130
- }
131
- ]
132
- },
133
- "DEFAULT_SLOT": { "defaultSlot": { "agentId": "<OTHER_AGENT_ID>", "minConviction": null } }
134
- }
112
+ "coinId": "<COIN_ID>",
113
+ "draftVersion": 0,
114
+ "axes": {
115
+ "RULES": {
116
+ "rules": [
117
+ {
118
+ "agentId": "<AGENT_ID>",
119
+ "minConviction": null,
120
+ "conditions": [{ "kind": "regime", "regimes": ["bear_expansion", "bear_ranging"] }]
121
+ }
122
+ ]
123
+ },
124
+ "DEFAULT_SLOT": { "defaultSlot": { "agentId": "<OTHER_AGENT_ID>", "minConviction": null } }
135
125
  }
136
126
  }
137
127
  ```
@@ -144,12 +134,10 @@ returned.
144
134
 
145
135
  ```json stage_radar_deployment_draft
146
136
  {
147
- "request": {
148
- "coinId": "<COIN_ID>",
149
- "draftVersion": 3,
150
- "axes": {
151
- "DEFAULT_SLOT": { "defaultSlot": null }
152
- }
137
+ "coinId": "<COIN_ID>",
138
+ "draftVersion": 3,
139
+ "axes": {
140
+ "DEFAULT_SLOT": { "defaultSlot": null }
153
141
  }
154
142
  }
155
143
  ```
@@ -185,13 +185,13 @@ skill stays the authority on the flow.
185
185
 
186
186
  ### 4. Stage, and iterate on the diagnostics
187
187
 
188
- **Every change goes through the strategy's draft.** `stage_strategy_draft` takes, inside its
189
- `request`, the `strategyId`, the `draftVersion` your last read returned (0 when there was none) and
190
- the `axes` you propose. It writes those axes into the player's draft — attributed to you, landing in
191
- their builder as unsaved changes — and commits nothing. Each stage returns the draft's new
192
- `version`: that is the `draftVersion` your next stage names. Stage each change once, and never fire
193
- two stages in parallel against one draft. Complete stage payloads showing the envelope are in
194
- `references/strategy-stage-examples.md`.
188
+ **Every change goes through the strategy's draft.**
189
+ `stage_strategy_draft({ strategyId, draftVersion, axes })` takes the `strategyId`, the `draftVersion`
190
+ your last read returned (0 when there was none) and the `axes` you propose. It writes those axes into
191
+ the player's draft — attributed to you, landing in their builder as unsaved changes — and commits
192
+ nothing. Each stage returns the draft's new `version`: that is the `draftVersion` your next stage
193
+ names. Stage each change once, and never fire two stages in parallel against one draft. Complete
194
+ stage payloads are in `references/strategy-stage-examples.md`.
195
195
 
196
196
  **A new strategy is a create draft.** Omit `strategyId` and send `draftVersion: 0` on the first
197
197
  stage; the response carries the id minted for it, which every later call names. A create needs
@@ -1,10 +1,11 @@
1
1
  # Strategy stage examples
2
2
 
3
- `strategyId` and `draftVersion` sit beside `axes`, inside `request` — never inside `axes`. Every example below is
4
- checked in CI against the live `stage_strategy_draft` schema; a create example is also checked for the axes a new
5
- strategy needs. Its shape is current.
3
+ Each example is the tool's whole input: `strategyId` and `draftVersion` sit at the top level beside `axes`, never
4
+ inside `axes`. Every example below is checked in CI against the live
5
+ `stage_strategy_draft` schema; a create example is also checked for the axes a new strategy needs. Its shape is
6
+ current.
6
7
 
7
- These examples show the envelope and the small axes. A full composition (report sections, conditions, trade
8
+ These examples show the input's shape and the small axes. A full composition (report sections, conditions, trade
8
9
  levels) is in `strategy-examples`' playbooks, which have their own compile gate.
9
10
 
10
11
  Every `<UPPER_SNAKE>` value is a placeholder: `<STRATEGY_ID>` is the id a read returned. Never send a placeholder as
@@ -19,16 +20,14 @@ and TIMEFRAME_PROFILE before it can be created.
19
20
 
20
21
  ```json stage_strategy_draft
21
22
  {
22
- "request": {
23
- "draftVersion": 0,
24
- "axes": {
25
- "IDENTITY": {
26
- "name": "Squeeze Breakout",
27
- "description": "Enters when a volatility squeeze resolves upward on rising volume.",
28
- "tagline": "Buys the release of a tight range"
29
- },
30
- "TIMEFRAME_PROFILE": { "timeframe": "1h" }
31
- }
23
+ "draftVersion": 0,
24
+ "axes": {
25
+ "IDENTITY": {
26
+ "name": "Squeeze Breakout",
27
+ "description": "Enters when a volatility squeeze resolves upward on rising volume.",
28
+ "tagline": "Buys the release of a tight range"
29
+ },
30
+ "TIMEFRAME_PROFILE": { "timeframe": "1h" }
32
31
  }
33
32
  }
34
33
  ```
@@ -40,16 +39,14 @@ a coin must clear before any condition is read; the other three are the stop-los
40
39
 
41
40
  ```json stage_strategy_draft
42
41
  {
43
- "request": {
44
- "strategyId": "<STRATEGY_ID>",
45
- "draftVersion": 2,
46
- "axes": {
47
- "TRADE_LEVEL_POLICY": {
48
- "minStopLossAtrMultiple": 1,
49
- "maxStopLossAtrMultiple": 2,
50
- "minRiskRewardRatio": 1.5,
51
- "minAtrPct": 0.8
52
- }
42
+ "strategyId": "<STRATEGY_ID>",
43
+ "draftVersion": 2,
44
+ "axes": {
45
+ "TRADE_LEVEL_POLICY": {
46
+ "minStopLossAtrMultiple": 1,
47
+ "maxStopLossAtrMultiple": 2,
48
+ "minRiskRewardRatio": 1.5,
49
+ "minAtrPct": 0.8
53
50
  }
54
51
  }
55
52
  }