# Template Validation Checklist Validate a repository bootstrapped from `repo-seed` against `statehub register` output and Coulomb onboarding conventions. **Validated:** 2026-06-24 against `statehub register` in `~/state-hub`. --- ## 1. Register with State Hub - [ ] State Hub API is reachable (`curl -s http://127.0.0.1:8000/state/health`) - [ ] `statehub register` completes without error - [ ] Registration prints repo slug, domain, topic ID, and `make fix-consistency` hint - [ ] Progress milestone recorded (`Repo registered with State Hub: `) ## 2. Agent files (register output) Confirm these files exist and contain repo-specific values (not `{PLACEHOLDER}` tokens): - [ ] `INTENT.md` — governing purpose; derived from README or `--intent` - [ ] `SCOPE.md` — one-liner, in/out scope, current state - [ ] `AGENTS.md` — **Purpose**, **Domain**, **Repo slug**, **Topic ID**, **Workplan prefix** - [ ] `.custodian-brief.md` — domain, topic ID, bootstrap workplan reference ### AGENTS.md spot checks - [ ] `**Repo slug:**` matches directory slug and State Hub registration - [ ] `**Workplan prefix:**` matches workplan file prefix (e.g. `DEMO-WP-`) - [ ] Session protocol references `cat .custodian-brief.md` and inbox curl examples - [ ] `make fix-consistency REPO=` documented for workplan edits ## 3. First workplan - [ ] `workplans/-0001-statehub-bootstrap.md` exists - [ ] Frontmatter: `id`, `type: workplan`, `status: ready`, `repo`, `domain` - [ ] Tasks T01 (review files), T02 (dev workflow), T03 (seed real workplan) present - [ ] T03 references `make fix-consistency REPO=` ## 4. Template extras (repo-seed scaffold) Beyond register output, confirm template scaffold is present: - [ ] `CLAUDE.md` includes `@.claude/rules/*` references - [ ] `.claude/rules/` contains session-protocol, workplan-convention, stack-and-commands - [ ] `registry/README.md` and `registry/indexes/capabilities.yaml` exist - [ ] `README.md` describes the repository purpose - [ ] `.gitignore` and `LICENSE` present ## 5. Bootstrap workplan completion After register, complete `*-0001-statehub-bootstrap.md`: - [ ] **T01** — Placeholders replaced; SCOPE refined for repo-specific boundaries - [ ] **T02** — `.claude/rules/stack-and-commands.md` lists real dev commands - [ ] **T03** — First implementation workplan created (`*-0002-*.md` or equivalent) - [ ] Workplan status set to `finished` when all tasks done ## 6. fix-consistency sync - [ ] `make fix-consistency REPO=` run from `~/state-hub` - [ ] `.custodian-brief.md` updated with active workstreams (replaces register stub) - [ ] Hub workstreams/tasks match workplan file statuses - [ ] No blocking C-16 (repo behind remote) findings ## 7. Registry (optional) When the repo exposes reusable behavior: - [ ] Capability entry in `registry/capabilities/` - [ ] Row added to `registry/indexes/capabilities.yaml` - [ ] `reuse-surface validate --root .` passes --- ## repo-seed self-validation notes `repo-seed` is the meta-template and intentionally differs in a few places: | Item | repo-seed state | Consumer expectation | |------|-----------------|----------------------| | `INTENT.md` | Absent — `README.md` is canonical intent | Present after `register` | | `SCOPE.md` | Refined (no "generated by statehub register" banner) | Generated, then refined in T01 | | `.custodian-brief.md` | Maintained by `fix-consistency` | Register stub, then fix-consistency | | `REPO-WP-0001` | `finished` | `ready` until bootstrap complete | | `REPO-WP-0002` | Template validation (this checklist) | First domain-specific workplan | All register-output structures were verified by running `write_registration_files` from `statehub_register.py` with `repo_slug=repo-seed`, `wp_prefix=REPO-WP`, `domain=infotech`.