@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
|
-
|
|
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
|
-
**
|
|
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
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.
|
|
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",
|