pi-smart-compact 8.0.5 → 8.0.6

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/CHANGELOG.md CHANGED
@@ -4,6 +4,16 @@
4
4
 
5
5
  No changes yet.
6
6
 
7
+ ## [8.0.6] - 2026-08-07
8
+
9
+ ### Changed
10
+
11
+ - Replaced the dense flat `/smart-compact` preflight with a bordered decision card: context pressure, prominent `[M] Change` summary-model route, and side-by-side after-size/saving estimates for exactly Fast, Balanced, and Thorough. The selected plan keeps only outcome, retention, and hard safety guarantees visible; `D` reveals estimator, target, boundary, and route internals.
12
+ - Consolidated execution into three monotonic policies: Fast is the quickest/most compact 10K-tail policy, Balanced is the 20K-tail default, and Thorough is the 30K-tail high-fidelity policy with Explore and optional LLM repair. Legacy `aggressive` inputs map to Fast with a deprecation warning rather than appearing as a fourth mode.
13
+ - Manual runs now show a two-line semantic live brief: the colored Extract → Explore → Synthesize → Verify → Apply chain plus meaningful actions such as topic mapping, batch compression, continuity assembly, deterministic repair, and correlated Apply. Before Apply it explicitly states that the conversation is unchanged.
14
+ - Replaced routine phase toasts and per-batch provider/watchdog warnings with the live brief and content-free aggregated fallback status. Expected single-pass, Explore, batch, and assembly fallbacks no longer print raw provider messages or request IDs; auto-trigger verification failures emit one concise safe-fallback notice instead of evidence-bearing stderr lines. Full diagnostics remain opt-in through `DEBUG=smart-compact`.
15
+ - Fixed deterministic verification of Markdown-prefixed multiline errors (`> npm…`, list/heading prefixes): verification now canonicalizes the source snippet with the same safe one-line transform used by fallback rendering. The captured 259,782-token session replay now plans ~26,267 tokens after, repairs the remaining fabricated-file finding, and reaches 100/100 with 0 gaps even when every synthesis batch uses deterministic fallback.
16
+
7
17
  ## [8.0.5] - 2026-08-07
8
18
 
9
19
  ### Fixed
package/README.md CHANGED
@@ -128,14 +128,14 @@ Set `contextGraphEnabled` to `false` to disable indexing and both tools.
128
128
 
129
129
  ### Manual preflight
130
130
 
131
- The interactive command uses the configured summary route and the exact
132
- execution planner before spending LLM tokens. The primary screen shows the
133
- recommended fidelity preset, why it fits the current pressure/session shape,
134
- estimated context before and after, projected savings, live-tail and summary
135
- budgets, soft boundaries that will be summarized, and the hard tool-pair plus
136
- zero-gap-verification guarantees.
137
-
138
- - `↑` / `↓` changes `Thorough`, `Balanced`, or `Fast` and recalculates the plan.
131
+ The interactive command uses the configured summary route and exact execution
132
+ planner before spending LLM tokens. Its compact decision card compares the
133
+ three modes by estimated after-size and saving, highlights the recommendation,
134
+ and keeps only the selected plan plus hard tool-pair/zero-gap guarantees in the
135
+ primary view. Technical estimator, target, route, and boundary data stays under
136
+ `D` instead of crowding the decision.
137
+
138
+ - `↑` / `↓` changes `Fast`, `Balanced`, or `Thorough` and recalculates the plan.
139
139
  - `Enter` runs only a viable plan; `Esc` cancels without mutation.
140
140
  - `D` toggles calibrated estimator, target, boundary, and route details.
141
141
  - `M` opens Advanced model selection and replans with that route's calibration.
@@ -149,12 +149,18 @@ working tail stays raw. Tool exchanges are summarized or retained as complete
149
149
  call/result pairs, never split. If Verify, yield, provider, or native apply
150
150
  fails, the UI shows one bounded actionable line without evidence text or a
151
151
  JavaScript stack. Stack diagnostics are opt-in with `DEBUG=smart-compact`.
152
+ During execution a two-line live brief shows the EESV phase chain and the
153
+ meaningful current action; it states that the conversation remains unchanged
154
+ until verified Apply. Routine phase toasts and raw per-batch watchdog/provider
155
+ errors are suppressed by default: handled fallbacks appear as one content-free
156
+ brief. `verbose` restores routine phase notices; full stack diagnostics require
157
+ `DEBUG=smart-compact`.
152
158
 
153
159
  ### Focus and budgets
154
160
 
155
161
  ```bash
156
- /smart-compact auto --focus=authentication
157
- /smart-compact aggressive --max-input-tokens=120000
162
+ /smart-compact balanced --focus=authentication
163
+ /smart-compact fast --max-input-tokens=120000
158
164
  /smart-compact fast --focus=src/auth.ts --max-calls=3
159
165
  /smart-compact thorough
160
166
  ```
@@ -173,13 +179,17 @@ The tool exposes equivalent `focus`, `max_calls`, `max_input_tokens`, and
173
179
 
174
180
  | Mode | Calls | Prompt cap | Output cap | Behavior |
175
181
  | --- | ---: | ---: | ---: | --- |
176
- | `auto` | adaptive | adaptive | adaptive | Default; selects from context pressure and deterministic session risk |
177
- | `balanced` | 6 | 200K | 40K | Token/continuity balance; deterministic boundaries and repair |
178
- | `aggressive` | 4 | 120K | 25K | Maximum context recovery with a 3K summary and 10K live tail |
179
- | `fast` | 3 | 100K | 20K | Favors larger single-pass windows and minimum waiting |
180
- | `thorough` (`slow` alias) | 8 | 300K | 80K | Maximum fidelity; enables Explore and one optional LLM repair |
181
-
182
- Fast and aggressive modes use a zero-call deterministic summary when extraction confidence is high; otherwise they keep the bounded LLM path. Auto planning also raises fidelity when scoped continuity or prior damage indicates risk. The mode token target is binding: recent user turns, pi-toolkit checkpoints, and topical grouping remain raw only when they fit the planned tail; otherwise the verified summary carries them forward.
182
+ | `fast` | 3 | 100K | 20K | Quickest recovery; 3K summary, 10K recent tail, 30% context target |
183
+ | `balanced` | 6 | 200K | 40K | Default quality/speed trade-off; 6K summary, 20K recent tail, 40% target |
184
+ | `thorough` | 8 | 300K | 80K | Deepest analysis; 10K summary, 30K recent tail, 50% target, Explore and optional LLM repair |
185
+
186
+ These are the only three execution modes. Automatic runs choose among them
187
+ from context pressure and deterministic session risk; `auto` is a selector,
188
+ not a fourth execution policy. Fast can use a zero-call deterministic summary
189
+ when extraction confidence is high; otherwise it keeps the bounded LLM path.
190
+ The mode token target is binding: recent user turns, pi-toolkit checkpoints,
191
+ and topical grouping remain raw only when they fit the planned tail; otherwise
192
+ the verified summary carries them forward.
183
193
 
184
194
  Output caps stop subsequent calls after observed usage reaches the threshold.
185
195
  The ChatGPT Codex subscription endpoint rejects `max_output_tokens`,
@@ -189,8 +199,10 @@ back deterministically on abort. Custom Codex endpoints receive
189
199
  `max_output_tokens` through Pi AI's payload hook.
190
200
 
191
201
  Legacy compression profiles remain as advanced/backwards-compatible policy:
192
- `light` maps to `thorough`; `balanced` and `aggressive` map to their same-named
193
- modes. The selected model never changes automatically.
202
+ `light` maps to `thorough`, `balanced` maps to `balanced`, and `aggressive` maps
203
+ to `fast` with a deprecation warning. The selected model never changes
204
+ automatically; `M` changes the summary route inside preflight and recalculates
205
+ all three plans.
194
206
 
195
207
  ### Stage-aware provider routing
196
208
 
@@ -388,7 +400,7 @@ the run fails closed before staging or apply.
388
400
 
389
401
  | Key | Type | Default | Notes |
390
402
  | --- | --- | --- | --- |
391
- | `mode` | `auto \| balanced \| aggressive \| fast \| thorough` | `auto` | User-facing execution preset |
403
+ | `mode` | `auto \| fast \| balanced \| thorough` | `auto` | Automatic selector or one of the three execution modes |
392
404
  | `profile` | `light \| balanced \| aggressive` | `balanced` | Legacy/advanced compression profile; used when mode is absent |
393
405
  | `summaryModel` | `string \| null` | `null` | Uses the active session model when null |
394
406
  | `segmentationModel` | `string \| null` | `null` | Optional explicit model for Explore |
@@ -410,7 +422,7 @@ the run fails closed before staging or apply.
410
422
  | `codexMaxCallMs` | integer `0` or `5000–300000` | `0` | ChatGPT Codex per-call watchdog; `0` derives 15–90s from requested output tokens |
411
423
  | `maxLatencyMs` | `0` or `5000–600000` | `0` | `0` means unlimited |
412
424
  | `focusWeighting` | `boolean` | `true` | Weight focused topics/paths higher |
413
- | `zeroCallEnabled` | `boolean` | `true` | Use deterministic synthesis for high-confidence fast/aggressive runs |
425
+ | `zeroCallEnabled` | `boolean` | `true` | Use deterministic synthesis for high-confidence Fast runs |
414
426
  | `contextGraphEnabled` | `boolean` | `true` | Index verified state and enable project-scoped recall/save tools |
