Skip to content

fix: harden dual-host QE-Court transport - #181

Merged
pacphi merged 3 commits into
mainfrom
fix/108-qe-court-stall-hardening
Aug 26, 2026
Merged

fix: harden dual-host QE-Court transport#181
pacphi merged 3 commits into
mainfrom
fix/108-qe-court-stall-hardening

Conversation

@pacphi

Copy link
Copy Markdown
Owner

Summary

  • retire the deprecated, agentic-kit-owned Claude to codex mcp-server projection without deleting user-owned configuration
  • diagnose recursive Codex MCP and duplicate Ruflo registrations while requiring concrete Agentic-QE MCP readiness
  • enforce absolute worker deadlines and POSIX process-group cleanup for supervised host participants
  • distinguish local QE-Court routing validity from actual court executability
  • add a reciprocal Claude-led and Codex-led participant-transport regression using real Ruflo MCP memory evidence
  • document the supported App Server/plugin path, ownership boundaries, and remaining Agentic-QE packaging gaps in ADR-0033 and aligned user docs

Safety and compatibility

  • missing legacy codex mcp-server is now healthy and is not healed back
  • automatic retirement is limited to receipt-owned configuration
  • teardown failures preserve ownership receipts and fail closed
  • supervised cross-host execution remains on the existing ak run surface
  • the live regression rejects malformed handoffs, repository mutation, timeouts, and orphaned participant state

Verification

  • pnpm check
  • agentic-qe test execute tests/kit/execution-handoff.test.mjs --framework node --format json — 4/4 passed
  • pnpm test:qe-court-live — Claude-led and Codex-led paths passed; 10 direct-host participant invocations completed in 314 seconds with no timeout or orphan

Known upstream boundary

This does not claim a complete Agentic-QE court verdict. Agentic-QE 3.13.12 does not currently ship a self-contained Codex QE-Court projection or supported host-neutral court runner; status reports those missing schema/referee/oracle assets explicitly.

Closes#108

ADR-0034: handoff-bearing workers carry the handoff as host-enforced
schema output (claude --json-schema structured_output, codex exec
--output-schema, shipped handoff.schema.json) with per-host instruction
phrasing, so final-text shape stops being load-bearing; extractHandoff
tolerates prose around ONE block (duplicates stay fatal); opt-in
hermetic seats isolate what each host allows (claude: hooks off,
strict ruflo-only MCP, self-carried permission, never --bare; codex:
--ephemeral + bounded trims), with a variadic-argv guard so
--allowedTools/--mcp-config can never swallow the prompt; the live
regression runs every seat hermetic and persists a redacted raw tail on
protocol failure. The aqe projection now enables the providers its
agentOverrides reference and admits codex chain rungs
(AQE_CHAIN_PROVIDER_TYPES) — aqe 3.13.12 reaches a provider only via
defaultProvider/fallbackChain/FALLBACK_PRIORITY, so the projected codex
overrides sat dead behind startup warnings.
Proof: pnpm run check green (2141 tests); live baseline 219.5s and
AK_QE_COURT_TRIALS=5 soak 959.1s both pass — 50/50 workers terminal,
0 timeout/orphan/malformed handoff, repository fingerprint unchanged.
Claude-Session: https://claude.ai/code/session_013taA2A8yesvtz8Bapf7zpL
@pacphi
pacphi merged commit 1f25f8a into mainAug 26, 2026
14 checks passed
@pacphi
pacphi deleted the fix/108-qe-court-stall-hardening branch August 26, 2026 06:04
Sign up for freeto 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.

Plan: remediate Codex qe-court seat stall

1 participant

@pacphi