Dashboard › craft › Distillation
4fb8fad3-ae32-4882-83f4-206b27bd1ed8["lore_tm_v1_JF2zkVw-WoYlHXHQe1dXBtZrXsb0bHUwOF8Znj5QAB4","lore_tm_v1_rLL64uejEHlemlyzLu9sBo_cjjP1jw3K8BriGNwSTsw","lore_tm_v1_zAce0iOQSxNilfEuDx6p3ukfpv1O1AHpvcQzR0H7qYU","lore_tm_v1_Ibz_9RN1iGQdwHbc3LmBeRz5Trj4mbE6Wv-87r3G-SY"]
Date: Sep 4, 2026
/home/byk/Code/getsentry/craft-workspace-action-propagation and /home/byk/Code/getsentry/publish-workspace-acceptance. User prohibited edits, formatting, generation, mutating commands, and git-state changes.getsentry/craft:latest in Publish is intentional and required: the latest released Craft provides workspace behavior, while the checked-out CI revision and craft publish --rev bind target-repository operations. User directed that this must not be treated as a concern.packages/{cli and packages/{cli} being accepted because an empty expansion passed .every(). User stated the current fix rejects empty expansions in schema and runtime and includes fail-first regression coverage.src/schemas/project_config.ts and src/config.ts; must safely cover unclosed braces, no-alternative braces, nested braces, and empty alternatives, and must not fail open through empty arrays.ci-ready gate exists, and external scoped state plus --rev are used; (6) canonical path-only parser/generated/docs parity, regression coverage, and intended diff hygiene.BLOCKED and the exact tool/error; required the final output to end exactly MERGE or DO-NOT-MERGE./home/byk/Code/getsentry/craft-workspace-action-propagation showed 33 entries, including .craft.yml, .github/, action.yml, docs/, dist/, package.json, pnpm-lock.yaml, src/, and vitest.config.mts./home/byk/Code/getsentry/publish-workspace-acceptance showed 15 entries, including .github/, docs/, package.json, scripts/, src/, vitest.config.js, and yarn.lock.action.yml, src/__tests__/action.test.ts, src/utils/__tests__/publishState.test.ts, and src/config.ts; much of the diff content and file list was elided.craft workspace list from printing exact configured workspace names to printing concrete workspace paths as a JSON array for automation; stated that Action publish titles always carry the full concrete path.runRequestPublish('cli', workspaceEnvironment) to runRequestPublish('packages/cli', workspaceEnvironment).packages/README.md as βnot a workspace,β creation of packages/api, temporary directories including an outside directory, .craft.yml workspace configuration, and assertions throwing Workspace paths must use safe ASCII segments..src/config.ts diff text showed additions related to workspace overlap detection (Workspace "${workspaceName}" matches multiple workspace patterns:), expandBraceAlternatives(segment), explicit rejection when alternatives are empty, __proto__ segment checks, and handling for a missing brace closing position via if (closing === -1).