Skip to content

feat(error-tracking): add the error-tracking program on the orchestrator flow - #1185

Draft
ablaszkiewicz wants to merge 5 commits into
mainfrom
error-tracking-program
Draft

feat(error-tracking): add the error-tracking program on the orchestrator flow#1185
ablaszkiewicz wants to merge 5 commits into
mainfrom
error-tracking-program

Conversation

@ablaszkiewicz

Copy link
Copy Markdown
Contributor

Problem

Setting up PostHog error tracking today takes multiple commands: the default integration flow, then wizard upload-source-maps — and the source-maps command aborts on repos without PostHog instead of installing it. Replay-vision already solved this shape (install PostHog as step 0 via the orchestrator seed); error tracking deserves the same one-command experience.

Changes

New wizard error-tracking command, modeled on replay-vision:

  • Program (src/lib/programs/error-tracking/): detect step puts the framework id on session.skillId for orchestrator preflight, agentFlow: 'error-tracking' pinned, ciPreRun for headless runs. No platform allow-list — every detectable framework has an integration-v2-error-tracking-step variant.
  • The detect step pre-installs posthog-cli for symbol-upload platforms (swift, android, react-native, flutter, go, rust) — the agent can't, warlock blocks npm install -g. Warn-don't-fail, mirroring the source-maps program.
  • Wiring: registry entry, orchestrator binding in the switchboard, OAuth scope additions (error_tracking:read, product_enablement:write), custom intro screen (no single skillId exists for the generic intro), command wrapper + bin.ts, e2e action registry entry.
  • The agent flow itself (seed + 8 task prompts) lands in context-mill (context/agents/error-tracking/): seed checks whether PostHog is integrated and which uploader variant applies, then queues install/init → capture-exceptions → the source-map subgraph (credentials/configure/wire-ci/test-setup) → report. Companion PRs in context-mill and wizard-workbench.

wizard upload-source-maps stays as-is — it remains a valid standalone entry point.

Test plan

  • pnpm build && pnpm test && pnpm lint — 2586/2586 tests pass, including new error-tracking.test.ts and the updated lockstep guards (switchboard bindings, flags isolation, e2e action registry exhaustiveness).
  • End-to-end needs the context-mill flow released (or --local-context-mill via the workbench stack); not yet run against a live app.

LLM context

Built with Claude Code; flow design mirrors replay-vision (wizard) and error-tracking-upload-source-maps (context-mill agents).

🤖 Generated with Claude Code

https://claude.ai/code/session_01PVXmLWB31CBujD2FJ2ogvY

…tor flow

New `wizard error-tracking` command. Modeled on replay-vision: a detect
step carries the framework id into orchestrator preflight, the
context-mill `error-tracking` flow seeds install/init (integration-v2
step-skills) when the repo has no PostHog, then exception capture, then
the source-map subgraph where the platform needs it. The detect step
also pre-installs posthog-cli for symbol-upload platforms, which the
agent cannot (warlock blocks npm install -g).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PVXmLWB31CBujD2FJ2ogvY
@github-actions

github-actions Bot commented Sep 1, 2026

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 ai-observability
  • /wizard-ci basic-integration
  • /wizard-ci mcp-analytics
  • /wizard-ci replay-vision
  • /wizard-ci revenue
  • /wizard-ci self-driving
  • /wizard-ci warehouse
  • /wizard-ci warehouse-seeded

Test an individual app:

  • /wizard-ci ai-observability/anthropic
  • /wizard-ci ai-observability/groq
  • /wizard-ci ai-observability/manual-capture
Show more apps
  • /wizard-ci ai-observability/openai
  • /wizard-ci ai-observability/openai-agents
  • /wizard-ci ai-observability/vercel-ai
  • /wizard-ci basic-integration/android
  • /wizard-ci basic-integration/angular
  • /wizard-ci basic-integration/astro
  • /wizard-ci basic-integration/django
  • /wizard-ci basic-integration/fastapi
  • /wizard-ci basic-integration/flask
  • /wizard-ci basic-integration/flutter
  • /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 mcp-analytics/custom-dispatcher
  • /wizard-ci mcp-analytics/typescript-sdk
  • /wizard-ci replay-vision/javascript-node
  • /wizard-ci replay-vision/next-js
  • /wizard-ci replay-vision/react-vite
  • /wizard-ci revenue/stripe
  • /wizard-ci self-driving/astro
  • /wizard-ci self-driving/fastapi
  • /wizard-ci self-driving/nuxt
  • /wizard-ci self-driving/react-router
  • /wizard-ci self-driving/sveltekit
  • /wizard-ci warehouse/monorepo-env
  • /wizard-ci warehouse/multi-source-next
  • /wizard-ci warehouse/stripe-node
  • /wizard-ci warehouse/zero-source
  • /wizard-ci warehouse-seeded/next-stripe
  • /wizard-ci warehouse-seeded/next-stripe-declined

Test against a Context Mill branch:

  • /wizard-ci all context-mill:my-branch

Add context-mill:<branch> to any command above to pin the Context Mill branch. It defaults to main.

Results will be posted here when complete.

ablaszkiewicz and others added 4 commits September 1, 2026 18:21
Binding harness anthropic→pi, like metrics: the binding routes only,
and every stage's model and effort are pinned context-mill side in the
flow's frontmatter (terra seed, sol tasks, luna report).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PVXmLWB31CBujD2FJ2ogvY
e2e.json flow definition + profile registration: the driver confirms
the intro, answers the flow's api-key ask from SOURCE_MAPS_CLI_KEY
(secret rule, vaulted by the ask tool) and declines the test-affordance
offer. Two variations: the pinned orchestrator-on-pi binding and the
linear fallback. Unlocks snapshots mode and the workbench e2e runner
for the command.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PVXmLWB31CBujD2FJ2ogvY
The screen was registered in the action registry (satisfying the
exhaustiveness test) but decideE2eAction keeps its own intro switch,
and an unlisted screen falls through to wait — the driver sat on the
intro until the host died. Adds the missing case.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PVXmLWB31CBujD2FJ2ogvY
The bin resolves --local-* flags in its yargs middleware into the
local-dev singleton that getSkillsBaseUrl() reads. The tui-host
bypasses yargs, so its env-backed local flags reached the session but
never the singleton — agent prompts always resolved to production, and
an unpublished flow died in preflight with "No seed agent prompt".
Initialize the singleton from the same env spellings before the store
starts.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PVXmLWB31CBujD2FJ2ogvY
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.

1 participant