Add bench prep — generate PREP readiness evidence from the scaffolded service
Goal
Add a bench prep subcommand that generates a draft Platform Readiness Enablement Process (PREP) evidence report for a bench, pre-filling the per-category readiness questionnaires from artifacts the scaffold already produces.
PREP evidence is authored as per-category markdown questionnaires in gitlab-org/architecture/readiness and submitted via MR against a tracking Assessment issue. A bench-scaffolded service already emits most of that evidence as a byproduct of the paved path (CI pipeline, Fairway manifest, LabKit wiring, three-layer structure). bench prep closes the loop: read the service's own artifacts, emit populated questionnaire drafts, and flag the categories bench cannot evidence for the team to complete.
Like bench register (#35 (closed)), this is a report-generating imperative action, not configuration persisted in bench.yaml. It generates evidence; it does not certify — platform stakeholders still review and approve.
Command surface
bench prep \
--assembly <name> # scope to one assembly; default: whole bench
--format <md|json> # md = readiness-repo questionnaire layout (default); json = machine-readable
--out <dir> # output directory; default: ./prep/
--check # CI mode: exit non-zero if any category has no evidence- Service/bench name is read from
bench.yaml(bench.name), not a positional arg. - Default (
bench prep) writes one markdown file per PREP category under./prep/, mirroring the readiness-repo template layout. --checkprints a per-category evidence summary and exits non-zero when a required category is unaddressed — suitable as a CI gate.
Evidence sources
Each category is pre-filled from a known artifact in the scaffolded repo. Categories bench cannot synthesize get a TODO(team): stub with the questionnaire prompt rather than a fabricated pass.
Click to expand example sources table
| PREP category | Auto-filled from | Confidence |
|---|---|---|
| Service Architecture | bench.yaml (assembly/service topology, runtime, listeners); enforced three-layer structure |
High |
| Build & Deployment | .gitlab-ci.yml / common-ci-tasks (goreleaser, container signing, chart generation) |
High |
| Deployment | generated .runway/<assembly>/fairway.yaml |
High |
| Observability | LabKit v2 logging/metrics/tracing wiring detected in the scaffold | Medium |
| Operational Lifecycle | caproni.yaml; mise task inventory |
Medium |
| Performance & Scalability | performance-contract scaffolding, if present | Low (stub if absent) |
| Quality Assurance | test + lint config discovered in the repo | Medium |
| Security & Compliance | — | Team-owned stub |
| Documentation & Support | README.md presence; otherwise stub |
Team-owned stub |
| Installation & Configuration | — | Team-owned stub |
| Platform Strategy | — | Team-owned stub |
The authoritative category list and questionnaire templates live in gitlab-org/architecture/readiness; treat that repo as the contract this command targets.
Example Implementation flow
- Read + validate
bench.yaml(reusebench checkinternals). - Resolve the target assemblies (whole bench, or
--assembly). - For each PREP category, run a collector: a pure function over the discovered repo artifacts that returns either populated evidence or an "unaddressed" marker.
- Render each category through its questionnaire template into
--out. --check: aggregate collector results; exit non-zero if any non-team-owned category is unaddressed.
Considerations
- Opening an MR against
gitlab-org/architecture/readinessautomatically (pairs with #35 (closed)'s infra-mgmt flow; add oncebench prepoutput is stable). - Creating the Assessment tracking issue
- Deep evidence for team-owned categories (Security & Compliance, Platform Strategy) — bench emits stubs; teams author these.
- Coupling to a pinned readiness-template version; revisit if the readiness repo restructures its questionnaires.
Related
- Roadmap item referenced in the Theseus docs (
bench prep— PREP evidence generation). - Sibling imperative-action command: #35 (closed) (
bench project register). - PREP category → Theseus-artifact mapping originates in the Theseus vision doc's "PREP connection" section.
- Authoritative source: readiness assessment repository.