Documentation
¶
Overview ¶
Command abcd-gen-surface writes the three artefacts derived from one walk of the abcd command tree: the committed compatibility snapshot, the description of every plugin command page (each verb's sentence, itd-2609212113220149), and the generated appendix at the end of every brief surface chapter (itd-147). It is the write half of those drift-checked artefacts: `go generate ./internal/surface/cli` runs it to refresh .abcd/development/release/surface.json, the commands/*.md descriptions and the appendices under .abcd/development/brief/04-surfaces/, and tests (internal/surface/cli/surface_test.go, sentences_test.go, brief_appendix_test.go) fail the build if any ever diverges from the tree. It holds no rendering logic of its own — the walk, the encoding and the composition live in cli.GenerateSurface and cli.SurfaceChapters, so the generator and the drift tests render byte-for-byte identically. The snapshot is written first. A chapter that cannot be regenerated — its markers absent or malformed, or no register row naming it — is refused by name and left untouched, every other chapter is still written, and the run then exits 1 with each refusal, so a lane landing behind another never has its whole regeneration blocked by one chapter.