Dashboard › byk.github.io › Distillation
Distillation
ID: 09bd110b-74be-4426-899d-8912a8e73df1
Generation: 0
Tokens: 1762
R_compression: 14.481
C_norm: 0.001
Archived: No
Created: 2026-07-21 12:34:12
Source IDs:
["89b4d56134b10299d4bfee86038b6ef1","8c0e38ea8c9ffec29dbf8a639bfd133c","975cab8e9a2e2ecdd158ad8dd67b885f","101a0b501452fc4af967e4b62ee42e6a","0f3b19d63eef73e72e3a236d1660351d","f1d20177296d14cbbbd0c85d17dbfc80","5ec5cea71cb7fe5fcd00602105ff7446","db1395d8f72846b0a29206e923ed2d93","0a83254e992154409c7c4a07302c82d8","57a1986da74c04def427ccc9863c8bcd","767b48edb9a3729353c172a25b3d8f06","4785ea2c3037bc55aca53afccf635859","4b25e82e4e2d224766e196081e70c468","fa494d3eb4b3ee81d408d7cc17c586fb","c15497a6466dba9ca654319656952509","ab4253caf8b416cee74fc53df2d50899","78514c4dd15d632373adbeb18df25221","d192fb02317ab2b81f56fb89107e71b3","27e6bf824f30063dfb741af04a742e48"]
Observations
Date: Jul 21, 2026
- 🔴 (12:28) User clarified/corrected bug scope: broken social media previews only occur when the link is used WITHOUT a trailing slash (e.g. https://byk.im/posts/ultimate-setup-labs), narrowing prior general report of "broken previews".
- 🟡 (12:28) Assistant confirmed trailing-slash URL (https://byk.im/posts/ultimate-setup-labs/) renders correctly with full OG/Twitter tags: og:title "My ultimate setup: a £40 box that codes while I poop", og:description "Random ramblings of a software engineer. Mostly about software, sometimes about life.", og:image "https://byk.im/_astro/ultimate-setup-labs.DxoFZ7ad.png", og:url "https://byk.im/posts/ultimate-setup-labs/".
- 🔴 (12:28) User's blog post "My ultimate setup: a £40 box that codes while I poop" states: "I always have my phone" — describing checking in with their coding agent via phone as the key bottleneck removal.
- 🔴 (12:28) Blog post states the office PC running the agent "never sleeps and doesn't care about its fan curve" — contrasted with the user's laptop.
- 🔴 (12:28) Blog post footnote states ndiswrapper (Windows NDIS driver loaded in Linux kernel for unsupported WiFi cards) "never once worked well for me".
- 🔴 (12:28) Blog post states user "replaced a cloud feature I didn't control with a used office PC I found for the price of a good GaN power brick" — a used OptiPlex, initially £40, now ~£100 after adding more RAM, a bigger SSD, and a better WiFi card.
- 🔴 (12:28) Blog post footnote states user replaced their laptop's thermal paste with a phase-change thermal pad from Thermal Grizzly (thermal-grizzly.com), after consulting an AI; described as having "worked wonders".
- 🟡 (12:28) Assistant ran curl on http://byk.im/posts/ultimate-setup-labs (no slash) → HTTP/2 301 redirecting to location: http://byk.im/posts/ultimate-setup-labs/ (protocol downgraded from https to http), server: cloudflare, x-github-request-id header present.
- 🟡 (12:29) Assistant traced full redirect chain: first hop shows malformed Location header "https://byk.imposts/ultimate-setup-labs" (missing slash between host "byk.im" and path "posts"), then a second 301 to http://byk.im/posts/ultimate-setup-labs/, then finally HTTP/2 200.
- 🟡 (12:29) Root cause identified as two layered problems: (1) GitHub Pages default redirect downgrades https:// to http:// when appending trailing slash — crawlers (Twitter/Facebook/Slack etc.) dislike the protocol downgrade or don't follow redirects; (2) a malformed Cloudflare redirect rule produces "https://byk.imposts/ultimate-setup-labs" (missing slash), a broken bulk redirect rule. Neither problem lives in the repo — both are Cloudflare/GitHub Pages infrastructure issues.
- 🟡 (12:29) Assistant inspected astro.config.mjs (/home/byk/Code/byk.github.io/astro.config.mjs, 28 lines): integrations mdx (with wordCount remark plugin) and icon(); site: "https://byk.im"; build.assetsPrefix: "https://byk.im/"; vite plugins: tailwindcss(); no trailingSlash or build.format setting present, so Astro defaults to build.format "directory" → generates posts/ultimate-setup-labs/index.html, meaning canonical URL has a trailing slash and the no-slash version depends on server-side redirect.
- 🟡 (12:29) Git status check: branch master, up to date with origin/master; one untracked file src/content/posts/teaching-my-agent-to-wait.mdx (confirmed as the user's uncommitted draft post — assistant left it untouched per user's earlier instruction).
- 🟡 (12:29) Directory listing of public/ showed no CNAME or redirects file (contents: favicon.ico, fonts/, logo.png, .well-known/) — DNS/routing handled entirely by Cloudflare, not the repo.
- 🟡 (12:29) Assistant confirmed there is no <link rel="canonical"> tag anywhere in the codebase (search returned empty).
- 🟡 (12:29) Assistant tested naive crawler behavior at the no-slash URL without following redirects: response body is only 162 bytes (a bare redirect stub) with no OG tags at all.
- 🟡 (12:30) Grep across repo for permalink/OG-URL construction found 6 matches: src/layouts/Base.astro:50 (RSS alternate link via new URL("rss.xml", Astro.site)); src/components/general/Footer.astro:16 (SocialIcon rss link); src/components/general/SeoHead.astro:8 (permalink = new URL(Astro.url.pathname, Astro.url)), :21 (og:url from permalink), :23 (og:image from new URL(image, Astro.url)), :28 (twitter:url from permalink).
- 🟡 (12:30) Full contents reviewed: src/components/general/SeoHead.astro (30 lines) — imports config from '../../config.mjs'; derives title/description/image/type from postData or config fallback; builds permalink from Astro.url.pathname; renders og:type, og:title, og:url, og:description, og:image, twitter:card "summary_large_image", twitter:title, twitter:url, twitter:description, twitter:image.
- 🟡 (12:30) Assistant noted permalink is built from Astro.url (runtime request URL) rather than Astro.site, but since this is SSG, at build time the pathname reflects the directory-format trailing-slash path, so og:url already renders correctly in the working HTML — the bug is not in this component's logic itself.
- 🟡 (12:30) Assistant's next planned step: verify whether the malformed Cloudflare redirect is site-wide by testing another post's no-slash behavior, before finalizing the plan.