docs: say what each zone covers, not just how it is wired - #207
Merged
Conversation
The canonical table gave every zone's pr-zone-check pattern, CODEOWNERS line, and owner, but never said what a zone actually is. Anyone picking a zone to own had to open eight service READMEs to find out. Adds a "What it covers" column: a one-line description per zone, plus a README link for the eight zones that have one. The four that do not (docs, scripts, .github, root) enumerate their contents instead, and the two transitional buckets point at the section explaining why they are off the templates. Reorders so zone, description and owner come first and the two mechanical columns sit to their right — the table is read to pick a zone far more often than to debug a label. The zone stays a bare backticked name in the first cell on purpose: check-labels.mjs matches each row by that literal, so linking the zone name itself would fail label-consistency. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Xu8iVgaPrvUfgQoNbJSr46
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this changes
The canonical zone table in
docs/CODE-OWNERSHIP.mdgains a What it covers column — a one-line description of each zone, with a link to its README for the eight zones that have one.Why
The table gave each zone's
pr-zone-checkpattern, CODEOWNERS line, and owner, but never said what a zone is. It answered "how is this wired?" and not "what would I be signing up for?"That gap matters right now:
docs/ONBOARDING.md:31already sends new members to the canonical list as "the menu" of zones to pick from, and a zone-ownership form is about to point at the same anchor. Both were sending people to a table that couldn't answer the question they arrived with — the descriptions lived in eight separate service READMEs.Zone
docsHow to verify
The one gate that reads this file is
label-consistency, viacheck-labels.mjs, which requires a row per zone:Every relative link in the file resolves:
Then read the table on the Files tab — the point of the change is whether the descriptions are accurate, which CI cannot check.
Checklist
stagingand targetingstaging.node scripts/check-labels.mjspasses. No service test suite applies: this is a single Markdown file.ruff— not applicable, no Python in this PR.Note on the last one: the descriptions are a fifth restatement of what each service does, after the service README, its
ARCHITECTURE.md, the rootREADME.mdtree, and the service's own docs. They are deliberately one line and scoped to why you'd own it rather than how it works, but they are hand-maintained prose and nothing checks them against reality — see below.Deployment notes
None — documentation only.
Anything you're unsure about
Two things worth a second opinion.
The column reorder. Zone, description and owner now come first, with the
pr-zone-checkpattern and CODEOWNERS line pushed to the right. My reasoning is that the table is read to pick or understand a zone far more often than to debug a label, and the mechanics are restated in "Adding or renaming a zone" anyway. It does make the diff a full table rewrite rather than an append, so if you'd rather keep the original column order and just append the new one, that's a one-line change to make.A new drift surface, in the file that exists because of drift.
label-consistencychecks that the zone names agree across five files; it cannot check that a description still matches what a service does.docs/CODE-OWNERSHIP.mdalready names this class of problem — "whether a zone's paths are the right paths" — and this adds prose in the same category. A service that changes shape leaves a stale line here, silently. I think that's an acceptable trade for a table people can actually use, and one line per zone is small enough to re-read during a rename, but it is a real cost and worth disagreeing with.One thing that is not uncertain: the zone stays a bare backticked name in the first cell.
check-labels.mjs:489matches each row by the literal|+ backticked zone +|, so linking the zone name itself fails the build. The links live in the description cell for that reason.🤖 Generated with Claude Code
https://claude.ai/code/session_01Xu8iVgaPrvUfgQoNbJSr46