Dashboard › cli › Distillation
bccbe1c0-94df-4e57-ad1a-7f26f0eaf362["lore_tm_v1_REv7JOd4f1rktIUp_n78U7GWlIgD3TgOV6ySGNGQA0k","lore_tm_v1_CWUPsKXQCt_d9LWAwQahXcFbobwHpkNNlM89LLmmXgQ","lore_tm_v1_JEJKIitjaNh_FuBBRNqGdMD2iNyXlkifl-cHko1n6hM","lore_tm_v1_xCRHFDsWC23q08PqoIFcZpEDtYvCqlpAMyQ_QEfznVk","lore_tm_v1_4e3N2luynhkVAHgjEztvDmOduuxzuzy32ZZVHWaDgyU","lore_tm_v1_s9xkfEZxKECHLbDP7naJwDbVPk0TwTTauYddxhGvO-Q","lore_tm_v1_e0wJbDZjYX_S7YvONLzoYXsqn9cfRzg1bRXckznC8h4","lore_tm_v1_ne_KpFqxKcFi9rfqe_b4IYmOMVBYPJyIHjCH5LrmsAw","lore_tm_v1_bDy2Q634c1js0gmayTtQpqYc9yiD4dtglpUOSoGRVu4","lore_tm_v1_ekk0ZiH-nqN2y2Bndc1-pacTFj4KRFXNEXqpAshylOg","lore_tm_v1_sbyfTQPfR_8x1w9gD1TAUop4DmBF6SAXknQumXHZR9s"]
file:line evidence or explicit PASS statements and residual risks, BLOCKED with the exact error if tools prevent inspection, immutable-target reverification after inspection, no modifications, and a final line exactly MERGE or DO-NOT-MERGE.bd065083c3b82677747b97a6cc7f5cf57532d3bc, head fc5d50e2324e2b6bb2067976bf1515dab45224fb, and triple-dot patch SHA-256 03c5772e78b393b3979c44754709d7f401bb37a71e5679b34c50a9cc8334c2d0.fc5d50e2324e2b6bb2067976bf1515dab45224fb, base bd065083c3b82677747b97a6cc7f5cf57532d3bc, and patch SHA-256 03c5772e78b393b3979c44754709d7f401bb37a71e5679b34c50a9cc8334c2d0.packages/cli/src/commands/agent-conversation/list.ts newly imports getPositionalString from ../../lib/introspect.js./.parseConversationTarget(target: string) in packages/cli/src/commands/agent-conversation/view.ts trims the input, treats an input without / as an auto-detected-org conversation ID, rejects multiple slashes via slashIdx !== trimmed.lastIndexOf("/"), and rejects an empty organization or conversation-ID segment. Both failures use validationError(..., [USAGE_HINT], "conversation-id"); this replaces the prior empty-ID ContextError.packages/cli/src/lib/api/conversations.ts:45-89 defines fetchConversationsPage(): constructs query parameters including per_page, statsPeriod, start, end, cursor, query, and project; calls apiRequestToRegion() at /organizations/${orgSlug}/agents/conversations/; validates with array(ConversationListItemSchema); and obtains nextCursor with parseLinkHeader().packages/cli/src/lib/api/conversations.ts:101-117 defines listConversations(): resolves the organization region using resolveOrgRegion(orgSlug) and delegates bounded cursor pagination to paginate().packages/cli/src/lib/api/conversations.ts:119-176 defines getConversationSpans(): defaults per_page to 1000 and statsPeriod to "30d", optionally includes project, loops for fewer than MAX_PAGINATION_PAGES, URL-encodes conversationId with encodeURIComponent() in /organizations/${orgSlug}/agents/conversations/${encodeURIComponent(conversationId)}/, validates with AgentConversationDetailsSchema, captures the first pageβs title, accumulates spans, follows nextCursor, and reports truncated: true if a cursor remains after the page cap.packages/cli/src/lib/api/conversations.ts:169-173 logs a warning when conversation pagination is truncated: Pagination limit reached (${MAX_PAGINATION_PAGES} pages, ${spans.length} spans). Conversation transcript may be incomplete.No files found, followed by File not found: /home/byk/Code/getsentry/cli-pr-1558/.agents.packages/cli/script/generate-skill.ts:873-895 builds .well-known/skills/index.json with SKILL.md first and remaining generated paths sorted by localeCompare; the manifest contains one skill named sentry-cli, description: SKILL_DESCRIPTION, and the sorted file list.packages/cli/script/generate-skill.ts:904-927 removes REFERENCES_DIR recursively with force: true, ignores removal errors, constructs each output path as ${SKILL_DIR}/${relativePath}, derives its parent using substring(0, lastIndexOf("/")), creates directories recursively, writes each generated file, and similarly creates and writes INDEX_JSON_PATH.packages/cli/script/generate-skill.ts:929-954 generates src/generated/skill-content.ts: sorts file entries by path, escapes backslashes, backticks, and ${, renders entries as template literals in SKILL_FILES: ReadonlyMap<string, string>, and writes the module to SKILL_CONTENT_PATH.PR Risk Action composite action accepts repo, pr-number, optional profile, history, model, result-path, skip-reviews, apply-label, label-prefix, and python-version; defaults include risk-pr-result.json, "true" for both skip-reviews and apply-label, "risk: " for label-prefix, and Python "3.11".PR Risk Action defaults an empty profile to ${INPUT_REPO//\//__}, history to $GITHUB_ACTION_PATH/profiles/$profile/pr-history.jsonl.gz, and model to $GITHUB_ACTION_PATH/profiles/$profile/model.json; it exits with an explicit stderr error if either file is absent.PR Risk Action invokes risk-pr score-pr --repo "$INPUT_REPO" --pr "$INPUT_PR_NUMBER" --history "$history" --model "$model" --out "$INPUT_RESULT_PATH" --summary-file "$GITHUB_STEP_SUMMARY", conditionally adds --skip-reviews, and conditionally adds --label-pr --label-prefix "$INPUT_LABEL_PREFIX".field when constructing the error β unfielded validation errors collapse into one Sentry fingerprint.βpackages/cli/src/lib/errors.ts:518-534 defines buildValidationMessage(headline, examples, note?): begins with the headline, renders nonempty examples beneath Try: with two-space indentation, renders optional diagnostic context as Note: ${note}, and joins lines with \n.packages/cli/src/lib/errors.ts:540-550 defines validationError(headline, examples, field?, note?), returning new ValidationError(buildValidationMessage(headline, examples, note), field); despite the documented requirement to always pass field, the TypeScript parameter remains optional.packages/cli/src/lib/errors.ts:558-565 defines ValidationError extends CliError with optional readonly field?: string; its constructor calls super(message, EXIT.VALIDATION), sets this.name = "ValidationError", and stores field.