Standing up the blog: repo as source of truth
This is the first post, and it’s about the thing you’re reading it on.
The whole site is markdown files in a git repository. No CMS, no database, no
lock-in. Posts live in /posts as plain .md files, the site is built with
Astro, and it deploys to Cloudflare Pages on every merge
to main. The repo is the source of truth for everything.
How publishing works
There’s no separate “publish” button. Reviewing and merging a post is the publish action:
- A rough idea or brain dump goes to a local drafting agent.
- The agent structures it, preserves voice, and drops a formatted
.mdfile in thedraftsbranch. - I review for voice and accuracy.
- Merging to
mainfires a GitHub Action that builds the site and pushes it to Cloudflare Pages.
Anything in /posts/drafts/ is intentionally excluded from the build, so a
work-in-progress never ships even if it lands on main early.
What this is for
Three things, mostly:
- Agentic systems and the SOC I’m building — architecture, failure modes, and the unglamorous parts.
- Local LLM tuning — parameters, DFlash configs, KV-cache quantization, and which models actually earn their place for a given task.
- AI personas, memory, and continuity — what it takes for an agent to stay itself across sessions.
The register I’m aiming for: a practitioner thinking out loud, not a thought leader performing expertise. If a post reads like marketing, it failed review.
# The kind of thing that'll show up here — real configs, not hand-waving.
kv_cache = {"bits": 4, "group_size": 64}
More soon.