rig 3.25.0
Add "Say it once" to what rig believes (#195)
Adds principle 10 to docs/philosophy.md:
A copy is a promise to keep two things in step, and nothing keeps it. [...] Deleting a copy beats checking it, and checking beats trusting it.
Three steps in a row came back to it:
- The adversarial review of #190 found the org doc described seven ways across the tool.
- #191 added a test holding the six lists of the data root's contents together.
- #194 deleted the list of lesson homes in
rig next's offer instead of checking it.
A lesson from the rig work for #185, carried here through the philosophy home that #194 added. Docs only, so the docs/ branch asks for no release.
Small fixes: help never acts, impact, catalog, demo, new --type (#225)
Small fixes: help never acts, impact, catalog, demo, new --type
Direction
Four stacked stages on the rig repo, each small and reviewed on its own, in this order:
fix/help-never-acts(#199):--help/-hon any command prints that command's usage and exits 0 without acting. The per-command usage is cut out of the onerig helptext, so there is one source. A flag a command's usage does not name is refused with that usage, exit non-zero, before anything runs — if that check proves wide, ship--helpalone and report the rest.fix/impact-catalog-demo(#147):rig impactsays "keeps happening" only for a count above one;rig catalog --verbosereads a bare-stringtalks_toitem asbuildGraphdoes;rig demo(andlist/dashif they share it) reads records throughreadRecords/sayUnreadable, so one unreadablework.jsonis named, not a stack trace.fix/new-type-prefixes(#134):rig new --typeis checked against the prefixesbin/release.mjsexports, and the refusal names them.perfjoinsPREFIX_BUMPSas a patch, by Hugo's decision: a performance change is visible to users, so it releases.fix/test-leak-and-engines(part of #154, items 4 and 5): a failedbillingInstallremoves its temp dir;enginesrequires the Node the suite needs.
Why not more: #154's other items belong to other works, and moving the test helpers out of test/ is deliberately left for later.
Stages
| Order | Stage | Delivers | Repos | PR | State |
|---|---|---|---|---|---|
| 1 | fix/help-never-acts |
help on any command prints its usage and never acts; an unknown flag is refused | rig | #204 | landed |
| 2 | fix/impact-catalog-demo |
impact counts what it saw, catalog reads a bare talks_to item, demo names an unreadable record | rig | #207 | landed |
| 3 | fix/new-type-prefixes |
rig new refuses a --type the release check would refuse, and names the list | rig | #209 | landed |
| 4 | fix/test-leak-and-engines |
a failed billingInstall leaves no temp dir; engines asks for the Node the suite needs | rig | #214 | landed |
Context doc: https://github.com/hugoforte/rig-data/blob/main/work/small-fixes/context.md
Full changelog: v3.24.0...v3.25.0