Files
bookspec/target/doc/bookspec_checker/index.html
T
swaitsandClaude Fable 5.1 73dd967b1a
check / check (push) Canceled after 0s
feat(checker): examples() and spec_files() carry the specification's files
A consumer of the checker crate needs no path into this repository.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HS8WZziDnyxunC23MUxrLp
2026-10-29 16:35:29 -06:00

20 lines
9.1 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="bookspec’s checker: the example schema, the rule identifiers, and the `Engine` trait an accounting engine implements (`plan/served.md` P13, D-34)."><title>bookspec_checker - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../static.files/rustdoc-0c87338a.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="bookspec_checker" data-themes="" data-resource-suffix="" data-rustdoc-version="1.99.1 (58cf8f9c3 2026-10-13)" data-channel="1.99.1" data-search-js="search-cf4fc35e.js" data-stringdex-js="stringdex-b5109af9.js" data-settings-js="settings-170eb4bf.js" ><script src="../static.files/storage-41dd4d93.js"></script><script defer src="../crates.js"></script><script defer src="../static.files/main-417ebf0a.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-9f56287d.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-044be391.svg"></head><body class="rustdoc mod crate"><a class="skip-main-content" href="#main-content">Skip to main content</a><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">Crate bookspec_checker</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../bookspec_checker/index.html">bookspec_<wbr>checker</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"><ul class="block"><li><a id="all-types" href="all.html">All Items</a></li></ul><section id="rustdoc-toc"><h3><a href="#reexports">Crate Items</a></h3><ul class="block"><li><a href="#reexports" title="Re-exports">Re-exports</a></li><li><a href="#modules" title="Modules">Modules</a></li></ul></section><div id="rustdoc-modnav"></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content" tabindex="-1"><div class="main-heading"><h1>Crate <span>bookspec_<wbr>checker</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../src/bookspec_checker/lib.rs.html#1-27">Source</a> </span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>bookspec’s checker: the example schema, the rule identifiers, and the
<a href="engine/trait.Engine.html" title="trait bookspec_checker::engine::Engine"><code>Engine</code></a> trait an accounting engine implements (<code>plan/served.md</code> P13,
D-34).</p>
<p>bookspec is a specification first: every rule is stated normatively,
sourced, and demonstrated by concrete examples (<code>bookspec/examples/</code>).
This crate is the machine-readable part: <a href="schema/struct.Example.html" title="struct bookspec_checker::schema::Example"><code>Example</code></a> is the schema and
its parser, <a href="rules/index.html" title="mod bookspec_checker::rules"><code>rules</code></a> the catalogue (<code>BS-&lt;area&gt;-&lt;n&gt;</code>), and <a href="engine/trait.Engine.html" title="trait bookspec_checker::engine::Engine"><code>Engine</code></a>
the only interface a conformance runner needs. The runner lives in
<code>bookspec-runner</code>; wanderbooks’ adapter is
<code>crates/ledger-core/tests/bookspec.rs</code>.</p>
<p>The crate knows nothing of any engine: no money type, no ledger, no
store. That is what lets a second engine (the GnuCash oracle, later) be
checked by the same examples.</p>
</div></details><h2 id="reexports" class="section-header">Re-exports<a href="#reexports" class="anchor">§</a></h2><dl class="item-table reexports"><dt id="reexport.Derivation"><code>pub use derive::<a class="struct" href="derive/struct.Derivation.html" title="struct bookspec_checker::derive::Derivation">Derivation</a>;</code></dt><dt id="reexport.Derived"><code>pub use derive::<a class="enum" href="derive/enum.Derived.html" title="enum bookspec_checker::derive::Derived">Derived</a>;</code></dt><dt id="reexport.derive"><code>pub use derive::<a class="fn" href="derive/fn.derive.html" title="fn bookspec_checker::derive::derive">derive</a>;</code></dt><dt id="reexport.Claims"><code>pub use engine::<a class="struct" href="engine/struct.Claims.html" title="struct bookspec_checker::engine::Claims">Claims</a>;</code></dt><dt id="reexport.Engine"><code>pub use engine::<a class="trait" href="engine/trait.Engine.html" title="trait bookspec_checker::engine::Engine">Engine</a>;</code></dt><dt id="reexport.Refusal"><code>pub use engine::<a class="struct" href="engine/struct.Refusal.html" title="struct bookspec_checker::engine::Refusal">Refusal</a>;</code></dt><dt id="reexport.RuleId"><code>pub use engine::<a class="struct" href="engine/struct.RuleId.html" title="struct bookspec_checker::engine::RuleId">RuleId</a>;</code></dt><dt id="reexport.RuleIdError"><code>pub use engine::<a class="struct" href="engine/struct.RuleIdError.html" title="struct bookspec_checker::engine::RuleIdError">RuleIdError</a>;</code></dt><dt id="reexport.fallback_refusal"><code>pub use engine::<a class="fn" href="engine/fn.fallback_refusal.html" title="fn bookspec_checker::engine::fallback_refusal">fallback_refusal</a>;</code></dt><dt id="reexport.examples"><code>pub use files::<a class="fn" href="files/fn.examples.html" title="fn bookspec_checker::files::examples">examples</a>;</code></dt><dt id="reexport.spec_files"><code>pub use files::<a class="fn" href="files/fn.spec_files.html" title="fn bookspec_checker::files::spec_files">spec_files</a>;</code></dt><dt id="reexport.Area"><code>pub use rules::<a class="enum" href="rules/enum.Area.html" title="enum bookspec_checker::rules::Area">Area</a>;</code></dt><dt id="reexport.Rule"><code>pub use rules::<a class="struct" href="rules/struct.Rule.html" title="struct bookspec_checker::rules::Rule">Rule</a>;</code></dt><dt id="reexport.Status"><code>pub use rules::<a class="enum" href="rules/enum.Status.html" title="enum bookspec_checker::rules::Status">Status</a>;</code></dt><dt id="reexport.covered_rules"><code>pub use rules::<a class="fn" href="rules/fn.covered_rules.html" title="fn bookspec_checker::rules::covered_rules">covered_rules</a>;</code></dt><dt id="reexport.rule"><code>pub use rules::<a class="fn" href="rules/fn.rule.html" title="fn bookspec_checker::rules::rule">rule</a>;</code></dt><dt id="reexport.rule_for_id"><code>pub use rules::<a class="fn" href="rules/fn.rule_for_id.html" title="fn bookspec_checker::rules::rule_for_id">rule_for_id</a>;</code></dt><dt id="reexport.rule_for_refusal"><code>pub use rules::<a class="fn" href="rules/fn.rule_for_refusal.html" title="fn bookspec_checker::rules::rule_for_refusal">rule_for_refusal</a>;</code></dt><dt id="reexport.rules"><code>pub use rules::<a class="fn" href="rules/fn.rules.html" title="fn bookspec_checker::rules::rules">rules</a>;</code></dt><dt><code>pub use <a class="mod" href="schema/index.html" title="mod bookspec_checker::schema">schema</a>::*;</code></dt></dl><h2 id="modules" class="section-header">Modules<a href="#modules" class="anchor">§</a></h2><dl class="item-table"><dt><a class="mod" href="derive/index.html" title="mod bookspec_checker::derive">derive</a></dt><dd>The specification’s own checker (<code>plan/served.md</code> P13 step 5):
every example’s expected figures derived from its rule’s symbolic
form, by an engine-free reference model with exact decimals.</dd><dt><a class="mod" href="engine/index.html" title="mod bookspec_checker::engine">engine</a></dt><dd>The interface an accounting engine implements to be checked against
bookspec (<code>plan/served.md</code> P13, D-34).</dd><dt><a class="mod" href="files/index.html" title="mod bookspec_checker::files">files</a></dt><dd>The specification’s own files, carried by the crate: a consumer that
depends on this crate (a git checkout carries the whole repository)
needs no path to <code>examples/</code> or <code>spec/</code>.</dd><dt><a class="mod" href="rules/index.html" title="mod bookspec_checker::rules">rules</a></dt><dd>bookspec’s rule identifiers and their catalogue.</dd><dt><a class="mod" href="schema/index.html" title="mod bookspec_checker::schema">schema</a></dt><dd>The shape of a bookspec example: the TOML schema, the parser, and the
rules a well-formed example follows whatever engine runs it.</dd></dl></section></div></main></body></html>