|
1 | 1 | # CellScript v0.16 Roadmap |
2 | 2 |
|
3 | | -**Status**: Implemented on `nightly-0.16` for the scoped 0.16 release; active |
4 | | -compiler-freeze hardening is tracked in this roadmap. |
| 3 | +**Status**: Implemented on `nightly-0.16` for the scoped 0.16 release; |
| 4 | +compiler-freeze hardening is complete for the P0 plus key P1 freeze scope. |
5 | 5 | **Scope**: Metadata Semantics, Descriptive Standard Compatibility, Production |
6 | 6 | Tooling Skeleton, and Rust-comparative compiler hardening. |
7 | 7 | **Dependencies**: v0.13, v0.14, and v0.15 complete |
@@ -30,7 +30,7 @@ completeness and the non-critical comparative-audit cleanup remain 0.17 work. |
30 | 30 | | Deployment governance | Implemented as local manifest/schema/integrity tooling | `cellc deploy-plan`, `verify-deploy`, `diff-deploy`, and `lock-deps` | On-chain deployment verification | |
31 | 31 | | Audit/debug UX | Implemented as metadata/IR reports | `cellc proof-diff`, `profile`, `trace-tx`, and `audit-bundle` | Full CellScript-to-RISC-V source maps | |
32 | 32 | | Stdlib release track | Implemented as schema stubs only | `src/stdlib/ckb_protocols/*` descriptors marked `schema-stub` | ABI-compatible protocol stdlib implementations and executable coverage | |
33 | | -| Compiler-freeze hardening | In progress for P0 plus key P1 only | `RUST_COMPARATIVE_AUDIT.md`, IR poison lowering, register contract gate, syscall ABI baseline, IR provenance, error-line tests | Remaining comparative-audit cleanup is 0.17 scope | |
| 33 | +| Compiler-freeze hardening | Implemented for P0 plus key P1 freeze scope | `RUST_COMPARATIVE_AUDIT.md`, IR poison lowering, register contract gate, syscall ABI contract baseline, IR provenance, error-line tests | Remaining comparative-audit cleanup is 0.17 scope | |
34 | 34 |
|
35 | 35 | Boundary: v0.16 does not claim full formal verification or production CKB |
36 | 36 | protocol equivalence. The branch implements metadata consistency checking, |
@@ -300,7 +300,7 @@ The principle is: |
300 | 300 | |---|---|---|---| |
301 | 301 | | P0 | IR poison/error lowering | Error recovery must not produce a normal-looking IR value. Lowering errors return explicit poison, not live `IrConst::U64(0)` sentinels. | Invalid source cannot feed semantic `Binary`, `Call`, `Cast`, `Index`, `FieldAccess`, `If`, `Match`, array, or Vec lowering as if it had a valid value; verifier and codegen reject poisoned IR. A deeper `Lowered<T>` representation is tracked for 0.17. | |
302 | 302 | | P0 | Register contract constants and gate | `s10`, `s11`, and `t6` conventions are named compiler contracts. | Entry-wrapper writes to reserved registers are whitelisted; non-entry clobbers fail codegen; far branch relaxation reports the named scratch register. | |
303 | | -| P0 | Syscall ABI baseline | CKB syscall numbers and VM2 spawn/IPC numbers are checked against a versioned baseline. | `tests/syscall_abi_baseline.json` is compared to `syscalls.rs` and runtime ABI fields in the fast test gate. | |
| 303 | +| P0 | Syscall ABI baseline | CKB syscall numbers, status registers, return registers, size-check policy, and fail behaviour are checked against a versioned baseline. | `tests/syscall_abi_baseline.json` is compared to `syscalls.rs` and runtime ABI fields in the fast test gate. | |
304 | 304 |
|
305 | 305 | ### 4B. Key P1 Hardening Kept In 0.16 |
306 | 306 |
|
@@ -601,7 +601,8 @@ v0.16 can ship when the scoped metadata/tooling release satisfies: |
601 | 601 | poisoned artifacts rather than treating error recovery as a valid value |
602 | 602 | - backend register contracts for entry-wrapper registers and branch-relaxation |
603 | 603 | scratch registers are named and gate-tested |
604 | | -- CKB syscall and VM2 spawn/IPC ABI numbers match a checked 0.16 baseline |
| 604 | +- CKB syscall and VM2 spawn/IPC ABI contract fields match a checked 0.16 |
| 605 | + baseline |
605 | 606 | - key P1 audit hardening is present: instruction/terminator provenance wrappers |
606 | 607 | and `expect-error-line:N:TEXT` diagnostics tests |
607 | 608 | - all non-critical Rust-comparative audit cleanup is tracked in the 0.17 roadmap |
|
0 commit comments