Repository navigation
Description
Current scope
Support T3 Code as a third parent harness, next to Claude Code and Codex (Eric, 2026-11-06). Start from PR #254, ported to a branch in this repository with fikaventures as co-author.
Acceptance:
provider-dispatch.mdhas a T3 parent route: pstack picks each role's model and effort. A lane whose provider T3 offers and has enabled goes through T3'sdelegate_task; any other lane goes through the existing external runner (Eric, 2026-11-06: "any lane for which there is a delegate provider available and configured should go through that delegate provider, otherwise it should go through the external runners"). A named dropout only when neither route can run it. Nothing is silently substituted./setup-pstackworks from a T3 session.AGENTS.md,UPSTREAM.mdand.agents/triage-backlog.mdname three harnesses, and drop the rule that routes a new tool only as an external provider.verify-open-pstackcan run a live lane from a real T3 session, and the live gate for this PR covers T3, Claude Code and Codex.- Gates pass:
bun run test,bun run typecheck,bun run static,claude plugin validate plugins/pstack.
Execution brief
Unit of the 2026-11-06 batch. Design: ~/projects/docs/projects/open-pstack/records/2026-11-06-batch-262/design-253.md. Opens after #268 and its fix-forward #270 merge, because it edits AGENTS.md. This session runs in T3 Code, so T3 live tests run here.
Pstack's provider dispatch currently assumes a standalone Claude Code or Codex parent. In T3 Code, host orchestration instructions require T3 delegation for cross-provider models, requested settings, worktrees and background tasks. The conflicting routes cause sessions to bypass the CLI runner without a shared evidence contract.
Add a T3 route at the existing provider-dispatch boundary. Pstack retains role/model/effort selection and review methods. The parent invokes T3's MCP tools; T3 owns worktree creation, lifecycle and cancellation. Standalone routes and the CLI runner stay intact.
Deliver a small JSON request compiler and result normalizer, host-aware dispatch guidance, and repeatable boundary verification. Separate T3 launch evidence from CLI receipts and provider-served-model proof. Refuse unsupported strict enforcement requirements instead of silently weakening them. Do not add an HTTP bridge, CLI fallback, recursive orchestration, global configuration changes, implicit deadlines or model substitution.
Verification will exercise the helper as a process, then pass its request to the real T3 delegation tool and normalize the actual terminal response. Preserve compiled requests, responses, artifacts and repeatable assertions. Existing standalone behavior receives focused regression checks.
Activity
ericlitman commentedon Nov 6, 2026
We'll support T3 Code as a third harness. Plan and next steps are on PR #254.
ericlitman commentedon Nov 6, 2026
PR: #272
Merge pull request #272 from ericlitman/feat/253-t3-harness
feat(t3): port fork PR ericlitman#254's T3 host dispatch section
feat(t3): route T3 lanes by what T3 offers, else the standalone route
feat(t3): run /setup-pstack from a T3 session at its existing steps
feat(t3): name T3 Code as the third harness in policy and provenance …
feat(t3): map each pstack provider to its T3 driver name
feat(verify): add a T3 transport and the t3:dispatch live case
chore: release T3 Code as a third harness as 1.19.0
ericlitman commentedon Nov 6, 2026
Batch 262 closeout for this issue (full record: https://github.com/mobilyze-llc/docs/blob/main/projects/open-pstack/records/2026-11-06-batch-262/closeout.md):
#253: Support T3 Code as a third harness
Original text: fikaventures' request (a JSON request compiler and normalizer, no CLI fallback, no implicit deadlines). Rewritten on 2026-11-06 after Eric's words "let's support t3 as a new harness. We're now running inside of t3 so that makes testign easy." Shipped in PR #272 (merged head 30ba229), fix-forward #274. fikaventures' commit is first (author Aiden Lee), the corrections are co-authored, and PR #254 was closed with a pointer.
delegate_taskroute (t3:dispatch, claudeAgent, claude-haiku-5-5); the runner fallback, the Codex runtime under T3 and other providers through T3 were not run, by the live gate's representative-selection rule. Reader correction./setup-pstackworks from a T3 session: not done for proof. The instructions shipped; no live T3 setup run happened. Owned by Prove /setup-pstack from a T3 Code session #280.AGENTS.md,UPSTREAM.md,.agents/triage-backlog.md: done as written.t3:dispatch,claude:skill-invocation:poteto-mode,codex:catalogon 30ba229).Original-text items: the JSON compiler and normalizer were not built (the design made a helper optional; none was needed); "no CLI fallback" was superseded by Eric's rule. On "no implicit deadlines": in the probe, the T3 parent model added
timeoutMs: 600000to a wait-modedelegate_task, which T3 documents as not cancelling the child. Writer lanes in T3: Unfret's critical finding (T3-routed writers bypass the writer-sandbox opt-in) went to Eric, who answered "T3 for everything"; #274 documents it.