@@ -27,8 +27,8 @@ On supported 32-bit and 64-bit targets, both `CheetahString` and
2727` Option<CheetahString> ` occupy 24 bytes. A 10,000-element vector therefore uses
2828240,000 bytes of element slots instead of the previous 320,000-byte contract.
2929This is achieved with safe Rust enum niches; string pointers are never converted
30- to integers. See [ Stable layout ] ( LAYOUT.md ) for the exact representation and
31- portability gate .
30+ to integers. ` tests/layout_snapshot.rs ` and ` tests/allocation_contract.rs `
31+ enforce the representation, container footprint, and portability contract .
3232
3333The representation has no mutable ` Owned(String) ` state. Construction history
3434therefore cannot change clone complexity. Use:
@@ -198,9 +198,8 @@ cargo bench --bench mq_topic
198198Hosted-runner and local benchmark results are diagnostic; they do not
199199independently establish a release-grade performance pass. The versioned
200200allocation and layout tests are the deterministic performance contracts.
201- See [ Performance contracts] ( PERFORMANCE.md ) for the exact enforced budgets and
202- the distinction between deterministic gates and diagnostic timing results, and
203- [ Stable layout] ( LAYOUT.md ) for the provenance-preserving 24-byte representation.
201+ ` scripts/verify-allocation-evidence.py ` independently validates the schema-v3
202+ allocation record emitted by the shared-backing benchmark.
204203
205204## Safety and portability
206205
@@ -215,12 +214,13 @@ CI enforces the Rust 1.95 packaged-consumer matrix, warning-free rustdoc,
215214locked dependency auditing, and repository workflow contracts. The Safety
216215workflow runs Miri over the stable text/byte invariants and compiles every
217216libFuzzer target with AddressSanitizer on pull requests and on a weekly
218- schedule. See [ Safety model] ( SAFETY.md ) for the maintained unsafe-boundary
219- inventory and local verification commands.
217+ schedule. The maintained commands and toolchain setup are encoded directly in
218+ ` .github/workflows/safety.yml ` ; unsafe constructor obligations remain next to
219+ their public APIs in ` src/cheetah_string/construct.rs ` and ` src/bytes.rs ` .
220220
221- Pattern and error signatures follow the source-compatible 3.1 policy described
222- in [ API compatibility] ( API.md ) . A dedicated workflow compares every pull request
223- with ` origin/main ` under minor-release semver rules.
221+ Pattern and error signatures are covered by ` tests/api_contract.rs ` . The
222+ dedicated ` .github/workflows/api- compatibility.yml ` workflow compares every pull
223+ request with ` origin/main ` under minor-release semver rules.
224224
225225## Projects using CheetahString
226226
0 commit comments