@senpi/runtime 3.0.154 → 3.0.156
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/dist/actions/action-events.d.ts +4 -4
- package/dist/actions/action-events.d.ts.map +1 -1
- package/dist/actions/action-events.js +16 -7
- package/dist/actions/action-events.js.map +1 -1
- package/dist/actions/event-derivation.d.ts.map +1 -1
- package/dist/actions/event-derivation.js +17 -2
- package/dist/actions/event-derivation.js.map +1 -1
- package/dist/actions/open-position/open-position.action.d.ts.map +1 -1
- package/dist/actions/open-position/open-position.action.js +5 -3
- package/dist/actions/open-position/open-position.action.js.map +1 -1
- package/dist/cli/guide-commands.d.ts.map +1 -1
- package/dist/cli/guide-commands.js +2 -1
- package/dist/cli/guide-commands.js.map +1 -1
- package/dist/constants/telemetry.d.ts +3 -1
- package/dist/constants/telemetry.d.ts.map +1 -1
- package/dist/constants/telemetry.js +3 -1
- package/dist/constants/telemetry.js.map +1 -1
- package/dist/health/types.d.ts +10 -0
- package/dist/health/types.d.ts.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -3
- package/dist/index.js.map +1 -1
- package/dist/runtime/events-telemetry.d.ts +1 -1
- package/dist/runtime/events-telemetry.d.ts.map +1 -1
- package/dist/runtime/events-telemetry.js +12 -3
- package/dist/runtime/events-telemetry.js.map +1 -1
- package/dist/runtime/risk-guard.d.ts +20 -5
- package/dist/runtime/risk-guard.d.ts.map +1 -1
- package/dist/runtime/risk-guard.js +111 -23
- package/dist/runtime/risk-guard.js.map +1 -1
- package/dist/runtime/strategy-lifecycle.d.ts +36 -13
- package/dist/runtime/strategy-lifecycle.d.ts.map +1 -1
- package/dist/runtime/strategy-lifecycle.js +120 -71
- package/dist/runtime/strategy-lifecycle.js.map +1 -1
- package/dist/telemetry/event-builders.d.ts +2 -2
- package/dist/telemetry/event-builders.d.ts.map +1 -1
- package/dist/telemetry/event-store.d.ts +24 -7
- package/dist/telemetry/event-store.d.ts.map +1 -1
- package/dist/telemetry/event-store.js +110 -16
- package/dist/telemetry/event-store.js.map +1 -1
- package/dist/telemetry/spans/redact-pii.d.ts.map +1 -1
- package/dist/telemetry/spans/redact-pii.js +19 -13
- package/dist/telemetry/spans/redact-pii.js.map +1 -1
- package/dist/types/action.d.ts +27 -7
- package/dist/types/action.d.ts.map +1 -1
- package/dist/utils/event-catalog.d.ts +5 -3
- package/dist/utils/event-catalog.d.ts.map +1 -1
- package/dist/utils/event-catalog.js.map +1 -1
- package/dist/utils/logger.d.ts +5 -3
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +39 -28
- package/dist/utils/logger.js.map +1 -1
- package/openclaw.plugin.json +1 -1
- package/package.json +1 -1
|
@@ -10,9 +10,16 @@
|
|
|
10
10
|
* If any risk API call fails, the gate is CLOSED (fail-closed).
|
|
11
11
|
*
|
|
12
12
|
* Evaluation is stateless, but enforcement of the halt-class gates (daily loss, drawdown) is
|
|
13
|
-
* not: each of
|
|
13
|
+
* not: each live evaluation of them passes through the lifecycle tracker's `applyLatch`, which
|
|
14
14
|
* keeps a genuinely-breached halt CLOSED until its release rule (UTC day rollover) fires, so a
|
|
15
|
-
* mark-to-market bounce back under the limit cannot reopen entries mid-day.
|
|
15
|
+
* mark-to-market bounce back under the limit cannot reopen entries mid-day. Setting or releasing
|
|
16
|
+
* a latch there is what pauses or resumes the strategy for these two gates.
|
|
17
|
+
*
|
|
18
|
+
* A per-signal check skips the PnL snapshot fetch while the first snapshot-using halt gate (daily
|
|
19
|
+
* loss when configured, else drawdown) holds a latch that is active by the box clock. It returns
|
|
20
|
+
* that gate's latched block from `activeLatchBlock`, which never sets or releases a latch. When
|
|
21
|
+
* daily loss is configured and not latched, the snapshot is fetched as usual. `evaluateAll`
|
|
22
|
+
* (status and health) always fetches.
|
|
16
23
|
*
|
|
17
24
|
* Supports two modes:
|
|
18
25
|
* - Default (short-circuit): returns on first non-OPEN gate.
|
|
@@ -47,13 +54,14 @@ export function configuredHaltGates(guardRails) {
|
|
|
47
54
|
return gates;
|
|
48
55
|
}
|
|
49
56
|
export function createRiskGuardStub() {
|
|
57
|
+
async function checkGate(_address, opts) {
|
|
58
|
+
if (opts?.evaluateAll) {
|
|
59
|
+
return { gate: "OPEN", gates: [] };
|
|
60
|
+
}
|
|
61
|
+
return { gate: "OPEN" };
|
|
62
|
+
}
|
|
50
63
|
return {
|
|
51
|
-
|
|
52
|
-
if (opts?.evaluateAll) {
|
|
53
|
-
return { gate: "OPEN", gates: [] };
|
|
54
|
-
}
|
|
55
|
-
return { gate: "OPEN" };
|
|
56
|
-
},
|
|
64
|
+
checkGate,
|
|
57
65
|
async getGateForStrategies(addresses) {
|
|
58
66
|
const out = {};
|
|
59
67
|
for (const addr of addresses)
|
|
@@ -91,6 +99,49 @@ function makeEval(gateId, source, overrides) {
|
|
|
91
99
|
...overrides,
|
|
92
100
|
};
|
|
93
101
|
}
|
|
102
|
+
/** The status word in each code is the status that gate returns on that path. */
|
|
103
|
+
const GATE_REASON_CODES = {
|
|
104
|
+
daily_loss_halt: {
|
|
105
|
+
blocked: "risk_gate_closed_daily_loss_limit",
|
|
106
|
+
failed: "risk_gate_closed_error_daily_loss_limit",
|
|
107
|
+
},
|
|
108
|
+
drawdown_halt: {
|
|
109
|
+
blocked: "risk_gate_closed_drawdown_limit",
|
|
110
|
+
failed: "risk_gate_closed_error_drawdown_limit",
|
|
111
|
+
},
|
|
112
|
+
consecutive_loss: {
|
|
113
|
+
blocked: "risk_gate_cooldown_consecutive_losses",
|
|
114
|
+
failed: "risk_gate_closed_error_consecutive_losses",
|
|
115
|
+
},
|
|
116
|
+
per_asset_cooldown: {
|
|
117
|
+
blocked: "risk_gate_cooldown_same_asset",
|
|
118
|
+
failed: "risk_gate_cooldown_error_same_asset",
|
|
119
|
+
},
|
|
120
|
+
max_entries_day: {
|
|
121
|
+
blocked: "risk_gate_closed_max_entries_day",
|
|
122
|
+
failed: "risk_gate_closed_error_max_entries_day",
|
|
123
|
+
},
|
|
124
|
+
};
|
|
125
|
+
/** Max-entries codes when the profit bypass decided the verdict. */
|
|
126
|
+
const MAX_ENTRIES_NOT_IN_PROFIT_CODES = {
|
|
127
|
+
blocked: "risk_gate_closed_max_entries_day_not_in_profit",
|
|
128
|
+
failed: "risk_gate_closed_error_max_entries_day_not_in_profit",
|
|
129
|
+
};
|
|
130
|
+
/**
|
|
131
|
+
* Reason code for a blocking evaluation. A fail-closed verdict (`evaluationOk: false` or
|
|
132
|
+
* `fallbackApplied: true`) maps to the gate's `failed` code. The max-entries gate uses the
|
|
133
|
+
* not-in-profit codes when the evaluator set `maxEntriesProfitBypass`.
|
|
134
|
+
*/
|
|
135
|
+
function gateReasonCode(ev) {
|
|
136
|
+
const codes = ev.gateId === "max_entries_day" && ev.maxEntriesProfitBypass === true
|
|
137
|
+
? MAX_ENTRIES_NOT_IN_PROFIT_CODES
|
|
138
|
+
: GATE_REASON_CODES[ev.gateId];
|
|
139
|
+
return !ev.evaluationOk || ev.fallbackApplied ? codes.failed : codes.blocked;
|
|
140
|
+
}
|
|
141
|
+
/** Short-circuit verdict for the first blocking gate. */
|
|
142
|
+
function blockedResult(ev) {
|
|
143
|
+
return { gate: ev.status, reason: ev.reason, reasonCode: gateReasonCode(ev) };
|
|
144
|
+
}
|
|
94
145
|
function deriveEffective(gates) {
|
|
95
146
|
let gate = "OPEN";
|
|
96
147
|
let reason;
|
|
@@ -122,6 +173,7 @@ export function createRiskGuard(config) {
|
|
|
122
173
|
address: sk,
|
|
123
174
|
gate: result.gate,
|
|
124
175
|
reason: result.reason,
|
|
176
|
+
reasonCode: "reasonCode" in result ? result.reasonCode : undefined,
|
|
125
177
|
candidateAsset,
|
|
126
178
|
});
|
|
127
179
|
}
|
|
@@ -129,11 +181,10 @@ export function createRiskGuard(config) {
|
|
|
129
181
|
if (prev !== curr) {
|
|
130
182
|
prevGateState.set(stateKey, curr);
|
|
131
183
|
}
|
|
132
|
-
//
|
|
133
|
-
// RiskGuard only reports the per-gate evaluations
|
|
134
|
-
//
|
|
135
|
-
//
|
|
136
|
-
// latched halt gates, can only arrive after the latch released on a UTC day rollover).
|
|
184
|
+
// Self-pause is owned by the stateful strategy-lifecycle component, not RiskGuard.
|
|
185
|
+
// RiskGuard only reports the per-gate evaluations. `observe` drives the pause of the
|
|
186
|
+
// non-latched gates (deduped by address+gateId, re-armed only on an explicit OPEN); it
|
|
187
|
+
// ignores the latched halt gates, whose pause and resume come from `applyLatch`.
|
|
137
188
|
config.lifecycleTracker?.observe(address, sk, evaluations ?? [], source);
|
|
138
189
|
if (config.auditLog) {
|
|
139
190
|
await config.auditLog.append({
|
|
@@ -398,6 +449,7 @@ export function createRiskGuard(config) {
|
|
|
398
449
|
fallbackApplied: true,
|
|
399
450
|
failureKind: "empty_data",
|
|
400
451
|
metrics: { ...baseMetrics, bypassMaxEntriesPerDayOnProfit: true },
|
|
452
|
+
maxEntriesProfitBypass: true,
|
|
401
453
|
});
|
|
402
454
|
}
|
|
403
455
|
if (snapshotCtx.snapAttempted && snap) {
|
|
@@ -421,6 +473,7 @@ export function createRiskGuard(config) {
|
|
|
421
473
|
fallbackApplied: true,
|
|
422
474
|
failureKind: "transport",
|
|
423
475
|
metrics: { ...baseMetrics, bypassMaxEntriesPerDayOnProfit: true },
|
|
476
|
+
maxEntriesProfitBypass: true,
|
|
424
477
|
});
|
|
425
478
|
}
|
|
426
479
|
if (!snap) {
|
|
@@ -431,6 +484,7 @@ export function createRiskGuard(config) {
|
|
|
431
484
|
fallbackApplied: true,
|
|
432
485
|
failureKind: "empty_data",
|
|
433
486
|
metrics: { ...baseMetrics, bypassMaxEntriesPerDayOnProfit: true },
|
|
487
|
+
maxEntriesProfitBypass: true,
|
|
434
488
|
});
|
|
435
489
|
}
|
|
436
490
|
}
|
|
@@ -442,6 +496,7 @@ export function createRiskGuard(config) {
|
|
|
442
496
|
fallbackApplied: true,
|
|
443
497
|
failureKind: "empty_data",
|
|
444
498
|
metrics: { ...baseMetrics, bypassMaxEntriesPerDayOnProfit: true },
|
|
499
|
+
maxEntriesProfitBypass: true,
|
|
445
500
|
});
|
|
446
501
|
}
|
|
447
502
|
const pnlDeltaSinceOpen = snap.pnl.delta_since_open;
|
|
@@ -456,12 +511,14 @@ export function createRiskGuard(config) {
|
|
|
456
511
|
return makeEval("max_entries_day", source, {
|
|
457
512
|
reason: `Max entries cap bypassed: intraday PnL delta $${pnlDeltaSinceOpen.toFixed(2)} > 0 (${entriesToday}/${maxEntriesPerDay} entries today)`,
|
|
458
513
|
metrics: { ...bypassMetrics, maxEntriesBypassApplied: true },
|
|
514
|
+
maxEntriesProfitBypass: true,
|
|
459
515
|
});
|
|
460
516
|
}
|
|
461
517
|
return makeEval("max_entries_day", source, {
|
|
462
518
|
status: "CLOSED",
|
|
463
519
|
reason: `Max entries: ${entriesToday}/${maxEntriesPerDay} entries today (bypass off: PnL delta $${pnlDeltaSinceOpen.toFixed(2)} ≤ 0)`,
|
|
464
520
|
metrics: bypassMetrics,
|
|
521
|
+
maxEntriesProfitBypass: true,
|
|
465
522
|
});
|
|
466
523
|
}
|
|
467
524
|
catch (err) {
|
|
@@ -482,9 +539,31 @@ export function createRiskGuard(config) {
|
|
|
482
539
|
*/
|
|
483
540
|
async function latched(address, ev, releaseOnDayRollover) {
|
|
484
541
|
const apply = config.lifecycleTracker?.applyLatch;
|
|
485
|
-
return apply
|
|
542
|
+
return apply
|
|
543
|
+
? apply.call(config.lifecycleTracker, address, ev, { releaseOnDayRollover, label: strategyKey(address) })
|
|
544
|
+
: ev;
|
|
545
|
+
}
|
|
546
|
+
/**
|
|
547
|
+
* The latched block of the first snapshot-using halt gate when that gate holds an active latch,
|
|
548
|
+
* else null. Only the first gate counts: when daily loss is configured and not latched, the
|
|
549
|
+
* snapshot is needed anyway, so a latched drawdown is enforced through the normal path.
|
|
550
|
+
*/
|
|
551
|
+
async function activeHaltLatchBlock(address, guardRails, source) {
|
|
552
|
+
const lookup = config.lifecycleTracker?.activeLatchBlock;
|
|
553
|
+
if (!lookup)
|
|
554
|
+
return null;
|
|
555
|
+
if (hasDailyLossLimit(guardRails)) {
|
|
556
|
+
return lookup.call(config.lifecycleTracker, address, makeEval("daily_loss_halt", source, {}), {
|
|
557
|
+
releaseOnDayRollover: true,
|
|
558
|
+
});
|
|
559
|
+
}
|
|
560
|
+
if (hasDrawdownHalt(guardRails)) {
|
|
561
|
+
return lookup.call(config.lifecycleTracker, address, makeEval("drawdown_halt", source, {}), {
|
|
562
|
+
releaseOnDayRollover: guardRails.drawdownResetOnDayRollover === true,
|
|
563
|
+
});
|
|
564
|
+
}
|
|
565
|
+
return null;
|
|
486
566
|
}
|
|
487
|
-
// ── Main checkGate ───────────────────────────────────────────────
|
|
488
567
|
async function checkGate(address, opts) {
|
|
489
568
|
const guardRails = config.strategies.get(address)?.guardRails;
|
|
490
569
|
if (!guardRails) {
|
|
@@ -499,6 +578,17 @@ export function createRiskGuard(config) {
|
|
|
499
578
|
// Gates 1a + 1b share one API call
|
|
500
579
|
const hasLossLimit = hasDailyLossLimit(guardRails);
|
|
501
580
|
const hasDrawdown = hasDrawdownHalt(guardRails);
|
|
581
|
+
// An active halt latch decides the per-signal verdict on its own: return it without fetching
|
|
582
|
+
// the snapshot. evaluateAll still reads live PnL for status and health.
|
|
583
|
+
if (!evaluateAll) {
|
|
584
|
+
const latchedBlock = await activeHaltLatchBlock(address, guardRails, source);
|
|
585
|
+
if (latchedBlock) {
|
|
586
|
+
gates.push(latchedBlock);
|
|
587
|
+
const result = blockedResult(latchedBlock);
|
|
588
|
+
await logAndNotify(address, result, source, candidateAsset, gates);
|
|
589
|
+
return result;
|
|
590
|
+
}
|
|
591
|
+
}
|
|
502
592
|
let snap = null;
|
|
503
593
|
let snapFailed = false;
|
|
504
594
|
const snapAttempted = hasLossLimit || hasDrawdown;
|
|
@@ -520,7 +610,7 @@ export function createRiskGuard(config) {
|
|
|
520
610
|
const ev = await latched(address, await evalDailyLossHalt(guardRails, snap, source, snapFailed), true);
|
|
521
611
|
gates.push(ev);
|
|
522
612
|
if (!evaluateAll && ev.status !== "OPEN" && ev.status !== "N_A") {
|
|
523
|
-
const result =
|
|
613
|
+
const result = blockedResult(ev);
|
|
524
614
|
await logAndNotify(address, result, source, candidateAsset, gates);
|
|
525
615
|
return result;
|
|
526
616
|
}
|
|
@@ -529,7 +619,7 @@ export function createRiskGuard(config) {
|
|
|
529
619
|
const ev = await latched(address, await evalDrawdownHalt(guardRails, snap, source, snapFailed), guardRails.drawdownResetOnDayRollover === true);
|
|
530
620
|
gates.push(ev);
|
|
531
621
|
if (!evaluateAll && ev.status !== "OPEN" && ev.status !== "N_A") {
|
|
532
|
-
const result =
|
|
622
|
+
const result = blockedResult(ev);
|
|
533
623
|
await logAndNotify(address, result, source, candidateAsset, gates);
|
|
534
624
|
return result;
|
|
535
625
|
}
|
|
@@ -539,7 +629,7 @@ export function createRiskGuard(config) {
|
|
|
539
629
|
const ev = await evalConsecutiveLoss(address, guardRails, source);
|
|
540
630
|
gates.push(ev);
|
|
541
631
|
if (!evaluateAll && ev.status !== "OPEN" && ev.status !== "N_A") {
|
|
542
|
-
const result =
|
|
632
|
+
const result = blockedResult(ev);
|
|
543
633
|
await logAndNotify(address, result, source, candidateAsset, gates);
|
|
544
634
|
return result;
|
|
545
635
|
}
|
|
@@ -549,7 +639,7 @@ export function createRiskGuard(config) {
|
|
|
549
639
|
const ev = await evalPerAssetCooldown(address, guardRails, candidateAsset, source);
|
|
550
640
|
gates.push(ev);
|
|
551
641
|
if (!evaluateAll && ev.status !== "OPEN" && ev.status !== "N_A") {
|
|
552
|
-
const result =
|
|
642
|
+
const result = blockedResult(ev);
|
|
553
643
|
await logAndNotify(address, result, source, candidateAsset, gates);
|
|
554
644
|
return result;
|
|
555
645
|
}
|
|
@@ -559,7 +649,7 @@ export function createRiskGuard(config) {
|
|
|
559
649
|
const ev = await evalMaxEntriesDay(address, guardRails, source, { snap, snapFailed, snapAttempted });
|
|
560
650
|
gates.push(ev);
|
|
561
651
|
if (!evaluateAll && ev.status !== "OPEN" && ev.status !== "N_A") {
|
|
562
|
-
const result =
|
|
652
|
+
const result = blockedResult(ev);
|
|
563
653
|
await logAndNotify(address, result, source, candidateAsset, gates);
|
|
564
654
|
return result;
|
|
565
655
|
}
|
|
@@ -575,9 +665,7 @@ export function createRiskGuard(config) {
|
|
|
575
665
|
return result;
|
|
576
666
|
}
|
|
577
667
|
return {
|
|
578
|
-
|
|
579
|
-
return checkGate(address, opts);
|
|
580
|
-
},
|
|
668
|
+
checkGate,
|
|
581
669
|
async getGateForStrategies(addresses) {
|
|
582
670
|
const out = {};
|
|
583
671
|
for (const addr of addresses) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"risk-guard.js","sourceRoot":"","sources":["../../src/runtime/risk-guard.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"risk-guard.js","sourceRoot":"","sources":["../../src/runtime/risk-guard.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,10 +4,13 @@
|
|
|
4
4
|
* crash-safe (SQLite) version is §5 merge work.
|
|
5
5
|
*
|
|
6
6
|
* Owns the self-pause state that RiskGuard used to hold. RiskGuard is now a stateless
|
|
7
|
-
* gate evaluator that only reports
|
|
8
|
-
* paused
|
|
9
|
-
*
|
|
10
|
-
*
|
|
7
|
+
* gate evaluator that only reports. A pause fires the hook event, the user notification and
|
|
8
|
+
* `runtime.paused`; a resume fires `runtime.resumed`. When they fire depends on the gate:
|
|
9
|
+
* - `max_entries_day` (no latch): {@link StrategyLifecycle.observe} remembers which gates are
|
|
10
|
+
* paused per strategy in memory. It pauses on a genuine running→paused transition, once per
|
|
11
|
+
* breach, and resumes only on an explicit OPEN of the same gate.
|
|
12
|
+
* - The latched gates below: the latch is the pause state. Setting a latch pauses; releasing or
|
|
13
|
+
* dropping one resumes. `observe` ignores these gates.
|
|
11
14
|
*
|
|
12
15
|
* It also owns the halt LATCH for the halt-class gates in {@link LATCHED_GATES}
|
|
13
16
|
* (daily loss, drawdown). Their live inputs are mark-to-market, so a strategy sitting
|
|
@@ -25,8 +28,7 @@
|
|
|
25
28
|
* runtime's StateManager, file `<stateDir>/<address>/risk-halt-latch.json`), so a latch survives
|
|
26
29
|
* a gateway restart, an npm auto-update and a fleet redeploy: the restarted runtime reloads it on
|
|
27
30
|
* the strategy's first halt check and enforces it exactly as before, with the same release rules.
|
|
28
|
-
*
|
|
29
|
-
* once more after a restart.
|
|
31
|
+
* A restored latch was announced by the process that set it, so loading it fires nothing.
|
|
30
32
|
*/
|
|
31
33
|
import type { RiskGateEvaluation, RiskGateId, RiskSource } from "../health/types.js";
|
|
32
34
|
import type { HookSystem } from "../types/hooks.js";
|
|
@@ -102,6 +104,8 @@ export interface ApplyLatchOpts {
|
|
|
102
104
|
* daily_loss_halt; `drawdown_reset_on_day_rollover` for drawdown_halt.
|
|
103
105
|
*/
|
|
104
106
|
releaseOnDayRollover: boolean;
|
|
107
|
+
/** Human strategy label for the pause hook event. Defaults to the address. */
|
|
108
|
+
label?: string;
|
|
105
109
|
}
|
|
106
110
|
/** What a latch remembers about the breach that set it. Also its persisted per-gate shape. */
|
|
107
111
|
export interface HaltLatch {
|
|
@@ -122,7 +126,9 @@ export interface PersistedHaltLatches {
|
|
|
122
126
|
}
|
|
123
127
|
export interface StrategyLifecycle {
|
|
124
128
|
/**
|
|
125
|
-
* Observe one risk evaluation pass for a strategy and drive
|
|
129
|
+
* Observe one risk evaluation pass for a strategy and drive the in-memory self-pause state of
|
|
130
|
+
* the non-latched gates. {@link LATCHED_GATES} are skipped: their pause and resume fire from
|
|
131
|
+
* {@link applyLatch} and {@link pruneLatches}.
|
|
126
132
|
* @param address strategy wallet address
|
|
127
133
|
* @param label human strategy label (name or truncated address) for messages
|
|
128
134
|
* @param evaluations per-gate evaluations from the risk guard
|
|
@@ -139,26 +145,43 @@ export interface StrategyLifecycle {
|
|
|
139
145
|
* `evaluationOk: true` — the evaluation itself succeeded; the gate is closed by the latch.
|
|
140
146
|
* - The latch is released only by a successful evaluation from a later UTC day, and only
|
|
141
147
|
* when `opts.releaseOnDayRollover` is true. The fresh evaluation is then enforced as-is.
|
|
148
|
+
* - Setting a latch fires the pause (hook, notification, `runtime.paused`) once, built from the
|
|
149
|
+
* breaching evaluation and its live metrics. Releasing one fires `runtime.resumed`. A release
|
|
150
|
+
* and a new breach in the same call fire both: the old halt ended, a new one started.
|
|
142
151
|
*
|
|
143
152
|
* Async because of persistence: the strategy's persisted latches are loaded on its first call,
|
|
144
153
|
* and a set or release is written before the verdict returns. It cannot throw.
|
|
145
154
|
* - A failed load fails closed for that call: CLOSED with `evaluationOk: false`,
|
|
146
155
|
* `fallbackApplied: true`, `failureKind: "transport"`, like a failed snapshot fetch. A latch on
|
|
147
156
|
* disk this process has not read must not read as OPEN. Nothing is set or released on that
|
|
148
|
-
* call, so no pause fires; the next call retries the load.
|
|
157
|
+
* call, so no pause or resume fires; the next call retries the load.
|
|
149
158
|
* - A failed write is logged and never changes the verdict: the in-memory latch keeps enforcing.
|
|
150
159
|
*/
|
|
151
160
|
applyLatch(address: string, evaluation: RiskGateEvaluation, opts: ApplyLatchOpts): Promise<RiskGateEvaluation>;
|
|
152
161
|
/**
|
|
153
|
-
* Drop the latches
|
|
154
|
-
*
|
|
155
|
-
*
|
|
156
|
-
*
|
|
162
|
+
* Drop the latches of latched gates that are no longer configured for `address`. Called when
|
|
163
|
+
* the recipe is rebuilt: a gate whose rail was removed no longer enforces anything, so its latch
|
|
164
|
+
* must not resurface if the rail is added back later. Emits `runtime.resumed` for each dropped
|
|
165
|
+
* latch, including one restored from disk.
|
|
157
166
|
*
|
|
158
167
|
* Loads the persisted latches first (so a latch saved by an earlier process is pruned too) and
|
|
159
|
-
* writes the result.
|
|
168
|
+
* writes the result. When that load fails, the drop is applied on the next successful load and
|
|
169
|
+
* `runtime.resumed` fires then. Never throws: the rebuild commit that calls it must not fail on
|
|
170
|
+
* disk IO.
|
|
160
171
|
*/
|
|
161
172
|
pruneLatches(address: string, configured: ReadonlySet<RiskGateId>): Promise<void>;
|
|
173
|
+
/**
|
|
174
|
+
* The latched block for `baseline`'s gate when that gate holds a latch that is active by the box
|
|
175
|
+
* clock, else null. `baseline` is the gate's not-yet-evaluated evaluation (identity and source).
|
|
176
|
+
* The result is CLOSED with the latched reason, and the latch facts are its only metrics. It has
|
|
177
|
+
* the shape {@link applyLatch} enforces over a fresh OPEN, but carries no live metrics. A caller
|
|
178
|
+
* uses it to skip the live check while the latch holds.
|
|
179
|
+
*
|
|
180
|
+
* Returns null for a non-latched gate, for no or an expired latch, and when the persisted latches
|
|
181
|
+
* cannot be loaded (the caller then runs the normal path, which fails closed). Never sets,
|
|
182
|
+
* releases or writes a latch, so it never fires a pause or a resume. It cannot throw.
|
|
183
|
+
*/
|
|
184
|
+
activeLatchBlock(address: string, baseline: RiskGateEvaluation, opts: ApplyLatchOpts): Promise<RiskGateEvaluation | null>;
|
|
162
185
|
}
|
|
163
186
|
export declare function createStrategyLifecycle(deps?: StrategyLifecycleDeps): StrategyLifecycle;
|
|
164
187
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strategy-lifecycle.d.ts","sourceRoot":"","sources":["../../src/runtime/strategy-lifecycle.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"strategy-lifecycle.d.ts","sourceRoot":"","sources":["../../src/runtime/strategy-lifecycle.ts"],"names":[],"mappings":"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"}
|