Skip to content

Publish the final CheetahString 3.1 architecture and performance audit - #153

Merged
mxsm merged 1 commit into
mainfrom
mxsm/final-audit-report-3.1
Aug 12, 2026
Merged

Publish the final CheetahString 3.1 architecture and performance audit#153
mxsm merged 1 commit into
mainfrom
mxsm/final-audit-report-3.1

Conversation

@mxsm

@mxsm mxsm commented Aug 12, 2026

Copy link
Copy Markdown
Owner

Closes #152

Summary

  • publish the final standalone CheetahString 3.1 architecture and performance audit at 95/100
  • document the current 24-byte provenance-safe layout, allocation schema v3, Rust 1.95 support, Miri matrix, release gates, and remaining performance limits
  • disclose the approved experimental packed API safety removal relative to 3.0.0 while keeping the post-retirement stable API gate green
  • exclude untracked docs/** content from release packages and add a repository contract for that boundary

Verification

  • cargo fmt --all -- --check
  • cargo clippy --all-targets --all-features -- -D warnings
  • cargo test --all-features (203/203)
  • no-default and serde,bytes test matrices
  • default, no-default, and all-feature rustdoc with -D warnings
  • Rust 1.95 all-feature check plus three packaged consumer profiles
  • Miri matrix (61/61)
  • native i686 layout snapshot
  • allocation evidence schema v3 and verifier
  • two fuzz targets build
  • cargo audit (0 findings)
  • post-retirement semver baseline (196/196)
  • Python repository contracts (24/24)
  • cargo package --allow-dirty (79 files; docs/** excluded)
  • standalone HTML structure check and headless browser render

Compatibility note

A registry comparison against 3.0.0 reports three expected removals from the retired experimental-packed module. The module exposed undefined behavior through safe API and was removed as an approved 3.1 safety exception. The Cargo feature name remains a no-op; stable APIs are unchanged.

Copilot AI lite review requested due to automatic review settings August 12, 2026 09:21
@mxsm
mxsm merged commit 7d1788f into main Aug 12, 2026
17 checks passed
@mxsm
mxsm deleted the mxsm/final-audit-report-3.1 branch August 12, 2026 09:22

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Warning

Copilot couldn't run its full agentic review because it didn't start before the timeout. Make sure your repository has a runner available, or add a copilot-code-review.yml file specifying one with the runs-on attribute. See the docs for more details.

Publishes the final standalone CheetahString 3.1 architecture/performance audit and hardens the repository “release boundary” by ensuring docs/** is neither tracked nor shipped in crates.

Changes:

  • Add a standalone HTML audit report documenting architecture, performance, safety, and evidence gates.
  • Enforce a packaging boundary by excluding docs/** in Cargo.toml and asserting it via Python repository-contract tests.
  • Update API compatibility documentation to disclose the approved removal of the UB-prone experimental-packed module.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 4 comments.

File Description
scripts/tests/test_repository_contracts.py Extends repository contract test to assert docs/** is excluded from crate packaging.
cheetah-string-architecture-performance-report.html Adds the final standalone audit report HTML (architecture/perf/safety/evidence).
Cargo.toml Excludes docs/** from cargo package artifacts.
API.md Documents the packed-module safety exception/removal and clarifies the compatibility gate scope.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines +194 to +196
.sev.p0 { color: var(--red); }
.sev.p1 { color: var(--amber); }
.sev.p2 { color: var(--cyan); }

<div class="risk"><div class="sev p2">P2</div><div><h3>将 fuzz 从“可构建”提升为持续执行</h3><p>Safety workflow 会编译两个稳定 fuzz target,但当前证据没有固定时长的自动 corpus 执行。字符编码和 bytes 转换边界适合增加 Linux sanitizer runner 与定时任务。</p></div><div class="impact">残余风险:输入空间<br><a href=".github/workflows/safety.yml"><code>safety.yml</code></a><br><a href="fuzz/fuzz_targets"><code>fuzz_targets/</code></a></div></div>
<div class="risk"><div class="sev p2">P2</div><div><h3>为时延回归准备固定硬件基线</h3><p>布局与分配已是确定性硬门,但 Criterion 时延仍受本机频率、后台负载和 hash seed 影响。若要阻断时延回归,需要固定 runner、base/head 交错轮次和原始 artifact。</p></div><div class="impact">残余风险:性能漂移<br><a href=".github/workflows/performance.yml"><code>performance.yml</code></a></div></div>
<div class="risk"><div class="sev p3">P3</div><div><h3>继续隔离 3.1 兼容 surface</h3><p>旧 pattern dispatch 和 umbrella <code>Error</code> 为不升级大版本而保留,但内部查询已不再依赖公开 dispatch,并有下游 API 合约与 semver 基线。未来删除必须留到主版本。</p></div><div class="impact">残余风险:演进成本<br><a href="API.md"><code>API.md</code></a></div></div>
});
}, { rootMargin: '-18% 0px -70% 0px' });
sections.forEach(section => observer.observe(section));
if (links[0]) links[0].classList.add('active');
Comment thread API.md
Comment on lines +7 to +10
There is one documented safety exception: the published
`experimental-packed` module was removed after strict-provenance Miri exposed
undefined behavior in its safe API. The Cargo feature name remains as a no-op
for dependency resolution, but code importing `cheetah_string::packed` must
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Publish the final CheetahString 3.1 architecture and performance audit

2 participants