@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
package/dist/probe.js
CHANGED
|
@@ -161,6 +161,26 @@ var PROFILES_RAW = [
|
|
|
161
161
|
// on Fable 5 (omit instead) — MOOT here: ANTHROPIC_LOWERING_BASE carries no
|
|
162
162
|
// `thinking` field, so kgauto never sends the param. (L-049/L-081.)
|
|
163
163
|
id: "claude-fable-5",
|
|
164
|
+
// alpha.95 — MEASURED, 2026-08-28, guard-probe-suite --discover run 32.
|
|
165
|
+
// This model declared no cliffs, which is why the offline check had
|
|
166
|
+
// nothing measured to say about it. The claim states its denominator:
|
|
167
|
+
// the fixture demands 3 specific tools from a 20-tool menu, so this is
|
|
168
|
+
// evidence of correct selection + 3-way parallel emission at that menu
|
|
169
|
+
// size — NOT evidence of 20 concurrent calls.
|
|
170
|
+
probedLimits: [
|
|
171
|
+
{
|
|
172
|
+
metric: "tool_count",
|
|
173
|
+
testedAt: 20,
|
|
174
|
+
demanded: 3,
|
|
175
|
+
served: [3, 3, 3],
|
|
176
|
+
outcome: "held",
|
|
177
|
+
trials: 3,
|
|
178
|
+
lastProbed: "2026-08-28",
|
|
179
|
+
probeRunId: 32,
|
|
180
|
+
route: "direct",
|
|
181
|
+
claim: "Measured 2026-08-28: served 3 of 3 demanded tools from a 20-tool menu, 3/3 trials, direct route."
|
|
182
|
+
}
|
|
183
|
+
],
|
|
164
184
|
verifiedAgainstDocs: "2026-06-21",
|
|
165
185
|
provider: "anthropic",
|
|
166
186
|
status: "current",
|
|
@@ -281,6 +301,26 @@ var PROFILES_RAW = [
|
|
|
281
301
|
// failure, where a template-clone of PRICE (the field that actually varies,
|
|
282
302
|
// there by 2.5-3.75x) went unverified for 65 days.
|
|
283
303
|
id: "claude-opus-5",
|
|
304
|
+
// alpha.95 — MEASURED, 2026-08-28, guard-probe-suite --discover run 33.
|
|
305
|
+
// This model declared no cliffs, which is why the offline check had
|
|
306
|
+
// nothing measured to say about it. The claim states its denominator:
|
|
307
|
+
// the fixture demands 3 specific tools from a 20-tool menu, so this is
|
|
308
|
+
// evidence of correct selection + 3-way parallel emission at that menu
|
|
309
|
+
// size — NOT evidence of 20 concurrent calls.
|
|
310
|
+
probedLimits: [
|
|
311
|
+
{
|
|
312
|
+
metric: "tool_count",
|
|
313
|
+
testedAt: 20,
|
|
314
|
+
demanded: 3,
|
|
315
|
+
served: [3, 3, 3],
|
|
316
|
+
outcome: "held",
|
|
317
|
+
trials: 3,
|
|
318
|
+
lastProbed: "2026-08-28",
|
|
319
|
+
probeRunId: 33,
|
|
320
|
+
route: "direct",
|
|
321
|
+
claim: "Measured 2026-08-28: served 3 of 3 demanded tools from a 20-tool menu, 3/3 trials, direct route."
|
|
322
|
+
}
|
|
323
|
+
],
|
|
284
324
|
verifiedAgainstDocs: "2026-07-25",
|
|
285
325
|
provider: "anthropic",
|
|
286
326
|
status: "current",
|
|
@@ -865,18 +905,22 @@ var PROFILES_RAW = [
|
|
|
865
905
|
maxContextTokens: 1e6,
|
|
866
906
|
maxOutputTokens: 384e3,
|
|
867
907
|
maxTools: 16,
|
|
868
|
-
|
|
908
|
+
// alpha.96 — CORRECTED from `false`, which was AI-generated at greenfield
|
|
909
|
+
// (2026-04-25) and never re-checked. Measured 2026-08-28 direct to
|
|
910
|
+
// api.deepseek.com, no kgauto in the path, 6 tools offered, 3 trials:
|
|
911
|
+
// 3 parallel tool calls returned, 3/3. L-040's original evidence said
|
|
912
|
+
// "7-8 calls per step" — which was never a claim that only one tool may be
|
|
913
|
+
// offered. See the note in lower.ts:lowerDeepSeek.
|
|
914
|
+
parallelToolCalls: true,
|
|
869
915
|
structuredOutput: "native",
|
|
870
916
|
systemPromptMode: "inline",
|
|
871
917
|
streaming: true,
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
}
|
|
879
|
-
],
|
|
918
|
+
// alpha.96 — the `tool_count@1 -> drop_to_top_relevant` cliff was DELETED.
|
|
919
|
+
// It restated `parallelToolCalls: false` as a threshold and was falsified by
|
|
920
|
+
// the same measurement. It is not kept-and-flagged (the usual lifecycle)
|
|
921
|
+
// because it was never a real failure mode: it was a second enforcement of a
|
|
922
|
+
// wrong belief, and keeping it active would keep amputating tools.
|
|
923
|
+
cliffs: [],
|
|
880
924
|
costInputPer1m: 0.44,
|
|
881
925
|
costOutputPer1m: 1.32,
|
|
882
926
|
lowering: {
|
|
@@ -888,7 +932,12 @@ var PROFILES_RAW = [
|
|
|
888
932
|
{ signal: "rate_limit", action: "escalate", reason: "429 \u2014 escalate" }
|
|
889
933
|
],
|
|
890
934
|
strengths: ["cost", "1m_context", "json_output", "code", "reasoning"],
|
|
891
|
-
|
|
935
|
+
// alpha.96 — 'parallel_tools' REMOVED: measurably false (2026-08-28, direct
|
|
936
|
+
// to api.deepseek.com, 6 tools, 3 trials, 3 parallel calls, both models).
|
|
937
|
+
// 'large_tool_sets' KEPT and explicitly unverified — the probe offered 6 of
|
|
938
|
+
// a declared maxTools 16, so it says nothing about behaviour at 16. Not
|
|
939
|
+
// falsified is not the same as confirmed.
|
|
940
|
+
weaknesses: ["large_tool_sets"],
|
|
892
941
|
// alpha.47 — explicit slow override. Tag derivation would say 'medium'
|
|
893
942
|
// (no 'latency' weakness, no 'speed' strength), but the alpha.46 shadow
|
|
894
943
|
// probe MEASURED deepseek-v4-flash at 20485ms served (2026-06-03) — ~2.3×
|
|
@@ -900,7 +949,11 @@ var PROFILES_RAW = [
|
|
|
900
949
|
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.",
|
|
901
950
|
// Master plan §6.2 anchor. Brain-validated tier 1 cross-provider for
|
|
902
951
|
// classify (169 rows, 0% empty). Tier 0 for summarize-with-no-tools.
|
|
903
|
-
//
|
|
952
|
+
// alpha.96 — the hunt half of this sentence is RETRACTED: "sequential tools
|
|
953
|
+
// — L-040" was falsified 2026-08-28 (direct measurement, 3 parallel tool
|
|
954
|
+
// calls, both models). Do not use this comment to re-lower `hunt`; it is
|
|
955
|
+
// the exact prose that justified the wrong score. The reasoning-depth
|
|
956
|
+
// rationale is untouched and still carries `critique`.
|
|
904
957
|
archetypePerf: {
|
|
905
958
|
classify: 7,
|
|
906
959
|
// brain-validated, 169 rows
|
|
@@ -912,8 +965,16 @@ var PROFILES_RAW = [
|
|
|
912
965
|
plan: 5,
|
|
913
966
|
extract: 5,
|
|
914
967
|
critique: 4,
|
|
915
|
-
|
|
916
|
-
//
|
|
968
|
+
// alpha.96 — was 4. Its ONLY written justification was "sequential tool
|
|
969
|
+
// calls only — L-040", which is falsified. A score derived from a false
|
|
970
|
+
// premise cannot be kept, and re-guessing a penalty would just relaunder
|
|
971
|
+
// the same belief. Set to the floor (6) = "no evidence of deficiency",
|
|
972
|
+
// NOT an endorsement. This is a JUDGMENT, not a measurement, and it is
|
|
973
|
+
// the honest direction of the two: the only hunt-shaped evidence we have
|
|
974
|
+
// is positive (a research-agent fixture, 3 of 3 demanded tools correctly
|
|
975
|
+
// selected from a 6-tool menu, 3/3 trials, both models). Replace with a
|
|
976
|
+
// real number from the golden-eval hunt corpus — that is what it is for.
|
|
977
|
+
hunt: 6
|
|
917
978
|
},
|
|
918
979
|
// alpha.43 — family-level conventions for the `deepseek-chat` family
|
|
919
980
|
// (V4-Flash + future non-thinking-mode members). V4-Flash struggles
|
|
@@ -938,18 +999,22 @@ var PROFILES_RAW = [
|
|
|
938
999
|
maxContextTokens: 1e6,
|
|
939
1000
|
maxOutputTokens: 384e3,
|
|
940
1001
|
maxTools: 16,
|
|
941
|
-
|
|
1002
|
+
// alpha.96 — CORRECTED from `false`, which was AI-generated at greenfield
|
|
1003
|
+
// (2026-04-25) and never re-checked. Measured 2026-08-28 direct to
|
|
1004
|
+
// api.deepseek.com, no kgauto in the path, 6 tools offered, 3 trials:
|
|
1005
|
+
// 3 parallel tool calls returned, 3/3. L-040's original evidence said
|
|
1006
|
+
// "7-8 calls per step" — which was never a claim that only one tool may be
|
|
1007
|
+
// offered. See the note in lower.ts:lowerDeepSeek.
|
|
1008
|
+
parallelToolCalls: true,
|
|
942
1009
|
structuredOutput: "native",
|
|
943
1010
|
systemPromptMode: "inline",
|
|
944
1011
|
streaming: true,
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
}
|
|
952
|
-
],
|
|
1012
|
+
// alpha.96 — the `tool_count@1 -> drop_to_top_relevant` cliff was DELETED.
|
|
1013
|
+
// It restated `parallelToolCalls: false` as a threshold and was falsified by
|
|
1014
|
+
// the same measurement. It is not kept-and-flagged (the usual lifecycle)
|
|
1015
|
+
// because it was never a real failure mode: it was a second enforcement of a
|
|
1016
|
+
// wrong belief, and keeping it active would keep amputating tools.
|
|
1017
|
+
cliffs: [],
|
|
953
1018
|
// Verified against the live DeepSeek pricing page 2026-06-22: the 75%-off
|
|
954
1019
|
// launch "promo" ($0.435/$0.87) did NOT revert on 2026-05-31 — it became the
|
|
955
1020
|
// standing price (docs show $0.435 in / $0.87 out cache-miss, $0.003625
|
|
@@ -967,7 +1032,12 @@ var PROFILES_RAW = [
|
|
|
967
1032
|
{ signal: "rate_limit", action: "escalate", reason: "429 \u2014 escalate" }
|
|
968
1033
|
],
|
|
969
1034
|
strengths: ["quality", "reasoning", "1m_context", "json_output", "code", "extended_thinking"],
|
|
970
|
-
|
|
1035
|
+
// alpha.96 — 'parallel_tools' REMOVED: measurably false (2026-08-28, direct
|
|
1036
|
+
// to api.deepseek.com, 6 tools, 3 trials, 3 parallel calls, both models).
|
|
1037
|
+
// 'large_tool_sets' KEPT and explicitly unverified — the probe offered 6 of
|
|
1038
|
+
// a declared maxTools 16, so it says nothing about behaviour at 16. Not
|
|
1039
|
+
// falsified is not the same as confirmed.
|
|
1040
|
+
weaknesses: ["large_tool_sets"],
|
|
971
1041
|
// alpha.47 — explicit slow override. Measured 47722ms on the alpha.46
|
|
972
1042
|
// shadow probe (2026-06-03) — it's an extended-thinking reasoner, slowest
|
|
973
1043
|
// of the served set. Tag derivation would say 'medium'; the measurement says
|
|
@@ -986,14 +1056,24 @@ var PROFILES_RAW = [
|
|
|
986
1056
|
summarize: 7,
|
|
987
1057
|
extract: 6,
|
|
988
1058
|
transform: 6,
|
|
989
|
-
|
|
990
|
-
//
|
|
1059
|
+
// alpha.96 — was 4. Its ONLY written justification was "sequential tool
|
|
1060
|
+
// calls only — L-040", which is falsified. A score derived from a false
|
|
1061
|
+
// premise cannot be kept, and re-guessing a penalty would just relaunder
|
|
1062
|
+
// the same belief. Set to the floor (6) = "no evidence of deficiency",
|
|
1063
|
+
// NOT an endorsement. This is a JUDGMENT, not a measurement, and it is
|
|
1064
|
+
// the honest direction of the two: the only hunt-shaped evidence we have
|
|
1065
|
+
// is positive (a research-agent fixture, 3 of 3 demanded tools correctly
|
|
1066
|
+
// selected from a 6-tool menu, 3/3 trials, both models). Replace with a
|
|
1067
|
+
// real number from the golden-eval hunt corpus — that is what it is for.
|
|
1068
|
+
hunt: 6
|
|
991
1069
|
},
|
|
992
1070
|
// alpha.43 — family-level conventions for the `deepseek-reasoner` family
|
|
993
1071
|
// (V4-Pro is the family rep; future thinking-mode members inherit).
|
|
994
1072
|
//
|
|
995
|
-
// The decisive-archetype suffix is the load-bearing piece:
|
|
996
|
-
//
|
|
1073
|
+
// The decisive-archetype suffix is the load-bearing piece. ⚠️ alpha.96:
|
|
1074
|
+
// its evidence was purged as poison on 2026-05-29 (s51) — retained as a
|
|
1075
|
+
// hypothesis, not a finding. Original claim, for the record: 2026-05-28
|
|
1076
|
+
// first real V4-Pro probe on tt-intel/classify
|
|
997
1077
|
// showed 8/10 judge rationales citing "candidate hedges and fails to
|
|
998
1078
|
// commit to a single classification" or "candidate refuses to pick
|
|
999
1079
|
// among the labels." Without the forcing-function suffix, every
|
|
@@ -1014,24 +1094,35 @@ var PROFILES_RAW = [
|
|
|
1014
1094
|
{
|
|
1015
1095
|
archetype: "classify",
|
|
1016
1096
|
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.",
|
|
1017
|
-
reason:
|
|
1097
|
+
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.'
|
|
1018
1098
|
},
|
|
1019
1099
|
{
|
|
1020
1100
|
archetype: "extract",
|
|
1021
1101
|
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.",
|
|
1022
|
-
reason:
|
|
1102
|
+
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.'
|
|
1023
1103
|
},
|
|
1024
1104
|
{
|
|
1025
1105
|
archetype: "ask",
|
|
1026
1106
|
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.",
|
|
1027
|
-
reason:
|
|
1028
|
-
},
|
|
1029
|
-
{
|
|
1030
|
-
archetype: "hunt",
|
|
1031
|
-
whenToolCountAtLeast: 3,
|
|
1032
|
-
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.",
|
|
1033
|
-
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."
|
|
1107
|
+
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.'
|
|
1034
1108
|
}
|
|
1109
|
+
// alpha.96 — the `hunt` convention was DELETED, not corrected.
|
|
1110
|
+
// It warned that "hunt archetypes with 3+ parallel tools lose substantial
|
|
1111
|
+
// throughput" and steered callers to gemini-flash. Measured false
|
|
1112
|
+
// 2026-08-28: 6 tools offered, 3 of 3 demanded served in parallel, 3/3
|
|
1113
|
+
// trials, both V4 models, direct to the provider.
|
|
1114
|
+
//
|
|
1115
|
+
// Its cited evidence did not say what it claimed. exclusion-finding ID 20
|
|
1116
|
+
// is `intent_archetype: 'classify'` (not hunt), `verdict:
|
|
1117
|
+
// 'recommend-probe'` (i.e. NOBODY PROBED), `confidence: 'low'`, its
|
|
1118
|
+
// message reads "deepseek-v4-pro has zero calls", it was later
|
|
1119
|
+
// `declined`, and its own `parallel_tool_hint: false` was this profile's
|
|
1120
|
+
// own belief round-tripped back as input. A no-data finding on the wrong
|
|
1121
|
+
// archetype was paraphrased into "probe evidence confirms".
|
|
1122
|
+
//
|
|
1123
|
+
// Deleted rather than re-scoped because a cliffWarning is
|
|
1124
|
+
// capability-REDUCING (it steers traffic away from a model) and nothing
|
|
1125
|
+
// evidenced remains. Re-add only from a measured hunt eval.
|
|
1035
1126
|
]
|
|
1036
1127
|
},
|
|
1037
1128
|
// ── OpenAI ──
|
|
@@ -1159,6 +1250,26 @@ var PROFILES_RAW = [
|
|
|
1159
1250
|
},
|
|
1160
1251
|
{
|
|
1161
1252
|
id: "gpt-5.4-mini",
|
|
1253
|
+
// alpha.95 — MEASURED, 2026-08-28, guard-probe-suite --discover run 34.
|
|
1254
|
+
// This model declared no cliffs, which is why the offline check had
|
|
1255
|
+
// nothing measured to say about it. The claim states its denominator:
|
|
1256
|
+
// the fixture demands 3 specific tools from a 20-tool menu, so this is
|
|
1257
|
+
// evidence of correct selection + 3-way parallel emission at that menu
|
|
1258
|
+
// size — NOT evidence of 20 concurrent calls.
|
|
1259
|
+
probedLimits: [
|
|
1260
|
+
{
|
|
1261
|
+
metric: "tool_count",
|
|
1262
|
+
testedAt: 20,
|
|
1263
|
+
demanded: 3,
|
|
1264
|
+
served: [3, 3, 3],
|
|
1265
|
+
outcome: "held",
|
|
1266
|
+
trials: 3,
|
|
1267
|
+
lastProbed: "2026-08-28",
|
|
1268
|
+
probeRunId: 34,
|
|
1269
|
+
route: "direct",
|
|
1270
|
+
claim: "Measured 2026-08-28: served 3 of 3 demanded tools from a 20-tool menu, 3/3 trials, direct route."
|
|
1271
|
+
}
|
|
1272
|
+
],
|
|
1162
1273
|
verifiedAgainstDocs: "2026-05-17",
|
|
1163
1274
|
provider: "openai",
|
|
1164
1275
|
status: "current",
|
|
@@ -1202,6 +1313,26 @@ var PROFILES_RAW = [
|
|
|
1202
1313
|
},
|
|
1203
1314
|
{
|
|
1204
1315
|
id: "gpt-5.4-nano",
|
|
1316
|
+
// alpha.95 — MEASURED, 2026-08-28, guard-probe-suite --discover run 35.
|
|
1317
|
+
// This model declared no cliffs, which is why the offline check had
|
|
1318
|
+
// nothing measured to say about it. The claim states its denominator:
|
|
1319
|
+
// the fixture demands 3 specific tools from a 20-tool menu, so this is
|
|
1320
|
+
// evidence of correct selection + 3-way parallel emission at that menu
|
|
1321
|
+
// size — NOT evidence of 20 concurrent calls.
|
|
1322
|
+
probedLimits: [
|
|
1323
|
+
{
|
|
1324
|
+
metric: "tool_count",
|
|
1325
|
+
testedAt: 20,
|
|
1326
|
+
demanded: 3,
|
|
1327
|
+
served: [3, 3, 3],
|
|
1328
|
+
outcome: "held",
|
|
1329
|
+
trials: 3,
|
|
1330
|
+
lastProbed: "2026-08-28",
|
|
1331
|
+
probeRunId: 35,
|
|
1332
|
+
route: "direct",
|
|
1333
|
+
claim: "Measured 2026-08-28: served 3 of 3 demanded tools from a 20-tool menu, 3/3 trials, direct route."
|
|
1334
|
+
}
|
|
1335
|
+
],
|
|
1205
1336
|
verifiedAgainstDocs: "2026-05-17",
|
|
1206
1337
|
provider: "openai",
|
|
1207
1338
|
status: "current",
|
|
@@ -1817,6 +1948,26 @@ var PROFILES_RAW = [
|
|
|
1817
1948
|
// 'preview' per the Fable precedent — no brain evidence yet; promotion to
|
|
1818
1949
|
// 'current' is an explicit call. (L-049/L-081.)
|
|
1819
1950
|
id: "claude-sonnet-5",
|
|
1951
|
+
// alpha.95 — MEASURED, 2026-08-28, guard-probe-suite --discover run 36.
|
|
1952
|
+
// This model declared no cliffs, which is why the offline check had
|
|
1953
|
+
// nothing measured to say about it. The claim states its denominator:
|
|
1954
|
+
// the fixture demands 3 specific tools from a 20-tool menu, so this is
|
|
1955
|
+
// evidence of correct selection + 3-way parallel emission at that menu
|
|
1956
|
+
// size — NOT evidence of 20 concurrent calls.
|
|
1957
|
+
probedLimits: [
|
|
1958
|
+
{
|
|
1959
|
+
metric: "tool_count",
|
|
1960
|
+
testedAt: 20,
|
|
1961
|
+
demanded: 3,
|
|
1962
|
+
served: [3, 3, 3],
|
|
1963
|
+
outcome: "held",
|
|
1964
|
+
trials: 3,
|
|
1965
|
+
lastProbed: "2026-08-28",
|
|
1966
|
+
probeRunId: 36,
|
|
1967
|
+
route: "direct",
|
|
1968
|
+
claim: "Measured 2026-08-28: served 3 of 3 demanded tools from a 20-tool menu, 3/3 trials, direct route."
|
|
1969
|
+
}
|
|
1970
|
+
],
|
|
1820
1971
|
verifiedAgainstDocs: "2026-08-14",
|
|
1821
1972
|
provider: "anthropic",
|
|
1822
1973
|
status: "current",
|
|
@@ -2153,7 +2304,11 @@ function rowToProfile(row) {
|
|
|
2153
2304
|
// latency_tier → undefined (latencyTierOf derives from tags; not
|
|
2154
2305
|
// safety-critical). archetype_conventions already array-validated above.
|
|
2155
2306
|
latencyTier: normalizeLatencyTier(row.latency_tier),
|
|
2156
|
-
archetypeConventions: row.archetype_conventions ?? void 0
|
|
2307
|
+
archetypeConventions: row.archetype_conventions ?? void 0,
|
|
2308
|
+
// alpha.95 — measured negatives. NOT safety-critical (nothing routes on
|
|
2309
|
+
// them), so a type-mismatch degrades to undefined rather than nulling
|
|
2310
|
+
// the whole profile the way a corrupt `cliffs` does.
|
|
2311
|
+
probedLimits: Array.isArray(row.probed_limits) ? row.probed_limits : void 0
|
|
2157
2312
|
};
|
|
2158
2313
|
} catch {
|
|
2159
2314
|
return null;
|
|
@@ -3298,7 +3453,7 @@ function lower(ir, profile, hints = {}) {
|
|
|
3298
3453
|
case "openai":
|
|
3299
3454
|
return lowerOpenAI(ir, profile, hints);
|
|
3300
3455
|
case "deepseek":
|
|
3301
|
-
return lowerDeepSeek(ir, profile);
|
|
3456
|
+
return lowerDeepSeek(ir, profile, hints);
|
|
3302
3457
|
case "zai":
|
|
3303
3458
|
return lowerZai(ir, profile, hints);
|
|
3304
3459
|
case "moonshot":
|
|
@@ -3559,7 +3714,7 @@ function toOpenAITools(tools) {
|
|
|
3559
3714
|
}
|
|
3560
3715
|
}));
|
|
3561
3716
|
}
|
|
3562
|
-
function lowerDeepSeek(ir, profile) {
|
|
3717
|
+
function lowerDeepSeek(ir, profile, hints) {
|
|
3563
3718
|
const ordered = sortSections(ir.sections);
|
|
3564
3719
|
const systemText = ordered.map((s) => s.text).join("\n\n");
|
|
3565
3720
|
const messages = systemText ? [{ role: "system", content: systemText }] : [];
|
|
@@ -3581,7 +3736,8 @@ function lowerDeepSeek(ir, profile) {
|
|
|
3581
3736
|
provider: "deepseek",
|
|
3582
3737
|
model: profile.id,
|
|
3583
3738
|
messages,
|
|
3584
|
-
|
|
3739
|
+
// Every tool the IR carries. Never fewer — see the note above.
|
|
3740
|
+
tools: ir.tools && ir.tools.length > 0 ? ir.tools.map((t) => ({
|
|
3585
3741
|
type: "function",
|
|
3586
3742
|
function: {
|
|
3587
3743
|
name: t.name,
|
package/dist/probe.mjs
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
compile
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-SRPRNTDT.mjs";
|
|
4
|
+
import "./chunk-2D4H7HGZ.mjs";
|
|
5
5
|
import "./chunk-FEMPY6EC.mjs";
|
|
6
6
|
import {
|
|
7
7
|
deriveCliffEvidenceClass,
|
|
8
8
|
getProfile
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-AMV3M2KH.mjs";
|
|
10
10
|
|
|
11
11
|
// src/probe.ts
|
|
12
12
|
function compileSuppressing(ir, opts) {
|
package/dist/profiles.d.mts
CHANGED
|
@@ -61,6 +61,39 @@ interface CliffEvidence {
|
|
|
61
61
|
/** FK into kgauto_guard_probe_runs. */
|
|
62
62
|
probeRunId?: number;
|
|
63
63
|
}
|
|
64
|
+
/**
|
|
65
|
+
* alpha.95 — a MEASURED NEGATIVE: a limit we deliberately probed and which
|
|
66
|
+
* held. It has no home in `CliffRule`, because a CliffRule requires an action
|
|
67
|
+
* and there is nothing to do when nothing broke — which is exactly why the
|
|
68
|
+
* fact was invisible until now. Of 15 `current` bundled models, 5 declared
|
|
69
|
+
* zero cliffs (claude-opus-5, claude-sonnet-5, claude-fable-5, gpt-5.4-mini,
|
|
70
|
+
* gpt-5.4-nano — the models a stranger hardcodes), so the offline check had
|
|
71
|
+
* nothing measured to say about precisely them.
|
|
72
|
+
*
|
|
73
|
+
* `claim` is written to be quotable verbatim and MUST state its own
|
|
74
|
+
* denominator: "served 3 of 3 demanded tools from a 20-tool menu, 3/3 trials"
|
|
75
|
+
* is a fact; "handles 20 tools" is an overclaim of the same run.
|
|
76
|
+
*/
|
|
77
|
+
interface ProbedLimit {
|
|
78
|
+
metric: CliffRule['metric'];
|
|
79
|
+
/** The point actually exercised (e.g. tool-ladder size). */
|
|
80
|
+
testedAt: number;
|
|
81
|
+
/** What the fixture demanded at that point — the denominator. */
|
|
82
|
+
demanded?: number;
|
|
83
|
+
/** Distinct tools served, per trial. */
|
|
84
|
+
served?: number[];
|
|
85
|
+
/** `held` = probed and did not break. `broke` = a cliff we shipped blind. */
|
|
86
|
+
outcome: 'held' | 'broke';
|
|
87
|
+
trials: number;
|
|
88
|
+
/** ISO date of the run. */
|
|
89
|
+
lastProbed: string;
|
|
90
|
+
/** FK into kgauto_guard_probe_runs. */
|
|
91
|
+
probeRunId?: number;
|
|
92
|
+
/** `direct`, or a gateway route — a verdict is a per-route fact. */
|
|
93
|
+
route?: string;
|
|
94
|
+
/** One sentence, quotable, denominator included. */
|
|
95
|
+
claim: string;
|
|
96
|
+
}
|
|
64
97
|
/**
|
|
65
98
|
* alpha.93 — evidence class for a guard, derived when the rule predates the
|
|
66
99
|
* explicit field. Explicit `evidence.class` always wins; the legacy
|
|
@@ -92,7 +125,10 @@ declare function deriveCliffEvidenceClass(rule: CliffRule): CliffEvidence['class
|
|
|
92
125
|
* diverges from the family default.
|
|
93
126
|
*
|
|
94
127
|
* Trigger that justified the substrate (2026-05-28): V4-Pro probe on
|
|
95
|
-
* tt-intel/classify
|
|
128
|
+
* tt-intel/classify showed 8/10 judge rationales
|
|
129
|
+
* ⚠️ alpha.96: THAT PROBE WAS PURGED 2026-05-29 (s51, prompt_preview
|
|
130
|
+
* truncation). Zero probe rows survive before 2026-06-01. The substrate is
|
|
131
|
+
* kept; the evidence claim below is retracted — treat as hypothesis.
|
|
96
132
|
* citing "candidate hedges and fails to commit to a single classification."
|
|
97
133
|
* Without a forcing-function suffix, every reasoner probe on a decisive
|
|
98
134
|
* archetype verdicts stay-excluded for reasoner-behavior reasons, not
|
|
@@ -291,6 +327,13 @@ interface ModelProfile {
|
|
|
291
327
|
* See `ArchetypeConvention` for field semantics.
|
|
292
328
|
*/
|
|
293
329
|
archetypeConventions?: ArchetypeConvention[];
|
|
330
|
+
/**
|
|
331
|
+
* alpha.95 — measured negatives from the guard-probe suite's `--discover`
|
|
332
|
+
* mode. Lives in the BUNDLE deliberately: `kgauto-check` runs offline and
|
|
333
|
+
* never reads the brain, so evidence that lands brain-only is invisible to
|
|
334
|
+
* the artifact first contact leads with.
|
|
335
|
+
*/
|
|
336
|
+
probedLimits?: ProbedLimit[];
|
|
294
337
|
/**
|
|
295
338
|
* alpha.87 — true ONLY on profiles synthesized by
|
|
296
339
|
* `onUnprofiledModel: 'best-effort'`. Lets compile() (and any consumer)
|
|
@@ -377,4 +420,4 @@ declare function allProfiles(): readonly ModelProfile[];
|
|
|
377
420
|
declare function allProfilesRaw(): readonly ModelProfile[];
|
|
378
421
|
declare function profilesByProvider(provider: Provider): readonly ModelProfile[];
|
|
379
422
|
|
|
380
|
-
export { ALIASES, type ArchetypeConvention, type CacheStrategy, type CliffEvidence, type CliffRule, LATENCY_TIER_MS, type LatencyTier, type LoweringSpec, type ModelProfile, type RecoveryRule, type StructuredOutputCapability, type SystemPromptMode, _setProfileBrainHook, _testClearConsumerProfiles, allProfiles, allProfilesRaw, bestEffortProfile, deriveCliffEvidenceClass, getProfile, inferProviderFromId, latencyTierOf, profilesByProvider, registerProfiles, resolveModelAlias, tryGetProfile };
|
|
423
|
+
export { ALIASES, type ArchetypeConvention, type CacheStrategy, type CliffEvidence, type CliffRule, LATENCY_TIER_MS, type LatencyTier, type LoweringSpec, type ModelProfile, type ProbedLimit, type RecoveryRule, type StructuredOutputCapability, type SystemPromptMode, _setProfileBrainHook, _testClearConsumerProfiles, allProfiles, allProfilesRaw, bestEffortProfile, deriveCliffEvidenceClass, getProfile, inferProviderFromId, latencyTierOf, profilesByProvider, registerProfiles, resolveModelAlias, tryGetProfile };
|
package/dist/profiles.d.ts
CHANGED
|
@@ -61,6 +61,39 @@ interface CliffEvidence {
|
|
|
61
61
|
/** FK into kgauto_guard_probe_runs. */
|
|
62
62
|
probeRunId?: number;
|
|
63
63
|
}
|
|
64
|
+
/**
|
|
65
|
+
* alpha.95 — a MEASURED NEGATIVE: a limit we deliberately probed and which
|
|
66
|
+
* held. It has no home in `CliffRule`, because a CliffRule requires an action
|
|
67
|
+
* and there is nothing to do when nothing broke — which is exactly why the
|
|
68
|
+
* fact was invisible until now. Of 15 `current` bundled models, 5 declared
|
|
69
|
+
* zero cliffs (claude-opus-5, claude-sonnet-5, claude-fable-5, gpt-5.4-mini,
|
|
70
|
+
* gpt-5.4-nano — the models a stranger hardcodes), so the offline check had
|
|
71
|
+
* nothing measured to say about precisely them.
|
|
72
|
+
*
|
|
73
|
+
* `claim` is written to be quotable verbatim and MUST state its own
|
|
74
|
+
* denominator: "served 3 of 3 demanded tools from a 20-tool menu, 3/3 trials"
|
|
75
|
+
* is a fact; "handles 20 tools" is an overclaim of the same run.
|
|
76
|
+
*/
|
|
77
|
+
interface ProbedLimit {
|
|
78
|
+
metric: CliffRule['metric'];
|
|
79
|
+
/** The point actually exercised (e.g. tool-ladder size). */
|
|
80
|
+
testedAt: number;
|
|
81
|
+
/** What the fixture demanded at that point — the denominator. */
|
|
82
|
+
demanded?: number;
|
|
83
|
+
/** Distinct tools served, per trial. */
|
|
84
|
+
served?: number[];
|
|
85
|
+
/** `held` = probed and did not break. `broke` = a cliff we shipped blind. */
|
|
86
|
+
outcome: 'held' | 'broke';
|
|
87
|
+
trials: number;
|
|
88
|
+
/** ISO date of the run. */
|
|
89
|
+
lastProbed: string;
|
|
90
|
+
/** FK into kgauto_guard_probe_runs. */
|
|
91
|
+
probeRunId?: number;
|
|
92
|
+
/** `direct`, or a gateway route — a verdict is a per-route fact. */
|
|
93
|
+
route?: string;
|
|
94
|
+
/** One sentence, quotable, denominator included. */
|
|
95
|
+
claim: string;
|
|
96
|
+
}
|
|
64
97
|
/**
|
|
65
98
|
* alpha.93 — evidence class for a guard, derived when the rule predates the
|
|
66
99
|
* explicit field. Explicit `evidence.class` always wins; the legacy
|
|
@@ -92,7 +125,10 @@ declare function deriveCliffEvidenceClass(rule: CliffRule): CliffEvidence['class
|
|
|
92
125
|
* diverges from the family default.
|
|
93
126
|
*
|
|
94
127
|
* Trigger that justified the substrate (2026-05-28): V4-Pro probe on
|
|
95
|
-
* tt-intel/classify
|
|
128
|
+
* tt-intel/classify showed 8/10 judge rationales
|
|
129
|
+
* ⚠️ alpha.96: THAT PROBE WAS PURGED 2026-05-29 (s51, prompt_preview
|
|
130
|
+
* truncation). Zero probe rows survive before 2026-06-01. The substrate is
|
|
131
|
+
* kept; the evidence claim below is retracted — treat as hypothesis.
|
|
96
132
|
* citing "candidate hedges and fails to commit to a single classification."
|
|
97
133
|
* Without a forcing-function suffix, every reasoner probe on a decisive
|
|
98
134
|
* archetype verdicts stay-excluded for reasoner-behavior reasons, not
|
|
@@ -291,6 +327,13 @@ interface ModelProfile {
|
|
|
291
327
|
* See `ArchetypeConvention` for field semantics.
|
|
292
328
|
*/
|
|
293
329
|
archetypeConventions?: ArchetypeConvention[];
|
|
330
|
+
/**
|
|
331
|
+
* alpha.95 — measured negatives from the guard-probe suite's `--discover`
|
|
332
|
+
* mode. Lives in the BUNDLE deliberately: `kgauto-check` runs offline and
|
|
333
|
+
* never reads the brain, so evidence that lands brain-only is invisible to
|
|
334
|
+
* the artifact first contact leads with.
|
|
335
|
+
*/
|
|
336
|
+
probedLimits?: ProbedLimit[];
|
|
294
337
|
/**
|
|
295
338
|
* alpha.87 — true ONLY on profiles synthesized by
|
|
296
339
|
* `onUnprofiledModel: 'best-effort'`. Lets compile() (and any consumer)
|
|
@@ -377,4 +420,4 @@ declare function allProfiles(): readonly ModelProfile[];
|
|
|
377
420
|
declare function allProfilesRaw(): readonly ModelProfile[];
|
|
378
421
|
declare function profilesByProvider(provider: Provider): readonly ModelProfile[];
|
|
379
422
|
|
|
380
|
-
export { ALIASES, type ArchetypeConvention, type CacheStrategy, type CliffEvidence, type CliffRule, LATENCY_TIER_MS, type LatencyTier, type LoweringSpec, type ModelProfile, type RecoveryRule, type StructuredOutputCapability, type SystemPromptMode, _setProfileBrainHook, _testClearConsumerProfiles, allProfiles, allProfilesRaw, bestEffortProfile, deriveCliffEvidenceClass, getProfile, inferProviderFromId, latencyTierOf, profilesByProvider, registerProfiles, resolveModelAlias, tryGetProfile };
|
|
423
|
+
export { ALIASES, type ArchetypeConvention, type CacheStrategy, type CliffEvidence, type CliffRule, LATENCY_TIER_MS, type LatencyTier, type LoweringSpec, type ModelProfile, type ProbedLimit, type RecoveryRule, type StructuredOutputCapability, type SystemPromptMode, _setProfileBrainHook, _testClearConsumerProfiles, allProfiles, allProfilesRaw, bestEffortProfile, deriveCliffEvidenceClass, getProfile, inferProviderFromId, latencyTierOf, profilesByProvider, registerProfiles, resolveModelAlias, tryGetProfile };
|