feat(settings): Conversation Context, written up - #68
Merged
Conversation
The second section refit to the golden standard, and the one that started the campaign — "if a user wants to modify the verbatim window budget, it should say how it works, what it does, why you need it." All 20 keys now carry the full treatment: what it is, how it works, when to change it and in which direction, and what it interacts with. The prose is grounded in what the code actually does rather than restating the field label — the verbatim budget explains that it's measured against the model's *real* window, that assembly still hard-caps at window minus reserved output, and that a wrongly-declared window is the usual reason a conversation compacts constantly. Pre-warm explains why it sits *below* the verbatim ceiling: that gap is what keeps summarisation out of the middle of your turn. The section spans five config roots, so binding needed a local-name → manifest-key map; `sectionBinder` generalizes that for the sections still to come. All 17 controls now show their shipped default, mark what's been changed, offer to put it back, and carry help. Constraints and tiers move server-side, harvested from what the JSX already declared, so the docs and the UI enforce the same bounds. Concretely this closes the Wave 2 gap: searching "verbatim budget" landed at the top of the section before, because there was no anchor to land on. It now lands on the control. One real defect found by the new coverage test: `memory.project_channels` claimed `ui_section: "context"` — inherited from its config root — while no screen has ever rendered it. It's a Projects setting. `KeySpec` gains a `ui_section` override so a key can correct or disclaim its root's section, and the manifest stops advertising a home that doesn't exist. The help-coverage test now holds a list of refit sections rather than naming Recall alone, so each one stays covered once written and the cadence can't quietly regress. Verified: 1240 backend tests, 474 client tests, tsc clean, ruff clean, docs:check green with no warnings. Live on a clean tab, zero console errors: 17 anchors bound, help renders, and "verbatim budget" flashes `config:context.verbatim_budget_ratio` itself. Assisted-by: Opus 5
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
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.
First section of the Wave 3 cadence — and the one that started this campaign:
What changed
All 20 keys of Conversation Context now carry the full five-field treatment. The prose is grounded in what the code actually does rather than restating the field label:
The section spans five config roots (
context,session.rolling_summary,trajectory_compression,compression,memory), so binding needed a local-name → manifest-key map.sectionBindergeneralizes that for the sections still to come, so the next refit is mostly content.All 17 controls now show their shipped default, mark what's been changed, offer to put it back, and carry help. Constraints and tiers move server-side — harvested from what the JSX already declared — so the UI and the generated docs enforce the same bounds from one source.
Concretely, this closes the Wave 2 gap. Searching "verbatim budget" landed at the top of the section before, because there was no anchor to land on. It now lands on the control itself.
A real defect the new test caught
memory.project_channelsclaimedui_section: "context"— inherited from its config root — while no screen has ever rendered it. It's a Projects setting.KeySpecgains aui_sectionoverride so a key can correct or disclaim its root's section, and the manifest stops advertising a home that doesn't exist.The help-coverage test now holds a list of refit sections rather than naming Recall alone, so each section stays covered once written and the cadence can't quietly regress.
Verification
task docs:checkgreen, zero warnings; generated reference now documents 45 settings (was 25)config:context.verbatim_budget_ratioitselfCadence status
Refit: Recall (24 keys) · Conversation Context (20 keys).
Remaining: Web Search (~20) · Thinking Patterns (~13) · Consolidation (~45) · Research · Images & Audio · Ambassador · Agent Teams · Task Planner · Model Limits · Prompt Enhancement. Tracked in
todo/backlog/genome-advisor.md.Assisted-by: Opus 5