Skip to content

Add an optional integrator control socket - #185

Open
t-kalinowski wants to merge 13 commits into
mainfrom
feat/integrator-control
Open

t-kalinowski wants to merge 13 commits into
mainfrom
feat/integrator-control

Conversation

@t-kalinowski

@t-kalinowski t-kalinowski commented Oct 25, 2026 •

Copy link
Copy Markdown
Member

Applications sharing an agent's Console session can inspect it and submit code through an optional serve --control-socket PATH Unix socket. The strict JSON Lines interface exposes status, non-consuming output previews, accepted requirements, and R/Python/SQL evaluation. Evaluations can reject a busy session or wait with an admission deadline. Queued work is cancelled on disconnect or worker replacement.

Integrator evaluations retain their own results while sharing the existing session and sandbox. Every request and result is journaled; record: false omits an evaluation from the Markdown transcript and QMD source projection. Internally, execution and delivery ownership distinguish integrator calls from MCP calls without changing the worker wire protocol.

The channel is available on macOS and Linux. Execution remains serialized; concurrent R top-level evaluation and Python background execution are unsupported. The guide documents the protocol, output-attribution limits, and admission after MCP delivery, and is included in the website navigation.

Public fixtures hold a fully written MCP response before its server acknowledgment to verify that integrator admission waits for retained delivery ownership. They preserve exact image bytes, omission accounting, recording projections, and busy-rejection checks. Retirement fixtures also include captured process identities in failure diagnostics. The shared transcript collector preserves the final [done] marker across polls for combined control-and-cell calls and their continuations. A native R startup fixture holds the replacement cell until its earlier output is collected, then checks exact completion. Production package defaults and retirement assertions are unchanged.

On macOS, all 16 control and image cases passed across 21 direct/Seatbelt executions; the focused run including replacement-startup and process-retirement checks passed 18 cases across 25 executions, with the Linux-only adopted-resource case skipped. All 36 rendered website tests, scripts/format, git diff --check, and scripts/check passed. The response-acknowledgment race and both website failures have local red/green evidence.

The controlled-completion repair reproduced the missing marker locally and passed eight focused macOS cases across 13 direct/Seatbelt executions, the final formatted gated case, and all 23 client self-tests. Formatting, diff checks, and scripts/check passed.

On native Ubuntu 24.04 (mule), PR head e5c7874c passed scripts/check, all 23 client self-tests, and 49 focused cases across 66 executions. The focused run includes direct/bubblewrap control-channel tests, the Linux response-acknowledgment checkpoint, adopted-resource retirement, startup completion, and recovery allocation stress. The macOS-only Seatbelt prelaunch-failure case was skipped. Validation used Python 3.14.8 and uv 0.13.1.

The hosted Windows runner does not provide MXC, so native Windows sandbox execution remains unverified. Hosted checks for the current head are pending.

Keep integrator evaluation admission, results, and recording projections
separate from MCP delivery while sharing the existing worker and sandbox.
Expose strict JSONL status, preview, requirements, and evaluation requests.
Apply the existing test-only DuckDB snapshot to direct and MXC SQL
scenarios. Assert the selected version before the long query so cold
caches cannot silently introduce the known Arrow cancellation limitation.
Preserve production defaults, interruption deadlines, and exact results.
Queue stdin while the replacement cell is held at its checkpoint, then
release it and collect the complete result. Preserve the exact output
and idle-state assertions without assuming one response completes the cell.
Assign the new guide to the Build sidebar and require its task link in the
rendered website checks.
Queue semantic control evaluations behind retained MCP delivery ownership.
Hold a complete image response before its transport acknowledgment to
reproduce the busy response deterministically, then prove the integrator
request waits until delivery is acknowledged. Preserve explicit reject and
timeout coverage and the exact image, raw output, and projection assertions.
Preserve the immediate kernel-exit assertion and shutdown deadline while
showing which captured identities are still present if it fails again.
Keep the required completion marker when a control-and-cell response is
split across polls. Exercise the split with a gated native R startup cell
and select the same contract in related restart continuations.
Preserve the launch diagnostic for MCP while rejecting integrator admission
before it can consume the failure and report an unexecuted cell as complete.
Keep cancelled MCP replies out of integrator previews and results, including
restart settlement. Retain repeated recovered replies within the existing
output bounds and restore them before restart notices.
@t-kalinowski
t-kalinowski marked this pull request as ready for review October 27, 2026 12:35
@t-kalinowski

Copy link
Copy Markdown
Member Author

No findings found by gpt-6-astra with reasoning effort max

Reviewed commit: e5c7874cfb771e502d7541c0bc6a7b53cba56bfd.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant