Commit Graph

7 Commits

Author SHA1 Message Date
ApsisRS contributors 22016f35e9 workspace: add the scale benchmark and state the expect convention
bench_scale sweeps the input size over four paths and reports time per
unit, so growth is visible even when absolute times move with the machine.
It shows SGP4 propagation and access search are flat per satellite, while
topology construction is quadratic and planning is quadratic in the number
of tasks.

The README said library code never uses expect, but twelve call sites do,
each guarded by a check on the line above or by construction. Allow that
case explicitly and record each site with its guard in the design notes.
2026-09-30 17:25:59 +08:00
ApsisRS contributors f34ca07e88 ci: check and lint with all features
The facade crate enables nothing by default, so cargo check and cargo
clippy without --all-features skipped almost all of its code and every
example. A deliberate mistake placed in feature gated facade code was
invisible to the old commands and caught by the new ones.
2026-09-26 23:39:08 +08:00
ApsisRS contributors fac3732f08 docs: fix the broken intra doc links and check them in CI
Running rustdoc with -D warnings found nine broken links: a misspelt
WGS84, links to methods and constants that are private or in a crate that
is not a dependency, and three redundant explicit targets. Fix each and add
a documentation step to CI so a doc comment cannot drift away from the code
it describes without the build noticing.
2026-09-26 23:37:48 +08:00
ApsisRS contributors 8f74f8f97a workspace: enforce the layer dependency rule
README stated that a crate may only depend on layers to its left, but
nothing checked it, and the wording was self contradicting: the example
given for a cross layer jump was a reverse dependency. Clarify the rule,
add scripts/check-layers.sh to enforce it, run it in CI, and record the
boundary cases in docs/design/layers.md.
2026-09-26 23:33:20 +08:00
ApsisRS contributors 9482d63548 ci: run the integration checks and add a dependency free benchmark
The cross-layer integration checks were examples containing assertions
that cargo test never ran, so a break in one layer's assumptions about
another could pass CI. Run them explicitly.

The benches/ and tests/ directories were empty placeholders that a virtual
workspace does not compile, and benches/criterion named a third party crate
this workspace forbids. Remove both and add a real zero dependency
benchmark as a facade example.
2026-09-26 23:22:34 +08:00
ApsisRS contributors fa847e028f ci: fix the dependency freedom check 2026-09-26 22:54:43 +08:00
ApsisRS contributors d3afe86dfc workspace: initialize workspace with all layer crates 2026-09-26 12:53:13 +08:00