Dashboard › cli › Distillation
8b20271e-e1be-4e38-b070-4b8c3ff23ec1["lore_tm_v1_Fw7dhJ2arNygcf_H4VlMPmP0jL-4dUXRT-K-Es0JW2M","lore_tm_v1_IJiWtm_VI8vaMOl2iQyEJWm62Y2aoDyNnpM-kxtPkcg","lore_tm_v1_7bXIMi2sPvS3iJSadqjb_Y90GeGe9vBsTLd1bg6t1ec","lore_tm_v1_uXz5JCUncVXNBki6EeBJ7vxschdiQD1DI37HaA-Jw6M","lore_tm_v1_3HxQ8La6ARJHTEvQXhCHyV07uINWe7GCPJLQShRyDpo","lore_tm_v1_O2kHyPLHPEVCx2jFCS9cSQ1GkQmKPgw7hNNmiF6fOoI","lore_tm_v1_1QDCxezEIkThSXv_yf9JO49_38odIkmkbKtljHtAhdk","lore_tm_v1_C6oZo1N4NCm6d0CvS3eqpI62_wrdnpcv6w-340cEFaw"]
bd065083c3b82677747b97a6cc7f5cf57532d3bc, head commit fc5d50e2324e2b6bb2067976bf1515dab45224fb, and triple-dot patch SHA-256 03c5772e78b393b3979c44754709d7f401bb37a71e5679b34c50a9cc8334c2d0.file:line evidence or an explicit PASS statement plus residual risks/testing gaps.BLOCKED with the exact error.MERGE or DO-NOT-MERGE..github/workflows/pr-risk.yml defines PR Risk Experiment, triggered for pull requests on opened, synchronize, reopened, and ready_for_review; permissions are contents: read, pull-requests: write, and issues: write; concurrency group is pr-risk-${{ github.event.pull_request.number }} with cancel-in-progress: true..github/workflows/pr-risk.yml lines 17β36 defines the non-draft risk job on ubuntu-latest: getsentry/pr-risk-action@v0 scores the PR into risk-pr-result.json with skip-reviews: "true" and apply-label: ${{ github.event.pull_request.head.repo.full_name == github.repository }}, then actions/upload-artifact@v4 uploads artifact risk-pr-result.getsentry/pr-risk-action@v0 exposes inputs repo, pr-number, profile, history, model, result-path, skip-reviews, apply-label, label-prefix, and python-version; defaults include result-path=risk-pr-result.json, skip-reviews="true", apply-label="true", label-prefix="risk: ", and python-version="3.11".risk-label, final-risk-label, final-risk-policy, logistic-risk-label, rule-risk-label, logistic-probability, logistic-percentile-repo, rule-percentile-repo, and github-label, all sourced from steps.score.outputs.actions/setup-python@v5, install with python -m pip install "$GITHUB_ACTION_PATH", and execute under set -euo pipefail; the default profile is ${INPUT_REPO//\//__}, default history is $GITHUB_ACTION_PATH/profiles/$profile/pr-history.jsonl.gz, and default model is $GITHUB_ACTION_PATH/profiles/$profile/model.json.PR risk history file not found: $history or PR risk model file not found: $model when required profile artifacts are absent.risk-pr score-pr --repo "$INPUT_REPO" --pr "$INPUT_PR_NUMBER" --history "$history" --model "$model" --out "$INPUT_RESULT_PATH" --summary-file "$GITHUB_STEP_SUMMARY"; it conditionally appends --skip-reviews and conditionally appends --label-pr --label-prefix "$INPUT_LABEL_PREFIX".packages/cli/src/app.ts has exactly 3 UnsatisfiedPositionalError matches: import at line 6, explanatory comment at line 227, and runtime check at line 312.packages/cli/src/app.ts lines 205β243 derives routesWithDefaultCommand dynamically from top-level route entries whose targets are route maps with getDefaultCommand(). detectBareRouteGroup() filters process.argv.slice(2) to tokens not starting with -; when at most one non-flag token names such a route, it returns Usage: sentry ${route} <command> [args]\nRun "sentry ${route} --help" to see available commands, optionally wrapped with warning().packages/cli/src/app.ts lines 246β260 implements detectPluralAliasMisuse(): when args[0] is in PLURAL_TO_SINGULAR, it suggests sentry ${singular} ${args.slice(1).join(" ")} and optionally wraps the suggestion with warning().packages/cli/src/app.ts lines 263β286 implements formatSynonymError(): only CliError instances with a suggestion from getSynonymSuggestionFromArgv() receive Error: ${exc.format()}\nTip: ${synonymHint}, with optional ANSI coloring; known synonym mistakes skip Sentry capture.packages/cli/src/app.ts lines 288β296 makes OutputError, AuthError with reason not_authenticated or expired, and ApiError with HTTP status 401 or 403 escape to outer middleware.packages/cli/src/app.ts lines 305β339 customizes argument-parse errors: UnsatisfiedPositionalError first attempts the bare-route hint; UnexpectedPositionalError first attempts a plural-alias suggestion and then a known-synonym tip; otherwise it delegates to text_en.exceptionWhileParsingArguments.packages/cli/src/commands/agent-conversation/index.ts defines conversationRoute with routes list: listCommand and view: viewCommand, defaultCommand: "list", brief List and view agent conversations, and a full description naming list as βList recent agent conversationsβ and view as βView a conversation transcriptβ; hideRoute is {}.packages/cli/src/lib/command.ts lines 1β30 documents that every command must import the local buildCommand, not buildCommand from @stricli/core, because direct Stricli usage bypasses telemetry and global flag handling.packages/cli/src/lib/command.ts lines 17β21 documents output-mode injection: an OutputConfig injects --json and --fields; commands yield branded CommandOutput objects and may return a { hint } footer; commands defining their own json flag retain it.packages/cli/src/lib/command.ts lines 97β114 defines CommandExample with readonly description and complete command, and extends Stricli command documentation with optional readonly examples; when customUsage exists, its first line is the canonical signature suffix and later lines may document equivalent forms.packages/cli/src/lib/command.ts lines 116β142 specifies all command functions as async generators: non-streaming commands yield one CommandOutput<T> and may return { hint }; streaming yields render immediately; commands supporting --json must yield one aggregate value when callers require one parseable JSON document because individual chunks are pretty-printed rather than JSONL; void commands may return without yielding for early exits such as --web.packages/cli/src/lib/command.ts lines 157β188 documents that output configuration auto-injects --json and --fields, ignores void yields, and that authentication defaults to true; expired tokens with a valid refresh token pass the initial guard, auth: false is for intentionally unauthenticated commands, and auth: "dsn" bypasses both the token guard and .sentryclirc URL trust check.packages/cli/src/lib/command.ts lines 192β198 defines skipRcUrlCheck?: boolean, defaulting to false; it is intended for trust-establishing or trust-removing commands such as auth login and auth logout.