Skip to content

Commit 49a5f02

Browse files
committed
Fix 0.24 audit blockers
1 parent dc85fc8 commit 49a5f02

40 files changed

Lines changed: 536 additions & 100 deletions

‎AGENTS.md‎

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -315,8 +315,11 @@ Existing command families to be aware of:
315315
- `proposals/novaseal` is a submodule (`NovaSeal.git`, branch `main`). Same
316316
for `proposals/evolving-dob/evolving-dob-profile-v1`.
317317
- `tools/ckb-tx-measure` depends on `../ckb/util/jsonrpc-types` and
318-
`../ckb/util/types`; the gate builds the helper with CellScript's pinned
319-
Rust 1.97.1 toolchain so its declared `rust-version` remains enforceable.
318+
`../ckb/util/types`; when release validation receives `--ckb-repo`, the gate
319+
stages the helper's tracked workspace under `target/` so those same relative
320+
paths resolve to the explicit checkout. The gate builds the helper with
321+
CellScript's pinned Rust 1.97.1 toolchain so its declared `rust-version`
322+
remains enforceable.
320323
- `--primitive-strict 0.16` is the current production assurance gate; the
321324
README mentions it and the policy lives in `docs/`.
322325

‎CHANGELOG.md‎

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,16 @@
11
# Changelog
22

3-
## Unreleased
3+
## 0.24.0 - 2026-08-17
4+
5+
- Close the 0.24 audit blockers: reject transitive executable resolvers and
6+
unsafe Git refs, bound and origin-bind Registry downloads, preserve exact
7+
LS-IDL Type-script identity, and stop exposing unexpected service errors.
8+
Restore a deliberate Clippy boundary for legacy explicit-context helpers,
9+
align package identities with 0.24, and carry the closed 0.23 release and
10+
NovaSeal evidence forward.
11+
- Isolate every CKB-dependent gate check. The backend stateful wrapper accepts
12+
`CELLSCRIPT_CKB_REPO`, and release modes propagate `--ckb-repo` to the staged
13+
`ckb-tx-measure` workspace instead of silently using another sibling checkout.
414

515
- Remove the unreachable external RISC-V toolchain fallback and make the
616
audited internal assembler the sole ELF-emission path. Reassign `E2400` to

‎Cargo.lock‎

Lines changed: 6 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎Cargo.toml‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ resolver = "3"
2121

2222
[package]
2323
name = "cellscript"
24-
version = "0.22.0"
24+
version = "0.24.0"
2525
edition = "2024"
2626
rust-version = "1.97.1"
2727
autobins = false
@@ -82,7 +82,7 @@ blake2b_simd = "1.0"
8282
toml = "0.8"
8383
hex = "0.4"
8484
semver = "1.0"
85-
cellscript-artifact-checker = { version = "=0.22.0", path = "crates/cellscript-artifact-checker" }
85+
cellscript-artifact-checker = { version = "=0.24.0", path = "crates/cellscript-artifact-checker" }
8686

8787
indexmap = "=2.2.6"
8888

‎README.md‎

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
</p>
55

