Release notes — 2026-09-15 (afternoon)
The second release of the day: Review folds into Needs you, the app gets its first notification surface, the nav sweep, a chat composer that never locks, a real conversations list, team report v2, a live versioned artifact — and the Claude 5 sampling-parameter outage that opened the afternoon and the two defects in its fix that closed it.

This is the second release notes post for 2026-09-15. The morning's is Release notes — 2026-09-15 and it covers a different set of pull requests; nothing here replaces anything there except the canvas, which is called out below.
Where this went next. The release branch this post describes,
release/2026-09-15-rail, was merged intomainthe following morning and cut asv2.82.0. Everything below is now onmainat its own commit. Vocion 2.82 is that release: the reconciliation itself, scoped memory, the extractor and crawler work, and the follow-ups to the sampling-parameter story told here. Six further versions shipped the same day, in Vocion 2.88 — including the two defects this post's work left behind onmain.
Everything in this post is merged onto the release branch release/2026-09-15-rail, whose head is now bd05027c, deployed to a deployment we operate. Migrations 0100_team_measures.sql and 0101_artifact_version.sql are applied on top of the morning's 0094–0099; the full 0000→0101 chain — 102 migrations — was applied to a clean Postgres before the deploy. The individual pull requests are still landing on main behind the release branch, so for a short window a path a post cites may be on the release branch before it is on main.
What you can do now that you could not this morning
- Work every decision from one list, with one set of verbs and one keyboard map, whether it is a proposal, a question, a stopped run or a rule the system wants to adopt.
- See a confirmation when something you decided actually happened — Vocion had no notifications at all before this afternoon.
- Keep typing while an agent is working, and have what you typed sent in order when the turn lands.
- Open a real list of your conversations from the row that promises one.
- Read a team report that leads with an outcome against a target and tells you where the number came from.
- Find the pages you need in a sidebar with fewer rows in it.
Feature releases
| Change | Post | Source |
|---|---|---|
| Review folds into Needs you: one list, one detail, one action bar | One place to decide | #348 |
| The app's first notification surface, and a pending state on every submit | Every action tells you what happened | #351, #348 |
| Reports and Developers out of the work nav; three pairs of pages become tabs | A sidebar you can hold in your head | #347 |
| The chat composer stays live for the whole turn; Enter queues | The composer never locks | #352 |
| A real conversations list; the header control toggles; the rung goes icon-only | “All conversations” now means all conversations | #353 |
| Team report v2: typed measures, provenance, human load, lineage | Is the workforce earning its keep? | #350 |
| One live, versioned artifact replaces the tile grid | One live artifact beside the conversation | #354 |
Developer updates
| Subject | Post | Source |
|---|---|---|
Claude 4.7+ rejects temperature; the outage, and the two defects in the obvious fix | The parameter Claude 5 will not take — and the fix that was worse than the bug | #346, #355 |
| The checkpoint exists; the message shape blocks it; the smallest unlock | Why mid-turn steering is not possible yet | #352 |
| A client-only function in a server component, a tab count that read 0, a poll that retried a 400 forever | Two render environments, one import | #349 |
The correction
This morning's post A canvas beside the conversation described the canvas as a grid of tiles you arrange. That design was replaced the same day. The grid was tried, used, and found to be the wrong object: it asks you to be a dashboard author, it gives an instruction like “make the third column currency” no obvious target, and it has nowhere to put the second version of anything.
What replaces it is one live artifact open beside the conversation, edited in place by both the agent and the person, with a version for every change. The replacement — #354 — merged onto the same release branch at 8daff9bc and is in the deploy running now; /dashboard/canvases answers with a 308 to /dashboard/artifacts, because the old path is in people's pins and in this morning's post.
The morning post now carries an update at the top pointing here. It is left in place rather than rewritten, because a post that quietly changes its mind is worse than one that was wrong.
How it started, and how it ended
The afternoon opened with an outage rather than a feature. A workspace moved its agents to Claude Sonnet 5 and every chat turn on it came back 400 invalid_request_error: temperature is deprecated for this model. The harness had always sent temperature, and 4.7 and later reject it outright. #346 was a thirteen-line fix that took an hour.
The afternoon then closed on the same file. Writing the post up found two defects in that fix: it did not cover the Bedrock branch, so the same models over the second transport still 400'd; and it matched 4.6, which still honours sampling parameters — and since claude-sonnet-4-6 is the default main model, that silently moved every default call off temperature: 0. A loud bug fixed by a change that introduced a quiet one. #355 fixes both and adds the test that draws the line at 4.7. The post is the whole story.
How to read these
Each post opens with a status line saying what state the change is in and which commit it is. Every falsifiable claim cites a file, a pull request or a commit, and the developer posts end with a "Where this lives in the repo" section. Where something was not verified end to end, the post says which part. Screenshots come from local workspaces on fixture data; nothing in them is a customer's.
Where this lives in the repo
- Core:
vocion/vocion-core, branchrelease/2026-09-15-railatbd05027c. Individual merges, in order:3a934c9c(#346),662de773(#349),6e4c9033(#347),28439fe2(#348),f243436e(#351),bfb5b3b1(#352),98836a3c(#353),5b499a99(#350),8daff9bc(#354),bd05027c(#355). - The feeds are feature releases and developer updates, summarised on /releases and available as RSS.