Dashboard › craft › Distillation
344516cf-a9f1-409c-ba6f-c5dfd8fa9df6["f3a08dbd37ea361d181d3f9486087fa9","4c362165894f0f317e3c1ed854b52efc","aa6d0dfdafa2585cd1f5fa40a203a348","51c10b5227253bd7cfa2cd47dc3e861f","ba76ef75bc2f04530b9e960a1e819834","3be8cf37cd62cb9faba2bed4adfd3daf","8c6265c01601e469e581a7b83d9d56a1","12113b1df8512c7a4c337b9d6fcec3a1","8fde180a97f8663f4973d28f652f3d31","8b9962be73e7682b42f4ca8f5591eab9","b2a67fc1b601519c63ac4b75489b4eff","1a71f1bb1195b926c8325da6daa318a4","29a675eb214e3a0d838826729449bc58","0292324f906b4915de07c45f5b5cbec6","2f1cba4a590e64939cef7680525c4a87","20c88221d6af9f07e428330a37dc4cc4","ff873a8a6e9c1555d2f96b0b4db4c36e","9bc2ff2e092965c599a751eef536d267","b72e98878044b91442e85b6db1ac675a","284a635f9ab80d86b9335611e3850dc8","6daf45c5d0e8c1fa6fcf03aed0409a75","afc8218baad441a7963c26cb4da91ce1","0fabd27a88cda24e5de91b0f611a0551","c8310f6cab9a9eb38dd1e8b30cca44ae","180c897da668dbabf35d153f7718fec2","6a888576c56cf9c29edb16ebe7933413","68b6718d785e866a094fa85e8fc6360b","444bcc7c2e0055bffff5127c670d65ec","acaaa11369d85dc6a5029d5c88be76c6","b75362aad4b96cf72399ca007d29be0e","b013110e36b99adafc496cde0cc4b4e5","15effedbda748836d5d09d957b34b03b","a08f7adb8c45781635be9e1be67d7537","4eff76b0467954c2a9dc0770e6dc1c01","607425495a062f05e6b6e3168ca5cd1c","83c83704c1c557655a9f6722fc61ff92","e675d75eaba9a84e4f4e67be18d53e15","b506b5dbcc20a48abca8d06ab8dcee44","93f8066ea5dde3932e4b04ccc48a30a0","a303eb86f87361bb02d94881cf58cf99","7bd40a1456ed4217035e63daff6e2b3f","9476273ae7fa2896d427a6f1b2044ab0","b12622280868f0f7eca663cd0a8d5f01","18d2a033c27b0637e119deba5951b315","b1065f087bbd9028962e89409e04bb90","5882b31454c5727bf0ec423dbc549152","0d611297e092c8aa92eb5c24d9dd9751","8246a6817427344c69fde5bb86529ace","617bb27b491f7fc757537ca639330bbe","fbc1d1102d8b97c5dc4714a0616062ae","a914ed99b3d7c438bd7ddee8621bc5d4","502568039d3916b1fb1656eb6ab19e1b","4b56707a2a41f8fa56450358e7a23e49","588ce248e13db46c675d1a7ea3035840","05f73e1618201b38ef88ba4a6c099e72"]
Date: July 21, 2026
feat/prefixed-tags already has all prefix-aware work from #844, cherry-pick that commit onto a fresh branch off master, then redo the findReleaseBranches fix to be opaque-string and add the changelog try/catch guard on top.getGitTagPrefix() call in try/catch in src/commands/changelog.ts:62, mirroring existing pattern at lines 83-89 for versioningPolicy — rationale: an invalid/unreadable .craft.yml previously threw and aborted the whole standalone changelog command since this call, unlike the versioningPolicy lookup, was unguarded.findReleaseBranches current logic (segment-counting: splits prefix and branch into path segments, compares first N segments) before rewriting to opaque-string approach.findReleaseBranches in src/utils/git.ts to treat prefix as opaque string — branch format <prefix>/<version>, cut at last / via lastIndexOf, dropping segment split/join logic entirely.release/cli vs release/mcp, Levenshtein distance 3) are acceptable/correct behavior for a typo-suggestion feature; the key correctness fix is opaque prefix handling, not fuzzy-match scoping.release/cli/1.2.3 under default prefix release would match (via first-segment release); new opaque logic correctly excludes it since lastIndexOf yields branchPrefix=release/cli, not release — deemed more correct.releases/1.0.0 fuzzy match (dist 1), limit test, rel/r exclusion (dist 4/6), main no-slash skip, slashed release/cli exact + release/mcp fuzzy (dist 3) + release excluded (dist 4), and release/cli branch lacking version segment (excluded, though for a different underlying reason than before).release/cli/1.2.3 not matched by prefix release).findConfigFile/getGitTagPrefix (from '../../config') — chosen location to add coverage for the try/catch guard (Fix 1).getGitTagPrefix() throws (simulating invalid .craft.yml), changelogMain still completes successfully rather than aborting..craft.yml per product" as "the intended layout," plus a caution about multiple github targets with different tagPrefix being ambiguous, and a known-limitation note that GitHub's "Latest" release badge is repo-wide (not prefix-scoped) — e.g. publishing cli@9.0.0 can take the badge from mcp@3.0.0.tagPrefix read+write behavior, but soften the "one .craft.yml per product is the intended layout" framing (since it's the pattern being pivoted away from per the workspaces redesign) and add a forward-looking note that a first-class workspaces model is coming — avoids doubling down on the workaround in documentation. Edit applied successfully to targets/github.md.releaseBranchPrefix e.g. release/cli paired with github.tagPrefix: "cli@", producing branches like release/cli/1.2.3 and tags like cli@1.2.3, linking to github.md monorepo section) judged accurate/factual as-is, matching what PR A actually ships — no changes needed.