Dashboard › craft › Distillation
f2e3d625-f983-4471-a43d-c61b500c9dea["lore_tm_v1_roN-ideI9JLmA1oMuJe-omm1tGIZ-cCRD-T5IFD8gOA","lore_tm_v1_SXpVr7UKS7Nk0MrF2N6TgpUZTqOvKgDMUdcZdMlIc5U","lore_tm_v1_YAffuNcaKjkT8wvve94HvsET81fKInr7i41ktS6uV7U"]
Date: Aug 28, 2026
/home/byk/Code/getsentry/craft-workspace-action-propagation; instructed not to edit files, to inspect git diff plus relevant complete source/tests, not to presume correctness, and to report only concrete findings with severity and file:line evidence followed by MERGE or DO-NOT-MERGE.projectPath rule and backward compatibility for empty maps/non-workspace configs; (3) first-step action validation and path/workspace mutual exclusion; (4) compact title output versus legacy behavior; (5) runtime command registration/type correctness; (6) test adequacy./home/byk/Code/getsentry/craft-workspace-action-propagation, containing .craft.yml, action.yml, AGENTS.md, build.mjs, CHANGELOG.md, CONTRIBUTING.md, dist/, docs/, package.json, pnpm-lock.yaml, README.md, src/, tsconfig.build.json, tsconfig.json, and vitest.config.mts among 33 entries.action.yml, src/__tests__/action.test.ts, src/schemas/project_config.ts, and an untracked src/commands/workspace_cmds/ directory; the full diff was elided.action.yml adds validation if [[ -n "$WORKSPACE" && "$PATH_INPUT" != '.' ]]; then, indicating workspace input is incompatible with a non-root path input; remaining condition/body context was elided.ghTitles in addition to binDirectory, craftCalls, directory, gitCalls, and output.runRequestPublish(workspace, environment) executes bash -e -c getActionStep('Request publish').run! in environment.directory, with environment values including GITHUB_ACTOR=byk, GITHUB_REPOSITORY=getsentry/toolkit, GH_TITLES=environment.ghTitles, MERGE_TARGET=(default), PUBLISH_REPO=getsentry/publish, RELEASE_BRANCH=release/1.2.3, RELEASE_PREVIOUS_TAG=1.2.2, RELEASE_SHA=abc123, RESOLVED_VERSION=1.2.3, SUBDIRECTORY='', TARGETS=' - [ ] github', and WORKSPACE=workspace.expect(runRequestPublish('cli', workspaceEnvironment).status).toBe(0) and expected compact title output 'publish: getsentry/toolkit/cli@1.2.3\n'.getWorkspaceNames; renamed a test from “allows a workspace github override without owner/repo” to “allows a workspace github owner/repo override”; test data changed workspace cli.github from { projectPath: 'cli' } to { owner: 'getsentry', repo: 'toolkit' }.WS_CONFIG to a temporary .craft.yml, expects getWorkspaceNames() to return ['cli', 'mcp'], then overwrites the config with minVersion: 2.14.0 and workspaces: { cli: {} } and expects an error requiring minVersion >= ${WORKSPACES_MIN_VERSION}.github, merging base.github as GitHubGlobalConfig | undefined with workspace GitHub values so partial values inherit other GitHub fields; comments remove support for workspace-level projectPath..command(workspace) alongside .command(config), .command(artifacts), and .command(changelog) before .demandCommand().src/schemas/project_config.ts WorkspaceSchema changes github from GitHubGlobalConfigSchema.partial().optional() to GitHubGlobalConfigSchema.partial().refine(github => github.projectPath === undefined, { message: 'Workspace github.projectPath is not supported.' }).optional(), explicitly prohibiting github.projectPath in workspaces while allowing partial owner/repo overrides./^\d+\.\d+\.\d+.*$/, revised comments saying absent workspaces preserve prior top-level-config behavior, and custom Zod issues; exact surrounding implementation was elided.