@senpi/runtime 3.0.3-dev.runtime-phase-2.20260625210428 → 3.0.4-dev.runtime-phase-2.20260626011132

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.
Files changed (55) hide show
  1. package/dist/actions/decision-engine.js +1 -1
  2. package/dist/actions/open-position/open-position.action.d.ts.map +1 -1
  3. package/dist/actions/open-position/open-position.action.js +21 -12
  4. package/dist/actions/open-position/open-position.action.js.map +1 -1
  5. package/dist/actions/open-position/resolve-margin.d.ts +18 -3
  6. package/dist/actions/open-position/resolve-margin.d.ts.map +1 -1
  7. package/dist/actions/open-position/resolve-margin.js +22 -9
  8. package/dist/actions/open-position/resolve-margin.js.map +1 -1
  9. package/dist/cli/guide-commands.d.ts.map +1 -1
  10. package/dist/cli/guide-commands.js +21 -3
  11. package/dist/cli/guide-commands.js.map +1 -1
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +7 -3
  14. package/dist/index.js.map +1 -1
  15. package/dist/runtime-api/intake/intake-mount.d.ts.map +1 -1
  16. package/dist/runtime-api/intake/intake-mount.js +10 -1
  17. package/dist/runtime-api/intake/intake-mount.js.map +1 -1
  18. package/dist/runtime-api/intake/types.d.ts +5 -6
  19. package/dist/runtime-api/intake/types.d.ts.map +1 -1
  20. package/dist/runtime-api/routes/signals.d.ts.map +1 -1
  21. package/dist/runtime-api/routes/signals.js +3 -2
  22. package/dist/runtime-api/routes/signals.js.map +1 -1
  23. package/dist/runtime-api/routes/signals.schema.d.ts +1 -2
  24. package/dist/runtime-api/routes/signals.schema.d.ts.map +1 -1
  25. package/dist/runtime-api/routes/signals.schema.js +5 -3
  26. package/dist/runtime-api/routes/signals.schema.js.map +1 -1
  27. package/dist/scanners/external/scaffold/delivery.py +19 -0
  28. package/dist/scanners/external/scaffold/signal_envelope.py +57 -19
  29. package/dist/scanners/external-scanner-receiver.d.ts +9 -3
  30. package/dist/scanners/external-scanner-receiver.d.ts.map +1 -1
  31. package/dist/scanners/external-scanner-receiver.js +13 -5
  32. package/dist/scanners/external-scanner-receiver.js.map +1 -1
  33. package/dist/scanners/providers/factory.js +7 -2
  34. package/dist/scanners/providers/factory.js.map +1 -1
  35. package/dist/strategy/strategy-state.js +5 -0
  36. package/dist/strategy/strategy-state.js.map +1 -1
  37. package/dist/types/scanner.d.ts +12 -3
  38. package/dist/types/scanner.d.ts.map +1 -1
  39. package/examples/strategies/iguana/README.md +4 -4
  40. package/examples/strategies/iguana/recipe.yaml +1 -1
  41. package/examples/strategies/iguana/scanners/scan.py +4 -5
  42. package/examples/strategies/raptor/README.md +2 -2
  43. package/examples/strategies/raptor/recipe.yaml +1 -1
  44. package/examples/strategies/raptor/scanners/scan.py +5 -6
  45. package/examples/strategies/spider/README.md +3 -3
  46. package/examples/strategies/spider/scalp/recipe.yaml +1 -1
  47. package/examples/strategies/spider/scalp/scanners/scan.py +1 -1
  48. package/examples/strategies/spider/swing/recipe.yaml +1 -1
  49. package/examples/strategies/spider/swing/scanners/scan.py +3 -3
  50. package/examples/strategies/turbine/README.md +12 -9
  51. package/examples/strategies/turbine/recipe-runners.yaml +2 -2
  52. package/examples/strategies/turbine/recipe-volume.yaml +2 -2
  53. package/examples/strategies/turbine/scanners/scan.py +10 -6
  54. package/openclaw.plugin.json +1 -1
  55. package/package.json +1 -1
