instar 1.3.781 → 1.3.783

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 (63) hide show
  1. package/dist/core/IntelligenceRouter.d.ts +9 -14
  2. package/dist/core/IntelligenceRouter.d.ts.map +1 -1
  3. package/dist/core/IntelligenceRouter.js +117 -56
  4. package/dist/core/IntelligenceRouter.js.map +1 -1
  5. package/dist/core/MeteredSpendGate.d.ts +119 -0
  6. package/dist/core/MeteredSpendGate.d.ts.map +1 -0
  7. package/dist/core/MeteredSpendGate.js +228 -0
  8. package/dist/core/MeteredSpendGate.js.map +1 -0
  9. package/dist/core/MeteredSpendLedger.d.ts +154 -0
  10. package/dist/core/MeteredSpendLedger.d.ts.map +1 -0
  11. package/dist/core/MeteredSpendLedger.js +434 -0
  12. package/dist/core/MeteredSpendLedger.js.map +1 -0
  13. package/dist/core/PinAttemptStore.d.ts +35 -0
  14. package/dist/core/PinAttemptStore.d.ts.map +1 -0
  15. package/dist/core/PinAttemptStore.js +85 -0
  16. package/dist/core/PinAttemptStore.js.map +1 -0
  17. package/dist/core/PostUpdateMigrator.d.ts +7 -0
  18. package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
  19. package/dist/core/PostUpdateMigrator.js +24 -0
  20. package/dist/core/PostUpdateMigrator.js.map +1 -1
  21. package/dist/core/RenderedPlanStore.d.ts +61 -0
  22. package/dist/core/RenderedPlanStore.d.ts.map +1 -0
  23. package/dist/core/RenderedPlanStore.js +92 -0
  24. package/dist/core/RenderedPlanStore.js.map +1 -0
  25. package/dist/core/RoutingSpendCapsStore.d.ts +113 -0
  26. package/dist/core/RoutingSpendCapsStore.d.ts.map +1 -0
  27. package/dist/core/RoutingSpendCapsStore.js +241 -0
  28. package/dist/core/RoutingSpendCapsStore.js.map +1 -0
  29. package/dist/core/SpendAlertResolver.d.ts +77 -0
  30. package/dist/core/SpendAlertResolver.d.ts.map +1 -0
  31. package/dist/core/SpendAlertResolver.js +141 -0
  32. package/dist/core/SpendAlertResolver.js.map +1 -0
  33. package/dist/core/WriteDomainRegistry.d.ts.map +1 -1
  34. package/dist/core/WriteDomainRegistry.js +17 -0
  35. package/dist/core/WriteDomainRegistry.js.map +1 -1
  36. package/dist/core/devGatedFeatures.d.ts.map +1 -1
  37. package/dist/core/devGatedFeatures.js +9 -0
  38. package/dist/core/devGatedFeatures.js.map +1 -1
  39. package/dist/core/routingSpendView.d.ts +10 -2
  40. package/dist/core/routingSpendView.d.ts.map +1 -1
  41. package/dist/core/routingSpendView.js +18 -10
  42. package/dist/core/routingSpendView.js.map +1 -1
  43. package/dist/core/types.d.ts +24 -2
  44. package/dist/core/types.d.ts.map +1 -1
  45. package/dist/core/types.js.map +1 -1
  46. package/dist/server/AgentServer.d.ts +9 -0
  47. package/dist/server/AgentServer.d.ts.map +1 -1
  48. package/dist/server/AgentServer.js +177 -0
  49. package/dist/server/AgentServer.js.map +1 -1
  50. package/dist/server/routes.d.ts +10 -0
  51. package/dist/server/routes.d.ts.map +1 -1
  52. package/dist/server/routes.js +196 -4
  53. package/dist/server/routes.js.map +1 -1
  54. package/dist/testing/selfActionRegistry.d.ts.map +1 -1
  55. package/dist/testing/selfActionRegistry.js +78 -0
  56. package/dist/testing/selfActionRegistry.js.map +1 -1
  57. package/package.json +1 -1
  58. package/src/data/builtin-manifest.json +64 -64
  59. package/upgrades/1.3.782.md +60 -0
  60. package/upgrades/1.3.783.md +66 -0
  61. package/upgrades/nature-routing-a2.2-enforcing.eli16.md +50 -0
  62. package/upgrades/side-effects/nature-routing-a2.2-enforcing.md +142 -0
  63. package/upgrades/side-effects/routing-spend-increment-b.md +44 -0
