GitP/A/Log/26/10/05 Mon - simplify gitpa garden proxies/Plan
Simplify Gitpa garden proxies
- Keep production notes, asset records, entity definitions, and reusable proxy automation in logseq-encode-garden. Gitpa owns episode selection, listener presentation, RSS, and website deployment. A resync reproduces source page bodies under the same names while preserving destination properties.
Findings
- Gitpa PR #12 — publish sessions from garden proxies contains matching session and asset proxies. The session and asset proxy bodies match their sources in garden PR #178 — use session pages as episode sources. The source PR remains open, so these pages are not yet available in the main garden. The November source is
GitP/A/Session/24/11/19-Tue; the different path quoted in the review does not identify that page. - Gitpa lacks the proxied Asset/B2, Podcast/Episode, and Proxy/Page definitions. Its sync command follows embeds and GitP asset links, but does not carry entity definitions or task implementations. The current Proxy/Page definition describes manual syncing without a reusable script.
- Mise Task already exists as
Logseq/Entity/Mise/Task. Extend this entity to cover portable implementations and their dependencies. - The review also reports clutter, failed audio/GIF rendering, and unavailable source pages, plus a broken homepage query. The query includes
[(get ?props :public) true], which treats true as a result binding. Asset links currently name the public logseq-encode-garden bucket. Check anonymous asset access to determine whether hosting or rendering causes the media failures. - Anonymous checks on October 5 returned
200 for every episode asset, audio/mpeg for recordings, and image/gif for artwork. MP3 range requests returned 206 with Content-Range. The session assets use the public S3 endpoint https://s3.us-east-005.backblazeb2.com/logseq-encode-garden/, retaining their page-derived filenames. Artwork loads in the browser; embedded audio playback still needs verification.
Reusable proxy task
- Follow Logseq/Entity/Log/26/10/05 Mon - Mise Tasks Accompany Logseq Proxies/Plan for the shared entity-aware sync task. Start from Gitpa's existing sync implementation, preserving its collision checks, destination properties, protected tags, exact names, asset handling, and validation before writes.
- Provide
mise run logseq:entity:proxy:page:sync as a file task. Document it on the Proxy/Page definition and on a task reference page, with links in both directions between documentation and implementation. Declare the task's entry point, helper files, tool requirements, and required supporting pages. A destination receives a runnable implementation with its dependencies and source provenance; refreshing updates the copied implementation as well as its documentation. Detect conflicting local tasks before replacing files. - Follow explicitly declared entity and task dependencies with cycle detection. Use entity membership to include the relevant definitions. Keep the dependency selection inspectable through a dry run that lists missing sources, collisions, planned copies, and updates. Audit proxy URLs in both gardens, including graph names and codeforge paths.
- Verify repeated syncs, cyclic dependencies, changed helper files, conflicting task paths, absent sources, preserved destination properties, and execution from the destination checkout without relying on the source checkout.
Public presentation
- Update the existing paired PRs. Retain the exact mirrored source bodies and apply listener presentation in Gitpa's build output. Render the recording as a direct audio player, the artwork as an image, and presets/MIDI as concise download links. Keep proxy and storage properties out of the listener view. Show production notes only when selected for publication. Verify the rendered November episode before applying the layout across the remaining sessions.
- Check the actual MP3 and GIF with anonymous requests: bucket/key, content type, audio range responses, and browser loading. Repair hosting or rendering according to the observed failure. Use the public bucket URLs recorded by the garden asset pages.
- Fix the homepage query and declare
nbb-logseq through mise. Validate the query against the parsed Gitpa graph, checking which episodes it returns and their ordering. Include unpublished episodes in the fixture so publication filtering is exercised. Check the exported homepage in a browser too.
Integration and completion
- Land the shared proxy task before relying on it in Gitpa. Integrate it into the episode source and publication branches, bring across their entity/task dependencies, and resync. Merge the garden source changes before the publication PR so every proxy URL resolves on main when the website is released.
- Completion means a fresh clone can run the documented sync command, every selected proxy resolves to an existing source, mirrored bodies match, the accompanying tasks run locally, the homepage query returns the intended episodes, audio and artwork load, downloads work, and RSS agrees with the published selection. Attach browser evidence and validation results to the updated PRs for review.