Skip to content

feat(orchestrator): ci-excluded task types#639

Merged
gewenyu99 merged 3 commits into
experiment/orchestrator-01-bootstrap-gatingfrom
experiment/orchestrator-ci-task-filter
Jun 18, 2026
Merged

feat(orchestrator): ci-excluded task types#639
gewenyu99 merged 3 commits into
experiment/orchestrator-01-bootstrap-gatingfrom
experiment/orchestrator-ci-task-filter

Conversation

@gewenyu99

@gewenyu99 gewenyu99 commented Jun 10, 2026

Copy link
Copy Markdown
Collaborator

Basically, the agent wastes a lot of time and tokens in CI trying to create dashboards. We don't let it, it'll be missing scopes. That's fine, this just skips that step in queue.

The CI harness can exclude task types from a run. WIZARD_CI_EXCLUDE_TASKS is a comma-separated list, the registry drops those types, the seed cannot enqueue them, and no agent is ever spun up for them. The policy lives with the harness that owns it (the workbench workflow sets dashboard, CI runs must not create dashboards), so the wizard and the served agent content stay run-mode agnostic. CI-build only, same dead-strip and smoke enforcement as the flag overrides. The seed prompt plans around missing types, so report follows build when dashboard is absent.

@github-actions

Copy link
Copy Markdown

🧙 Wizard CI

Run the Wizard CI and test your changes against wizard-workbench example apps by replying with a GitHub comment using one of the following commands:

Test all apps:

  • /wizard-ci all

Test all apps in a directory:

  • /wizard-ci basic-integration
  • /wizard-ci error-tracking-upload-source-maps
  • /wizard-ci misc
  • /wizard-ci revenue

Test an individual app:

  • /wizard-ci basic-integration/android
  • /wizard-ci basic-integration/angular
  • /wizard-ci basic-integration/astro
Show more apps
  • /wizard-ci basic-integration/django
  • /wizard-ci basic-integration/fastapi
  • /wizard-ci basic-integration/flask
  • /wizard-ci basic-integration/javascript-node
  • /wizard-ci basic-integration/javascript-web
  • /wizard-ci basic-integration/laravel
  • /wizard-ci basic-integration/next-js
  • /wizard-ci basic-integration/nuxt
  • /wizard-ci basic-integration/python
  • /wizard-ci basic-integration/rails
  • /wizard-ci basic-integration/react-native
  • /wizard-ci basic-integration/react-router
  • /wizard-ci basic-integration/sveltekit
  • /wizard-ci basic-integration/swift
  • /wizard-ci basic-integration/tanstack-router
  • /wizard-ci basic-integration/tanstack-start
  • /wizard-ci basic-integration/vue
  • /wizard-ci error-tracking-upload-source-maps/android
  • /wizard-ci error-tracking-upload-source-maps/flutter
  • /wizard-ci error-tracking-upload-source-maps/ios
  • /wizard-ci error-tracking-upload-source-maps/next
  • /wizard-ci error-tracking-upload-source-maps/next-no-posthog
  • /wizard-ci error-tracking-upload-source-maps/node-raw
  • /wizard-ci error-tracking-upload-source-maps/node-rollup
  • /wizard-ci error-tracking-upload-source-maps/node-rollup-typescript-plugin
  • /wizard-ci error-tracking-upload-source-maps/node-webpack
  • /wizard-ci error-tracking-upload-source-maps/nuxt-3-6
  • /wizard-ci error-tracking-upload-source-maps/nuxt-4-3
  • /wizard-ci error-tracking-upload-source-maps/react-native
  • /wizard-ci error-tracking-upload-source-maps/react-vite
  • /wizard-ci error-tracking-upload-source-maps/rust
  • /wizard-ci misc/quack-quack
  • /wizard-ci revenue/stripe

Results will be posted here when complete.

