This commit is contained in:
Mateusz Gruszczyński committed 2026-10-14 21:36:19 +02:00
1 parent c41d1e00a2
commit 6987b3ce33
98 files changed
+146 -10827

No files matched your search

+4 -4
View File
@@ -42,7 +42,7 @@ committed document at startup; this is not one cross-memory/SQLite transaction.
### Rust source organization
Production Rust modules are kept as small responsibility-oriented files, with a
**500-line limit** enforced by `tools/checks/rust_module_contracts.py`. Unit and
**500-line engineering limit** for production modules. Unit and
integration test files are explicitly exempt: related tests may live together in
large `tests.rs` files rather than arbitrary numbered fragments. Large logical modules use a thin facade (`config.rs`, `docker.rs`,
`server.rs`, `runtime.rs`, `balance.rs`, `prometheus.rs`, and similar) plus files in a
@@ -52,9 +52,9 @@ submodules for configuration, filesystem confinement, responses, routing, FastCG
Unit-test implementations are not embedded in production source files. They live in
`tests.rs` or `tests/` files and are included or declared only behind `#[cfg(test)]`.
Source-level CI also checks `include!` targets, balanced split fragments and dangling
attributes/doc comments. This prevents a file boundary from separating `#[derive]`,
`#[test]` or documentation from the Rust item it belongs to.
Keep `include!` targets, split fragments and attributes/doc comments alongside
the items they describe. After removal of the old source-check scripts, review
these invariants in code review and verify compilability with `./dev.sh check`.
Docker discovery is an optional provider boundary implemented through the standalone
`docker-agent/`; the RustProxy process never opens the Docker socket. Cloudflare Tunnel