@warmdrift/kgauto-compiler 2.0.0-alpha.49 → 2.0.0-alpha.51
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +22 -0
- package/dist/{chunk-PKOFXEB3.mjs → chunk-CXH7KC4D.mjs} +119 -6
- package/dist/{chunk-SAWTKMD4.mjs → chunk-HHWBB46W.mjs} +1 -1
- package/dist/glassbox/index.d.mts +3 -3
- package/dist/glassbox/index.d.ts +3 -3
- package/dist/glassbox-routes/format.d.mts +2 -2
- package/dist/glassbox-routes/format.d.ts +2 -2
- package/dist/glassbox-routes/index.d.mts +4 -4
- package/dist/glassbox-routes/index.d.ts +4 -4
- package/dist/glassbox-routes/index.js +119 -6
- package/dist/glassbox-routes/index.mjs +2 -2
- package/dist/glassbox-routes/react/index.d.mts +2 -2
- package/dist/glassbox-routes/react/index.d.ts +2 -2
- package/dist/index.d.mts +11 -2
- package/dist/index.d.ts +11 -2
- package/dist/index.js +201 -12
- package/dist/index.mjs +84 -8
- package/dist/{ir-BBKgsUX7.d.mts → ir-dDcG8Pvu.d.mts} +43 -0
- package/dist/{ir-D3n-pBYI.d.ts → ir-rUUojj0s.d.ts} +43 -0
- package/dist/profiles.d.mts +1 -1
- package/dist/profiles.d.ts +1 -1
- package/dist/profiles.js +119 -6
- package/dist/profiles.mjs +1 -1
- package/dist/{types-xBWYk9Mm.d.mts → types-BTeRoSvM.d.mts} +1 -1
- package/dist/{types-B6z-8phQ.d.ts → types-B_pdPjxm.d.ts} +1 -1
- package/dist/{types-Bzw8tH-7.d.ts → types-UXPxWabQ.d.ts} +1 -1
- package/dist/{types-DMJqRzDF.d.mts → types-vGo-h0tZ.d.mts} +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -120,6 +120,28 @@ const result = streamText({
|
|
|
120
120
|
|
|
121
121
|
kgauto runs each candidate on the **same IR** and persists a `probe_outcomes` row (`replay_source='inline-full-ir'`, `prompt_fidelity=1.0`, both latency legs). Phase 1 is `judge:'off'` — rows accumulate for an offline verdict rollup; inline Opus judging is Phase 2. Fire-and-forget: never throws into your `onFinish`.
|
|
122
122
|
|
|
123
|
+
#### Sync-mode latency protection (`call()` + `BrainConfig.sync`)
|
|
124
|
+
|
|
125
|
+
A `probeShadow()` consumer fires from `after()`, so the probe is always off the user-facing path — slow candidates are fine there (it's the right place to evaluate a slow reasoner). But a **`call()`-inline** consumer that sets `BrainConfig.sync: true` (PB-class Edge routes, so the brain write reliably lands before teardown — L-086) *awaits* the probe, putting the candidate's latency on the user's critical path. A `latency_tier='slow'` candidate (deepseek-v4-pro ~78–84s) then blows the route's time budget and the user sees an empty response. Two knobs on `shadowProbe` protect the sync path — **both are no-ops off the critical path** (non-sync `call()` and every `probeShadow()` consumer):
|
|
126
|
+
|
|
127
|
+
```ts
|
|
128
|
+
await call(ir, {
|
|
129
|
+
shadowProbe: {
|
|
130
|
+
candidates: ['deepseek-v4-pro'],
|
|
131
|
+
sampleRate: 1,
|
|
132
|
+
maxLatencyMs: 15000, // default 15000. Sync-mode budget: if the probe
|
|
133
|
+
// overruns, abort the candidate, return the served
|
|
134
|
+
// response NOW, record outcome='aborted_latency_budget'.
|
|
135
|
+
skipSlowTierInSync: true, // default true. Don't even START a latency_tier='slow'
|
|
136
|
+
// candidate inline; record outcome='skipped_slow_tier_sync'.
|
|
137
|
+
},
|
|
138
|
+
});
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
Aborted/skipped probes write a **diagnostic** `probe_outcomes` row (`outcome != 'completed'`, no candidate response, no verdict) so the offline rollup can tell "tried but too slow" from "never armed." A verdict rollup must filter `outcome='completed'`.
|
|
142
|
+
|
|
143
|
+
**The deeper rule: inline shadow-probe = FAST candidates only.** To evaluate a *slow* reasoner, use the offline/async probe path (the Phase-2 batch direction, off the response entirely) or `probeShadow()` from `after()` — never the inline sync probe.
|
|
144
|
+
|
|
123
145
|
## Structured advisories API (alpha.29+)
|
|
124
146
|
|
|
125
147
|
kgauto's compile-time advisories (`caching-off-on-claude`, `tool-bloat`,
|
|
@@ -32,6 +32,115 @@ var GOOGLE_LOWERING_BASE = {
|
|
|
32
32
|
};
|
|
33
33
|
var PROFILES_RAW = [
|
|
34
34
|
// ── Anthropic ──
|
|
35
|
+
{
|
|
36
|
+
// VERIFIED 2026-06-21 against the claude-api reference. Claude Fable 5 is
|
|
37
|
+
// Anthropic's most capable model — a NEW tier ABOVE the opus/sonnet/haiku
|
|
38
|
+
// line (the id has no MAJOR-MINOR version, just `-5`) at 2× Opus pricing
|
|
39
|
+
// ($10/$50 vs $5/$25). Hand-authored, not cloned: the onboarder regex can't
|
|
40
|
+
// match this shape (new family + single-segment version), AND a clone would
|
|
41
|
+
// carry the wrong (opus) pricing. status:'preview' — no brain evidence yet;
|
|
42
|
+
// it earns per-archetype placement through the machinery like any model, and
|
|
43
|
+
// at 2× Opus the quality-floor + cost gates do real work before it leads.
|
|
44
|
+
// API quirk (claude-api ref): an explicit `thinking:{type:"disabled"}` 400s
|
|
45
|
+
// on Fable 5 (omit instead) — MOOT here: ANTHROPIC_LOWERING_BASE carries no
|
|
46
|
+
// `thinking` field, so kgauto never sends the param. (L-049/L-081.)
|
|
47
|
+
id: "claude-fable-5",
|
|
48
|
+
verifiedAgainstDocs: "2026-06-21",
|
|
49
|
+
provider: "anthropic",
|
|
50
|
+
status: "preview",
|
|
51
|
+
maxContextTokens: 1e6,
|
|
52
|
+
maxOutputTokens: 128e3,
|
|
53
|
+
maxTools: 64,
|
|
54
|
+
parallelToolCalls: true,
|
|
55
|
+
structuredOutput: "grammar",
|
|
56
|
+
systemPromptMode: "inline",
|
|
57
|
+
streaming: true,
|
|
58
|
+
cliffs: [],
|
|
59
|
+
costInputPer1m: 10,
|
|
60
|
+
costOutputPer1m: 50,
|
|
61
|
+
lowering: ANTHROPIC_LOWERING_BASE,
|
|
62
|
+
recovery: [
|
|
63
|
+
{
|
|
64
|
+
signal: "rate_limit",
|
|
65
|
+
action: "escalate",
|
|
66
|
+
reason: "429 from Anthropic \u2014 escalate to fallback chain"
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
signal: "model_not_found",
|
|
70
|
+
action: "escalate",
|
|
71
|
+
reason: "Model deprecated/renamed \u2014 escalate (L-061)"
|
|
72
|
+
}
|
|
73
|
+
],
|
|
74
|
+
strengths: ["reasoning", "agentic_coding", "long_context", "reliable_tool_use", "structured_output"],
|
|
75
|
+
weaknesses: ["cost", "latency"],
|
|
76
|
+
notes: "Most capable Anthropic model (2026-06); a new tier ABOVE Opus at 2\xD7 pricing ($10/$50). 1M ctx, 128k out. Verified 2026-06-21 against the claude-api reference. status:preview \u2014 no brain evidence yet; earns placement via the machinery (cost + quality-floor gates govern). latencyTier derives `slow` (weaknesses includes latency \u2014 minutes-long turns on hard tasks). The thinking-disabled-400 API quirk is moot for kgauto (Anthropic lowering emits no thinking param).",
|
|
77
|
+
// archetypePerf cloned from claude-opus-4-8 as a conservative estimate
|
|
78
|
+
// (Fable >= Opus in capability, but unmeasured — no fabricated superiority).
|
|
79
|
+
// Re-rank once brain rows exist.
|
|
80
|
+
archetypePerf: {
|
|
81
|
+
critique: 10,
|
|
82
|
+
plan: 10,
|
|
83
|
+
generate: 9,
|
|
84
|
+
ask: 9,
|
|
85
|
+
extract: 9,
|
|
86
|
+
transform: 9,
|
|
87
|
+
hunt: 8,
|
|
88
|
+
summarize: 8,
|
|
89
|
+
classify: 8
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
// Auto-onboarded 2026-06-04 from `claude-opus-4-7`; VERIFIED 2026-06-21
|
|
94
|
+
// against the claude-api reference. Opus 4.8 shares 4.7's surface exactly —
|
|
95
|
+
// 1M ctx, 128k out, $5/$25, no new breaking changes — so the clone's
|
|
96
|
+
// capability data was accurate (confirmed field-by-field). archetypePerf is
|
|
97
|
+
// still cloned from 4.7 (a sound estimate: 4.8 >= 4.7) — re-rank once brain
|
|
98
|
+
// rows exist. Promoted to status:'current' 2026-06-21 (Sacha: "include Claude
|
|
99
|
+
// Opus 4.8") — now live-selectable. Ties with the still-current claude-opus-4-7
|
|
100
|
+
// (identical $5/$25 + cloned perf) resolve to 4-8 by array order. (L-049/L-081.)
|
|
101
|
+
id: "claude-opus-4-8",
|
|
102
|
+
verifiedAgainstDocs: "2026-06-21",
|
|
103
|
+
provider: "anthropic",
|
|
104
|
+
status: "current",
|
|
105
|
+
maxContextTokens: 1e6,
|
|
106
|
+
maxOutputTokens: 128e3,
|
|
107
|
+
maxTools: 64,
|
|
108
|
+
parallelToolCalls: true,
|
|
109
|
+
structuredOutput: "grammar",
|
|
110
|
+
systemPromptMode: "inline",
|
|
111
|
+
streaming: true,
|
|
112
|
+
cliffs: [],
|
|
113
|
+
costInputPer1m: 5,
|
|
114
|
+
costOutputPer1m: 25,
|
|
115
|
+
lowering: ANTHROPIC_LOWERING_BASE,
|
|
116
|
+
recovery: [
|
|
117
|
+
{
|
|
118
|
+
signal: "rate_limit",
|
|
119
|
+
action: "escalate",
|
|
120
|
+
reason: "429 from Anthropic \u2014 escalate to fallback chain"
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
signal: "model_not_found",
|
|
124
|
+
action: "escalate",
|
|
125
|
+
reason: "Model deprecated/renamed \u2014 escalate (L-061)"
|
|
126
|
+
}
|
|
127
|
+
],
|
|
128
|
+
strengths: ["reasoning", "agentic_coding", "long_context", "reliable_tool_use", "structured_output"],
|
|
129
|
+
weaknesses: ["cost", "latency"],
|
|
130
|
+
notes: "Frontier Opus (2026-06), the current recommended Opus-tier default. Verified 2026-06-21 against the claude-api reference: 1M ctx, 128k out, $5/$25 \u2014 identical surface to 4.7, no new breaking changes. Promoted to status:current 2026-06-21 (live-selectable); coexists with claude-opus-4-7 (still current).",
|
|
131
|
+
// Cloned archetypePerf from claude-opus-4-7 — re-evaluate once brain rows exist.
|
|
132
|
+
archetypePerf: {
|
|
133
|
+
critique: 10,
|
|
134
|
+
plan: 10,
|
|
135
|
+
generate: 9,
|
|
136
|
+
ask: 9,
|
|
137
|
+
extract: 9,
|
|
138
|
+
transform: 9,
|
|
139
|
+
hunt: 8,
|
|
140
|
+
summarize: 8,
|
|
141
|
+
classify: 8
|
|
142
|
+
}
|
|
143
|
+
},
|
|
35
144
|
{
|
|
36
145
|
id: "claude-opus-4-7",
|
|
37
146
|
verifiedAgainstDocs: "2026-05-08",
|
|
@@ -599,7 +708,7 @@ var PROFILES_RAW = [
|
|
|
599
708
|
},
|
|
600
709
|
{
|
|
601
710
|
id: "deepseek-v4-pro",
|
|
602
|
-
verifiedAgainstDocs: "2026-
|
|
711
|
+
verifiedAgainstDocs: "2026-06-22",
|
|
603
712
|
provider: "deepseek",
|
|
604
713
|
status: "current",
|
|
605
714
|
maxContextTokens: 1e6,
|
|
@@ -617,10 +726,14 @@ var PROFILES_RAW = [
|
|
|
617
726
|
reason: "Sequential tool calls only \u2014 L-040"
|
|
618
727
|
}
|
|
619
728
|
],
|
|
620
|
-
//
|
|
621
|
-
//
|
|
622
|
-
|
|
623
|
-
|
|
729
|
+
// Verified against the live DeepSeek pricing page 2026-06-22: the 75%-off
|
|
730
|
+
// launch "promo" ($0.435/$0.87) did NOT revert on 2026-05-31 — it became the
|
|
731
|
+
// standing price (docs show $0.435 in / $0.87 out cache-miss, $0.003625
|
|
732
|
+
// cache-hit in; no promo caveat). The old $1.74/$3.48 "regular post-promo"
|
|
733
|
+
// was a projected revert that never happened (L-073/L-081) — it 4×-overstated
|
|
734
|
+
// cost and suppressed V4-Pro in cost-aware ranking.
|
|
735
|
+
costInputPer1m: 0.435,
|
|
736
|
+
costOutputPer1m: 0.87,
|
|
624
737
|
lowering: {
|
|
625
738
|
system: { mode: "inline" },
|
|
626
739
|
cache: { strategy: "unsupported" },
|
|
@@ -636,7 +749,7 @@ var PROFILES_RAW = [
|
|
|
636
749
|
// of the served set. Tag derivation would say 'medium'; the measurement says
|
|
637
750
|
// otherwise.
|
|
638
751
|
latencyTier: "slow",
|
|
639
|
-
notes: "Pro tier. 1M context, 384k max output.
|
|
752
|
+
notes: "Pro tier. 1M context, 384k max output. $0.435/$0.87 per 1M (cache-hit in $0.003625) \u2014 verified live 2026-06-22; the launch promo became the standing price (no revert). Default mode = thinking.",
|
|
640
753
|
// Master plan §3.3: tier 3 cross-provider for plan chain. Reasoning
|
|
641
754
|
// bumped one notch over V4-Flash; same parallel-tool ceiling.
|
|
642
755
|
archetypePerf: {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { G as GlassboxEvent } from '../types-
|
|
2
|
-
export { A as AdvisoryFiredData, C as CompileDoneData, a as CompileStartData, E as ExecuteAttemptData, b as ExecuteSuccessData, F as FallbackWalkedData, c as GLASSBOX_STREAM_TTL_MS, d as GlassboxEventKind, e as GlassboxPubSub } from '../types-
|
|
3
|
-
import '../ir-
|
|
1
|
+
import { G as GlassboxEvent } from '../types-vGo-h0tZ.mjs';
|
|
2
|
+
export { A as AdvisoryFiredData, C as CompileDoneData, a as CompileStartData, E as ExecuteAttemptData, b as ExecuteSuccessData, F as FallbackWalkedData, c as GLASSBOX_STREAM_TTL_MS, d as GlassboxEventKind, e as GlassboxPubSub } from '../types-vGo-h0tZ.mjs';
|
|
3
|
+
import '../ir-dDcG8Pvu.mjs';
|
|
4
4
|
import '../dialect.mjs';
|
|
5
5
|
|
|
6
6
|
/**
|
package/dist/glassbox/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { G as GlassboxEvent } from '../types-
|
|
2
|
-
export { A as AdvisoryFiredData, C as CompileDoneData, a as CompileStartData, E as ExecuteAttemptData, b as ExecuteSuccessData, F as FallbackWalkedData, c as GLASSBOX_STREAM_TTL_MS, d as GlassboxEventKind, e as GlassboxPubSub } from '../types-
|
|
3
|
-
import '../ir-
|
|
1
|
+
import { G as GlassboxEvent } from '../types-UXPxWabQ.js';
|
|
2
|
+
export { A as AdvisoryFiredData, C as CompileDoneData, a as CompileStartData, E as ExecuteAttemptData, b as ExecuteSuccessData, F as FallbackWalkedData, c as GLASSBOX_STREAM_TTL_MS, d as GlassboxEventKind, e as GlassboxPubSub } from '../types-UXPxWabQ.js';
|
|
3
|
+
import '../ir-rUUojj0s.js';
|
|
4
4
|
import '../dialect.js';
|
|
5
5
|
|
|
6
6
|
/**
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { G as GlassboxEvent } from '../types-
|
|
2
|
-
import { a as TraceDetail, b as TraceSummary, c as TraceCounterfactual } from '../types-
|
|
3
|
-
export { A as AdvisoryRecord, T as TraceHealth, d as TraceSectionRewrite } from '../types-
|
|
4
|
-
import '../ir-
|
|
1
|
+
import { G as GlassboxEvent } from '../types-vGo-h0tZ.mjs';
|
|
2
|
+
import { a as TraceDetail, b as TraceSummary, c as TraceCounterfactual } from '../types-BTeRoSvM.mjs';
|
|
3
|
+
export { A as AdvisoryRecord, T as TraceHealth, d as TraceSectionRewrite } from '../types-BTeRoSvM.mjs';
|
|
4
|
+
import '../ir-dDcG8Pvu.mjs';
|
|
5
5
|
import '../dialect.mjs';
|
|
6
6
|
|
|
7
7
|
/**
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { G as GlassboxEvent } from '../types-
|
|
2
|
-
import { a as TraceDetail, b as TraceSummary, c as TraceCounterfactual } from '../types-
|
|
3
|
-
export { A as AdvisoryRecord, T as TraceHealth, d as TraceSectionRewrite } from '../types-
|
|
4
|
-
import '../ir-
|
|
1
|
+
import { G as GlassboxEvent } from '../types-UXPxWabQ.js';
|
|
2
|
+
import { a as TraceDetail, b as TraceSummary, c as TraceCounterfactual } from '../types-B_pdPjxm.js';
|
|
3
|
+
export { A as AdvisoryRecord, T as TraceHealth, d as TraceSectionRewrite } from '../types-B_pdPjxm.js';
|
|
4
|
+
import '../ir-rUUojj0s.js';
|
|
5
5
|
import '../dialect.js';
|
|
6
6
|
|
|
7
7
|
/**
|
|
@@ -86,6 +86,115 @@ var GOOGLE_LOWERING_BASE = {
|
|
|
86
86
|
};
|
|
87
87
|
var PROFILES_RAW = [
|
|
88
88
|
// ── Anthropic ──
|
|
89
|
+
{
|
|
90
|
+
// VERIFIED 2026-06-21 against the claude-api reference. Claude Fable 5 is
|
|
91
|
+
// Anthropic's most capable model — a NEW tier ABOVE the opus/sonnet/haiku
|
|
92
|
+
// line (the id has no MAJOR-MINOR version, just `-5`) at 2× Opus pricing
|
|
93
|
+
// ($10/$50 vs $5/$25). Hand-authored, not cloned: the onboarder regex can't
|
|
94
|
+
// match this shape (new family + single-segment version), AND a clone would
|
|
95
|
+
// carry the wrong (opus) pricing. status:'preview' — no brain evidence yet;
|
|
96
|
+
// it earns per-archetype placement through the machinery like any model, and
|
|
97
|
+
// at 2× Opus the quality-floor + cost gates do real work before it leads.
|
|
98
|
+
// API quirk (claude-api ref): an explicit `thinking:{type:"disabled"}` 400s
|
|
99
|
+
// on Fable 5 (omit instead) — MOOT here: ANTHROPIC_LOWERING_BASE carries no
|
|
100
|
+
// `thinking` field, so kgauto never sends the param. (L-049/L-081.)
|
|
101
|
+
id: "claude-fable-5",
|
|
102
|
+
verifiedAgainstDocs: "2026-06-21",
|
|
103
|
+
provider: "anthropic",
|
|
104
|
+
status: "preview",
|
|
105
|
+
maxContextTokens: 1e6,
|
|
106
|
+
maxOutputTokens: 128e3,
|
|
107
|
+
maxTools: 64,
|
|
108
|
+
parallelToolCalls: true,
|
|
109
|
+
structuredOutput: "grammar",
|
|
110
|
+
systemPromptMode: "inline",
|
|
111
|
+
streaming: true,
|
|
112
|
+
cliffs: [],
|
|
113
|
+
costInputPer1m: 10,
|
|
114
|
+
costOutputPer1m: 50,
|
|
115
|
+
lowering: ANTHROPIC_LOWERING_BASE,
|
|
116
|
+
recovery: [
|
|
117
|
+
{
|
|
118
|
+
signal: "rate_limit",
|
|
119
|
+
action: "escalate",
|
|
120
|
+
reason: "429 from Anthropic \u2014 escalate to fallback chain"
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
signal: "model_not_found",
|
|
124
|
+
action: "escalate",
|
|
125
|
+
reason: "Model deprecated/renamed \u2014 escalate (L-061)"
|
|
126
|
+
}
|
|
127
|
+
],
|
|
128
|
+
strengths: ["reasoning", "agentic_coding", "long_context", "reliable_tool_use", "structured_output"],
|
|
129
|
+
weaknesses: ["cost", "latency"],
|
|
130
|
+
notes: "Most capable Anthropic model (2026-06); a new tier ABOVE Opus at 2\xD7 pricing ($10/$50). 1M ctx, 128k out. Verified 2026-06-21 against the claude-api reference. status:preview \u2014 no brain evidence yet; earns placement via the machinery (cost + quality-floor gates govern). latencyTier derives `slow` (weaknesses includes latency \u2014 minutes-long turns on hard tasks). The thinking-disabled-400 API quirk is moot for kgauto (Anthropic lowering emits no thinking param).",
|
|
131
|
+
// archetypePerf cloned from claude-opus-4-8 as a conservative estimate
|
|
132
|
+
// (Fable >= Opus in capability, but unmeasured — no fabricated superiority).
|
|
133
|
+
// Re-rank once brain rows exist.
|
|
134
|
+
archetypePerf: {
|
|
135
|
+
critique: 10,
|
|
136
|
+
plan: 10,
|
|
137
|
+
generate: 9,
|
|
138
|
+
ask: 9,
|
|
139
|
+
extract: 9,
|
|
140
|
+
transform: 9,
|
|
141
|
+
hunt: 8,
|
|
142
|
+
summarize: 8,
|
|
143
|
+
classify: 8
|
|
144
|
+
}
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
// Auto-onboarded 2026-06-04 from `claude-opus-4-7`; VERIFIED 2026-06-21
|
|
148
|
+
// against the claude-api reference. Opus 4.8 shares 4.7's surface exactly —
|
|
149
|
+
// 1M ctx, 128k out, $5/$25, no new breaking changes — so the clone's
|
|
150
|
+
// capability data was accurate (confirmed field-by-field). archetypePerf is
|
|
151
|
+
// still cloned from 4.7 (a sound estimate: 4.8 >= 4.7) — re-rank once brain
|
|
152
|
+
// rows exist. Promoted to status:'current' 2026-06-21 (Sacha: "include Claude
|
|
153
|
+
// Opus 4.8") — now live-selectable. Ties with the still-current claude-opus-4-7
|
|
154
|
+
// (identical $5/$25 + cloned perf) resolve to 4-8 by array order. (L-049/L-081.)
|
|
155
|
+
id: "claude-opus-4-8",
|
|
156
|
+
verifiedAgainstDocs: "2026-06-21",
|
|
157
|
+
provider: "anthropic",
|
|
158
|
+
status: "current",
|
|
159
|
+
maxContextTokens: 1e6,
|
|
160
|
+
maxOutputTokens: 128e3,
|
|
161
|
+
maxTools: 64,
|
|
162
|
+
parallelToolCalls: true,
|
|
163
|
+
structuredOutput: "grammar",
|
|
164
|
+
systemPromptMode: "inline",
|
|
165
|
+
streaming: true,
|
|
166
|
+
cliffs: [],
|
|
167
|
+
costInputPer1m: 5,
|
|
168
|
+
costOutputPer1m: 25,
|
|
169
|
+
lowering: ANTHROPIC_LOWERING_BASE,
|
|
170
|
+
recovery: [
|
|
171
|
+
{
|
|
172
|
+
signal: "rate_limit",
|
|
173
|
+
action: "escalate",
|
|
174
|
+
reason: "429 from Anthropic \u2014 escalate to fallback chain"
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
signal: "model_not_found",
|
|
178
|
+
action: "escalate",
|
|
179
|
+
reason: "Model deprecated/renamed \u2014 escalate (L-061)"
|
|
180
|
+
}
|
|
181
|
+
],
|
|
182
|
+
strengths: ["reasoning", "agentic_coding", "long_context", "reliable_tool_use", "structured_output"],
|
|
183
|
+
weaknesses: ["cost", "latency"],
|
|
184
|
+
notes: "Frontier Opus (2026-06), the current recommended Opus-tier default. Verified 2026-06-21 against the claude-api reference: 1M ctx, 128k out, $5/$25 \u2014 identical surface to 4.7, no new breaking changes. Promoted to status:current 2026-06-21 (live-selectable); coexists with claude-opus-4-7 (still current).",
|
|
185
|
+
// Cloned archetypePerf from claude-opus-4-7 — re-evaluate once brain rows exist.
|
|
186
|
+
archetypePerf: {
|
|
187
|
+
critique: 10,
|
|
188
|
+
plan: 10,
|
|
189
|
+
generate: 9,
|
|
190
|
+
ask: 9,
|
|
191
|
+
extract: 9,
|
|
192
|
+
transform: 9,
|
|
193
|
+
hunt: 8,
|
|
194
|
+
summarize: 8,
|
|
195
|
+
classify: 8
|
|
196
|
+
}
|
|
197
|
+
},
|
|
89
198
|
{
|
|
90
199
|
id: "claude-opus-4-7",
|
|
91
200
|
verifiedAgainstDocs: "2026-05-08",
|
|
@@ -653,7 +762,7 @@ var PROFILES_RAW = [
|
|
|
653
762
|
},
|
|
654
763
|
{
|
|
655
764
|
id: "deepseek-v4-pro",
|
|
656
|
-
verifiedAgainstDocs: "2026-
|
|
765
|
+
verifiedAgainstDocs: "2026-06-22",
|
|
657
766
|
provider: "deepseek",
|
|
658
767
|
status: "current",
|
|
659
768
|
maxContextTokens: 1e6,
|
|
@@ -671,10 +780,14 @@ var PROFILES_RAW = [
|
|
|
671
780
|
reason: "Sequential tool calls only \u2014 L-040"
|
|
672
781
|
}
|
|
673
782
|
],
|
|
674
|
-
//
|
|
675
|
-
//
|
|
676
|
-
|
|
677
|
-
|
|
783
|
+
// Verified against the live DeepSeek pricing page 2026-06-22: the 75%-off
|
|
784
|
+
// launch "promo" ($0.435/$0.87) did NOT revert on 2026-05-31 — it became the
|
|
785
|
+
// standing price (docs show $0.435 in / $0.87 out cache-miss, $0.003625
|
|
786
|
+
// cache-hit in; no promo caveat). The old $1.74/$3.48 "regular post-promo"
|
|
787
|
+
// was a projected revert that never happened (L-073/L-081) — it 4×-overstated
|
|
788
|
+
// cost and suppressed V4-Pro in cost-aware ranking.
|
|
789
|
+
costInputPer1m: 0.435,
|
|
790
|
+
costOutputPer1m: 0.87,
|
|
678
791
|
lowering: {
|
|
679
792
|
system: { mode: "inline" },
|
|
680
793
|
cache: { strategy: "unsupported" },
|
|
@@ -690,7 +803,7 @@ var PROFILES_RAW = [
|
|
|
690
803
|
// of the served set. Tag derivation would say 'medium'; the measurement says
|
|
691
804
|
// otherwise.
|
|
692
805
|
latencyTier: "slow",
|
|
693
|
-
notes: "Pro tier. 1M context, 384k max output.
|
|
806
|
+
notes: "Pro tier. 1M context, 384k max output. $0.435/$0.87 per 1M (cache-hit in $0.003625) \u2014 verified live 2026-06-22; the launch promo became the standing price (no revert). Default mode = thinking.",
|
|
694
807
|
// Master plan §3.3: tier 3 cross-provider for plan chain. Reasoning
|
|
695
808
|
// bumped one notch over V4-Flash; same parallel-tool ceiling.
|
|
696
809
|
archetypePerf: {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ARCHETYPE_FLOOR_DEFAULT,
|
|
3
3
|
getDefaultFallbackChain
|
|
4
|
-
} from "../chunk-
|
|
4
|
+
} from "../chunk-HHWBB46W.mjs";
|
|
5
5
|
import {
|
|
6
6
|
tryGetProfile
|
|
7
|
-
} from "../chunk-
|
|
7
|
+
} from "../chunk-CXH7KC4D.mjs";
|
|
8
8
|
import {
|
|
9
9
|
subscribe,
|
|
10
10
|
subscribeApp
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
import { a as TraceDetail } from '../../types-
|
|
3
|
-
import '../../ir-
|
|
2
|
+
import { a as TraceDetail } from '../../types-BTeRoSvM.mjs';
|
|
3
|
+
import '../../ir-dDcG8Pvu.mjs';
|
|
4
4
|
import '../../dialect.mjs';
|
|
5
5
|
|
|
6
6
|
/**
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
import { a as TraceDetail } from '../../types-
|
|
3
|
-
import '../../ir-
|
|
2
|
+
import { a as TraceDetail } from '../../types-B_pdPjxm.js';
|
|
3
|
+
import '../../ir-rUUojj0s.js';
|
|
4
4
|
import '../../dialect.js';
|
|
5
5
|
|
|
6
6
|
/**
|
package/dist/index.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { C as CompilePolicy, N as NormalizedResponse, A as ApiKeys, P as ProviderOverrides, a as CompiledRequest, b as PromptIR, c as CallOptions, d as CallResult, S as SystemModelMessage, e as CompileResult, f as SectionRewrite, R as RecordInput, g as RecordOutcomeInput, O as OutcomeResult, h as OracleScore, B as BestPracticeAdvisory, i as Adapter, j as PerAxisMetrics, k as Provider, l as ChainEntry, G as Grounding } from './ir-
|
|
2
|
-
export { m as CallAttempt, n as CallError, o as ChainModelEntry, p as ChainWithGrounding, q as Constraints, F as FallbackReason, H as HistoryCachePolicy, I as IntentDeclaration, M as Message, r as MutationApplied, s as NormalizedTokens, t as OutcomeKind, u as PerAxisMetricsByModel, v as PromptSection, w as SectionKind, x as ShadowProbeConfig, T as ToolCall, y as ToolDefinition } from './ir-
|
|
1
|
+
import { C as CompilePolicy, N as NormalizedResponse, A as ApiKeys, P as ProviderOverrides, a as CompiledRequest, b as PromptIR, c as CallOptions, d as CallResult, S as SystemModelMessage, e as CompileResult, f as SectionRewrite, R as RecordInput, g as RecordOutcomeInput, O as OutcomeResult, h as OracleScore, B as BestPracticeAdvisory, i as Adapter, j as PerAxisMetrics, k as Provider, l as ChainEntry, G as Grounding } from './ir-dDcG8Pvu.mjs';
|
|
2
|
+
export { m as CallAttempt, n as CallError, o as ChainModelEntry, p as ChainWithGrounding, q as Constraints, F as FallbackReason, H as HistoryCachePolicy, I as IntentDeclaration, M as Message, r as MutationApplied, s as NormalizedTokens, t as OutcomeKind, u as PerAxisMetricsByModel, v as PromptSection, w as SectionKind, x as ShadowProbeConfig, T as ToolCall, y as ToolDefinition } from './ir-dDcG8Pvu.mjs';
|
|
3
3
|
import { ModelProfile, ArchetypeConvention } from './profiles.mjs';
|
|
4
4
|
export { ALIASES, CacheStrategy, CliffRule, LATENCY_TIER_MS, LatencyTier, LoweringSpec, RecoveryRule, StructuredOutputCapability, SystemPromptMode, allProfiles, getProfile, latencyTierOf, profilesByProvider, tryGetProfile } from './profiles.mjs';
|
|
5
5
|
import { IntentArchetypeName } from './dialect.mjs';
|
|
@@ -436,6 +436,14 @@ interface ShadowProbeRecordInput {
|
|
|
436
436
|
latencyCurrentMs?: number;
|
|
437
437
|
/** Wall-clock latency of the candidate replay call, ms (alpha.46). */
|
|
438
438
|
latencyCandidateMs?: number;
|
|
439
|
+
/**
|
|
440
|
+
* alpha — probe-row class (migration 029). Defaults to `'completed'` (the
|
|
441
|
+
* pre-029 row shape: candidate ran, columns populated). `'aborted_latency_budget'`
|
|
442
|
+
* and `'skipped_slow_tier_sync'` are DIAGNOSTIC rows from sync-mode latency
|
|
443
|
+
* protection — no candidate response, no verdict, no false quality signal. A
|
|
444
|
+
* verdict rollup MUST filter to `outcome='completed'`.
|
|
445
|
+
*/
|
|
446
|
+
outcome?: 'completed' | 'aborted_latency_budget' | 'skipped_slow_tier_sync';
|
|
439
447
|
}
|
|
440
448
|
/**
|
|
441
449
|
* Pure builder for the `probe_outcomes` row written by the inline shadow-probe.
|
|
@@ -467,6 +475,7 @@ declare function buildShadowProbeRow(input: ShadowProbeRecordInput): {
|
|
|
467
475
|
latency_candidate_ms: number | null;
|
|
468
476
|
prompt_fidelity: number;
|
|
469
477
|
replay_source: 'inline-full-ir';
|
|
478
|
+
outcome: 'completed' | 'aborted_latency_budget' | 'skipped_slow_tier_sync';
|
|
470
479
|
};
|
|
471
480
|
/**
|
|
472
481
|
* Persist one inline shadow-probe row to `probe_outcomes`. Fire-and-forget by
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { C as CompilePolicy, N as NormalizedResponse, A as ApiKeys, P as ProviderOverrides, a as CompiledRequest, b as PromptIR, c as CallOptions, d as CallResult, S as SystemModelMessage, e as CompileResult, f as SectionRewrite, R as RecordInput, g as RecordOutcomeInput, O as OutcomeResult, h as OracleScore, B as BestPracticeAdvisory, i as Adapter, j as PerAxisMetrics, k as Provider, l as ChainEntry, G as Grounding } from './ir-
|
|
2
|
-
export { m as CallAttempt, n as CallError, o as ChainModelEntry, p as ChainWithGrounding, q as Constraints, F as FallbackReason, H as HistoryCachePolicy, I as IntentDeclaration, M as Message, r as MutationApplied, s as NormalizedTokens, t as OutcomeKind, u as PerAxisMetricsByModel, v as PromptSection, w as SectionKind, x as ShadowProbeConfig, T as ToolCall, y as ToolDefinition } from './ir-
|
|
1
|
+
import { C as CompilePolicy, N as NormalizedResponse, A as ApiKeys, P as ProviderOverrides, a as CompiledRequest, b as PromptIR, c as CallOptions, d as CallResult, S as SystemModelMessage, e as CompileResult, f as SectionRewrite, R as RecordInput, g as RecordOutcomeInput, O as OutcomeResult, h as OracleScore, B as BestPracticeAdvisory, i as Adapter, j as PerAxisMetrics, k as Provider, l as ChainEntry, G as Grounding } from './ir-rUUojj0s.js';
|
|
2
|
+
export { m as CallAttempt, n as CallError, o as ChainModelEntry, p as ChainWithGrounding, q as Constraints, F as FallbackReason, H as HistoryCachePolicy, I as IntentDeclaration, M as Message, r as MutationApplied, s as NormalizedTokens, t as OutcomeKind, u as PerAxisMetricsByModel, v as PromptSection, w as SectionKind, x as ShadowProbeConfig, T as ToolCall, y as ToolDefinition } from './ir-rUUojj0s.js';
|
|
3
3
|
import { ModelProfile, ArchetypeConvention } from './profiles.js';
|
|
4
4
|
export { ALIASES, CacheStrategy, CliffRule, LATENCY_TIER_MS, LatencyTier, LoweringSpec, RecoveryRule, StructuredOutputCapability, SystemPromptMode, allProfiles, getProfile, latencyTierOf, profilesByProvider, tryGetProfile } from './profiles.js';
|
|
5
5
|
import { IntentArchetypeName } from './dialect.js';
|
|
@@ -436,6 +436,14 @@ interface ShadowProbeRecordInput {
|
|
|
436
436
|
latencyCurrentMs?: number;
|
|
437
437
|
/** Wall-clock latency of the candidate replay call, ms (alpha.46). */
|
|
438
438
|
latencyCandidateMs?: number;
|
|
439
|
+
/**
|
|
440
|
+
* alpha — probe-row class (migration 029). Defaults to `'completed'` (the
|
|
441
|
+
* pre-029 row shape: candidate ran, columns populated). `'aborted_latency_budget'`
|
|
442
|
+
* and `'skipped_slow_tier_sync'` are DIAGNOSTIC rows from sync-mode latency
|
|
443
|
+
* protection — no candidate response, no verdict, no false quality signal. A
|
|
444
|
+
* verdict rollup MUST filter to `outcome='completed'`.
|
|
445
|
+
*/
|
|
446
|
+
outcome?: 'completed' | 'aborted_latency_budget' | 'skipped_slow_tier_sync';
|
|
439
447
|
}
|
|
440
448
|
/**
|
|
441
449
|
* Pure builder for the `probe_outcomes` row written by the inline shadow-probe.
|
|
@@ -467,6 +475,7 @@ declare function buildShadowProbeRow(input: ShadowProbeRecordInput): {
|
|
|
467
475
|
latency_candidate_ms: number | null;
|
|
468
476
|
prompt_fidelity: number;
|
|
469
477
|
replay_source: 'inline-full-ir';
|
|
478
|
+
outcome: 'completed' | 'aborted_latency_budget' | 'skipped_slow_tier_sync';
|
|
470
479
|
};
|
|
471
480
|
/**
|
|
472
481
|
* Persist one inline shadow-probe row to `probe_outcomes`. Fire-and-forget by
|