@gewenyu99 gewenyu99 force-pushed the experiment/orchestrator-ci-task-filter branch 2 times, most recently from 3c02336 to 94e28b9 Compare June 16, 2026 21:48
@gewenyu99 gewenyu99 force-pushed the experiment/orchestrator-telemetry branch from 2365eef to 235e1d2 Compare June 16, 2026 21:48
@gewenyu99 gewenyu99 marked this pull request as ready for review June 17, 2026 14:01
@gewenyu99 gewenyu99 force-pushed the experiment/orchestrator-ci-task-filter branch from 94e28b9 to bd393b7 Compare June 17, 2026 15:48
@gewenyu99 gewenyu99 force-pushed the experiment/orchestrator-telemetry branch from 235e1d2 to 6b8b1f7 Compare June 17, 2026 15:48
@gewenyu99 gewenyu99 force-pushed the experiment/orchestrator-telemetry branch from 6b8b1f7 to e116168 Compare June 18, 2026 14:22
Base automatically changed from experiment/orchestrator-telemetry to experiment/orchestrator-01-bootstrap-gating June 18, 2026 14:23
gewenyu99 and others added 3 commits June 18, 2026 10:23
The CI harness can exclude task types from a run via a CI-build-only env var
(a comma-separated list, e.g. dashboard — CI runs must not create dashboards).
Excluded types do not exist for the run: the seed cannot enqueue them and no
agent is spun up. The policy lives with the harness that owns it; the wizard
and the served content stay run-mode agnostic. Published builds strip the
path, smoke-enforced alongside the flag overrides.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The server reads the user's region from the bearer token, so the EU
subdomain (a Claude Code OAuth workaround) is no longer needed. Removes
the host-parsing branch in both the orchestrator bootstrap and the linear
MCP runner.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Review follow-ups on the queue and loader:
- TaskStatus 'in_progress' -> 'running' (drop the snake_case outlier)
- inline the nowIso() one-liner
- document that dependsOn is a DAG by construction (ids point only at
  earlier tasks), so cycles cannot form
- cap the queue at 30 tasks as a runaway backstop; real sizing rests on
  agent/skill design
- move agent-prompt-loader from programs/orchestrator/ to lib/agent/

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@gewenyu99 gewenyu99 force-pushed the experiment/orchestrator-ci-task-filter branch from bd393b7 to 7d45f09 Compare June 18, 2026 14:23
@gewenyu99 gewenyu99 merged commit 344790b into experiment/orchestrator-01-bootstrap-gating Jun 18, 2026
10 checks passed
@gewenyu99 gewenyu99 deleted the experiment/orchestrator-ci-task-filter branch June 18, 2026 14:23
gewenyu99 added a commit that referenced this pull request Jun 18, 2026
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
gewenyu99 added a commit that referenced this pull request Jun 18, 2026
…rd-orchestrator flag) (#606)

Experimental task-queue orchestrator, collapsed from an 11-PR stack into this single branch. Behind the `wizard-orchestrator` feature flag, off by default — with the flag off it is a no-op and the existing linear flow runs unchanged.

## Wizard PRs folded in (squash-merged into this branch)
- #607 — queue persistence
- #608 — orchestrator MCP tools: enqueue_task / complete_task / read_handoffs, with guards
- #609 — executor
- #619 — agent loader
- #620 — email targeting
- #635 — CI flag overrides
- #637 — ephemeral skills
- #638 — telemetry (responsiveness A/B spine)
- #639 — CI task filter
- #677 — run cache + responsiveness analytics
- #678 — CI health-check advisory

## Related PRs, other repos
- PostHog/context-mill#181 — `agents` content type: agent prompts plus the `basic-integration` step-skills, built and served alongside skills
- PostHog/wizard-workbench#1879 — CI flag-override and task-exclude dispatch inputs (dev/CI stack)

## Flag gating — why this is a no-op with the flag off
- `runProgram` forks on `isOrchestratorEnabled(flags)` = `flags['wizard-orchestrator'] === 'true'` (default false). Off, it runs `runLinearProgram`, the existing path, untouched.
- The shared `runAgent` threads the same flag through, so its orchestrator-specific message handling is gated too.
- The CI flag-override (`WIZARD_CI_FLAG_OVERRIDES`) is guarded by `NODE_ENV === 'production'` and stripped from published builds — a smoke test asserts the env-var names are physically absent — so it cannot flip the flag for real users.
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.

2 participants