docs(handbook): document our SDLC across planning, design, implementation, and monitoring - #1533
docs(handbook): document our SDLC across planning, design, implementation, and monitoring#1533scotwells wants to merge 12 commits into
Conversation
…tion, and monitoring Ties existing handbook pages together into a coherent SDLC narrative and fills the gaps: adds Design and Implementation standards pages, and expands roadmap/customers/production-readiness with planning, customer-feedback, and observability sections. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
🔎 SEO & Meta ReviewAnalyzed 13 of 98 built HTML pages (mode: 📊 Score summary
No previous audit found — trend will appear next run. SEO Review — Datum Handbook (13 pages)Summary: The handbook is in good overall shape — no missing titles, canonicals, noindex issues, or broken JSON-LD. Two issues need attention: three descriptions exceed the 160-char limit (risking truncation in SERPs), and JSON-LD coverage uses only sitewide 2. Critical Issues
No missing titles, missing/duplicate canonicals, duplicate H1s, noindex on production pages, titles >70 chars, missing 3. Improvements
4. Per-page notes
|
…nd incidents Points the design page at the enhancements repo's KEP template for cross-cutting work and at search/activity as concrete in-repo docs examples, and points incidents at activity's dated investigations and alert-driven runbooks as a model for capturing post-mortems. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
The System design section said designs live as a GitHub issue comment, while the new "Where designs actually live" section said they're committed docs. Design docs are the committed artifact; the issue just links to it. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
… and aggregated apiservers Adds a detail page under implementation standards documenting the controller-runtime reconciler conventions and aggregated apiserver pattern used by milo, search, and activity, grounded in their actual code (project_controller.go, policy_controller.go, apiserver.go). Linked from standards.md and the build/index.md SDLC overview. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
File paths to specific controller/apiserver source files read like a code index and go stale as the codebase changes. Keep the page focused on the patterns and when to use them, not literal file references. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…plane page Adds explicit criteria for reaching for a controller vs a plain API handler, and a closing section on what's expected once you build one (design review, service tier/readiness, backward compatibility, long-term ownership). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…w APIs Aggregated API servers are new APIs by definition and always clear the design-review bar. Controllers usually reconcile an existing resource and only need design review when they meet the ordinary criteria from design.md — not automatically. Production readiness and ownership still apply to both regardless. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Captures the distinction between designing for consumer intent vs letting implementation mechanism leak into the API shape, plus a quick test for spotting the difference. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
design.md: standard condition shape, observedGeneration, and a concrete deprecation policy for the "backward compatible by default" principle. control-plane.md: owner references for cascading cleanup, server-side validation/defaulting, and continue-token pagination. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Grounds the existing CI section in how we actually test control-plane services: fake clients over live clusters for unit-level tests, real end-to-end runs reserved for the services that need them, and a clear line between an environment-gated skip and silencing a flaky test. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Documents the alpha/beta/stable version-stage convention that the deprecation policy assumes, grounded in the fact that everything we ship today is alpha and moving to beta is a deliberate commitment, not an automatic next step. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…itoring Adds explicit expectations for generating/maintaining dashboards (Jsonnet/Grafonnet, PR-reviewed, CI drift-checked, owned by the service team) grounded in the existing datum-cloud/infra convention, and calls out the lack of a shared golden-signals template as an open gap. Also adds guidance on actively monitoring a rollout — expected signal movement, gradual rollout, and a pre-agreed rollback trigger — rather than treating dashboards as purely reactive. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Summary
build/design.md(system design + API design) andbuild/standards.md(version control, code review, CI, operational readiness)product/roadmap.md(planning phase / definition of ready),product/customers.md(listening to customers / product feedback), andbuild/production-readiness.md(metrics, logs, traces, alerts, dashboards)build/index.mdlinking all four phases in orderTest plan
npm run lint:mdpasses on all changed/new files/handbook/build/design,/handbook/build/standards, anchor links like#monitoring--observabilityand#listening-to-customers)🤖 Generated with Claude Code