Workspace tooling — architecture¶
Design decisions for repo-wide developer tooling (Workspace test-coverage mea... (FEAT_0120)). Requirements live in Workspace tooling.
Solution strategy¶
Context. The workspace has no coverage tooling — no tool, script,
or CI job. Any choice must run on the pinned stable toolchain
( Decision.
Consequences. ✅ Accurate, compiler-grade line coverage on the
pinned stable toolchain. ✅ lcov output feeds a later CI/Codecov step
without revisiting the tool choice. ❌ Contributors need an extra
installed binary ( |
Context. With coverage measured in CI (CI measures coverage via th... (REQ_0998)), the results need somewhere to go, and the setup must be gate-ready without being a gate today. Forces: pre-1.0 personal project with no external service accounts wired to the repo; nothing consumes a coverage trend yet; local and CI runs must produce the same numbers. Decision. CI runs the identical local entrypoint
(
Consequences. ✅ Zero external dependencies or secrets; local and CI runs cannot drift; enabling a floor is a one-line flip. ❌ No historical trend line and no per-PR diff-coverage view. ❌ Artifacts expire with the repo’s retention window (default 90 days) — the summary in the job log outlives them only as long as the log does. |
Context. The workspace is 41 independently-versioned pre-1.0 library
crates with no facade; assembling an application means picking five to
eight of them by hand, and discovery is the first-hour cost. A Decision. The front door is a curated golden-path example
(Hardware-free two-connector... (REQ_1002)) plus a two-tier assembly guide (README "Start here" assembl... (REQ_1004),
Golden-path example walkthr... (REQ_1005)) — additive documentation and one runnable crate, nothing
new to version. The
Consequences. ✅ The discovery fix ships immediately with no standing
liability — nothing new to version, and the underlying crates keep bumping
independently. ❌ No |
Implementation footprint¶
The realising artefacts, all in-repo:
|
Decisions at a glance¶
ID |
Title |
Status |
Refines |
|---|---|---|---|
Coverage measured with cargo-llvm-cov |
accepted |
||
Coverage results stay in-repo — artifacts + job summary, no Codecov |
accepted |
||
Front door is a curated example + guide, not a facade crate |
accepted |