audit-tools 0.34.21 → 0.34.22
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/audit/cli/rollingAuditDispatch.d.ts.map +1 -1
- package/dist/audit/cli/rollingAuditDispatch.js +5 -1
- package/dist/audit/cli/rollingAuditDispatch.js.map +1 -1
- package/dist/audit/orchestrator/rollingDispatch.d.ts.map +1 -1
- package/dist/audit/orchestrator/rollingDispatch.js +1 -0
- package/dist/audit/orchestrator/rollingDispatch.js.map +1 -1
- package/dist/remediate/steps/nextStep.d.ts +8 -1
- package/dist/remediate/steps/nextStep.d.ts.map +1 -1
- package/dist/remediate/steps/nextStep.js +6 -1
- package/dist/remediate/steps/nextStep.js.map +1 -1
- package/dist/shared/dispatch/admissionLoop.d.ts +537 -69
- package/dist/shared/dispatch/admissionLoop.d.ts.map +1 -1
- package/dist/shared/dispatch/admissionLoop.js +167 -36
- package/dist/shared/dispatch/admissionLoop.js.map +1 -1
- package/dist/shared/dispatch/dispatchDecisionLog.d.ts +116 -0
- package/dist/shared/dispatch/dispatchDecisionLog.d.ts.map +1 -0
- package/dist/shared/dispatch/dispatchDecisionLog.js +65 -0
- package/dist/shared/dispatch/dispatchDecisionLog.js.map +1 -0
- package/dist/shared/dispatch/dispatchQuotaContract.d.ts +293 -35
- package/dist/shared/dispatch/dispatchQuotaContract.d.ts.map +1 -1
- package/dist/shared/dispatch/rollingDispatch.d.ts +11 -0
- package/dist/shared/dispatch/rollingDispatch.d.ts.map +1 -1
- package/dist/shared/dispatch/rollingDispatch.js +220 -40
- package/dist/shared/dispatch/rollingDispatch.js.map +1 -1
- package/dist/shared/dispatch/unifiedRolling.d.ts +9 -0
- package/dist/shared/dispatch/unifiedRolling.d.ts.map +1 -1
- package/dist/shared/dispatch/unifiedRolling.js +1 -0
- package/dist/shared/dispatch/unifiedRolling.js.map +1 -1
- package/dist/shared/index.d.ts +4 -2
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js +4 -1
- package/dist/shared/index.js.map +1 -1
- package/dist/shared/types/rollingDispatch.d.ts +10 -0
- package/dist/shared/types/rollingDispatch.d.ts.map +1 -1
- package/dist/shared/types/rollingDispatch.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admissionLoop.d.ts","sourceRoot":"","sources":["../../../src/shared/dispatch/admissionLoop.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"admissionLoop.d.ts","sourceRoot":"","sources":["../../../src/shared/dispatch/admissionLoop.ts"],"names":[],"mappings":"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"}
|
|
@@ -92,48 +92,116 @@ export function admissionPoolsFromSummaries(summaries, confirmedCostPositions) {
|
|
|
92
92
|
calibrating: pool.calibrating === true,
|
|
93
93
|
}));
|
|
94
94
|
}
|
|
95
|
+
/**
|
|
96
|
+
* One constraint's evaluation, serialized for the persisted explain artifact —
|
|
97
|
+
* the wire form of the ledger's {@link ConstraintOutcome} (legibility invariant,
|
|
98
|
+
* spec/audit/dispatch-admission-control.md Resolved decision 3).
|
|
99
|
+
*
|
|
100
|
+
* `headroom_before: null` means UNBOUNDED, not unknown — a cold-start pool with
|
|
101
|
+
* no real ceiling computes `headroomBefore = +Infinity`, which `JSON.stringify`
|
|
102
|
+
* (the artifact's actual emit path) collapses to `null`; `.number()` alone
|
|
103
|
+
* rejects that on read-back even though it accepts `Infinity` in memory, so
|
|
104
|
+
* `null` is the honest encoding of what the artifact actually contains on disk.
|
|
105
|
+
*/
|
|
106
|
+
export const ConstraintOutcomeRecordSchema = z
|
|
107
|
+
.object({
|
|
108
|
+
resource_key: z.string(),
|
|
109
|
+
headroom_before: z.number().nullable(),
|
|
110
|
+
outstanding_before: z.number(),
|
|
111
|
+
cost: z.number(),
|
|
112
|
+
/** Whether this constraint alone had room. Admission requires ALL true. */
|
|
113
|
+
cleared: z.boolean(),
|
|
114
|
+
})
|
|
115
|
+
.strict();
|
|
116
|
+
/** Serialize ledger outcomes for the artifact (non-finite headroom → null). */
|
|
117
|
+
export function toConstraintOutcomeRecords(outcomes) {
|
|
118
|
+
return outcomes.map((o) => ({
|
|
119
|
+
resource_key: o.resourceKey,
|
|
120
|
+
headroom_before: Number.isFinite(o.headroomBefore) ? o.headroomBefore : null,
|
|
121
|
+
outstanding_before: o.outstandingBefore,
|
|
122
|
+
cost: o.cost,
|
|
123
|
+
cleared: o.cleared,
|
|
124
|
+
}));
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* One NON-decisive pool consultation during a packet's admission walk — a pool
|
|
128
|
+
* that was tried and refused before the decision landed elsewhere (the decisive
|
|
129
|
+
* pool's data lives on the explain record itself, never duplicated here). The
|
|
130
|
+
* refusal vocabulary is shared with {@link AdmissionExplain.reason} so one
|
|
131
|
+
* parser covers both.
|
|
132
|
+
*/
|
|
133
|
+
export const AdmissionAttemptSchema = z
|
|
134
|
+
.object({
|
|
135
|
+
pool_id: z.string(),
|
|
136
|
+
reason: z.enum(["budget_exhausted", "cap_reached", "window_uncalibrated"]),
|
|
137
|
+
/** Ledger outcomes when the attempt reached the ledger; [] otherwise. */
|
|
138
|
+
constraints: z.array(ConstraintOutcomeRecordSchema),
|
|
139
|
+
/** cap_reached only: the in-flight count and cap that refused. */
|
|
140
|
+
in_flight_before: z.number().optional(),
|
|
141
|
+
cap: z.number().optional(),
|
|
142
|
+
/** window_uncalibrated only: labels of the windows that could not price. */
|
|
143
|
+
unpriced_windows: z.array(z.string()).optional(),
|
|
144
|
+
})
|
|
145
|
+
.strict();
|
|
95
146
|
export const AdmissionGrantSchema = z
|
|
96
147
|
.object({
|
|
97
148
|
packet_id: z.string(),
|
|
98
149
|
pool_id: z.string(),
|
|
99
|
-
|
|
150
|
+
resource_keys: z.array(z.string()),
|
|
100
151
|
lease_id: z.string(),
|
|
101
152
|
cost: z.number(),
|
|
102
153
|
})
|
|
103
154
|
.strict();
|
|
104
|
-
/**
|
|
155
|
+
/**
|
|
156
|
+
* Why a packet was admitted or blocked — the per-admission explain record.
|
|
157
|
+
* Carries the FULL constraint-outcome array the decision was taken against
|
|
158
|
+
* (every key consulted, its headroom before, the packet's cost against it,
|
|
159
|
+
* which key refused) plus the non-decisive walk trail — never a one-of-N
|
|
160
|
+
* scalar that looks authoritative while being partial
|
|
161
|
+
* ([[write-only-data-looks-authoritative]]).
|
|
162
|
+
*/
|
|
105
163
|
export const AdmissionExplainSchema = z
|
|
106
164
|
.object({
|
|
107
165
|
packet_id: z.string(),
|
|
108
|
-
/** null
|
|
166
|
+
/** null when NO pool was capable, or on a plan-only (`planned`) grant. */
|
|
109
167
|
pool_id: z.string().nullable(),
|
|
110
|
-
resource_key: z.string().nullable(),
|
|
111
168
|
admitted: z.boolean(),
|
|
112
169
|
reason: z.enum([
|
|
113
170
|
"admitted",
|
|
171
|
+
// Plan-only display grant (`grantLeases: false`): the in-process rolling
|
|
172
|
+
// engine leases per-packet at dispatch time and records its decisions in
|
|
173
|
+
// the engine decision log — no lease exists for this record, by design.
|
|
174
|
+
"planned",
|
|
114
175
|
"no_capable_pool",
|
|
115
176
|
"budget_exhausted",
|
|
116
177
|
"cap_reached",
|
|
117
178
|
"packet_oversized",
|
|
118
179
|
// A window that APPLIES to the packet has no learned tokens-per-percent slope,
|
|
119
|
-
// so it cannot price the draw. Distinct from : nothing ran
|
|
180
|
+
// so it cannot price the draw. Distinct from budget_exhausted: nothing ran
|
|
120
181
|
// out, the pool is still calibrating — telling the operator the budget is gone
|
|
121
182
|
// would be a false report of a wall that does not exist.
|
|
122
183
|
"window_uncalibrated",
|
|
123
184
|
]),
|
|
124
185
|
/**
|
|
125
|
-
*
|
|
126
|
-
*
|
|
127
|
-
*
|
|
128
|
-
*
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
*
|
|
133
|
-
*
|
|
186
|
+
* The DECISIVE attempt's full constraint-outcome array: on a grant, the
|
|
187
|
+
* successful admit's; on a ledger refusal, the refusing decision's. Empty
|
|
188
|
+
* when the ledger was never reached (no_capable_pool / cap_reached /
|
|
189
|
+
* window_uncalibrated / planned / packet_oversized).
|
|
190
|
+
*/
|
|
191
|
+
constraints: z.array(ConstraintOutcomeRecordSchema),
|
|
192
|
+
/**
|
|
193
|
+
* The tightest (or refusing) constraint of the decisive attempt — the
|
|
194
|
+
* binding window a report should name, as its full outcome row. Null when
|
|
195
|
+
* the ledger was never reached.
|
|
134
196
|
*/
|
|
135
|
-
|
|
136
|
-
|
|
197
|
+
binding: ConstraintOutcomeRecordSchema.nullable(),
|
|
198
|
+
/** Pools consulted and refused BEFORE the decision, in walk order. */
|
|
199
|
+
attempts: z.array(AdmissionAttemptSchema),
|
|
200
|
+
/** cap_reached refusal only: the in-flight count and cap that refused. */
|
|
201
|
+
in_flight_before: z.number().optional(),
|
|
202
|
+
cap: z.number().optional(),
|
|
203
|
+
/** window_uncalibrated refusal only: labels of the unpriceable windows. */
|
|
204
|
+
unpriced_windows: z.array(z.string()).optional(),
|
|
137
205
|
cost: z.number(),
|
|
138
206
|
})
|
|
139
207
|
.strict();
|
|
@@ -417,9 +485,11 @@ export async function admitBatch(input) {
|
|
|
417
485
|
explains.push({
|
|
418
486
|
packet_id: packet.id,
|
|
419
487
|
pool_id: null,
|
|
420
|
-
resource_key: null,
|
|
421
488
|
admitted: false,
|
|
422
489
|
reason: "no_capable_pool",
|
|
490
|
+
constraints: [],
|
|
491
|
+
binding: null,
|
|
492
|
+
attempts: [],
|
|
423
493
|
cost: packet.cost,
|
|
424
494
|
});
|
|
425
495
|
blocked.push(packet.id);
|
|
@@ -428,6 +498,13 @@ export async function admitBatch(input) {
|
|
|
428
498
|
let placed = false;
|
|
429
499
|
let lastReason = "budget_exhausted";
|
|
430
500
|
let lastPool = candidates[0];
|
|
501
|
+
// The refused-consultation trail (legibility): every pool the walk tried and
|
|
502
|
+
// passed over, with why — the decisive pool's data lands on the explain
|
|
503
|
+
// record itself, never duplicated here.
|
|
504
|
+
const attempts = [];
|
|
505
|
+
// The decisive ledger decision on a total refusal (the LAST pool's), so the
|
|
506
|
+
// explain carries the full constraint-outcome array it was decided on.
|
|
507
|
+
let lastDecision = null;
|
|
431
508
|
for (const pool of candidates) {
|
|
432
509
|
// Effective in-flight cap = the declared hard cap, TIGHTENED at cold start to a
|
|
433
510
|
// TOKEN-AWARE calibration batch (never a flat magic count). `pool.budget` is
|
|
@@ -446,8 +523,16 @@ export async function admitBatch(input) {
|
|
|
446
523
|
: null;
|
|
447
524
|
const effectiveCap = coldStartBatch != null ? Math.min(pool.declaredCap ?? coldStartBatch, coldStartBatch) : pool.declaredCap;
|
|
448
525
|
if (effectiveCap != null && (countByPool.get(pool.poolId) ?? 0) >= effectiveCap) {
|
|
526
|
+
attempts.push({
|
|
527
|
+
pool_id: pool.poolId,
|
|
528
|
+
reason: "cap_reached",
|
|
529
|
+
constraints: [],
|
|
530
|
+
in_flight_before: countByPool.get(pool.poolId) ?? 0,
|
|
531
|
+
cap: effectiveCap,
|
|
532
|
+
});
|
|
449
533
|
lastReason = "cap_reached";
|
|
450
534
|
lastPool = pool;
|
|
535
|
+
lastDecision = null;
|
|
451
536
|
continue;
|
|
452
537
|
}
|
|
453
538
|
// Reserve against EVERY window this pool must fit inside — the account-scoped
|
|
@@ -472,8 +557,15 @@ export async function admitBatch(input) {
|
|
|
472
557
|
// for a calibrating pool it would livelock (blocked ⇒ no dispatch ⇒ no delta
|
|
473
558
|
// sample ⇒ no slope ⇒ blocked), so that producer change must come with a
|
|
474
559
|
// calibration escape, not a relaxation here.
|
|
560
|
+
attempts.push({
|
|
561
|
+
pool_id: pool.poolId,
|
|
562
|
+
reason: "window_uncalibrated",
|
|
563
|
+
constraints: [],
|
|
564
|
+
unpriced_windows: unpriced.map((w) => w.label),
|
|
565
|
+
});
|
|
475
566
|
lastReason = "window_uncalibrated";
|
|
476
567
|
lastPool = pool;
|
|
568
|
+
lastDecision = null;
|
|
477
569
|
continue;
|
|
478
570
|
}
|
|
479
571
|
const decision = await input.ledger.admit({
|
|
@@ -481,11 +573,20 @@ export async function admitBatch(input) {
|
|
|
481
573
|
poolId: pool.poolId,
|
|
482
574
|
...(input.leaseTtlMs != null ? { leaseTtlMs: input.leaseTtlMs } : {}),
|
|
483
575
|
});
|
|
576
|
+
// The full per-constraint evaluation (every key consulted, its headroom,
|
|
577
|
+
// this draw's cost against it, which cleared) — carried onto the explain
|
|
578
|
+
// record whether the decision admits or refuses. Non-finite headroom is
|
|
579
|
+
// genuinely unbounded and normalizes to `null` (the schema must match the
|
|
580
|
+
// literal bytes JSON.stringify puts on disk).
|
|
581
|
+
const outcomeRecords = toConstraintOutcomeRecords(decision.constraints);
|
|
582
|
+
const bindingRecord = decision.binding
|
|
583
|
+
? toConstraintOutcomeRecords([decision.binding])[0]
|
|
584
|
+
: null;
|
|
484
585
|
if (decision.admitted && decision.leaseId) {
|
|
485
586
|
granted.push({
|
|
486
587
|
packet_id: packet.id,
|
|
487
588
|
pool_id: pool.poolId,
|
|
488
|
-
|
|
589
|
+
resource_keys: [...new Set(decision.constraints.map((o) => o.resourceKey))],
|
|
489
590
|
lease_id: decision.leaseId,
|
|
490
591
|
cost: packet.cost,
|
|
491
592
|
});
|
|
@@ -493,37 +594,43 @@ export async function admitBatch(input) {
|
|
|
493
594
|
explains.push({
|
|
494
595
|
packet_id: packet.id,
|
|
495
596
|
pool_id: pool.poolId,
|
|
496
|
-
resource_key: pool.resourceKey,
|
|
497
597
|
admitted: true,
|
|
498
598
|
reason: "admitted",
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
// unbounded — normalize to `null` explicitly here rather than
|
|
503
|
-
// leaving `Infinity` for `JSON.stringify` to collapse
|
|
504
|
-
// implicitly; the schema field's type must match what the
|
|
505
|
-
// artifact actually contains on disk.
|
|
506
|
-
headroom_before: Number.isFinite(decision.binding.headroomBefore)
|
|
507
|
-
? decision.binding.headroomBefore
|
|
508
|
-
: null,
|
|
509
|
-
outstanding_before: decision.binding.outstandingBefore,
|
|
510
|
-
}
|
|
511
|
-
: {}),
|
|
599
|
+
constraints: outcomeRecords,
|
|
600
|
+
binding: bindingRecord,
|
|
601
|
+
attempts,
|
|
512
602
|
cost: packet.cost,
|
|
513
603
|
});
|
|
514
604
|
placed = true;
|
|
515
605
|
break;
|
|
516
606
|
}
|
|
607
|
+
attempts.push({
|
|
608
|
+
pool_id: pool.poolId,
|
|
609
|
+
reason: "budget_exhausted",
|
|
610
|
+
constraints: outcomeRecords,
|
|
611
|
+
});
|
|
517
612
|
lastReason = "budget_exhausted";
|
|
518
613
|
lastPool = pool;
|
|
614
|
+
lastDecision = { constraints: outcomeRecords, binding: bindingRecord };
|
|
519
615
|
}
|
|
520
616
|
if (!placed) {
|
|
617
|
+
// The decisive (last) pool's refused consultation is carried on the record
|
|
618
|
+
// itself — pop it off the trail so the two never duplicate, and lift its
|
|
619
|
+
// reason-specific extras (cap counts / unpriceable labels) onto the record.
|
|
620
|
+
const decisive = attempts.length > 0 && attempts[attempts.length - 1].pool_id === lastPool.poolId
|
|
621
|
+
? attempts.pop()
|
|
622
|
+
: null;
|
|
521
623
|
explains.push({
|
|
522
624
|
packet_id: packet.id,
|
|
523
625
|
pool_id: lastPool.poolId,
|
|
524
|
-
resource_key: lastPool.resourceKey,
|
|
525
626
|
admitted: false,
|
|
526
627
|
reason: lastReason,
|
|
628
|
+
constraints: lastDecision?.constraints ?? [],
|
|
629
|
+
binding: lastDecision?.binding ?? null,
|
|
630
|
+
attempts,
|
|
631
|
+
...(decisive?.in_flight_before != null ? { in_flight_before: decisive.in_flight_before } : {}),
|
|
632
|
+
...(decisive?.cap != null ? { cap: decisive.cap } : {}),
|
|
633
|
+
...(decisive?.unpriced_windows ? { unpriced_windows: decisive.unpriced_windows } : {}),
|
|
527
634
|
cost: packet.cost,
|
|
528
635
|
});
|
|
529
636
|
blocked.push(packet.id);
|
|
@@ -531,6 +638,25 @@ export async function admitBatch(input) {
|
|
|
531
638
|
}
|
|
532
639
|
return { granted, explains, blocked };
|
|
533
640
|
}
|
|
641
|
+
/**
|
|
642
|
+
* The plan-only display grant's explain record: no lease exists BY DESIGN — the
|
|
643
|
+
* in-process rolling engine admits + leases per-packet at dispatch time, and its
|
|
644
|
+
* decisions land in the engine decision log. This record exists so a non-empty
|
|
645
|
+
* decision round can never present an empty explains array (the legibility
|
|
646
|
+
* invariant's "a decision path that writes no explain is itself a defect").
|
|
647
|
+
*/
|
|
648
|
+
function plannedExplain(candidate) {
|
|
649
|
+
return {
|
|
650
|
+
packet_id: candidate.id,
|
|
651
|
+
pool_id: null,
|
|
652
|
+
admitted: true,
|
|
653
|
+
reason: "planned",
|
|
654
|
+
constraints: [],
|
|
655
|
+
binding: null,
|
|
656
|
+
attempts: [],
|
|
657
|
+
cost: candidate.cost,
|
|
658
|
+
};
|
|
659
|
+
}
|
|
534
660
|
/**
|
|
535
661
|
* Build the `DispatchAdmission` contract block both orchestrators embed in their
|
|
536
662
|
* dispatch-quota — the single-sourced host-path admission derivation (no per-tool
|
|
@@ -559,13 +685,15 @@ export async function computeDispatchAdmission(input) {
|
|
|
559
685
|
// display-only): the engine can still size-refuse a displayed grant onto a
|
|
560
686
|
// capped pool; the packet remains dispatchable to uncapped pools.
|
|
561
687
|
// An EMPTY pool set means no capacity summary reached admission, not "nothing
|
|
562
|
-
// is capable" — grant all, as before the floor existed.
|
|
688
|
+
// is capable" — grant all, as before the floor existed. Every grant still
|
|
689
|
+
// writes its `planned` explain: an empty explains array on a non-empty
|
|
690
|
+
// decision round is itself a defect (the live 144-granted-empty incident).
|
|
563
691
|
if (input.pools.length === 0) {
|
|
564
692
|
return {
|
|
565
693
|
granted_packet_ids: candidates.map((c) => c.id),
|
|
566
694
|
declared_cap: declaredCap,
|
|
567
695
|
leases: [],
|
|
568
|
-
explains:
|
|
696
|
+
explains: candidates.map((c) => plannedExplain(c)),
|
|
569
697
|
};
|
|
570
698
|
}
|
|
571
699
|
// Same-pool conjunction of the two per-packet engine axes: capability floor
|
|
@@ -587,14 +715,17 @@ export async function computeDispatchAdmission(input) {
|
|
|
587
715
|
const granted = input.pools.some((pool, i) => floorOnly(sizeNeutralPools[i], candidate) && defaultCapable(pool, candidate));
|
|
588
716
|
if (granted) {
|
|
589
717
|
grantedIds.push(candidate.id);
|
|
718
|
+
explains.push(plannedExplain(candidate));
|
|
590
719
|
}
|
|
591
720
|
else {
|
|
592
721
|
explains.push({
|
|
593
722
|
packet_id: candidate.id,
|
|
594
723
|
pool_id: null,
|
|
595
|
-
resource_key: null,
|
|
596
724
|
admitted: false,
|
|
597
725
|
reason: "packet_oversized",
|
|
726
|
+
constraints: [],
|
|
727
|
+
binding: null,
|
|
728
|
+
attempts: [],
|
|
598
729
|
cost: candidate.cost,
|
|
599
730
|
});
|
|
600
731
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admissionLoop.js","sourceRoot":"","sources":["../../../src/shared/dispatch/admissionLoop.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"admissionLoop.js","sourceRoot":"","sources":["../../../src/shared/dispatch/admissionLoop.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* In-process engine decision log — the dispatch-time half of the legibility
|
|
3
|
+
* invariant (spec/audit/dispatch-admission-control.md, Resolved decision 3:
|
|
4
|
+
* every dispatch decision leaves a deterministic, mechanistic trace).
|
|
5
|
+
*
|
|
6
|
+
* The host-path grant persists its decisions in the dispatch-quota artifact's
|
|
7
|
+
* `admission.explains`; the in-process rolling engine decides per-packet at
|
|
8
|
+
* dispatch time, AFTER that artifact is written, so its decisions need their own
|
|
9
|
+
* record. The engine stamps and emits every decision through one chokepoint: a
|
|
10
|
+
* wired `onAdmissionDecision` sink receives it (the drivers append it to
|
|
11
|
+
* `dispatch-explains.jsonl` in the run dir via {@link createDispatchDecisionLog});
|
|
12
|
+
* with NO sink wired the engine writes the same record to stderr as a JSON line —
|
|
13
|
+
* a decision can never silently vanish, wired or not.
|
|
14
|
+
*
|
|
15
|
+
* Records are EVENTS, not state: a packet admitted on one pass and stranded on a
|
|
16
|
+
* later one appears twice. Ordering: `seq` is PER-DISPATCHER monotonic — and a
|
|
17
|
+
* multi-sub-wave drive runs several dispatchers into ONE file, so seq alone is
|
|
18
|
+
* not file-authoritative. The sink stamps `file_seq` (per-sink monotonic) on
|
|
19
|
+
* append; `file_seq` is the authoritative order of a dispatch-explains.jsonl,
|
|
20
|
+
* `ts` is wall-clock context (host-review F2, 2026-07-23).
|
|
21
|
+
*/
|
|
22
|
+
import type { ConstraintOutcomeRecord } from "./admissionLoop.js";
|
|
23
|
+
/** One engine dispatch decision, before stamping. */
|
|
24
|
+
export type EngineDecisionRecord =
|
|
25
|
+
/**
|
|
26
|
+
* A packet dispatched to a pool. `lease_id: null` = no reservation ledger is
|
|
27
|
+
* wired (unmetered pool set — the reactive 429 floor is the safety), so the
|
|
28
|
+
* decision is the pool selection itself and `constraints` is empty.
|
|
29
|
+
*/
|
|
30
|
+
{
|
|
31
|
+
kind: "engine_admitted";
|
|
32
|
+
packet_id: string;
|
|
33
|
+
pool_id: string;
|
|
34
|
+
lease_id: string | null;
|
|
35
|
+
cost: number;
|
|
36
|
+
constraints: ConstraintOutcomeRecord[];
|
|
37
|
+
binding: ConstraintOutcomeRecord | null;
|
|
38
|
+
/** True when the liveness backstop force-admitted an over-budget packet. */
|
|
39
|
+
forced: boolean;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* The ledger refused a (packet, pool) reservation this pass (packet stays
|
|
43
|
+
* pending). `forced: true` = the anti-deadlock backstop's unbounded re-admit
|
|
44
|
+
* was attempted and ALSO refused (reachable only via window_uncalibrated —
|
|
45
|
+
* the backstop unbounds budgets, not slopes). Blocked records are
|
|
46
|
+
* transition-deduped per packet: one record per distinct
|
|
47
|
+
* (pool, reason, any_outstanding, forced), reset when the packet dispatches.
|
|
48
|
+
*/
|
|
49
|
+
| {
|
|
50
|
+
kind: "engine_blocked";
|
|
51
|
+
packet_id: string;
|
|
52
|
+
pool_id: string;
|
|
53
|
+
reason: "budget_exhausted" | "window_uncalibrated";
|
|
54
|
+
constraints: ConstraintOutcomeRecord[];
|
|
55
|
+
binding: ConstraintOutcomeRecord | null;
|
|
56
|
+
any_outstanding: boolean;
|
|
57
|
+
forced?: boolean;
|
|
58
|
+
unpriced_windows?: string[];
|
|
59
|
+
}
|
|
60
|
+
/** Every pool is exhausted or paused — the remaining queue strands (retryable when paused). */
|
|
61
|
+
| {
|
|
62
|
+
kind: "engine_stranded_pool_wall";
|
|
63
|
+
packet_ids: string[];
|
|
64
|
+
pools: {
|
|
65
|
+
pool_id: string;
|
|
66
|
+
status: "exhausted" | "paused";
|
|
67
|
+
reset_at?: string;
|
|
68
|
+
}[];
|
|
69
|
+
}
|
|
70
|
+
/** Per-packet permanent strand: every pool refuses for a non-resetting reason. */
|
|
71
|
+
| {
|
|
72
|
+
kind: "engine_stranded_no_fitting_pool";
|
|
73
|
+
packets: {
|
|
74
|
+
packet_id: string;
|
|
75
|
+
pools: {
|
|
76
|
+
pool_id: string;
|
|
77
|
+
why: "pool_exhausted" | "oversized_for_pool" | "context_cap" | "below_capability_floor";
|
|
78
|
+
}[];
|
|
79
|
+
}[];
|
|
80
|
+
}
|
|
81
|
+
/** This packet 413'd every pool that could ever take it. */
|
|
82
|
+
| {
|
|
83
|
+
kind: "engine_stranded_packet_too_large_all_pools";
|
|
84
|
+
packet_id: string;
|
|
85
|
+
skipped_pool_ids: string[];
|
|
86
|
+
}
|
|
87
|
+
/** Host-session escalation strand (account wall re-tripped the same packet). */
|
|
88
|
+
| {
|
|
89
|
+
kind: "engine_stranded_host_session_escalation";
|
|
90
|
+
packet_id: string;
|
|
91
|
+
pool_id: string;
|
|
92
|
+
};
|
|
93
|
+
/**
|
|
94
|
+
* The stamped form the engine emits: per-dispatcher monotonic `seq` +
|
|
95
|
+
* wall-clock `ts`. `file_seq` is added by the SINK (per-file monotonic — the
|
|
96
|
+
* authoritative order across a multi-dispatcher drive); absent on records that
|
|
97
|
+
* fell back to stderr from the engine itself.
|
|
98
|
+
*/
|
|
99
|
+
export type StampedEngineDecisionRecord = EngineDecisionRecord & {
|
|
100
|
+
ts: string;
|
|
101
|
+
seq: number;
|
|
102
|
+
file_seq?: number;
|
|
103
|
+
};
|
|
104
|
+
/** The sink the engine's `onAdmissionDecision` seam expects. */
|
|
105
|
+
export type EngineDecisionSink = (record: StampedEngineDecisionRecord) => void;
|
|
106
|
+
/**
|
|
107
|
+
* Append-only JSONL sink for engine decision records — one JSON object per line,
|
|
108
|
+
* `runs/<runId>/dispatch-explains.jsonl` by convention (the drivers own the
|
|
109
|
+
* path). Synchronous single-line appends so concurrent async completions in one
|
|
110
|
+
* process can never interleave partial lines. Best-effort with a LOUD once-only
|
|
111
|
+
* degrade: an append failure (disk, permissions, path) warns to stderr the first
|
|
112
|
+
* time and falls back to stderr emission for every subsequent record, so a
|
|
113
|
+
* failing sink downgrades to telemetry rather than silently dropping decisions.
|
|
114
|
+
*/
|
|
115
|
+
export declare function createDispatchDecisionLog(filePath: string): EngineDecisionSink;
|
|
116
|
+
//# sourceMappingURL=dispatchDecisionLog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dispatchDecisionLog.d.ts","sourceRoot":"","sources":["../../../src/shared/dispatch/dispatchDecisionLog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAIH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAElE,qDAAqD;AACrD,MAAM,MAAM,oBAAoB;AAC9B;;;;GAIG;AACD;IACE,IAAI,EAAE,iBAAiB,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,uBAAuB,EAAE,CAAC;IACvC,OAAO,EAAE,uBAAuB,GAAG,IAAI,CAAC;IACxC,4EAA4E;IAC5E,MAAM,EAAE,OAAO,CAAC;CACjB;AACH;;;;;;;GAOG;GACD;IACE,IAAI,EAAE,gBAAgB,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,kBAAkB,GAAG,qBAAqB,CAAC;IACnD,WAAW,EAAE,uBAAuB,EAAE,CAAC;IACvC,OAAO,EAAE,uBAAuB,GAAG,IAAI,CAAC;IACxC,eAAe,EAAE,OAAO,CAAC;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AACH,+FAA+F;GAC7F;IACE,IAAI,EAAE,2BAA2B,CAAC;IAClC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,WAAW,GAAG,QAAQ,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACjF;AACH,kFAAkF;GAChF;IACE,IAAI,EAAE,iCAAiC,CAAC;IACxC,OAAO,EAAE;QACP,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE;YACL,OAAO,EAAE,MAAM,CAAC;YAChB,GAAG,EAAE,gBAAgB,GAAG,oBAAoB,GAAG,aAAa,GAAG,wBAAwB,CAAC;SACzF,EAAE,CAAC;KACL,EAAE,CAAC;CACL;AACH,4DAA4D;GAC1D;IACE,IAAI,EAAE,4CAA4C,CAAC;IACnD,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AACH,gFAAgF;GAC9E;IACE,IAAI,EAAE,yCAAyC,CAAC;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEN;;;;;GAKG;AACH,MAAM,MAAM,2BAA2B,GAAG,oBAAoB,GAAG;IAC/D,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,gEAAgE;AAChE,MAAM,MAAM,kBAAkB,GAAG,CAAC,MAAM,EAAE,2BAA2B,KAAK,IAAI,CAAC;AAE/E;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,kBAAkB,CAgC9E"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* In-process engine decision log — the dispatch-time half of the legibility
|
|
3
|
+
* invariant (spec/audit/dispatch-admission-control.md, Resolved decision 3:
|
|
4
|
+
* every dispatch decision leaves a deterministic, mechanistic trace).
|
|
5
|
+
*
|
|
6
|
+
* The host-path grant persists its decisions in the dispatch-quota artifact's
|
|
7
|
+
* `admission.explains`; the in-process rolling engine decides per-packet at
|
|
8
|
+
* dispatch time, AFTER that artifact is written, so its decisions need their own
|
|
9
|
+
* record. The engine stamps and emits every decision through one chokepoint: a
|
|
10
|
+
* wired `onAdmissionDecision` sink receives it (the drivers append it to
|
|
11
|
+
* `dispatch-explains.jsonl` in the run dir via {@link createDispatchDecisionLog});
|
|
12
|
+
* with NO sink wired the engine writes the same record to stderr as a JSON line —
|
|
13
|
+
* a decision can never silently vanish, wired or not.
|
|
14
|
+
*
|
|
15
|
+
* Records are EVENTS, not state: a packet admitted on one pass and stranded on a
|
|
16
|
+
* later one appears twice. Ordering: `seq` is PER-DISPATCHER monotonic — and a
|
|
17
|
+
* multi-sub-wave drive runs several dispatchers into ONE file, so seq alone is
|
|
18
|
+
* not file-authoritative. The sink stamps `file_seq` (per-sink monotonic) on
|
|
19
|
+
* append; `file_seq` is the authoritative order of a dispatch-explains.jsonl,
|
|
20
|
+
* `ts` is wall-clock context (host-review F2, 2026-07-23).
|
|
21
|
+
*/
|
|
22
|
+
import { appendFileSync, mkdirSync } from "node:fs";
|
|
23
|
+
import { dirname } from "node:path";
|
|
24
|
+
/**
|
|
25
|
+
* Append-only JSONL sink for engine decision records — one JSON object per line,
|
|
26
|
+
* `runs/<runId>/dispatch-explains.jsonl` by convention (the drivers own the
|
|
27
|
+
* path). Synchronous single-line appends so concurrent async completions in one
|
|
28
|
+
* process can never interleave partial lines. Best-effort with a LOUD once-only
|
|
29
|
+
* degrade: an append failure (disk, permissions, path) warns to stderr the first
|
|
30
|
+
* time and falls back to stderr emission for every subsequent record, so a
|
|
31
|
+
* failing sink downgrades to telemetry rather than silently dropping decisions.
|
|
32
|
+
*/
|
|
33
|
+
export function createDispatchDecisionLog(filePath) {
|
|
34
|
+
let degraded = false;
|
|
35
|
+
let fileSeq = 0;
|
|
36
|
+
return (record) => {
|
|
37
|
+
// Per-file monotonic order: several sub-wave dispatchers (each with its own
|
|
38
|
+
// seq starting at 0) append through ONE sink, so the sink's counter is the
|
|
39
|
+
// authoritative order of this file.
|
|
40
|
+
const line = JSON.stringify({ ...record, file_seq: fileSeq++ }) + "\n";
|
|
41
|
+
if (!degraded) {
|
|
42
|
+
try {
|
|
43
|
+
mkdirSync(dirname(filePath), { recursive: true });
|
|
44
|
+
appendFileSync(filePath, line, "utf8");
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
catch (error) {
|
|
48
|
+
degraded = true;
|
|
49
|
+
try {
|
|
50
|
+
process.stderr.write(`[dispatch-decision-log] append to ${filePath} failed (${error instanceof Error ? error.message : String(error)}); falling back to stderr for the rest of this run\n`);
|
|
51
|
+
}
|
|
52
|
+
catch {
|
|
53
|
+
// Observability must never abort a run.
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
try {
|
|
58
|
+
process.stderr.write(line);
|
|
59
|
+
}
|
|
60
|
+
catch {
|
|
61
|
+
// Observability must never abort a run.
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=dispatchDecisionLog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dispatchDecisionLog.js","sourceRoot":"","sources":["../../../src/shared/dispatch/dispatchDecisionLog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqFpC;;;;;;;;GAQG;AACH,MAAM,UAAU,yBAAyB,CAAC,QAAgB;IACxD,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,OAAO,CAAC,MAAM,EAAE,EAAE;QAChB,4EAA4E;QAC5E,2EAA2E;QAC3E,oCAAoC;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC;QACvE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,IAAI,CAAC;gBACH,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAClD,cAAc,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;gBACvC,OAAO;YACT,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,QAAQ,GAAG,IAAI,CAAC;gBAChB,IAAI,CAAC;oBACH,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,qCAAqC,QAAQ,YAC3C,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACvD,sDAAsD,CACvD,CAAC;gBACJ,CAAC;gBAAC,MAAM,CAAC;oBACP,wCAAwC;gBAC1C,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,CAAC;YACH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC;YACP,wCAAwC;QAC1C,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
|