GitP/A/Log/26/10/08 Thu - rename October 6 session/Plan
Rename the October 6 session from
06-Thuto06-Tue- October 6, 2026 was a Tuesday. The garden pages are already renamed to GitP/A/Session/26/10/06-Tue, GitP/A/Session/26/10/06-Tue/Asset/Synth/Full/mp3 and GitP/A/Session/26/10/06-Tue/Asset/MIDI/Full/mid. Their bodies still link the B2 objects under the old name, and gitpa still publishes the episode under the old name.
Where the old name remains
- B2 holds two public objects under the old name, both answering anonymous requests with
200:- GitP___A___Session___26___10___06-Thu___Asset___Synth___Full.mp3, the episode recording.
- GitP___A___Session___26___10___06-Thu___Asset___MIDI___Full.mid, the full-session MIDI download.
- On 2026-10-08 Thu both were copied to the
06-Tuenames with the same size, media type and ETag.
- The garden links those objects from four places: the session page (recording embed and MIDI download), the MP3 asset page, and the MIDI asset page.
- Gitpa
maincarries three proxy pages underGitP/A/Session/26/10/06-Thu, their entries in gitp-garden/.logseq-proxy/manifest.json (thedeclarations,importsandpagessections), and the episode's feed item. - The episode is live. codekiln/gitpa#22 restore approved October 6 episode merged on 2026-10-08 Thu, and the deployed feed carries the item with
guidgitpa20261006, an episode link to#/page/GitP%2FA%2FSession%2F26%2F10%2F06-Thu, and an enclosure at the old MP3 URL. See rss.xml lines 24–33. - The prepared exports in
~/Documents/ableton/GitP/GitP26.10.06 Project/have MD5 sums equal to the ETags of both live objects, so they are the same files.
- B2 holds two public objects under the old name, both answering anonymous requests with
Copy the media to the new names
- Upload each local export under its renamed asset page with GitP/mise/Task/media/upload, from a garden checkout:
- sh
mise run gitpa:media:upload -- "$HOME/Documents/ableton/GitP/GitP26.10.06 Project/GitP___A___Session___26___10___06-Thu___Asset___Synth___Full.mp3" 'GitP/A/Session/26/10/06-Tue/Asset/Synth/Full/mp3' mise run gitpa:media:upload -- "$HOME/Documents/ableton/GitP/GitP26.10.06 Project/GitP___A___Session___26___10___06-Thu___Asset___MIDI___Full.mid" 'GitP/A/Session/26/10/06-Tue/Asset/MIDI/Full/mid'
- The task derives the object name from the page, so these create
GitP___A___Session___26___10___06-Tue___Asset___Synth___Full.mp3andGitP___A___Session___26___10___06-Tue___Asset___MIDI___Full.mid. It checks SHA-1, length and media type on B2, then downloads the object and compares SHA-256 with the local file. - Check each new URL anonymously at the public S3 endpoint the other pages use:
curl -sI https://s3.us-east-005.backblazeb2.com/logseq-encode-garden/<new name>should return200, the sameContent-LengthandContent-Typeas the old object, and the same ETag. - The old objects stay in place. The live feed keeps working through every step below.
- Upload each local export under its renamed asset page with GitP/mise/Task/media/upload, from a garden checkout:
Point the garden at the new objects
- In a garden PR, replace
06-Thuwith06-Tuein the four B2 URLs on GitP/A/Session/26/10/06-Tue, GitP/A/Session/26/10/06-Tue/Asset/Synth/Full/mp3 and GitP/A/Session/26/10/06-Tue/Asset/MIDI/Full/mid. After that,grep -rn "06-Thu" pages journalsshould match only log text. - Merge it before the gitpa PR. Gitpa proxies record
logseq-proxy-codeforge-url::links to gardenmain, so the renamed pages need to be onmainwhen gitpa syncs them.
- In a garden PR, replace
Rename the proxies and update the feed in gitpa
- Work in a gitpa worktree off
origin/main. Open PRs codekiln/gitpa#23 Launchpad namespace import and codekiln/gitpa#24 Microfreak namespace proxies also writemanifest.json; whichever lands second rebases and re-runs sync. - Sync the three renamed pages from the garden's registered
maincheckout. The session page links its assets by URL, so each asset page needs its own run: - Sync creates new proxy files, so the gitpa-owned properties start empty. Copy these three lines from the old session proxy into the new one, unchanged:
- Remove the three
06-Thuproxy pages withgit rm, and delete their keys from thedeclarations,importsandpagessections ofmanifest.json. The sync task has no rename or removal option, so this part is a hand edit. Leaving the old session proxy public would also fail the feed build: build_rss.py line 85 rejects a duplicate GUID. - Run
mise run rss:build,mise run rss:check,mise run rss:testandmise run site:query:check. The expectedrss.xmldiff is two lines in the October 6 item: the<link>and the enclosureurl. Title, description,guid,pubDateand enclosure length stay the same. grep -rn "06-Thu" gitp-garden rss.xmlshould return nothing.- In the PR's
gitpa-websitepreview artifact, open the episode under the new page name and play the recording. - Merging deploys the site and feed. Afterwards, fetch
https://codekiln.github.io/gitpa/rss.xmland check the item's new enclosure URL.
- Work in a gitpa worktree off
Retire the old objects
- The feed is the only thing outside the two repositories known to hold the old MP3 URL. Apps that already downloaded the episode keep their copy; apps that refresh the feed pick up the new enclosure under the same GUID.
- After the new feed has been live for seven days, check that neither repository nor the live feed contains
06-Thu, then hide both old objects in B2. Hiding makes the name return404and keeps the stored version, so un-hiding restores it. Delete the hidden versions later if storage matters. - The garden's B2 tooling only uploads and verifies. Hiding happens in the Backblaze web console or with
rclone/awsusing the garden's Fnoxassetscredentials.
Follow-ups
- Add a short "Rename a source page" section to Logseq/Entity/Proxy/Page once this has been done once: rename the source, sync the new name, carry the destination-owned properties, remove the old proxy and its manifest keys.
- A rename option on Logseq/Entity/Proxy/Page/mise/Task/sync (for example
--rename-from <old page>) would do the property carry-over and manifest cleanup in one previewed transaction. The task is vendored from this garden, so the change starts here and reaches gitpa by re-syncing Logseq/Entity/Proxy/Page.
Questions
- Should the old episode link
#/page/GitP%2FA%2FSession%2F26%2F10%2F06-Thukeep working on the website?- An
alias:: GitP/A/Session/26/10/06-Thuon the garden session page would sync to gitpa and may let Logseq's exported site resolve the old address; the preview artifact can show whether it does. The cost is that the misnamed page name stays in both graphs' search. - No, decided by Person/codekiln on 2026-10-08 Thu.
- An
- How long should the old B2 objects stay up after the new feed deploys before they are hidden?
- Seven days, decided by Person/codekiln on 2026-10-08 Thu.
- Should the old episode link