Dashboard › cli › Distillation
f9513f83-e0ac-410b-8ac2-0d9fd35463f3["lore_tm_v1_O3v7hsTnJBtY4nYB04-aqKRUh6lru2NLP3GOGLW9VNU","lore_tm_v1_s_5NxUMo3JsQ2o8b3tqfjsHBPWVnzBrTt2RFey5NAcs","lore_tm_v1_ZsRe45okLRH_eykenLnyu0HGJ4Eo3ecBJvvR3kNju6U"]
Date: Sep 10, 2026
/home/byk/.local/share/opencode/worktree/0e8c2f3bbe145a3280d6fb6ed900a5121f382cf0/toolkit-bridge-upgrade; root contains .craft.yml, .git, .github/, .gitignore, .lore.md, .nojekyll, .npmrc, AGENTS.md, apps/, CHANGELOG.md, codemods/, docs/, LICENSE.md, node_modules/, package.json, packages/, pnpm-lock.yaml, pnpm-workspace.yaml, and README.md (19 entries)./workspace/repo.worker is a deprecated alias of implement.explore uses OpenAI gpt-5-mini; implement uses Moonshot kimi-k2.7-code; ship uses xAI Grok (grok-build-0.1).New operator chat or Operator guidance: skip triage; treat the request as the task and answer in the conversation..lore.md when present; for target repositories, read AGENTS.md / CONTRIBUTING.md first.repo-setup before situation skills.β Skills are under .agents/skills/, generated from the canonical skills/ tree by scripts/sync-skills.mjs.sentry api must preserve rawApiRequest() status text; empty textual non-2xx bodies must produce an HTTP status/request fallback; JSON mode must expose {status, statusText, body} so empty success and error responses remain distinguishable.Uint8Array responses must bypass formatters and remain raw; binary errors must emit only status/content-type/byte-count summaries, never bytes or JSON coercion.statusText, such as HTTP 404 Not Found, because rawApiRequest() preserves Response.statusText and empty-body errors depend on it for useful routing context; regression coverage is required.TRDIFF10 header in bspatch.ts is 32 bytes: magic + controlLen + diffLen + newSize, with all numeric fields encoded as i64 little-endian.TRDIFF10 control block is fully decompressed with zstdDecompressSync because it needs random access; diff and extra blocks are streamed through createZstdStreamReader using Node Transform β Web ReadableStream β BufferedStreamReader.applyPatch() ALWAYS computes SHA-256 inline and returns it, with no separate verification step.loadOldBinary() copies the old file to a temporary location using COPYFILE_FICLONE for a copy-on-write reflink, falling back to a regular copy, then reads it into memory.cleanupPatchResources() must run every cleanup step regardless of prior failures.writer.on('error') to prevent ERR_UNHANDLED_ERROR for ENOSPC or EIO.script/check-stale-references.ts implements check:stale-refs: it reads packageManager from package.json (example pnpm@10.11.0), dynamically derives stale package managers, and scans developer-facing docs/scripts for stale <pm> run, <pm> remove, <pm> add -d, requires <pm>, and <pm> installed references.script/check-stale-references.ts excludes user-facing global-install instructions in fenced code blocks containing install -g or add -g, excludes itself, and excludes node_modules/; excluding itself prevents its JSDoc examples from causing false positives.check:stale-refs is included in the CI lint job and is generic: if packageManager changes from pnpm to yarn, stale pnpm run references are automatically flagged without manual pattern updates.src/commands/issue/list.ts defines LIFETIME_FIELDS = new Set(['count','userCount','firstSeen','lastSeen']); these fields are stripped by collapse=lifetime on the issue-list endpoint.buildListApiOptions(json, fields) sets collapseLifetime to true only when json && fields !== undefined && fields.length > 0 && !fields.some(f => LIFETIME_FIELDS.has(f)); human output never collapses lifetime.buildIssueListCollapse() always starts with ['filtered','unhandled'], then conditionally adds 'lifetime' and afterward 'stats'.ISSUE_DETAIL_COLLAPSE safely includes 'lifetime' because the detail endpoint preserves top-level fields.IssueViewOutputSchema in src/types/sentry.ts extends SentryIssueSchema with event, org, replayIds, and trace, which are added by jsonTransformIssueView; view.ts wires it through schema: IssueViewOutputSchema in output configuration.count, userCount, firstSeen, and lastSeen are always present on issue view; they may be absent only from issue list when collapse=lifetime is active.generateProjectStructure() in generate-docs-sections.ts, groups/route directories always use the βββ prefix regardless of position because standalone entries always follow groups.help.ts, added manually before sorting; the final standalone uses βββ, while other standalones use βββ.cli/ tree.api-schema.json contains only 4 paths: organizations/{org}/preprodartifacts/{artifact_id}/install-details/, organizations/{org}/preprodartifacts/{artifact_id}/size-analysis/, projects/{org}/{project}/preprod/size-analysis/status-check-rules/, and projects/{org}/{project}/preprodartifacts/build-distribution/latest/.@sentry/api SDK exports confirm there is no preprod list operation, so a build list command cannot be implemented without a new server-side endpoint.symbolic-wasm may live in the symbolic repository only if it exposes a full general-purpose API base analogous to the Python package, as agreed with Dav1dde, a getsentry/symbolic maintainer.collect_il2cpp orchestration and source-bundle writing with CLI semantics must not live in the symbolic repository and must instead move to getsentry/cli, because symbolic is a general-purpose library and CLI concerns would create unwanted coupling.feat/wasm-api-classes uses a class-based API: Archive owns Rc<Vec<u8>> and caches metadata; Object caches fields at construction and re-reads the debug session on demand for source_files() and create_source_bundle().js_sys::Function, with getSource(path) β Uint8Array | null.list_source_files and create_source_bundle were removed, while parse_debug_file and peek_format were retained for backward compatibility.