Repository navigation
Enable sidebar-visible third-party Worker callbacks and binding readback #156
Description
Priority and external blocker
Priority: P0 — complete the Host/runtime gate before resuming dependent orchestration work.
This is a hard external blocker for NOirBRight/github-work-orchestrator#16. Keep that Issue stopped and unclaimed until the native sidebar-visible Worker acceptance gate below passes.
Sanitized reproduction
Environment: Codex Desktop 26.707.12708.0, Codex CLI 0.144.5, CodexHub route, Ollama Cloud native Responses, requested glm-5.2 / max.
- A native worktree Worker was created from the parent and appeared as a separate sidebar Task.
- Parent-to-child continuation worked, and the child had functioning shell/MCP tools.
- The child could not access a supported parent-result callback or equivalent result-delivery channel. Exact-name searches returned
tools=[]. - The child could not prove the effective agent type, model, and reasoning through supported readback.
- Without a terminal unsupported result, the failed capability search could repeat. A bounded parent continuation stopped the read-only incident; the child returned
BLOCKEDand its worktree stayed clean.
Private rollout, Task, callback, local-path, call, and token identifiers remain excluded. Do not edit Codex SQLite or infer evidence from private IDs.
Problem
The Codex Host/runtime does not yet provide a complete supported contract for third-party delegated implementation as a native sidebar-visible Worker Task. The required contract spans Worker materialization, bidirectional parent/Worker communication, result delivery with a confirmable receipt, effective binding readback, explicit unsupported terminalization, and a visible Active → Done lifecycle.
A model-visible callback schema is not sufficient when the child has no registered native handler. Requested settings are not effective binding evidence.
Desired outcome
Native Host/runtime delegation can create a sidebar-visible third-party Worker and prove, before implementation begins, that the supported execution surface and effective binding match the request. The parent and Worker can communicate in both directions, the parent receives a confirmable result receipt, unsupported capabilities stop terminally, and the Worker becomes visibly Active and then Done.
Scope — Host/runtime only
- Materialize delegated implementation as a separate native sidebar-visible Worker Task with supported discovery/readback.
- Register a supported parent-result callback in the Worker context, or provide an equivalent durable result-delivery channel whose receipt the parent can confirm.
- Support parent-to-Worker continuation and Worker-to-parent result return in the same isolated lifecycle.
- Expose supported effective readback for agent type, model, and reasoning effort before edits begin.
- Return an explicit, machine-classifiable terminal unsupported result when the requested Worker surface, callback/result channel, or binding cannot be provided.
- Expose supported lifecycle readback showing the Worker transition from Active to Done.
- Preserve sanitized Host/runtime evidence for a bounded manual replay.
Non-goals
- Do not implement CodexHub's repeated identical empty-
tool_searchbound; Bound repeated empty tool_search misses for external models #159 owns that work. - Do not implement CodexHub Worker selector/codec preservation or effective-binding validation; Preserve Worker selector and effective binding validation for external delegation #161 owns that work.
- Do not inject a callback schema without a registered Host/runtime handler.
- Do not substitute GPT, Hidden Subagent, Inline execution, Background process,
codex exec, or a shell-launched model for the sidebar-visible Worker. - Do not edit Codex SQLite, publish private IDs or local paths, synthesize rollout state, or infer binding from requested settings.
- Do not broaden into unrelated transport, routing, retry, apply-patch, or Task-activity rendering work.
Acceptance criteria
- A native delegation materializes one separate sidebar-visible third-party Worker Task.
- Supported readback proves the effective Worker agent type, requested third-party model, and requested reasoning effort before implementation begins.
- Missing, unknown, contradictory, rejected, unsupported, or GPT-substituted binding evidence stops terminally before edits.
- Parent-to-Worker continuation and Worker-to-parent result delivery both succeed in the same isolated Worker lifecycle.
- The parent receives a supported confirmable receipt for the Worker's final result.
- An unavailable Worker surface, callback/result channel, or selector returns an explicit terminal unsupported result rather than continuing or substituting another surface.
- Supported Task APIs show the separate Worker as Active and then Done.
- The real validation performs only a disposable read-only action until surface, binding, and callback/receipt preflight pass.
- No GPT, Hidden Subagent, Inline, Background,
codex exec, or shell-launched substitute appears in the evidence.
Host/runtime verification and evidence
This Issue does not authorize or invent CodexHub product-code verification. Its acceptance is manual Host/runtime evidence from one isolated native Codex Desktop replay using a third-party model and requested reasoning:
- create one native sidebar-visible Worker Task;
- read back effective Worker agent type, model, and reasoning through supported APIs;
- send one parent continuation;
- return one Worker result and confirm the parent receipt;
- read back Active → Done terminal visibility;
- capture only sanitized outcome fields and failure classifications.
Relationships
- External hard blocker: NOirBRight/github-work-orchestrator#16
- Broad collaboration verification: 0.1.8 Beta2: Define the Codex CLI 0.146 Collaboration V1/V2 schema boundary #64
- Deferred discovery classification: 0.1.8 Beta3: Complete the generic client tool_search lifecycle #63
- Runtime plan evidence: 0.1.8 Beta2: Inventory Codex CLI 0.146 tool types and representative Responses lifecycles #62
- CodexHub repeated-search child: Bound repeated empty tool_search misses for external models #159
- CodexHub selector/binding child: Preserve Worker selector and effective binding validation for external delegation #161
Expected hotset
Host/runtime-owned, outside this repository:
- native sidebar-visible Worker Task creation/materialization;
- child Host tool registration or equivalent result-delivery channel and receipt;
- supported effective agent/model/reasoning readback;
- supported Worker lifecycle state and explicit unsupported terminalization.
No CodexHub product-code hotset is owned by this Issue.
Execution contract
Execution-Contract: v2
Verification-Class: strict
Verification-Commands: Host/runtime supported-API readback only; no CodexHub product-code command is claimed
Manual-Evidence: one isolated native third-party sidebar-visible Worker replay proving effective binding, bidirectional communication, confirmed parent receipt, explicit unsupported behavior, and Active → Done visibility
Architecture-Decision: resolved
Review-Owner: orchestrator
Activity
NOirBRight commentedon Jul 16, 2026
Execution admission decision
No automated implementation lane is admitted yet.
agent_type=workerselector plus effective agent/model/reasoning readback.The Issue remains
ready-for-humanfor the Codex host/runtime change. After the host exposes callback/receipt and selector/readback, route the CodexHub-owned bounded-search and codec work through a single GLM-5.2/max implementation owner, then run the strict native replay before releasing the dependent Orchestrator Issue.NOirBRight commentedon Jul 16, 2026
Reporter clarification — sidebar-visible Worker is the required execution surface
New screenshot-backed evidence clarifies the product outcome and the boundary between the two Codex collaboration surfaces:
spawn_agentcall returnedunsupported call; no delegated child was created.Expected behavior is not merely a successful hidden Subagent. Delegated implementation must materialize as a native sidebar-visible Worker Task, with its own discoverable Task/thread lifecycle and effective model/reasoning readback. The parent must be able to send work to it, the Worker must return a result with a confirmable receipt, and the Worker must reach a terminal state visible through the supported Task APIs.
This evidence is a duplicate of #156's visible-Worker creation/callback outcome and is related to #64's explicit separation of hidden Subagents from sidebar-visible Tasks. It sharpens the acceptance boundary:
spawn_agent.agent_type=worker, if supported later, cannot substitute for native sidebar Task materialization unless the host proves it creates that same visible Task surface;The screenshot itself is not attached to GitHub because it contains incidental local UI context; only the sanitized failure and expected outcome are retained here.
[-]Restore callback delivery and bound tool discovery for GLM Worker threads[/-][+]Enable sidebar-visible third-party Worker callbacks and binding readback[/+]NOirBRight commentedon Jul 20, 2026
Explicit maintainer decision: close as wontfix/superseded. Orchestrator V6 now uses Paseo-managed native Workers with exact runtime validation, atomic worktrees, identity readback, and native completion notification; the legacy sidebar-visible callback gate is no longer an admitted CodexHub product requirement. Historical host/runtime evidence remains preserved here.