Repository navigation
Conversation
Display both rates in t/s with independent graph scales and a darker prefill curve. Expose prefill_tok_s_mean using the engine's existing rate, excluding cached tokens. Co-authored-by: Codex (gpt-6-astra-medium) <noreply@openai.com>
Owner
orangeswim
pushed a commit
to orangeswim/Strata
that referenced
this pull request
Sep 30, 2026
Follow-up to the prefill-speed PR (Niko1221#163 took that half): the parts that make a long chat manageable. - A context gauge (2.4k/200K with a fill bar) by the sampling button, amber at 70% of the window, red at 90%. Updates from usage after each reply. Passive. - A chevron on each reply opens its timings on one line - tokens read and their speed, cache reuse, TTFT, drafts accepted (the response's llama.cpp-named timings, kept in localStorage with the message). - The fold button compacts the older turns into a summary: the newest turns stay verbatim up to a ~5k-token budget, the summary carries them as an exact client-built transcript, and the payload after any fold is [summary] + newer messages (web/fold.js, tested by web/test_fold.mjs through serve/test_web_fold.py). The page keeps every message - muted above the cut - and only the newest marker carries the put-back undo. Long user messages clamp with a Show-all toggle; display only. Co-Authored-By: Claude Code <noreply@anthropic.com>
orangeswim
pushed a commit
to orangeswim/Strata
that referenced
this pull request
Sep 30, 2026
Follow-up to the prefill-speed PR (Niko1221#163 took that half): the parts that make a long chat manageable. - A context gauge (2.4k/200K with a fill bar) by the sampling button, amber at 70% of the window, red at 90%. Updates from usage after each reply. Passive. - A chevron on each reply opens its timings on one line - tokens read and their speed, cache reuse, TTFT, drafts accepted (the response's llama.cpp-named timings, kept in localStorage with the message). - The fold button compacts the older turns into a summary: the newest turns stay verbatim up to a ~5k-token budget, the summary carries them as an exact client-built transcript, and the payload after any fold is [summary] + newer messages (web/fold.js, tested by web/test_fold.mjs through serve/test_web_fold.py). The page keeps every message - muted above the cut - and only the newest marker carries the put-back undo. Long user messages clamp with a Show-all toggle; display only. Co-Authored-By: Claude Code <noreply@anthropic.com>
orangeswim
pushed a commit
to orangeswim/Strata
that referenced
this pull request
Sep 30, 2026
Follow-up to the prefill-speed PR (Niko1221#163 took that half): the parts that make a long chat manageable. - A context gauge (2.4k/200K with a fill bar) by the sampling button, amber at 70% of the window, red at 90%. Updates from usage after each reply. Passive. - A chevron on each reply opens its timings on one line - tokens read and their speed, cache reuse, TTFT, drafts accepted (the response's llama.cpp-named timings, kept in localStorage with the message). - The fold button compacts the older turns into a summary: the newest turns stay verbatim up to a ~5k-token budget, the summary carries them as an exact client-built transcript, and the payload after any fold is [summary] + newer messages (web/fold.js, tested by web/test_fold.mjs through serve/test_web_fold.py). The page keeps every message - muted above the cut - and only the newest marker carries the put-back undo. Long user messages clamp with a Show-all toggle; display only. Co-Authored-By: Claude Code <noreply@anthropic.com>
orangeswim
pushed a commit
to orangeswim/Strata
that referenced
this pull request
Sep 30, 2026
Follow-up to the prefill-speed PR (Niko1221#163 took the Monitor half): the parts that make a long chat manageable, plus a PP t/s column in the requests table (prompt processing per request, the reused cache share excluded - the table's decode column has its prefill counterpart). - A context gauge (2.4k/200K with a fill bar) by the sampling button, amber at 70% of the window, red at 90%. Updates from usage after each reply. Passive. - A chevron on each reply opens its timings on one line - tokens read and their speed, cache reuse, TTFT, drafts accepted (the response's llama.cpp-named timings, kept in localStorage with the message). - The fold button compacts the older turns into a summary: the newest turns stay verbatim up to a ~5k-token budget, the summary carries them as an exact client-built transcript, and the payload after any fold is [summary] + newer messages (web/fold.js, tested by web/test_fold.mjs through serve/test_web_fold.py). The page keeps every message - muted above the cut - and only the newest marker carries the put-back undo. Long user messages clamp with a Show-all toggle; display only. Co-Authored-By: Claude Code <noreply@anthropic.com>
orangeswim
pushed a commit
to orangeswim/Strata
that referenced
this pull request
Sep 30, 2026
Follow-up to the prefill-speed PR (Niko1221#163 took the Monitor half): the parts that make a long chat manageable, plus a PP t/s column in the requests table (prompt processing per request, the reused cache share excluded - the table's decode column has its prefill counterpart). - A context gauge (2.4k/200K with a fill bar) by the sampling button, amber at 70% of the window, red at 90%. Updates from usage after each reply. Passive. - A chevron on each reply opens its timings on one line - tokens read and their speed, cache reuse, TTFT, drafts accepted (the response's llama.cpp-named timings, kept in localStorage with the message). - The fold button compacts the older turns into a summary: the newest turns stay verbatim up to a ~5k-token budget, the summary carries them as an exact client-built transcript, and the payload after any fold is [summary] + newer messages (web/fold.js, tested by web/test_fold.mjs through serve/test_web_fold.py). The page keeps every message - muted above the cut - and only the newest marker carries the put-back undo. Long user messages clamp with a Show-all toggle; display only. Co-Authored-By: Claude Code <noreply@anthropic.com>
shiftySenpai
pushed a commit
to shiftySenpai/Strata
that referenced
this pull request
Sep 30, 2026
…load() (the idle thread cannot unload between load and run); unload() sends QUIT before terminate; the VRAM guard checks the first GPU (docs); Niko1221#163's test engine answers poll() Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0154bwiad8gY7wRehCXy27pN
orangeswim
pushed a commit
to orangeswim/Strata
that referenced
this pull request
Oct 1, 2026
Follow-up to the prefill-speed PR (Niko1221#163 took the Monitor half): the parts that make a long chat manageable. No server change. - A context gauge (2.4k/200K with a fill bar) by the sampling button, amber at 70% of the window, red at 90%. Updates from usage after each reply. Passive. - A chevron on each reply opens its timings on one line - tokens read and their speed, cache reuse, TTFT, drafts accepted (the response's llama.cpp-named timings, kept in localStorage with the message). The requests table gains a PP t/s column beside decode, computed in the UI from the history fields the server already returns (net of the reused cache share). - The fold button compacts the older turns into a summary: the newest turns stay verbatim up to a ~5k-token budget, the summary carries them as an exact client-built transcript, and the payload after any fold is [summary] + newer messages (web/fold.js, tested by web/test_fold.mjs through serve/test_web_fold.py). The page keeps every message - muted above the cut - and only the newest marker carries the put-back undo. Long user messages clamp with a Show-all toggle; display only. Co-Authored-By: Claude Code <noreply@anthropic.com>
orangeswim
pushed a commit
to orangeswim/Strata
that referenced
this pull request
Oct 1, 2026
Follow-up to the prefill-speed PR (Niko1221#163 took the Monitor half): the parts that make a long chat manageable. No server change. - A context gauge (2.4k/200K with a fill bar) by the sampling button, amber at 70% of the window, red at 90%. Updates from usage after each reply. Passive. - A chevron on each reply opens its timings on one line - tokens read and their speed, cache reuse, TTFT, drafts accepted (the response's llama.cpp-named timings, kept in localStorage with the message). The requests table gains a PP t/s column beside decode, computed in the UI from the history fields the server already returns (net of the reused cache share). - The fold button compacts the older turns into a summary: the newest turns stay verbatim up to a ~5k-token budget, the summary carries them as an exact client-built transcript, and the payload after any fold is [summary] + newer messages (web/fold.js, tested by web/test_fold.mjs through serve/test_web_fold.py). The page keeps every message - muted above the cut - and only the newest marker carries the put-back undo. Long user messages clamp with a Show-all toggle; display only. Co-Authored-By: Claude Code <noreply@anthropic.com>
orangeswim
pushed a commit
to orangeswim/Strata
that referenced
this pull request
Oct 1, 2026
Follow-up to the prefill-speed PR (Niko1221#163 took the Monitor half): the parts that make a long chat manageable. No server change. - A context gauge (2.4k/200K with a fill bar) by the sampling button, amber at 70% of the window, red at 90%. Updates from usage after each reply. Passive. - A chevron on each reply opens its timings on one line - tokens read and their speed, cache reuse, TTFT, drafts accepted (the response's llama.cpp-named timings, kept in localStorage with the message). The requests table gains a PP t/s column beside decode, computed in the UI from the history fields the server already returns (net of the reused cache share). - The fold button compacts the older turns into a summary: the newest turns stay verbatim up to a ~5k-token budget, the summary carries them as an exact client-built transcript, and the payload after any fold is [summary] + newer messages (web/fold.js, tested by web/test_fold.mjs through serve/test_web_fold.py). The page keeps every message - muted above the cut - and only the newest marker carries the put-back undo. Long user messages clamp with a Show-all toggle; display only. Co-Authored-By: Claude Code <noreply@anthropic.com>
orangeswim
pushed a commit
to orangeswim/Strata
that referenced
this pull request
Oct 1, 2026
Follow-up to the prefill-speed PR (Niko1221#163 took the Monitor half): the parts that make a long chat manageable. No server change. - A context gauge (2.4k/200K with a fill bar) by the sampling button, amber at 70% of the window, red at 90%. Updates from usage after each reply. Passive. - A chevron on each reply opens its timings on one line - tokens read and their speed, cache reuse, TTFT, drafts accepted (the response's llama.cpp-named timings, kept in localStorage with the message). The requests table gains a PP t/s column beside decode, computed in the UI from the history fields the server already returns (net of the reused cache share). - The fold button compacts the older turns into a summary: the newest turns stay verbatim up to a ~5k-token budget, the summary carries them as an exact client-built transcript, and the payload after any fold is [summary] + newer messages (web/fold.js, tested by web/test_fold.mjs through serve/test_web_fold.py). The page keeps every message - muted above the cut - and only the newest marker carries the put-back undo. Long user messages clamp with a Show-all toggle; display only. Co-Authored-By: Claude Code <noreply@anthropic.com>
orangeswim
pushed a commit
to orangeswim/Strata
that referenced
this pull request
Oct 1, 2026
Follow-up to the prefill-speed PR (Niko1221#163 took the Monitor half): the parts that make a long chat manageable. No server change. - A context gauge (2.4k/200K with a fill bar) by the sampling button, amber at 70% of the window, red at 90%. Updates from usage after each reply. Passive. - A chevron on each reply opens its timings on one line - tokens read and their speed, cache reuse, TTFT, drafts accepted (the response's llama.cpp-named timings, kept in localStorage with the message). The requests table gains a PP t/s column beside decode, computed in the UI from the history fields the server already returns (net of the reused cache share). - The fold button compacts the older turns into a summary: the newest turns stay verbatim up to a ~5k-token budget, the summary carries them as an exact client-built transcript, and the payload after any fold is [summary] + newer messages (web/fold.js, tested by web/test_fold.mjs through serve/test_web_fold.py). The page keeps every message - muted above the cut - and only the newest marker carries the put-back undo. Long user messages clamp with a Show-all toggle; display only. Co-Authored-By: Claude Code <noreply@anthropic.com>
orangeswim
pushed a commit
to orangeswim/Strata
that referenced
this pull request
Oct 1, 2026
Follow-up to the prefill-speed PR (Niko1221#163 took the Monitor half): the parts that make a long chat manageable. No server change. - A context gauge (2.4k/200K with a fill bar) by the sampling button, amber at 70% of the window, red at 90%. Updates from usage after each reply. Passive. - A chevron on each reply opens its timings on one line - tokens read and their speed, cache reuse, TTFT, drafts accepted (the response's llama.cpp-named timings, kept in localStorage with the message). The requests table gains a PP t/s column beside decode, computed in the UI from the history fields the server already returns (net of the reused cache share). - The fold button compacts the older turns into a summary: the newest turns stay verbatim up to a ~5k-token budget, the summary carries them as an exact client-built transcript, and the payload after any fold is [summary] + newer messages (web/fold.js, tested by web/test_fold.mjs through serve/test_web_fold.py). The page keeps every message - muted above the cut - and only the newest marker carries the put-back undo. Long user messages clamp with a Show-all toggle; display only. Co-Authored-By: Claude Code <noreply@anthropic.com>
orangeswim
pushed a commit
to orangeswim/Strata
that referenced
this pull request
Oct 1, 2026
Follow-up to the prefill-speed PR (Niko1221#163 took the Monitor half): the parts that make a long chat manageable. No server change. - A context gauge (2.4k/200K with a fill bar) by the sampling button, amber at 70% of the window, red at 90%. Updates from usage after each reply. Passive. - A chevron on each reply opens its timings on one line - tokens read and their speed, cache reuse, TTFT, drafts accepted (the response's llama.cpp-named timings, kept in localStorage with the message). The requests table gains a PP t/s column beside decode, computed in the UI from the history fields the server already returns (net of the reused cache share). - The fold button compacts the older turns into a summary: the newest turns stay verbatim up to a ~5k-token budget, the summary carries them as an exact client-built transcript, and the payload after any fold is [summary] + newer messages (web/fold.js, tested by web/test_fold.mjs through serve/test_web_fold.py). The page keeps every message - muted above the cut - and only the newest marker carries the put-back undo. Long user messages clamp with a Show-all toggle; display only. Co-Authored-By: Claude Code <noreply@anthropic.com>
orangeswim
pushed a commit
to orangeswim/Strata
that referenced
this pull request
Oct 1, 2026
Follow-up to the prefill-speed PR (Niko1221#163 took the Monitor half): the parts that make a long chat manageable. No server change. - A context gauge (2.4k/200K with a fill bar) by the sampling button, amber at 70% of the window, red at 90%. Updates from usage after each reply. Passive. - A chevron on each reply opens its timings on one line - tokens read and their speed, cache reuse, TTFT, drafts accepted (the response's llama.cpp-named timings, kept in localStorage with the message). The requests table gains a PP t/s column beside decode, computed in the UI from the history fields the server already returns (net of the reused cache share). - The fold button compacts the older turns into a summary: the newest turns stay verbatim up to a ~5k-token budget, the summary carries them as an exact client-built transcript, and the payload after any fold is [summary] + newer messages (web/fold.js, tested by web/test_fold.mjs through serve/test_web_fold.py). The page keeps every message - muted above the cut - and only the newest marker carries the put-back undo. Long user messages clamp with a Show-all toggle; display only. Co-Authored-By: Claude Code <noreply@anthropic.com>
orangeswim
pushed a commit
to orangeswim/Strata
that referenced
this pull request
Oct 1, 2026
Follow-up to the prefill-speed PR (Niko1221#163 took the Monitor half): the parts that make a long chat manageable. No server change. - A context gauge (2.4k/200K with a fill bar) by the sampling button, amber at 70% of the window, red at 90%. Updates from usage after each reply. Passive. - A chevron on each reply opens its timings on one line - tokens read and their speed, cache reuse, TTFT, drafts accepted (the response's llama.cpp-named timings, kept in localStorage with the message). The requests table gains a PP t/s column beside decode, computed in the UI from the history fields the server already returns (net of the reused cache share). - The compact button summarizes the older turns: the newest turns stay verbatim up to a ~5k-token budget, the summary carries them as an exact client-built transcript, and the payload after any compaction is [summary] + newer messages (web/fold.js, tested by web/test_fold.mjs through serve/test_web_fold.py). The page keeps every message - muted above the cut - and only the newest summary can be put back. Long user messages clamp with a Show-all toggle; display only. Co-Authored-By: Claude Code <noreply@anthropic.com>
orangeswim
pushed a commit
to orangeswim/Strata
that referenced
this pull request
Oct 1, 2026
Follow-up to the prefill-speed PR (Niko1221#163 took the Monitor half): the parts that make a long chat manageable. No server change. - A context gauge (2.4k/200K with a fill bar) by the sampling button, amber at 70% of the window, red at 90%. Updates from usage after each reply. Passive. - A chevron on each reply opens its timings on one line - tokens read and their speed, cache reuse, TTFT, drafts accepted (the response's llama.cpp-named timings, kept in localStorage with the message). The requests table gains a PP t/s column beside decode, computed in the UI from the history fields the server already returns (net of the reused cache share). - The compact button summarizes the older turns: the newest turns stay verbatim up to a ~5k-token budget, the summary carries them as an exact client-built transcript, and the payload after any compaction is [summary] + newer messages (web/compaction.js, tested by web/test_compaction.mjs through serve/test_compaction.py). The page keeps every message - muted above the cut - and only the newest summary can be put back. Long user messages clamp with a Show-all toggle; display only. Co-Authored-By: Claude Code <noreply@anthropic.com>
orangeswim
pushed a commit
to orangeswim/Strata
that referenced
this pull request
Oct 1, 2026
Follow-up to the prefill-speed PR (Niko1221#163 took the Monitor half): the parts that make a long chat manageable. No server change. - A context gauge (2.4k/200K with a fill bar) by the sampling button, amber at 70% of the window, red at 90%. Updates from usage after each reply. Passive. - A chevron on each reply opens its timings on one line - tokens read and their speed, cache reuse, TTFT, drafts accepted (the response's llama.cpp-named timings, kept in localStorage with the message). The requests table gains a PP t/s column beside decode, computed in the UI from the history fields the server already returns (net of the reused cache share). - The compact button summarizes the older turns: the newest turns stay verbatim up to a ~5k-token budget, the summary carries them as an exact client-built transcript, and the payload after any compaction is [summary] + newer messages (web/compaction.js, tested by web/test_compaction.mjs through serve/test_compaction.py). The page keeps every message - muted above the cut - and only the newest summary can be put back. Long user messages clamp with a Show-all toggle; display only.
orangeswim
added a commit
to orangeswim/Strata
that referenced
this pull request
Oct 3, 2026
Follow-up to the prefill-speed PR (Niko1221#163 took the Monitor half): the parts that make a long chat manageable. No server change. - A context gauge (2.4k/200K with a fill bar) by the sampling button, amber at 70% of the window, red at 90%. Updates from usage after each reply. Passive. - A chevron on each reply opens its timings on one line - tokens read and their speed, cache reuse, TTFT, drafts accepted (the response's llama.cpp-named timings, kept in localStorage with the message). The requests table gains a PP t/s column beside decode, computed in the UI from the history fields the server already returns (net of the reused cache share). - The compact button summarizes the older turns: the newest turns stay verbatim up to a ~5k-token budget, the summary carries them as an exact client-built transcript, and the payload after any compaction is [summary] + newer messages (web/compaction.js, tested by web/test_compaction.mjs through serve/test_compaction.py). The page keeps every message - muted above the cut - and only the newest summary can be put back. Long user messages clamp with a Show-all toggle; display only.
orangeswim
added a commit
to orangeswim/Strata
that referenced
this pull request
Oct 5, 2026
Follow-up to the prefill-speed PR (Niko1221#163 took the Monitor half): the parts that make a long chat manageable. No server change. - A context gauge (2.4k/200K with a fill bar) by the sampling button, amber at 70% of the window, red at 90%. Updates from usage after each reply. Passive. - A chevron on each reply opens its timings on one line - tokens read and their speed, cache reuse, TTFT, drafts accepted (the response's llama.cpp-named timings, kept in localStorage with the message). The requests table gains a PP t/s column beside decode, computed in the UI from the history fields the server already returns (net of the reused cache share). - The compact button summarizes the older turns: the newest turns stay verbatim up to a ~5k-token budget, the summary carries them as an exact client-built transcript, and the payload after any compaction is [summary] + newer messages (web/compaction.js, tested by web/test_compaction.mjs through serve/test_compaction.py). The page keeps every message - muted above the cut - and only the newest summary can be put back. Long user messages clamp with a Show-all toggle; display only.
Hugua700
pushed a commit
to Hugua700/Strata
that referenced
this pull request
Oct 6, 2026
…load() (the idle thread cannot unload between load and run); unload() sends QUIT before terminate; the VRAM guard checks the first GPU (docs); Niko1221#163's test engine answers poll()
anon761
pushed a commit
to anon761/Strata-upstream
that referenced
this pull request
Oct 6, 2026
…load() (the idle thread cannot unload between load and run); unload() sends QUIT before terminate; the VRAM guard checks the first GPU (docs); Niko1221#163's test engine answers poll()
anon761
pushed a commit
to anon761/Strata-upstream
that referenced
this pull request
Oct 6, 2026
…load() (the idle thread cannot unload between load and run); unload() sends QUIT before terminate; the VRAM guard checks the first GPU (docs); Niko1221#163's test engine answers poll() Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0154bwiad8gY7wRehCXy27pN
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds prefill speed to the existing Speed graph, with independent scaling and a darker curve. Both rates use t/s, with prefill displayed on the right.
Exposes
prefill_tok_s_meanusing the engine’s existing running mean, excluding cached tokens.Tested with passing server tests and a long prompt + manually.