@@ -164,15 +164,18 @@ export interface IntelligenceRouterOptions {
164
164
  * (resolved at the construction boundary, like `ladder`). Absent OR `enabled:false`
165
165
  * ⇒ the nature router is inert and routing is BYTE-IDENTICAL to today. When enabled +
166
166
  * dryRun (the dev-agent default) the resolver OBSERVES (computes + logs the plan via
167
- * `onNatureRoutePlan`) and still passes through to today's selection. Enforcing
168
- * selection (dryRun:false) is a tracked A2.2 remainder.
167
+ * `onNatureRoutePlan`) and still passes through to today's selection. When enabled +
168
+ * `dryRun:false` (the operator's deliberate post-soak flip — A2.2) the resolved plan
169
+ * REPLACES today's selection: the primary `(door, model)` is used and the swapTail feeds
170
+ * the existing failure-swap loop.
169
171
  */
170
172
  resolveNatureRouting?: () => NatureRoutingRuntime | undefined;
171
173
  /**
172
- * S4 A2 — the dryRun observation sink (FD11 readable canary). Invoked with the resolved
173
- * plan when nature routing is enabled + dryRun. No-op downstream by default; the router
174
- * calls it freely. The durable `logs/nature-routing.jsonl` + `GET /intelligence/routing`
175
- * surfaces that consume this are a tracked A2.2 remainder.
174
+ * S4 A2 — the resolved-plan observation sink (FD11 readable canary). Invoked with the
175
+ * resolved plan on EVERY nature-routing call (dryRun AND enforcing) so the plan is always
176
+ * observable. No-op downstream by default; the router calls it freely. The durable
177
+ * `logs/nature-routing.jsonl` + `GET /intelligence/routing` surfaces that consume this,
178
+ * and the FD6 critical-gate drift notice / baseline, are tracked follow-ups.
176
179
  */
177
180
  onNatureRoutePlan?: (plan: NatureRoutePlan) => void;
178
181
  }
