Route Planner visual authoring through Jev #415
- MA
## Jev visual routing update
- Add an opt-in foreground Planner path (`PLANNER_VISUALS=on`) that sends one explanatory passage to Jev for three small decisions: can it be visualized, would that aid comprehension, and which of Chopin’s 42 SeeCode types, table, or none fits. - Bind Jev’s route to the member turn, document revision, passage, and placement. `edit_plan` accepts only the assessed paragraph plus its selected diagram or table; human edits and Stop invalidate pending routes. - Keep the existing Planner prompt and tool set unchanged when the flag is off. Routed editing currently supports one top-level paragraph per write, with headings in separate edits. Lists and nested MDX prose are explicitly unsupported in this prototype.
## Visual routing flow

## New verification
- A five-passage Jev classification probe returned possible for 5/5 passages and helpful for 4/5; it selected a flowchart, dependency diagram, table, and one `none` route. This probe did not run a live Planner authoring turn. - Fake-Jev tool tests cover route binding, changed passage/type rejection, in-flight human edits, Stop, and the no-network-under-document-lock boundary. A browser test seeded MDX from the memory-backed tool fixture into a separate database-backed room, then saved an edit and reopened it. This does not exercise a same-room live Planner turn. - A separate frozen R1/E1/D1 same-room acceptance runner caps Jev at three dispatches per case and nine overall, stops on an unexpected ask or provider failure, and records the routed Planner instructions and tool set. Its no-call preflight and six focused tests passed. The one authorized live batch stopped in R1: Jev returned possible 0.90, helpful 0.77, and `flowchart` (confidence 0.77). Planner attempted five diagram edits, all rejected as `invalid-visual`; an offline renderer check found a 43-character node label over the 40-character limit. A fourth assessment was refused before HTTP dispatch. Planner saved prose and finished its Chat turn, but the runner stopped before a fresh browser reopen. E1 and D1 did not run. This is partial failure evidence, not a live diagram acceptance pass. The batch used one hosted Planner turn and three successful Jev calls. - The local repair on `b4047aeb` returns bounded field and constraint diagnostics from `edit_plan`. An unavailable Jev assessment now returns `ok: false` without minting or replacing a write route; a genuine Jev prose decision still permits prose. Focused fake-provider tests cover repair on the same route, initial provider failure, and a rejected diagram followed by failed reassessment. The repair itself made no hosted Planner or Jev calls. - A separately released, unchanged-input **R1-only** live run on `b4047aeb` completed in one Planner turn and three Jev calls. Jev answered possible 0.90, helpful 0.78, and `flowchart` (confidence 0.62). The first diagram edit received a precise 40-character label error; Planner shortened that label and saved the eight-node, nine-edge flowchart with the same route and no new assessment. Saved MDX matched a fresh reopen byte for byte, and the browser rendered one SVG without errors. The graph preserves the RFC's creation, polling, `Pending`, `Ready`, and completion transitions. Its right side needs horizontal scrolling in the split document pane. This is one R1 success, not a three-case or general acceptance claim. E1 and D1 remain unrun. Cumulative usage is 40 hosted turns and 20 successful Jev calls. - Exact-head GitHub CI passed at `b4047aeb`: container, validation with unit and PostgreSQL tests, and browser integration. Browser E2E reported 476 passed, 5 skipped, and 2 flaky retries. The earlier head `fd204251` also passed CI. - Focused tests: 79 passed; session boundary tests: 7 passed. `bun run types` and `bun run ci` passed. The ordinary default-off Planner prompt and instructions were verified byte-for-byte identical to the prior commit.
---
## Prior guidance change
- Add Chopin-owned Planner guidance for choosing source-grounded SeeCode diagrams and composing existing native document elements. The small addition gives process, comparison, and caveat recipes, with prose as a valid choice. - Add a loader-backed ten-case development cohort, a frozen five-case paired subset, and an opt-in runner that records real Planner tool actions, saved source, and browser reopen evidence. - Keep Markdown, allowlisted MDX, and ordinary `ask` decisions on the existing native authoring path. No new component or runtime is introduced.
## Paired development result
The same frozen R1, A1, E1, D1, and S1 inputs ran once with the baseline guide and once with the candidate guide, using `gpt-6-luna` through Copilot SDK in fresh channels. Only the committed guidance and phase label changed. These were ten real Planner turns and zero Jev calls, with no case rerun for a better result.
E1 changed from dense prose to a legible Markdown table comparing the compatibility and CLI/inline coverage arguments. R1, A1, and D1 remained prose; S1 remained an ordinary `ask`. No diagram, Callout, or Tabs appeared in either arm. All ten documents saved and reopened without a render error. Both S1 questions added a fifth defer option beyond the four candidates named by the source. Rejected tool attempts were 4 in baseline and 7 in candidate; the small paired run does not establish that the guide caused this difference.
This is a five-case development diagnostic, not a general accuracy claim. The guide shows one useful local improvement and no clear broader shift.
## Live R1 UI after repair
The reopened document shows the new explanation and the start of the flowchart; the split pane requires horizontal scrolling to see its right side.

