docs: design C — the family's own app tools over the shared server (approved draft, reviewed) #6
Loading…
Reference in a new issue
No description provided.
Delete branch "oss-oo/family-tools-design"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Design C — the family's own app tools over the shared server
docs/FAMILY-TOOLS-DESIGN.md: the design paper for the family-own MCP tool server that offers the thread tools of the bundled Codex app plugin (send_message_to_thread,read_thread,create_thread,fork_thread,handoff_thread,wait_threads) over the shared app-server's own door — so they work with AND without the running ChatGPT app (the parity rule). Z said yes to building after the measurement points (steer 40, 2026-10-28 01:01) on the first version; the reworked decisions (registration, transport, write path, receipt kinds, not-servable list) are marked [Z], the approval mode [owner], until he has read them.What the paper fixes: registration options (
codex_appwith the bundled plugin off, orfamily_toolsbeside the bridge — Z decides after measurement 3), one short-lived connection per call and no heal from inside the shared server, writes throughoo-appserver send --json --wait 0 --min-interval 0 --no-heal --from <caller>with the sender tag prepended by the tool server, receipt kinds per tool, the approval mode as an owner decision, the bundle's zod schemas as the contract (read_thread, send_message_to_thread, create_thread, fork_thread, wait_threads — read from the installed bundle) and what the shared server cannot serve (cloud target, remote hostId, worktree, projectId, model/thinking on a send), six measurements before the build, the stages (building block 1oo-appserver read= v0.4.0, PR #7, merged).Measured facts of 2026-10-28 that the paper rests on (evidence folder
read-measure-20261028-0105/,v030-proof/):thread/read,thread/turns/list,thread/items/listdo not load a thread (no writer lock for reads;thread/readon the 719 MB thread 4 ms); the bundled tools' catalogue AND calls travel over the per-launch pipe (bridge) and need the running app; the first real calls in the shared server succeeded on the owner's app (read_threadfrom Luna's chat, Ping-Pong Luna 1 ↔ Luna 2 viasend_message_to_threadin both directions,wait_threadsincl. the literal rejection of a 150000 ms timeout); ephemeral threads answer neither resume nor turns/list.Review
Fresh read-only subagent, three readings: on
e698ed615 points (stale branch; five vs six tools; naming contradiction; app-only tools scoped wrong; FYI/throttle rule unclear; static approval mode;decide+deliveris not whatsendruns; a persistent connection would block every heal; resume is not read-only; the bundle's schemas differ; overclaims; nits) — folded in38ab35e; on38ab35e3 should-fix (the bundle's real zod schemas; "used by the helper today" before PR #7 landed; attribution and--wait 0on the send path) + 5 nits — folded in857a300; on857a3002 should-fix (--tagis skipped on a bracketed line → the tool server prepends the tag itself; mark every new decision [Z]) + nits — folded in the final commit, branch rebased onto main after PR #7 (v0.4.0). Review texts:v030-review/review-design-paper-pr6-*.mdin the evidence folder.🤖 Generated with Claude Code
oo-appserver read— the last turns of a thread, read without loading it; the release gate learns ephemeral threads #7e698ed6ad838ab35e570docs: design C — the family's own app tools over the shared server (draft for Z)to docs: design C — the family's own app tools over the shared server (approved draft, reviewed)c978cfeaf1de8a749b3f