Dashboard › craft › Distillation
4f37b7ee-dcf2-4e23-a32a-4e7dacafe623["lore_tm_v1_rRiAV1F0ePpLeRt38MIRTpB2ZeXz9cUJETLAuYPKCyM","lore_tm_v1_Flr-dKAc_vHKMSASNEgFxcseZfkWGAE7r95HXdhSe4U","lore_tm_v1_dOdeKuBbZCnyFQ_2Pnq2kt2v6xXQ-esj79z76OWXcq4","lore_tm_v1_KxLtbrVt9WzkZMEonPaqqaCs-2jaIZguj1vmeJByBLk","lore_tm_v1_rj649E1ruVfbemv3E-q_EdRtvibyXxN3yvHzOrEtR9E","lore_tm_v1_YqtEqUuizoXoUOue36ZakqrwdgMKOa3LxqPJggcyReE","lore_tm_v1_TY3ryDzn_7G9DmC6oVq49V2alds2-8U6KqKlwDC0qjo","lore_tm_v1_f7VM1EUy-G-DttgiHMZKtPIoqeepoqDnhSvVvaL8Dro"]
Date: Aug 26, 2026
/home/byk/Code/getsentry/craft, /home/byk/Code/getsentry/craft-workspace-action-propagation, and /home/byk/Code/getsentry/publish-workspace-acceptance.feat/workspace-action-propagation is based at 21270a1 (feat(config): add release workspaces); uncommitted changes: .github/workflows/release.yml, action.yml, src/commands/__tests__/publish.test.ts, src/commands/publish.ts, plus untracked src/__tests__/action.test.ts. Reported stat for tracked files: 119 insertions and 5 deletions across 4 files.feat/workspace-acceptance is based at 83d210b (build(deps): bump js-yaml from 4.3.0 to 4.3.1 (#9174)); uncommitted changes: .github/workflows/publish.yml, src/modules/__tests__/details-from-context.js, src/modules/__tests__/update-issue.js, src/modules/details-from-context.js, and src/modules/update-issue.js. Reported stat: 244 insertions and 40 deletions across 5 files.pnpm; never use npm or yarn.pnpm install --frozen-lockfile.pnpm build outputs dist/craft; pnpm test runs Vitest tests; pnpm lint runs ESLint; pnpm fix auto-fixes lint; manual testing is pnpm build && ./dist/craft..prettierrc.yml; ESLint 9.x flat configuration in eslint.config.mjs using typescript-eslint; unused variables prefixed _ are permitted.getGitClient() from src/utils/git.ts or createGitClient(directory); GitHub API through getGitHubClient() from src/utils/githubApi.ts; file writes through safeFs from src/utils/dryRun.ts; and other actions through safeExec()/safeExecSync() from src/utils/dryRun.ts. Direct simple-git imports and new Octokit() are lint-restricted except wrapper modules with explicit ESLint disable.src/libs/, src/modules/, and src/publish/.package.json; npm must not be used. Commands: yarn install, yarn test, yarn test:watch, yarn test src/modules/__tests__/update-issue.js, yarn test -t "pattern", yarn lint, and yarn prettier.details-from-context.js and update-issue.js; camelCase variables/functions such as detailsFromContext and publishRepo; UPPER_SNAKE_CASE constants such as TARGETS_SECTION_PARSER_REGEX; CommonJS require/module.exports source modules and ES Modules test files; Prettier default formatting with double-quoted strings and required semicolons.default switch branch such as throw new Error(\Unknown status: '${status}'`)`.if (!fs.existsSync(CRAFT_STATE_FILE_PATH)) { return; }.vi.mock(), including mocking dependencies before requiring the module under test..github/workflows/release.yml change adds optional workspace inputs to both workflow_dispatch (“Named Craft release workspace to prepare and publish”) and workflow_call; the Request publish step now exports WORKSPACE: ${{ inputs.workspace }} alongside CHANGELOG_FILE, TARGETS, RESOLVED_VERSION, RELEASE_BRANCH, RELEASE_SHA, RELEASE_PREVIOUS_TAG, SUBDIRECTORY, MERGE_TARGET, and PUBLISH_REPO.src/commands/publish.ts change adds a security migration warning for legacy cwd state file .craft-publish-${newVersion}.json: Craft no longer reads it because repository contents can be PR-attacker-influenced and could prepopulate the “already published” set; publish state is now stored at publishStateFile under $XDG_STATE_HOME/craft/, and workflows pre-seeding targets must write to the new location.src/commands/publish.ts imports existsSync, mkdirSync, and readFileSync from fs; its shown PublishOptions includes remote, optional rev, optional mergeTarget, optional target, newVersion, noMerge, keepDownloads, noStatusCheck, keepBranch, and noGitChecks.4da4a25 chore: replace deprecated trimRight() with trimEnd() (#9012).