Dashboard › byk.github.io › Distillation
8f8fa6b7-91ad-42fd-bbd0-ba13c9a8287e["6a1a7605bd07e725ba99b9702c1e157e","357c807df65ac1d539472501aa4d81e3","67b4c40be50dc941e2ca398a35d12329","25d6937ac890d0b2736284bbe16a9a3a","f15f7a76cdd31abc8414b70fd5781d43","162f67b59b56142d39cda50e15a160ab","5ce31b289594a7b8938ed6d13d92cc80","948c53bdbc2ec136e8d5f6f8ba92a9d8","177ed263de1ab8a2fed710789be08419","0b5f02efc34c04b4f3410ba3c1cfadf5","0d98a79ace138c9d845a7eb468135126","c2af8d3193c8ec85765ba010a48781e1","21f7ffa1ccdf679d4bd3374a927004df","a4b9ed1a7c0b6b8b7ac209883ed1b01b","2111383214c72d7fd8852ea6c74cf8a7","9d8bb174dce9937965b29b4f5f656b92","aaa837cbf6f0c73dbf37dbdef716cbda","9b65c946a02f9f008d68a4f603fe7db5"]
Date: Aug 5, 2026
/home/byk/Code/byk.github.io contains 22 entries: .astro/, .frontmatter/, .git/, .github/, .gitignore, .lore.md, .opencode/, .vscode/, AGENTS.md, astro.config.mjs, CNAME, dist/, frontmatter.json, LICENSE, node_modules/, package.json, pnpm-lock.yaml, public/, README.md, scripts/, src/, tsconfig.json..opencode/ contains 5 entries: .gitignore, node_modules/, package-lock.json, package.json, plans/.master...origin/master showed modified .lore.md and untracked src/content/posts/teaching-my-agent-to-wait.mdx..opencode/plans/ contained 5 existing plan files before new writes: 1776246790921-misty-falcon.md, 1776252945928-quiet-rocket.md, 1776257442219-crisp-star.md, 1784636785175-happy-canyon.md, standard-site.md..opencode/plans/standard-site.md line 8 records handle byk.im..opencode/plans/standard-site.md line 9 records DID did:plc:kl3s4yablm3fgnxfkn47uy5r, confirmed via DNS TXT _atproto.byk.im..opencode/plans/standard-site.md line 10 records PDS https://meadow.us-east.host.bsky.network..opencode/plans/standard-site.md line 11 states no existing site.standard.* records in the repo..opencode/plans/standard-site.md lines 12-13 state BSKY_APP_PASSWORD is already added as a repo secret in byk.github.io and must belong to the byk.im Bluesky account..opencode/plans/standard-site.md lines 17-20 describe repo/deploy architecture: single Astro 6 package, official GitHub Pages flow using withastro/action@v3 then actions/deploy-pages@v4, .well-known/ dotfiles served as-is, and standard.site publish step appended to the build job after the Astro action..opencode/plans/standard-site.md lines 21-24 state post URL slug comes from frontmatter data.slug rather than filename; all 11 slugs are rkey-safe; post schema fields are title, intro, tag, pubDate, author, optional image, type, slug..opencode/plans/standard-site.md lines 25-28 state <head> lives in src/layouts/Base.astro, postData is passed only by src/pages/posts/[slug].astro, and brand palette in src/css/style.css is primary #003049, secondary #b2a4ff, accent #ffb4b4, dark #000e14, white #ffffff..opencode/plans/standard-site.md lines 32-33 define deterministic keys: publication rkey self β at://did:plc:kl3s4yablm3fgnxfkn47uy5r/site.standard.publication/self; document rkey is the post slug β at://did:plc:kl3s4yablm3fgnxfkn47uy5r/site.standard.document/{slug}..opencode/plans/standard-site.md specifies new file src/lib/standard-site.ts with constants PUBLICATION_DID, PDS_URL, SITE_URL="https://byk.im", PUBLICATION_NAME from config title "Read at BYK's", PUBLICATION_RKEY="self", and TEXT_CONTENT_MAX_BYTES = 64*1024..opencode/plans/standard-site.md specifies src/lib/standard-site.ts should include publicationUri(), documentUri(slug), assertValidRkey(slug), clampTextContent(text), basicTheme, buildPublicationRecord(), and buildDocumentRecord({...})..opencode/plans/standard-site.md specifies assertValidRkey(slug) rejects /, ., .., space, unicode, and values over 512 bytes; build should fail loudly.listAllRecords pagination with dual stop conditions: stop on empty page OR null cursor; never spin forever.documents.length === 0; never wipe the collection..github/workflows/deploy.yml publish step to use continue-on-error: true so transient PDS outage never fails the deploy..opencode/plans/standard-site.md specifies new Astro endpoint src/pages/standard-site.json.ts rendering each post via AstroContainer + @astrojs/mdx/server.js, stripping HTML to text, clamping to 64 KiB, and emitting { pds, publication: {rkey, record}, documents: [{rkey, record}] }..opencode/plans/standard-site.md specifies document fields in standard-site.json: site, title, publishedAt (pubDate ISO), path=/posts/{slug}, description from intro, tags=[tag], and textContent; coverImage/icon omitted as blob upload follow-up..opencode/plans/standard-site.md specifies src/pages/standard-site.json.ts sorts newest-first and calls assertValidRkey per slug..opencode/plans/standard-site.md specifies new plain-text file public/.well-known/site.standard.publication containing one line: at://did:plc:kl3s4yablm3fgnxfkn47uy5r/site.standard.publication/self..opencode/plans/standard-site.md specifies new script scripts/publish-standard-site.mjs as zero-dependency raw XRPC ported from loreai #1037/#1043, with createSession using identifier byk.im and BSKY_APP_PASSWORD..opencode/plans/standard-site.md specifies scripts/publish-standard-site.mjs must cross-check authenticated DID against PUBLICATION_DID baked into dist/standard-site.json and refuse publish if they differ..opencode/plans/standard-site.md specifies scripts/publish-standard-site.mjs must putRecord upsert publication and each document with validate:false..opencode/plans/standard-site.md specifies orphan-prune flow in scripts/publish-standard-site.mjs: run only after all upserts, use pure computeOrphanRkeys(existing, keep), then deleteRecord for orphans..opencode/plans/standard-site.md specifies scripts/publish-standard-site.mjs reads dist/standard-site.json and includes an ESM direct-run guard..opencode/plans/standard-site.md specifies editing src/layouts/Base.astro to always emit <link rel="site.standard.publication" href={publicationUri()} /> and emit <link rel="site.standard.document" href={documentUri(postData.data.slug)} /> when postData?.data?.slug exists..opencode/plans/standard-site.md specifies editing package.json to add script "publish:standard-site": "node scripts/publish-standard-site.mjs"..opencode/plans/standard-site.md specifies appending to .github/workflows/deploy.yml after withastro/action@v3 a step named Publish standard.site records to the byk.im PDS with if: ${{ env.BSKY_APP_PASSWORD != '' }}, continue-on-error: true, env.BSKY_APP_PASSWORD: ${{ secrets.BSKY_APP_PASSWORD }}, and run: node scripts/publish-standard-site.mjs..opencode/plans/standard-site.md verification section requires pnpm build to produce dist/standard-site.json with correct DID, 1 publication + 11 docs, textContent present and β€64 KiB, and byte-exact dist/.well-known/site.standard.publication..opencode/plans/standard-site.md verification section requires inspecting dist/posts/{slug}/index.html for both publication/document link tags, homepage for publication-only, then astro check and prettier clean..opencode/plans/standard-site.md notes no test runner is configured in this repo; logic is ported from loreai where it was unit- and mutation-tested in #1037/#1043/#1045; no test harness added unless requested..opencode/plans/standard-site.md scope notes defer coverImage/publication icon blob uploads and specify workflow branch feat/standard-site off clean master with PR.Inspect current GitHub Actions build and publication workflow β completed; 2. Define Loops newsletter flow and duplicate-send safeguards β completed; 3. Write implementation plan with configuration and rollout steps β in progress..opencode/plans/loops-newsletter.md.Write implementation plan with configuration and rollout steps..opencode/plans/loops-newsletter.md covers service boundary, Loops campaign/contact integration, signup and double opt-in, signed GitHub Actions notifications, durable idempotency, webhook handling, rollout phases, and verification cases.src/content/posts/teaching-my-agent-to-wait.mdx and unrelated .lore.md change remained untouched..opencode/plans/1785937023340-cosmic-engine.md was empty and required writing the plan there before calling plan_exit./home/byk/Code/byk.github.io/.opencode/plans/1785937023340-cosmic-engine.md before creation..opencode/plans/1785937023340-cosmic-engine.md.