Dashboard › cli › Distillation
d86f4165-4921-4903-89ef-707f833047af["lore_tm_v1_P9mf-CaqjeI5NkQdmw9386Geh39zQ8vJZsoaDfa_BCk","lore_tm_v1_SiL_SU-z8l5IWYemHhJaJi_j2bahecdZzskmtztKiN0","lore_tm_v1_lj3Igw5_lgfP_Skm1oYO_1sMNp511Cid1RPa0i-ELrk","lore_tm_v1_CYLPZNY655Wn4fuJ5WnHgpjVpShn_lZujzsJFrSA8Ks","lore_tm_v1_JN9TcWFf_Yms_fuMllnCt_SjKL5IoLmLq2YqRiPI1Jw","lore_tm_v1_2U5XQzZOZAKOKPAEUjgjuw7J9ZhN7gaIsf19sUvGAOU","lore_tm_v1_vGqfcXrU7oXS2nN8vqiUZEp3oEYF9Z9sJM6cp0CKqEE","lore_tm_v1_w3Xfx4UOvqDYrykEcxN4DcRxLSE-u6Rg4mISF-8FgP4","lore_tm_v1_Myg48oe2ifNiXscstG0lS9Ob4ipeaGVcqVfGoeYBE5E","lore_tm_v1_FpbMh2dmHTIRKiLUTq8e2sbkfkKysLe-uBhg0lIfDAE","lore_tm_v1_YWlOQXZDDisiy5mOB4KrRPEOccmjjlPr2xjY30D6CLE","lore_tm_v1_vEw6LYEKi2fpHkZW6UKVHZ8JXNcc7JWuknvCiGWiIS0"]
extractFlags in packages/cli/test/lib/introspect.property.test.ts asserts it “always returns one FlagInfo per input entry”; it also preserves every flag name and defaults boolean flags to optional=true when optional is undefined.getPositionalString asserts tuple parameters “always produces angle-bracket placeholders”; each generated parameter must appear as <placeholder> when required or [<placeholder>] when optional, with missing placeholders falling back to arg${index}.getPositionalString asserts array parameters “always includes ellipsis”; array positional output uses a placeholder ending in ....resolveCommandPath asserts an empty path “always returns null”; resolved command paths of kind "command" must start with "sentry ".extractAllRoutes asserts it “never includes hidden entries”; names that occur only on hidden entries must not appear in extracted routes, and route count must be less than or equal to the total number of visible entries.packages/cli/test/lib/introspect.property.test.ts expanded the tuple positional arbitrary from { placeholder } to { placeholder, optional: boolean() } and now verifies every required/optional placeholder’s exact rendered syntax.getPositionalString() in packages/cli/src/lib/introspect.ts renders tuple positionals by joining them with spaces; required parameters render as <name>, optional parameters as [<name>], and unnamed parameters fall back to arg${i}. Array positionals render as <name...> with fallback name args; absent/unsupported positional definitions return "".extractPositionals() in packages/cli/src/lib/introspect.ts returns tuple metadata with placeholder, brief, and optional; fallbacks are arg${i}, "", and false. Array metadata is one entry with placeholder ${name}..., brief fallback "", and optional: true; absent/unsupported definitions return [].extractFlags() in packages/cli/src/lib/introspect.ts normalizes each flag to name, brief, kind, default, optional, variadic, and hidden; defaults are brief: "", optional: def.kind === "boolean", variadic: false, and hidden: false, while undefined flags return [].buildCommandInfo() in packages/cli/src/lib/introspect.ts uses cmd.__primaryUsage ?? getPositionalString(...), includes structured positionals, maps metadata examples to # ${description}\n${command}, falls back to externally supplied examples when command metadata has none, and omits jsonFields when extracted schema fields are empty.pnpm --filter sentry run check:fragments completed with all 37 command fragment files valid (36 routes + index) and all 1 top-level fragment valid, but reported exactly 1 subcommand-coverage warning: apps/cli-docs/src/fragments/commands/proguard.md does not document upload; suggested adding a heading or code example such as sentry proguard upload. .env.local was not found, so execution continued without it.pnpm --filter sentry run generate:command-docs generated 36 command doc pages plus apps/cli-docs/src/content/docs/commands/index.md and apps/cli-docs/src/content/docs/configuration.md; .env.local was not found, so execution continued without it.fix/agent-conversation-reference-root-cause tracked deleted remote origin/pr-1558 [gone]. Modified files were: apps/cli-docs/src/fragments/commands/agent-conversation.md, packages/cli/script/check-fragments.ts, packages/cli/script/generate-command-docs.ts, packages/cli/script/generate-skill-markdown.ts, packages/cli/script/generate-skill.ts, packages/cli/src/commands/agent-conversation/list.ts, packages/cli/src/commands/agent-conversation/view.ts, packages/cli/src/lib/command.ts, packages/cli/src/lib/introspect.ts, packages/cli/src/lib/list-command.ts, packages/cli/src/lib/mutate-command.ts, packages/cli/test/commands/agent-conversation/list.test.ts, packages/cli/test/lib/command.test.ts, packages/cli/test/lib/introspect.property.test.ts, packages/cli/test/lib/introspect.test.ts, and packages/cli/test/script/generate-skill-markdown.test.ts.packages/cli/src/commands/agent-conversation/list.ts defines usage [<org>], making the organization positional optional; docs say the organization is auto-detected when omitted.agent-conversation list metadata includes 5 ordered examples: 1. sentry agent-conversation list (“List recent agent conversations”); 2. sentry agent-conversation list my-org (“Explicit organization”); 3. sentry agent-conversation list --limit 50 --period 24h (“Show more, last 24 hours”); 4. sentry agent-conversation list -q "has:errors" (“Filter conversations”); 5. sentry agent-conversation list my-org -c next (“Paginate through results”).agent-conversation list resolves an optional target via resolveOrg({ org: target, cwd }) and throws ContextError("Organization", "sentry agent-conversation list [<org>]") when resolution fails. Its pagination context includes query q and serialized period; pagination hints preserve -q, non-default periods, and the resolved organization.