guard: restore the fanout law and step the kernel to 0.7.0 #49
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "chore/drop-satisfied-fanout-exemptions"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The
paths = ["crates"]boundary stanza was not a per-directory exemption. Under the 0.6.0 kernel, boundary paths matched by prefix (path.starts_with(head)), so"crates"matched every scanned path in the repository andallow = ["fanout"]disabled the fanout law wholesale. That is why the guard reported0 faultswhilesanti-core/src/service,santi-core/src/storeandsanti-adaptor/src/dball sat over the limit. Dropping the stanza is what puts the law back on.Also drops the
santi-api/src/serverandsanti-core/tests/serviceexemptions: both directories are now at the limit of 10, which the stanza's own note anticipated.Steps the kernel pin to v0.7.0, whose #51 replaces prefix matching with one glob dialect where a bare directory names that directory alone and a subtree is spelled
dir/**. The three surviving exemptions bind to their own directory under the new semantics, verified by canary: removing the store exemption yieldscrates/santi-core/src/store fanout 17 over limit 10, so the law is live rather than silently absent.Normalizes the service module convention while here.
flow.rs,text.rsandtools.rseach paired with a same-named directory, spending two fanout slots per module where the store layer already uses the directory-with-mod.rs form. Folding the three pairs takes the directory from 20 to 17 with no code movement and no debt change (2081 rows before and after).Guard is green under v0.7.0 and word debt holds at core = 0.
The `paths = ["crates"]` boundary stanza was not a per-directory exemption. Under the 0.6.0 kernel, boundary paths matched by prefix (`path.starts_with(head)`), so `"crates"` matched every scanned path in the repository and `allow = ["fanout"]` disabled the fanout law wholesale. That is why the guard reported `0 faults` while `santi-core/src/service`, `santi-core/src/store` and `santi-adaptor/src/db` all sat over the limit. Dropping the stanza is what puts the law back on. Also drop the `santi-api/src/server` and `santi-core/tests/service` exemptions: both directories are now at the limit of 10, which the stanza's own note anticipated ("dropped per-dir as each is fixed"). Step the kernel pin to v0.7.0, whose #51 replaces prefix matching with one glob dialect where a bare directory names that directory alone and a subtree is spelled `dir/**`. The three surviving exemptions bind to their own directory under the new semantics, verified by canary: removing the store exemption yields `crates/santi-core/src/store fanout 17 over limit 10`, so the law is live rather than silently absent. Normalize the service module convention while here. `flow.rs`, `text.rs` and `tools.rs` each paired with a same-named directory, spending two fanout slots per module where the store layer already uses the directory-with-mod.rs form; `text.rs` was a single `pub(super) mod delta;`. Folding the three pairs takes the directory from 20 to 17 with no code movement and no debt change (2081 rows before and after). Guard is green under v0.7.0 and word debt holds at core = 0. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>