Phase 1 roadmap: russetleaf.dev¶
The milestones for building Phase 1, with target dates, and the actual dates once each is reached. The steps, tiers and estimates come from the plan's progress checklist; day-to-day work is tracked as GitHub Issues (one per step) grouped into these milestones, on a public GitHub Projects board.
Assumptions (baseline of 2026-11-02)¶
- Start: Monday, November 2, 2026.
- Pace: about 60 hours a week, worked as 10 hours a day, six days a week, with Saturdays off.
- Order: the Core tier first (in plan order), then the Differentiators, then the Staff and Stretch steps, as the plan recommends.
- Estimates: the plan's focused-hour ranges (expect ±50%). Target is the date at the midpoint of the estimates; latest is the date at the high end.
- Not included: holidays (Thanksgiving, late December), days lost to waiting (box 3's delivery, AWS approvals, DNS), and the drop in pace that long stretches of 10-hour days usually bring. Plan around the latest dates.
Milestones¶
| Milestone | Steps | Est. hours | Target | Latest | Actual | Actual hours |
|---|---|---|---|---|---|---|
| M1 Foundations | 0.1–1.1 | 11–21 | Tue, Nov 3, 2026 | Wed, Nov 4, 2026 | ||
| M2 Cluster and AWS foundations | 2.0–2.4 | 36–57 | Mon, Nov 9, 2026 | Tue, Nov 10, 2026 | ||
| M3 GitOps and platform services | 3.1–4.7 | 41–67 | Sun, Nov 15, 2026 | Wed, Nov 18, 2026 | ||
| M4 WordPress live with staging and promotion | 5.1–5.7, 5.10, 5.12 | 54–91 | Mon, Nov 23, 2026 | Sun, Nov 29, 2026 | ||
| M5 Core tier complete and published | 6.1, 6.3, 9.2 | 27–39 | Fri, Nov 27, 2026 | Thu, Dec 3, 2026 | ||
| M6 Senior tier: operations evidence | 2.5, 5.8, 5.9, 5.11, 6.2, 6.4, 6.5, 7.1–7.6, 7.8–7.12, 9.1 | 72–127 | Wed, Dec 9, 2026 | Fri, Dec 18, 2026 | ||
| M7 Staff tier and Phase 1 complete | 7.7, 8.1–8.9 | 89–144 | Tue, Dec 22, 2026 | Mon, Jan 4, 2027 | ||
| Total | 330–546 |
What each milestone shows when it's done:
- M1: accounts, tools, budget alert, network segmentation, decisions recorded, the repos public with their CI guardrails.
- M2: the AWS Organization with its security services, the three-node Talos cluster with Cilium, the home AWS and Cloudflare resources, and the Terraform pipeline.
- M3: Argo CD managing everything; storage, secrets and certificates, ingress through the tunnel, monitoring and alerting, MariaDB and Valkey, logging, and OIDC sign-in.
- M4: russetleaf.dev live on the custom image and theme, with ci tests, on-demand staging, promotion and the privacy basics.
- M5: Kyverno and network policies enforced, the docs polished, and the project published as a finished Core tier. First portfolio milestone.
- M6: progressive delivery, sandboxing, runtime security, cost and tracing, keyless AWS access, and the rollback, node-failure and disaster drills.
- M7: SLOs and error budgets, DORA metrics, Backstage and a second service, the threat model and control matrix, chaos and postmortems, strategy documents, fleet management, and public writing.
Tracking and reporting¶
- Issues: one per step, created from the plan by
tools/plan_to_issues.py(see its usage notes), labeled by tier and stage, in the milestone above, with the step's substeps as a checklist and its test as acceptance criteria. - Step specs: before starting a step, write its spec with Claude from
../specs/TEMPLATE.md; the pull request links the issue and the spec. - Actuals: record actual hours per step in the plan's checklist, and fill in this table's Actual columns when a milestone closes.
- Milestone retro: when a milestone closes, add a short note to the plan's decision log: estimated vs actual hours, what took longer and why, and what changes for the next milestone.
- Re-baselining: if a milestone finishes more than a week late, re-plan the remaining dates here (keep the original baseline in Git history and say so in the decision log) rather than letting the table go stale.