Skip to content

Integrate full Sentry telemetry and dSYM uploads#409

Merged
baron merged 13 commits into
mainfrom
wt/full-sentry-integration
Jul 7, 2026
Merged

Integrate full Sentry telemetry and dSYM uploads#409
baron merged 13 commits into
mainfrom
wt/full-sentry-integration

Conversation

@baron

@baron baron commented Jul 7, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • integrate Cameron Cooke's Sentry telemetry stack into one branch/PR while preserving Cam-authored commits in the PR history
  • reconcile the stack with the current minimal Sentry runtime wiring on main
  • add typed Sentry telemetry models/bootstrap and instrumentation for MCP, context builder, workspace actions, Agent Mode, Codex runtime, and session persistence
  • add release dSYM generation/upload tooling for Sentry-enabled release flows

Attribution / history

This branch intentionally preserves Cam's original Sentry commits in outgoing history. The integration commit is a merge-style reconciliation commit with parents:

That keeps the Cam-authored commits visible in the PR history while allowing this branch to resolve conflicts against the current main state.

dSYM / release flow

  • Sentry-enabled release packaging generates dSYMs under .build/sentry-symbols/release.
  • The staged release artifact carries those dSYMs into the publish job.
  • Publish signs/notarizes/staples the app, then uploads debug symbols with sentry-cli debug-files upload when Sentry credentials are configured.
  • The workflow writes SENTRY_AUTH_TOKEN to a protected temp file and passes REPOPROMPT_SENTRY_AUTH_TOKEN_FILE; raw tokens are not passed through release command args.
  • Source-context upload is intentionally not enabled (--include-sources is not used).

Privacy posture

  • Telemetry uses typed enums/counts/buckets/booleans.
  • Unknown raw tool/action names collapse to safe domains/defaults.
  • No prompts, file paths, tool args/results, payloads, raw unknown names, raw model names, or user content are intentionally emitted.
  • Artifact manifests record only telemetry_enabled, not the DSN value.

Validation

  • Final manual review: clean tree, git diff --check, conflict-marker scan, Sentry upload flag check, outgoing author/history check.
  • make dev-format
  • Focused release tooling tests:
    • test_sentry_symbol_upload_helper_uses_token_file_without_logging_secret
    • test_sentry_symbol_flow_is_explicit_secret_safe_and_release_only_by_default
    • test_release_sentry_runtime_wiring_uses_protected_dsn_and_stable_resolution
  • make dev-swift-build PRODUCT=RepoPrompt
  • Contribution preflight before commit: .agents/skills/rpce-contribution-check/scripts/preflight.sh commit
  • Contribution preflight before push: .agents/skills/rpce-contribution-check/scripts/preflight.sh push

Not run

  • Visible app launch / live smoke, intentionally avoided.
  • Full Sentry-enabled release publish with real credentials.
  • Full PR-ready lane (preflight.sh pr-ready).

cameroncooke and others added 11 commits June 29, 2026 22:39
Add an opt-in REPOPROMPT_ENABLE_SENTRY build gate that links sentry-cocoa and defines REPOPROMPT_SENTRY_ENABLED, register the sentry-cocoa license, add the DSN Info.plist slot, and document the telemetry privacy model. Refs GH-183
Integrate cameroncooke's Sentry PR stack into the full Sentry worktree while preserving the original Cam-authored commits in branch history.\n\nParents:\n- origin/main baseline\n- origin/pr/331-sentry-09 (contains PRs #326-#331 plus earlier telemetry stack commits)\n- origin/pr/332-sentry-10 (release dSYM tooling)\n\nReconciles the stack with current minimal runtime wiring, keeps privacy-safe telemetry defaults, and removes source-context upload from Sentry debug symbol upload.
Comment thread Sources/RepoPrompt/App/RepoPromptApp.swift Outdated
@baron baron merged commit 84eb163 into main Jul 7, 2026
7 checks passed
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