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:
1 parent
794807ab90
commit
b77a25fd7b
124 files changed
+145
-18081
No files matched your search
@@ -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.
|
||||
Reference in new issue
Block a user