Episode notes and media links live in logseq-encode-garden. Gitpa mirrors each session under its exact page name, together with its embedded audio asset page. The website and RSS read those checked-in pages.
To mirror or refresh an episode, run the garden's sync task, imported into gitp-garden/mise-tasks/: mise run logseq:entity:proxy:page:sync --source /path/to/logseq-encode-garden --destination gitp-garden --page 'GitP/A/Session/26/09/24-Thu' --follow-embeds --apply. --follow-embeds brings the recording, artwork, preset and MIDI pages the session embeds in the same batch; leave out --apply to preview. The page bodies are replaced with the garden's. Properties follow the garden too, except tags::, public::, podcast-guid:: and podcast-published-at::, which stay as Gitpa set them; the preview lists each property it adds, updates or removes. A destination page without a matching proxy URL stops the batch before writing. The task also brings each page's entity definitions and records what it imported in gitp-garden/.logseq-proxy/manifest.json. Re-running it against unchanged garden pages changes nothing except logseq-proxy-last-sync-date::.
For dependent PRs, pass the upstream worktree path explicitly with --source. Proxy graph links keep the registered logseq-encode-garden name; source links identify the worktree branch. After the upstream PR merges, re-sync from the registered checkout to update the source links to main.
To update the imported sync task itself, sync its entity definition: mise run logseq:entity:proxy:page:sync --source /path/to/logseq-encode-garden --destination gitp-garden --page 'Logseq/Entity/Proxy/Page' --apply.
Set public:: true on the episode page to release the episode on the website and RSS. The synced episode body contains direct artwork, recording and preset download links. The desktop graph hides administrative properties and displays logseq-entity and date-created. The website build also resolves older recording and artwork embeds into direct links. Proxy and storage properties remain in the checked-in garden; the exported listener view hides page properties. A Notes or Production notes heading publishes its children only when the heading carries public:: true. The website build derives asset-page visibility from public episodes; shared assets stay visible while any public episode links to them. The episode's podcast-guid:: identifies its RSS item permanently; podcast-published-at:: holds its publication time with a timezone offset. The RSS builder reads the title and description from the session's opening heading and paragraph, reads its direct MP3 recording link (or an older embedded MP3 asset page), and gets the enclosure size from the public MP3 server. public:: false keeps an episode out of the website and RSS.
The November and December 2024 recordings enter the feed with this release. Their publication times record that release; their recording dates remain on the session pages. The September 2026 episodes retain their existing feed identities and publication times.
Run mise run rss:build and commit rss.xml with a publication PR. mise run rss:check checks the feed against the public pages and audio server; mise run rss:test runs offline tests. Merging a publication PR triggers the Pages workflow, which publishes the website and podcast feed.
Install the staged-file guard with lefthook install. It uses the machine's mise run secrets:scan task. GitHub Actions scans the public source before publishing.
The homepage lists published episodes by publication time, newest first. Preparation normalizes publication timestamps to UTC in the temporary website graph so different timezone offsets sort chronologically. Run mise install and npm ci, then mise run site:query:check to test the actual query, result transform and view using the Logseq file parser. Before running the query, the check rewrites (pull ?b [*]) the way the Logseq app does, which drops page names; the homepage query therefore pulls ?p. The check includes false and string-valued publication fixtures. PR builds upload a gitpa-website artifact for browser review.