Dashboard › cli › Distillation
a8b6b8c7-88f5-41b6-bba4-26da2b4e3902["lore_tm_v1_7RmY1uEeBoiPYcgsiPnxCv6uUT3LhGb130oaOV8BxIQ","lore_tm_v1_PPqOh9bEwUhVpMIueAl_uOHN7raCI4TCZLI68EnSw5c","lore_tm_v1_THbBn6zfQxvbswwGFl5hq0T_uRq9Xqm--EJ4ffTnYpo","lore_tm_v1_dt2UOndPCKgMgCkyKNxeQpPe_qPH5SKH_cJsdMKWvxs","lore_tm_v1_1TZf5Hb1OLcz849hWFKyJM7GHc9d0YKiDyyW_c-jScc","lore_tm_v1_5YbR25KJroCTI-F3riCdflcy9qp8zx2qiTHUuYkFAWA","lore_tm_v1_7viFQZfBox_8i0BJio-8cLlNn9LkPLoJwFhTGLZbG0k","lore_tm_v1_yRQmArZEKpeVpwDxe8yw8q0PYHb-Mq9LYZXKbQDVDOI","lore_tm_v1_Gcs_93ufC_Yj5MqNhwOqzWHoiKYLsgSq0Lluei0YxyY","lore_tm_v1_WLb8SjEiBAKhuJ7LchoekYXIGM2y4M60ure8p-ROYFY","lore_tm_v1_MY-MxTHdIgFOJZdK1R6-d1ZKtqFx9dXDVdHKLhm7KtQ","lore_tm_v1_M8ZNrQQFg3RY10_pfTwAANCgZzl830D2ZGIJSIt4Cbo","lore_tm_v1_NTICXTkpdM7CxpwPN9242Cg62guDE4b1b03ChbTsBGw","lore_tm_v1_y48_l9wg4rCGsXs1raOKvACJCfsEXidrhrPQGLYKj5c","lore_tm_v1_BEi2uzTTPgAgQQ9xj6q-tT32umVuBvNbHupa1k1wBf8","lore_tm_v1_jrkc41xhnFzr0QTw1eYbI0Rkbi7sdJom9s1I4Hfj6BM","lore_tm_v1_kox2p8x8u7aj5TOB5e36JWtboNGY_krN-HK5cM8jhKI","lore_tm_v1_Dk72agEnJpOSZjLLvUkyyGcxtJaZ0pnQTMtGdxPeP2E","lore_tm_v1_YKdVOChAyKP1HCpEECiIKXLX2MIIfft2DRZX6bgH7bE","lore_tm_v1_mOgRZeSru0xrNQH707V_9nBezj9_Sl_TWTV33yCZK-U","lore_tm_v1_PxklewwgYU7ATF-LWs-UZzgVNcGYc7DLil6hekLZcWQ","lore_tm_v1_myZMmP87Qlnf0OGIZrzWjuxxFh-LhT8jBiTMqyScVu0","lore_tm_v1_V22iXvy_RLZeF7rNuFiAbEl9gFSzuTNks_kxUmm0cKc","lore_tm_v1_xuiTEBAtX5iTMAJ_aBsBglZkIPr1JVR1c3gQeaQYXy8","lore_tm_v1_eUhoByrKYYcQZNd6LSqT9uNW0Mp-nU_oveTy6veXJls","lore_tm_v1_ZVA-Me4_fb-rswCmug1e217S7Y2kCRb-ahKzMHiBgFo","lore_tm_v1_Sq7zVHRjUxyd2GRKdwB67XLvWg_iwhwfVxB02FjpuTg","lore_tm_v1_3qj9oy0Z5ferpl_e-uNbnFCa5NcBtE5Q6iCV549Tvik","lore_tm_v1_vzmgt2u5yCeObnitGsJMIhLtK5GD0zbjT1tnzv0LT5E","lore_tm_v1_n-7ml4an6JEBXn-CsQ_-4Qq5VcDxZwNUck8RzzDavlo","lore_tm_v1_FnjWlAuaKTGtPVvnH4y-aEkYcBrLXfQypmSXL3OSPwM","lore_tm_v1_JZE55_yK75Ul8m-RGqrgdYS26oeXwtylbkLJaM6wjIQ","lore_tm_v1_5Ih4KsvYZGALQqvYvN2n5Nh9Ncx9x0DYVZhTyq9VWds","lore_tm_v1_KwyA6cpcYmUcdZyO3jWTDfdRJXQRzM0exZeBCDlIkIc","lore_tm_v1_GLct5fx7qb2E3nkuaooukouEeP28p5SEgDitErsDAL4","lore_tm_v1_98CBWs3Xv-Taa06_yOnRNiIlQVmciLxy94FAd54oExo","lore_tm_v1_cNxC-PksSH5V5TGQ0riqCQD-ixxTflXpnchNdVHU7HI","lore_tm_v1_dLX5RLOCOz7El7ByJusIg2HxgEwt2-nXYwvcIMZPAOs","lore_tm_v1_3FHj34Wr-4mfbmih_XXJ04Ks2RJGY-fIO-PergNh8Ro","lore_tm_v1_OK_LbIAVRWgU6P1OvJuOKIcegz8mMLgVKks0eUxpBBg","lore_tm_v1_x-ORwd-mX3RtP9QbihtbS4daORkUtsVmsaCXvCRiF54","lore_tm_v1_0dJK_ReBndjbg7lDjhCJtDNCZkZrzsTYgAOoTKqmx1I","lore_tm_v1_qEjePtzIpgW62cYorsfAtZfUck-H9Uyo9XstmU-wZrQ","lore_tm_v1_kf6zqpdSMlGcc05VxyORSbMuxGrQjwR52KQIObdJUN4","lore_tm_v1_xehrWAtjoExWqcGysPNgQ9q53lNFLyjCATsJ2XSTb_0","lore_tm_v1_DcckHChWCJRNsEAXeG5bja1fIjoLTnsk-GGMVrg4zSo","lore_tm_v1_hiP_pTp40H7XwhI3RFxQg2QEgezZQ34mtZA0IoX7SS0","lore_tm_v1_n1ixIMCTc3RZIfdnKR-COggYVwgKMXLZr0VmG8zbx-o","lore_tm_v1_QVqbyoiVgY6cI-ztM9RHxHx_ehcjvv3wo7urcTQwsKA","lore_tm_v1_P8VTcDxlVjNvBornoMUyGP8DZxbI8DMKXk1t1Qf83ww","lore_tm_v1_XA4oJwXfGRC2r24QwxypZg06bIjPYNtH1yHIiISlE_E","lore_tm_v1_pmhm7xCAncTUWkSYUBOOjyvj6b6HeeXM0t14AsUdlJs","lore_tm_v1_SvdvfFQKsGJlOdntPmrWQopFIMsbDbKGOrkTo5Tjmyg","lore_tm_v1_RNKbEZ-W0Bc4MxNLccVa-lxwuLc69GrwfAocxaA_DpQ","lore_tm_v1_pFYsOeBIoHKY879ZkmDixeTpkNBnpwK32ttCp8ym2DA","lore_tm_v1_4to9pO_3NUV5xh41dM2TNRqEzoMe4E5pU60V1lFb-ZI","lore_tm_v1_PIRel4rgWbAg8wWKBzay4fKGS6zcShabLWdRf0V56jk","lore_tm_v1_ouv4on5Ic9TLCaodurRtQgfCEl5AqN0hZm5zU2O-QEw","lore_tm_v1_TKPoesqqc98bmoZ6bltYnfniSusYQFWl8xOx8to-7Qc","lore_tm_v1_18-n5fGawfHTmHxpi4aKtKT9W_08E9tdqxTMmEIxov0","lore_tm_v1_Nrd2jyw8n-tjXR5MuMHeilHKCjXFM0mUJivRyKWRaoc","lore_tm_v1_g3JW3ZYfJ2WrgEzAN2iNqBFlopTT1Cwe5W3hiPaN2b4","lore_tm_v1_OPoupZJaf6xoeCtPChDsXHU7wSIVq8J2AJrSPSidBDc","lore_tm_v1_voBwgLTaP2zmhVMw3PJzUmVotkJAhoYWtH5zdQkherE","lore_tm_v1_Y0-ti_zQL7JHweKX5qoRUuYYaWSIOncuTafiP4AC3OY","lore_tm_v1_CD7jYWWOEv5Bq9oy_resOZKfNzDVd3C1bDZ9DMqKhg4","lore_tm_v1_j2V-an5IJELjNrk75Jx3rNxbg_S91YWL9jzMzuhjarc","lore_tm_v1_9EwQeSWXKrlHTkFdqWCgOddtpdxYBVwu7FM5-uYHOlo","lore_tm_v1_vFOpbxYU4l5ptL-rpSRn-6hejxILRtaR8WEBkW0Zl5E","lore_tm_v1_m6zhc9AAlscG9DdlIGaFwKXT9x5UvsGrh07S7ZuM86Q","lore_tm_v1_Mu-D4Z9-bVCjLT35BG4LAIuCiXeiSmzyzR7YzqSLu3c","lore_tm_v1_wddIHdb8wYGuFD9Z5FqBMqROIIi5yG4Ox2SmPdl8a1w","lore_tm_v1_Mnaj9xawH8Vek9bJctlg7J39TL04hrHEteRaTMe_8ds","lore_tm_v1_nxEBRqtBw_cxs1rYNUxYkq2-QtS85PDQXsDsSQTlIHM","lore_tm_v1_iOOo2nd6_hfld8QOVWf7KiuVx-9gYCgT9c2j8EXQUm0","lore_tm_v1_xNGEC2vNuVvwSo2t6hruvr2s9pdgIQR0hUDqr5s6STo","lore_tm_v1_sI4jQw0GpfXNAbmhTyZ-kMhDrf1Pg6k6l7SPcnvNWJs","lore_tm_v1_uBiuriD7A1y50A0MOZaA4e7i2Lg9eIyF_3xoG2p5VQM","lore_tm_v1_DUU-qevvULlk5mVfhmXUmEp2g4HQ_Z2zlMKZ_pbPcU0","lore_tm_v1_T9rpbTe_HUkAq9J4yrjwOfdPikz7Qo_N26Hy8rDKk1U","lore_tm_v1_DvSBYr51osvHuTpQfMASiYhO3mKoGfOP30Npp42JuC4","lore_tm_v1_OQlfQiWwkzAm-zFlONRQHYfJ9v86QVVw4CAYnOYyCmM","lore_tm_v1_NO1v6CNcr1rpCwxEkNjpLFFlDwQwNi1VJDDXyFvYXuQ","lore_tm_v1_Usb6sbp5y_SyU0MtILZb0cJNNfZvEs_Kxc6bJfzqm38","lore_tm_v1_L5n1ayp2B2TtenLdjkFTIGUXyP6t6Q5OEAGs2JMEmM0","lore_tm_v1_NBbIE2iAF5N4nqQ00fmT7yptynpNMFqA46dNI508rNg","lore_tm_v1_BZndnlyhBHhXTt-Dg2rR57iZ9RsNIQ9HWu0ka6P0y8M","lore_tm_v1_SnVVB9Pw0E_DubwfNVyaWS3oWKce4kywTy37HmuWOlA","lore_tm_v1_Nm301hfaf3aSG88AKBJmuj9UusHEve9O4bva1ckpooQ","lore_tm_v1_ZdiZClykgFAvOeHKZOOjtQQPEfhF5-8-o-vNuYuLpbs","lore_tm_v1_3kikgWY_7NSN5CAqbwW6hhcrSu7WncD1_BXjedkJ8TA","lore_tm_v1_6WTDsCedStIT9Rljn2xRwGWFgNGlhHActbPgMsuRw3k","lore_tm_v1_ZsDMGi_aPtxOmQRCLLTZOP4z3B9tKa4GS7F5_dpziyM","lore_tm_v1_sIay_QYdNvvjHCiFzemXe2otaMlHd1tBw4AB2YVbu7A","lore_tm_v1_ntul96XEWCvkJf6Hq8ECYt5bPXE4wLyHVLPhGyQCyJY","lore_tm_v1__eSm_xzHq97LzJGy2nOvf8Baa6ip7-spoGfOzHj9jB4","lore_tm_v1_N76HIQSQ2Bvbk0Z6KOrsYXx7E2rMJyYkFI8SIsdvKCM","lore_tm_v1_EKxllCaCvUPMvM7xqhNebMLUIqn8irOVITmKoIOyogE","lore_tm_v1_dGGmRz_tcsUvY3ZyvzFWHPiG1qcOB--ttXsWfW6xtcs","lore_tm_v1_cO_ErwgaYXZ4BWpgV1Ufj-bXfn9-Fe8INGhF1hmmEQo","lore_tm_v1_90oyRDpMD7mXL57WK5UdZKf24AGXpp0pg-P_ntG0YSo","lore_tm_v1_LEuCzJ4kPzZZCJp0RzH18KcCYfJ70Ra3_LMdCFa3SqQ","lore_tm_v1_mgb-Rou6VjJGE1tf4efGVvZk1Omg804-8X4daXmDoBA","lore_tm_v1__eo_gRsasYj7bcvslewOcukjtGf67wJLE0cb39Ko2HI","lore_tm_v1_fVsujcBHuK1FcaWVOrCgqzAabThEyT3pw6DAQO5qXS0","lore_tm_v1_g2FPiqrb4KlNHstcO22MCcK8laTuHc8q6bgUjoWNE0s","lore_tm_v1_TZRj1qgVp7ucuowPk6yOOks75QtA2WyzFZJxi96iT2k","lore_tm_v1_8MVRW4vzpaJMoi20VgYxNkW6AA6w1yESRm1LtlP2MUs","lore_tm_v1__75OhlE9uCG4gTqLUQ4QXpnzHRvo0Ey9pig09N_77dw","lore_tm_v1_4e8FKyTRiFoOxTxaj15K8hSmw_PIT4GKTdPd8INq-ig","lore_tm_v1_V2xRHxHoUsqKNgI-ZtJGJHmbXozaR8IrjvxGeIaXvfc","lore_tm_v1_RGDFpB2HZAP7QBwegyoTY1X2Au6hDmORIvUS7lo0rh4","lore_tm_v1_pm3LKAM2ZjHfXOIcTLXsdpewf4RIpHrSmR3CmleAMNc","lore_tm_v1_Emdt-vXjNEtaTFMU-kAGKcSRoPE9lRZtmAETYJA2lHA","lore_tm_v1_dVzkfbgzLlAykNyEOhwfjjE5RyrJZ-bk3JmDHjp24AA","lore_tm_v1_fW-GfWqUOyJg_nKy5AcExie0G6u93sumDizZKu7reNc","lore_tm_v1_x2SFKoORb87TkI2ZjQyjpKDn4OJdvl1PYrsRrgltnXA","lore_tm_v1_4ZaI8RPdV_Jmoo97OJTAWgyfNvAY6TO57bXOnwFAqsE","lore_tm_v1_OrX2F4YiMn5oOBnCJ4TUehUM1E3TxWWlC9pO-AMw6GM","lore_tm_v1_iv2IFZLFkBjspVcuZNfDe3EVVGB5sRoABdOxbn5fW04","lore_tm_v1_nENsV-a6F9k_dM66GWpJyW95uKyz_PkcBL9Dd9L2cSA","lore_tm_v1_OJ-00HUOxKi3qORyZnguddU_EI4boSb55EVw5okZuG4","lore_tm_v1_WfWTj64f91mvT1Wvjw6lWi1VuJQhTsEnismt7A0vYug","lore_tm_v1_6Vd1t52CH1qg934eYfwuwNAjTvXo_2ZEr-IK8qVJqfQ","lore_tm_v1_u76WLz6CUyhBK00qtIr0YbDzTXQ3DuYYa8GoFc_8pC0","lore_tm_v1_tSLfiu1ZmqxBWRwLDYD5vA643Nt6JcfSo-koi0q-QYY","lore_tm_v1_nvio-UEuNPyJviAOfR_ue9KYBygorew4ruZtP3o4yPA","lore_tm_v1_ggPkkxt8AczxkaXFdobvgJP4JT5d4K5ZvgG6tJq0URc","lore_tm_v1_TdBnPLOIUkJXDqucoSlw8JoLZBQmQk-9aLklhesnJuI","lore_tm_v1_IABT0pg8-ZSNlXWupprtkLdEUvRJD6U4OGtfn-EiggE","lore_tm_v1_Uj7IArz4uMRr-a5dJwDjEN-3ptquTlaSmEkjNy9sQqg","lore_tm_v1_iDEwZLgeHdjNe0_sevZGQz-QWeUq6UwrH4R8V9d5A3c","lore_tm_v1_hC1gSKAgRoo_Mckm-Q6X03J8sxDqxOKythEXx58dEVk","lore_tm_v1_omO2TCXZlWcpK4OLEld7NMwLuLrri7aEsKYJpLOBY1w","lore_tm_v1_VMHk571CAE2Xgd6V9_BCVB_0FYJ4kRbklnmVKfoTkgU","lore_tm_v1_RZMqvcZKa-7KjRPU5d9eNj5M0MvpuTVVB8YLySZroXg","lore_tm_v1_0qrHUpsFhWaajPmZVEIp0Dsqaa4Gtxig1A4PQW--Wlk","lore_tm_v1_koYbiSXkRaDHbuq3C36vSD10EAiKm8Koy9Q3iYdSMVQ","lore_tm_v1_es2oDmbKQW8Ud0_silcsfRMtR6pbflP1poEUaeNBqdo","lore_tm_v1_LK2W6FrePtQaKQoc3_Ym8s1MVZsyMhdiYdM0XptoRPU","lore_tm_v1_5zMIJH690vXGL7Y1p9muhqtXkwSJU9PjL3rCBu_SoTo","lore_tm_v1_f_7B6oUvY1CGG-58gRg4CaeYBMTxVPwyctjatIspJQk","lore_tm_v1_7ujjfgSRLdU-ti3s6ldaB-g9WEG4qcUIj228W9xHO2c"]
getsentry/cli PR #1558, repository /home/byk/Code/getsentry/cli-pr-1558.bbaa7b3b722b87f1bccfe84063269cbbcabe2741 plus the entire unstaged worktree diff whose SHA-256 is 092bd817573c1e0ea81e71472a9da2f38251dd6736331152b8325526527c3479.
bbaa7b3b722b87f1bccfe84063269cbbcabe2741 and checksum 092bd817573c1e0ea81e71472a9da2f38251dd6736331152b8325526527c3479 -.git diff | sha256sum verification is still required immediately before returning the review. Any mismatch must produce BLOCKED with the observed hash.PASS, CONCERN, MUST-FIX, or BLOCKED, with exact current file:line, impact, concrete fix, and deterministic regression test for defects. Include residual risks/testing gaps. If no defects, explicitly state PASS and summarize verified contracts with exact evidence. Final line must be exactly MERGE or DO-NOT-MERGE; never return an empty response.sentry agent-conversation view with no positional input failed before command execution with Expected argument for org/conversation-id. The user-required contract is that omitted view input remains a ContextError. Existing unit coverage calls viewCommand.func(..., undefined) directly, so it may not cover Stricli parser behavior. This needs classification and exact current source evidence.extractPositionals() marks every array positional optional: true, while getPositionalString() and Stricli native usage render arrays as required-looking <placeholder...>. Since generate-command-docs.ts now uses PositionalInfo.optional to choose [<...>], array argument tables may become inconsistent or incorrectly optional. Runtime inventory found 32 commands exposing array positional metadata, all reported optional; this needs confirmation against generated website output and command semantics.agent-conversation view were manually verified successfully at 15:14, but full-tree sentry help --json and website generated examples/fallback behavior still need final contract assessment.packages/cli/plugins/sentry-cli/skills/sentry-cli/references/agent-conversation.md was omitted from one listing.ripgrep execution failed / No files found; .env.local not found. Continuing without it. appeared four times in runtime invocations.proguard upload warning.proguard upload warning as introduced defects, but report if the patch improperly masks real fragment coverage./.
<org>/<conversation-id> with exactly one slash.agent-conversation view:
ContextError;ValidationError;"conversation-id" because unfielded validation errors collapse into one Sentry fingerprint;ContextError.[<org>/]<conversation-id>; list uses metadata-derived [<org>]. List usage must be derived from the same Stricli positional metadata rather than duplicated manually.fullDescription before schema enrichment so JSON-field documentation remains at the end of help.CommandReturn, never individual yields. Built commands retain __primaryUsage, __examples, __jsonSchema, and __rawFunc.[<placeholder>]; required tuple entries remain <placeholder>. Array rendering remains <placeholder...> in getPositionalString().buildListCommand() always injects --fresh unless command-owned, and treats its first positional as the org/project target for plural-alias interception.--cursor/-c unless opted out or already owned, and -f unless alias injection is opted out or occupied.buildDeleteCommand() always injects --yes unless command-owned; also injects force/dry-run and aliases subject to options/ownership.--fields is always injected when output rendering is configured, even if the command owns json; command-owned json is preserved. LOG_LEVEL_KEY is always stripped, while other injected globals are stripped and command-owned equivalents pass through.:; space-separated project/platform forms and obsolete quoted-name fragments are invalid.packages/cli/package.json for current scripts;packages/cli or via pnpm --filter sentry run <script>;devDependencies and are added with pnpm add -D;node:*, not Bun APIs;buildCommand; routes import wrapper buildRouteMap;src/lib/errors.ts, use EXIT.*, and malformed input uses ValidationError;sentry cli upgrade nightly.apps/cli-docs/src/fragments/commands/agent-conversation.mdpackages/cli/plugins/sentry-cli/skills/sentry-cli/SKILL.mdpackages/cli/plugins/sentry-cli/skills/sentry-cli/references/agent-conversation.md.../references/alert.md.../references/cli.md.../references/explore.md.../references/feedback.md.../references/init.md.../references/issue.md.../references/monitor.md.../references/org.md.../references/project.md.../references/release.md.../references/replay.md.../references/repo.md.../references/team.md.../references/trace.md.../references/trial.mdpackages/cli/script/check-fragments.tspackages/cli/script/generate-command-docs.tspackages/cli/script/generate-skill-markdown.tspackages/cli/script/generate-skill.tspackages/cli/src/commands/agent-conversation/list.tspackages/cli/src/commands/agent-conversation/view.tspackages/cli/src/lib/command.tspackages/cli/src/lib/introspect.tspackages/cli/src/lib/list-command.tspackages/cli/src/lib/mutate-command.tspackages/cli/test/commands/agent-conversation/list.test.tspackages/cli/test/commands/agent-conversation/view.test.tspackages/cli/test/lib/command.test.tspackages/cli/test/lib/introspect.property.test.tspackages/cli/test/lib/introspect.test.tspackages/cli/test/script/generate-skill-markdown.test.tspackages/cli/src/lib/command.ts adds exported:
CommandExample with readonly description and complete command including sentry;CommandDocumentation, an exported intersection over native Stricli docs with optional readonly examples.prepareNativeDocs() strips extended examples before passing docs to Stricli and appends:
Examples: ${command} # ${description}
It returns native docs unchanged when examples are absent and bases appended text on fullDescription ?? brief.attachDocumentationMetadata() preserves:
customUsage string or .input as __primaryUsage;__examples.buildCommand() calls prepareNativeDocs() before enrichDocsWithSchema(), passes the resulting stricliDocs, and replaces previous inline __primaryUsage attachment.@stricli/core@1.2.8 evidence:
documentation.renderHelp at patched dist/index.d.ts:509;dist/index.js:1464-1470;generateCommandHelpLines() at dist/index.js:2000-2044 orders Usage, descriptions, aliases, flags, then arguments;[<name>];UnsatisfiedPositionalError at dist/index.js:837-849.packages/cli/src/commands/agent-conversation/view.ts defines:
USAGE = "[<org>/]<conversation-id>"USAGE_HINT = "sentry agent-conversation view [<org>/]<conversation-id>"parseConversationTarget(target):
conversationId;validationError("Conversation target must contain at most one '/'.", [USAGE_HINT], "conversation-id");validationError("Conversation target must include both an organization and conversation ID when using '/'.", [USAGE_HINT], "conversation-id").ContextError("Conversation ID", USAGE_HINT, []); unresolved organization throws ContextError("Organization", USAGE_HINT).customUsage: [USAGE], resolves org through resolveOrg({ org: orgArg, cwd }), fetches with withProgress() / getConversationSpans(org, conversationId), builds TranscriptResult, copies API truncated, and yields CommandOutput<TranscriptResult>.sentry agent-conversation view conv-123sentry agent-conversation view my-org/conv-123sentry agent-conversation view my-org/conv-123 --json${ORG}/${CONVERSATION_ID}/extra${ORG}//${CONVERSATION_ID}${ORG}/${CONVERSATION_ID}//${CONVERSATION_ID}${ORG}/
Each must be a ValidationError, field "conversation-id", include canonical usage, and occur before org/API calls.21 and printed the expected headline and usage.Expected argument for org/conversation-id, whereas tests only assert the raw generator throws ContextError.packages/cli/src/commands/agent-conversation/list.ts extracts reusable optional tuple POSITIONAL:
"org";"Organization slug";String;optional: true.USAGE_HINT is derived using getPositionalString(POSITIONAL), yielding exactly sentry agent-conversation list [<org>].customUsage: ["[<org>]"] was removed because positional metadata now renders correctly.sentry agent-conversation listsentry agent-conversation list my-orgsentry agent-conversation list --limit 50 --period 24hsentry agent-conversation list -q "has:errors"sentry agent-conversation list my-org -c next"agent-conversation-list";"7d";data, hasMore, normalized hasPrev, and optional nextCursor;"No conversations on this page." from "No agent conversations found.";{ command: "sentry agent-conversation list [<org>]" }.packages/cli/src/lib/introspect.ts imports CommandExample; simplified Command includes __examples.getPositionalString() now renders optional tuple values as [<placeholder>], required tuples as <placeholder>, and arrays as <placeholder...>.extractPositionals() preserves tuple optionality but currently makes array metadata one entry with optional: true.buildCommandInfo() prefers __primaryUsage, then generated syntax; prefers __examples, rendered as # ${description}\n${command}, then legacy examples.<required> [<optional>] tuple rendering;sentry agent-conversation view [<org>/]<conversation-id>;show;fresh, json, fields, help, and escape flags shown.f β fresh, v β verbose;packages/cli/src/lib/help.ts:764-770 renders human full-tree help through printCustomHelp(), but JSON output never calls it, avoiding sixel/TTY work. renderJsonHelp() returns structured JSON when --json; user requires bare sentry help --json always structured and without banner terminal I/O.packages/cli/script/generate-skill-markdown.ts adds shared:
formatCommandExamples(examples: readonly string[]): string
returning "" for none or one **Examples:** section with a single Bash fence and examples joined by exactly one blank line.generate-command-docs.ts and generate-skill.ts both reuse this formatter.generate-command-docs.ts now appends canonical examples after arguments/options and renders optional structured positional rows as [<placeholder>].check-fragments.ts skips subcommand coverage for commands whose introspected examples are nonempty.apps/cli-docs/src/fragments/commands/agent-conversation.md replaces 36 deleted lines of duplicated list/view examples.generate-command-docs.ts and check-fragments.ts: export const SKILL_FILES: [string, string][] = [];\ngenerate-skill.ts: export const SKILL_FILES: ReadonlyMap<string, string> = new Map();\napps/cli-docs/src/content/docs/commands/agent-conversation.md contains list [<org>], view [<org>/]<conversation-id>, argument tables, examples, and generated marker.0.45.0-dev.0; agent-conversation metadata requires binary sentry and auth.sentry org view [<org>]sentry project list [<org/project>]sentry project view [<org/project>]sentry issue list [<org/project>]sentry alert issues list [<org/project>]sentry alert issues create [<target>]sentry alert metrics list [<target>]sentry cli completion [<shell>]sentry cli upgrade [<version>]sentry agent-conversation list [<org>]sentry agent-conversation view [<org>/]<conversation-id>sentry replay list [<org/project>]sentry release list [<org/project>]sentry release deploy <org/version> <environment> [<name>]sentry repo list [<org/project>]sentry team list [<org/project>]sentry explore [<target>]sentry feedback list [<org/project>]sentry monitor list [<org/project>]sentry trace list [<org/project>]sentry trial list [<org>]sentry trial start <name> [<org>]sentry init [<target>] [<directory>]SKILL.md and 16 reference files: agent-conversation.md, alert.md, cli.md, explore.md, feedback.md, init.md, issue.md, monitor.md, org.md, project.md, release.md, replay.md, repo.md, team.md, trace.md, and trial.md.packages/cli/src/lib/list-command.ts and packages/cli/src/lib/mutate-command.ts now accept shared CommandDocumentation, enabling canonical examples through helper-built commands.OrgListCommandDocs is now an alias of CommandDocumentation.extractCommandPathFromHeading() handles:
sentry project create [<org>/]<name>:<platform>...
and extracts sentry project create.sentry project create web:javascript api:python-django worker:nodesentry project create my-new-app:javascript-nextjssentry project create "My New App":sentry project create my-new-app javascript-nextjssentry project create my-org/my-new-app javascript-nextjsContextError in packages/cli/src/lib/errors.ts:385-453 uses EXIT.CONTEXT_MISSING, distinguishes omitted alternatives from explicit [], and rejects multiline command hints.validationError() builds a ValidationError with EXIT.VALIDATION and optional field.resolveOrg() at packages/cli/src/lib/resolve-target.ts:1673 priority:
.sentryclirc;packages/cli/src/app.ts registers conversationRoute with default list; standard route wrapper provides view β show.packages/cli/src/sdk.generated.ts exposes list with optional [params.org] and view with optional [params.orgConversationId].sentry version 0.45.0-dev.0, Node >=20, development Node >=22.15, pnpm 10.11.0; CLI uses patched @stricli/core@1.2.8, while dependency tree also contains 1.3.0.MERGE/DO-NOT-MERGE.fix(docs): correct agent conversation argument syntax, base main, author alicandayan) and worktree scope. Status initially varied between 33 and 34 paths because one generated reference was omitted from a listing.command.ts, agent-conversation list/view, introspection, list/delete wrappers, docs/skill generators, fragment validator, and command tests.resolveOrg() priority, list/delete helper contracts, and canonical list usage test.agent-conversation/index.ts (defaultCommand: "list").Expected argument for org/conversation-id; malformed multi-slash runtime correctly emitted fielded validation text and exit 21.ContextError, helper wrapper decisions, immutable revision/hash, slug and issue/slash parser contracts.getPositionalString() usages and array positional definitions; runtime introspection found 32 array-positional commands, all represented with optional: true, highlighting a possible generated argument-table semantic mismatch.