@warmdrift/kgauto-compiler 2.0.0-alpha.94 → 2.0.0-alpha.96
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/{chunk-VXSSZFES.mjs → chunk-26IS3Y6Z.mjs} +1 -1
- package/dist/{chunk-OAJZLZBN.mjs → chunk-2D4H7HGZ.mjs} +1 -1
- package/dist/{chunk-57XCZGN5.mjs → chunk-AMV3M2KH.mjs} +187 -36
- package/dist/{chunk-TN6UIX56.mjs → chunk-SRPRNTDT.mjs} +17 -7
- package/dist/glassbox-routes/index.js +187 -36
- package/dist/glassbox-routes/index.mjs +2 -2
- package/dist/index.d.mts +12 -3
- package/dist/index.d.ts +12 -3
- package/dist/index.js +205 -42
- package/dist/index.mjs +5 -4
- package/dist/key-health.js +1 -1
- package/dist/key-health.mjs +1 -1
- package/dist/probe.js +196 -40
- package/dist/probe.mjs +3 -3
- package/dist/profiles.d.mts +45 -2
- package/dist/profiles.d.ts +45 -2
- package/dist/profiles.js +187 -36
- package/dist/profiles.mjs +1 -1
- package/package.json +2 -2
|
@@ -54,6 +54,26 @@ var PROFILES_RAW = [
|
|
|
54
54
|
// on Fable 5 (omit instead) — MOOT here: ANTHROPIC_LOWERING_BASE carries no
|
|
55
55
|
// `thinking` field, so kgauto never sends the param. (L-049/L-081.)
|
|
56
56
|
id: "claude-fable-5",
|
|
57
|
+
// alpha.95 — MEASURED, 2026-08-28, guard-probe-suite --discover run 32.
|
|
58
|
+
// This model declared no cliffs, which is why the offline check had
|
|
59
|
+
// nothing measured to say about it. The claim states its denominator:
|
|
60
|
+
// the fixture demands 3 specific tools from a 20-tool menu, so this is
|
|
61
|
+
// evidence of correct selection + 3-way parallel emission at that menu
|
|
62
|
+
// size — NOT evidence of 20 concurrent calls.
|
|
63
|
+
probedLimits: [
|
|
64
|
+
{
|
|
65
|
+
metric: "tool_count",
|
|
66
|
+
testedAt: 20,
|
|
67
|
+
demanded: 3,
|
|
68
|
+
served: [3, 3, 3],
|
|
69
|
+
outcome: "held",
|
|
70
|
+
trials: 3,
|
|
71
|
+
lastProbed: "2026-08-28",
|
|
72
|
+
probeRunId: 32,
|
|
73
|
+
route: "direct",
|
|
74
|
+
claim: "Measured 2026-08-28: served 3 of 3 demanded tools from a 20-tool menu, 3/3 trials, direct route."
|
|
75
|
+
}
|
|
76
|
+
],
|
|
57
77
|
verifiedAgainstDocs: "2026-06-21",
|
|
58
78
|
provider: "anthropic",
|
|
59
79
|
status: "current",
|
|
@@ -174,6 +194,26 @@ var PROFILES_RAW = [
|
|
|
174
194
|
// failure, where a template-clone of PRICE (the field that actually varies,
|
|
175
195
|
// there by 2.5-3.75x) went unverified for 65 days.
|
|
176
196
|
id: "claude-opus-5",
|
|
197
|
+
// alpha.95 — MEASURED, 2026-08-28, guard-probe-suite --discover run 33.
|
|
198
|
+
// This model declared no cliffs, which is why the offline check had
|
|
199
|
+
// nothing measured to say about it. The claim states its denominator:
|
|
200
|
+
// the fixture demands 3 specific tools from a 20-tool menu, so this is
|
|
201
|
+
// evidence of correct selection + 3-way parallel emission at that menu
|
|
202
|
+
// size — NOT evidence of 20 concurrent calls.
|
|
203
|
+
probedLimits: [
|
|
204
|
+
{
|
|
205
|
+
metric: "tool_count",
|
|
206
|
+
testedAt: 20,
|
|
207
|
+
demanded: 3,
|
|
208
|
+
served: [3, 3, 3],
|
|
209
|
+
outcome: "held",
|
|
210
|
+
trials: 3,
|
|
211
|
+
lastProbed: "2026-08-28",
|
|
212
|
+
probeRunId: 33,
|
|
213
|
+
route: "direct",
|
|
214
|
+
claim: "Measured 2026-08-28: served 3 of 3 demanded tools from a 20-tool menu, 3/3 trials, direct route."
|
|
215
|
+
}
|
|
216
|
+
],
|
|
177
217
|
verifiedAgainstDocs: "2026-07-25",
|
|
178
218
|
provider: "anthropic",
|
|
179
219
|
status: "current",
|
|
@@ -758,18 +798,22 @@ var PROFILES_RAW = [
|
|
|
758
798
|
maxContextTokens: 1e6,
|
|
759
799
|
maxOutputTokens: 384e3,
|
|
760
800
|
maxTools: 16,
|
|
761
|
-
|
|
801
|
+
// alpha.96 — CORRECTED from `false`, which was AI-generated at greenfield
|
|
802
|
+
// (2026-04-25) and never re-checked. Measured 2026-08-28 direct to
|
|
803
|
+
// api.deepseek.com, no kgauto in the path, 6 tools offered, 3 trials:
|
|
804
|
+
// 3 parallel tool calls returned, 3/3. L-040's original evidence said
|
|
805
|
+
// "7-8 calls per step" — which was never a claim that only one tool may be
|
|
806
|
+
// offered. See the note in lower.ts:lowerDeepSeek.
|
|
807
|
+
parallelToolCalls: true,
|
|
762
808
|
structuredOutput: "native",
|
|
763
809
|
systemPromptMode: "inline",
|
|
764
810
|
streaming: true,
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
}
|
|
772
|
-
],
|
|
811
|
+
// alpha.96 — the `tool_count@1 -> drop_to_top_relevant` cliff was DELETED.
|
|
812
|
+
// It restated `parallelToolCalls: false` as a threshold and was falsified by
|
|
813
|
+
// the same measurement. It is not kept-and-flagged (the usual lifecycle)
|
|
814
|
+
// because it was never a real failure mode: it was a second enforcement of a
|
|
815
|
+
// wrong belief, and keeping it active would keep amputating tools.
|
|
816
|
+
cliffs: [],
|
|
773
817
|
costInputPer1m: 0.44,
|
|
774
818
|
costOutputPer1m: 1.32,
|
|
775
819
|
lowering: {
|
|
@@ -781,7 +825,12 @@ var PROFILES_RAW = [
|
|
|
781
825
|
{ signal: "rate_limit", action: "escalate", reason: "429 \u2014 escalate" }
|
|
782
826
|
],
|
|
783
827
|
strengths: ["cost", "1m_context", "json_output", "code", "reasoning"],
|
|
784
|
-
|
|
828
|
+
// alpha.96 — 'parallel_tools' REMOVED: measurably false (2026-08-28, direct
|
|
829
|
+
// to api.deepseek.com, 6 tools, 3 trials, 3 parallel calls, both models).
|
|
830
|
+
// 'large_tool_sets' KEPT and explicitly unverified — the probe offered 6 of
|
|
831
|
+
// a declared maxTools 16, so it says nothing about behaviour at 16. Not
|
|
832
|
+
// falsified is not the same as confirmed.
|
|
833
|
+
weaknesses: ["large_tool_sets"],
|
|
785
834
|
// alpha.47 — explicit slow override. Tag derivation would say 'medium'
|
|
786
835
|
// (no 'latency' weakness, no 'speed' strength), but the alpha.46 shadow
|
|
787
836
|
// probe MEASURED deepseek-v4-flash at 20485ms served (2026-06-03) — ~2.3×
|
|
@@ -793,7 +842,11 @@ var PROFILES_RAW = [
|
|
|
793
842
|
notes: "Cheap workhorse. 1M context, 384k max output. Cache-hit input $0.0028/M (1/50\xD7 of miss). Aliased as `deepseek-chat` (non-thinking) and `deepseek-reasoner` (thinking) \u2014 see ALIASES. PEAK/OFF-PEAK since 2026-08-16 (page fetched 2026-08-24): peak = weekdays 01:00-04:00 + 06:00-10:00 UTC, off-peak = all other hours at HALF peak. Encoded prices ARE the peak rate (conservative: never understate cost); off-peak traffic costs half what the estimate says. alpha.87 was built + verified 2026-08-14 (prices then live), held at the publish gate 10 days, and published 2026-08-24 \u2014 by which time the 08-16 transition had killed them ($0.14/$0.28 flash, $0.435/$0.87 pro); corrected here (alpha.88). Build-then-hold is the mechanism: re-verify prices at publish when publish is not same-session as build. A single price field cannot represent a two-rate schedule; catalog-sync extractions oscillate between the rates day-to-day (peak read 08-21, off-peak read 08-22) \u2014 time-of-day pricing remains unmodeled, roadmap.",
|
|
794
843
|
// Master plan §6.2 anchor. Brain-validated tier 1 cross-provider for
|
|
795
844
|
// classify (169 rows, 0% empty). Tier 0 for summarize-with-no-tools.
|
|
796
|
-
//
|
|
845
|
+
// alpha.96 — the hunt half of this sentence is RETRACTED: "sequential tools
|
|
846
|
+
// — L-040" was falsified 2026-08-28 (direct measurement, 3 parallel tool
|
|
847
|
+
// calls, both models). Do not use this comment to re-lower `hunt`; it is
|
|
848
|
+
// the exact prose that justified the wrong score. The reasoning-depth
|
|
849
|
+
// rationale is untouched and still carries `critique`.
|
|
797
850
|
archetypePerf: {
|
|
798
851
|
classify: 7,
|
|
799
852
|
// brain-validated, 169 rows
|
|
@@ -805,8 +858,16 @@ var PROFILES_RAW = [
|
|
|
805
858
|
plan: 5,
|
|
806
859
|
extract: 5,
|
|
807
860
|
critique: 4,
|
|
808
|
-
|
|
809
|
-
//
|
|
861
|
+
// alpha.96 — was 4. Its ONLY written justification was "sequential tool
|
|
862
|
+
// calls only — L-040", which is falsified. A score derived from a false
|
|
863
|
+
// premise cannot be kept, and re-guessing a penalty would just relaunder
|
|
864
|
+
// the same belief. Set to the floor (6) = "no evidence of deficiency",
|
|
865
|
+
// NOT an endorsement. This is a JUDGMENT, not a measurement, and it is
|
|
866
|
+
// the honest direction of the two: the only hunt-shaped evidence we have
|
|
867
|
+
// is positive (a research-agent fixture, 3 of 3 demanded tools correctly
|
|
868
|
+
// selected from a 6-tool menu, 3/3 trials, both models). Replace with a
|
|
869
|
+
// real number from the golden-eval hunt corpus — that is what it is for.
|
|
870
|
+
hunt: 6
|
|
810
871
|
},
|
|
811
872
|
// alpha.43 — family-level conventions for the `deepseek-chat` family
|
|
812
873
|
// (V4-Flash + future non-thinking-mode members). V4-Flash struggles
|
|
@@ -831,18 +892,22 @@ var PROFILES_RAW = [
|
|
|
831
892
|
maxContextTokens: 1e6,
|
|
832
893
|
maxOutputTokens: 384e3,
|
|
833
894
|
maxTools: 16,
|
|
834
|
-
|
|
895
|
+
// alpha.96 — CORRECTED from `false`, which was AI-generated at greenfield
|
|
896
|
+
// (2026-04-25) and never re-checked. Measured 2026-08-28 direct to
|
|
897
|
+
// api.deepseek.com, no kgauto in the path, 6 tools offered, 3 trials:
|
|
898
|
+
// 3 parallel tool calls returned, 3/3. L-040's original evidence said
|
|
899
|
+
// "7-8 calls per step" — which was never a claim that only one tool may be
|
|
900
|
+
// offered. See the note in lower.ts:lowerDeepSeek.
|
|
901
|
+
parallelToolCalls: true,
|
|
835
902
|
structuredOutput: "native",
|
|
836
903
|
systemPromptMode: "inline",
|
|
837
904
|
streaming: true,
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
}
|
|
845
|
-
],
|
|
905
|
+
// alpha.96 — the `tool_count@1 -> drop_to_top_relevant` cliff was DELETED.
|
|
906
|
+
// It restated `parallelToolCalls: false` as a threshold and was falsified by
|
|
907
|
+
// the same measurement. It is not kept-and-flagged (the usual lifecycle)
|
|
908
|
+
// because it was never a real failure mode: it was a second enforcement of a
|
|
909
|
+
// wrong belief, and keeping it active would keep amputating tools.
|
|
910
|
+
cliffs: [],
|
|
846
911
|
// Verified against the live DeepSeek pricing page 2026-06-22: the 75%-off
|
|
847
912
|
// launch "promo" ($0.435/$0.87) did NOT revert on 2026-05-31 — it became the
|
|
848
913
|
// standing price (docs show $0.435 in / $0.87 out cache-miss, $0.003625
|
|
@@ -860,7 +925,12 @@ var PROFILES_RAW = [
|
|
|
860
925
|
{ signal: "rate_limit", action: "escalate", reason: "429 \u2014 escalate" }
|
|
861
926
|
],
|
|
862
927
|
strengths: ["quality", "reasoning", "1m_context", "json_output", "code", "extended_thinking"],
|
|
863
|
-
|
|
928
|
+
// alpha.96 — 'parallel_tools' REMOVED: measurably false (2026-08-28, direct
|
|
929
|
+
// to api.deepseek.com, 6 tools, 3 trials, 3 parallel calls, both models).
|
|
930
|
+
// 'large_tool_sets' KEPT and explicitly unverified — the probe offered 6 of
|
|
931
|
+
// a declared maxTools 16, so it says nothing about behaviour at 16. Not
|
|
932
|
+
// falsified is not the same as confirmed.
|
|
933
|
+
weaknesses: ["large_tool_sets"],
|
|
864
934
|
// alpha.47 — explicit slow override. Measured 47722ms on the alpha.46
|
|
865
935
|
// shadow probe (2026-06-03) — it's an extended-thinking reasoner, slowest
|
|
866
936
|
// of the served set. Tag derivation would say 'medium'; the measurement says
|
|
@@ -879,14 +949,24 @@ var PROFILES_RAW = [
|
|
|
879
949
|
summarize: 7,
|
|
880
950
|
extract: 6,
|
|
881
951
|
transform: 6,
|
|
882
|
-
|
|
883
|
-
//
|
|
952
|
+
// alpha.96 — was 4. Its ONLY written justification was "sequential tool
|
|
953
|
+
// calls only — L-040", which is falsified. A score derived from a false
|
|
954
|
+
// premise cannot be kept, and re-guessing a penalty would just relaunder
|
|
955
|
+
// the same belief. Set to the floor (6) = "no evidence of deficiency",
|
|
956
|
+
// NOT an endorsement. This is a JUDGMENT, not a measurement, and it is
|
|
957
|
+
// the honest direction of the two: the only hunt-shaped evidence we have
|
|
958
|
+
// is positive (a research-agent fixture, 3 of 3 demanded tools correctly
|
|
959
|
+
// selected from a 6-tool menu, 3/3 trials, both models). Replace with a
|
|
960
|
+
// real number from the golden-eval hunt corpus — that is what it is for.
|
|
961
|
+
hunt: 6
|
|
884
962
|
},
|
|
885
963
|
// alpha.43 — family-level conventions for the `deepseek-reasoner` family
|
|
886
964
|
// (V4-Pro is the family rep; future thinking-mode members inherit).
|
|
887
965
|
//
|
|
888
|
-
// The decisive-archetype suffix is the load-bearing piece:
|
|
889
|
-
//
|
|
966
|
+
// The decisive-archetype suffix is the load-bearing piece. ⚠️ alpha.96:
|
|
967
|
+
// its evidence was purged as poison on 2026-05-29 (s51) — retained as a
|
|
968
|
+
// hypothesis, not a finding. Original claim, for the record: 2026-05-28
|
|
969
|
+
// first real V4-Pro probe on tt-intel/classify
|
|
890
970
|
// showed 8/10 judge rationales citing "candidate hedges and fails to
|
|
891
971
|
// commit to a single classification" or "candidate refuses to pick
|
|
892
972
|
// among the labels." Without the forcing-function suffix, every
|
|
@@ -907,24 +987,35 @@ var PROFILES_RAW = [
|
|
|
907
987
|
{
|
|
908
988
|
archetype: "classify",
|
|
909
989
|
promptSuffix: "\n\nOutput exactly one classification label. Do not hedge, do not add preamble, do not explain your reasoning. If uncertain, pick the most likely label and commit to it.",
|
|
910
|
-
reason:
|
|
990
|
+
reason: 'Reasoners (deepseek-reasoner family) hedge on decisive-output archetypes by design. UNEVIDENCED HYPOTHESIS as of alpha.96 \u2014 this reason used to cite a 2026-05-28 V4-Pro probe on tt-intel/classify ("8 of 10 judge rationales cited hedging") and named `brain probe_outcomes` as its source. That source is EMPTY: probed 2026-08-28, zero probe_outcomes rows exist before 2026-06-01 and zero `classify` rows have ever existed. The probe was deleted on 2026-05-29 by the s51 poison purge \u2014 it replayed against truncated `prompt_preview`, which s51 established yields meaningless verdicts. The conclusion outlived the purge of its own evidence and kept shaping prompts for three months. The pointer was wrong too: exclusion-finding ID 20 is a zero-calls `recommend-probe` on classify, confidence low, later declined \u2014 the probe TRIGGER, never its result. KEPT because a promptSuffix is capability-PRESERVING (adds an instruction, removes nothing a raw call had) and is visible in mutations_applied. Re-evidence from the golden-eval corpus or drop it.'
|
|
911
991
|
},
|
|
912
992
|
{
|
|
913
993
|
archetype: "extract",
|
|
914
994
|
promptSuffix: "\n\nOutput exactly the requested structured fields. Do not hedge, do not add preamble, do not explain your reasoning. If a field is unknown, emit the field with a null/empty value and commit to that \u2014 do not refuse to extract.",
|
|
915
|
-
reason:
|
|
995
|
+
reason: 'Reasoners (deepseek-reasoner family) hedge on decisive-output archetypes by design. UNEVIDENCED HYPOTHESIS as of alpha.96 \u2014 the supporting evidence NO LONGER EXISTS. The cited 2026-05-28 V4-Pro classify probe ("8/10 judge rationales") was deleted on 2026-05-29 by the s51 poison purge, because it replayed against truncated `prompt_preview` and s51 established such verdicts are meaningless. Probed: zero probe_outcomes rows exist before 2026-06-01 and zero `classify` rows have EVER existed. The pointer was also wrong \u2014 exclusion-finding ID 20 is a zero-calls `recommend-probe` on classify, confidence low, later declined; it was the trigger for the probe, never its result. KEPT anyway because a promptSuffix is capability-PRESERVING (it adds an instruction and removes nothing a raw call had), so the cost of being wrong is bounded and a consumer can see it in mutations_applied. Re-evidence it from the golden-eval corpus or drop it.'
|
|
916
996
|
},
|
|
917
997
|
{
|
|
918
998
|
archetype: "ask",
|
|
919
999
|
promptSuffix: "\n\nAnswer the question directly. Do not hedge, do not add preamble, do not explain your reasoning unless explicitly asked. If uncertain, give your best answer and commit to it.",
|
|
920
|
-
reason:
|
|
921
|
-
},
|
|
922
|
-
{
|
|
923
|
-
archetype: "hunt",
|
|
924
|
-
whenToolCountAtLeast: 3,
|
|
925
|
-
cliffWarning: "Reasoners (deepseek-reasoner family) produce sequential reasoning chains by design; hunt archetypes with 3+ parallel tools lose substantial throughput. Consider gemini-flash family (parallel-strong) instead \u2014 see L-040 / L-041.",
|
|
926
|
-
reason: "L-040 + L-041 architectural reading; 2026-05-28 V4-Pro probe evidence (exclusion-finding ID 20) confirms reasoner-family hunt fit is structurally weak."
|
|
1000
|
+
reason: 'Reasoners (deepseek-reasoner family) hedge on decisive-output archetypes by design. UNEVIDENCED HYPOTHESIS as of alpha.96 \u2014 the supporting evidence NO LONGER EXISTS. The cited 2026-05-28 V4-Pro classify probe ("8/10 judge rationales") was deleted on 2026-05-29 by the s51 poison purge, because it replayed against truncated `prompt_preview` and s51 established such verdicts are meaningless. Probed: zero probe_outcomes rows exist before 2026-06-01 and zero `classify` rows have EVER existed. The pointer was also wrong \u2014 exclusion-finding ID 20 is a zero-calls `recommend-probe` on classify, confidence low, later declined; it was the trigger for the probe, never its result. KEPT anyway because a promptSuffix is capability-PRESERVING (it adds an instruction and removes nothing a raw call had), so the cost of being wrong is bounded and a consumer can see it in mutations_applied. Re-evidence it from the golden-eval corpus or drop it.'
|
|
927
1001
|
}
|
|
1002
|
+
// alpha.96 — the `hunt` convention was DELETED, not corrected.
|
|
1003
|
+
// It warned that "hunt archetypes with 3+ parallel tools lose substantial
|
|
1004
|
+
// throughput" and steered callers to gemini-flash. Measured false
|
|
1005
|
+
// 2026-08-28: 6 tools offered, 3 of 3 demanded served in parallel, 3/3
|
|
1006
|
+
// trials, both V4 models, direct to the provider.
|
|
1007
|
+
//
|
|
1008
|
+
// Its cited evidence did not say what it claimed. exclusion-finding ID 20
|
|
1009
|
+
// is `intent_archetype: 'classify'` (not hunt), `verdict:
|
|
1010
|
+
// 'recommend-probe'` (i.e. NOBODY PROBED), `confidence: 'low'`, its
|
|
1011
|
+
// message reads "deepseek-v4-pro has zero calls", it was later
|
|
1012
|
+
// `declined`, and its own `parallel_tool_hint: false` was this profile's
|
|
1013
|
+
// own belief round-tripped back as input. A no-data finding on the wrong
|
|
1014
|
+
// archetype was paraphrased into "probe evidence confirms".
|
|
1015
|
+
//
|
|
1016
|
+
// Deleted rather than re-scoped because a cliffWarning is
|
|
1017
|
+
// capability-REDUCING (it steers traffic away from a model) and nothing
|
|
1018
|
+
// evidenced remains. Re-add only from a measured hunt eval.
|
|
928
1019
|
]
|
|
929
1020
|
},
|
|
930
1021
|
// ── OpenAI ──
|
|
@@ -1052,6 +1143,26 @@ var PROFILES_RAW = [
|
|
|
1052
1143
|
},
|
|
1053
1144
|
{
|
|
1054
1145
|
id: "gpt-5.4-mini",
|
|
1146
|
+
// alpha.95 — MEASURED, 2026-08-28, guard-probe-suite --discover run 34.
|
|
1147
|
+
// This model declared no cliffs, which is why the offline check had
|
|
1148
|
+
// nothing measured to say about it. The claim states its denominator:
|
|
1149
|
+
// the fixture demands 3 specific tools from a 20-tool menu, so this is
|
|
1150
|
+
// evidence of correct selection + 3-way parallel emission at that menu
|
|
1151
|
+
// size — NOT evidence of 20 concurrent calls.
|
|
1152
|
+
probedLimits: [
|
|
1153
|
+
{
|
|
1154
|
+
metric: "tool_count",
|
|
1155
|
+
testedAt: 20,
|
|
1156
|
+
demanded: 3,
|
|
1157
|
+
served: [3, 3, 3],
|
|
1158
|
+
outcome: "held",
|
|
1159
|
+
trials: 3,
|
|
1160
|
+
lastProbed: "2026-08-28",
|
|
1161
|
+
probeRunId: 34,
|
|
1162
|
+
route: "direct",
|
|
1163
|
+
claim: "Measured 2026-08-28: served 3 of 3 demanded tools from a 20-tool menu, 3/3 trials, direct route."
|
|
1164
|
+
}
|
|
1165
|
+
],
|
|
1055
1166
|
verifiedAgainstDocs: "2026-05-17",
|
|
1056
1167
|
provider: "openai",
|
|
1057
1168
|
status: "current",
|
|
@@ -1095,6 +1206,26 @@ var PROFILES_RAW = [
|
|
|
1095
1206
|
},
|
|
1096
1207
|
{
|
|
1097
1208
|
id: "gpt-5.4-nano",
|
|
1209
|
+
// alpha.95 — MEASURED, 2026-08-28, guard-probe-suite --discover run 35.
|
|
1210
|
+
// This model declared no cliffs, which is why the offline check had
|
|
1211
|
+
// nothing measured to say about it. The claim states its denominator:
|
|
1212
|
+
// the fixture demands 3 specific tools from a 20-tool menu, so this is
|
|
1213
|
+
// evidence of correct selection + 3-way parallel emission at that menu
|
|
1214
|
+
// size — NOT evidence of 20 concurrent calls.
|
|
1215
|
+
probedLimits: [
|
|
1216
|
+
{
|
|
1217
|
+
metric: "tool_count",
|
|
1218
|
+
testedAt: 20,
|
|
1219
|
+
demanded: 3,
|
|
1220
|
+
served: [3, 3, 3],
|
|
1221
|
+
outcome: "held",
|
|
1222
|
+
trials: 3,
|
|
1223
|
+
lastProbed: "2026-08-28",
|
|
1224
|
+
probeRunId: 35,
|
|
1225
|
+
route: "direct",
|
|
1226
|
+
claim: "Measured 2026-08-28: served 3 of 3 demanded tools from a 20-tool menu, 3/3 trials, direct route."
|
|
1227
|
+
}
|
|
1228
|
+
],
|
|
1098
1229
|
verifiedAgainstDocs: "2026-05-17",
|
|
1099
1230
|
provider: "openai",
|
|
1100
1231
|
status: "current",
|
|
@@ -1710,6 +1841,26 @@ var PROFILES_RAW = [
|
|
|
1710
1841
|
// 'preview' per the Fable precedent — no brain evidence yet; promotion to
|
|
1711
1842
|
// 'current' is an explicit call. (L-049/L-081.)
|
|
1712
1843
|
id: "claude-sonnet-5",
|
|
1844
|
+
// alpha.95 — MEASURED, 2026-08-28, guard-probe-suite --discover run 36.
|
|
1845
|
+
// This model declared no cliffs, which is why the offline check had
|
|
1846
|
+
// nothing measured to say about it. The claim states its denominator:
|
|
1847
|
+
// the fixture demands 3 specific tools from a 20-tool menu, so this is
|
|
1848
|
+
// evidence of correct selection + 3-way parallel emission at that menu
|
|
1849
|
+
// size — NOT evidence of 20 concurrent calls.
|
|
1850
|
+
probedLimits: [
|
|
1851
|
+
{
|
|
1852
|
+
metric: "tool_count",
|
|
1853
|
+
testedAt: 20,
|
|
1854
|
+
demanded: 3,
|
|
1855
|
+
served: [3, 3, 3],
|
|
1856
|
+
outcome: "held",
|
|
1857
|
+
trials: 3,
|
|
1858
|
+
lastProbed: "2026-08-28",
|
|
1859
|
+
probeRunId: 36,
|
|
1860
|
+
route: "direct",
|
|
1861
|
+
claim: "Measured 2026-08-28: served 3 of 3 demanded tools from a 20-tool menu, 3/3 trials, direct route."
|
|
1862
|
+
}
|
|
1863
|
+
],
|
|
1713
1864
|
verifiedAgainstDocs: "2026-08-14",
|
|
1714
1865
|
provider: "anthropic",
|
|
1715
1866
|
status: "current",
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
getModelCompatibility,
|
|
10
10
|
isBrainQueryActiveFor,
|
|
11
11
|
policySetHas
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-2D4H7HGZ.mjs";
|
|
13
13
|
import {
|
|
14
14
|
bucketContext,
|
|
15
15
|
bucketHistory,
|
|
@@ -30,7 +30,7 @@ import {
|
|
|
30
30
|
latencyTierOf,
|
|
31
31
|
resolveModelAlias,
|
|
32
32
|
tryGetProfile
|
|
33
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-AMV3M2KH.mjs";
|
|
34
34
|
|
|
35
35
|
// src/models-brain.ts
|
|
36
36
|
function isModelRow(x) {
|
|
@@ -88,7 +88,11 @@ function rowToProfile(row) {
|
|
|
88
88
|
// latency_tier → undefined (latencyTierOf derives from tags; not
|
|
89
89
|
// safety-critical). archetype_conventions already array-validated above.
|
|
90
90
|
latencyTier: normalizeLatencyTier(row.latency_tier),
|
|
91
|
-
archetypeConventions: row.archetype_conventions ?? void 0
|
|
91
|
+
archetypeConventions: row.archetype_conventions ?? void 0,
|
|
92
|
+
// alpha.95 — measured negatives. NOT safety-critical (nothing routes on
|
|
93
|
+
// them), so a type-mismatch degrades to undefined rather than nulling
|
|
94
|
+
// the whole profile the way a corrupt `cliffs` does.
|
|
95
|
+
probedLimits: Array.isArray(row.probed_limits) ? row.probed_limits : void 0
|
|
92
96
|
};
|
|
93
97
|
} catch {
|
|
94
98
|
return null;
|
|
@@ -128,7 +132,12 @@ function profileToRow(profile, opts = {}) {
|
|
|
128
132
|
// so a reseed from bundled profiles makes the latency lever + schema
|
|
129
133
|
// conventions live warm. Closes the silently-dropped-field gap.
|
|
130
134
|
latency_tier: profile.latencyTier ?? null,
|
|
131
|
-
archetype_conventions: profile.archetypeConventions ?? null
|
|
135
|
+
archetype_conventions: profile.archetypeConventions ?? null,
|
|
136
|
+
// alpha.95 — round-trip the measured negatives. The s56 rule: a new
|
|
137
|
+
// ModelProfile field must land in migration + BOTH transformers + the
|
|
138
|
+
// config-endpoint cols list + the parity test, or it is theater for every
|
|
139
|
+
// brain-connected consumer.
|
|
140
|
+
probed_limits: profile.probedLimits ?? null
|
|
132
141
|
};
|
|
133
142
|
if (opts.verifiedAgainstDocs !== void 0) {
|
|
134
143
|
row.verified_against_docs = opts.verifiedAgainstDocs;
|
|
@@ -2588,7 +2597,7 @@ function lower(ir, profile, hints = {}) {
|
|
|
2588
2597
|
case "openai":
|
|
2589
2598
|
return lowerOpenAI(ir, profile, hints);
|
|
2590
2599
|
case "deepseek":
|
|
2591
|
-
return lowerDeepSeek(ir, profile);
|
|
2600
|
+
return lowerDeepSeek(ir, profile, hints);
|
|
2592
2601
|
case "zai":
|
|
2593
2602
|
return lowerZai(ir, profile, hints);
|
|
2594
2603
|
case "moonshot":
|
|
@@ -2849,7 +2858,7 @@ function toOpenAITools(tools) {
|
|
|
2849
2858
|
}
|
|
2850
2859
|
}));
|
|
2851
2860
|
}
|
|
2852
|
-
function lowerDeepSeek(ir, profile) {
|
|
2861
|
+
function lowerDeepSeek(ir, profile, hints) {
|
|
2853
2862
|
const ordered = sortSections(ir.sections);
|
|
2854
2863
|
const systemText = ordered.map((s) => s.text).join("\n\n");
|
|
2855
2864
|
const messages = systemText ? [{ role: "system", content: systemText }] : [];
|
|
@@ -2871,7 +2880,8 @@ function lowerDeepSeek(ir, profile) {
|
|
|
2871
2880
|
provider: "deepseek",
|
|
2872
2881
|
model: profile.id,
|
|
2873
2882
|
messages,
|
|
2874
|
-
|
|
2883
|
+
// Every tool the IR carries. Never fewer — see the note above.
|
|
2884
|
+
tools: ir.tools && ir.tools.length > 0 ? ir.tools.map((t) => ({
|
|
2875
2885
|
type: "function",
|
|
2876
2886
|
function: {
|
|
2877
2887
|
name: t.name,
|