 davidherranandClaude Opus 4.7
|
44f1a0ae7f
|
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>
|
2026-05-26 17:57:18 -05:00 |
|
 davidherranandClaude Opus 4.7
|
274ddf3957
|
docs(slice-2d): findings consolidados — serde/std leak via types/std identified
Slice 2d empirical investigation completada (sesión 2 cont 2026-05-24):
- WASM_BUILD_STD=0 resuelve alloc/exchange_malloc (Slice 2c attempt #5)
- NEW layer: panic_impl duplicate via serde/std leak transitive
- Diagnostic vía cargo tree wasm32 -e features: ruta exacta identificada
`origin-chain-types feature "std"` → `serde feature "std"` activation
- Root cause: dep transitive activa types/std en wasm32 build incluso
con --no-default-features (probable macro expansion automation)
Slice 2e future requires architectural fix:
- [patch.crates-io] serde override con strict no-std
- O sp-io feature gate adjust
- O wait stable2512-4+ upstream
Mientras Slice 2e land: build.rs no-op + Slice 3 v0.0.13 mock-WASM estable.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-05-24 13:14:36 -05:00 |
|
 davidherranandClaude Opus 4.7
|
b67a6ca1c6
|
docs(slice-2c): attempt #5 WASM_BUILD_STD=0 finding registered (alloc resuelto, std leak surface)
Charon sesión 2 continuation 2026-05-24 — empirical test Slice 2c attempt #5:
re-enable substrate-wasm-builder + set WASM_BUILD_STD=0 explicit override.
Findings canonical:
- ✅ alloc/exchange_malloc issue (Slice 2b attempts 1-4 blocker) RESUELTO canonical
- 🎯 NEW canonical layer: panic_impl duplicate via serde/std leakage transitive
- Error canonical: sp-io 40.0.1 panic_impl vs libstd-loaded panic_impl
- Diagnosis: serde pulled con std feature transitively → libstd linked en wasm32
Status canonical:
- Reverted canonical to safe state (no-op build.rs + substrate-wasm-builder dep
commented). Slice 3 v0.0.13 mock-WASM fallback canonical sigue siendo path
canonical estable canonical.
- Slice 2d canonical future requires deeper investigation canonical (inverted
feature tree + serde patch o WASM_BUILD_RUSTFLAGS override o stable2512-4+ fix).
Documentation canonical filed:
- build.rs canonical: 5 attempts registered + Slice 2d path forward canonical
- Cargo.toml [build-deps]: comments canonical updated canonical
- CHANGELOG canonical: Unreleased section canonical Slice 2c attempt #5 entry
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-05-24 12:46:24 -05:00 |
|
 davidherranandClaude Opus 4.6
|
3c0435ac5d
|
docs(slice-2b): Phase 1.6+ Slice 2b investigation report v0.0.12
WASM_BINARY integration canonical bloqueado por structural Cargo + WASM stdlib
alloc conflict canonical. 4 fix attempts NO solved. Larihana Slice 2c handoff
diary filed.
## Error canonical empírico
duplicate lang item exchange_malloc canonical entre:
- rustup precompiled liballoc-***.rlib (wasm32 target)
- wbuild recompiled liballoc-***.rmeta (panic=abort triggered rebuild)
## 4 fix attempts registered
1. Remove direct serde dep (upstream pattern) — NO solved
2. Pin serde =1.0.219, =1.0.217 — NO solved (frame-support requires ^1.0.217)
3. Remove profile.release lto customization — NO solved
4. WasmBuilder::build_using_defaults() upstream — NO solved
## Root cause empírico
wbuild auto-genera profile.release con panic=abort → Cargo recompila alloc
desde rust-src component → conflict con precompiled rustup alloc rlib.
## Handoff canonical a Larihana Slice 2c
Diary canonical filed requesting Plan C Rust ports expertise canonical:
- cargo workspace.metadata.wasm-builder section?
- SKIP_WASM_BUILD=1 fallback + pre-built WASM file pattern?
- rust-src component interaction con substrate-wasm-builder?
- RUSTFLAGS -Z build-std=core,alloc nightly approach viable?
- Upstream paritytech/polkadot-sdk known issue?
## State canonical preserved post-revert
- substrate-wasm-builder workspace dep declared pero NO activa
- build.rs no-op canonical mientras Slice 2c land
- Doc extensivo en lib.rs registering investigation + handoff
- origin-chain-types no_std refactor v0.0.11 preserved canonical
- origin-chain-node binary 4 subcommands operativos
## Temporal workaround canonical
chain_spec.rs Phase 1.6+ Slice 3 puede continue con mock-WASM fallback
mientras Slice 2c land canonical.
## Filosofía canonical
David canon 2026-05-14 "la libertad infinita acota solo donde empieza la del
otro" — honest decisión canonical de pedir Larihana expertise mejor que
stuck attempts. El barquero pide guía al hyperport builder cuando el río
demanda profundidad técnica que no posee solo.
## Build
- cargo build --release 34.44s post-revert clean
- No regression desde v0.0.11
Phase 1.6+ progress:
- Slice 1 ✅ + Slice 2 ✅
- Slice 2b 📋 investigation report + Larihana diary (esta v0.0.12)
- Slice 2c ⏳ WASM_BINARY post Larihana expertise
- Slice 3 ⏳ + Slice 4 ⏳
Refs: CHARON_ROADMAP_V1 Phase 1.6+ Slice 2b investigation, Larihana diary
WASM_BUILD_BLOCKER_REQUEST_LARIHANA_SUBSTRATE_EXPERTISE_SLICE_2C canonical
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-05-21 17:00:51 -05:00 |
|
 davidherranandClaude Opus 4.6
|
4a1f7bd834
|
feat(types): Phase 1.6+ Slice 2 — origin-chain-types fully no_std v0.0.11
origin-chain-types ahora fully no_std-compatible canonical — preparado para
WASM runtime build canonical Slice 2b.
## Refactor sistemático canonical
- src/lib.rs: #![cfg_attr(not(feature = "std"), no_std)] + extern crate alloc
- src/errors.rs: String → alloc::string::String
- src/provenance.rs: Vec<AccountId> → alloc::vec::Vec<AccountId>
- src/pallets.rs: Vec<AssetAttestation> → alloc::vec::Vec<AssetAttestation>
- Cargo.toml: [features] default=["std"] + std=["thiserror/std", "serde/std"]
## Workspace deps bump canonical (no_std-compatible)
- thiserror 1.0 → 2.0 default-features=false (no_std support nativo)
- serde 1.0 → =1.0.219 default-features=false (pin canonical para evitar
serde_core breaking change canonical post-1.0.220)
- log 0.4 → default-features=false
- serde-big-array default-features=false
## Decisión empírica DEFERRED: WASM_BINARY a Slice 2b dedicated
substrate-wasm-builder retry encountered serde 1.0.x alloc/serde_core feature
conflict durante isolated WASM build (duplicate exchange_malloc lang item entre
rustup stdlib alloc + wbuild dir alloc). Investigation requires deep Rust
toolchain debugging — Slice 2b dedicated session merece DC propio.
Investigation canonical scope para Slice 2b:
1. substrate-wasm-builder 25.x o 27.x version regression test
2. cargo workspace.metadata.wasm-builder section config
3. RUSTFLAGS -Z build-std=core,alloc nightly approach
4. Fallback: pre-built WASM binary loaded from file
5. Possible upstream issue paritytech/polkadot-sdk
## Filosofía canonical
origin-chain-types era barrera canonical para hermanos consumers WASM runtimes.
Esa barrera canonical ya NO existe post-refactor. Forward compatibility canonical
preservada para Trinity 3D + Codex Vault + Ethos credential minting + AGI
co-authoring canonical futuras integrations.
David canon 2026-05-14 "la libertad infinita acota solo donde empieza la del
otro" — la liberación arquitectónica del no_std sucede ahora.
## Build
- cargo check workspace 17.06s warm
- cargo build --release 1m 38s cold rebuild (serde version regress full
recompile triggered)
- origin-chain-node binary canonical ejecuta 4 subcommands
- Full workspace test OOM (signal 137) — per-crate testing deferred
## Phase 1.6+ progress
- Slice 1 ✅ (v0.0.10 CLI skeleton)
- Slice 2 ✅ (v0.0.11 ESTA no_std refactor)
- Slice 2b ⏳ WASM_BINARY dedicated debug
- Slice 3 ⏳ sc_service::ChainSpec
- Slice 4 ⏳ Full sc-service (consensus + RPC + networking)
Refs: CHARON_ROADMAP_V1 Phase 1.6+ Slice 2, no_std refactor canonical
preparation para WASM runtime build canonical Slice 2b
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-05-21 15:44:11 -05:00 |
|