Repository navigation
Add opt-in Codex Desktop context with provenance and live chat routing - #2
Open
alexey-belkin wants to merge 1 commit into
Open
alexey-belkin wants to merge 1 commit into
alexey-belkin wants to merge 1 commit into
Conversation
Owner
|
Thanks for this! A Codex context is welcome, and the fork rules are respected: only fork files are Please change
Please discuss before coding
On our side
When 1–4 are done (and 5 agreed), we'll merge. |
anton-belkin
pushed a commit
that referenced
this pull request
Oct 22, 2026
Japanese Excel's B4/B5/B6 are the JIS sizes (257×364, 182×257 and 128×182 mm), but Page Setup's `b4`/`b5` were the ISO ones (250×353, 176×250): a Japanese B5 worksheet printed 8 mm narrow. `known_paper` now reads `B4`/`B5`/`B6` as JIS and keeps the ISO sizes reachable as `B4 (ISO)`/`B5 (ISO)`/`B6 (ISO)`. This also fixes the XLSX round-trip, whose `paperSize` ids 12/13 are the JIS sizes. Adds the Japanese papers Page Setup lacked: Japanese Postcard (はがき, 100×148 mm), Japanese Double Postcard (往復はがき, 148×200 mm), Japanese Envelope #3/storytold#4 (長形3号/4号, 120×235 and 90×225 mm), Japanese Envelope Kaku #2/#3 (角形2号/3号, 240×332 and 216×277 mm), A6, and aliases such as `postcard`, `chou #3`, `kaku #2`; the xlsx paper table gains ids 42 (ISO B4) and 43/69–74/88 so these names survive save and reopen (the ISO B5/B6 names have no ECMA-376 paper id and stay engine-side). The pageSetup/pageLayout.size parameter docs list the names, the Page Layout Size menu lists them, and tests pin the point sizes, the PDF MediaBox for A4 (unchanged), B5, postcard, double postcard and kaku #2, landscape and fit-to-page, the unknown-name Letter fallback, and the XLSX round-trip. Docs: docs/target-app-parity.md print row + revision history, and ROADMAP.md progress log, dated 2026-10-21.
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.
Problem and behavior
A GridCraft workbook served by Codex still showed Claude setup/Waiting, and it could not show which actual Desktop chat would receive its questions. This adds an opt-in Codex context with live connection status, saved creator-chat provenance and a runtime working-chat route displayed in Agent.
The companion bridge, shared App Server launcher, workbook links, global experimental skill and installation guide are in anton-belkin/aitocraft#1. This PR intentionally targets agent-layer; the native changes are Rust only.
Changes
GRIDCRAFT_AGENT_PROVIDER=codexscopes the runtime to one launched instance, skips Claude setup and avoids persisting its preferences into global defaults. Explicit Off remains respected.agent.codexRoutemaintains an expiring runtime-only route. Agent shows the actual chat, missing/other-chat states and an Open Chat action. A stale answered ping cannot make Codex Ready; a recent Desktop bridge listener is required.AITOCRAFT_REGISTRY_DIR.The working chat chosen by a link is separate from creator provenance. Unavailable targets use a visibly different real Desktop chat rather than importing history into a CLI session. Existing proposal acceptance/rejection commands remain person actions. No global Claude configuration changes are required.
Validation
cargo xtask ci: all 8 steps passed — fmt, Clippy-D warnings, 1686 workspace tests, assets, layers, WASM, parity and keytips. This includes 58 agent-layer and 14 Agent UI tests. The first sandboxed run refused a local TCP bind in an existing MCP test; the full rerun with loopback access passed.The companion live test delivered five unique questions into the same actual Desktop chat: formula explanation; draft 60→70 (profit 40→30); draft 70→90 (profit 10), rejection comment; and a question after saving/reopening. Acceptance/rejection, formula, answers, decisions and provenance survived save/reopen. The final pass used native person-action commands corresponding to the buttons, without claiming fresh UI clicks while Desktop UI automation was unavailable.
Scope and compatibility
The companion macOS example was exercised on Desktop 26.1007.30912 / bundled App Server 0.162.0-alpha.17.2. Its shared-transport override is version-sensitive and experimental. Existing files without the new fields still read; older GridCraft versions that do not recognize
kind=codexare not supported readers of that new context metadata. No real chat IDs, tickets, user workbooks or private paths are included.