Dashboard › craft › Distillation
b416a510-58d5-44c2-9b20-6cde501080f2["lore_tm_v1_YYblpJU-cGOo2WiinAK_s4usXG4Gdo1FZdyK47fqHVc"]
Date: Sep 3, 2026
.lore.md, craft/src/commands/__tests__/targets.test.ts, craft/src/targets/crates.ts, and .opencode/plans/workspaces-redesign-design.md..lore.md records the publish-title workspace grammar decision: use path-based workspace titles with post-checkout, workspace-first resolution; reject unpublished JSON-qualified workspace syntax and default-branch inference. Resolve title suffixes against exact names from craft workspace list in the CI-approved checkout, allowing slash-containing workspace names such as cli/v2; otherwise retain the suffix as a publish path..lore.md records that the exact CI-approved SHA governs checkout, publish-location resolution, state, CRAFT_WORKSPACE, and craft publish --rev; discovery failure when root configuration exists must fail closed rather than silently misroute a workspace request..lore.md records that Craft Action Publish titles identify their checkout repository using GITHUB_REPOSITORY. After checkout of the exact CI-approved revision, resolve the suffix from repository root against craft workspace list before applying path semantics; workspace selection uses repository-root execution, while non-workspace paths retain CWD semantics..lore.md records resolveWorkspaceConfig behavior: when a workspace overrides targets, resolved.targets === workspace.targets because the array reference is shared rather than deep-copied; github is freshly copied through object spread. This is not currently a bug because no code mutates config.targets in place, but future push, splice, or sort mutation in src/config.ts must copy first, e.g. [...targets]..lore.md records CI poller deduplication requirements in getsentry/publish: querying only a default issue-list page is insufficient because older duplicate requests may be omitted and compact titles can collide with legacy path titles; query all relevant open requests before deduplicating and preserve field-less legacy issue semantics.craft/src/commands/__tests__/targets.test.ts contains tests lists targets without expansion when no workspaces (line 40) and lists expanded workspace targets (line 55).craft/src/targets/crates.ts line 108 documents βThe full list of packages in this workspace.β.opencode/plans/workspaces-redesign-design.md specifies: if workspaces is defined and no --workspace is given, return an error listing valid workspace names.