deepseek-harness/docs/core-data-structures
Hypatia May 8a8c1965d7 feat(web): show durable token usage and context occupancy in the stats line
The chat stats line took its token totals from the loaded conversation nodes,
so paging changed them and compaction erased the billing behind replaced
content. It also had no way to show context occupancy: the numerator and
capacity never reached the browser.

Both now come from token-meter session projections read through the standard
useProjection seat. Window nodes keep supplying turn and step counts plus LLM
and tool wall times, which are correctly window-scoped facts about what is on
screen; accounting no longer comes from there.

`tokenUsage` supplies billing and cache hit. `contextPressure` supplies
occupancy, pairing the newest provider-reported prompt size with the newest
capacity recorded by `request/context`. Deployments without token-meter drop
the token groups; a route whose adapter advertises no capacity drops the
occupancy group rather than rendering a placeholder.

Occupancy is deliberately approximate: the numerator and capacity are
independent last-wins fields, not one atomic request observation, so switching
models pairs a fresh capacity with the prior route's pressure until the next
request reports usage. It is a user-facing reference figure that nothing in the
harness makes decisions from, and it matches how the TUI status line has always
computed occupancy. The Agent Note and token-meter README state this as a
decision, including why the atomic alternative was implemented and rejected, so
it is not re-litigated as a defect.

