@alecsibilia/luca 13.0.0 → 13.0.1

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.
@@ -74,8 +74,21 @@ async function readContextTokens(transcriptPath) {
74
74
  } catch {}
75
75
  return null;
76
76
  }
77
+ var ONE_MILLION_MODEL_IDS = [
78
+ "fable",
79
+ "mythos",
80
+ "opus-4-6",
81
+ "opus-4-7",
82
+ "opus-4-8",
83
+ "sonnet-4-6",
84
+ "sonnet-5"
85
+ ];
77
86
  function contextLimit(modelId) {
78
- return modelId !== undefined && modelId.includes("[1m]") ? 1e6 : 200000;
87
+ if (modelId === undefined)
88
+ return 200000;
89
+ if (modelId.includes("[1m]"))
90
+ return 1e6;
91
+ return ONE_MILLION_MODEL_IDS.some((id) => modelId.includes(id)) ? 1e6 : 200000;
79
92
  }
80
93
  function formatTokens(n) {
81
94
  if (n >= 1e6) {
@@ -64,7 +64,15 @@ Triage runs once, at the start of a run. It is inline here — there is no separ
64
64
 
65
65
  1. **Classify complexity.** Read the request. Pick one of `TRIVIAL | SIMPLE | MODERATE | COMPLEX | CRITICAL` based on file count, scope, and risk. There is no CLI command to persist complexity — record it in your reasoning and pass it to every subagent you spawn (pass it to any subagent whose behavior varies by complexity). If `--complexity=<level>` or `--force-complex` was passed, use that directly.
66
66
 
67
- **Override telemetry.** Once the final complexity level is chosen, compare it against the deterministic heuristic baseline from `luca classify --task "<request>" --json` (the `--task` flag is REQUIRED — read its `.complexity` field). On a MISMATCH between the heuristic level and your final level, emit one override record:
67
+ **Heuristic baseline (floor, not ceiling).** Compute the deterministic baseline with `luca classify`, passing the scope signals you already extracted while reading the request — NOT just `--task`. A `--task`-only call starves the heuristic (it scores `estimatedFileCount=0`, no domains, no concerns) and collapses to description-keyword matching, which systematically under-scores work. Supply every signal you can estimate:
68
+ ```
69
+ luca classify --task "<request>" --files <estimated-file-count> --domains "<comma-list>" --concerns "<comma-list>" [--breaking] --json
70
+ ```
71
+ (`--task` is REQUIRED; `--files`/`--domains`/`--concerns`/`--breaking` are optional — pass each one you can estimate. Read the `.complexity` field.)
72
+
73
+ This baseline is a **FLOOR, never a ceiling.** Breadth signals (files, domains) cannot measure design/iteration depth — a deep single-file design, tuning, or balancing task is genuinely hard yet touches one file. Your own judgment is authoritative: take the HIGHER of the heuristic level and your read, and never demote below your judgment to match the heuristic. **In particular, never trust a `TRIVIAL` heuristic result on its face — re-judge it before accepting**, because a breadth-only score under-rates deep single-file work.
74
+
75
+ **Override telemetry.** On a MISMATCH between the heuristic level and your final level, emit one override record:
68
76
  ```
69
77
  luca telemetry emit --kind classifier.override --run-id <runId> --meta '{"classifier":"complexity","from":"<heuristic-level>","to":"<final-level>","source":"<taxonomy>"}'
70
78
  ```
package/dist/index.mjs CHANGED
@@ -2,7 +2,7 @@ import { defineCommand, runMain as runMain$1 } from 'citty';
2
2
  import 'pathe';
3
3
 
4
4
  async function resolveVersion() {
5
- return "13.0.0";
5
+ return "13.0.1";
6
6
  }
7
7
  const LUCA_VERSION = await resolveVersion();
8
8
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@alecsibilia/luca",
3
3
  "description": "Luca — spec-driven agentic development workflow for Claude Code (umbrella; bundles luca-cli, luca-core, luca-tools)",
4
- "version": "13.0.0",
4
+ "version": "13.0.1",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Alec Sibilia <sibilia.alec@gmail.com>",
7
7
  "homepage": "https://github.com/asibilia/luca-framework#readme",