Yichen Jiang
038699bcb4
fix(web): let the context meter see a compaction
...
The composer ring, percentage, and `~used / capacity` header read
`contextPressure.pressureTokens`, which moves only when a request reports
usage. Compaction reports none — compact-basic summarizes through a direct
`ctx.llm.stream()` call and appends only its own `compact/*` records plus the
replacement `user/message` — so the meter was frozen across the one action
taken to change it. Driving a real `compactNow` through the agent loop:
BEFORE compact: ring=4% header=~4227/100000 rows=[18, 0, 4365]
AFTER compact: ring=4% header=~4227/100000 rows=[18, 0, 286]
The composition rows fell 93%; the ring did not move, and would not until an
entire further turn completed. The panel then contradicted itself by more than
an order of magnitude at exactly the moment a reader opens it.
`contextPressure` now also publishes `projectedTokens`: the provider sample
plus the heuristic repricing of everything the surface gained or lost since
that sample, clamped at zero, folded through the shared `surface-fold.ts`. The
sample is stamped before the same event joins the surface, so an
`assistant/message` anchors against the surface its own request carried. Only
the delta is estimated, so the figure stays provider-anchored — the estimator's
CJK and JSON-schema underpricing stays out of the occupancy number — while
reacting the moment content lands or a span is shadowed. Same run after:
BEFORE compact: ring=4% header=~4323/100000 (pressure=4227, projected=4323)
AFTER compact: ring=0% header=~ 244/100000 (pressure=4227, projected= 244)
`contextOccupancy` prefers the projected figure and falls back to the bare
sample, so a projection restored from a pre-field checkpoint degrades to the
old behavior rather than disappearing. `stateVersion` moves to 3.
2026-08-05 17:00:48 +08:00
..
2026-08-04 18:42:13 +08:00
2026-07-24 23:43:10 +08:00
2026-08-04 18:42:13 +08:00
2026-08-04 17:36:14 +08:00
2026-07-27 14:01:15 +08:00
2026-08-04 17:36:14 +08:00
2026-08-04 17:36:14 +08:00
2026-07-23 19:33:30 +08:00
2026-08-04 17:36:14 +08:00
2026-08-04 17:36:14 +08:00
2026-07-30 17:40:25 +08:00
2026-08-04 17:36:14 +08:00
2026-08-02 12:51:09 +08:00
2026-08-02 12:51:09 +08:00
2026-08-02 12:51:09 +08:00
2026-08-04 18:42:13 +08:00
2026-07-28 10:26:15 -07:00
2026-08-04 18:42:13 +08:00
2026-08-04 17:36:14 +08:00
2026-07-28 05:22:47 -07:00
2026-08-04 17:36:14 +08:00
2026-08-04 17:36:14 +08:00
2026-07-28 17:58:09 +08:00
2026-08-04 17:36:14 +08:00
2026-08-04 17:36:14 +08:00
2026-07-29 23:15:15 +08:00
2026-08-04 17:36:14 +08:00
2026-08-04 17:36:14 +08:00
2026-07-29 23:15:15 +08:00
2026-08-04 17:36:14 +08:00
2026-08-04 17:36:14 +08:00
2026-07-27 17:38:42 +08:00
2026-08-04 17:36:14 +08:00
2026-08-04 17:36:14 +08:00
2026-07-30 21:28:13 +08:00
2026-08-04 17:36:14 +08:00
2026-08-04 17:36:14 +08:00
2026-07-24 23:43:10 +08:00
2026-08-04 17:36:14 +08:00
2026-08-04 13:20:28 +08:00
2026-08-04 13:20:28 +08:00
2026-08-04 13:20:28 +08:00
2026-08-04 17:36:14 +08:00
2026-07-31 13:49:41 +08:00
2026-08-04 17:36:14 +08:00
2026-08-04 17:36:14 +08:00
2026-07-22 23:07:14 +08:00
2026-08-04 17:36:14 +08:00
2026-08-05 13:17:38 +08:00
2026-08-04 17:45:12 +08:00
2026-08-05 13:17:38 +08:00
2026-08-04 20:54:42 +08:00
2026-07-28 10:26:15 -07:00
2026-08-04 20:54:42 +08:00
2026-08-02 12:51:09 +08:00
2026-08-02 12:51:09 +08:00
2026-08-02 12:51:09 +08:00
2026-08-04 17:36:14 +08:00
2026-07-29 21:15:42 +08:00
2026-08-04 17:36:14 +08:00
2026-08-04 20:54:42 +08:00
2026-07-27 04:14:51 +08:00
2026-08-04 20:54:42 +08:00
2026-08-04 17:36:14 +08:00
2026-07-29 22:10:26 +08:00
2026-08-04 17:36:14 +08:00
2026-08-04 17:36:14 +08:00
2026-07-26 23:06:00 +08:00
2026-08-04 17:36:14 +08:00
2026-08-04 17:36:14 +08:00
2026-07-22 23:07:14 +08:00
2026-08-04 17:36:14 +08:00
2026-08-04 17:36:14 +08:00
2026-07-26 02:33:29 +08:00
2026-08-04 17:36:14 +08:00
2026-08-04 17:36:14 +08:00
2026-07-22 21:37:30 +08:00
2026-08-04 17:36:14 +08:00
2026-08-04 17:36:14 +08:00
2026-07-25 16:43:07 +08:00
2026-08-04 17:36:14 +08:00
2026-08-04 18:42:13 +08:00
2026-07-24 01:40:25 +08:00
2026-08-04 18:42:13 +08:00
2026-08-04 17:36:14 +08:00
2026-07-28 10:26:15 -07:00
2026-08-04 17:36:14 +08:00
2026-08-05 10:57:53 +08:00
2026-07-24 01:40:25 +08:00
2026-08-05 10:57:53 +08:00
2026-08-05 10:57:53 +08:00
2026-07-24 01:40:25 +08:00
2026-08-05 10:57:53 +08:00
2026-08-05 10:57:53 +08:00
2026-08-02 05:58:45 -07:00
2026-08-05 10:57:53 +08:00
2026-08-05 10:57:53 +08:00
2026-07-20 20:35:15 +08:00
2026-08-05 10:57:53 +08:00
2026-08-04 18:42:13 +08:00
2026-07-24 22:12:23 +08:00
2026-08-04 18:42:13 +08:00
2026-08-05 10:57:53 +08:00
2026-07-26 14:05:33 +08:00
2026-08-05 10:57:53 +08:00
2026-08-04 18:42:13 +08:00
2026-07-27 21:20:06 +08:00
2026-08-04 18:42:13 +08:00
2026-08-02 01:29:04 +08:00
2026-08-02 01:29:04 +08:00
2026-08-02 01:29:04 +08:00
2026-08-02 12:51:09 +08:00
2026-08-02 12:51:09 +08:00
2026-08-02 12:51:09 +08:00
2026-08-04 17:36:14 +08:00
2026-07-28 13:58:06 +08:00
2026-08-04 17:36:14 +08:00
2026-08-04 17:36:14 +08:00
2026-07-22 14:29:52 +08:00
2026-08-04 17:36:14 +08:00
2026-08-04 17:36:14 +08:00
2026-07-22 14:29:52 +08:00
2026-08-04 17:36:14 +08:00
2026-08-04 17:36:14 +08:00
2026-07-22 14:29:52 +08:00
2026-08-04 17:36:14 +08:00
2026-08-04 17:36:14 +08:00
2026-07-29 20:10:42 +08:00
2026-08-04 17:36:14 +08:00
2026-08-02 12:45:36 +08:00
2026-08-02 12:45:36 +08:00
2026-08-02 12:45:36 +08:00
2026-08-02 12:51:09 +08:00
2026-08-02 12:51:09 +08:00
2026-08-02 12:51:09 +08:00
2026-08-04 17:36:14 +08:00
2026-07-22 20:35:38 +08:00
2026-08-04 17:36:14 +08:00
2026-08-04 17:36:14 +08:00
2026-07-27 21:30:28 +08:00
2026-08-04 17:36:14 +08:00
2026-07-30 20:26:33 +08:00
2026-07-30 20:26:33 +08:00
2026-07-30 20:26:33 +08:00
2026-08-04 20:28:23 +08:00
2026-08-04 20:28:23 +08:00
2026-08-04 20:28:23 +08:00
2026-08-04 17:36:14 +08:00
2026-07-28 17:58:09 +08:00
2026-08-04 17:36:14 +08:00
2026-08-02 03:56:25 +08:00
2026-08-02 03:56:25 +08:00
2026-08-02 03:56:25 +08:00
2026-08-04 17:36:14 +08:00
2026-07-26 01:16:41 +08:00
2026-08-04 17:36:14 +08:00
2026-08-05 12:50:58 +08:00
2026-07-31 15:11:11 +08:00
2026-08-05 12:50:58 +08:00
2026-07-31 18:37:34 +08:00
2026-07-31 18:37:34 +08:00
2026-07-31 18:37:34 +08:00
2026-08-04 20:54:42 +08:00
2026-07-29 00:39:56 +08:00
2026-08-04 20:54:42 +08:00
2026-07-31 18:37:34 +08:00
2026-07-31 18:37:34 +08:00
2026-07-31 18:37:34 +08:00
2026-08-04 17:36:14 +08:00
2026-07-26 22:53:47 +08:00
2026-08-04 17:36:14 +08:00
2026-08-04 17:36:14 +08:00
2026-07-26 02:43:34 +08:00
2026-08-04 17:36:14 +08:00
2026-08-04 17:36:14 +08:00
2026-07-26 04:02:38 +08:00
2026-08-04 17:36:14 +08:00
2026-08-04 17:36:14 +08:00
2026-07-26 15:26:52 +08:00
2026-08-04 17:36:14 +08:00
2026-08-05 00:31:43 +08:00
2026-08-05 00:31:43 +08:00
2026-08-05 00:31:43 +08:00
2026-07-29 22:27:49 +08:00
2026-07-29 22:27:49 +08:00
2026-07-29 22:27:49 +08:00
2026-08-04 17:36:14 +08:00
2026-07-31 18:25:03 +08:00
2026-08-04 17:36:14 +08:00
2026-08-03 14:02:54 +08:00
2026-08-03 14:02:54 +08:00
2026-08-03 14:02:54 +08:00
2026-08-04 18:42:13 +08:00
2026-07-28 01:41:32 +08:00
2026-08-04 18:42:13 +08:00
2026-08-02 16:25:02 +08:00
2026-08-02 16:25:02 +08:00
2026-08-02 16:25:02 +08:00
2026-07-30 09:40:38 +08:00
2026-07-30 09:40:38 +08:00
2026-07-30 09:40:38 +08:00
2026-08-03 13:31:19 +08:00
2026-08-03 13:31:19 +08:00
2026-08-03 13:31:19 +08:00
2026-08-04 17:36:14 +08:00
2026-07-31 18:37:34 +08:00
2026-08-04 17:36:14 +08:00
2026-08-02 12:51:10 +08:00
2026-08-02 12:51:10 +08:00
2026-08-02 12:51:10 +08:00
2026-07-31 16:49:55 +08:00
2026-07-31 16:49:55 +08:00
2026-07-31 16:49:55 +08:00
2026-08-04 17:36:14 +08:00
2026-07-30 21:04:00 +08:00
2026-08-04 17:36:14 +08:00
2026-08-04 13:20:28 +08:00
2026-08-04 13:20:28 +08:00
2026-08-04 13:20:28 +08:00
2026-08-04 17:36:14 +08:00
2026-07-28 19:43:56 +08:00
2026-08-04 17:36:14 +08:00
2026-08-04 17:36:14 +08:00
2026-07-28 14:24:41 +08:00
2026-08-04 17:36:14 +08:00
2026-08-04 15:25:30 +08:00
2026-08-04 15:25:30 +08:00
2026-08-04 15:25:30 +08:00
2026-08-02 17:53:07 +08:00
2026-08-02 17:53:07 +08:00
2026-08-02 17:53:07 +08:00
2026-08-04 17:36:14 +08:00
2026-07-29 14:12:01 +08:00
2026-08-04 17:36:14 +08:00
2026-08-04 20:54:42 +08:00
2026-07-29 21:09:02 +08:00
2026-08-04 20:54:42 +08:00
2026-08-04 20:54:42 +08:00
2026-07-31 14:28:52 +08:00
2026-08-04 20:54:42 +08:00
2026-08-04 17:36:14 +08:00
2026-07-31 01:27:56 +08:00
2026-08-04 17:36:14 +08:00
2026-08-02 01:29:04 +08:00
2026-08-02 01:29:04 +08:00
2026-08-02 01:29:04 +08:00
2026-08-02 20:09:05 +08:00
2026-08-02 20:09:05 +08:00
2026-08-02 20:09:05 +08:00
2026-07-31 13:49:41 +08:00
2026-07-31 13:49:41 +08:00
2026-07-31 13:49:41 +08:00
2026-07-31 10:29:20 +08:00
2026-07-31 10:29:20 +08:00
2026-07-31 10:29:20 +08:00
2026-07-31 16:20:54 +08:00
2026-07-31 16:20:54 +08:00
2026-07-31 16:20:54 +08:00
2026-08-04 17:36:14 +08:00
2026-07-30 19:38:18 +08:00
2026-08-04 17:36:14 +08:00
2026-07-30 22:00:34 +08:00
2026-07-30 22:00:34 +08:00
2026-07-30 22:00:34 +08:00
2026-08-04 15:25:30 +08:00
2026-08-04 15:25:30 +08:00
2026-08-04 15:25:30 +08:00
2026-08-03 18:35:26 +08:00
2026-08-03 18:35:26 +08:00
2026-08-03 18:35:26 +08:00
2026-07-30 17:26:44 +08:00
2026-07-30 17:26:44 +08:00
2026-07-30 17:26:44 +08:00
2026-07-30 16:20:34 +08:00
2026-07-30 16:20:34 +08:00
2026-07-30 16:20:34 +08:00
2026-07-31 15:27:24 +08:00
2026-07-31 15:27:24 +08:00
2026-07-31 15:27:24 +08:00
2026-08-02 17:53:07 +08:00
2026-08-02 17:53:07 +08:00
2026-08-02 17:53:07 +08:00
2026-08-04 18:42:13 +08:00
2026-07-30 21:28:38 +08:00
2026-08-04 18:42:13 +08:00
2026-08-04 15:25:30 +08:00
2026-08-04 15:25:30 +08:00
2026-08-04 15:25:30 +08:00
2026-07-30 20:26:33 +08:00
2026-07-30 20:26:33 +08:00
2026-07-30 20:26:33 +08:00
2026-08-03 16:35:37 +08:00
2026-08-03 16:35:37 +08:00
2026-08-03 16:35:37 +08:00
2026-08-04 15:25:30 +08:00
2026-08-04 15:25:30 +08:00
2026-08-04 15:25:30 +08:00
2026-08-04 17:36:14 +08:00
2026-07-30 22:49:41 +08:00
2026-08-04 17:36:14 +08:00
2026-08-04 14:23:34 +08:00
2026-08-04 14:23:34 +08:00
2026-08-04 14:23:34 +08:00
2026-07-31 15:49:59 +08:00
2026-07-31 15:49:59 +08:00
2026-07-31 15:49:59 +08:00
2026-08-04 13:20:28 +08:00
2026-08-04 13:20:28 +08:00
2026-08-04 13:20:28 +08:00
2026-07-31 13:24:30 +08:00
2026-07-31 13:24:30 +08:00
2026-07-31 13:24:30 +08:00
2026-08-04 17:36:14 +08:00
2026-07-31 16:13:12 +08:00
2026-08-04 17:36:14 +08:00
2026-07-31 20:39:53 +08:00
2026-07-31 20:39:53 +08:00
2026-07-31 20:39:53 +08:00
2026-07-31 14:08:13 +08:00
2026-07-31 14:08:13 +08:00
2026-07-31 14:08:13 +08:00
2026-07-31 14:28:03 +08:00
2026-07-31 14:28:03 +08:00
2026-07-31 14:28:03 +08:00
2026-08-04 17:36:14 +08:00
2026-07-31 02:34:52 -07:00
2026-08-04 17:36:14 +08:00
2026-08-04 17:36:14 +08:00
2026-07-31 16:34:16 +08:00
2026-08-04 17:36:14 +08:00
2026-08-01 06:15:16 -07:00
2026-08-01 06:15:16 -07:00
2026-08-01 06:15:16 -07:00
2026-08-04 15:18:48 +08:00
2026-08-04 15:18:48 +08:00
2026-08-04 15:18:48 +08:00
2026-07-31 20:39:53 +08:00
2026-07-31 20:39:53 +08:00
2026-07-31 20:39:53 +08:00
2026-08-02 14:18:55 +08:00
2026-08-02 14:18:55 +08:00
2026-08-02 14:18:55 +08:00
2026-08-03 23:16:53 +08:00
2026-08-03 23:16:53 +08:00
2026-08-03 23:16:53 +08:00
2026-08-02 03:56:25 +08:00
2026-08-02 03:56:25 +08:00
2026-08-02 03:56:25 +08:00
2026-08-02 05:29:25 -07:00
2026-08-02 05:29:25 -07:00
2026-08-02 05:29:25 -07:00
2026-08-05 00:31:43 +08:00
2026-08-05 00:31:43 +08:00
2026-08-05 00:31:43 +08:00
2026-08-03 18:58:44 +08:00
2026-08-03 18:58:44 +08:00
2026-08-03 18:58:44 +08:00
2026-08-04 15:55:07 +08:00
2026-08-04 15:55:07 +08:00
2026-08-04 15:55:07 +08:00
2026-08-04 15:42:39 +08:00
2026-08-04 15:42:39 +08:00
2026-08-04 15:42:39 +08:00
2026-08-04 14:14:12 +08:00
2026-08-04 14:14:12 +08:00
2026-08-04 14:14:12 +08:00
2026-08-05 13:54:46 +08:00
2026-08-05 13:54:46 +08:00
2026-08-05 13:54:46 +08:00
2026-08-05 17:00:48 +08:00
2026-08-05 17:00:48 +08:00
2026-08-05 17:00:48 +08:00