Skip to content
META

Changelog

Structural decisions that shaped ROOT. Not a per-commit log — a record of why the program is the way it is.


2026-06-15: site live + content polish

ROOT graduates from “scaffolded markdown” to a deployed, branded docs site. Stack chosen, theme finalized, content expanded across ~140 files.

What landed:

  1. Site live at root.abukix.dev. Astro 5 + Starlight 0.30, deployed to Cloudflare Pages on every push to main. Private behind Cloudflare Access (email allowlist) — the “preview deployment public-by-default” gotcha called out in the initialization entry is now mitigated end-to-end.

  2. Stack chosen: Astro + Starlight. Resolves the “stack-portable markdown / stack chosen later” decision from initialization. Markdown stays portable; Astro/Starlight is the rendering layer. Frontmatter format unchanged across the migration — the same files would still render in MkDocs or Eleventy.

  3. Brand visual system locked. Dark + light themes, both first-class. JetBrains Mono Variable across body and code (self-hosted via @fontsource-variable). /root filesystem-path logo, theme-conditional SVGs (public/logo-dark.svg + logo-light.svg). Year-color palette: Y1 cyan, Y2 yellow, Y3 pink, Y4 green, Y5 purple. Brand tokens centralized in src/styles/custom.css.

  4. Custom homepage hero. Splash page is custom HTML in src/content/docs/index.mdx (not Starlight’s frontmatter hero: block). Capsule pill (5-YEAR PROGRAM · KERNEL TO LLM), gradient ROOT headline, stat grid (5 / 30 / 59 / 10), Year 1 → Year 5 arc callout, status pills (STUB/OUTLINE/DEEP) reusable across the pattern library.

  5. PageTitle component override. src/components/PageTitle.astro renders a brand kicker line above each page’s H1, color-coded by year. Reads frontmatter year / phase / tags / status to drive the display. Skips rendering on splash so the custom hero is the canonical homepage.

  6. Content expansion across ~140 files. Master Plan rewrite + Story + AI Learning Protocol + Platform Patterns + 5 year overviews + 30 phase pages + 5 final exams + 60 pattern STUBs + 12 project PLANs + 5 homelab docs + 8 writing templates + 6 brand docs. Each got: description: frontmatter, framing-paragraph opener, Starlight asides for non-obvious insights (:::tip, :::note, :::caution), dense cross-links to related docs.

  7. Authoring rules locked. No body H1 in markdown — page titles render from frontmatter via PageTitle. Em-dashes in section headings → colons (em-dashes inside body prose preserved as voice). Cross-links use absolute Starlight paths, not relative .md. Patterns stay STUBs unless the user does the work.

  8. Sidebar relabeled for clarity. Program — 5-year curriculumProgram. Year N — TopicYear N: Topic. Phase items dropped the Phase N — prefix (year context comes from group). Meta — Writing TemplatesWriting Templates. Em-dash separators eliminated; em-dashes only appear inside descriptive subtitles.

  9. Conventional Commits adopted. Every commit uses <type>(<scope>): <description> format. Types: feat, fix, docs, style, refactor, chore. Scopes per area: homepage, program, patterns, projects, brand, homelab, meta, theme, routing, seo, deps, build, ci. Body explains why, not what.

  10. GitHub navbar icon uses GitHub brand colors instead of inheriting the site accent — monochrome at rest (matches github.com itself), GitHub-blue (#0969da) on hover. Brand-recognizable without breaking theme cohesion.

  11. Meta docs refreshed to codify the new conventions. CLAUDE.md now carries an Authoring rules subsection (no body H1, em-dash → colon, splash hero in index.mdx, patterns stay STUBs, absolute cross-link paths), a Conventional Commits reference with type/scope tables, and a Build & deploy section noting the Cloudflare setup. README.md got a centered favicon hero + tagline, refreshed file layout, local dev commands, and an updated frontmatter conventions table that reflects the actual schema (with description:, without slug:).

Status at site launch:

  • ~140 markdown files expanded; ~25,000 lines of content
  • 0 broken internal links across 450+ cross-references
  • 0 body H1 leaks (every page title rendered from frontmatter)
  • 0 employer leakage; only approved aesthetic references retained (Apple Silicon hardware + Apple product film aesthetic, both public)
  • Public surface: site live behind Cloudflare Access at root.abukix.dev
  • Repo surface: README + CLAUDE.md in sync with the deployed state and the conventions actually being followed

2025-10-21: ROOT initialized

ROOT is a 5-year career program from SRE Support to Staff/Principal AI Platform Engineer. Built on patterns, not tools — so the knowledge survives when the tools change.

Design decisions locked at initialization:

  1. 5 years, 60 months, self-contained yearly exits. Each year ends with a credible CV milestone (Y1 → Junior SRE; Y2 → DevOps; Y3 → Senior DevOps/Data Platform; Y4 → ML Platform; Y5 → Staff/Principal AI Platform). Life can interrupt at any year boundary without wasting the prior years.

  2. Pattern-first teaching contract. Every phase doc follows: Problem → Principles → Trade-offs → Tools → Mastery → Compare → Operate → Contribute. Tools point you in the right direction via Starter hints: lines; you write the actual commands. No spoon-feeding.

  3. Pattern library is the durable artifact. 59 patterns across 10 categories, scaffolded as STUB entries from day one so any phase can reference them. They deepen STUB → OUTLINE → DEEP as phases hit them. By Year 5 the library is the durable knowledge base; phases are the journey to populate it.

  4. Abukix Studio is the public brand. ROOT is the curriculum; basecamp is the platform; Abukix Studio is the user-facing surface (Portal + command palette + platform-ctl + 5 composition recipes). Launches Y5 Phase 29.

  5. Three loud launches across 5 years — terralabs (Y2 P9), basecamp (Y3 P19), Abukix Studio + platform-ctl + aiops + mlship v2 (Y5 P29-P30). Sustainable cadence; loud-launch energy is reserved for artifacts that earn it.

  6. Y4 staging discipline:

    • llm-gateway staged across P21 (skeleton) → P24 (RAG/streaming/multi-model) → P25 (drift + auto-rollback). No single-phase mega-build.
    • mlship v0/v0.5 lands in Y4; v2 capstone launch is Y5 P30 with 2 frameworks done excellently (sklearn + HF text-gen), not 6.
  7. Personal services tier on basecamp — basecamp serves you, not just demos. personal-blog (Y2) → personal-api (Y3) → notes-rag (Y4) → home-dash (Y5). One per year. Cinematic content payoff.

  8. Year 1 Phases 4-5 framed as fluency, not mastery. Saves ~40 hrs across the year while still shipping rxp/konfig/pulse. The patterns (text processing, schema validation, concurrency) get touched; mastery comes later when you operate something complex written in each language.

  9. SLI/SLO discipline pulled forward to Y2 P12. Discipline first, telemetry second. Y3 P14 then lands the eBPF + advanced telemetry that backs the SLOs with real data.

  10. Y2 Phase 12 split into UX + Security halves within a single phase doc — preserves the 30-phase total while pacing the two thematic halves clearly.

  11. The Cloudflare preview-deployment-access gotcha is documented prominently in src/content/docs/brand/hosting-plan.md. This single setting (preview deployments default to Public, bypassing zone-level Access) is the most common reason “my Access policy isn’t working” — caught at the start.

  12. Stack-portable markdown. Every file uses consistent YAML frontmatter so the same content can render in Astro, MkDocs, Eleventy, or anything else without rewriting. Stack chosen later.

The single-sentence thesis:

ROOT is a 5-year process to make me the engineer past-me wanted to learn from — by building the platform that future-me would want to operate, while documenting the journey publicly so other engineers can follow.


Status at initialization:

  • 133 markdown files, ~15,500 lines
  • 30 phase docs + 5 final exams (the curriculum)
  • 59 STUB patterns across 10 categories (the durable knowledge artifact)
  • 10 project plans (Studio + 9 OSS) + Studio composition recipes
  • 7 writing templates + style guide (the meta layer)
  • Homelab + brand + hosting plans (the operational context)
  • All cross-references resolve; frontmatter consistent across the repo