`apt-get install awscli` failed with "no installation candidate": the package
lives in Ubuntu's universe component, so whether it resolves depends on which
image the runner uses rather than on anything this workflow declares. Same
class of bug as the missing Yarn.
Install the official v2 bundle instead — self-contained and identical across
images — in its own step so a failure names itself, and log the image identity
so the next surprise is diagnosable from the log alone.
setup-node provides Node but not Yarn; the workflow was relying on the runner
image shipping it, as GitHub's hosted images do. When the act_runner image
changed, `yarn install` began failing with exit 127 and every push since
6964ce7 (2026-07-19) silently stopped deploying — a dead pipeline reads the
same as a site that did not need to change.
Pinned to 1.x: the lockfile is v1 and `--frozen-lockfile` is v1 syntax.
Retract the seven published columns into drafts/ and promote the 24 per-date
entries split out of Notes/random.md. Bodies are verbatim; titles, subjects
and slugs are new.
Make publication a matter of location. Notes/Notes.11tydata.js gives anything
under Notes/ permalink: false unless tagged `column`; drafts/drafts.11tydata.js
renders drafts at their real permalink under `yarn dev` and excludes them from
collections entirely in a build, so no template can surface one. Publishing is
now `git mv drafts/<file> columns/`, and moving it back retracts it.
Untagged notes were previously rendered into _site/ and deployed — including
Notes/random.md, which was live at /Notes/random/.
Serve it as text/plain on deploy so browsers display the raw text
instead of downloading; add .dockerignore so local image builds can't
ship stale _site or host node_modules.
- Drive the columns collection from the `column` tag, recovering 3 columns
authored under Notes/ that the glob missed
- Tag the 6 columns with subject tags; add a subjects collection and a
/subjects/ listing page (newest-first), linked from the footer
- minmax(0,1fr)+min-width:0 and pre-wrap so a long fenced line no longer blows out the grid
- build-time KaTeX via @vscode/markdown-it-katex; ship katex CSS+fonts and link in layouts