carlos / platform Public

release: drop the two legacy LIST prefix builders with their only caller

LegacyChannelsPrefix and LegacyReleasesPrefix existed for ListWithFallback
and nothing else. A dead builder naming a shape nothing may resolve is an
invitation to resolve it.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Paul Campbell 12e65a0b223fe1286b24f973dbeb348d0859a777 parent eaa8e9a
1 file changed, +9 −6
  • internal/release/release.go +9 −6
diff --git a/internal/release/release.go b/internal/release/release.go
index 21e256b2a..668883e81 100644
--- a/internal/release/release.go
+++ b/internal/release/release.go
@@ -145,9 +145,13 @@ func AppPrefix(acct, app string) string { return appPrefix(acct, app) }
func appPrefix(acct, app string) string { return "apps/" + acct + "/" + app + "/" }
// The legacy, account-less key shapes. Since the read-fallback was retired
-// (qualified.go) they exist for exactly one caller: the migration verb, which
-// copies from here to there. Nothing writes them, and no runtime read
-// resolves through them.
+// (qualified.go) they exist for the migration verb, which copies from here to
+// there, and for tests building a pre-accounts bucket. Nothing writes them,
+// and no runtime read resolves through them.
+//
+// The two LIST prefixes that used to live here (channels/, releases/) are
+// gone with the fallback that was their only caller. A dead builder naming a
+// shape nothing may resolve is an invitation to resolve it.
func LegacyManifestKey(app, version string) string {
return legacyAppPrefix(app) + "releases/" + version + "/manifest.json"
}
@@ -157,10 +161,9 @@ func LegacyArtifactKey(app, version, file string) string {
func LegacyChannelKey(app, channel string) string {
return legacyAppPrefix(app) + "channels/" + channel + ".json"
}
-func LegacyChannelsPrefix(app string) string { return legacyAppPrefix(app) + "channels/" }
-func LegacyReleasesPrefix(app string) string { return legacyAppPrefix(app) + "releases/" }
-// LegacyAppPrefix is everything an unmigrated app owns in the bucket.
+// LegacyAppPrefix is everything an unmigrated app owns in the bucket — what
+// `accounts migrate -from legacy` lists and copies.
func LegacyAppPrefix(app string) string { return legacyAppPrefix(app) }
func legacyAppPrefix(app string) string { return "apps/" + app + "/" }