Dashboard › cli › Distillation
07fc29da-875d-43e6-9478-c606cbd8b642["lore_tm_v1_KfjCxdgYdgQkh7QqmdWe8bxFZtMz250tbF3OxRmy9Xw","lore_tm_v1_Sq2M0_q8cdOaUxP6lxGZzSMbDV11hw2WdLSPPl0jTsY","lore_tm_v1_OpcjteFApiV9P46Sjm_1dwLYA8RjcoKQQUPzVy36214","lore_tm_v1_-oy-mGIb5HbqQM4xGHEygsIgR_5wlgPAvWO6-5-GrI4","lore_tm_v1_6QWz32T_nKLgpG1Sf4sKV1ziiG36aY_TZ5Fx61Kg3cA","lore_tm_v1_2aVPc7gVa2bRMYgUVBPjI_1lRqjh1qcPmZ0-RmRj1Ks","lore_tm_v1_VTh4EFip1VmJNP1DfEmgYBjRrVLEchLokkNTgKLoZhQ","lore_tm_v1_UpUK6UY_jvFSKwt-J1dJV4UZzK9Ld01zPl5bu42hfKI","lore_tm_v1_QLZkTDtL8fNfBFUluI7qg-lfrcvEn6tyN0XxZXxQ3uM","lore_tm_v1_8Ea2TTrbo4X2SYSl1VQ68SHnFKdnpPs0ih7GLD5T6WU","lore_tm_v1_Lg30ISFhpiL9NPaax0dtD0Xn4mgmrh02x5Gj8kzkUAc","lore_tm_v1_JZhTN61AU78HWi2t1kbQ9R28Awod-ofK_Rf2icFJMBw","lore_tm_v1__oJ14d0WmQ9xG7s9dKHDP74Zwc2d5yZmyOPCUVE4Ce4","lore_tm_v1_Le6ArYKCJZ4qypX2sJ0aX5_Di-hM5akaGHOCicYkPWE","lore_tm_v1_1wu8FhubKZBXiM5xfU9dMTCer7CpnWL2Z1aklKXSq8o"]
minimum; minimum: 0 or an omitted minimum means zero values are accepted, while the element parserβs optional field does not represent collection cardinality.packages/cli/test/lib/introspect.test.ts and packages/cli/test/lib/introspect.property.test.ts.extractPositionals() and getPositionalString() read minimum, while zero-minimum arrays should already demonstrate optional bracket syntax.v4.1.10 validation produced exactly 3 failures and 57 passes across 60 tests in 3 test files; the Vitest 4 warning remained that test.poolOptions was removed and its options are now top-level.property: getPositionalString > array extraction preserves cardinality and remains variadic failed at test/lib/introspect.property.test.ts:187 after 1 generated test with seed 1328177911, path "0:0", counterexample ["",false], and 1 shrink; expected true but received false at line 195.getPositionalString > wraps optional array placeholders in brackets failed at test/lib/introspect.test.ts:143: expected [<file...>] but received <file...>.extractPositionals > preserves optional variadic semantics failed at test/lib/introspect.test.ts:212: expected { placeholder: "file", brief: "Optional event files", optional: true, variadic: true }, but received the same metadata with optional: false.minimum and maximum to the simplified Stricli positional-array type in packages/cli/src/lib/introspect.ts; array optionality now derives from minimum being absent or zero, and element-level optional remains irrelevant.packages/cli/src/lib/introspect.ts.v4.1.10 validation produced exactly 2 failures and 58 passes across 60 tests in 3 test files; the Vitest 4 test.poolOptions deprecation warning remained.buildCommandInfo > prefers a public positional syntax override failed at test/lib/introspect.test.ts:339: sentry project create retained { placeholder: "name:kind", brief: "", syntax: "<name>:<kind>...", variadic: true }, but inferred optional: true rather than expected optional: false.matchExampleToCommand > argument tables preserve canonical and variadic syntax failed at test/script/generate-skill-markdown.test.ts:173: issue merge rendered | \[<issue...>]` | Issue IDs to merge (2 or more required) |instead of required syntax| `<issue...>` | Issue IDs to merge (2 or more required) |`.sentry project create test command and the real issue merge command describe required arrays but do not declare a Stricli minimum.packages/cli/src/commands/agent-conversation/view.ts: viewCommand declares one tuple positional with placeholder: "org/conversation-id", brief [<org>/]<conversation-id> - Org (optional) and conversation ID, parse: String, and optional: true; func(this: SentryContext, flags: ViewFlags, target?: string) deliberately throws new ContextError("Conversation ID", USAGE_HINT, []) when target === undefined, throws a validationError("Conversation ID cannot be empty.", [USAGE_HINT], "conversation-id") for blank input, then parses the target with parseConversationTarget(target).packages/cli/src/lib/command.ts: prepareNativeDocs() removes extended examples from native docs and appends examples as ${command} # ${description} under an Examples: section; attachDocumentationMetadata() stores the first docs.customUsage input as __primaryUsage, overrides formatUsageLine({ prefix }) to join the prefix with that input, and stores docs.examples as __examples.ALWAYS_STRIP flags are βalways stripped (command never sees them).β In packages/cli/src/lib/command.ts, ALWAYS_STRIP = new Set([LOG_LEVEL_KEY]).GLOBAL_FLAG_DEFAULTS in packages/cli/src/lib/command.ts: [LOG_LEVEL_KEY]: LOG_LEVEL_FLAG, verbose: VERBOSE_FLAG, org: ORG_FLAG, and project: PROJECT_FLAG.packages/cli/test/lib/scanner-flags.integration.test.ts, documenting that patch packages/cli/patches/@stricli%2Fcore@1.2.8.patch allows global flags --verbose, --json, --org, --project, --log-level, --fields, and alias -v at any route depth; recognizes --version at any depth; exposes documentation.renderHelp for structured --help --json; and replaces the old argv-glue/argv-hoist preprocessors.packages/cli/test/lib/scanner-flags.integration.test.ts: omitted agent-conversation view must exit with EXIT.CONTEXT_MISSING, include Conversation ID is required and sentry agent-conversation view [<org>/]<conversation-id>, and exclude Expected argument; a supplied " " target must exit with EXIT.VALIDATION and include Conversation ID cannot be empty plus the same usage.packages/cli/test/lib/help-positional.test.ts, whose recovery contract is that positional "help" displays command help only after a command throws a CliError; a legitimate successfully resolved value named "help" remains usable.packages/cli/test/lib/help-positional.test.ts: 1. sentry issue list help recovers from project-slug resolution failure and shows sentry issue list, --help, and Tip; 2. sentry project list help shows sentry project list and --help; 3. sentry span list help shows sentry span list and --help; 4. the issue-list stderr hint contains sentry issue list --help; 5. sentry trace view help recovers from hex-ID ValidationError and shows sentry trace view plus --help; 6. sentry log view help shows sentry log view plus --help.packages/cli/test/lib/help-positional.test.ts: 1. sentry help retains branded output and does not print a recovery Tip; 2. sentry help issue list shows introspected sentry issue list help without a Tip; 3. sentry help project create includes sentry project create [<org>/]<name>:<platform>... without a Tip; 4. agent-conversation --help includes sentry agent-conversation view [<org>/]<conversation-id>, excludes <org/conversation-id>, and does not print a Tip.project create --help contract assertions in packages/cli/test/lib/help-positional.test.ts: generated help for route sentry project create must include sentry project create [<org>/]<name>:<platform>..., exclude --platform and <name-or-platform>, and include cannot contain whitespace.--platform and -p are rejected when running ["project", "create", "my-app:node", flag, "javascript"]; stderr must include the rejected flag and match /No (flag|alias) registered/.minimum, to avoid replacing deliberate fielded CLI errors or breaking flag-only modes.mergeCommand: test/script/generate-skill-markdown.test.ts lines 14 and 153; test/lib/introspect.test.ts lines 133, 150, and 191; test/lib/introspect.property.test.ts lines 178 and 192; test/commands/issue/merge.func.test.ts lines 9, 77, 93, 105, 118, 142, 165, 192, 211, 233, 252, 297, 321, 351, 375, 411, 443, 470, 503, 530, 563, and 590; and test/commands/project/create.test.ts line 774.packages/cli/test/commands/project/create.test.ts:774 requiring the error message to contain Project specification is required.