@warmdrift/kgauto-compiler 2.0.0-alpha.90 → 2.0.0-alpha.91

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.
@@ -2,7 +2,7 @@ import {
2
2
  allProfiles,
3
3
  resolveModelAlias,
4
4
  tryGetProfile
5
- } from "./chunk-OK2TMFRR.mjs";
5
+ } from "./chunk-T53ISC2F.mjs";
6
6
 
7
7
  // src/brain-query.ts
8
8
  var FRESH_SNAPSHOT = {
@@ -529,7 +529,7 @@ var STARTER_CHAINS_GROUNDED = {
529
529
  { id: "gemini-2.5-flash", grounding: "judgment", reason: "Cost-sensitive primary \u2014 engineer pick" },
530
530
  { id: "deepseek-v4-flash", grounding: "measured", reason: "Brain-validated tier 1 for cost-sensitive summarize workloads", n: 169 },
531
531
  { id: "claude-haiku-4-5", grounding: "judgment", reason: "Quality safety net" },
532
- { id: "gemini-2.5-flash-lite", grounding: "judgment", reason: "Emergency floor \u2014 onboarded s22, no brain evidence yet" },
532
+ { id: "gemini-3.5-flash-lite", grounding: "judgment", reason: "Emergency floor. alpha.91: retargeted from availability-restricted gemini-2.5-flash-lite (Google refuses it for new accounts, TT-49 2026-08-26); 3.5-flash-lite is the successor Google\u2019s own error names" },
533
533
  { id: "gpt-5.4-nano", grounding: "judgment", reason: "alpha.33: third-provider tail (archetypePerf=6) \u2014 cheapest OpenAI, matches summarize cost-band" }
534
534
  ],
535
535
  // Brain-validated DeepSeek tier 1 (169 rows, 0% empty rate).
@@ -537,7 +537,7 @@ var STARTER_CHAINS_GROUNDED = {
537
537
  { id: "gemini-2.5-flash", grounding: "judgment", reason: "Cost-sensitive primary \u2014 engineer pick" },
538
538
  { id: "deepseek-v4-flash", grounding: "measured", reason: "Brain-validated tier 1 (169 rows, 0% empty rate)", n: 169 },
539
539
  { id: "claude-haiku-4-5", grounding: "judgment", reason: "Quality safety net" },
540
- { id: "gemini-2.5-flash-lite", grounding: "judgment", reason: "Cache-discount 10\xD7 floor for repeat-prompt workloads" },
540
+ { id: "gemini-3.5-flash-lite", grounding: "judgment", reason: "Cache-discount 10\xD7 floor for repeat-prompt workloads ($0.03/M cached). alpha.91: retargeted from availability-restricted gemini-2.5-flash-lite" },
541
541
  { id: "gpt-5.4-nano", grounding: "judgment", reason: "alpha.33: third-provider tail (archetypePerf=6) \u2014 cheapest OpenAI for classify" }
542
542
  ]
543
543
  };
@@ -1,5 +1,5 @@
1
1
  // src/version.ts
2
- var LIBRARY_VERSION = "2.0.0-alpha.90";
2
+ var LIBRARY_VERSION = "2.0.0-alpha.91";
3
3
 
4
4
  // src/key-health.ts
5
5
  var JSON_HEADERS = { "Content-Type": "application/json" };
