docs: P13 steps 1-3 landed; record the CHOICE vocabulary and Engine::change

This commit is contained in:
swaits committed 2026-10-26 23:23:21 -06:00
1 parent 579d0eed5e
commit 58724bb007
2 files changed
+29 -1

No files matched your search

+28
View File
@@ -64,6 +64,34 @@ quietly, and it is unrelated to the scanner. P12 or the test's own unit
should make that burst test load-tolerant rather than let the gate depend
on an idle machine.
**2026-10-26: P13 steps 1-3 landed (`579d0eed`); the unit is in
progress, not done.** bookspec now has its own Cargo workspace in the
repository with the checker (the example schema and parser, every
structure `deny_unknown_fields`, the cross-field checks, the rule
catalogue) and the runner, plus the `Engine` trait and the wanderbooks
adapter over `Store`. `crates/ledger-core/tests/bookspec.rs` is the
adapter and still checks all 56 examples; the runner reports per rule,
and a rule with no example is `NotClaimed`, never a silent pass.
`docs/spec/rules.md` carries a `**bookspec:**` id under each of its 38
stated rules; `bookspec/spec/rules-index.md` maps B-1 to B-45, with
B-39 to B-45 allocated and unstated. 15 rules are claimed today because
15 have examples; step 4 owes an example for every rule, the normative
text and sources, and the five laws as Lean theorems; steps 5-6 owe the
spec's own checker and the GnuCash adapter. `just check` now runs the
bookspec workspace's fmt, clippy, rustdoc and tests beside the main
workspace's, and was green at the merge.
Two departures, both reviewed. The trait gained a required
`Engine::change(&ChangeSpec)` (the plan's four methods have no path for
an example's `[[changes]]`, and skipping those examples would have
rejected part of the corpus). And the rule catalog's `DECISION` status
is now `CHOICE`, bookspec's word: `docs/spec/rules.md`, `AGENTS.md` and
`docs/spec/README.md` say so, and the rebased P7 sentence that still
said DECISION was fixed in the same landing. **Every later unit that
states a rule must use CHOICE where a human chose and must add its
`**bookspec:**` id line** (B-39 S4.5, B-40 S4.5, B-41 S7, B-43 P4,
B-44 P6, B-45 P8); `rules_md_carries_every_id` fails the tree otherwise.
The 2026-10-16 audit of the first company's books (62 verified findings,
20 engine defects) and the design discussion that followed produced
+1 -1
View File
@@ -831,7 +831,7 @@ One row per unit of work. A unit is what one engineer takes into one git worktre
| P11a | Packaging and updates: the trial, `wanderbooks update`/`rollback`, Linux packages, signing, macOS and Windows bundles | not started | none (code); certificates and keys from the owner for the signing steps; Q-4 before the manifest step | everything | none | 20-25 |
| P11b | The agent dock and books homes | not started | P11a (an installed app to dock into) | P12 | none | 8-10 |
| P12 | Max testing, again | not started | everything else merged | | none | 2-3 (+ machine time) |
| P13 | bookspec: checker crate, `Engine` trait, rule ids, the spec text, the runner | not started | none for steps 1-4; the engine stable for step 5 | everything | none | 15-20 |
| P13 | bookspec: checker crate, `Engine` trait, rule ids, the spec text, the runner | in progress: steps 1-3 landed 2026-10-26 (`579d0eed`); steps 4-6 open | none for steps 1-4; the engine stable for step 5 | everything | none | 15-20 |
#### 8.0.2 Dependency graph and merge order