Publish the final CheetahString 3.1 architecture and performance audit - #153
Merged
Conversation
There was a problem hiding this comment.
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/**inCargo.tomland asserting it via Python repository-contract tests. - Update API compatibility documentation to disclose the approved removal of the UB-prone
experimental-packedmodule.
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 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 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #152
Summary
docs/**content from release packages and add a repository contract for that boundaryVerification
cargo fmt --all -- --checkcargo clippy --all-targets --all-features -- -D warningscargo test --all-features(203/203)serde,bytestest matrices-D warningscargo audit(0 findings)cargo package --allow-dirty(79 files;docs/**excluded)Compatibility note
A registry comparison against 3.0.0 reports three expected removals from the retired
experimental-packedmodule. 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.