Dashboard › cli › Distillation
1bbef437-a39f-4601-b1aa-0d3ad7642713["lore_tm_v1_-qEfz-VqM7olcCvYJfIHCfYjA6hXjkDc3TkxYVaKuFo","lore_tm_v1_5mW8KfnbEcITYCCbZi0NHb3OyQ9J-dSnON5rs1Yd__Y","lore_tm_v1_bm-7Ojm_473WcHTqZ16-M7w8ZJkfyyeUNb5GrGlqr40","lore_tm_v1_3eNqbqUunlpNRgC9Dj-rNYKH3Z-8NghUMhK6x2wudDo","lore_tm_v1_kgn8toItFpRTgRsoMDi1eHdIaaAdxKZjRgOvQU0BK4g","lore_tm_v1_5CAYIeoikktz82pGyEEEZP3K5hUlR9Ya20XCokqGcFo","lore_tm_v1_WKFuqNlOEcsoWOlTHQvjvV24qaMfo6wLyFGld--Qq8U","lore_tm_v1_fR1y9O8aY7aUk27Pm3zOJMEhaal08vwdDXKqAiUkq5E","lore_tm_v1_7sdMswWbqx9dTA8UtBHcLRn4WD8NXr8wYvuWx90CirE","lore_tm_v1_Aywt3zYDaFttnLbTpr97vc_V-SctNC5W16Ca5TYta1c","lore_tm_v1_9LRCXMmhfmDns03J2I1om_A0EdR2jYX4UwSVVSTbTPA","lore_tm_v1_w_78O9paBktbyh56miB2spRLO6DslTl7UAeqhHKpjqM","lore_tm_v1_ZM9UCdl6z1BUzfecBT-EiXSRi8aYH_937810SZzclI4","lore_tm_v1__UPCVIwCkLyZ1igQMK6o_R9v8PPe7CjsWWSv7GcGxK8","lore_tm_v1_xIgix2bv7W18F4UGqbSe8d-YPDTxo2k_pv2AgrCjZRg","lore_tm_v1_-vu7V8twk_Hgv9jFjKocMwcfXq5J5kNznaPyRdoOolY","lore_tm_v1_dW8mbe6nKWrhJe7IZXZyBXqqKMlvz7D7EX7dwMnHtmk","lore_tm_v1_gkCX41ZcercLmTWpRCgj1IvY8ExtOMubMG7Hd7AQ9KY","lore_tm_v1_CV-KUAL1Hyk5yZa0HSV1zkaVRn_cuYLZi5gcEhjICvQ","lore_tm_v1_NXwMqKjeQzksaJQpr8w-TfiCxz4xKaJc05gA2NBtqp8","lore_tm_v1_P3xnkM8agaWJGVcPsAwwu28MP-CjNCW4gyatt5ww_Hw","lore_tm_v1_gQzkCoIQl7vayNmS-AuQbCy5FwdsupsFyGI7bAJd-to","lore_tm_v1_X44uL87sLOjzC1J0Zfnq7GcYr5mbRMDXiEDyiPZD1Mg","lore_tm_v1_Em8j807YoZRDRP2tDJ5N0X_tnmH4RS5_TS4Vhb8dNtQ","lore_tm_v1_KbV19qYlRsWVwzEe6q3wXmi85_cZeCPCwZMVnwS_51w","lore_tm_v1_izmiCB6kJAq-LgQKDPjg6_vfE_DIJS2tVWtW832NiTY","lore_tm_v1_zVjHk1itRmkPEamQDIOu_Ak4pmqR51UqbmbDSwH1Z7A","lore_tm_v1_PIoPG1WYJYGNRzggAIvfZ0HoCPlyVXTqkENzvy7zoyw","lore_tm_v1_n9wl04G-PLRp185IR-7G1bnKXwSXl1qK1ljrhDgS5JA"]
Date: Sep 10, 2026
export const schemaCommand = buildCommand({ at packages/cli/src/commands/schema.ts:290.PositionalInfo fields without conflating syntax with optionality; website argument-table rendering was routed through the existing pure Markdown helper module.packages/cli/src/lib/introspect.ts, packages/cli/script/generate-skill-markdown.ts, and packages/cli/script/generate-command-docs.ts.v4.1.10 run produced exactly 1 failure and 49 passes across 50 tests in 2 test files; warning: test.poolOptions was removed in Vitest 4 and its prior options are now top-level.matchExampleToCommand > project metadata retains create examples at test/script/generate-skill-markdown.test.ts:133: expected project.fullDescription to contain sentry project create my-new-app:javascript-nextjs; received metadata containing examples sentry project create my-app:node, sentry project create acme-corp/my-app:javascript-nextjs, sentry project create web:javascript api:python-django worker:node, sentry project create my-app:python-django --team backend, and sentry project create my-app:go --json.my-new-app:javascript-nextjs example came from the committed generated skill reference rather than command metadata. The tracked-artifact assertion was restored while new argument-table tests remained independent of ignored website output.packages/cli/test/script/generate-skill-markdown.test.ts.test.poolOptions deprecation warning remained.packages/cli/test/lib/introspect.property.test.ts, whose tuple property states it “always produces angle-bracket placeholders”; each tuple parameter must render as <placeholder> when required or [<placeholder>] when optional, defaulting to arg${index}.optional was expected to be false, variadic to be true, and the extracted placeholder not to contain ....extractAllRoutes property invariant that it “never includes hidden entries”; names represented only by hidden entries must not appear among extracted routes.packages/cli/test/lib/introspect.property.test.ts.test.poolOptions deprecation warning remained.TS2322 at src/lib/introspect.ts:306: object { syntax: string; placeholder?: string; brief?: string; optional?: boolean; variadic?: boolean; } was not assignable to PositionalInfo because placeholder widened to string | undefined while PositionalInfo.placeholder requires string.TS2322 as indexed-access widening during canonical-row replacement, not a metadata-model defect; the existing positional row was narrowed before replacement.packages/cli/src/lib/introspect.ts, followed by a typecheck with no output.lint/correctness/noUnusedVariables for unused escapeAngleBrackets() at script/generate-command-docs.ts:144 and formatting differences in script/generate-skill-markdown.ts.escapeAngleBrackets() helper left after moving argument-table rendering and applied repository formatting.packages/cli/script/generate-command-docs.ts and packages/cli/script/generate-skill-markdown.ts.packages/cli/script/generate-command-docs.ts now imports and uses formatCommandArguments() from generate-skill-markdown.js, removes its local PositionalInfo import, escapeAngleBrackets(), and formatPositionalsTable(), and calls formatCommandArguments(cmd.positionals).extractPositionals() changed array positional optionality from hard-coded optional: false to optional: params.parameter.optional ?? false, while retaining variadic: true.buildCommandInfo() now stores extractPositionals(cmd.parameters.positional) in positionals and, when cmd.__primaryUsage exists and exactly one positional row exists, replaces that row with { ...positional, syntax: cmd.__primaryUsage }.array extraction always remains required and variadic with array extraction preserves optionality and remains variadic; arbitrary optional booleans must be preserved, variadic must remain true, placeholders must exclude ..., and rendered syntax must be [<placeholder...>] when optional or <placeholder...> when required, defaulting to args.buildCommandInfo() for sentry project create must produce positional metadata { placeholder: "name:kind", brief: "", optional: false, variadic: true, syntax: "<name>:<kind>..." }.argument tables preserve canonical and variadic syntax, using commands sentry agent-conversation list, sentry agent-conversation view, sentry event send, sentry issue merge, and sentry project create.test.poolOptions deprecation warning remained. Debug output confirmed compatibility mappings including --org → SENTRY_ORG and --project → SENTRY_PROJECT for values acme, my-org, my-proj, new, my-project, new-org, sentry, cli, new-proj, flag-org, and flag-proj.ses_f7442aea8ffeGuQ0cw71ZWX7Ll was running; its work must not be polled, duplicated, or overlapped.kind: "array" matches: packages/cli/src/commands/build/upload.ts:178, monitor/run.ts:187, log/view.ts:512, log/list.ts:730, schema.ts:324, local/run.ts:366, replay/view.ts:360, issue/merge.ts:276, help.ts:36, event/view.ts:1082, react-native/xcode.ts:491, proguard/upload.ts:172, event/send.ts:142, docs/query.ts:40, project/create.ts:637, docs/list.ts:54, send-envelope.ts:26, debug-files/upload.ts:567, debug-files/find.ts:131, span/view.ts:384, span/list.ts:575, trace/view.ts:484, trace/logs.ts:130, dashboard/widget/edit.ts:212, dashboard/widget/delete.ts:85, dashboard/widget/add.ts:108, dashboard/list.ts:391, dashboard/view.ts:190, dashboard/create.ts:157, dashboard/revisions.ts:135, dashboard/restore.ts:72, cli/feedback.ts:41, and cli/defaults.ts:308.minimum; element-level optional does not determine whether an array may be empty. Planned resolution: align introspection with minimum and annotate only commands whose own contract requires one or more values.