415
427
  | `telemetryChannel` | `stable \| canary` | `stable` | Tag local schema-v2 metrics for external canary comparison |
416
428
  | `onlineDamageMonitor` | `boolean` | `true` | Observe post-compaction regression signals |
@@ -1 +1 @@
1
- {"version":3,"file":"mode-policy.d.ts","sourceRoot":"","sources":["../../src/app/mode-policy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EAAE,eAAe,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,oBAAoB,EACnG,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,kBAAkB,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,WAAW,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5D,aAAa,EAAE,MAAM,CAAC;IACtB,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,uBAAuB,EAAE,UAAU,CAAC,CAqB/E,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,kBAAkB,GAAG,uBAAuB,CAE1F;AAED,gFAAgF;AAChF,wBAAgB,WAAW,CACzB,SAAS,EAAE,cAAc,EACzB,cAAc,EAAE,MAAM,EACtB,UAAU,CAAC,EAAE,oBAAoB,EACjC,cAAc,SAAI,GACjB,uBAAuB,CAezB;AAED,wBAAgB,iCAAiC,CAC/C,UAAU,EAAE,oBAAoB,EAChC,OAAO,GAAE;IAAE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAO,GAClE,MAAM,CAeR;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,GAAG,MAAM,CAOpE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,uBAAuB,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAG3G;AAED,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAG/E"}
1
+ {"version":3,"file":"mode-policy.d.ts","sourceRoot":"","sources":["../../src/app/mode-policy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EAAE,eAAe,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,oBAAoB,EACnG,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,kBAAkB,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,WAAW,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5D,aAAa,EAAE,MAAM,CAAC;IACtB,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,uBAAuB,EAAE,UAAU,CAAC,CAgB/E,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,kBAAkB,GAAG,uBAAuB,CAE1F;AAED,gFAAgF;AAChF,wBAAgB,WAAW,CACzB,SAAS,EAAE,cAAc,EACzB,cAAc,EAAE,MAAM,EACtB,UAAU,CAAC,EAAE,oBAAoB,EACjC,cAAc,SAAI,GACjB,uBAAuB,CAezB;AAED,wBAAgB,iCAAiC,CAC/C,UAAU,EAAE,oBAAoB,EAChC,OAAO,GAAE;IAAE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAO,GAClE,MAAM,CAeR;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,GAAG,MAAM,CAOpE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,uBAAuB,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAG3G;AAED,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAG/E"}
@@ -1 +1 @@
1
- {"version":3,"file":"run-smart-compact.d.ts","sourceRoot":"","sources":["../../src/app/run-smart-compact.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAExE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAG5D,OAAO,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAKtE,OAAO,KAAK,EACQ,UAAU,EAC7B,MAAM,kBAAkB,CAAC;AAc1B;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED,0EAA0E;AAC1E,MAAM,WAAW,mBAAmB;IAClC;;;;;;;OAOG;IACH,GAAG,EAAE,gBAAgB,CAAC;IACtB,4EAA4E;IAC5E,MAAM,CAAC,EAAE,OAAO,aAAa,EAAE,aAAa,CAAC;IAC7C,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IACrB,kFAAkF;IAClF,WAAW,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,yEAAyE;IACzE,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,UAAU,CAAC;IACvB,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,cAAc,CAAC;IAC1C,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,4EAA4E;IAC5E,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,wGAAwG;IACxG,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,sGAAsG;IACtG,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oFAAoF;IACpF,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B;;;;;OAKG;IACH,eAAe,CAAC,EAAE,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC;IACpD,mEAAmE;IACnE,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC;CAC/D;AAuDD,wBAAsB,eAAe,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgM9E"}
1
+ {"version":3,"file":"run-smart-compact.d.ts","sourceRoot":"","sources":["../../src/app/run-smart-compact.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAExE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAG5D,OAAO,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAKtE,OAAO,KAAK,EACQ,UAAU,EAC7B,MAAM,kBAAkB,CAAC;AAc1B;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED,0EAA0E;AAC1E,MAAM,WAAW,mBAAmB;IAClC;;;;;;;OAOG;IACH,GAAG,EAAE,gBAAgB,CAAC;IACtB,4EAA4E;IAC5E,MAAM,CAAC,EAAE,OAAO,aAAa,EAAE,aAAa,CAAC;IAC7C,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IACrB,kFAAkF;IAClF,WAAW,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,yEAAyE;IACzE,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,UAAU,CAAC;IACvB,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,cAAc,CAAC;IAC1C,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,4EAA4E;IAC5E,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,wGAAwG;IACxG,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,sGAAsG;IACtG,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oFAAoF;IACpF,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B;;;;;OAKG;IACH,eAAe,CAAC,EAAE,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC;IACpD,mEAAmE;IACnE,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC;CAC/D;AAwDD,wBAAsB,eAAe,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2M9E"}
@@ -1 +1 @@
1
- {"version":3,"file":"synthesize.d.ts","sourceRoot":"","sources":["../../../src/app/steps/synthesize.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAcH,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAKpE,wBAAsB,qBAAqB,CAAC,EAAE,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,CA6UnF"}
1
+ {"version":3,"file":"synthesize.d.ts","sourceRoot":"","sources":["../../../src/app/steps/synthesize.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAcH,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAKpE,wBAAsB,qBAAqB,CAAC,EAAE,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,CAqWnF"}
@@ -1 +1 @@
1
- {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../../src/app/steps/verify.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAYnE,wBAAsB,cAAc,CAAC,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,CA0F3E"}
1
+ {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../../src/app/steps/verify.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAYnE,wBAAsB,cAAc,CAAC,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,CA0G3E"}
@@ -8,7 +8,7 @@ import type { CompressionProfile, ProfileConfig } from "./types.ts";
8
8
  * `package.json#version`. Do not hand-edit this line for releases; bump
9
9
  * package.json and run `bun run sync-version`.
10
10
  */
11
- export declare const VERSION = "8.0.5";
11
+ export declare const VERSION = "8.0.6";
12
12
  export declare const CHARS_PER_TOKEN = 3.8;
13
13
  export declare const MIN_COMPACTION_SAVING_RATIO = 0.1;
14
14
  export declare const ESTIMATOR_ROUNDING_TOLERANCE_TOKENS = 1;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAgB,KAAK,YAAY,EAAE,KAAK,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACzG,OAAO,EAAc,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAKzE,OAAO,EAAE,UAAU,EAAwE,MAAM,oBAAoB,CAAC;AAyDtH,iEAAiE;AACjE,wBAAgB,aAAa,CAAC,GAAG,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAG5F;AAED,wBAAgB,aAAa,CAC3B,GAAG,EAAE,gBAAgB,EACrB,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,EAC/B,MAAM,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,EACrC,QAAQ,UAAQ,GACf;IAAE,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IAAC,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAAA;CAAE,CAwB7G;AAeD,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAAC,EAAE,EAAE,YAAY,QA4jB7D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAgB,KAAK,YAAY,EAAE,KAAK,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACzG,OAAO,EAAc,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAKzE,OAAO,EAAE,UAAU,EAAwE,MAAM,oBAAoB,CAAC;AAyDtH,iEAAiE;AACjE,wBAAgB,aAAa,CAAC,GAAG,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAG5F;AAED,wBAAgB,aAAa,CAC3B,GAAG,EAAE,gBAAgB,EACrB,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,EAC/B,MAAM,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,EACrC,QAAQ,UAAQ,GACf;IAAE,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IAAC,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAAA;CAAE,CAwB7G;AAeD,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAAC,EAAE,EAAE,YAAY,QA+jB7D"}
package/dist/index.js CHANGED
@@ -9,7 +9,7 @@ import { Type as Type2 } from "typebox";
9
9
  // src/app/mode-policy.ts
10
10
  var MODE_POLICIES = {
11
11
  fast: {
12
- profile: "balanced",
12
+ profile: "aggressive",
13
13
  maxLlmCalls: 3,
14
14
  maxInputTokens: 1e5,
15
15
  maxOutputTokens: 20000,
@@ -18,7 +18,7 @@ var MODE_POLICIES = {
18
18
  singlePassMultiplier: 2,
19
19
  batchOutput: { min: 800, perChunk: 160, max: 2400 },
20
20
  softLatencyMs: 30000,
21
- targetContextPercent: 45
21
+ targetContextPercent: 30
22
22
  },
23
23
  balanced: {
24
24
  profile: "balanced",
@@ -32,18 +32,6 @@ var MODE_POLICIES = {
32
32
  softLatencyMs: 60000,
33
33
  targetContextPercent: 40
34
34
  },
35
- aggressive: {
36
- profile: "aggressive",
37
- maxLlmCalls: 4,
38
- maxInputTokens: 120000,
39
- maxOutputTokens: 25000,
40
- explore: false,
41
- allowLlmPatch: false,
42
- singlePassMultiplier: 2,
43
- batchOutput: { min: 800, perChunk: 180, max: 2400 },
44
- softLatencyMs: 45000,
45
- targetContextPercent: 30
46
- },
47
35
  thorough: {
48
36
  profile: "light",
49
37
  maxLlmCalls: 8,
@@ -58,13 +46,13 @@ var MODE_POLICIES = {
58
46
  }
59
47
  };
60
48
  function modeFromLegacyProfile(profile) {
61
- return profile === "light" ? "thorough" : profile;
49
+ return profile === "light" ? "thorough" : profile === "aggressive" ? "fast" : "balanced";
62
50
  }
63
51
  function resolveMode(requested, contextPercent, extraction, additionalRisk = 0) {
64
52
  if (requested !== "auto")
65
- return requested;
53
+ return requested === "aggressive" ? "fast" : requested;
66
54
  if (contextPercent >= 85)
67
- return "aggressive";
55
+ return "fast";
68
56
  if (!extraction)
69
57
  return contextPercent < 70 ? "fast" : "balanced";
70
58
  const unresolved = extraction.errors.filter((error) => !error.resolved).length;
@@ -117,7 +105,7 @@ function effectiveBudget(configured, modeDefault) {
117
105
  }
118
106
 
119
107
  // src/constants.ts
120
- var VERSION = "8.0.5";
108
+ var VERSION = "8.0.6";
121
109
  var CHARS_PER_TOKEN = 3.8;
122
110
  var MIN_COMPACTION_SAVING_RATIO = 0.1;
123
111
  var ESTIMATOR_ROUNDING_TOLERANCE_TOKENS = 1;
@@ -1687,12 +1675,16 @@ function extractStructured(msgs, pc, precomputedTcIdx) {
1687
1675
 
1688
1676
  // src/utils/helpers.ts
1689
1677
  var VALID_PROFILES = ["light", "balanced", "aggressive"];
1690
- var VALID_MODES = ["auto", "balanced", "aggressive", "fast", "thorough"];
1678
+ var VALID_MODES = ["auto", "fast", "balanced", "thorough"];
1691
1679
  var VALID_THINKING_LEVELS = ["minimal", "low", "medium", "high", "xhigh", "max"];
1692
1680
  var PROFILE_NUMERIC_KEYS = ["summaryBudgetTokens", "keepRecentTokens", "minChunkTokens", "maxChunkTokens", "singlePassMaxTokens", "batchMaxTokens"];
1693
1681
  function validateSmartCompactConfig(sc) {
1682
+ if (sc.mode === "aggressive") {
1683
+ warn("smart-compact config: mode 'aggressive' is deprecated; using 'fast'.");
1684
+ sc.mode = "fast";
1685
+ }
1694
1686
  if ("mode" in sc && !VALID_MODES.includes(sc.mode)) {
1695
- warn("smart-compact config: invalid mode '" + sc.mode + "', expected auto|balanced|aggressive|fast|thorough. Using default 'auto'.");
1687
+ warn("smart-compact config: invalid mode '" + sc.mode + "', expected auto|fast|balanced|thorough. Using default 'auto'.");
1696
1688
  delete sc.mode;
1697
1689
  }
1698
1690
  if ("telemetryChannel" in sc && sc.telemetryChannel !== "stable" && sc.telemetryChannel !== "canary") {
@@ -4171,7 +4163,7 @@ function isUnresolvedSessionId(id) {
4171
4163
 
4172
4164
  // src/ui/overlays.ts
4173
4165
  import { DynamicBorder } from "@earendil-works/pi-coding-agent";
4174
- import { Container, Key, matchesKey, SelectList, Text, truncateToWidth, wrapTextWithAnsi } from "@earendil-works/pi-tui";
4166
+ import { Container, Key, matchesKey, SelectList, Text, truncateToWidth, visibleWidth } from "@earendil-works/pi-tui";
4175
4167
 
4176
4168
  // src/utils/fingerprint.ts
4177
4169
  import path7 from "path";
@@ -5389,18 +5381,16 @@ async function selectModel(ctx, opts) {
5389
5381
  return null;
5390
5382
  return options[parseInt(result.slice(6), 10)] ?? null;
5391
5383
  }
5392
- var PRIMARY_MODES = ["thorough", "balanced", "fast"];
5384
+ var PRIMARY_MODES = ["fast", "balanced", "thorough"];
5393
5385
  var MODE_LABELS = {
5394
- thorough: "Thorough",
5395
- balanced: "Balanced",
5396
5386
  fast: "Fast",
5397
- aggressive: "Aggressive"
5387
+ balanced: "Balanced",
5388
+ thorough: "Thorough"
5398
5389
  };
5399
5390
  var MODE_COPY = {
5400
- thorough: "richer summary \xB7 30K base recent tail",
5401
- balanced: "default balance \xB7 20K base recent tail",
5402
- fast: "faster run \xB7 20K base recent tail \xB7 6K base summary",
5403
- aggressive: "maximum recovery \xB7 10K base recent tail"
5391
+ fast: "quickest \xB7 compact 10K recent tail \xB7 3K summary",
5392
+ balanced: "default quality/speed \xB7 20K recent tail \xB7 6K summary",
5393
+ thorough: "deepest analysis \xB7 rich 30K recent tail \xB7 10K summary"
5404
5394
  };
5405
5395
  function explainPreflightReason(reason) {
5406
5396
  switch (reason) {
@@ -5438,7 +5428,7 @@ function recommendPreflight(plans) {
5438
5428
  if (balanced?.plan?.viable) {
5439
5429
  return { mode: "balanced", reason: "normal pressure favors the default balance; " + recommendationEvidence(balanced) };
5440
5430
  }
5441
- const fallback = ["thorough", "fast"].find((mode) => plans.get(mode)?.plan?.viable);
5431
+ const fallback = ["fast", "thorough"].find((mode) => plans.get(mode)?.plan?.viable);
5442
5432
  if (fallback) {
5443
5433
  const chosen = plans.get(fallback);
5444
5434
  return {
@@ -5451,12 +5441,15 @@ function recommendPreflight(plans) {
5451
5441
  function tokenCount(value) {
5452
5442
  return Math.round(value).toLocaleString() + "t";
5453
5443
  }
5444
+ function compactTokenCount(value) {
5445
+ if (Math.abs(value) < 1000)
5446
+ return Math.round(value) + "t";
5447
+ const scaled = value / 1000;
5448
+ return scaled.toFixed(scaled >= 10 ? 1 : 2).replace(/\.0+$|(\.\d*[1-9])0+$/, "$1") + "K";
5449
+ }
5454
5450
  function percent(value) {
5455
5451
  return Math.round(value).toLocaleString() + "%";
5456
5452
  }
5457
- function windowPercent(tokens, window) {
5458
- return window > 0 ? percent(tokens / window * 100) : "unknown %";
5459
- }
5460
5453
  var SOFT_BOUNDARY_COPY = {
5461
5454
  "recent-user-turn": "older user turn",
5462
5455
  anchor: "latest checkpoint",
@@ -5468,26 +5461,22 @@ function formatPreflightSummary(preflight, modelLabel, details = false) {
5468
5461
  const plan = preflight.plan;
5469
5462
  if (!plan) {
5470
5463
  const lines2 = [
5471
- "Before: ~" + tokenCount(preflight.totalTokens) + " (~" + percent(preflight.contextPercent) + " of active window) \xB7 Expected after: unavailable",
5472
- "This preset cannot run: " + explainPreflightReason(preflight.reason) + ".",
5473
- "Hard safeguards: complete tool-call/result pairs and zero-gap verification before apply."
5464
+ "Plan unavailable \xB7 " + explainPreflightReason(preflight.reason),
5465
+ "\u2713 Complete tool pairs \xB7 \u2713 zero-gap verification before apply"
5474
5466
  ];
5475
5467
  if (details)
5476
- lines2.push("Estimator: messages ~" + tokenCount(preflight.rawEstimatedMessageTokens) + " \xB7 fixed/scaled normalization unavailable", "Summary route: " + modelLabel + " \xB7 viability: " + preflight.reason);
5468
+ lines2.push("Estimator messages ~" + tokenCount(preflight.rawEstimatedMessageTokens) + " \xB7 normalization unavailable", "Route " + modelLabel + " \xB7 viability " + preflight.reason);
5477
5469
  return lines2;
5478
5470
  }
5479
- const soft = plan.relaxedSoftBoundaries.length ? "Soft boundaries included in summary: " + plan.relaxedSoftBoundaries.map((kind) => SOFT_BOUNDARY_COPY[kind] ?? kind).join(", ") : "Soft boundaries kept when they fit: older user turn, latest checkpoint, adjacent topic";
5480
5471
  const lines = [
5481
- "Before ~" + tokenCount(preflight.totalTokens) + " (~" + percent(preflight.contextPercent) + " window) \u2192 expected after ~" + tokenCount(plan.projectedAfterTokens) + " (~" + windowPercent(plan.projectedAfterTokens, preflight.contextWindowTokens) + " window)",
5482
- "Projected net saving ~" + tokenCount(plan.projectedSavedTokens) + " (~" + percent(plan.projectedYield * 100) + ", estimator-based)",
5483
- "Recent raw tail ~" + tokenCount(plan.retainedTokens) + " + summary budget \u2264" + tokenCount(plan.summaryBudgetTokens),
5484
- soft,
5485
- "Hard safeguards: complete tool-call/result pairs and zero-gap verification before apply; " + (plan.hardBoundaryAdjusted ? "boundary adjusted to keep a pair intact" : "no hard-boundary adjustment needed")
5472
+ "Plan " + compactTokenCount(preflight.totalTokens) + " \u2192 ~" + compactTokenCount(plan.projectedAfterTokens) + " \xB7 ~" + compactTokenCount(plan.projectedSavedTokens) + " saved (" + percent(plan.projectedYield * 100) + ")",
5473
+ "Keep ~" + compactTokenCount(plan.retainedTokens) + " recent \xB7 summary up to " + compactTokenCount(plan.summaryBudgetTokens),
5474
+ "\u2713 Complete tool pairs \xB7 \u2713 zero-gap verification before apply"
5486
5475
  ];
5487
5476
  if (!plan.viable)
5488
- lines.push("Cannot run this preset: " + explainPreflightReason(plan.reason) + ". Choose a viable preset.");
5477
+ lines.unshift("Unavailable \xB7 " + explainPreflightReason(plan.reason));
5489
5478
  if (details)
5490
- lines.push("Estimator: messages ~" + tokenCount(preflight.rawEstimatedMessageTokens) + " \xB7 normalized \xD7" + preflight.estimatorScale.toFixed(2) + " \xB7 fixed ~" + tokenCount(plan.fixedContextTokens), "Target \u2264" + tokenCount(plan.targetAfterTokens) + " \xB7 tail target \u2264" + tokenCount(plan.retentionTargetTokens), "Hard-boundary adjustment: " + (plan.hardBoundaryAdjusted ? "yes" : "no") + " \xB7 viability: " + plan.reason, "Internal soft boundaries: " + (plan.relaxedSoftBoundaries.join(", ") || "none"), "Summary route: " + modelLabel + (preflight.adapted ? " \xB7 damage feedback " + preflight.damageMedian + "/100 applied" : ""));
5479
+ lines.push("Target \u2264" + tokenCount(plan.targetAfterTokens) + " \xB7 tail \u2264" + tokenCount(plan.retentionTargetTokens) + " \xB7 fixed ~" + tokenCount(plan.fixedContextTokens), "Estimator ~" + tokenCount(preflight.rawEstimatedMessageTokens) + " messages \xB7 normalized \xD7" + preflight.estimatorScale.toFixed(2), "Boundary " + (plan.hardBoundaryAdjusted ? "tool pair kept intact" : "no hard adjustment") + " \xB7 soft summarized: " + (plan.relaxedSoftBoundaries.map((kind) => SOFT_BOUNDARY_COPY[kind] ?? kind).join(", ") || "none"), "Route " + modelLabel + (preflight.adapted ? " \xB7 damage feedback " + preflight.damageMedian + "/100" : ""));
5491
5480
  return lines;
5492
5481
  }
5493
5482
  var PROGRESS_KEY = "smart-compact-progress";
@@ -5496,12 +5485,25 @@ function showProgressOverlay(ctx, state) {
5496
5485
  if (ctx.hasUI === false)
5497
5486
  return;
5498
5487
  const name = PROGRESS_PHASES[state.phase - 1] ?? state.phaseName;
5499
- const story = PROGRESS_PHASES.map((phase, index) => index === 1 && state.phase > 2 && !state.explorationRounds ? "\u2013 Explore" : index < state.phase - 1 ? "\u2713 " + phase : index === state.phase - 1 ? "\u25CF " + phase : "\u25CB " + phase).join(" ");
5500
- const detail = state.detail ? name + " \xB7 " + state.detail : name;
5501
5488
  try {
5502
- ctx.ui.setStatus?.(PROGRESS_KEY, "Smart Compact \xB7 " + detail);
5489
+ ctx.ui.setStatus?.(PROGRESS_KEY, "Smart Compact " + state.phase + "/5 \xB7 " + name);
5503
5490
  ctx.ui.setWidget?.(PROGRESS_KEY, (_tui, theme) => ({
5504
- render: (width) => [truncateToWidth(theme.fg("dim", story), width)],
5491
+ render: (width) => {
5492
+ const story = PROGRESS_PHASES.map((phase, index) => {
5493
+ if (index === 1 && state.phase > 2 && !state.explorationRounds)
5494
+ return theme.fg("dim", "\u2013 Explore");
5495
+ if (index < state.phase - 1)
5496
+ return theme.fg("success", "\u2713 " + phase);
5497
+ if (index === state.phase - 1)
5498
+ return theme.fg("accent", theme.bold("\u25CF " + phase));
5499
+ return theme.fg("dim", "\u25CB " + phase);
5500
+ }).join(theme.fg("dim", " "));
5501
+ const safety = state.phase < 5 ? " \xB7 conversation unchanged" : "";
5502
+ return [
5503
+ truncateToWidth(story, width),
5504
+ truncateToWidth(theme.fg("muted", "\u21B3 " + state.detail + safety), width)
5505
+ ];
5506
+ },
5505
5507
  invalidate: () => {}
5506
5508
  }), { placement: "belowEditor" });
5507
5509
  } catch {}
@@ -5786,26 +5788,54 @@ async function showCompactUI(ctx, opts) {
5786
5788
  let details = false;
5787
5789
  return {
5788
5790
  render: (width) => {
5789
- const out = (text, color = "text") => truncateToWidth(theme.fg(color, text), Math.max(0, width));
5790
- const wrapped = (text, color = "text") => wrapTextWithAnsi(theme.fg(color, text), Math.max(1, width));
5791
+ const inner = Math.max(1, width - 2);
5792
+ const border = (text) => theme.fg("borderMuted", text);
5793
+ const fit = (text, max = inner) => truncateToWidth(text, Math.max(0, max), "");
5794
+ const fill = (text) => {
5795
+ const clipped = fit(text);
5796
+ return clipped + " ".repeat(Math.max(0, inner - visibleWidth(clipped)));
5797
+ };
5798
+ const cell = (text = "") => border("\u2502") + fill(text) + border("\u2502");
5799
+ const divider = border("\u251C" + "\u2500".repeat(inner) + "\u2524");
5800
+ const title = fit(" Smart Compact ", Math.max(0, inner - 1));
5801
+ const top = border("\u256D\u2500") + theme.fg("accent", theme.bold(title)) + border("\u2500".repeat(Math.max(0, inner - 1 - visibleWidth(title))) + "\u256E");
5802
+ const bottom = border("\u2570" + "\u2500".repeat(inner) + "\u256F");
5803
+ const selectedMode = PRIMARY_MODES[selected];
5804
+ const current = plans.get(selectedMode);
5805
+ const contextWindow = current.contextWindowTokens;
5806
+ const contextPct = Math.round(current.contextPercent);
5807
+ const barLength = width >= 72 ? 14 : 8;
5808
+ const barFilled = Math.min(barLength, Math.round(Math.min(100, contextPct) / 100 * barLength));
5809
+ const contextBar = theme.fg(contextPct >= 90 ? "error" : contextPct >= 70 ? "warning" : "success", "\u2588".repeat(barFilled)) + theme.fg("dim", "\u2591".repeat(barLength - barFilled));
5810
+ const modelPrefix = " Summary model ";
5811
+ const modelAction = theme.fg("accent", " [M] Change");
5812
+ const modelWidth = Math.max(1, inner - visibleWidth(modelPrefix) - visibleWidth(modelAction));
5791
5813
  const lines = [
5792
- out("Smart Compact preflight", "accent"),
5793
- ...wrapped("Recommended: " + MODE_LABELS[recommended.mode] + " \u2014 " + recommended.reason, "text"),
5794
- out("Active context: " + opts.activeModelLabel + " \xB7 " + tokenCount(plans.get(recommended.mode)?.contextWindowTokens ?? 0) + " window", "dim"),
5795
- out("Summary model: " + selectedModel.label, "dim"),
5796
- out("\u2500".repeat(Math.max(0, width)), "borderMuted")
5814
+ top,
5815
+ cell(" Context " + compactTokenCount(opts.contextTokens) + " / " + compactTokenCount(contextWindow) + " " + contextBar + " " + contextPct + "%"),
5816
+ cell(theme.fg("dim", modelPrefix) + fit(selectedModel.label, modelWidth) + modelAction),
5817
+ divider
5797
5818
  ];
5798
5819
  for (let index = 0;index < PRIMARY_MODES.length; index++) {
5799
5820
  const mode = PRIMARY_MODES[index];
5800
5821
  const preview = plans.get(mode);
5801
- const viable = preview.plan?.viable ?? false;
5802
- lines.push(out((index === selected ? "> " : " ") + MODE_LABELS[mode] + (mode === recommended.mode ? " [recommended]" : "") + (viable ? " [viable]" : " [unavailable: " + explainPreflightReason(preview.reason) + "]"), index === selected ? "accent" : viable ? "text" : "muted"));
5803
- lines.push(out(" " + MODE_COPY[mode], "dim"));
5822
+ const plan = preview.plan;
5823
+ const viable = plan?.viable ?? false;
5824
+ const marker = index === selected ? "\u203A " : " ";
5825
+ const recommendedMark = mode === recommended.mode ? " recommended" : " ";
5826
+ const trait = mode === "fast" ? "quickest" : mode === "balanced" ? "default" : "deepest";
5827
+ const stats2 = (viable && plan ? "~" + compactTokenCount(plan.projectedAfterTokens) + " after \xB7 " + percent(plan.projectedYield * 100) + " saved" : "unavailable \xB7 " + explainPreflightReason(preview.reason)) + " \xB7 " + trait;
5828
+ const line = " " + marker + MODE_LABELS[mode].padEnd(9) + recommendedMark + " " + stats2;
5829
+ lines.push(cell(index === selected ? theme.fg("accent", theme.bold(line)) : theme.fg(viable ? mode === recommended.mode ? "success" : "text" : "muted", line)));
5804
5830
  }
5805
- lines.push(out("\u2500".repeat(Math.max(0, width)), "borderMuted"));
5806
- const current = plans.get(PRIMARY_MODES[selected]);
5807
- lines.push(...formatPreflightSummary(current, selectedModel.value, details).flatMap((line) => wrapped(line, line.startsWith("Cannot") || line.startsWith("This preset") ? "warning" : "text")));
5808
- lines.push("", out("\u2191\u2193 mode \xB7 Enter compact \xB7 D details \xB7 M model \xB7 Esc cancel", "dim"));
5831
+ lines.push(divider);
5832
+ for (const line of formatPreflightSummary(current, selectedModel.value, details)) {
5833
+ const color = line.startsWith("Unavailable") || line.startsWith("Plan unavailable") ? "warning" : line.startsWith("\u2713") ? "success" : "text";
5834
+ lines.push(cell(" " + theme.fg(color, line)));
5835
+ }
5836
+ if (details)
5837
+ lines.push(cell(" " + theme.fg("dim", MODE_LABELS[selectedMode] + " \xB7 " + MODE_COPY[selectedMode])));
5838
+ lines.push(divider, cell(theme.fg("dim", " \u2191\u2193 choose \xB7 Enter run \xB7 D details \xB7 M model \xB7 Esc cancel")), bottom);
5809
5839
  return lines;
5810
5840
  },
5811
5841
  invalidate: () => {},
@@ -5815,9 +5845,9 @@ async function showCompactUI(ctx, opts) {
5815
5845
  return;
5816
5846
  }
5817
5847
  if (keybindings.matches(data, "tui.select.up"))
5818
- selected = Math.max(0, selected - 1);
5848
+ selected = (selected + PRIMARY_MODES.length - 1) % PRIMARY_MODES.length;
5819
5849
  else if (keybindings.matches(data, "tui.select.down"))
5820
- selected = Math.min(PRIMARY_MODES.length - 1, selected + 1);
5850
+ selected = (selected + 1) % PRIMARY_MODES.length;
5821
5851
  else if (keybindings.matches(data, "tui.select.confirm")) {
5822
5852
  const mode = PRIMARY_MODES[selected];
5823
5853
  if (plans.get(mode)?.plan?.viable) {
@@ -5833,7 +5863,7 @@ async function showCompactUI(ctx, opts) {
5833
5863
  tui.requestRender();
5834
5864
  }
5835
5865
  };
5836
- }, { overlay: true, overlayOptions: { width: "70%", minWidth: 36, anchor: "center", maxHeight: "85%" } });
5866
+ }, { overlay: true, overlayOptions: { width: "68%", minWidth: 52, anchor: "center", maxHeight: "85%" } });
5837
5867
  if (!action)
5838
5868
  return null;
5839
5869
  if (action === "model") {
@@ -6855,7 +6885,7 @@ async function exploreConversation(llmMessages, extraction, model, auth, prevSum
6855
6885
  tools: EXPLORATION_TOOLS
6856
6886
  }, { apiKey: auth.apiKey, headers: auth.headers, signal, maxTokens: Math.min(4096, model.maxTokens || 4096) }, svc);
6857
6887
  } catch (err) {
6858
- warn("Explore loop error", err);
6888
+ debugError("Explore loop stopped", err);
6859
6889
  break;
6860
6890
  }
6861
6891
  const nextToolCalls = response.content.filter((c) => c.type === "toolCall");
@@ -7441,6 +7471,12 @@ async function summarizeConversation(rc) {
7441
7471
  const cached = getCachedSynthesis(cacheKey);
7442
7472
  if (cached) {
7443
7473
  rc.notify("Synthesis cache hit \u2014 no LLM calls", "info");
7474
+ if (!rc.flags.autoTriggered)
7475
+ showProgressOverlay(rc.ctx, {
7476
+ phase: 3,
7477
+ phaseName: "Synthesize",
7478
+ detail: "Reusing the cached continuation summary \xB7 no LLM call"
7479
+ });
7444
7480
  const hit = rc;
7445
7481
  hit.finalSummary = cached.finalSummary;
7446
7482
  hit.method = cached.method;
@@ -7453,11 +7489,17 @@ async function summarizeConversation(rc) {
7453
7489
  markMeasuredPhase(hit, "synthesize", synthPhaseStart);
7454
7490
  return advance(hit, "_synthesized");
7455
7491
  }
7456
- const zeroCall = rc.config.zeroCallEnabled !== false && (rc.mode === "fast" || rc.mode === "aggressive") && !rc.focus && !rc.userNote && deterministicExtractionConfidence(extraction, {
7492
+ const zeroCall = rc.config.zeroCallEnabled !== false && rc.mode === "fast" && !rc.focus && !rc.userNote && deterministicExtractionConfidence(extraction, {
7457
7493
  conversationTokens: rc.convTokens,
7458
7494
  toolPercent: rc.toolPercent
7459
7495
  }) >= 0.85;
7460
7496
  if (zeroCall) {
7497
+ if (!rc.flags.autoTriggered)
7498
+ showProgressOverlay(rc.ctx, {
7499
+ phase: 3,
7500
+ phaseName: "Synthesize",
7501
+ detail: "Building a deterministic continuation summary \xB7 no LLM call"
7502
+ });
7461
7503
  const finalSummary2 = assembleFallback([], extraction);
7462
7504
  setCachedSynthesis(cacheKey, {
7463
7505
  finalSummary: finalSummary2,
@@ -7494,9 +7536,16 @@ async function summarizeConversation(rc) {
7494
7536
  try {
7495
7537
  summaryAuth = await resolveStageAuth(rc, "summary");
7496
7538
  } catch (error2) {
7497
- rc.notify("Summary route unavailable; using deterministic fallback: " + (error2 instanceof Error ? error2.message : String(error2)), "warning");
7539
+ debugError("Summary route unavailable", error2);
7540
+ rc.notify("Summary route unavailable \xB7 using deterministic fallback", "info");
7498
7541
  }
7499
7542
  if (!summaryAuth) {
7543
+ if (!rc.flags.autoTriggered)
7544
+ showProgressOverlay(rc.ctx, {
7545
+ phase: 3,
7546
+ phaseName: "Synthesize",
7547
+ detail: "Summary route unavailable \xB7 building a deterministic summary"
7548
+ });
7500
7549
  finalSummary = assembleFallback([], extraction);
7501
7550
  method = "heuristic";
7502
7551
  } else if (rc.convTokens < singlePassMaxTokens) {
@@ -7504,7 +7553,7 @@ async function summarizeConversation(rc) {
7504
7553
  showProgressOverlay(rc.ctx, {
7505
7554
  phase: 3,
7506
7555
  phaseName: "Synthesize",
7507
- detail: "Single-pass (" + rc.convTokens.toLocaleString() + "t)",
7556
+ detail: "Writing one continuation summary from " + rc.convTokens.toLocaleString() + " tokens",
7508
7557
  model: rc.modelLabel,
7509
7558
  profile: rc.profile,
7510
7559
  extraction
@@ -7515,7 +7564,8 @@ async function summarizeConversation(rc) {
7515
7564
  finalSummary = r.summary;
7516
7565
  method = "single-pass";
7517
7566
  } catch (err) {
7518
- rc.notify("Single-pass failed: " + (err instanceof Error ? err.message : String(err)), "warning");
7567
+ debugError("Single-pass synthesis used deterministic fallback", err);
7568
+ rc.notify("Single-pass generation stopped \xB7 using deterministic fallback", "info");
7519
7569
  finalSummary = assembleFallback([], extraction);
7520
7570
  method = "heuristic";
7521
7571
  }
@@ -7527,7 +7577,7 @@ async function summarizeConversation(rc) {
7527
7577
  showProgressOverlay(rc.ctx, {
7528
7578
  phase: 2,
7529
7579
  phaseName: "Explore",
7530
- detail: "Exploring...",
7580
+ detail: "Mapping topic shifts and continuity risks",
7531
7581
  model: rc.modelLabel,
7532
7582
  profile: rc.profile,
7533
7583
  extraction
@@ -7542,7 +7592,8 @@ async function summarizeConversation(rc) {
7542
7592
  rc.notify("Phase 2 Explore: " + expResult.rounds + " rounds, " + explorationReport.boundaries.length + " boundaries" + (expResult.toolSupported ? "" : " (no tool support)"), "info");
7543
7593
  rc.vlog("Explore boundaries: " + explorationReport.boundaries.map((b) => b.afterIndex + "(" + b.confidence.toFixed(2) + ")").join(", "));
7544
7594
  } catch (err) {
7545
- rc.notify("Phase 2 Explore: failed - " + (err instanceof Error ? err.message : String(err)), "warning");
7595
+ debugError("Explore used deterministic topic boundaries", err);
7596
+ rc.notify("Explore unavailable \xB7 using deterministic topic boundaries", "info");
7546
7597
  } finally {
7547
7598
  const exploreEnd = Date.now();
7548
7599
  markMeasuredPhase(rc, "explore", exploreStart, exploreEnd);
@@ -7589,7 +7640,7 @@ async function summarizeConversation(rc) {
7589
7640
  showProgressOverlay(rc.ctx, {
7590
7641
  phase: 3,
7591
7642
  phaseName: "Synthesize",
7592
- detail: "0/" + totalBatches + " batches",
7643
+ detail: "Compressing older history \xB7 batch 0/" + totalBatches,
7593
7644
  model: rc.modelLabel,
7594
7645
  profile: rc.profile,
7595
7646
  extraction,
@@ -7629,7 +7680,7 @@ async function summarizeConversation(rc) {
7629
7680
  for (let index = wave;index < totalBatches; index++) {
7630
7681
  results[index] = batches[index].map((chunk) => failedChunkSummary(chunk));
7631
7682
  }
7632
- rc.notify("Synthesis budget exhausted \u2014 remaining batches use deterministic fallback", "warning");
7683
+ rc.notify("Synthesis budget reached \xB7 remaining batches use deterministic fallback", "info");
7633
7684
  break;
7634
7685
  }
7635
7686
  const waveBatches = batches.slice(wave, Math.min(wave + concurrency, batchCallLimit));
@@ -7646,7 +7697,7 @@ async function summarizeConversation(rc) {
7646
7697
  showProgressOverlay(rc.ctx, {
7647
7698
  phase: 3,
7648
7699
  phaseName: "Synthesize",
7649
- detail: completed + "/" + totalBatches + " batches",
7700
+ detail: "Compressing older history \xB7 batch " + completed + "/" + totalBatches,
7650
7701
  model: rc.modelLabel,
7651
7702
  profile: rc.profile,
7652
7703
  extraction,
@@ -7661,15 +7712,25 @@ async function summarizeConversation(rc) {
7661
7712
  for (const r of results)
7662
7713
  if (r)
7663
7714
  summaries.push(...r);
7664
- for (let i = 0;i < errors.length; i++)
7665
- if (errors[i])
7666
- rc.notify("Batch " + (i + 1) + " failed: " + errors[i].message, "warning");
7715
+ const failedBatches = errors.filter(Boolean);
7716
+ for (const error2 of failedBatches)
7717
+ debugError("Synthesis batch used deterministic fallback", error2);
7718
+ if (failedBatches.length) {
7719
+ rc.notify(failedBatches.length + " synthesis batch(es) stopped \xB7 deterministic evidence fallback preserved coverage", "info");
7720
+ if (!rc.flags.autoTriggered)
7721
+ showProgressOverlay(rc.ctx, {
7722
+ phase: 3,
7723
+ phaseName: "Synthesize",
7724
+ detail: failedBatches.length + " batch fallback(s) \xB7 preserving coverage from deterministic evidence",
7725
+ explorationRounds
7726
+ });
7727
+ }
7667
7728
  }
7668
7729
  if (!rc.flags.autoTriggered) {
7669
7730
  showProgressOverlay(rc.ctx, {
7670
7731
  phase: 3,
7671
7732
  phaseName: "Synthesize",
7672
- detail: "Assembling...",
7733
+ detail: "Merging summaries with project continuity",
7673
7734
  model: rc.modelLabel,
7674
7735
  profile: rc.profile,
7675
7736
  extraction,
@@ -7684,7 +7745,7 @@ async function summarizeConversation(rc) {
7684
7745
  else
7685
7746
  throw new Error("bad");
7686
7747
  } catch (err) {
7687
- warn("Assembly failed", err);
7748
+ debugError("Assembly used deterministic fallback", err);
7688
7749
  finalSummary = assembleFallback(summaries, extraction);
7689
7750
  }
7690
7751
  method = "eesv";
@@ -7955,7 +8016,7 @@ function verifySummary(summary, extraction, continuity = null) {
7955
8016
  }
7956
8017
  }
7957
8018
  for (const error2 of unresolvedEvidence) {
7958
- const snippet = error2.message.trim().replace(/\s+/g, " ").slice(0, TRUNC.ERROR_SNIPPET).toLowerCase();
8019
+ const snippet = summaryEvidenceLine(error2.message, TRUNC.ERROR_SNIPPET).toLowerCase();
7959
8020
  if (snippet.length > 5 && !normalizedSummary.includes(snippet)) {
7960
8021
  gaps.push({ kind: "missing-error", message: error2.message });
7961
8022
  score -= 5;
@@ -8182,7 +8243,7 @@ async function verifyAndPatch(rc) {
8182
8243
  showProgressOverlay(rc.ctx, {
8183
8244
  phase: 4,
8184
8245
  phaseName: "Verify",
8185
- detail: "Checking...",
8246
+ detail: "Checking facts, files, constraints, errors, and open loops",
8186
8247
  model: rc.modelLabel,
8187
8248
  profile: rc.profile,
8188
8249
  extraction,
@@ -8197,7 +8258,14 @@ async function verifyAndPatch(rc) {
8197
8258
  rc.vlog("Verification score=" + verification.score + " ok=" + verification.ok + " gaps=" + verification.gaps.length);
8198
8259
  const initialPatchable = verification.gaps.filter(isDeterministicallyPatchable);
8199
8260
  if (initialPatchable.length > 0) {
8200
- rc.notify("Phase 4 Verify: " + initialPatchable.length + " deterministic gap(s), score=" + verification.score + ", applying repair", "warning");
8261
+ rc.notify("Phase 4 Verify: " + initialPatchable.length + " deterministic gap(s), score=" + verification.score + ", applying repair", "info");
8262
+ if (!rc.flags.autoTriggered)
8263
+ showProgressOverlay(rc.ctx, {
8264
+ phase: 4,
8265
+ phaseName: "Verify",
8266
+ detail: "Repairing " + initialPatchable.length + " deterministic finding(s)",
8267
+ explorationRounds: rc.explorationRounds
8268
+ });
8201
8269
  const repaired = repairSummaryDeterministically(summary, verification, extraction, rc.previousState);
8202
8270
  summary = repaired.summary;
8203
8271
  verification = repaired.result;
@@ -8205,13 +8273,20 @@ async function verifyAndPatch(rc) {
8205
8273
  }
8206
8274
  const mode = rc.mode ?? (rc.profile ? modeFromLegacyProfile(rc.profile) : "balanced");
8207
8275
  if (MODE_POLICIES[mode].allowLlmPatch && !verification.ok) {
8208
- rc.notify("Phase 4 Verify: deterministic repair insufficient (score=" + verification.score + "), requesting LLM patch", "warning");
8276
+ rc.notify("Phase 4 Verify: deterministic repair insufficient (score=" + verification.score + "), requesting LLM patch", "info");
8277
+ if (!rc.flags.autoTriggered)
8278
+ showProgressOverlay(rc.ctx, {
8279
+ phase: 4,
8280
+ phaseName: "Verify",
8281
+ detail: "Requesting a semantic repair for unresolved findings",
8282
+ explorationRounds: rc.explorationRounds
8283
+ });
8209
8284
  const beforePatch = summary;
8210
8285
  try {
8211
8286
  const verifyAuth = await resolveStageAuth(rc, "verify");
8212
8287
  summary = await patchSummary(summary, verification.gaps, rc.verifyModel ?? rc.summaryModel, verifyAuth, rc.cancellation.signal, rc.services);
8213
8288
  } catch (error2) {
8214
- warn("LLM patch failed", error2);
8289
+ debugError("LLM verification patch used deterministic fallback", error2);
8215
8290
  }
8216
8291
  if (summary !== beforePatch) {
8217
8292
  llmPatched = true;
@@ -8223,6 +8298,13 @@ async function verifyAndPatch(rc) {
8223
8298
  }
8224
8299
  }
8225
8300
  if (!verification.ok) {
8301
+ if (!rc.flags.autoTriggered)
8302
+ showProgressOverlay(rc.ctx, {
8303
+ phase: 4,
8304
+ phaseName: "Verify",
8305
+ detail: "Trying the deterministic safety summary",
8306
+ explorationRounds: rc.explorationRounds
8307
+ });
8226
8308
  let deterministic = assembleFallback(rc.summaries, extraction);
8227
8309
  let deterministicVerification = verifySummary(deterministic, extraction, rc.previousState);
8228
8310
  const repaired = repairSummaryDeterministically(deterministic, deterministicVerification, extraction, rc.previousState);
@@ -8233,12 +8315,19 @@ async function verifyAndPatch(rc) {
8233
8315
  verification = deterministicVerification;
8234
8316
  deterministicPatched.push(...repaired.patched);
8235
8317
  qualityFloorUsed = true;
8236
- rc.notify("Quality floor replaced unsafe or unverifiable model output", "warning");
8318
+ rc.notify("Quality floor replaced unsafe or unverifiable model output", "info");
8237
8319
  }
8238
8320
  }
8239
8321
  const failure = verificationFailureMessage(verification);
8240
8322
  if (failure)
8241
8323
  throw new VerificationGateError(verification, initialScore);
8324
+ if (!rc.flags.autoTriggered)
8325
+ showProgressOverlay(rc.ctx, {
8326
+ phase: 4,
8327
+ phaseName: "Verify",
8328
+ detail: "Passed " + verification.score + "/100 \xB7 0 unresolved gaps",
8329
+ explorationRounds: rc.explorationRounds
8330
+ });
8242
8331
  const out = rc;
8243
8332
  out.finalSummary = summary;
8244
8333
  out.verified = verification.ok;
@@ -9266,7 +9355,7 @@ function runDamageDetection(rc) {
9266
9355
  writeRemediationHints(rc.projectId, damage.reReadFiles);
9267
9356
  }
9268
9357
  } catch (err) {
9269
- warn("Damage detection error", err);
9358
+ debugError("Damage detection skipped", err);
9270
9359
  }
9271
9360
  }
9272
9361
  function stagePendingCompaction(rc, metricsSnapshot) {
@@ -9319,6 +9408,8 @@ function makeBase(opts) {
9319
9408
  const notify = (msg, type = "info") => {
9320
9409
  if (opts.autoTriggered && (type === "info" || type === "success"))
9321
9410
  return;
9411
+ if (type === "info" && !opts.verbose)
9412
+ return;
9322
9413
  opts.ctx.ui.notify(msg, type === "success" ? "info" : type);
9323
9414
  };
9324
9415
  const vlog = (msg) => {
@@ -9391,6 +9482,7 @@ async function runSmartCompact(opts) {
9391
9482
  }
9392
9483
  let finalRc = null;
9393
9484
  let keepApplyProgress = false;
9485
+ let runFailed = false;
9394
9486
  let failureSummaryFields = { profile: base.profile, mode: base.mode };
9395
9487
  if (opts.cancellationOut) {
9396
9488
  opts.cancellationOut.value = {
@@ -9412,7 +9504,7 @@ async function runSmartCompact(opts) {
9412
9504
  const prepared = await prepareRun(base);
9413
9505
  if (!prepared)
9414
9506
  return;
9415
- base.notify("EESV Compact (" + base.modelLabel + ", " + base.profile + ") \u2014 " + (base.ctx.getContextUsage()?.tokens ?? 0).toLocaleString() + "t", "info");
9507
+ base.notify("EESV Compact (" + base.modelLabel + ", " + base.mode + ") \u2014 " + (base.ctx.getContextUsage()?.tokens ?? 0).toLocaleString() + "t", "info");
9416
9508
  const windowed = resolveCompactionWindow(prepared);
9417
9509
  if (!windowed)
9418
9510
  return;
@@ -9424,7 +9516,13 @@ async function runSmartCompact(opts) {
9424
9516
  };
9425
9517
  markPhase(windowed, "prepare");
9426
9518
  if (!windowed.flags.autoTriggered) {
9427
- showProgressOverlay(windowed.ctx, { phase: 1, phaseName: "Extract", detail: "Preparing...", model: windowed.modelLabel, profile: windowed.profile });
9519
+ showProgressOverlay(windowed.ctx, {
9520
+ phase: 1,
9521
+ phaseName: "Extract",
9522
+ detail: "Indexing goals, files, decisions, errors, and open loops",
9523
+ model: windowed.modelLabel,
9524
+ profile: windowed.profile
9525
+ });
9428
9526
  }
9429
9527
  const recovered = recoverSessionLog(windowed);
9430
9528
  markPhase(recovered, "recover");
@@ -9448,7 +9546,7 @@ async function runSmartCompact(opts) {
9448
9546
  markPhase(stated, "state");
9449
9547
  if (stated.flags.dryRun) {
9450
9548
  recordSuccessMetrics(stated, "dry-run");
9451
- stated.notify("DRY RUN (" + stated.method + ", " + stated.profile + ") \u2014 " + stated.toCompact.length + " msgs, " + stated.llmCalls + " calls", "info");
9549
+ stated.ctx.ui.notify("DRY RUN (" + stated.method + ", " + stated.mode + ") \u2014 " + stated.toCompact.length + " msgs, " + stated.llmCalls + " calls", "info");
9452
9550
  return;
9453
9551
  }
9454
9552
  if (stated.cancellation.timedOut)
@@ -9461,20 +9559,24 @@ async function runSmartCompact(opts) {
9461
9559
  try {
9462
9560
  decision = stated.ctx.hasUI ? await showResultScreen(stated.ctx, stated.details, stated.extraction, stated.services, { approval: true }) : "cancel";
9463
9561
  } catch (err) {
9464
- warn("Approval UI error", err);
9562
+ debugError("Approval UI stopped", err);
9465
9563
  stated.notify("Approval UI failed \u2014 compaction cancelled", "warning");
9466
9564
  }
9467
9565
  if (decision !== "apply") {
9468
9566
  stated.pendingRef.clear(stated.sessionId);
9469
9567
  recordSuccessMetrics(stated, "cancelled");
9470
- stated.notify("Compaction cancelled \u2014 current conversation unchanged", "info");
9568
+ stated.ctx.ui.notify("Compaction cancelled \u2014 current conversation unchanged", "info");
9471
9569
  return;
9472
9570
  }
9473
9571
  }
9474
9572
  if (stated.cancellation.timedOut)
9475
9573
  return;
9476
9574
  if (willApply) {
9477
- showProgressOverlay(stated.ctx, { phase: 5, phaseName: "Apply", detail: "Awaiting Pi confirmation..." });
9575
+ showProgressOverlay(stated.ctx, {
9576
+ phase: 5,
9577
+ phaseName: "Apply",
9578
+ detail: "Verified " + stated.verificationScore + "/100 \xB7 staging this run \xB7 awaiting Pi confirmation"
9579
+ });
9478
9580
  }
9479
9581
  stagePendingCompaction(stated, buildSuccessMetrics(stated, "success"));
9480
9582
  if (stated.cancellation.timedOut) {
@@ -9486,6 +9588,7 @@ async function runSmartCompact(opts) {
9486
9588
  keepApplyProgress = true;
9487
9589
  }
9488
9590
  } catch (err) {
9591
+ runFailed = true;
9489
9592
  recordFailureMetrics(finalRc ?? base, err, failureSummaryFields);
9490
9593
  throw err;
9491
9594
  } finally {
@@ -9502,7 +9605,8 @@ async function runSmartCompact(opts) {
9502
9605
  if (base.flags.autoTriggered && !base.cancellation.timedOut) {
9503
9606
  const dur = pipelineMs < 1000 ? pipelineMs + "ms" : (pipelineMs / 1000).toFixed(1) + "s";
9504
9607
  const hasPending = base.pendingRef.isPresent(runSessionId);
9505
- base.ctx.ui.notify(hasPending ? "Smart compact prepared in " + dur + " \u2014 awaiting native /compact" : "Smart compact run finished in " + dur, "info");
9608
+ if (hasPending || runFailed || finalRc)
9609
+ base.ctx.ui.notify(hasPending ? "Smart compact prepared in " + dur + " \u2014 awaiting native /compact" : runFailed ? "Smart compact stopped safely in " + dur + " \xB7 no summary applied \xB7 Pi fallback continues" : "Smart compact run finished in " + dur, runFailed ? "warning" : "info");
9506
9610
  }
9507
9611
  }
9508
9612
  }
@@ -9987,7 +10091,7 @@ Paths: ` + relatedPaths.join(", ") : ""));
9987
10091
  pi.registerCommand("smart-compact", {
9988
10092
  description: "EESV smart compaction v" + VERSION + ". Usage: /smart-compact [model] [mode] [flags] [--focus=topic] [--max-calls=N] [--max-input-tokens=N] [note]",
9989
10093
  getArgumentCompletions: (prefix) => {
9990
- const m = ["verbose", "debug", "dry-run", "metrics", "dashboard", "restore", "loops", "auto", "balanced", "aggressive", "fast", "thorough", "slow", "light", "--focus=", "--max-calls=", "--max-input-tokens=", "--max-latency="].filter((o) => o.startsWith(prefix)).map((o) => ({ value: o, label: o }));
10094
+ const m = ["verbose", "debug", "dry-run", "metrics", "dashboard", "restore", "loops", "fast", "balanced", "thorough", "--focus=", "--max-calls=", "--max-input-tokens=", "--max-latency="].filter((o) => o.startsWith(prefix)).map((o) => ({ value: o, label: o }));
9991
10095
  return m.length ? m : null;
9992
10096
  },
9993
10097
  handler: async (args, ctx) => {
@@ -10104,8 +10208,10 @@ Paths: ` + relatedPaths.join(", ") : ""));
10104
10208
  const knownProviders = new Set(ctx.modelRegistry.getAvailable().map((m) => m.provider));
10105
10209
  const modelArg = tokens.find((t) => /^[a-z0-9_.-]+\/[a-z0-9_.:-]+$/i.test(t) && (findModelById(ctx, t) || knownProviders.has(t.split("/")[0])));
10106
10210
  const config = loadConfig();
10107
- const rawMode = tokens.find((t) => ["auto", "balanced", "aggressive", "fast", "thorough", "slow"].includes(t));
10108
- const modeArg = rawMode === "slow" ? "thorough" : rawMode;
10211
+ const rawMode = tokens.find((t) => ["auto", "fast", "balanced", "thorough", "aggressive", "slow"].includes(t));
10212
+ const modeArg = rawMode === "slow" ? "thorough" : rawMode === "aggressive" ? "fast" : rawMode;
10213
+ if (rawMode === "aggressive")
10214
+ ctx.ui.notify("Aggressive mode is now Fast; using Fast.", "warning");
10109
10215
  const profileArg = tokens.includes("light") ? "light" : undefined;
10110
10216
  const mode = modeArg ?? (profileArg ? modeFromLegacyProfile(profileArg) : config.mode);
10111
10217
  if (!tokens.length) {
@@ -10222,7 +10328,7 @@ Paths: ` + relatedPaths.join(", ") : ""));
10222
10328
  cancellationOut
10223
10329
  });
10224
10330
  } catch (err) {
10225
- warn("Smart compact auto-trigger threw", err);
10331
+ debugError("Smart compact auto-trigger stopped", err);
10226
10332
  } finally {
10227
10333
  clearTimeout(timeoutId);
10228
10334
  }
@@ -10232,7 +10338,7 @@ Paths: ` + relatedPaths.join(", ") : ""));
10232
10338
  }
10233
10339
  }
10234
10340
  } catch (e) {
10235
- warn("session_before_compact error", e);
10341
+ debugError("session_before_compact stopped", e);
10236
10342
  }
10237
10343
  });
10238
10344
  pi.on("session_compact", async (event, ctx) => {
@@ -10331,7 +10437,7 @@ Paths: ` + relatedPaths.join(", ") : ""));
10331
10437
  parameters: {
10332
10438
  type: "object",
10333
10439
  properties: {
10334
- mode: { type: "string", description: "auto, balanced, aggressive, fast, or thorough (slow alias). Default: auto." },
10440
+ mode: { type: "string", description: "fast, balanced, thorough, or auto. Default: auto." },
10335
10441
  profile: { type: "string", description: "Deprecated alias: light, balanced, or aggressive." },
10336
10442
  verbose: { type: "boolean", description: "Show detailed pipeline output." },
10337
10443
  dry_run: { type: "boolean", description: "Run the pipeline but skip applying the compaction." },
@@ -10345,7 +10451,7 @@ Paths: ` + relatedPaths.join(", ") : ""));
10345
10451
  },
10346
10452
  async execute(_id, params, signal, _onUp, ctx) {
10347
10453
  const profile = params.profile === "light" || params.profile === "balanced" || params.profile === "aggressive" ? params.profile : undefined;
10348
- const mode = params.mode === "slow" ? "thorough" : ["auto", "balanced", "aggressive", "fast", "thorough"].find((value) => value === params.mode);
10454
+ const mode = params.mode === "slow" ? "thorough" : params.mode === "aggressive" ? "fast" : ["auto", "fast", "balanced", "thorough"].find((value) => value === params.mode);
10349
10455
  const verbose = !!params.verbose;
10350
10456
  const dryRun = !!params.dry_run;
10351
10457
  const focus = typeof params.focus === "string" ? params.focus.trim() || undefined : undefined;
@@ -156,7 +156,7 @@ function formatProviderEvaluation(report) {
156
156
  import fs2 from "fs";
157
157
 
158
158
  // src/constants.ts
159
- var VERSION = "8.0.5";
159
+ var VERSION = "8.0.6";
160
160
  var COMPACT_SYSTEM_PREFIX = "You are an expert conversation summarizer for a coding agent. " + "Produce structured markdown summaries. " + "Follow output format exactly. " + "Use EXACT names \u2014 never paraphrase code identifiers. " + "Trust deterministic extraction data over intuition.";
161
161
  var PROFILES = {
162
162
  light: {
@@ -138,7 +138,7 @@ function getLlmClient() {
138
138
  }
139
139
 
140
140
  // src/constants.ts
141
- var VERSION = "8.0.5";
141
+ var VERSION = "8.0.6";
142
142
  var COMPACT_SYSTEM_PREFIX = "You are an expert conversation summarizer for a coding agent. " + "Produce structured markdown summaries. " + "Follow output format exactly. " + "Use EXACT names \u2014 never paraphrase code identifiers. " + "Trust deterministic extraction data over intuition.";
143
143
  var PROFILES = {
144
144
  light: {
@@ -970,6 +970,9 @@ function classifyHeading(raw) {
970
970
 
971
971
  // src/domain/summary-parse.ts
972
972
  var HEADING_RE = /^(#{1,3})\s+(.+?)\s*$/;
973
+ function summaryEvidenceLine(value, maxLength) {
974
+ return value.replace(/[\u0000-\u0008\u000B\u000C\u000E-\u001F\u007F]/g, " ").replace(/\s+/g, " ").trim().replace(/^(?:(?:#{1,6}|[-*+]|>)\s+)+/, "").slice(0, maxLength).trim();
975
+ }
973
976
  function mergeBodies(first, second) {
974
977
  const seen = new Set;
975
978
  return [first, second].filter(Boolean).flatMap((body) => body.split(`
@@ -1192,7 +1195,7 @@ function verifySummary(summary, extraction, continuity = null) {
1192
1195
  }
1193
1196
  }
1194
1197
  for (const error of unresolvedEvidence) {
1195
- const snippet = error.message.trim().replace(/\s+/g, " ").slice(0, TRUNC.ERROR_SNIPPET).toLowerCase();
1198
+ const snippet = summaryEvidenceLine(error.message, TRUNC.ERROR_SNIPPET).toLowerCase();
1196
1199
  if (snippet.length > 5 && !normalizedSummary.includes(snippet)) {
1197
1200
  gaps.push({ kind: "missing-error", message: error.message });
1198
1201
  score -= 5;
@@ -2,7 +2,7 @@
2
2
  var __require = import.meta.require;
3
3
 
4
4
  // src/constants.ts
5
- var VERSION = "8.0.5";
5
+ var VERSION = "8.0.6";
6
6
  var COMPACT_SYSTEM_PREFIX = "You are an expert conversation summarizer for a coding agent. " + "Produce structured markdown summaries. " + "Follow output format exactly. " + "Use EXACT names \u2014 never paraphrase code identifiers. " + "Trust deterministic extraction data over intuition.";
7
7
  var PROFILES = {
8
8
  light: {
package/dist/types.d.ts CHANGED
@@ -6,8 +6,9 @@ import type { SectionKind } from "./domain/summary-schema.ts";
6
6
  /** Session type classification */
7
7
  export type SessionType = "implementation" | "review" | "debugging" | "discussion";
8
8
  export type CompressionProfile = "light" | "balanced" | "aggressive";
9
- export type CompactionMode = "auto" | "balanced" | "aggressive" | "fast" | "thorough";
10
- export type EffectiveCompactionMode = Exclude<CompactionMode, "auto">;
9
+ export type EffectiveCompactionMode = "fast" | "balanced" | "thorough";
10
+ /** `aggressive` is accepted only as a legacy input and resolves to Fast. */
11
+ export type CompactionMode = "auto" | EffectiveCompactionMode | "aggressive";
11
12
  export interface ProfileConfig {
12
13
  summaryBudgetTokens: number;
13
14
  keepRecentTokens: number;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -22,7 +22,7 @@ export declare function recommendPreflight(plans: ReadonlyMap<EffectiveCompactio
22
22
  mode: EffectiveCompactionMode;
23
23
  reason: string;
24
24
  };
25
- /** Pure copy generation; styling and terminal truncation stay in the component. */
25
+ /** Compact decision copy; technical planner data stays behind D. */
26
26
  export declare function formatPreflightSummary(preflight: ManualPreflight, modelLabel: string, details?: boolean): string[];
27
27
  export declare function showProgressOverlay(ctx: ExtensionContext, state: ProgressState): void;
28
28
  export declare function clearCompactProgress(ctx: ExtensionContext): void;
@@ -1 +1 @@
1
- {"version":3,"file":"overlays.d.ts","sourceRoot":"","sources":["../../src/ui/overlays.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"overlays.d.ts","sourceRoot":"","sources":["../../src/ui/overlays.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/utils/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/utils/helpers.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  # Migrating from v7 to v8
2
2
 
3
- This guide applies to the stable `8.0.5` release.
3
+ This guide applies to the stable `8.0.6` release.
4
4
 
5
5
  ## Compatibility
6
6
 
@@ -33,7 +33,8 @@ source-search output persisted as unresolved work; the next confirmed save persi
33
33
  the sanitized state. v8.0.3 keeps the same graph file and transparently opens it
34
34
  with `node:sqlite` under Pi or `bun:sqlite` in Bun tooling. v8.0.4 changes only
35
35
  compaction planning, UX, and privacy-safe operational metrics; v8.0.5 bounds
36
- user-facing failure diagnostics. Neither requires a state or database migration.
36
+ user-facing failure diagnostics; v8.0.6 streamlines the three-mode decision card
37
+ and live progress brief. None requires a state or database migration.
37
38
 
38
39
  Facts remain conservative: absence from a new window is not deletion. A fact is
39
40
  removed only by an explicit resolved/superseded override.
@@ -75,7 +76,7 @@ All defaults preserve the selected model and require no migration edits.
75
76
  | Key | Default | Purpose |
76
77
  |---|---|---|
77
78
  | `mode` | `auto` | Pressure/risk-aware execution policy |
78
- | `zeroCallEnabled` | `true` | Deterministic Fast/Aggressive synthesis when confidence is high |
79
+ | `zeroCallEnabled` | `true` | Deterministic Fast synthesis when confidence is high |
79
80
  | `contextGraphEnabled` | `true` | Local scoped graph and memory tools |
80
81
  | `telemetryChannel` | `stable` | Stable/canary metric tag |
81
82
  | `segmentationModel` | `null` | Explicit Explore route; selected model when null |
@@ -87,7 +88,7 @@ See the README configuration table for budgets and monitoring options.
87
88
  ## Recommended rollout
88
89
 
89
90
  1. Back up `~/.pi/agent/settings.json` and the Smart Compact cache directory.
90
- 2. Install the exact stable version: `pi install npm:pi-smart-compact@8.0.5`.
91
+ 2. Install the exact stable version: `pi install npm:pi-smart-compact@8.0.6`.
91
92
  3. Leave all model routes null initially.
92
93
  4. Keep `telemetryChannel: "stable"` unless intentionally running a separate
93
94
  canary cohort.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pi-smart-compact",
3
- "version": "8.0.5",
3
+ "version": "8.0.6",
4
4
  "description": "Verification-oriented smart compaction extension for Pi Coding Agent — deterministic extraction, exploration, synthesis, verification, metrics, and safety checks.",
5
5
  "packageManager": "bun@1.3.14",
6
6
  "engines": {