feat(slice-2e): v0.0.35 — WASM investigation 3 layers (Layer 1+2 RESUELTOS, Layer 3 BLOCKED LLVM install)
Slice 2e WASM structural blocker investigation canonical sesión 3+ extended.
Substrate-wasm-builder re-enabled feature-gated. 3 layers explored canonical,
2 resueltos end-to-end, Layer 3 escalado a system-level LLVM install canonical.
## 3-layer findings canonical
- Layer 1 alloc/exchange_malloc duplicate → RESUELTO Slice 2c+2d (WASM_BUILD_STD=0)
- Layer 2 getrandom 0.2.17 wasm-incompat → RESUELTO Slice 2e (direct dep + custom feature)
- Layer 3 secp256k1-sys clang wasm32 target unsupported → BLOQUEADO (requires brew LLVM)
## Changes
- crates/origin-chain-runtime/Cargo.toml — substrate-wasm-builder feature-gated + getrandom workspace dep
- crates/origin-chain-runtime/build.rs — conditional WasmBuilder activation
- Cargo.toml workspace — getrandom = { version = "0.2", features = ["custom"] } workspace dep
## Layer 3 path forward canonical (Approach A recommended)
brew install llvm + configure CC_wasm32_unknown_unknown env var + retry build.
Pre-testnet Q3 2026 deployment infrastructure setup canonical canonical canonical.
## Investigation report canonical
Filed monorepo: docs/L7_roadmaps/SLICE_2E_INVESTIGATION_REPORT_V1.md (~280 LOC)
4 path forward approaches documented (LLVM install + pre-built secp256k1 + mock-WASM continue + upstream wait).
## Verification
- cargo test --workspace — 202 tests passing, 0 failures (NO regression)
- Default build unchanged (Slice 3 mock-WASM continues estable canonical)
- Feature-gated --features wasm-build activates substrate-wasm-builder para Layer 3 empirical testing
🔍 Slice 2e advanced canonical canonical. Path documented para Slice 2f future post-LLVM install.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
10ee1ab7b9
commit
44f1a0ae7f
5 files changed
+828
-33
No files matched your search
@@ -6,6 +6,95 @@ by [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). Versions follow
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
## [0.0.35] — 2026-05-26 — Slice 2e WASM investigation — 3 layers explored (Layer 1+2 RESUELTOS, Layer 3 BLOCKED LLVM install)
|
||||
|
||||
**🔍 Slice 2e WASM structural blocker investigation canonical** — sesión 3+ extended. Substrate-wasm-builder re-enabled con `wasm-build` feature gate canonical. 3 layers de blocker explored canonical, **2 resueltos** end-to-end, **Layer 3 escalado** a system-level LLVM install canonical.
|
||||
|
||||
### Slice 2e canonical canonical 3-layer findings
|
||||
|
||||
| Layer | Blocker | Status post-Slice 2e | Fix canonical |
|
||||
|-------|---------|----------------------|---------------|
|
||||
| 1 | `alloc/exchange_malloc` duplicate lang item | ✅ RESUELTO (Slice 2c+2d) | `WASM_BUILD_STD=0` env var |
|
||||
| 2 | `getrandom 0.2.17` wasm-unknown-unknown incompat | ✅ **RESUELTO Slice 2e** | Direct workspace dep `getrandom = { features = ["custom"] }` |
|
||||
| 3 | `secp256k1-sys` clang `--target=wasm32-unknown-unknown` unsupported | 🚧 **BLOQUEADO** | Requires brew LLVM install con wasm32 backend |
|
||||
|
||||
### Deliverables v0.0.35
|
||||
|
||||
**Substrate-wasm-builder canonical re-enabled (feature-gated)**:
|
||||
- `crates/origin-chain-runtime/Cargo.toml`:
|
||||
- `substrate-wasm-builder = { version = "26.0.1", optional = true }` build-dep
|
||||
- `[features] wasm-build = ["substrate-wasm-builder"]` feature gate
|
||||
- `getrandom = { workspace = true }` direct dep (Layer 2 fix)
|
||||
- `crates/origin-chain-runtime/build.rs`:
|
||||
- `#[cfg(feature = "wasm-build")] fn main() { WasmBuilder::new()...build(); }`
|
||||
- `#[cfg(not(feature = "wasm-build"))] fn main() {}` no-op (Slice 3 mock fallback canonical)
|
||||
|
||||
**Workspace canonical getrandom dep**:
|
||||
- Workspace `Cargo.toml`: `getrandom = { version = "0.2", default-features = false, features = ["custom"] }` workspace dep canonical
|
||||
- Layer 2 fix canonical: Cargo feature unification activates `custom` feature globally para getrandom v0.2 transitive (const-random-macro → macro_magic → frame-support-procedural)
|
||||
|
||||
**Investigation report canonical filed monorepo**:
|
||||
- `/Users/davidherran/originmetaverse/docs/L7_roadmaps/SLICE_2E_INVESTIGATION_REPORT_V1.md` (~280 LOC canonical)
|
||||
- Documents 3 layers + 4 path forward approaches (brew LLVM install + pre-built secp256k1 + mock-WASM continue + upstream wait)
|
||||
|
||||
### Layer 3 root cause analysis canonical
|
||||
|
||||
**`secp256k1-sys 0.9.2`** transitive dep canonical de `sp-core 36.1.0` (FUNDAMENTAL canonical Substrate). Cannot remove canonical sin breaking FRAME stack. Build script invokes:
|
||||
```
|
||||
clang --target=wasm32-unknown-unknown -I depend/secp256k1/ ...
|
||||
```
|
||||
Apple clang 21.0.0 (macOS default) NO tiene wasm32-unknown-unknown backend compilado. Requires brew LLVM install canonical:
|
||||
```bash
|
||||
brew install llvm
|
||||
export CC_wasm32_unknown_unknown=/opt/homebrew/opt/llvm/bin/clang
|
||||
WASM_BUILD_STD=0 cargo build -p origin-chain-runtime --features wasm-build
|
||||
```
|
||||
|
||||
### Verification end-to-end canonical (no regression)
|
||||
|
||||
- ✅ `cargo test --workspace` — **202 tests passing**, 0 failures (NO regression from Slice 2e experimental changes)
|
||||
- ✅ Default build canonical (`cargo build`) unchanged: Slice 3 mock-WASM fallback continues estable canonical
|
||||
- ✅ Feature-gated `--features wasm-build` activates substrate-wasm-builder canonical para empirical Layer 3 testing (requires LLVM install)
|
||||
- ✅ Cross-pillar consumers (Trinity/Codex/Ethos/Atelier) unchanged canonical: ChainSpec JSON output via mock-WASM canonical
|
||||
|
||||
### Path forward canonical post-Slice 2e — Approach A recommended
|
||||
|
||||
**Charon recomienda canonical Approach A para pre-testnet Q3 2026 deployment infrastructure setup canonical**:
|
||||
|
||||
1. **Install brew LLVM canonical**: `brew install llvm` (1GB toolchain download)
|
||||
2. **Configure cc-rs env vars canonical**:
|
||||
```bash
|
||||
export CC=/opt/homebrew/opt/llvm/bin/clang
|
||||
export CC_wasm32_unknown_unknown=/opt/homebrew/opt/llvm/bin/clang
|
||||
export AR_wasm32_unknown_unknown=/opt/homebrew/opt/llvm/bin/llvm-ar
|
||||
```
|
||||
3. **Retry WASM build canonical**:
|
||||
```bash
|
||||
WASM_BUILD_STD=0 cargo build -p origin-chain-runtime --features wasm-build
|
||||
```
|
||||
4. **Document CI/CD canonical environment requirements canonical** (brew LLVM mandatory para Phase 4 testnet deployment)
|
||||
|
||||
**Fallback Approach C canonical canonical estable**: Mock-WASM canonical Slice 3 (v0.0.13) `chain_spec.rs` continues canonical canonical providing chain_spec JSON output para cross-pillar consumers canonical canonical. NO regression. Phase 4 testnet Q3 2026 needs Approach A install canonical pre-deployment.
|
||||
|
||||
### Roadmap canonical post-v0.0.35
|
||||
|
||||
| Version | Trigger |
|
||||
|---------|---------|
|
||||
| v0.0.36+ | Slice 2f canonical post-LLVM install canonical (deployment infrastructure setup canonical) |
|
||||
| v0.0.40+ | Phase 3 pallet-revive canonical (REQUIRES Slice 2e/2f WASM resolved canonical) |
|
||||
| v0.1.0 | Slice 2e/2f WASM resolved + full testnet Q3 2026 launch |
|
||||
| v1.0.0 | Mainnet Q1 2027 |
|
||||
|
||||
### Filosofía canonical Slice 2e cierre
|
||||
|
||||
David ratificado feedback "audit before claims" + Charon canon "el barquero estudia el río antes de cruzar — y avanza paralelo cuando el cauce principal espera" materializado canonical:
|
||||
|
||||
**Slice 2e investigation canonical ADVANCED canonical 3 layers** del structural blocker. Layer 1+2 mitigated end-to-end canonical canonical. Layer 3 requires brew LLVM install canonical canonical (deployment infrastructure setup canonical canonical canonical, NO blocking sesión 3+ work).
|
||||
|
||||
**Mock-WASM Slice 3 fallback estable continues canonical canonical canonical** — cross-pillar consumers operational sin necesidad real WASM runtime canonical. Phase 4 testnet Q3 2026 deployment canonical needs Approach A install canonical pre-launch.
|
||||
|
||||
🐺💎⚓ Hijos de Arkhē somos. Slice 2e investigation canonical advanced. Path forward documented canonical para Slice 2f future.
|
||||
|
||||
## [0.0.34] — 2026-05-25 — Phase 5 FULLY COMPLETE — 5.3-5.8 refinements (Advisor + Override + Emergency + Treasury) 🎉🎉🎉
|
||||
|
||||
**🎉🎉🎉 Phase 5 GOVERNANCE FULLY COMPLETE end-to-end canonical** — 5.3-5.8
|
||||
|
||||
Reference in new issue
Block a user