@@ -516,9 +516,19 @@ var PROFILES_RAW = [
516
516
  // thresholds. The brain will validate/relax these as evidence accumulates
517
517
  // per (archetype, model) tuple. Currently ZERO brain rows for this model.
518
518
  id: "gemini-2.5-flash-lite",
519
- verifiedAgainstDocs: "2026-08-14",
519
+ verifiedAgainstDocs: "2026-08-27",
520
520
  provider: "google",
521
- status: "current",
521
+ // alpha.91 — AVAILABILITY demotion, same class as gemini-2.5-pro below.
522
+ // Google refuses the model for newer account cohorts: "This model is no
523
+ // longer available to new users. Please update your code to use
524
+ // models/gemini-3.5-flash-lite" (tt-intel TT-49 runtime evidence,
525
+ // 2026-08-26, interfaces/kgauto.md ## Requested). It ranked FIRST in
526
+ // getFallbackChain('gemini-2.5-pro') — a dead-for-new-accounts model as
527
+ // the cheapest fallback pick. `legacy` removes it from chains and new
528
+ // selection; explicit-id consumers still resolve it. Successor is the
529
+ // one Google's own error names: gemini-3.5-flash-lite (onboarded this
530
+ // release, same price point).
531
+ status: "legacy",
522
532
  maxContextTokens: 1048576,
523
533
  maxOutputTokens: 65536,
524
534
  maxTools: 128,
@@ -1243,9 +1253,12 @@ var PROFILES_RAW = [
1243
1253
  //
1244
1254
  // Cliffs are HYPOTHESIZED from 2.5-flash family; brain evidence pending.
1245
1255
  id: "gemini-3.1-flash-lite",
1246
- verifiedAgainstDocs: "2026-05-21",
1256
+ verifiedAgainstDocs: "2026-08-27",
1247
1257
  provider: "google",
1248
- status: "preview",
1258
+ // alpha.91 — docs page now labels it "Stable" and the brain row has been
1259
+ // `current` since catalog-sync moved it; the bundle lagged (the L-073
1260
+ // layer-parity shape, caught during the TT-49 delisting release).
1261
+ status: "current",
1249
1262
  maxContextTokens: 1048576,
1250
1263
  maxOutputTokens: 65536,
1251
1264
  maxTools: 128,
@@ -1337,6 +1350,122 @@ var PROFILES_RAW = [
1337
1350
  }
1338
1351
  },
1339
1352
  // ─────────────────────────────────────────────────────────────────────────
1353
+ // Gemini 3.5 Flash-Lite — onboarded s91 (2026-08-27)
1354
+ //
1355
+ // The successor Google's own delisting error names: "This model
1356
+ // [gemini-2.5-flash-lite] is no longer available to new users. Please
1357
+ // update your code to use models/gemini-3.5-flash-lite" (tt-intel TT-49,
1358
+ // 2026-08-26). Same price point as the 2.5 Lite rung it replaces in the
1359
+ // summarize/classify starter chains ($0.30/$2.50 vs the old $0.10/$0.40
1360
+ // era pricing), same 1M/65K limits, same 10× cache discount ($0.03 vs
1361
+ // $0.30 input). Positioning: "fastest, most cost-effective 3.5 model for
1362
+ // high-throughput execution … high-volume agentic tasks, translation, and
1363
+ // simple data processing."
1364
+ //
1365
+ // Cliffs + archetypePerf inherited from the Flash-Lite family as starter
1366
+ // hypotheses — ZERO brain rows on this id yet; first 50 rows per archetype
1367
+ // validate or relax.
1368
+ //
1369
+ // Specs verified 2026-08-27 against:
1370
+ // ai.google.dev/gemini-api/docs/models/gemini-3.5-flash-lite
1371
+ // (Stable; input limit 1,048,576; output limit 65,536; function
1372
+ // calling / structured outputs / thinking / caching all Supported)
1373
+ // ai.google.dev/gemini-api/docs/pricing ($0.30 in / $2.50 out incl.
1374
+ // thinking tokens; context caching $0.03)
1375
+ // ─────────────────────────────────────────────────────────────────────────
1376
+ {
1377
+ id: "gemini-3.5-flash-lite",
1378
+ verifiedAgainstDocs: "2026-08-27",
1379
+ provider: "google",
1380
+ status: "current",
1381
+ maxContextTokens: 1048576,
1382
+ maxOutputTokens: 65536,
1383
+ maxTools: 128,
1384
+ parallelToolCalls: true,
1385
+ structuredOutput: "native",
1386
+ systemPromptMode: "separate",
1387
+ streaming: true,
1388
+ cliffs: [
1389
+ {
1390
+ metric: "input_tokens",
1391
+ threshold: 8e3,
1392
+ action: "downgrade_quality_warning",
1393
+ reason: "Inherited from Flash family: quality degrades above ~8K. Lite tier \u2014 assume it degrades at least as fast. Re-tune from brain after n\u226520."
1394
+ },
1395
+ {
1396
+ metric: "tool_count",
1397
+ threshold: 10,
1398
+ action: "drop_to_top_relevant",
1399
+ reason: "Conservative: Flash drops at 20, Lite tier is smaller \u2014 assume tighter ceiling until brain proves otherwise."
1400
+ },
1401
+ {
1402
+ metric: "thinking_with_short_output",
1403
+ threshold: 1,
1404
+ action: "force_thinking_budget_zero",
1405
+ reason: "Thinking Supported per model page \u2014 same drain risk as Flash; thinking tokens consume maxOutputTokens."
1406
+ },
1407
+ {
1408
+ // Strong prior: Flash hit 5/5 empty rate on summarize+tools (s11
1409
+ // trust artifact). Flash-Lite siblings carry the guard preemptively;
1410
+ // brain telemetry confirms or relaxes per id.
1411
+ metric: "tool_count",
1412
+ threshold: 1,
1413
+ whenIntent: "summarize",
1414
+ action: "strip_tools",
1415
+ reason: "Inherited from Flash s11 cliff: summarize+tools \u2192 empty response. Preemptive guard until brain evidence on 3.5 Flash-Lite specifically."
1416
+ }
1417
+ ],
1418
+ costInputPer1m: 0.3,
1419
+ costOutputPer1m: 2.5,
1420
+ lowering: {
1421
+ ...GOOGLE_LOWERING_BASE,
1422
+ // Cache discount 10× — pricing page: $0.03/M cached vs $0.30/M input.
1423
+ // Material for repeat-prompt workloads (classify shape).
1424
+ cache: { ...GOOGLE_LOWERING_BASE.cache, discount: 0.1 },
1425
+ thinking: { field: "generationConfig.thinkingConfig.thinkingBudget", default: "auto" }
1426
+ },
1427
+ recovery: [
1428
+ {
1429
+ signal: "empty_response_after_tool",
1430
+ action: "retry_with_params",
1431
+ retryParams: { "generationConfig.thinkingConfig.thinkingBudget": 0 },
1432
+ maxRetries: 1,
1433
+ reason: "Known on Flash family: empty after tool result \u2014 retry with thinking off."
1434
+ },
1435
+ {
1436
+ signal: "empty_response",
1437
+ action: "retry_with_params",
1438
+ retryParams: { "generationConfig.thinkingConfig.thinkingBudget": 0 },
1439
+ maxRetries: 1,
1440
+ reason: "Empty response \u2014 try with thinking off."
1441
+ },
1442
+ {
1443
+ signal: "malformed_function_call",
1444
+ action: "escalate",
1445
+ reason: "MALFORMED_FUNCTION_CALL maps to stop \u2014 escalate to next target."
1446
+ }
1447
+ ],
1448
+ strengths: ["low_cost", "speed", "volume", "classification", "summarize", "1m_context", "cache_friendly"],
1449
+ weaknesses: ["complex_reasoning", "large_tool_sets", "complex_schemas", "structured_output_unproven", "long_context_quality"],
1450
+ notes: 'Onboarded s91 (2026-08-27) as the Google-named successor to availability-restricted gemini-2.5-flash-lite. $0.30/$2.50 per 1M, 1M context, 65K max output, cache $0.03/M (10\xD7 discount). "Fastest, most cost-effective 3.5 model for high-throughput execution." Cliffs hypothesized from the Flash family \u2014 brain evidence pending.',
1451
+ // Lite-tier floor for summarize/classify chains. ZERO brain rows — all
1452
+ // values are starter hypotheses anchored to the Flash-Lite family shape.
1453
+ archetypePerf: {
1454
+ classify: 6,
1455
+ // starter hypothesis — verify (Flash is 7, lite likely ≤)
1456
+ summarize: 6,
1457
+ // starter hypothesis — verify; cliff strips tools
1458
+ transform: 6,
1459
+ // starter hypothesis — verify
1460
+ ask: 5,
1461
+ hunt: 5,
1462
+ generate: 4,
1463
+ extract: 4,
1464
+ plan: 3,
1465
+ critique: 3
1466
+ }
1467
+ },
1468
+ // ─────────────────────────────────────────────────────────────────────────
1340
1469
  // Gemini 3.5 Flash — hand-onboarded s37 (2026-05-21)
1341
1470
  //
1342
1471
  // Google positioning ("Most intelligent for sustained frontier performance
@@ -570,9 +570,19 @@ var PROFILES_RAW = [
570
570
  // thresholds. The brain will validate/relax these as evidence accumulates
571
571
  // per (archetype, model) tuple. Currently ZERO brain rows for this model.
572
572
  id: "gemini-2.5-flash-lite",
573
- verifiedAgainstDocs: "2026-08-14",
573
+ verifiedAgainstDocs: "2026-08-27",
574
574
  provider: "google",
575
- status: "current",
575
+ // alpha.91 — AVAILABILITY demotion, same class as gemini-2.5-pro below.
576
+ // Google refuses the model for newer account cohorts: "This model is no
577
+ // longer available to new users. Please update your code to use
578
+ // models/gemini-3.5-flash-lite" (tt-intel TT-49 runtime evidence,
579
+ // 2026-08-26, interfaces/kgauto.md ## Requested). It ranked FIRST in
580
+ // getFallbackChain('gemini-2.5-pro') — a dead-for-new-accounts model as
581
+ // the cheapest fallback pick. `legacy` removes it from chains and new
582
+ // selection; explicit-id consumers still resolve it. Successor is the
583
+ // one Google's own error names: gemini-3.5-flash-lite (onboarded this
584
+ // release, same price point).
585
+ status: "legacy",
576
586
  maxContextTokens: 1048576,
577
587
  maxOutputTokens: 65536,
578
588
  maxTools: 128,
@@ -1297,9 +1307,12 @@ var PROFILES_RAW = [
1297
1307
  //
1298
1308
  // Cliffs are HYPOTHESIZED from 2.5-flash family; brain evidence pending.
1299
1309
  id: "gemini-3.1-flash-lite",
1300
- verifiedAgainstDocs: "2026-05-21",
1310
+ verifiedAgainstDocs: "2026-08-27",
1301
1311
  provider: "google",
1302
- status: "preview",
1312
+ // alpha.91 — docs page now labels it "Stable" and the brain row has been
1313
+ // `current` since catalog-sync moved it; the bundle lagged (the L-073
1314
+ // layer-parity shape, caught during the TT-49 delisting release).
1315
+ status: "current",
1303
1316
  maxContextTokens: 1048576,
1304
1317
  maxOutputTokens: 65536,
1305
1318
  maxTools: 128,
@@ -1391,6 +1404,122 @@ var PROFILES_RAW = [
1391
1404
  }
1392
1405
  },
1393
1406
  // ─────────────────────────────────────────────────────────────────────────
1407
+ // Gemini 3.5 Flash-Lite — onboarded s91 (2026-08-27)
1408
+ //
1409
+ // The successor Google's own delisting error names: "This model
1410
+ // [gemini-2.5-flash-lite] is no longer available to new users. Please
1411
+ // update your code to use models/gemini-3.5-flash-lite" (tt-intel TT-49,
1412
+ // 2026-08-26). Same price point as the 2.5 Lite rung it replaces in the
1413
+ // summarize/classify starter chains ($0.30/$2.50 vs the old $0.10/$0.40
1414
+ // era pricing), same 1M/65K limits, same 10× cache discount ($0.03 vs
1415
+ // $0.30 input). Positioning: "fastest, most cost-effective 3.5 model for
1416
+ // high-throughput execution … high-volume agentic tasks, translation, and
1417
+ // simple data processing."
1418
+ //
1419
+ // Cliffs + archetypePerf inherited from the Flash-Lite family as starter
1420
+ // hypotheses — ZERO brain rows on this id yet; first 50 rows per archetype
1421
+ // validate or relax.
1422
+ //
1423
+ // Specs verified 2026-08-27 against:
1424
+ // ai.google.dev/gemini-api/docs/models/gemini-3.5-flash-lite
1425
+ // (Stable; input limit 1,048,576; output limit 65,536; function
1426
+ // calling / structured outputs / thinking / caching all Supported)
1427
+ // ai.google.dev/gemini-api/docs/pricing ($0.30 in / $2.50 out incl.
1428
+ // thinking tokens; context caching $0.03)
1429
+ // ─────────────────────────────────────────────────────────────────────────
1430
+ {
1431
+ id: "gemini-3.5-flash-lite",
1432
+ verifiedAgainstDocs: "2026-08-27",
1433
+ provider: "google",
1434
+ status: "current",
1435
+ maxContextTokens: 1048576,
1436
+ maxOutputTokens: 65536,
1437
+ maxTools: 128,
1438
+ parallelToolCalls: true,
1439
+ structuredOutput: "native",
1440
+ systemPromptMode: "separate",
1441
+ streaming: true,
1442
+ cliffs: [
1443
+ {
1444
+ metric: "input_tokens",
1445
+ threshold: 8e3,
1446
+ action: "downgrade_quality_warning",
1447
+ reason: "Inherited from Flash family: quality degrades above ~8K. Lite tier \u2014 assume it degrades at least as fast. Re-tune from brain after n\u226520."
1448
+ },
1449
+ {
1450
+ metric: "tool_count",
1451
+ threshold: 10,
1452
+ action: "drop_to_top_relevant",
1453
+ reason: "Conservative: Flash drops at 20, Lite tier is smaller \u2014 assume tighter ceiling until brain proves otherwise."
1454
+ },
1455
+ {
1456
+ metric: "thinking_with_short_output",
1457
+ threshold: 1,
1458
+ action: "force_thinking_budget_zero",
1459
+ reason: "Thinking Supported per model page \u2014 same drain risk as Flash; thinking tokens consume maxOutputTokens."
1460
+ },
1461
+ {
1462
+ // Strong prior: Flash hit 5/5 empty rate on summarize+tools (s11
1463
+ // trust artifact). Flash-Lite siblings carry the guard preemptively;
1464
+ // brain telemetry confirms or relaxes per id.
1465
+ metric: "tool_count",
1466
+ threshold: 1,
1467
+ whenIntent: "summarize",
1468
+ action: "strip_tools",
1469
+ reason: "Inherited from Flash s11 cliff: summarize+tools \u2192 empty response. Preemptive guard until brain evidence on 3.5 Flash-Lite specifically."
1470
+ }
1471
+ ],
1472
+ costInputPer1m: 0.3,
1473
+ costOutputPer1m: 2.5,
1474
+ lowering: {
1475
+ ...GOOGLE_LOWERING_BASE,
1476
+ // Cache discount 10× — pricing page: $0.03/M cached vs $0.30/M input.
1477
+ // Material for repeat-prompt workloads (classify shape).
1478
+ cache: { ...GOOGLE_LOWERING_BASE.cache, discount: 0.1 },
1479
+ thinking: { field: "generationConfig.thinkingConfig.thinkingBudget", default: "auto" }
1480
+ },
1481
+ recovery: [
1482
+ {
1483
+ signal: "empty_response_after_tool",
1484
+ action: "retry_with_params",
1485
+ retryParams: { "generationConfig.thinkingConfig.thinkingBudget": 0 },
1486
+ maxRetries: 1,
1487
+ reason: "Known on Flash family: empty after tool result \u2014 retry with thinking off."
1488
+ },
1489
+ {
1490
+ signal: "empty_response",
1491
+ action: "retry_with_params",
1492
+ retryParams: { "generationConfig.thinkingConfig.thinkingBudget": 0 },
1493
+ maxRetries: 1,
1494
+ reason: "Empty response \u2014 try with thinking off."
1495
+ },
1496
+ {
1497
+ signal: "malformed_function_call",
1498
+ action: "escalate",
1499
+ reason: "MALFORMED_FUNCTION_CALL maps to stop \u2014 escalate to next target."
1500
+ }
1501
+ ],
1502
+ strengths: ["low_cost", "speed", "volume", "classification", "summarize", "1m_context", "cache_friendly"],
1503
+ weaknesses: ["complex_reasoning", "large_tool_sets", "complex_schemas", "structured_output_unproven", "long_context_quality"],
1504
+ notes: 'Onboarded s91 (2026-08-27) as the Google-named successor to availability-restricted gemini-2.5-flash-lite. $0.30/$2.50 per 1M, 1M context, 65K max output, cache $0.03/M (10\xD7 discount). "Fastest, most cost-effective 3.5 model for high-throughput execution." Cliffs hypothesized from the Flash family \u2014 brain evidence pending.',
1505
+ // Lite-tier floor for summarize/classify chains. ZERO brain rows — all
1506
+ // values are starter hypotheses anchored to the Flash-Lite family shape.
1507
+ archetypePerf: {
1508
+ classify: 6,
1509
+ // starter hypothesis — verify (Flash is 7, lite likely ≤)
1510
+ summarize: 6,
1511
+ // starter hypothesis — verify; cliff strips tools
1512
+ transform: 6,
1513
+ // starter hypothesis — verify
1514
+ ask: 5,
1515
+ hunt: 5,
1516
+ generate: 4,
1517
+ extract: 4,
1518
+ plan: 3,
1519
+ critique: 3
1520
+ }
1521
+ },
1522
+ // ─────────────────────────────────────────────────────────────────────────
1394
1523
  // Gemini 3.5 Flash — hand-onboarded s37 (2026-05-21)
1395
1524
  //
1396
1525
  // Google positioning ("Most intelligent for sustained frontier performance
@@ -2176,7 +2305,7 @@ var STARTER_CHAINS_GROUNDED = {
2176
2305
  { id: "gemini-2.5-flash", grounding: "judgment", reason: "Cost-sensitive primary \u2014 engineer pick" },
2177
2306
  { id: "deepseek-v4-flash", grounding: "measured", reason: "Brain-validated tier 1 for cost-sensitive summarize workloads", n: 169 },
2178
2307
  { id: "claude-haiku-4-5", grounding: "judgment", reason: "Quality safety net" },
2179
- { id: "gemini-2.5-flash-lite", grounding: "judgment", reason: "Emergency floor \u2014 onboarded s22, no brain evidence yet" },
2308
+ { id: "gemini-3.5-flash-lite", grounding: "judgment", reason: "Emergency floor. alpha.91: retargeted from availability-restricted gemini-2.5-flash-lite (Google refuses it for new accounts, TT-49 2026-08-26); 3.5-flash-lite is the successor Google\u2019s own error names" },
2180
2309
  { id: "gpt-5.4-nano", grounding: "judgment", reason: "alpha.33: third-provider tail (archetypePerf=6) \u2014 cheapest OpenAI, matches summarize cost-band" }
2181
2310
  ],
2182
2311
  // Brain-validated DeepSeek tier 1 (169 rows, 0% empty rate).
@@ -2184,7 +2313,7 @@ var STARTER_CHAINS_GROUNDED = {
2184
2313
  { id: "gemini-2.5-flash", grounding: "judgment", reason: "Cost-sensitive primary \u2014 engineer pick" },
2185
2314
  { id: "deepseek-v4-flash", grounding: "measured", reason: "Brain-validated tier 1 (169 rows, 0% empty rate)", n: 169 },
2186
2315
  { id: "claude-haiku-4-5", grounding: "judgment", reason: "Quality safety net" },
2187
- { id: "gemini-2.5-flash-lite", grounding: "judgment", reason: "Cache-discount 10\xD7 floor for repeat-prompt workloads" },
2316
+ { id: "gemini-3.5-flash-lite", grounding: "judgment", reason: "Cache-discount 10\xD7 floor for repeat-prompt workloads ($0.03/M cached). alpha.91: retargeted from availability-restricted gemini-2.5-flash-lite" },
2188
2317
  { id: "gpt-5.4-nano", grounding: "judgment", reason: "alpha.33: third-provider tail (archetypePerf=6) \u2014 cheapest OpenAI for classify" }
2189
2318
  ]
2190
2319
  };
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  ARCHETYPE_FLOOR_DEFAULT,
3
3
  getDefaultFallbackChain
4
- } from "../chunk-ENELVMJI.mjs";
4
+ } from "../chunk-54IXD5BT.mjs";
5
5
  import {
6
6
  tryGetProfile
7
- } from "../chunk-OK2TMFRR.mjs";
7
+ } from "../chunk-T53ISC2F.mjs";
8
8
  import {
9
9
  subscribe,
10
10
  subscribeApp
package/dist/index.d.mts CHANGED
@@ -1270,7 +1270,7 @@ declare function runStrategyEvalWithAttribution(opts: Omit<GoldenEvalOptions, 'a
1270
1270
  * guard in `tests/version.test.ts` fails the suite (and therefore
1271
1271
  * `prepublishOnly`) when they diverge — a stale constant cannot reach npm.
1272
1272
  */
1273
- declare const LIBRARY_VERSION = "2.0.0-alpha.90";
1273
+ declare const LIBRARY_VERSION = "2.0.0-alpha.91";
1274
1274
 
1275
1275
  /**
1276
1276
  * Oracle contract — how an app tells the brain whether a response was good.
package/dist/index.d.ts CHANGED
@@ -1270,7 +1270,7 @@ declare function runStrategyEvalWithAttribution(opts: Omit<GoldenEvalOptions, 'a
1270
1270
  * guard in `tests/version.test.ts` fails the suite (and therefore
1271
1271
  * `prepublishOnly`) when they diverge — a stale constant cannot reach npm.
1272
1272
  */
1273
- declare const LIBRARY_VERSION = "2.0.0-alpha.90";
1273
+ declare const LIBRARY_VERSION = "2.0.0-alpha.91";
1274
1274
 
1275
1275
  /**
1276
1276
  * Oracle contract — how an app tells the brain whether a response was good.
package/dist/index.js CHANGED
@@ -889,9 +889,19 @@ var PROFILES_RAW = [
889
889
  // thresholds. The brain will validate/relax these as evidence accumulates
890
890
  // per (archetype, model) tuple. Currently ZERO brain rows for this model.
891
891
  id: "gemini-2.5-flash-lite",
892
- verifiedAgainstDocs: "2026-08-14",
892
+ verifiedAgainstDocs: "2026-08-27",
893
893
  provider: "google",
894
- status: "current",
894
+ // alpha.91 — AVAILABILITY demotion, same class as gemini-2.5-pro below.
895
+ // Google refuses the model for newer account cohorts: "This model is no
896
+ // longer available to new users. Please update your code to use
897
+ // models/gemini-3.5-flash-lite" (tt-intel TT-49 runtime evidence,
898
+ // 2026-08-26, interfaces/kgauto.md ## Requested). It ranked FIRST in
899
+ // getFallbackChain('gemini-2.5-pro') — a dead-for-new-accounts model as
900
+ // the cheapest fallback pick. `legacy` removes it from chains and new
901
+ // selection; explicit-id consumers still resolve it. Successor is the
902
+ // one Google's own error names: gemini-3.5-flash-lite (onboarded this
903
+ // release, same price point).
904
+ status: "legacy",
895
905
  maxContextTokens: 1048576,
896
906
  maxOutputTokens: 65536,
897
907
  maxTools: 128,
@@ -1616,9 +1626,12 @@ var PROFILES_RAW = [
1616
1626
  //
1617
1627
  // Cliffs are HYPOTHESIZED from 2.5-flash family; brain evidence pending.
1618
1628
  id: "gemini-3.1-flash-lite",
1619
- verifiedAgainstDocs: "2026-05-21",
1629
+ verifiedAgainstDocs: "2026-08-27",
1620
1630
  provider: "google",
1621
- status: "preview",
1631
+ // alpha.91 — docs page now labels it "Stable" and the brain row has been
1632
+ // `current` since catalog-sync moved it; the bundle lagged (the L-073
1633
+ // layer-parity shape, caught during the TT-49 delisting release).
1634
+ status: "current",
1622
1635
  maxContextTokens: 1048576,
1623
1636
  maxOutputTokens: 65536,
1624
1637
  maxTools: 128,
@@ -1710,6 +1723,122 @@ var PROFILES_RAW = [
1710
1723
  }
1711
1724
  },
1712
1725
  // ─────────────────────────────────────────────────────────────────────────
1726
+ // Gemini 3.5 Flash-Lite — onboarded s91 (2026-08-27)
1727
+ //
1728
+ // The successor Google's own delisting error names: "This model
1729
+ // [gemini-2.5-flash-lite] is no longer available to new users. Please
1730
+ // update your code to use models/gemini-3.5-flash-lite" (tt-intel TT-49,
1731
+ // 2026-08-26). Same price point as the 2.5 Lite rung it replaces in the
1732
+ // summarize/classify starter chains ($0.30/$2.50 vs the old $0.10/$0.40
1733
+ // era pricing), same 1M/65K limits, same 10× cache discount ($0.03 vs
1734
+ // $0.30 input). Positioning: "fastest, most cost-effective 3.5 model for
1735
+ // high-throughput execution … high-volume agentic tasks, translation, and
1736
+ // simple data processing."
1737
+ //
1738
+ // Cliffs + archetypePerf inherited from the Flash-Lite family as starter
1739
+ // hypotheses — ZERO brain rows on this id yet; first 50 rows per archetype
1740
+ // validate or relax.
1741
+ //
1742
+ // Specs verified 2026-08-27 against:
1743
+ // ai.google.dev/gemini-api/docs/models/gemini-3.5-flash-lite
1744
+ // (Stable; input limit 1,048,576; output limit 65,536; function
1745
+ // calling / structured outputs / thinking / caching all Supported)
1746
+ // ai.google.dev/gemini-api/docs/pricing ($0.30 in / $2.50 out incl.
1747
+ // thinking tokens; context caching $0.03)
1748
+ // ─────────────────────────────────────────────────────────────────────────
1749
+ {
1750
+ id: "gemini-3.5-flash-lite",
1751
+ verifiedAgainstDocs: "2026-08-27",
1752
+ provider: "google",
1753
+ status: "current",
1754
+ maxContextTokens: 1048576,
1755
+ maxOutputTokens: 65536,
1756
+ maxTools: 128,
1757
+ parallelToolCalls: true,
1758
+ structuredOutput: "native",
1759
+ systemPromptMode: "separate",
1760
+ streaming: true,
1761
+ cliffs: [
1762
+ {
1763
+ metric: "input_tokens",
1764
+ threshold: 8e3,
1765
+ action: "downgrade_quality_warning",
1766
+ reason: "Inherited from Flash family: quality degrades above ~8K. Lite tier \u2014 assume it degrades at least as fast. Re-tune from brain after n\u226520."
1767
+ },
1768
+ {
1769
+ metric: "tool_count",
1770
+ threshold: 10,
1771
+ action: "drop_to_top_relevant",
1772
+ reason: "Conservative: Flash drops at 20, Lite tier is smaller \u2014 assume tighter ceiling until brain proves otherwise."
1773
+ },
1774
+ {
1775
+ metric: "thinking_with_short_output",
1776
+ threshold: 1,
1777
+ action: "force_thinking_budget_zero",
1778
+ reason: "Thinking Supported per model page \u2014 same drain risk as Flash; thinking tokens consume maxOutputTokens."
1779
+ },
1780
+ {
1781
+ // Strong prior: Flash hit 5/5 empty rate on summarize+tools (s11
1782
+ // trust artifact). Flash-Lite siblings carry the guard preemptively;
1783
+ // brain telemetry confirms or relaxes per id.
1784
+ metric: "tool_count",
1785
+ threshold: 1,
1786
+ whenIntent: "summarize",
1787
+ action: "strip_tools",
1788
+ reason: "Inherited from Flash s11 cliff: summarize+tools \u2192 empty response. Preemptive guard until brain evidence on 3.5 Flash-Lite specifically."
1789
+ }
1790
+ ],
1791
+ costInputPer1m: 0.3,
1792
+ costOutputPer1m: 2.5,
1793
+ lowering: {
1794
+ ...GOOGLE_LOWERING_BASE,
1795
+ // Cache discount 10× — pricing page: $0.03/M cached vs $0.30/M input.
1796
+ // Material for repeat-prompt workloads (classify shape).
1797
+ cache: { ...GOOGLE_LOWERING_BASE.cache, discount: 0.1 },
1798
+ thinking: { field: "generationConfig.thinkingConfig.thinkingBudget", default: "auto" }
1799
+ },
1800
+ recovery: [
1801
+ {
1802
+ signal: "empty_response_after_tool",
1803
+ action: "retry_with_params",
1804
+ retryParams: { "generationConfig.thinkingConfig.thinkingBudget": 0 },
1805
+ maxRetries: 1,
1806
+ reason: "Known on Flash family: empty after tool result \u2014 retry with thinking off."
1807
+ },
1808
+ {
1809
+ signal: "empty_response",
1810
+ action: "retry_with_params",
1811
+ retryParams: { "generationConfig.thinkingConfig.thinkingBudget": 0 },
1812
+ maxRetries: 1,
1813
+ reason: "Empty response \u2014 try with thinking off."
1814
+ },
1815
+ {
1816
+ signal: "malformed_function_call",
1817
+ action: "escalate",
1818
+ reason: "MALFORMED_FUNCTION_CALL maps to stop \u2014 escalate to next target."
1819
+ }
1820
+ ],
1821
+ strengths: ["low_cost", "speed", "volume", "classification", "summarize", "1m_context", "cache_friendly"],
1822
+ weaknesses: ["complex_reasoning", "large_tool_sets", "complex_schemas", "structured_output_unproven", "long_context_quality"],
1823
+ notes: 'Onboarded s91 (2026-08-27) as the Google-named successor to availability-restricted gemini-2.5-flash-lite. $0.30/$2.50 per 1M, 1M context, 65K max output, cache $0.03/M (10\xD7 discount). "Fastest, most cost-effective 3.5 model for high-throughput execution." Cliffs hypothesized from the Flash family \u2014 brain evidence pending.',
1824
+ // Lite-tier floor for summarize/classify chains. ZERO brain rows — all
1825
+ // values are starter hypotheses anchored to the Flash-Lite family shape.
1826
+ archetypePerf: {
1827
+ classify: 6,
1828
+ // starter hypothesis — verify (Flash is 7, lite likely ≤)
1829
+ summarize: 6,
1830
+ // starter hypothesis — verify; cliff strips tools
1831
+ transform: 6,
1832
+ // starter hypothesis — verify
1833
+ ask: 5,
1834
+ hunt: 5,
1835
+ generate: 4,
1836
+ extract: 4,
1837
+ plan: 3,
1838
+ critique: 3
1839
+ }
1840
+ },
1841
+ // ─────────────────────────────────────────────────────────────────────────
1713
1842
  // Gemini 3.5 Flash — hand-onboarded s37 (2026-05-21)
1714
1843
  //
1715
1844
  // Google positioning ("Most intelligent for sustained frontier performance
@@ -4186,7 +4315,7 @@ var STARTER_CHAINS_GROUNDED = {
4186
4315
  { id: "gemini-2.5-flash", grounding: "judgment", reason: "Cost-sensitive primary \u2014 engineer pick" },
4187
4316
  { id: "deepseek-v4-flash", grounding: "measured", reason: "Brain-validated tier 1 for cost-sensitive summarize workloads", n: 169 },
4188
4317
  { id: "claude-haiku-4-5", grounding: "judgment", reason: "Quality safety net" },
4189
- { id: "gemini-2.5-flash-lite", grounding: "judgment", reason: "Emergency floor \u2014 onboarded s22, no brain evidence yet" },
4318
+ { id: "gemini-3.5-flash-lite", grounding: "judgment", reason: "Emergency floor. alpha.91: retargeted from availability-restricted gemini-2.5-flash-lite (Google refuses it for new accounts, TT-49 2026-08-26); 3.5-flash-lite is the successor Google\u2019s own error names" },
4190
4319
  { id: "gpt-5.4-nano", grounding: "judgment", reason: "alpha.33: third-provider tail (archetypePerf=6) \u2014 cheapest OpenAI, matches summarize cost-band" }
4191
4320
  ],
4192
4321
  // Brain-validated DeepSeek tier 1 (169 rows, 0% empty rate).
@@ -4194,7 +4323,7 @@ var STARTER_CHAINS_GROUNDED = {
4194
4323
  { id: "gemini-2.5-flash", grounding: "judgment", reason: "Cost-sensitive primary \u2014 engineer pick" },
4195
4324
  { id: "deepseek-v4-flash", grounding: "measured", reason: "Brain-validated tier 1 (169 rows, 0% empty rate)", n: 169 },
4196
4325
  { id: "claude-haiku-4-5", grounding: "judgment", reason: "Quality safety net" },
4197
- { id: "gemini-2.5-flash-lite", grounding: "judgment", reason: "Cache-discount 10\xD7 floor for repeat-prompt workloads" },
4326
+ { id: "gemini-3.5-flash-lite", grounding: "judgment", reason: "Cache-discount 10\xD7 floor for repeat-prompt workloads ($0.03/M cached). alpha.91: retargeted from availability-restricted gemini-2.5-flash-lite" },
4198
4327
  { id: "gpt-5.4-nano", grounding: "judgment", reason: "alpha.33: third-provider tail (archetypePerf=6) \u2014 cheapest OpenAI for classify" }
4199
4328
  ]
4200
4329
  };
@@ -6290,7 +6419,7 @@ function validateFinalFit(ir, profile, tokens) {
6290
6419
  }
6291
6420
 
6292
6421
  // src/version.ts
6293
- var LIBRARY_VERSION = "2.0.0-alpha.90";
6422
+ var LIBRARY_VERSION = "2.0.0-alpha.91";
6294
6423
 
6295
6424
  // src/pricing-brain.ts
6296
6425
  function isPricingRow(x) {
@@ -7844,6 +7973,9 @@ function classifyHttpError2(status, body) {
7844
7973
  if (status === 404) {
7845
7974
  return { ok: false, status, errorType: "retryable", errorCode: "model_not_found", message, raw: body };
7846
7975
  }
7976
+ if (status >= 400 && status < 500 && isModelUnavailableMessage(message)) {
7977
+ return { ok: false, status, errorType: "retryable", errorCode: "model_not_found", message, raw: body };
7978
+ }
7847
7979
  if (status === 401 || status === 403) {
7848
7980
  return { ok: false, status, errorType: "terminal", errorCode: "auth", message, raw: body };
7849
7981
  }
@@ -7855,6 +7987,12 @@ function classifyHttpError2(status, body) {
7855
7987
  }
7856
7988
  return { ok: false, status, errorType: "terminal", errorCode: "unknown", message, raw: body };
7857
7989
  }
7990
+ function isModelUnavailableMessage(message) {
7991
+ if (!message) return false;
7992
+ return /no longer (available|supported)|not available to new users|has been (deprecated|retired|discontinued|shut ?down)/i.test(
7993
+ message
7994
+ );
7995
+ }
7858
7996
  function extractErrorMessage2(body) {
7859
7997
  if (!body || typeof body !== "object") return void 0;
7860
7998
  const b = body;
package/dist/index.mjs CHANGED
@@ -19,7 +19,7 @@ import {
19
19
  LIBRARY_VERSION,
20
20
  createKeyHealthRoute,
21
21
  keyFingerprint
22
- } from "./chunk-4LYNDEHJ.mjs";
22
+ } from "./chunk-AUZTO6Q5.mjs";
23
23
  import {
24
24
  ABSOLUTE_FLOOR,
25
25
  ARCHETYPE_FLOOR_DEFAULT,
@@ -57,7 +57,7 @@ import {
57
57
  policySetHas,
58
58
  readBrainReadEnv,
59
59
  resolveProviderKey
60
- } from "./chunk-ENELVMJI.mjs";
60
+ } from "./chunk-54IXD5BT.mjs";
61
61
  import {
62
62
  ALIASES,
63
63
  LATENCY_TIER_MS,
@@ -73,7 +73,7 @@ import {
73
73
  registerProfiles,
74
74
  resolveModelAlias,
75
75
  tryGetProfile
76
- } from "./chunk-OK2TMFRR.mjs";
76
+ } from "./chunk-T53ISC2F.mjs";
77
77
  import {
78
78
  emitAdvisoryFired,
79
79
  emitCompileDone,
@@ -4956,6 +4956,9 @@ function classifyHttpError2(status, body) {
4956
4956
  if (status === 404) {
4957
4957
  return { ok: false, status, errorType: "retryable", errorCode: "model_not_found", message, raw: body };
4958
4958
  }
4959
+ if (status >= 400 && status < 500 && isModelUnavailableMessage(message)) {
4960
+ return { ok: false, status, errorType: "retryable", errorCode: "model_not_found", message, raw: body };
4961
+ }
4959
4962
  if (status === 401 || status === 403) {
4960
4963
  return { ok: false, status, errorType: "terminal", errorCode: "auth", message, raw: body };
4961
4964
  }
@@ -4967,6 +4970,12 @@ function classifyHttpError2(status, body) {
4967
4970
  }
4968
4971
  return { ok: false, status, errorType: "terminal", errorCode: "unknown", message, raw: body };
4969
4972
  }
4973
+ function isModelUnavailableMessage(message) {
4974
+ if (!message) return false;
4975
+ return /no longer (available|supported)|not available to new users|has been (deprecated|retired|discontinued|shut ?down)/i.test(
4976
+ message
4977
+ );
4978
+ }
4970
4979
  function extractErrorMessage2(body) {
4971
4980
  if (!body || typeof body !== "object") return void 0;
4972
4981
  const b = body;
@@ -28,7 +28,7 @@ __export(key_health_exports, {
28
28
  module.exports = __toCommonJS(key_health_exports);
29
29
 
30
30
  // src/version.ts
31
- var LIBRARY_VERSION = "2.0.0-alpha.90";
31
+ var LIBRARY_VERSION = "2.0.0-alpha.91";
32
32
 
33
33
  // src/key-health.ts
34
34
  var JSON_HEADERS = { "Content-Type": "application/json" };
@@ -3,7 +3,7 @@ import {
3
3
  KEY_FINGERPRINT_LENGTH,
4
4
  createKeyHealthRoute,
5
5
  keyFingerprint
6
- } from "./chunk-4LYNDEHJ.mjs";
6
+ } from "./chunk-AUZTO6Q5.mjs";
7
7
  export {
8
8
  KEY_FINGERPRINT_DOMAIN,
9
9
  KEY_FINGERPRINT_LENGTH,
package/dist/profiles.js CHANGED
@@ -553,9 +553,19 @@ var PROFILES_RAW = [
553
553
  // thresholds. The brain will validate/relax these as evidence accumulates
554
554
  // per (archetype, model) tuple. Currently ZERO brain rows for this model.
555
555
  id: "gemini-2.5-flash-lite",
556
- verifiedAgainstDocs: "2026-08-14",
556
+ verifiedAgainstDocs: "2026-08-27",
557
557
  provider: "google",
558
- status: "current",
558
+ // alpha.91 — AVAILABILITY demotion, same class as gemini-2.5-pro below.
559
+ // Google refuses the model for newer account cohorts: "This model is no
560
+ // longer available to new users. Please update your code to use
561
+ // models/gemini-3.5-flash-lite" (tt-intel TT-49 runtime evidence,
562
+ // 2026-08-26, interfaces/kgauto.md ## Requested). It ranked FIRST in
563
+ // getFallbackChain('gemini-2.5-pro') — a dead-for-new-accounts model as
564
+ // the cheapest fallback pick. `legacy` removes it from chains and new
565
+ // selection; explicit-id consumers still resolve it. Successor is the
566
+ // one Google's own error names: gemini-3.5-flash-lite (onboarded this
567
+ // release, same price point).
568
+ status: "legacy",
559
569
  maxContextTokens: 1048576,
560
570
  maxOutputTokens: 65536,
561
571
  maxTools: 128,
@@ -1280,9 +1290,12 @@ var PROFILES_RAW = [
1280
1290
  //
1281
1291
  // Cliffs are HYPOTHESIZED from 2.5-flash family; brain evidence pending.
1282
1292
  id: "gemini-3.1-flash-lite",
1283
- verifiedAgainstDocs: "2026-05-21",
1293
+ verifiedAgainstDocs: "2026-08-27",
1284
1294
  provider: "google",
1285
- status: "preview",
1295
+ // alpha.91 — docs page now labels it "Stable" and the brain row has been
1296
+ // `current` since catalog-sync moved it; the bundle lagged (the L-073
1297
+ // layer-parity shape, caught during the TT-49 delisting release).
1298
+ status: "current",
1286
1299
  maxContextTokens: 1048576,
1287
1300
  maxOutputTokens: 65536,
1288
1301
  maxTools: 128,
@@ -1374,6 +1387,122 @@ var PROFILES_RAW = [
1374
1387
  }
1375
1388
  },
1376
1389
  // ─────────────────────────────────────────────────────────────────────────
1390
+ // Gemini 3.5 Flash-Lite — onboarded s91 (2026-08-27)
1391
+ //
1392
+ // The successor Google's own delisting error names: "This model
1393
+ // [gemini-2.5-flash-lite] is no longer available to new users. Please
1394
+ // update your code to use models/gemini-3.5-flash-lite" (tt-intel TT-49,
1395
+ // 2026-08-26). Same price point as the 2.5 Lite rung it replaces in the
1396
+ // summarize/classify starter chains ($0.30/$2.50 vs the old $0.10/$0.40
1397
+ // era pricing), same 1M/65K limits, same 10× cache discount ($0.03 vs
1398
+ // $0.30 input). Positioning: "fastest, most cost-effective 3.5 model for
1399
+ // high-throughput execution … high-volume agentic tasks, translation, and
1400
+ // simple data processing."
1401
+ //
1402
+ // Cliffs + archetypePerf inherited from the Flash-Lite family as starter
1403
+ // hypotheses — ZERO brain rows on this id yet; first 50 rows per archetype
1404
+ // validate or relax.
1405
+ //
1406
+ // Specs verified 2026-08-27 against:
1407
+ // ai.google.dev/gemini-api/docs/models/gemini-3.5-flash-lite
1408
+ // (Stable; input limit 1,048,576; output limit 65,536; function
1409
+ // calling / structured outputs / thinking / caching all Supported)
1410
+ // ai.google.dev/gemini-api/docs/pricing ($0.30 in / $2.50 out incl.
1411
+ // thinking tokens; context caching $0.03)
1412
+ // ─────────────────────────────────────────────────────────────────────────
1413
+ {
1414
+ id: "gemini-3.5-flash-lite",
1415
+ verifiedAgainstDocs: "2026-08-27",
1416
+ provider: "google",
1417
+ status: "current",
1418
+ maxContextTokens: 1048576,
1419
+ maxOutputTokens: 65536,
1420
+ maxTools: 128,
1421
+ parallelToolCalls: true,
1422
+ structuredOutput: "native",
1423
+ systemPromptMode: "separate",
1424
+ streaming: true,
1425
+ cliffs: [
1426
+ {
1427
+ metric: "input_tokens",
1428
+ threshold: 8e3,
1429
+ action: "downgrade_quality_warning",
1430
+ reason: "Inherited from Flash family: quality degrades above ~8K. Lite tier \u2014 assume it degrades at least as fast. Re-tune from brain after n\u226520."
1431
+ },
1432
+ {
1433
+ metric: "tool_count",
1434
+ threshold: 10,
1435
+ action: "drop_to_top_relevant",
1436
+ reason: "Conservative: Flash drops at 20, Lite tier is smaller \u2014 assume tighter ceiling until brain proves otherwise."
1437
+ },
1438
+ {
1439
+ metric: "thinking_with_short_output",
1440
+ threshold: 1,
1441
+ action: "force_thinking_budget_zero",
1442
+ reason: "Thinking Supported per model page \u2014 same drain risk as Flash; thinking tokens consume maxOutputTokens."
1443
+ },
1444
+ {
1445
+ // Strong prior: Flash hit 5/5 empty rate on summarize+tools (s11
1446
+ // trust artifact). Flash-Lite siblings carry the guard preemptively;
1447
+ // brain telemetry confirms or relaxes per id.
1448
+ metric: "tool_count",
1449
+ threshold: 1,
1450
+ whenIntent: "summarize",
1451
+ action: "strip_tools",
1452
+ reason: "Inherited from Flash s11 cliff: summarize+tools \u2192 empty response. Preemptive guard until brain evidence on 3.5 Flash-Lite specifically."
1453
+ }
1454
+ ],
1455
+ costInputPer1m: 0.3,
1456
+ costOutputPer1m: 2.5,
1457
+ lowering: {
1458
+ ...GOOGLE_LOWERING_BASE,
1459
+ // Cache discount 10× — pricing page: $0.03/M cached vs $0.30/M input.
1460
+ // Material for repeat-prompt workloads (classify shape).
1461
+ cache: { ...GOOGLE_LOWERING_BASE.cache, discount: 0.1 },
1462
+ thinking: { field: "generationConfig.thinkingConfig.thinkingBudget", default: "auto" }
1463
+ },
1464
+ recovery: [
1465
+ {
1466
+ signal: "empty_response_after_tool",
1467
+ action: "retry_with_params",
1468
+ retryParams: { "generationConfig.thinkingConfig.thinkingBudget": 0 },
1469
+ maxRetries: 1,
1470
+ reason: "Known on Flash family: empty after tool result \u2014 retry with thinking off."
1471
+ },
1472
+ {
1473
+ signal: "empty_response",
1474
+ action: "retry_with_params",
1475
+ retryParams: { "generationConfig.thinkingConfig.thinkingBudget": 0 },
1476
+ maxRetries: 1,
1477
+ reason: "Empty response \u2014 try with thinking off."
1478
+ },
1479
+ {
1480
+ signal: "malformed_function_call",
1481
+ action: "escalate",
1482
+ reason: "MALFORMED_FUNCTION_CALL maps to stop \u2014 escalate to next target."
1483
+ }
1484
+ ],
1485
+ strengths: ["low_cost", "speed", "volume", "classification", "summarize", "1m_context", "cache_friendly"],
1486
+ weaknesses: ["complex_reasoning", "large_tool_sets", "complex_schemas", "structured_output_unproven", "long_context_quality"],
1487
+ notes: 'Onboarded s91 (2026-08-27) as the Google-named successor to availability-restricted gemini-2.5-flash-lite. $0.30/$2.50 per 1M, 1M context, 65K max output, cache $0.03/M (10\xD7 discount). "Fastest, most cost-effective 3.5 model for high-throughput execution." Cliffs hypothesized from the Flash family \u2014 brain evidence pending.',
1488
+ // Lite-tier floor for summarize/classify chains. ZERO brain rows — all
1489
+ // values are starter hypotheses anchored to the Flash-Lite family shape.
1490
+ archetypePerf: {
1491
+ classify: 6,
1492
+ // starter hypothesis — verify (Flash is 7, lite likely ≤)
1493
+ summarize: 6,
1494
+ // starter hypothesis — verify; cliff strips tools
1495
+ transform: 6,
1496
+ // starter hypothesis — verify
1497
+ ask: 5,
1498
+ hunt: 5,
1499
+ generate: 4,
1500
+ extract: 4,
1501
+ plan: 3,
1502
+ critique: 3
1503
+ }
1504
+ },
1505
+ // ─────────────────────────────────────────────────────────────────────────
1377
1506
  // Gemini 3.5 Flash — hand-onboarded s37 (2026-05-21)
1378
1507
  //
1379
1508
  // Google positioning ("Most intelligent for sustained frontier performance
package/dist/profiles.mjs CHANGED
@@ -13,7 +13,7 @@ import {
13
13
  registerProfiles,
14
14
  resolveModelAlias,
15
15
  tryGetProfile
16
- } from "./chunk-OK2TMFRR.mjs";
16
+ } from "./chunk-T53ISC2F.mjs";
17
17
  export {
18
18
  ALIASES,
19
19
  LATENCY_TIER_MS,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@warmdrift/kgauto-compiler",
3
- "version": "2.0.0-alpha.90",
3
+ "version": "2.0.0-alpha.91",
4
4
  "description": "Prompt compiler with executable provider knowledge for multi-model AI apps: normalized multi-provider transport with fallback chains, compile-time cliff guards, a curated model registry, and a telemetry flight recorder. Swap models without rewriting prompts.",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",