You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit f115f29
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: AGENTS.md
+13-11Lines changed: 13 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -88,8 +88,8 @@ require extra tooling.
88
88
89
89
| Mode | What it does |
90
90
| --- | --- |
91
-
|`dev`| Explicit workspace-package formatting and checks for the compiler, Fiber adapter, CKB adapter, WASM crate, CKB SDK builder example, and `cellscript-tools`; strict backend audit (quick); syntax combo audit (quick); parity-gated skill-pack freshness; forbidden tracked-file check; `git diff --check`. Run before committing. |
92
-
|`ci`|`dev` coverage plus tests and clippy for every workspace package, including `cellscript-tools`; full package contents check, website build check (requires `npm`), shell + Python syntax check, parity-gated skill-pack freshness, and trailing-whitespace check. Run before claiming merge-readiness. |
91
+
|`dev`| Explicit workspace-package formatting and checks for the compiler, Fiber adapter, CKB adapter, WASM crate, CKB SDK builder example, and `cellscript-tools`; native source-policy enforcement; strict backend audit (quick); syntax combo audit (quick); parity-gated skill-pack freshness; `git diff --check`. Run before committing. |
92
+
|`ci`|`dev` coverage plus tests and clippy for every workspace package, including `cellscript-tools`; full package contents check, website build check (requires `npm`), shell syntax and native source-policy checks, parity-gated skill-pack freshness, and trailing-whitespace check. Run before claiming merge-readiness. |
93
93
|`backend`| For IR / codegen / assembler / ABI / ELF / RISC-V changes: explicit workspace-package format checking, `cargo check --locked -p cellscript --all-targets`, `cargo test --locked -p cellscript`, `cargo clippy ... -D warnings`, strict backend audit (full, which itself fires the CKB stateful-scenarios harness via `cellscript_ckb_stateful_scenarios.sh`), `git diff --check`. |
94
94
|`release` / `release-quick`| Everything `ci` does plus release-auxiliary checks (CKB acceptance, NovaSeal pinning, NovaSeal Rust tooling for RISC-V, fresh WASM + VS Code packaging, CKB tx measure tool, etc.) and the CKB acceptance harness (`scripts/ckb_cellscript_acceptance.sh`). These modes need the pinned sibling CKB checkout from `scripts/ckb_acceptance_pin.json`, the NovaSeal submodule, a sibling `ckb-sdk-rust` checkout at tag `v5.1.0`, Docker for the canonical Linux/amd64 WASM build, and `riscv64imac-unknown-none-elf` for NovaSeal verifier builds. Do not run them casually. |
95
95
@@ -126,11 +126,12 @@ Excluded from the workspace (still buildable through their own manifests):
126
126
defines its own `[workspace]` (no parent) because it pulls `ckb-jsonrpc-types`
127
127
and `ckb-types` from a sibling CKB checkout (`../ckb`).
128
128
129
-
The 0.23 Python-to-Rust tooling migration is intentionally staged. Only
130
-
`check-skill-pack` and `validate-tooling-release` are currently implemented in
131
-
`cellscript-tools`; `scripts/dev/dual_run_tools.sh` requires their stdout and
132
-
exit codes to match the retained Python implementations. Keep every other
133
-
Python tool authoritative until its own port has equivalent parity evidence.
129
+
The 0.23 tooling migration is complete. `cellscript-tools` is authoritative
130
+
for gate, evidence, fixture, and release validation; website data generation
131
+
uses the tracked Node modules under `website/scripts/`. Every gate runs the
132
+
native source-policy check, which rejects retired interpreter sources,
133
+
generated bytecode/cache artifacts, and interpreter references in active
134
+
tooling source across the repository and initialized submodules.
134
135
135
136
Features (root crate):
136
137
@@ -222,8 +223,9 @@ When extracting emitter methods from `codegen/mod.rs` into a sub-module:
222
223
Fields of types shared across module boundaries also need `pub(crate)`.
223
224
4. When removing code by line number with `sed`, delete later ranges first
224
225
so earlier line numbers stay stable.
225
-
5. After every deletion, brace-count with `python3 -c` to verify brace
226
-
balance before compiling.
226
+
5. After every deletion, run formatting and a focused Rust check. The parser
227
+
and compiler are authoritative for brace balance; do not rely on textual
228
+
brace-count heuristics.
227
229
228
230
## CLI surface (where to add a new command)
229
231
@@ -273,8 +275,8 @@ Existing command families to be aware of:
273
275
## CKB / NovaSeal gotchas
274
276
275
277
- The CKB acceptance harness is `scripts/ckb_cellscript_acceptance.sh`. It
276
-
expects a sibling `../ckb-sdk-rust` checkout at tag `v5.1.0` and runs
277
-
`scripts/validate_ckb_cellscript_production_evidence.py` against the build
278
+
expects a sibling `../ckb-sdk-rust` checkout at tag `v5.1.0` and runs the
279
+
`cellscript-tools validate-production-evidence` command against the build
278
280
reports. Its build reports, source provenance hashes, and production
279
281
hardening gate (`final_production_hardening_gate`) are referenced by
280
282
string from the gate script; if you rename them, update
0 commit comments