feat(pi): orchestrator runTask — per-task pi sessions with in-process queue tools - #853
Conversation
… queue tools, capability clamp Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ting, framework-variant step-skill resolution Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…or-pi-runtask # Conflicts: # CHANGELOG.md # package.json
…or-pi-runtask # Conflicts: # src/lib/agent/runner/harness/pi/index.ts # src/lib/agent/runner/harness/pi/mcp.ts
Orchestrator runTask agents take effort from the capabilities table (luna low, terra medium) rather than the run-wide wizard-pi-effort flag, which now steers only the linear single-agent run. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
… block `.env.example`/`.sample`/`.template`/`.dist` carry no secrets and are meant to be committed, so the integration can write one documenting the required keys; YARA still scans the content. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
… the log Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Agents name a pi (gpt) and an sdk (anthropic) model+effort in frontmatter, not one model; the orchestrator picks the column by the resolved harness so an all-pi and an all-sdk run are both drivable from context-mill. Per-agent frontmatter effort overrides the model table. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Orchestrator benchmark — gpt-5.6 (pi) vs claude (sdk) on real prod appsRan the orchestrator on greenfield production apps from HeadlineThe sdk/claude set failed outright — claude-sonnet was so slow it timed out (>13 min) without finishing a single app. gpt-5.6 completes the same work in ~5 min. That gap is the whole point. pi (gpt-5.6) results
* Firefly per-task durations were corrupted by a clock rollover mid-run; cost + file count are real, wall-time isn't. Quality (rubric, 0 CRITICAL across all successes)
Across every success: correct real Failures / findings
Method & caveatsn=1 per cell, so single samples — |
…-router, tanstack-router) Three Integration enums have a context-mill variant id that differs from the enum value (rails→ruby-on-rails, react-router→react-react-router, tanstack-router→ react-tanstack-router), so the orchestrator resolved nothing and ran the tasks skill-less — a silent zero-diff. An alias map closes the gap; every enum now resolves to a variant. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Follow-up: Rails variant-parity bug fixedFixed the framework/variant parity gap from the benchmark. Ground-truthing
Closed with an alias map in |
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…red variants, shared session machinery (#907)
sarahxsanders
left a comment
There was a problem hiding this comment.
cool with merging behind a flag and testing, nothing screaming at me from the code
| // `.env.dist`) carry no secrets and are meant to be committed — they document the | ||
| // keys other developers must set. The fence lets them through so the integration | ||
| // can write one; YARA still scans the content for any real secret. | ||
| function isEnvExampleFile(basename: string): boolean { |
There was a problem hiding this comment.
just want to make sure: this will impact all harnesses and sequences as designed - if that is intended, ignore
There was a problem hiding this comment.
Yeah. This is fine. Just fixes an age 'ol bug with the way we block .env.example edits
| ); | ||
| } | ||
|
|
||
| // Preflight every task's mini-skills. A missing variant means the task runs |
There was a problem hiding this comment.
this will silent degrade in production but does it crash in dev? maybe make it throw unconditional or fail gracefully with an error
There was a problem hiding this comment.
I'm just gonna make this always throw and tell them to contact us
…wlist Renames the orchestrator content flow to integration-v2 via an additive ProgramConfig.agentFlow (program id unchanged); routes skill-menu, agent-menu, and agent-prompt fetches through a shared fetch-retry helper; and allows composer/bundle/gem in the bash command allowlist. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…or-pi-runtask # Conflicts: # src/lib/__tests__/wizard-can-use-tool.test.ts # src/lib/agent/agent-interface.ts
Adds a pi rule to install Python deps into a venv (not the externally-managed system interpreter), and restores the .env.example/.sample/.template/.dist carve-out the fence refactor dropped so the agent can write those secret-free documentation files instead of being denied. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
… empty Hoists the empty-key guard to the wizard's universal commandments (applies to every SDK): an empty/placeholder token silently disables analytics. Reads from env/config, and where a build has no env (iOS/Android release/archive) embeds the real public token. Per-SDK copies removed from context-mill. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Implements
runTaskon the pi harness so the orchestrator runs model-agnostic through pi — pairs with PostHog/context-mill#181 (the flow-scoped agents + step-skills it consumes).Testing
experiment/orchestrator)PORT=8770 npm run devin the context-mill checkoutREMOTE_SKILLS_BASE_URLinsrc/lib/constants.tsathttp://localhost:8770(revert after, it breaks the health-check unit tests while edited)express-todo, withoutnode_modules/tmp/posthog-wizard.log:harness=pi (flag)andsequence=orchestrator (flag), then the queue drainingposthog-setup-report.mdin the app, a real dashboard in the projectFull TUI run — 24 frames (7/8 done, 1 reasoned skip, 0 failed, 8m01s, dashboard 1825791)
01-intro — intro — orchestrator + pi flags resolved
02-auth — auth
03-run — run start
04-run — seed planning
05-run — queue seeded, install running
06-run — install
07-run — install done
08-run — init running
09-run — init
10-run — init done
11-run — parallel branch starts
12-run — identify + capture + error-tracking in parallel
13-run — instrumentation
14-run — identify skipped with reason
15-run — instrumentation done
16-run — build — real npm install
17-run — build verifying
18-run — dashboard task
19-run — dashboard insights via posthog_exec
20-run — report writing from handoffs
21-outro — outro
22-outro — outro — 7/8 steps, report on disk
23-mcp — mcp screen
24-slack-connect — slack connect
🤖 Generated with Claude Code