Snapshot delta is one added `Context N% of 128K` segment across eight web
goldens; the preceding commit absorbed master's pre-existing golden drift.
2026-07-30 14:48:19 +08:00
..
approval.i18n.yaml docs(i18n): mirror ACP-automation edits into the zh pairs from master 2026-07-25 01:58:42 +08:00
approval.md Merge remote-tracking branch 'origin/master' into worktree/acp-automation-protocol 2026-07-24 23:43:10 +08:00
approval.zh.md docs(i18n): mirror ACP-automation edits into the zh pairs from master 2026-07-25 01:58:42 +08:00
bash.i18n.yaml subprocess: one explicit env channel on the spawn spec 2026-07-27 04:14:51 +08:00
bash.md subprocess: one explicit env channel on the spawn spec 2026-07-27 04:14:51 +08:00
bash.zh.md subprocess: one explicit env channel on the spawn spec 2026-07-27 04:14:51 +08:00
code-runtime.i18n.yaml docs(i18n): refresh core translations for latest master 2026-07-23 19:29:01 +08:00
code-runtime.md Merge branch 'worktree/pr343-retarget-latest-master' into worktree/pr344-retarget-stack 2026-07-23 19:10:25 +08:00
code-runtime.zh.md docs(i18n): refresh core translations for latest master 2026-07-23 19:29:01 +08:00
commands.i18n.yaml docs: translate remaining non-README documentation 2026-07-26 02:33:29 +08:00
commands.md docs: translate remaining non-README documentation 2026-07-26 02:33:29 +08:00
commands.zh.md docs: translate remaining non-README documentation 2026-07-26 02:33:29 +08:00
compaction.i18n.yaml cleanup(session): isolate trajectory inspection 2026-07-28 11:39:53 +08:00
compaction.md cleanup(session): isolate trajectory inspection 2026-07-28 11:39:53 +08:00
compaction.zh.md cleanup(session): isolate trajectory inspection 2026-07-28 11:39:53 +08:00
core.i18n.yaml refactor(agent): scope queue actions to edit and remove 2026-07-30 01:58:51 +08:00
core.md refactor(agent): scope queue actions to edit and remove 2026-07-30 01:58:51 +08:00
core.zh.md refactor(agent): scope queue actions to edit and remove 2026-07-30 01:58:51 +08:00
filesystem.i18n.yaml docs(i18n): refresh core translations for latest master 2026-07-23 19:29:01 +08:00
filesystem.md Merge branch 'worktree/pr343-retarget-latest-master' into worktree/pr344-retarget-stack 2026-07-23 19:10:25 +08:00
filesystem.zh.md docs(i18n): refresh core translations for latest master 2026-07-23 19:29:01 +08:00
goal.i18n.yaml Merge remote-tracking branch 'origin/master' into xtr/agent-loop-message-machine 2026-07-26 16:45:27 +08:00
goal.md Merge remote-tracking branch 'origin/master' into xtr/agent-loop-message-machine 2026-07-26 16:45:27 +08:00
goal.zh.md Merge remote-tracking branch 'origin/master' into xtr/agent-loop-message-machine 2026-07-26 16:45:27 +08:00
llm-streaming.i18n.yaml Merge remote-tracking branch 'origin/master' into codex/status-bar-token-metrics 2026-07-28 19:54:58 +08:00
llm-streaming.md Merge remote-tracking branch 'origin/master' into codex/status-bar-token-metrics 2026-07-28 19:54:58 +08:00
llm-streaming.zh.md Merge remote-tracking branch 'origin/master' into codex/status-bar-token-metrics 2026-07-28 19:54:58 +08:00
lsp.i18n.yaml docs: translate remaining non-README documentation 2026-07-26 02:33:29 +08:00
lsp.md docs: translate remaining non-README documentation 2026-07-26 02:33:29 +08:00
lsp.zh.md docs: translate remaining non-README documentation 2026-07-26 02:33:29 +08:00
persistence.i18n.yaml fix(subagent): publish inherited policy facts to telemetry 2026-07-29 00:39:56 +08:00
persistence.md fix(subagent): publish inherited policy facts to telemetry 2026-07-29 00:39:56 +08:00
persistence.zh.md fix(subagent): publish inherited policy facts to telemetry 2026-07-29 00:39:56 +08:00
pty.i18n.yaml docs: translate remaining non-README documentation 2026-07-26 02:33:29 +08:00
pty.md docs: translate remaining non-README documentation 2026-07-26 02:33:29 +08:00
pty.zh.md docs: translate remaining non-README documentation 2026-07-26 02:33:29 +08:00
sandbox.i18n.yaml docs(i18n): address core translation review 2026-07-24 14:56:48 +08:00
sandbox.md Merge refreshed docs/i18n-batch-core into docs/i18n-batch-cds-postmortem 2026-07-22 22:26:24 +08:00
sandbox.zh.md docs(i18n): address core translation review 2026-07-24 14:56:48 +08:00
scope.i18n.yaml docs(i18n): normalize core terminology 2026-07-23 18:45:56 +08:00
scope.md Merge refreshed docs/i18n-batch-core into docs/i18n-batch-cds-postmortem 2026-07-22 22:26:24 +08:00
scope.zh.md docs(i18n): normalize core terminology 2026-07-23 18:45:56 +08:00
session-query.i18n.yaml Merge remote-tracking branch 'origin/master' into session-query-tool 2026-07-25 14:17:24 +08:00
session-query.md Merge remote-tracking branch 'origin/master' into session-query-tool 2026-07-25 14:17:24 +08:00
session-query.zh.md Merge remote-tracking branch 'origin/master' into session-query-tool 2026-07-25 14:17:24 +08:00
session-reference.i18n.yaml refactor: identify and freeze messages at creation 2026-07-28 13:55:59 +08:00
session-reference.md refactor: identify and freeze messages at creation 2026-07-28 13:55:59 +08:00
session-reference.zh.md refactor: identify and freeze messages at creation 2026-07-28 13:55:59 +08:00
session-title.i18n.yaml fix(session-title): typed rename rejection, provenance invariant, contract docs 2026-07-29 20:10:42 +08:00
session-title.md fix(session-title): typed rename rejection, provenance invariant, contract docs 2026-07-29 20:10:42 +08:00
session-title.zh.md fix(session-title): typed rename rejection, provenance invariant, contract docs 2026-07-29 20:10:42 +08:00
session.i18n.yaml feat(web): show durable token usage and context occupancy in the stats line 2026-07-30 14:48:19 +08:00
session.md feat(web): show durable token usage and context occupancy in the stats line 2026-07-30 14:48:19 +08:00
session.zh.md feat(web): show durable token usage and context occupancy in the stats line 2026-07-30 14:48:19 +08:00
skills.i18n.yaml Merge remote-tracking branch 'origin/master' into worktree/pr823-retarget-latest-20260729 2026-07-29 23:36:49 +08:00
skills.md Merge remote-tracking branch 'origin/master' into worktree/pr823-retarget-latest-20260729 2026-07-29 23:36:49 +08:00
skills.zh.md Merge remote-tracking branch 'origin/master' into worktree/pr823-retarget-latest-20260729 2026-07-29 23:36:49 +08:00
spill.i18n.yaml docs: translate remaining non-README documentation 2026-07-26 02:33:29 +08:00
spill.md docs: translate remaining non-README documentation 2026-07-26 02:33:29 +08:00
spill.zh.md docs: translate remaining non-README documentation 2026-07-26 02:33:29 +08:00
subagent.i18n.yaml docs(subagent): restore refusal contract comment 2026-07-25 15:25:52 +08:00
subagent.md docs(subagent): restore refusal contract comment 2026-07-25 15:25:52 +08:00
subagent.zh.md docs(subagent): restore refusal contract comment 2026-07-25 15:25:52 +08:00
subprocess.i18n.yaml Merge remote-tracking branch 'origin/worktree-process-service-seam' into subprocess-simpl/d-one-env-channel 2026-07-27 11:31:38 +08:00
subprocess.md Merge remote-tracking branch 'origin/worktree-process-service-seam' into subprocess-simpl/d-one-env-channel 2026-07-27 11:31:38 +08:00
subprocess.zh.md Merge remote-tracking branch 'origin/worktree-process-service-seam' into subprocess-simpl/d-one-env-channel 2026-07-27 11:31:38 +08:00
system-prompt.i18n.yaml docs(i18n): normalize core terminology 2026-07-23 18:45:56 +08:00
system-prompt.md Merge refreshed docs/i18n-batch-core into docs/i18n-batch-cds-postmortem 2026-07-22 22:26:24 +08:00
system-prompt.zh.md docs(i18n): normalize core terminology 2026-07-23 18:45:56 +08:00
tasks.i18n.yaml docs(tasks): bring the zh side of the tasks pairs along after the master merge 2026-07-26 20:59:05 +08:00
tasks.md Merge remote-tracking branch 'origin/master' into worktree-tasks-service-seam 2026-07-26 20:28:37 +08:00
tasks.zh.md docs(tasks): bring the zh side of the tasks pairs along after the master merge 2026-07-26 20:59:05 +08:00
token-meter.i18n.yaml docs: translate remaining non-README documentation 2026-07-26 02:33:29 +08:00
token-meter.md docs: translate remaining non-README documentation 2026-07-26 02:33:29 +08:00
token-meter.zh.md docs: translate remaining non-README documentation 2026-07-26 02:33:29 +08:00
tools.i18n.yaml refactor: identify and freeze messages at creation 2026-07-28 13:55:59 +08:00
tools.md refactor: identify and freeze messages at creation 2026-07-28 13:55:59 +08:00
tools.zh.md refactor: identify and freeze messages at creation 2026-07-28 13:55:59 +08:00
user-interaction.i18n.yaml docs(i18n): mirror ACP-automation edits into the zh pairs from master 2026-07-25 01:58:42 +08:00
user-interaction.md Merge remote-tracking branch 'origin/master' into worktree/acp-automation-protocol 2026-07-24 23:43:10 +08:00
user-interaction.zh.md Merge remote-tracking branch 'origin/master' into worktree/acp-automation-protocol 2026-07-24 23:43:10 +08:00
web.i18n.yaml docs(i18n): clarify review terminology 2026-07-24 14:21:36 +08:00
web.md Merge refreshed docs/i18n-batch-core into docs/i18n-batch-cds-postmortem 2026-07-22 22:26:24 +08:00
web.zh.md docs(i18n): clarify review terminology 2026-07-24 14:21:36 +08:00
workflow.i18n.yaml docs(i18n): normalize core terminology 2026-07-23 18:45:56 +08:00
workflow.md Merge refreshed docs/i18n-batch-core into docs/i18n-batch-cds-postmortem 2026-07-22 22:26:24 +08:00
workflow.zh.md docs(i18n): normalize core terminology 2026-07-23 18:45:56 +08:00