Dashboard › cli › Distillation
968587fd-97d3-4b43-bb7b-faac8b2a7c5d["lore_tm_v1_z_EJpwNwP7lTu2RUuCfi34X60p6s1Hqa-9Sq5XjHxB0","lore_tm_v1_FB9lD6xAvIAu497vrHRafINjs-1lGYUE50U7aVC2_68","lore_tm_v1_OSyQ4kX_TzBp_bZL60VdFYDlS_jluktwTHkuO3hnZGQ","lore_tm_v1_no92E-JKDryP0A1OoyEACJ2vDVzr3Lk4bFsIts2Liy8","lore_tm_v1_jpKqKKdMw7RQHgih0XPF927IL2zJwqhcQ_6vL64qJiE","lore_tm_v1_CBfTz23P0S4IlPY3vEjKQgw3g-FFdkUEiCzflYU81M8","lore_tm_v1_yd06oHpboazHmcrUMEerBeag4jdOiL7GtR-WBs_UdfA","lore_tm_v1_y7ZVfk2bM_ldzHyXRmOG1b45c1X9g4xi_ib-YaxWDoE"]
Date: Sep 10, 2026
/home/byk/.local/share/opencode/worktree/0e8c2f3bbe145a3280d6fb6ed900a5121f382cf0/glowing-cactus and base revision HEAD=605e8318d.d6fb08a6fc3ccdd14c52020f745eb20893148998, computed using git diff --binary | git hash-object --stdin; it must be verified before and after review, with the result classified BLOCKED if it changes.packages/cli/src/lib/sentry-client.ts, token-host.ts, env-token-host.ts, db/auth.ts, region.ts, db/regions.ts, oauth.ts, constants.ts, resolve-target.ts, and corresponding tests.SENTRY_AUTH_TOKEN is an sntrys_ token with an embedded custom URL and neither SENTRY_HOST nor SENTRY_URL is explicit, requests must use the token claim URL.SENTRY_FORCE_ENV_TOKEN is active.NULL stored-host migration provenance to be preserved.NULL-host stored OAuth row plus an inactive forged environment-token claim was incorrectly migrated/routed to the forged claim.PASS, CONCERN, MUST-FIX, or BLOCKED; defects must include a deterministic regression and concrete fix; the report must state reviewed scope and residual risks and end with exactly MERGE or DO-NOT-MERGE.package.json for the latest scripts; commands run from packages/cli or via pnpm --filter sentry run <script> from the repository root.devDependencies, never dependencies, because everything is bundled at build time with esbuild; CI enforces this using pnpm run check:deps.pnpm add -D <package> when adding a package, including the -D flag.execFileSync with array arguments over execSync with a string when passing user-controlled values, to avoid shell injection.buildCommand from ../../lib/command.js, never directly from @stricli/core, because the wrapper adds telemetry, --json/--fields injection, and output rendering.stderr.write() in command files via a GritQL rule; diagnostics should use logger, and data output should use CommandOutput.parseSlashSeparatedArg from src/lib/arg-parsing.ts for the standard [<org>/<project>/]<id> pattern; required identifiers such as trace IDs and span IDs should be positional arguments rather than flags.paginationHint() from src/lib/list-command.ts for bidirectional navigation strings; callers pass prebuilt prevHint/nextHint command strings, and must not manually assemble navParts arrays.CliError from src/lib/errors.ts.pnpm run check:errors includes a silent-catch scan that flags empty, comment-only, or return-only catch blocks that do not surface errors; it is advisory due to a pre-existing backlog, can be enforced with SENTRY_STRICT_SILENT_CATCH=1, and new silent catches must not be added.test/lib/*.property.test.ts, model-based tests in test/lib/db/*.model-based.test.ts, unit tests in test/ mirroring src/, and E2E tests in test/e2e/.test/model-based/helpers.ts.packages/cli/CONTRIBUTING.md defines context resolution precedence as: 1. positional arguments (<org>/<project>) always win, 2. config defaults from sentry config set, 3. DSN auto-detection from SENTRY_DSN or source code.packages/cli/CONTRIBUTING.md says new commands should: 1. choose list or view patterns, 2. use resolveOrg() or resolveOrgAndProject() from lib/resolve-target.ts, 3. support --json, 4. support -w/--web for view commands, 5. use ContextError for missing context, and 6. add E2E tests under test/e2e/.