66
[![CellScript CI](https://github.com/CellScript-Labs/CellScript/actions/workflows/ci.yml/badge.svg)](https://github.com/CellScript-Labs/CellScript/actions/workflows/ci.yml)
7-
[![Release: v0.22.0](https://img.shields.io/badge/release-v0.22.0-2f6f4e.svg)](https://github.com/CellScript-Labs/CellScript/releases/tag/v0.22.0)
7+
[![Release: v0.23.0](https://img.shields.io/badge/release-v0.23.0-2f6f4e.svg)](https://github.com/CellScript-Labs/CellScript/releases/tag/v0.23.0)
88
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE-MIT)
99
[![Rust 1.97.1](https://img.shields.io/badge/rust-1.97.1-orange.svg)](Cargo.toml)
1010
[![Targets: CKB](https://img.shields.io/badge/targets-CKB-2f6f4e.svg)](#target-profiles)
@@ -20,8 +20,8 @@ artifacts, together with typed metadata for auditing, policy checks, schema
2020
binding, and scheduler-aware execution.
2121

2222
The current stable release is
23-
[CellScript v0.22.0](https://github.com/CellScript-Labs/CellScript/releases/tag/v0.22.0).
24-
See the [0.22 release notes](docs/releases/CELLSCRIPT_0_22_RELEASE_NOTES.md)
23+
[CellScript v0.23.0](https://github.com/CellScript-Labs/CellScript/releases/tag/v0.23.0).
24+
See the [0.23 release notes](docs/releases/CELLSCRIPT_0_23_RELEASE_NOTES.md)
2525
for its shipped surface, evidence boundaries, and migration checklist.
2626
The completed 0.23 implementation scope is tracked in the
2727
[0.23 release notes](docs/releases/CELLSCRIPT_0_23_RELEASE_NOTES.md); those
@@ -122,15 +122,15 @@ curl -fsSL https://raw.githubusercontent.com/CellScript-Labs/CellScript/main/scr
122122
Or pin a specific version:
123123

124124
```bash
125-
CELLSCRIPT_VERSION=0.22.0 curl -fsSL https://raw.githubusercontent.com/CellScript-Labs/CellScript/main/scripts/install.sh | sh
125+
CELLSCRIPT_VERSION=0.23.0 curl -fsSL https://raw.githubusercontent.com/CellScript-Labs/CellScript/main/scripts/install.sh | sh
126126
```
127127

128128
The release page publishes `SHA256SUMS` alongside all four platform archives.
129129

130130
Build the exact published source instead:
131131

132132
```bash
133-
git clone --branch v0.22.0 --depth 1 https://github.com/CellScript-Labs/CellScript.git
133+
git clone --branch v0.23.0 --depth 1 https://github.com/CellScript-Labs/CellScript.git
134134
cd CellScript
135135
cargo install --locked --path .
136136
```
@@ -732,7 +732,7 @@ policy defaults:
732732
[package]
733733
edition = "2026"
734734
name = "token"
735-
version = "0.22.0"
735+
version = "0.24.0"
736736
entry = "src/main.cell"
737737
source_roots = ["src"]
738738

@@ -916,9 +916,11 @@ the manual, CI, recovery, and external-wallet path.
916916
- The default source-package authority is
917917
`https://api.registry.cellscript.dev`; only publicly accepted statuses enter
918918
ordinary version selection. `CELLSCRIPT_REGISTRY_API_URL` changes that API
919-
origin, while `CELLSCRIPT_REGISTRY_URL` explicitly selects the legacy
920-
Git/offline discovery authority. An unavailable production API does not
921-
silently downgrade to Git discovery.
919+
origin, and `CELLSCRIPT_REGISTRY_STATIC_ORIGIN` explicitly trusts a separate
920+
immutable-object origin for a private Registry. Snapshot downloads are
921+
origin-bound; a lockfile cannot redirect the client to an unrelated host.
922+
`CELLSCRIPT_REGISTRY_URL` selects the legacy Git/offline discovery authority.
923+
An unavailable production API does not silently downgrade to Git discovery.
922924
- Registry discovery may grow to include CellScript packages, verifier
923925
artifacts, deployed artifact records, reproducible artifacts, and external
924926
CKB tooling artifacts. Dependency resolution stays narrower than discovery.

‎contracts/registry-type-script/Cargo.lock‎

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎contracts/registry-type-script/Cargo.toml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "cellscript-registry-type-script"
3-
version = "0.22.0"
3+
version = "0.24.0"
44
edition = "2024"
55
rust-version = "1.97.1"
66
publish = false

‎contracts/registry-type-script/README.md‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,8 @@ Reproduce the canonical Linux artifact with the pinned container digest:
4343
contracts/registry-type-script/build_canonical_container.sh
4444
```
4545

46-
The deployable artifact is tracked under `artifacts/v0.22.0` and was produced
46+
The current deployable artifact is tracked under `artifacts/v0.24.0`; the
47+
identical historical release bytes remain under their versioned directories. It was produced
4748
for the `x86_64-unknown-linux-gnu` host with the builder image digest recorded
4849
in `release-manifest.json`. Rust/LLVM may order identical RISC-V functions
4950
differently on another build host, so the script claims a byte-for-byte
Binary file not shown.
Binary file not shown.

0 commit comments

Comments
 (0)