@@ -446,8 +449,6 @@ export declare class IntelligenceRouter implements IntelligenceProvider {
446
449
  private providerFor;
447
450
  /** Default framework → shared provider; else the cached per-framework provider (null if binary missing). */
448
451
  private resolveProvider;
449
- /** Already warned that nature-routing enforcing mode is not yet wired (warn ONCE). */
450
- private warnedNatureEnforceNotWired;
451
452
  /**
452
453
  * S4 A2 — CLI-door reachability probe for the nature router (FD5 availability walk).
453
454
  * CLI doors coincide 1:1 with `IntelligenceFramework`. `resolveRoute` skips metered
@@ -456,12 +457,6 @@ export declare class IntelligenceRouter implements IntelligenceProvider {
456
457
  * builds (binary present). Result is cached by `providerFor`.
457
458
  */
458
459
  private isCliDoorReachable;
459
- /**
460
- * S4 A2 — enforcing-mode honesty guard. Flipping `dryRun:false` in A2.1 does NOT re-route
461
- * (the selection integration is a tracked A2.2 remainder); routing stays byte-identical.
462
- * Warn ONCE so the flip is an honest no-op rather than a silent dead switch.
463
- */
464
- private warnNatureEnforceNotWired;
465
460
  /** Chains already warned about as rejected (warn ONCE per chain, never per call). */
466
461
  private warnedRejectedChains?;
467
462
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"IntelligenceRouter.d.ts","sourceRoot":"","sources":["../../src/core/IntelligenceRouter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IntelligenceRouter.d.ts","sourceRoot":"","sources":["../../src/core/IntelligenceRouter.ts"],"names":[],"mappings":"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"}
@@ -175,16 +175,17 @@ export function isBoundedGatingDegrade(component, options) {
175
175
  return row.chain !== 'WRITE'; // WRITE is the sanctioned Opus-CLI lane; everything else is bounded/gating
176
176
  }
177
177
  /* ────────────────────────────────────────────────────────────────────────────
178
- * S4 Increment A2 — the nature-axis routing RESOLVER (dark/dryRun mechanism).
178
+ * S4 Increment A2 — the nature-axis routing RESOLVER.
179
179
  *
180
180
  * `resolveRoute` is a PURE, side-effect-free evaluator (spec CR2-5): a stateless
181
181
  * fold `component → resolvedNature → ordered eligible positions → { primary, swapTail }
182
182
  * | 'fall-through' | 'no-route' | throw`. It owns no retry/backoff/breaker/budget
183
183
  * machinery — those stay in the existing IntelligenceRouter primitives. Wired into
184
184
  * `evaluate()` ONLY when `sessions.natureRouting.enabled` (dev-gated dark). In dryRun
185
- * (the dev-agent default) it OBSERVES: computes + logs the plan, then passes through to
186
- * today's routing (byte-identical selection). Enforcing selection (dryRun:false) is a
187
- * tracked A2.2 remainder see the honest guard in `evaluate()`.
185
+ * (the dev-agent default, A2.1) it OBSERVES: computes + logs the plan, then passes through
186
+ * to today's routing (byte-identical selection). When `dryRun:false` (A2.2, the operator's
187
+ * deliberate post-soak flip) the resolved plan REPLACES today's selection — the primary
188
+ * `(door, model)` is used and the swapTail feeds the existing failure-swap loop verbatim.
188
189
  * Spec: docs/specs/nature-axis-routing.md §Resolver / FD3 / FD4 / FD9.
189
190
  * ──────────────────────────────────────────────────────────────────────────── */
190
191
  /**
@@ -643,8 +644,6 @@ export class IntelligenceRouter {
643
644
  resolveProvider(framework) {
644
645
  return framework === this.opts.defaultFramework ? this.opts.defaultProvider : this.providerFor(framework);
645
646
  }
646
- /** Already warned that nature-routing enforcing mode is not yet wired (warn ONCE). */
647
- warnedNatureEnforceNotWired = false;
648
647
  /**
649
648
  * S4 A2 — CLI-door reachability probe for the nature router (FD5 availability walk).
650
649
  * CLI doors coincide 1:1 with `IntelligenceFramework`. `resolveRoute` skips metered
@@ -655,20 +654,6 @@ export class IntelligenceRouter {
655
654
  isCliDoorReachable(door) {
656
655
  return this.resolveProvider(door) !== null;
657
656
  }
658
- /**
659
- * S4 A2 — enforcing-mode honesty guard. Flipping `dryRun:false` in A2.1 does NOT re-route
660
- * (the selection integration is a tracked A2.2 remainder); routing stays byte-identical.
661
- * Warn ONCE so the flip is an honest no-op rather than a silent dead switch.
662
- */
663
- warnNatureEnforceNotWired() {
664
- if (this.warnedNatureEnforceNotWired)
665
- return;
666
- this.warnedNatureEnforceNotWired = true;
667
- console.warn('IntelligenceRouter: sessions.natureRouting.dryRun is false, but nature-routing ENFORCING ' +
668
- 'selection is not wired in this build (Increment A2.1 ships the dark/dryRun observation ' +
669
- 'mechanism; enforcing selection is the tracked A2.2 remainder). Routing stays byte-identical — ' +
670
- 'the resolver plan is logged but not applied.');
671
- }
672
657
  /** Chains already warned about as rejected (warn ONCE per chain, never per call). */
673
658
  warnedRejectedChains;
674
659
  /**
@@ -695,13 +680,21 @@ export class IntelligenceRouter {
695
680
  ? explicitCategory
696
681
  : categoryForComponent(component);
697
682
  const cfg = this.opts.resolveConfig();
698
- // ── S4 A2 — nature-axis routing OBSERVATION (dev-gated dark; dryRun-first). ──
683
+ // ── S4 A2 — nature-axis routing (dev-gated dark; dryRun-first). ──
699
684
  // Byte-identical when unset/off: when the feature is absent OR `enabled:false` this
700
685
  // whole block is skipped and NOTHING about selection changes. In dryRun (the dev-agent
701
686
  // default) it OBSERVES only — computes + logs the plan via `onNatureRoutePlan` — and
702
- // still falls through to today's selection below. Enforcing SELECTION (dryRun:false) is
703
- // a tracked A2.2 remainder; guarded here so a flip is an HONEST no-op, never a silent
704
- // dead switch and never a mis-route. A resolver error can never break routing here.
687
+ // still falls through to today's selection below. When ENFORCING (`dryRun:false`, the
688
+ // operator's deliberate flip after the dryRun soak A2.2) the resolved plan REPLACES
689
+ // today's selection (spec §Resolver steps 8-9): the primary `(door, model)` becomes the
690
+ // selection and the `swapTail` feeds the EXISTING failure-swap loop verbatim. A resolver
691
+ // error can never break routing here — the DESIGNED critical-gate fail-closed throw
692
+ // (`RouterFailClosedError`) propagates on the real path so the gate caller applies its
693
+ // own fail-closed semantics; any UNEXPECTED resolver error falls through to today's
694
+ // selection (fail-safe). In dryRun EVERY outcome (route / no-route / throw) is recorded
695
+ // only — nothing is ever withheld or re-routed.
696
+ let enforced;
697
+ let enforcedNoRoute = false;
705
698
  const natureRt = this.opts.resolveNatureRouting?.();
706
699
  if (natureRt?.enabled) {
707
700
  const dryRun = natureRt.dryRun !== false; // default true on first enable
@@ -713,26 +706,69 @@ export class IntelligenceRouter {
713
706
  isInjectionExposed: (comp) => isComponentInjectionExposed(comp, options?.attribution?.injectionExposed === true),
714
707
  });
715
708
  this.opts.onNatureRoutePlan?.({ component, category, dryRun, resolution });
709
+ if (!dryRun) {
710
+ // ENFORCE (A2.2): the resolved plan becomes the actual selection.
711
+ if (resolution.outcome === 'route') {
712
+ enforced = { primary: resolution.primary, swapTail: resolution.swapTail };
713
+ }
714
+ else if (resolution.outcome === 'no-route') {
715
+ // Low-stakes mapped, all chain doors down ⇒ the caller's OWN non-gating heuristic
716
+ // (the ordinary provider-down contract) — NEVER legacy category routing, so the
717
+ // harness door can't re-open for a nature-routed component (spec §573-581).
718
+ enforcedNoRoute = true;
719
+ }
720
+ // 'fall-through' (unmapped) ⇒ leave enforcement unset → today's category routing below.
721
+ }
716
722
  }
717
723
  catch (e) {
718
724
  if (e instanceof RouterFailClosedError) {
719
725
  this.opts.onNatureRoutePlan?.({ component, category, dryRun, failClosed: true });
726
+ // ENFORCE (A2.2): a mapped FD6 critical gate with no available door FAILS CLOSED on
727
+ // the real path — the caller applies its gating fail-closed semantics (block/deny),
728
+ // never legacy routing and never the harness door. In dryRun the throw is swallowed
729
+ // (observe-and-record only), never surfaced to the call path.
730
+ if (!dryRun)
731
+ throw e;
720
732
  }
721
733
  else {
734
+ // An UNEXPECTED resolver error (the pure fold only THROWS `RouterFailClosedError` by
735
+ // design). Record it and fall through to today's selection — an unexpected error must
736
+ // never break routing (fail-safe); a real empty-set critical gate is the typed error
737
+ // above, never this branch.
722
738
  this.opts.onNatureRoutePlan?.({ component, category, dryRun });
723
739
  }
724
740
  }
725
- if (!dryRun)
726
- this.warnNatureEnforceNotWired();
727
741
  }
728
- // Unconfigured exactly today's behavior.
729
- if (!cfg)
730
- return this.opts.defaultProvider.evaluate(prompt, options);
731
- const framework = this.resolveFramework(component, category, cfg);
742
+ // ENFORCE 'no-route': raise the ordinary non-gating error the caller already catches into
743
+ // its heuristic (tracked never-silent). NEVER legacy category routing (harness-door re-open).
744
+ if (enforcedNoRoute) {
745
+ this.opts.onHeuristicFallthrough?.(component ?? '(none)', this.opts.defaultFramework);
746
+ throw new Error(`IntelligenceRouter: nature-routing 'no-route' — no available door for low-stakes ` +
747
+ `'${component ?? '(none)'}' (all chain doors unreachable); caller uses its heuristic.`);
748
+ }
749
+ // Selection: an enforced nature plan supersedes category routing (its primary door is
750
+ // guaranteed reachable — the resolver only emits reachable CLI doors). Otherwise today's
751
+ // behavior: unconfigured componentFrameworks ⇒ the default provider verbatim.
752
+ let framework;
753
+ let evalOptions = options;
754
+ if (enforced) {
755
+ framework = enforced.primary.door; // resolver emits CLI doors only
756
+ // The resolved primary's CONCRETE model id REPLACES the caller's tier hint (spec step 8).
757
+ // It is already reserve-clamped by the resolver (clampToReserveOnCleanDoor); a concrete id
758
+ // rides `options.model` verbatim to the provider (the adapters resolve tier-or-id).
759
+ evalOptions = { ...(options ?? {}), model: enforced.primary.modelId };
760
+ }
761
+ else {
762
+ if (!cfg)
763
+ return this.opts.defaultProvider.evaluate(prompt, options);
764
+ framework = this.resolveFramework(component, category, cfg);
765
+ }
732
766
  const primary = this.resolveProvider(framework);
733
767
  // Provider unavailable (binary missing / not built) — unchanged: degrade or error.
768
+ // (`cfg?.` because an enforced nature plan may have superseded category routing with a
769
+ // null `cfg`; an enforced primary door is always reachable, so this branch stays legacy.)
734
770
  if (!primary) {
735
- if ((cfg.fallback ?? 'default') === 'none') {
771
+ if ((cfg?.fallback ?? 'default') === 'none') {
736
772
  throw new Error(`IntelligenceRouter: framework '${framework}' for component '${component ?? '(none)'}' ` +
737
773
  `is unavailable and fallback is 'none'.`);
738
774
  }
@@ -785,13 +821,21 @@ export class IntelligenceRouter {
785
821
  const deferrable = !gating && options?.attribution?.deferrable === true;
786
822
  const ladder = this.opts.ladder;
787
823
  // Framework-swap applies to a gating OR a deferrable call (both ladder paths include it).
788
- const swapTargets = (gating || deferrable) && cfg.failureSwap ? cfg.failureSwap : [];
824
+ // An enforced nature plan supplies the resolved `swapTail` (each a door + concrete model,
825
+ // already reserve-clamped); the legacy path supplies the config `failureSwap` frameworks
826
+ // (each taking the caller's tier, clamped per-door in the loop). BOTH ride the SAME
827
+ // gating||deferrable gate and the SAME loop below — the spec's "reuse verbatim".
828
+ const swapPositions = gating || deferrable
829
+ ? enforced
830
+ ? enforced.swapTail.map((p) => ({ door: p.door, model: p.modelId }))
831
+ : (cfg?.failureSwap ?? []).map((fw) => ({ door: fw }))
832
+ : [];
789
833
  // GATING budget: a single hard wall-clock deadline over the whole gating failure path so an
790
834
  // awaited gate stays responsive (no stacking rungs). Deferrable calls are not budgeted this way.
791
835
  const gatingDeadlineAt = gating && ladder ? Date.now() + ladder.gatingLadderBudgetMs : undefined;
792
836
  let err;
793
837
  try {
794
- const mainResult = await primary.evaluate(prompt, options);
838
+ const mainResult = await primary.evaluate(prompt, evalOptions);
795
839
  this.opts.onResolved?.(component ?? '(none)', framework); // a real answer → auto-resolve any open degradation
796
840
  return mainResult;
797
841
  }
@@ -807,7 +851,7 @@ export class IntelligenceRouter {
807
851
  const delay = Math.min(b.baseMs * Math.pow(b.factor, attempt), b.ceilingMs);
808
852
  const jittered = Math.min(Math.floor(delay * (0.5 + Math.random() * 0.5)), b.maxWaitMs);
809
853
  try {
810
- const boResult = await primary.evaluate(prompt, { ...(options ?? {}), rateLimitWaitMs: jittered });
854
+ const boResult = await primary.evaluate(prompt, { ...(evalOptions ?? {}), rateLimitWaitMs: jittered });
811
855
  this.opts.onResolved?.(component ?? '(none)', framework); // recovered on backoff → auto-resolve
812
856
  return boResult;
813
857
  }
@@ -818,12 +862,12 @@ export class IntelligenceRouter {
818
862
  }
819
863
  }
820
864
  }
821
- if (swapTargets.length === 0) {
865
+ if (swapPositions.length === 0) {
822
866
  // RUNG (c) — DEFERRABLE queue: no swap configured, but a deferrable call can WAIT for capacity
823
867
  // in the LlmQueue before dropping to its heuristic. gating can never reach here (deferrable =
824
868
  // !gating && …) — the D5 queue-skip invariant is structural.
825
869
  if (deferrable) {
826
- const q = await this.tryDeferrableQueue(primary, prompt, options, component ?? '(none)', framework, category);
870
+ const q = await this.tryDeferrableQueue(primary, prompt, evalOptions, component ?? '(none)', framework, category);
827
871
  if (q.ok)
828
872
  return q.result;
829
873
  }
@@ -850,7 +894,8 @@ export class IntelligenceRouter {
850
894
  const budgetMs = isValidMs(this.opts.swapTotalBudgetMs) ? this.opts.swapTotalBudgetMs : undefined;
851
895
  const monotonicNow = this.opts.monotonicNow ?? (() => performance.now());
852
896
  const swapStartedAt = monotonicNow();
853
- for (const target of swapTargets) {
897
+ for (const t of swapPositions) {
898
+ const target = t.door;
854
899
  // GATING budget: if the awaited gate's total wall-clock budget is consumed, stop swapping
855
900
  // and fail closed now (responsiveness over completeness — spec §3a). Deferrable calls have
856
901
  // no such deadline (gatingDeadlineAt is undefined for them).
@@ -873,30 +918,46 @@ export class IntelligenceRouter {
873
918
  // otherwise-UNcapped attempt (no per-target cap, global ≤0/unset).
874
919
  cap = cap === undefined ? remaining : Math.min(cap, remaining);
875
920
  }
876
- // SAFETY (S2, R1/R2): a bounded/gating swap onto claude-code that requests
877
- // the `capable` tier would resolve to Opus-via-Claude-CLI the measured-banned
878
- // door (81.7% vs 99.1% API). Clamp it down to `balanced` (Sonnet CLI reserve).
879
- // Only ever narrows a dangerous fallback; never upgrades/blocks a call.
880
- const { model: clampedModel, clamped: modelClamped } = clampClaudeCliSwapModel(target, options?.model);
881
- if (modelClamped) {
882
- this.opts.onDegrade?.({
883
- component: component ?? '(none)',
884
- category,
885
- from: framework,
886
- to: target,
887
- reason: `failure-swap-model-clamp: '${target}' capable→balanced ` +
888
- `(Opus-via-Claude-CLI is banned for bounded/gating verdicts — R1/R2)`,
889
- });
921
+ // Model for this swap attempt:
922
+ // - NATURE-enforced position (`t.model` set): its OWN concrete model id, already
923
+ // reserve-clamped by the resolver (`clampToReserveOnCleanDoor`) so it always
924
+ // overrides the base options.model, and the A1 tier-clamp below is a no-op on it.
925
+ // - LEGACY position (`t.model` undefined): the caller's tier, clamped per SAFETY
926
+ // (S2, R1/R2) — a bounded/gating swap onto claude-code requesting `capable` would
927
+ // resolve to Opus-via-Claude-CLI (the measured-banned door, 81.7% vs 99.1%); clamp
928
+ // it down to `balanced` (Sonnet CLI reserve). Only ever narrows; never upgrades.
929
+ let attemptModel;
930
+ let overrideModel;
931
+ if (t.model !== undefined) {
932
+ attemptModel = t.model;
933
+ overrideModel = true;
934
+ }
935
+ else {
936
+ const clamp = clampClaudeCliSwapModel(target, options?.model);
937
+ attemptModel = clamp.model;
938
+ overrideModel = clamp.clamped;
939
+ if (clamp.clamped) {
940
+ this.opts.onDegrade?.({
941
+ component: component ?? '(none)',
942
+ category,
943
+ from: framework,
944
+ to: target,
945
+ reason: `failure-swap-model-clamp: '${target}' capable→balanced ` +
946
+ `(Opus-via-Claude-CLI is banned for bounded/gating verdicts — R1/R2)`,
947
+ });
948
+ }
890
949
  }
891
950
  // Pass the cap through as the provider's per-call timeout so the subprocess
892
951
  // self-terminates at the bound (no AbortSignal exists on IntelligenceOptions).
893
- const attemptOptions = cap !== undefined || modelClamped
952
+ // Base is `evalOptions` (byte-identical to `options` on the legacy path); an enforced
953
+ // position's model always overrides it below.
954
+ const attemptOptions = cap !== undefined || overrideModel
894
955
  ? {
895
- ...(options ?? {}),
956
+ ...(evalOptions ?? {}),
896
957
  ...(cap !== undefined ? { timeoutMs: cap } : {}),
897
- ...(modelClamped ? { model: clampedModel } : {}),
958
+ ...(overrideModel ? { model: attemptModel } : {}),
898
959
  }
899
- : options;
960
+ : evalOptions;
900
961
  try {
901
962
  // withSwapTimeout keeps the shipped, crash-safe Promise.race pattern
902
963
  // (InputGuard precedent): it attaches a settlement handler to EACH input,
@@ -938,7 +999,7 @@ export class IntelligenceRouter {
938
999
  // for capacity in the LlmQueue before dropping to its heuristic (the gentle order, §3b.3). A
939
1000
  // gating call NEVER reaches here (deferrable = !gating && …) — D5 queue-skip is structural.
940
1001
  if (deferrable) {
941
- const q = await this.tryDeferrableQueue(primary, prompt, options, component ?? '(none)', framework, category);
1002
+ const q = await this.tryDeferrableQueue(primary, prompt, evalOptions, component ?? '(none)', framework, category);
942
1003
  if (q.ok)
943
1004
  return q.result;
944
1005
  }
@@ -1 +1 @@
1
- {"version":3,"file":"IntelligenceRouter.js","sourceRoot":"","sources":["../../src/core/IntelligenceRouter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IntelligenceRouter.js","sourceRoot":"","sources":["../../src/core/IntelligenceRouter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,119 @@
1
+ /**
2
+ * MeteredSpendGate — the O(1), never-cached, FAIL-CLOSED money gate of the
3
+ * Routing Control Room (docs/specs/routing-control-room-spend-alerts.md,
4
+ * Increment B, Layer 3).
5
+ *
6
+ * Before a metered call: read committed FRESH from the MeteredSpendLedger, read
7
+ * the door's CANONICAL VALIDATED price (never the observed cache, never the
8
+ * overlay), compute the worst-case reserve at BASE price (no subsidy/credit),
9
+ * and refuse when `committed + estCost > cap` (strict `>`). FAIL CLOSED on
10
+ * EVERY uncertainty — that is the entire safety posture:
11
+ * not-live · frozen · no-cap-slice · lease-liveness-unconfirmed ·
12
+ * unbounded-reservation · unknown-price · implausible-price ·
13
+ * stale-price-fail-closed · invalid-cap · cap-exceeded · ledger-error
14
+ *
15
+ * Authority shape (signal-vs-authority): deterministic ARITHMETIC authority at
16
+ * the metered admission point only. A refusal is a swap-tail ADVANCE for the
17
+ * router (the chain falls to a free door) — never a chain kill (LF-A2).
18
+ *
19
+ * Structural exclusions (unit-tested):
20
+ * - reads NO `feature_metrics`, NO provider-report store, NO observed price
21
+ * cache, NO subsidy/credit input — only the ledger, the canonical manifest
22
+ * meta/points, and the PIN caps store.
23
+ *
24
+ * Wiring status (FD-11, honest): the metered dispatch that CALLS this gate is
25
+ * out-of-scope in-flight S4 work; the gate is fully unit-testable against a
26
+ * stub dispatch, and go-live remains refused until the FD-11 release-gate
27
+ * preconditions are met. Nothing in Increment B routes real money.
28
+ */
29
+ import type { MeteredSpendLedger } from './MeteredSpendLedger.js';
30
+ import type { RoutingPriceAuthority } from './routingPriceAuthority.js';
31
+ import type { RoutingSpendCapsStore } from './RoutingSpendCapsStore.js';
32
+ /**
33
+ * Per-provider price plausibility floors, USD per MILLION tokens — CODE-DEFINED
34
+ * constants, deliberately not config (A-M5/S-F1: a Bearer-writable surface must
35
+ * never influence a gate-consumed price value). A canonical point BELOW its
36
+ * provider's floor is treated as a typo → `implausible-price` → fail closed.
37
+ */
38
+ export declare const PROVIDER_PRICE_FLOORS_PER_MTOK: Readonly<Record<string, {
39
+ inPerMtok: number;
40
+ outPerMtok: number;
41
+ }>>;
42
+ /** How stale the metered-lease self-confirmation may be before the holder self-fences (N-2). MUST stay strictly shorter than the mesh-death threshold. */
43
+ export declare const LEASE_LIVENESS_WINDOW_MS = 60000;
44
+ export type MoneyGateRefusalReason = 'not-live' | 'frozen' | 'no-cap-slice' | 'lease-liveness-unconfirmed' | 'unbounded-reservation' | 'unknown-price' | 'implausible-price' | 'stale-price-fail-closed' | 'invalid-cap' | 'cap-exceeded' | 'ledger-error';
45
+ /** A cap/uncertainty refusal — the router treats it as a swap-tail ADVANCE, never a chain kill. */
46
+ export declare class MoneyGateRefusal extends Error {
47
+ reason: MoneyGateRefusalReason;
48
+ detail: string;
49
+ keyRef?: string | undefined;
50
+ door?: string | undefined;
51
+ constructor(reason: MoneyGateRefusalReason, detail: string, keyRef?: string | undefined, door?: string | undefined);
52
+ }
53
+ export interface AdmitRequest {
54
+ door: string;
55
+ modelId: string;
56
+ /** Prompt tokens (estimated or counted). Cached tokens reserve as FULL input (FD-19) — no cached discount at reserve time. */
57
+ inputTokens: number;
58
+ /** REQUIRED bounded output ceiling — the metered request MUST set max_tokens (A2-4). */
59
+ maxOutputTokens: number | undefined;
60
+ }
61
+ export interface AdmitResult {
62
+ reserveId: string;
63
+ keyRef: string;
64
+ reserveUsd: number;
65
+ /** The booking price actually used (canonical base or conservative-max under stale policy). */
66
+ bookedInPerMtok: number;
67
+ bookedOutPerMtok: number;
68
+ committedLifetimeUsd: number;
69
+ committedDayUsd: number;
70
+ }
71
+ export interface MeteredSpendGateOptions {
72
+ ledger: MeteredSpendLedger;
73
+ prices: RoutingPriceAuthority;
74
+ capsStore: RoutingSpendCapsStore;
75
+ /** This machine's id — compared against the go-live designation (FD-13). */
76
+ machineId: string;
77
+ /**
78
+ * POSITIVE re-confirmation of this machine's metered-lease designation against
79
+ * the pool: ms since the last successful confirmation, or null when never/failed.
80
+ * A single-machine agent trivially self-confirms (return 0).
81
+ */
82
+ leaseConfirmedAgoMs: () => number | null;
83
+ now?: () => number;
84
+ }
85
+ export declare class MeteredSpendGate {
86
+ private readonly d;
87
+ private readonly now;
88
+ constructor(opts: MeteredSpendGateOptions);
89
+ /**
90
+ * Admit-or-refuse a metered call, booking the worst-case reserve on admit.
91
+ * Every uncertainty throws MoneyGateRefusal (fail closed).
92
+ */
93
+ admit(req: AdmitRequest): Promise<AdmitResult>;
94
+ /**
95
+ * The gate-eligible price for a (door, model): the CANONICAL as-of point,
96
+ * validated + plausibility-floored; under a stale SLA the door's staleMode
97
+ * applies (default book-conservative-max — spend continues, never under-books).
98
+ */
99
+ private gatePrice;
100
+ private plausible;
101
+ /**
102
+ * Settle helpers for the (future) metered dispatch seam: ALL no-charge outcomes
103
+ * force-settle $0 (A-B2) unless tokens were demonstrably returned; a 200 books
104
+ * actual from the per-door BILLED-token mapping (erring HIGH), or worst-case
105
+ * when the billed basis cannot be confirmed.
106
+ */
107
+ settleActual(keyRef: string, reserveId: string, actualUsd: number): Promise<void>;
108
+ settleNoCharge(keyRef: string, reserveId: string): Promise<void>;
109
+ }
110
+ /**
111
+ * Per-door BILLED-token mapping (Layer 3): which response fields mean "billed
112
+ * output" for each metered door — Gemini bills thinking tokens as output
113
+ * (candidatesTokenCount can EXCLUDE them); OpenRouter/Groq bill
114
+ * completion_tokens. A response whose billed basis cannot be confirmed from the
115
+ * mapping settles at the WORST-CASE estimate, never a lower unverified field.
116
+ * Named + exported so the metered dispatch seam and the tests share ONE truth.
117
+ */
118
+ export declare function billedOutputTokens(door: string, usage: Record<string, unknown> | undefined): number | null;
119
+ //# sourceMappingURL=MeteredSpendGate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MeteredSpendGate.d.ts","sourceRoot":"","sources":["../../src/core/MeteredSpendGate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAGH,OAAO,KAAK,EAAE,kBAAkB,EAAiB,MAAM,yBAAyB,CAAC;AACjF,OAAO,KAAK,EAAE,qBAAqB,EAAqB,MAAM,4BAA4B,CAAC;AAC3F,OAAO,KAAK,EAAE,qBAAqB,EAAiB,MAAM,4BAA4B,CAAC;AAEvF;;;;;GAKG;AACH,eAAO,MAAM,8BAA8B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,CAI9G,CAAC;AAEF,0JAA0J;AAC1J,eAAO,MAAM,wBAAwB,QAAS,CAAC;AAE/C,MAAM,MAAM,sBAAsB,GAC9B,UAAU,GACV,QAAQ,GACR,cAAc,GACd,4BAA4B,GAC5B,uBAAuB,GACvB,eAAe,GACf,mBAAmB,GACnB,yBAAyB,GACzB,aAAa,GACb,cAAc,GACd,cAAc,CAAC;AAEnB,mGAAmG;AACnG,qBAAa,gBAAiB,SAAQ,KAAK;IAEhC,MAAM,EAAE,sBAAsB;IAC9B,MAAM,EAAE,MAAM;IACd,MAAM,CAAC,EAAE,MAAM;IACf,IAAI,CAAC,EAAE,MAAM;gBAHb,MAAM,EAAE,sBAAsB,EAC9B,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,YAAA,EACf,IAAI,CAAC,EAAE,MAAM,YAAA;CAKvB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,8HAA8H;IAC9H,WAAW,EAAE,MAAM,CAAC;IACpB,wFAAwF;IACxF,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,+FAA+F;IAC/F,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,kBAAkB,CAAC;IAC3B,MAAM,EAAE,qBAAqB,CAAC;IAC9B,SAAS,EAAE,qBAAqB,CAAC;IACjC,4EAA4E;IAC5E,SAAS,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,mBAAmB,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IACzC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,CAAC,CAA0B;IAC5C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;gBAEvB,IAAI,EAAE,uBAAuB;IAKzC;;;OAGG;IACG,KAAK,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;IA6EpD;;;;OAIG;IACH,OAAO,CAAC,SAAS;IAyBjB,OAAO,CAAC,SAAS;IAYjB;;;;;OAKG;IACG,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjF,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGvE;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAyB1G"}