refactor(bookspec): the specification lives in its own repository (P13 step 6)

bookspec/ (spec, examples, checker, runner, Lean, GnuCash adapter) moves to
https://git.swaits.com/swaits/bookspec, history kept by git subtree split
(public home; CC BY 4.0 for spec/ and examples/, MIT OR Apache-2.0 for the
code). ledger-core and ledger-package depend on bookspec-checker and
bookspec-runner as git dev-dependencies pinned to
74f2853d5f0db0066147c17fed8033cfe3d83a24, and read the examples through
bookspec_checker::examples(). just check still runs every example via
cargo test --workspace. The pin check against docs/spec/sources and the
rules.md id check move into tests/bookspec.rs (they need this repository's
files). The accounting is unchanged: no example or rule moved.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HS8WZziDnyxunC23MUxrLp
This commit is contained in:
swaitsandClaude Fable 5.1 committed 2026-10-29 16:51:18 -06:00
1 parent 794807ab90
commit b77a25fd7b
124 files changed
+145 -18081

No files matched your search

+16
View File
@@ -3971,3 +3971,19 @@ sign-off) is the owner's and has no CI equivalent.
lines above it) and the scopes-line scan in `defect_20_*`. A mutant that
widens the window or drops the `ignore` check survives only if no ignored
or untested name is in the table; the table is the oracle.
## P13 step 6: the specification in its own repository (2026-10-29)
The specification (text, examples, checker, runner, Lean, GnuCash adapter)
lives at https://git.swaits.com/swaits/bookspec (CC BY 4.0 for `spec/` and `examples/`, MIT OR Apache-2.0 for the
code) and is pinned by commit in `crates/ledger-core/Cargo.toml` and
`crates/ledger-package/Cargo.toml`. `just check` runs the examples exactly as
before: `cargo test --workspace` includes `ledger-core` `tests/bookspec.rs`
(`every_bookspec_example_holds`, `the_runner_reports_every_claimed_rule_green`),
which reads them through `bookspec_checker::examples()`, and `ledger-package`
`tests/package.rs` reads the IIF example the same way. Two checks that need
this repository's files live in `tests/bookspec.rs`: `every_vendored_pin_is_verbatim`
(each vendored pin in the spec is verbatim in `docs/spec/sources`) and
`rules_md_carries_every_id`. The examples named `bookspec/examples/...` in the
older sections above are files of that repository. The checker's, the
runner's and the derivation tests run in its own CI.