@@ -12,6 +12,12 @@ import type { ScannerId, Signal } from "./types.js";
12
12
  export interface ExternalScannerIngestRequest {
13
13
  /** Configured runtime scanner name. */
14
14
  scanner: ScannerId;
15
+ /**
16
+ * Producer-minted idempotency key from intake (the scaffold journal eid).
17
+ * Observability only — threaded onto the built `Signal` so one signal is
18
+ * greppable across the intake→ingest hops. Never sizes/gates/routes a trade.
19
+ */
20
+ signal_id?: string;
15
21
  /** Asset for a single ingested signal. */
16
22
  asset?: string;
17
23
  /** Optional direction for a single ingested signal. */
@@ -20,8 +26,8 @@ export interface ExternalScannerIngestRequest {
20
26
  score?: number;
21
27
  /** Optional single-signal classification override. */
22
28
  signal_type?: string;
23
- /** Optional canonical per-signal USD margin (overrides config sizing). */
24
- marginUsd?: number;
29
+ /** Optional per-signal margin as a percent (0–100) of withdrawable (overrides config sizing). */
30
+ marginPct?: number;
25
31
  /** Optional per-signal leverage override (overrides config default). */
26
32
  leverage?: number;
27
33
  /**
@@ -50,7 +56,7 @@ export interface ExternalScannerIngestSignalItem {
50
56
  direction?: Signal["direction"];
51
57
  score?: number;
52
58
  signal_type?: string;
53
- marginUsd?: number;
59
+ marginPct?: number;
54
60
  leverage?: number;
55
61
  data: Record<string, unknown>;
56
62
  }
@@ -1 +1 @@
1
- {"version":3,"file":"external-scanner-receiver.d.ts","sourceRoot":"","sources":["../../src/scanners/external-scanner-receiver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"external-scanner-receiver.d.ts","sourceRoot":"","sources":["../../src/scanners/external-scanner-receiver.ts"],"names":[],"mappings":"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"}
@@ -83,8 +83,9 @@ function prepareSingleSignalIngest(options) {
83
83
  direction: request.direction,
84
84
  score: request.score,
85
85
  signalType: request.signal_type,
86
- marginUsd: request.marginUsd,
86
+ marginPct: request.marginPct,
87
87
  leverage: request.leverage,
88
+ signalId: request.signal_id,
88
89
  data: request.data,
89
90
  defaultSignalType: options.defaultSignalType,
90
91
  timestamp: options.timestamp,
@@ -137,7 +138,7 @@ function prepareBatchSignalIngest(options) {
137
138
  direction: item.direction,
138
139
  score: item.score,
139
140
  signalType: item.signal_type,
140
- marginUsd: item.marginUsd,
141
+ marginPct: item.marginPct,
141
142
  leverage: item.leverage,
142
143
  data: item.data,
143
144
  defaultSignalType: options.defaultSignalType,
@@ -224,10 +225,17 @@ function buildNormalizedSignal(options) {
224
225
  factors: {},
225
226
  meta: structuredClone(options.data),
226
227
  };
228
+ // Carry the producer idempotency key for cross-hop grep (observability only).
229
+ if (typeof options.signalId === "string" && options.signalId.length > 0) {
230
+ signal.signal_id = options.signalId;
231
+ }
227
232
  // Canonical per-signal sizing/leverage ride at the top level (not in meta),
228
- // so the open action consumes them directly. Only positive numbers are kept.
229
- if (typeof options.marginUsd === "number" && options.marginUsd > 0) {
230
- signal.marginUsd = options.marginUsd;
233
+ // so the open action consumes them directly. Only in-range values are kept.
234
+ // marginPct is a percent of withdrawable (0–100].
235
+ if (typeof options.marginPct === "number" &&
236
+ options.marginPct > 0 &&
237
+ options.marginPct <= 100) {
238
+ signal.marginPct = options.marginPct;
231
239
  }
232
240
  if (typeof options.leverage === "number" && options.leverage > 0) {
233
241
  signal.leverage = options.leverage;
@@ -1 +1 @@
1
- {"version":3,"file":"external-scanner-receiver.js","sourceRoot":"","sources":["../../src/scanners/external-scanner-receiver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"external-scanner-receiver.js","sourceRoot":"","sources":["../../src/scanners/external-scanner-receiver.ts"],"names":[],"mappings":"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"}
@@ -43,7 +43,7 @@ export function createSenpiScannerProviders(options) {
43
43
  });
44
44
  return null;
45
45
  }
46
- const state = normalizeClearingHouseState(raw);
46
+ const state = normalizeClearingHouseState(raw, logger);
47
47
  if (clearingHouseStaleness.isStale(address, state.time)) {
48
48
  logger.warn("getClearingHouseState: discarding stale response", {
49
49
  address,
@@ -208,12 +208,15 @@ function cacheKey(prefix, ...parts) {
208
208
  * The MCP response is expected to be keyed by venue, for example:
209
209
  * `{ main: { crossMarginSummary, withdrawable, assetPositions }, xyz: { ... } }`.
210
210
  */
211
- function normalizeClearingHouseState(raw) {
211
+ function normalizeClearingHouseState(raw, logger) {
212
212
  const unwrapped = unwrapEnvelope(raw);
213
213
  const data = (unwrapped && typeof unwrapped === "object" ? unwrapped : {});
214
214
  const totals = emptyDexSummaryTotals();
215
215
  const time = extractMinClearingHouseTime(data);
216
216
  const positions = [];
217
+ // Per-dex sections folded into the aggregate — logged below so a dual-DEX
218
+ // double-count (max() vs sum() regression) is visible at a glance.
219
+ const foldedDexes = [];
217
220
  for (const [dexKey, dexValue] of Object.entries(data)) {
218
221
  if (!isRecord(dexValue)) {
219
222
  continue;
@@ -222,6 +225,7 @@ function normalizeClearingHouseState(raw) {
222
225
  // fields with max() (not sum()) so the liquidation-watchdog reads true equity.
223
226
  const summary = dexValue.crossMarginSummary;
224
227
  foldDexSummary(totals, isRecord(summary) ? summary : undefined, dexValue.withdrawable);
228
+ foldedDexes.push(`${dexKey}(av=${isRecord(summary) ? asNumber(summary.accountValue) : undefined},wd=${asNumber(dexValue.withdrawable)})`);
225
229
  const assetPositions = dexValue.assetPositions;
226
230
  if (!Array.isArray(assetPositions)) {
227
231
  continue;
@@ -261,6 +265,7 @@ function normalizeClearingHouseState(raw) {
261
265
  });
262
266
  }
263
267
  }
268
+ logger?.debug(`clearinghouse ${foldedDexes.join(" ")} -> accountValue=${totals.accountValue} withdrawable=${totals.withdrawable}`);
264
269
  return {
265
270
  accountValue: totals.accountValue,
266
271
  totalMarginUsed: totals.totalMarginUsed,
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../src/scanners/providers/factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../src/scanners/providers/factory.ts"],"names":[],"mappings":"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"}
@@ -248,6 +248,9 @@ function parseClearinghouseState(raw, address, warnedMalformedFields) {
248
248
  const totals = emptyDexSummaryTotals();
249
249
  const time = extractMinClearingHouseTime(raw);
250
250
  const positions = [];
251
+ // Per-dex sections folded into the aggregate — logged below so a dual-DEX
252
+ // double-count (max() vs sum() regression) is visible at a glance.
253
+ const foldedDexes = [];
251
254
  for (const [dexKey, dexVal] of Object.entries(raw)) {
252
255
  if (!isRecord(dexVal))
253
256
  continue;
@@ -257,6 +260,7 @@ function parseClearinghouseState(raw, address, warnedMalformedFields) {
257
260
  // (not sum()) so margin_pct sizing reads true equity, not 2× the shared pool.
258
261
  const summary = dexObj.crossMarginSummary;
259
262
  foldDexSummary(totals, isRecord(summary) ? summary : undefined, dexObj.withdrawable);
263
+ foldedDexes.push(`${dexKey}(av=${isRecord(summary) ? asNumber(summary.accountValue) : undefined},wd=${asNumber(dexObj.withdrawable)})`);
260
264
  // Positions from assetPositions
261
265
  const assetPositions = dexObj.assetPositions;
262
266
  if (!Array.isArray(assetPositions))
@@ -295,6 +299,7 @@ function parseClearinghouseState(raw, address, warnedMalformedFields) {
295
299
  });
296
300
  }
297
301
  }
302
+ logger.debug(`clearinghouse ${foldedDexes.join(" ")} -> accountValue=${totals.accountValue} withdrawable=${totals.withdrawable}`, { address });
298
303
  return {
299
304
  accountValue: totals.accountValue,
300
305
  totalMarginUsed: totals.totalMarginUsed,
@@ -1 +1 @@
1
- {"version":3,"file":"strategy-state.js","sourceRoot":"","sources":["../../src/strategy/strategy-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"strategy-state.js","sourceRoot":"","sources":["../../src/strategy/strategy-state.ts"],"names":[],"mappings":"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"}
@@ -35,12 +35,21 @@ export interface Signal {
35
35
  /** Extra scanner-specific metadata for downstream consumers. */
36
36
  meta: Record<string, unknown>;
37
37
  /**
38
- * Canonical per-signal USD margin (not a percent). When a producer/LLM sets it,
39
- * the open action sizes the position to this value, overriding config sizing.
38
+ * Per-signal margin as a percent (0–100) of withdrawable. When set, the open
39
+ * action sizes the position to `marginPct% × withdrawable`, overriding config
40
+ * sizing. Same basis + units as config `margin_pct`.
40
41
  */
41
- marginUsd?: number;
42
+ marginPct?: number;
42
43
  /** Per-signal leverage override. When set, overrides config default leverage. */
43
44
  leverage?: number;
45
+ /**
46
+ * Producer-minted idempotency key carried from intake (the scaffold journal eid).
47
+ * Present on signals built from a supervised external-scanner ingest; absent on
48
+ * internally-produced signals. Observability only — used to grep one signal across
49
+ * the intake→ingest hops; it does not survive the decision engine and never sizes,
50
+ * gates, or routes a trade.
51
+ */
52
+ signal_id?: string;
44
53
  }
45
54
  /** Canonical persisted execution result produced by the engine. */
46
55
  export interface ScanResult {
@@ -1 +1 @@
1
- {"version":3,"file":"scanner.d.ts","sourceRoot":"","sources":["../../src/types/scanner.ts"],"names":[],"mappings":"AAEA,6EAA6E;AAC7E,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAC/B,2CAA2C;AAC3C,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC;AAIhC,uEAAuE;AACvE,oBAAY,UAAU;IACpB,EAAE,OAAO;IACT,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,KAAK,UAAU;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,MAAM;IACrB,0DAA0D;IAC1D,OAAO,EAAE,MAAM,CAAC;IAChB,mDAAmD;IACnD,SAAS,EAAE,SAAS,CAAC;IACrB,mEAAmE;IACnE,UAAU,EAAE,MAAM,CAAC;IACnB,8CAA8C;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd,4DAA4D;IAC5D,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;IACnC,6CAA6C;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,0DAA0D;IAC1D,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,gEAAgE;IAChE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iFAAiF;IACjF,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,mEAAmE;AACnE,MAAM,WAAW,UAAU;IACzB,qDAAqD;IACrD,OAAO,EAAE,MAAM,CAAC;IAChB,oCAAoC;IACpC,SAAS,EAAE,SAAS,CAAC;IACrB,0DAA0D;IAC1D,MAAM,EAAE,UAAU,CAAC;IACnB,6CAA6C;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,iCAAiC;IACjC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,oDAAoD;IACpD,eAAe,EAAE,MAAM,CAAC;IACxB,sCAAsC;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,8CAA8C;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC"}
1
+ {"version":3,"file":"scanner.d.ts","sourceRoot":"","sources":["../../src/types/scanner.ts"],"names":[],"mappings":"AAEA,6EAA6E;AAC7E,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAC/B,2CAA2C;AAC3C,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC;AAIhC,uEAAuE;AACvE,oBAAY,UAAU;IACpB,EAAE,OAAO;IACT,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,KAAK,UAAU;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,MAAM;IACrB,0DAA0D;IAC1D,OAAO,EAAE,MAAM,CAAC;IAChB,mDAAmD;IACnD,SAAS,EAAE,SAAS,CAAC;IACrB,mEAAmE;IACnE,UAAU,EAAE,MAAM,CAAC;IACnB,8CAA8C;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd,4DAA4D;IAC5D,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;IACnC,6CAA6C;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,0DAA0D;IAC1D,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,gEAAgE;IAChE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iFAAiF;IACjF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,mEAAmE;AACnE,MAAM,WAAW,UAAU;IACzB,qDAAqD;IACrD,OAAO,EAAE,MAAM,CAAC;IAChB,oCAAoC;IACpC,SAAS,EAAE,SAAS,CAAC;IACrB,0DAA0D;IAC1D,MAAM,EAAE,UAAU,CAAC;IACnB,6CAA6C;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,iCAAiC;IACjC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,oDAAoD;IACpD,eAAe,EAAE,MAAM,CAAC;IACxB,sCAAsC;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,8CAA8C;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC"}
@@ -34,9 +34,9 @@ in the source repo and are ported **verbatim** into `scoring.py`.
34
34
  Sizing rides on each signal's `data{}` so the `OPEN_POSITION` rule action sizes
35
35
  identically to the source:
36
36
 
37
- - **marginUsd** = `account_value × marginPct`, `marginPct` **0.20**. Dual-DEX
38
- equity is collapsed via **`max()` not `sum()`** — one cross-margined wallet,
39
- two sub-DEX views (summing double-counts the shared free balance → 2x sizing).
37
+ - **marginPct** = percent of withdrawable (0–100): **20.0**. Dual-DEX equity is
38
+ collapsed via **`max()` not `sum()`** — one cross-margined wallet, two sub-DEX
39
+ views (summing double-counts the shared free balance → 2x sizing).
40
40
  - **leverage** = `min(config leverage 3, MAX_LEVERAGE 5)`.
41
41
 
42
42
  MCP tools used (all **read-only**): `market_get_asset_data` (4h candles),
@@ -109,7 +109,7 @@ map for the next tick.
109
109
  ### Action gate: `decision_mode: llm` → `rule`
110
110
 
111
111
  The source `OPEN_POSITION` action used `decision_mode: llm` with a pass-through
112
- prompt that copied the signal's `asset`/`direction`/`leverage`/`marginUsd`
112
+ prompt that copied the signal's `asset`/`direction`/`leverage`/`marginPct`
113
113
  verbatim and pinned confidence — a rule wearing an LLM costume. This recipe uses
114
114
  `decision_mode: rule` directly.
115
115
 
@@ -25,7 +25,7 @@ description: >
25
25
  strategy:
26
26
  wallet: "${IGUANA_WALLET}"
27
27
  slots: 1 # source slots 1 (iguana emits <=1 signal/tick — two assets, one decision)
28
- margin_pct: 20 # source margin_pct 20 (% of account per slot; scan.py carries the exact marginUsd)
28
+ margin_pct: 20 # source margin_pct 20 (% of account per slot; scan.py carries the exact marginPct)
29
29
  default_leverage: 3 # source leverage 3 (capped at MAX_LEVERAGE 5 in scan.py)
30
30
  trading_risk: conservative # source trading_risk conservative
31
31
  enabled: true
@@ -29,9 +29,9 @@ ceiling on purpose.
29
29
 
30
30
  Sizing — carried on each signal's data{} so the OPEN_POSITION rule action sizes
31
31
  identically to the source:
32
- - marginUsd = round(account_value * marginPct, 2), marginPct 0.20. Dual-DEX
33
- equity is collapsed via max() (NOT sum()) — one cross-margined wallet, two
34
- sub-DEX views; summing double-counts free balance -> 2x sizing.
32
+ - marginPct = percent of withdrawable (0–100), 20.0. Dual-DEX equity is
33
+ collapsed via max() (NOT sum()) — one cross-margined wallet, two sub-DEX
34
+ views; summing double-counts free balance -> 2x sizing.
35
35
  - leverage = min(config leverage 3, MAX_LEVERAGE 5).
36
36
 
37
37
  FLAGS — behaviors that changed under the v2 contract (NOT silent drops):
@@ -206,13 +206,12 @@ def scan(inputs, ctx):
206
206
  if thesis is not None and thesis["score"] >= min_score:
207
207
  coin = thesis["coin"]
208
208
  if coin.upper() not in held_set:
209
- margin_usd = round(account_value * margin_pct, 2)
210
209
  # Stamp the 240s recent-signal dedup so we don't re-emit.
211
210
  recent[coin.upper()] = now
212
211
  out.append({
213
212
  "asset": coin,
214
213
  "direction": thesis["direction"],
215
- "marginUsd": float(margin_usd),
214
+ "marginPct": round(margin_pct * 100, 2),
216
215
  "leverage": float(leverage),
217
216
  "data": {
218
217
  "score": thesis["score"],
@@ -41,8 +41,8 @@ Quality-first copy-follow pipeline, run once per tick:
41
41
  Sizing rides on each signal's `data{}` so the `OPEN_POSITION` rule action sizes
42
42
  identically to the source:
43
43
 
44
- - **marginUsd** = `account_value × margin_pct`, `margin_pct` **0.25** (**0.35**
45
- if `score ≥ 10`). Dual-DEX equity is collapsed via **`max()` not `sum()`** —
44
+ - **marginPct** = percent of withdrawable (0–100): **25.0** (**35.0** if
45
+ `score ≥ 10`). Dual-DEX equity is collapsed via **`max()` not `sum()`** —
46
46
  one cross-margined wallet, two sub-DEX views.
47
47
  - **leverage** = conviction tier (**≥10 → 10x, ≥8 → 8x, ≥6 → 7x**), clamped to
48
48
  the per-asset Hyperliquid venue max via `strategy_get_asset_trading_limits`.
@@ -30,7 +30,7 @@ description: >
30
30
  strategy:
31
31
  wallet: "${RAPTOR_WALLET}"
32
32
  slots: 2 # source slots 2 (raptor still emits <=1 signal/tick — see scan.py)
33
- margin_pct: 25 # source margin_pct 25 (% of account per slot; scan.py carries the exact marginUsd)
33
+ margin_pct: 25 # source margin_pct 25 (% of account per slot; scan.py carries the exact marginPct)
34
34
  default_leverage: 7 # source leverage.default 7 (conviction-tier 7/8/10x in scan.py, clamped per-asset)
35
35
  trading_risk: moderate # source trading_risk moderate
36
36
  enabled: true
@@ -36,9 +36,9 @@ emission ceiling on purpose.
36
36
 
37
37
  Sizing — carried on each signal's data{} so the OPEN_POSITION rule action sizes
38
38
  identically to the source:
39
- - marginUsd = round(account_value * margin_pct), margin_pct 0.25 (0.35 if
40
- score >= 10). Dual-DEX equity is collapsed via max() (NOT sum()) — one
41
- cross-margined wallet, two sub-DEX views; summing double-counts free balance.
39
+ - marginPct = percent of withdrawable (0–100), 25.0 (35.0 if score >= 10).
40
+ Dual-DEX equity is collapsed via max() (NOT sum()) — one cross-margined
41
+ wallet, two sub-DEX views; summing double-counts free balance.
42
42
  - leverage = conviction tier (>=10 -> 10x, >=8 -> 8x, >=6 -> 7x), clamped to
43
43
  the per-asset Hyperliquid venue max via strategy_get_asset_trading_limits.
44
44
 
@@ -297,9 +297,8 @@ def scan(inputs, ctx):
297
297
  candidates.sort(key=lambda c: c["score"], reverse=True)
298
298
  best = candidates[0]
299
299
  if best["score"] >= min_score:
300
- # Conviction-tier sizing.
300
+ # Conviction-tier sizing: emit percent of withdrawable (0–100).
301
301
  margin_pct = margin_pct_high if best["score"] >= 10 else margin_pct_base
302
- margin_usd = round(account_value * margin_pct, 2)
303
302
  requested = scoring.get_leverage_for_score(
304
303
  best["score"], scoring.LEVERAGE_TIERS, default_leverage)
305
304
  leverage = _get_safe_leverage(ctx, best["asset"], requested)
@@ -310,7 +309,7 @@ def scan(inputs, ctx):
310
309
  out.append({
311
310
  "asset": best["asset"],
312
311
  "direction": best["direction"],
313
- "marginUsd": float(margin_usd),
312
+ "marginPct": round(margin_pct * 100, 2),
314
313
  "leverage": float(leverage),
315
314
  "data": {
316
315
  "score": best["score"],
@@ -78,9 +78,9 @@ emitted at most `min(open_slots, affordable)` signals per tick, where
78
78
  `affordable` was derived from free margin. In v2 the runtime owns slot count and
79
79
  affordability (`strategy.slots` + the `risk.guard_rails`), so `scan()` emits
80
80
  **every** candidate that clears `minScore` (after filtering held + recently
81
- signaled assets) and carries the computed `marginUsd` + venue-clamped `leverage`
82
- on each signal's `data{}`. The signal-gating thresholds are unchanged; only the
83
- per-tick emission cap moved to the runtime.
81
+ signaled assets) and carries `marginPct` (percent of withdrawable, 0–100) +
82
+ venue-clamped `leverage` on each signal's top level. The signal-gating
83
+ thresholds are unchanged; only the per-tick emission cap moved to the runtime.
84
84
 
85
85
  ## Action gate
86
86
 
@@ -19,7 +19,7 @@ description: >
19
19
  strategy:
20
20
  wallet: "${SPIDER_SCALP_WALLET}"
21
21
  slots: 4 # source maxSlots 4
22
- margin_pct: 15 # source marginPct 0.15 → margin_usd = account_value * 0.15
22
+ margin_pct: 15 # source marginPct 0.15 → scan.py emits marginPct 15.0 (% of withdrawable)
23
23
  default_leverage: 5 # source scalpMaxLeverage cap (clamped per-asset to HL venue max in scan.py)
24
24
  trading_risk: moderate
25
25
  enabled: true
@@ -187,7 +187,7 @@ def scan(inputs, ctx):
187
187
  out.append({
188
188
  "asset": th["coin"],
189
189
  "direction": th["direction"],
190
- "marginUsd": margin_usd,
190
+ "marginPct": round(margin_pct * 100, 2),
191
191
  "leverage": leverage,
192
192
  "data": {
193
193
  "score": th["score"],
@@ -19,7 +19,7 @@ description: >
19
19
  strategy:
20
20
  wallet: "${SPIDER_SWING_WALLET}"
21
21
  slots: 3 # source maxSlots 3
22
- margin_pct: 28 # source marginPct 0.28 → margin_usd = account_value * 0.28
22
+ margin_pct: 28 # source marginPct 0.28 → scan.py emits marginPct 28.0 (% of withdrawable)
23
23
  default_leverage: 10 # source swingMaxLeverage cap (clamped per-asset to HL venue max in scan.py)
24
24
  trading_risk: moderate
25
25
  enabled: true
@@ -24,8 +24,8 @@ What was simplified vs the source (FLAGGED):
24
24
  qualifying candidates above minScore (held + recently-signaled filtered).
25
25
  The signal-GATING thresholds (minScore, held-set, recent-dedup, venue min
26
26
  notional) are preserved exactly; only the per-tick emission CAP moves to the
27
- runtime. marginUsd is still computed (account_value * marginPct) and carried
28
- on data{} so the action sizes identically to the source.
27
+ runtime. marginPct (percent of withdrawable, 0–100) is carried on each signal
28
+ so the action sizes identically to the source.
29
29
  """
30
30
 
31
31
  import sys
@@ -301,7 +301,7 @@ def scan(inputs, ctx):
301
301
  out.append({
302
302
  "asset": th["coin"],
303
303
  "direction": th["direction"],
304
- "marginUsd": margin_usd,
304
+ "marginPct": round(margin_pct * 100, 2),
305
305
  "leverage": leverage,
306
306
  "data": {
307
307
  "score": th["score"],
@@ -13,8 +13,8 @@ recipe's `interval_seconds`.
13
13
 
14
14
  | Leg | Thesis (identical signal) | Slots | Margin/slot | Lev | DSL exit |
15
15
  |-----------|---------------------------|-------|-------------|-----|----------|
16
- | `volume` | Funding-fade rotation | 7 | $700 | 5x | force-close: 10-min hard timeout, phase1 max_loss 50 / retrace 30, **no phase2**, maker exit |
17
- | `runners` | Funding-fade rotation | 2 | $1300 | 5x | patient: 4h hard timeout, weak_peak 90m@3 + dead_weight 120m, phase1 max_loss 30 / retrace 8, 5-tier phase2 (5/0·10/35·20/55·35/75·50/85), taker exit |
16
+ | `volume` | Funding-fade rotation | 7 | 20% withdrawable | 5x | force-close: 10-min hard timeout, phase1 max_loss 50 / retrace 30, **no phase2**, maker exit |
17
+ | `runners` | Funding-fade rotation | 2 | 20% withdrawable | 5x | patient: 4h hard timeout, weak_peak 90m@3 + dead_weight 120m, phase1 max_loss 30 / retrace 8, 5-tier phase2 (5/0·10/35·20/55·35/75·50/85), taker exit |
18
18
 
19
19
  Both legs run the **identical** rotation alpha (same universe, same direction
20
20
  logic, same gates). The wallet boundary selects DSL behavior: `volume` prints
@@ -59,7 +59,7 @@ turbine/
59
59
  └── scoring.py # pure rotation/direction/spread functions (unit-tested)
60
60
  ```
61
61
 
62
- The per-leg sizing (`marginUsd`, `leverage`, `maxSlots`) rides on each recipe's
62
+ The per-leg sizing (`marginPct`, `leverage`, `maxSlots`) rides on each recipe's
63
63
  `inputs:` block, so the one `scan.py` emits correctly-sized signals for whichever
64
64
  leg supervises it.
65
65
 
@@ -127,9 +127,10 @@ The source computed `effective_slots = min(maxSlots, account_value /
127
127
  margin_per_slot)` and emitted at most that many signals per tick. In v2 the
128
128
  runtime owns slot count (`strategy.slots`) and affordability (`risk.guard_rails`),
129
129
  so `scan()` emits all candidates clearing the gates (held + cooldown + spread),
130
- carrying `marginUsd` + `leverage` on each signal's `data{}`. It still caps a tick
131
- at `maxSlots` candidates (the rotation only advances that many times) so the
132
- scanner doesn't flood the queue; the runtime makes the final open/skip decision.
130
+ carrying `marginPct` (percent of withdrawable) + `leverage` on each signal's top
131
+ level. It still caps a tick at `maxSlots` candidates (the rotation only advances
132
+ that many times) so the scanner doesn't flood the queue; the runtime makes the
133
+ final open/skip decision.
133
134
 
134
135
  ### Kept: non-deterministic `random` picks
135
136
 
@@ -161,6 +162,8 @@ v2 recipes use `decision_mode: rule` directly.
161
162
  ### Sizing source of truth
162
163
 
163
164
  The source had margin/slot drift across files (700/1300 in config v3.3 vs
164
- 500/950 producer defaults vs YAML). This port uses **config v3.3**: volume 7
165
- slots @ $700, runners 2 slots @ $1300, both 5x, `xyzWeight 0.80`, spread
166
- main 3 bps / xyz 10 bps.
165
+ 500/950 producer defaults vs YAML). This port uses **config v3.3** proportions:
166
+ volume 7 slots, runners 2 slots, both 5x, `xyzWeight 0.80`, spread main 3 bps /
167
+ xyz 10 bps. Sizing is now `marginPct` (percent of withdrawable) set in each
168
+ recipe's `inputs:` block (default 20); the old fixed-USD amounts can't be
169
+ preserved as a percent without knowing account size.
@@ -23,7 +23,7 @@ description: >
23
23
  strategy:
24
24
  wallet: "${TURBINE_RUNNERS_WALLET}"
25
25
  slots: 2 # source slots.runners 2
26
- margin_per_slot: 100 # FALLBACK sizing — used only if a signal omits marginUsd. scan.py emits per-signal marginUsd (from inputs below), which WINS. TEST 100; prod source margin.runners 1300 (config v3.3)
26
+ margin_per_slot: 100 # FALLBACK sizing — used only if a signal omits marginPct. scan.py emits per-signal marginPct (% of withdrawable, from inputs below), which WINS. TEST 100; prod source margin.runners 1300 (config v3.3)
27
27
  default_leverage: 5 # source leverage.runners 5 (clamped per-asset in scan.py)
28
28
  trading_risk: moderate # source trading_risk balanced → nearest v2 tier moderate
29
29
  enabled: true
@@ -48,7 +48,7 @@ scanners:
48
48
  spreadXyzBps: 10 # source spread.xyzBps 10
49
49
  # ── per-leg sizing (runners) ──
50
50
  leverage: 5 # source leverage.runners 5
51
- marginUsd: 100 # per-signal USD margin; scan.py emits it TOP-LEVEL → runtime honors it as the EFFECTIVE sizing (overrides margin_per_slot). TEST 100; prod source 1300
51
+ marginPct: 20 # per-signal % of withdrawable; scan.py emits it TOP-LEVEL → runtime honors it as the EFFECTIVE sizing (overrides margin_per_slot). 20 is an example default; prod source 1300 USD intent must be sized as a percent
52
52
  maxSlots: 2 # source slots.runners 2 (per-tick emission ceiling)
53
53
  signal_data_schema:
54
54
  thesis: { type: string }
@@ -19,7 +19,7 @@ description: >
19
19
  strategy:
20
20
  wallet: "${TURBINE_VOLUME_WALLET}"
21
21
  slots: 7 # source slots.volume 7
22
- margin_per_slot: 100 # FALLBACK sizing — used only if a signal omits marginUsd. scan.py emits per-signal marginUsd (from inputs below), which WINS. TEST 100; prod source margin.volume 700 (config v3.3)
22
+ margin_per_slot: 100 # FALLBACK sizing — used only if a signal omits marginPct. scan.py emits per-signal marginPct (% of withdrawable, from inputs below), which WINS. TEST 100; prod source margin.volume 700 (config v3.3)
23
23
  default_leverage: 5 # source leverage.volume 5 (clamped per-asset in scan.py)
24
24
  trading_risk: aggressive # source trading_risk aggressive
25
25
  enabled: true
@@ -44,7 +44,7 @@ scanners:
44
44
  spreadXyzBps: 10 # source spread.xyzBps 10
45
45
  # ── per-leg sizing (volume) ──
46
46
  leverage: 5 # source leverage.volume 5
47
- marginUsd: 100 # per-signal USD margin; scan.py emits it TOP-LEVEL → runtime honors it as the EFFECTIVE sizing (overrides margin_per_slot). TEST 100; prod source 700
47
+ marginPct: 20 # per-signal % of withdrawable; scan.py emits it TOP-LEVEL → runtime honors it as the EFFECTIVE sizing (overrides margin_per_slot). 20 is an example default; prod source 700 USD intent must be sized as a percent
48
48
  maxSlots: 7 # source slots.volume 7 (per-tick emission ceiling)
49
49
  signal_data_schema:
50
50
  thesis: { type: string }