## Real UI after reopen
The comparison shows the actual authored E1 document section in the same browser layout before and after the guide change.

## Evaluation flow

## Prior trial checks
- Focused cohort and Planner instruction tests: 9 passed. The new table and Callout snippets pass dialect validation after the server-assigned Callout ID is added. - `bun run types` and `bun run ci` passed on the candidate commit; `bun run fix` applied and its diff was inspected. - Ten real Planner cases passed the save/reopen runner; separate `AGENT=off` browser passes showed the authored sections and S1 decisions after a fresh reopen. - GitHub CI passed at commit `8f445cc8`: container build, validation, and browser integration.
No merge or deployment is requested.
Unknown GitHub usercommitted d6a6a1f3d495last month on GitHub
Unknown GitHub usercommitted eb9172dd45f8last month on GitHub
Unknown GitHub usercommitted cbef5b45457alast month on GitHub
Unknown GitHub usercommitted 0fecbc119f4dlast month on GitHub
Unknown GitHub usercommitted 8b2d4da7915dlast month on GitHub
Unknown GitHub usercommitted 7ecfea303a8blast month on GitHub
Unknown GitHub usercommitted c40dfff54d99last month on GitHub
Unknown GitHub usercommitted 7a3353a7f601last month on GitHub
Unknown GitHub usercommitted 3e24319a5112last month on GitHub
Unknown GitHub usercommitted 01538b14a4aalast month on GitHub
MaggieAppletonbase-ref-force-pushedlast month on GitHub
MaggieAppletonautomatic-base-change-succeededlast month on GitHub
Unknown GitHub usercommitted 1779e3d2c13alast month on GitHub
Unknown GitHub usercommitted 46533ab270b4last month on GitHub
Unknown GitHub usercommitted 41ebd48b76e9last month on GitHub
Unknown GitHub usercommitted 99134f6f6bfdlast month on GitHub
MaggieAppletonrenamed Guide Planner visual authoring and exercise real acceptance cases to Guide Planner native visual authoring and freeze acceptance caseslast month on GitHub
The preview deployment for **chopin** is ready. 🟢
[Open app](http://415-chopin.githubnext.com) | [Open Build Logs](https://next-appserver.tail49836a.ts.net/project/l9buznc9ua1if0vflxrjwajs/environment/lxqsvczv19eopxk29vfb46mj/application/hb85gdd9mwqqlfwcteflvpbj/deployment/ujdony3c2ick5up6uokxcek0) | [Open Application Logs](https://next-appserver.tail49836a.ts.net/project/l9buznc9ua1if0vflxrjwajs/environment/lxqsvczv19eopxk29vfb46mj/application/hb85gdd9mwqqlfwcteflvpbj/logs)
Last updated at: 2026-10-09 14:02:27 CET
Unknown GitHub usercommitted 8f445cc852delast month on GitHub
MaggieAppletonrenamed Guide Planner native visual authoring and freeze acceptance cases to Guide Planner native document composition with paired evidencelast month on GitHub
Unknown GitHub usercommitted 9b96bc4432c1last month on GitHub
MaggieAppletonreferenced this in Add native editable document columns #427last month on GitHub
Unknown GitHub usercommitted d6b2dfaa1885last month on GitHub
MaggieAppletonready-for-reviewlast month on GitHub
Unknown GitHub usercommitted 7127cb0173c0last month on GitHub
Unknown GitHub usercommitted 954ee8213bc9last month on GitHub
Unknown GitHub usercommitted 990e1c0057d7last month on GitHub
Unknown GitHub usercommitted 31776dd569c4last month on GitHub
MaggieAppletonrenamed Guide Planner native document composition with paired evidence to Route Planner visual authoring through Jevlast month on GitHub
Unknown GitHub usercommitted 3809becc9dc6last month on GitHub
Unknown GitHub usercommitted 8fcac5e592e3last month on GitHub
Unknown GitHub usercommitted 619f7aa9803flast month on GitHub
Unknown GitHub usercommitted fd2042515938last month on GitHub
Unknown GitHub usercommitted b4047aeb90c3last month on GitHub