Skip to content

feat: automate Rust debug-symbol upload in upload-source-maps - #938

Merged
cat-ph merged 6 commits into
mainfrom
cat/upload-source-maps-rust
Jul 30, 2026
Merged

feat: automate Rust debug-symbol upload in upload-source-maps#938
cat-ph merged 6 commits into
mainfrom
cat/upload-source-maps-rust

Conversation

@cat-ph

@cat-ph cat-ph commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

Related PRs:

Adds Rust support to the upload-source-maps program, mirroring the Android/iOS pattern:

  • rust joins AUTOMATABLE_VARIANTS and VARIANTS_REQUIRING_POSTHOG_CLI (the upload shells out to a PATH posthog-cli symbol-sets upload, so the wizard pre-installs it).
  • go is recognized-but-blocked (like react-native/flutter): the picker names Go projects and shows "not supported yet" instead of letting them fall through to the web variant. It flips to automatable when posthog-go ships its native-frames release.
  • Precedence: go/rust rank after every JS target but ahead of the web fallback, so a native project with a tooling-only package.json resolves correctly.
  • Deterministic hasPostHog for rust: the agent reports one boolean for any PostHog dependency in a project, which a stray JS SDK could satisfy — a comment-stripped read of the project's Cargo manifests for posthog-rs is authoritative instead. When the project manifest misses (a workspace root is often a virtual manifest with no [dependencies]), a bounded walk checks member manifests — caught by devbox testing against the rust-workspace fixture, which previously reported "missing the PostHog SDK" for the root selection.
  • Missing-SDK remediation copy for rust points at a manual crate install (the wizard can't install posthog-rs).

Warning

Merge gate: STEP 2 installs error-tracking-upload-source-maps-rust, which ships with context-mill PR #262 — release that first or every Rust run fails with ERROR_RESOURCE_MISSING. Old wizards are unaffected by the skill releasing first (they never resolve a rust variant).

Tests: full suite green (113 files / 1534+ tests), new coverage for target precedence, rust retained/blocked classification, go blocked classification, and the Cargo verifier (commented-out dep ignored, renamed dep accepted).

Review notes (codex, 2 rounds): fixed comment-stripped Cargo matching. Rejected: full TOML/workspace-inheritance parsing for the picker hint (documented looseness; the skill agent owns workspace mechanics — a workspace profile/target gotcha was added to the skill in #262 instead), and gating rust on the local OS for the Windows-PDB gap (production builds usually run on Linux CI regardless of the dev's OS).

🤖 Generated with Claude Code

@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 mcp-analytics
  • /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 mcp-analytics/custom-dispatcher
  • /wizard-ci mcp-analytics/typescript-sdk
  • /wizard-ci revenue/stripe

Results will be posted here when complete.

@cat-ph
cat-ph force-pushed the cat/upload-source-maps-rust branch from d4d491e to 58185e2 Compare July 29, 2026 13:08
@cat-ph
cat-ph marked this pull request as ready for review July 29, 2026 15:54
@cat-ph
cat-ph requested review from a team as code owners July 29, 2026 15:54

@ablaszkiewicz ablaszkiewicz left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚀

Comment thread src/lib/programs/error-tracking-upload-source-maps/prompt.ts
Comment thread src/lib/programs/error-tracking-upload-source-maps/prompt.ts
@cat-ph
cat-ph enabled auto-merge (squash) July 30, 2026 20:33
@cat-ph
cat-ph merged commit a62ab3c into main Jul 30, 2026
16 checks passed
@cat-ph
cat-ph deleted the cat/upload-source-maps-rust branch July 30, 2026 20:35
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.

3 participants