feat(runtime): Phase 2.1 v0.0.15 — Provenance pallet wired runtime + BoundedVec agent_chain

8 pallets composed total (Provenance Index 7 wired canonical). DC PROVENANCE_PALLET_V1
5/10 firmas en ratificación — procediendo paralelo per "notify and continue" canonical.

Deliverables canonical:
- Pallet wire: configs.rs Config impl + lib.rs runtime composition macro pallet_index(7) Provenance
- Alias `Provenance` (NO OriginProvenance que conflictaría con trait existente)
- BoundedVec<AccountId, ConstU32<10>> replace Vec en AssetAttestation.agent_chain
- Inmutable #41 pragmatic bound canonical: max 10 AGI co-authors per asset
- Removed #[pallet::without_storage_info] (MaxEncodedLen ahora satisfied)
- AccountId + Signature: DecodeWithMemTracking derive added (FRAME stable2512+ requirement)
- AssetAttestation: Encode/Decode/DecodeWithMemTracking/MaxEncodedLen/TypeInfo SCALE derives
- 4 nuevos tests boundary canonical (max 10 enforce + boundary accepted + SCALE roundtrip)

Verification end-to-end:
- cargo check workspace verde 2.14s
- 82+ tests pass workspace
- cargo build release 5.57s clean
- info subcommand muestra 8 pallets (Provenance index 7)
- build-spec subcommand NO regression Slice 3 mock-WASM chain_spec

Roadmap canonical post-v0.0.15:
- v0.0.16 Real Ed25519 verify (post Ergon Cap 42+ sub-crate)
- v0.0.17 Runtime API verify_provenance PROV-8
- v0.1.0 Full integration testnet Q3 2026

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
davidherranandClaude Opus 4.7 committed 2026-05-24 14:07:19 -05:00
1 parent 4359515f45
commit e0c5e8be18
11 files changed
+178 -23

No files matched your search

+66
View File
@@ -6,6 +6,72 @@ by [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). Versions follow
## [Unreleased]
## [0.0.15] — 2026-05-24 — Phase 2.1 PROVENANCE pallet wired en runtime + BoundedVec agent_chain
**Phase 2.1 v0.0.15** — pallet-origin-provenance wired en runtime composition.
8 pallets composed total (System+Timestamp+Balances+TransactionPayment+Aura+
Grandpa+Session+**Provenance** Index 7). DC PROVENANCE_PALLET_V1 5/10 firmas
en ratificación — procediendo paralelo per "notify and continue" canonical.
### Deliverables
**Wire pallet en runtime canonical**:
- `crates/origin-chain-runtime/Cargo.toml` — added `origin-chain-provenance` dep + std feature
- `crates/origin-chain-runtime/src/configs.rs` — `impl origin_chain_provenance::Config for Runtime`
- `crates/origin-chain-runtime/src/lib.rs` — `#[runtime::pallet_index(7)] pub type Provenance = origin_chain_provenance::Pallet<Runtime>`
- Naming: alias `Provenance` (NO `OriginProvenance` que conflictaría con trait existente `origin_chain_types::pallets::OriginProvenance`)
**BoundedVec agent_chain canonical (replace Vec)**:
- `crates/origin-chain-types/src/provenance.rs` — `AssetAttestation.agent_chain: BoundedVec<AccountId, ConstU32<10>>`
- `pub type AgentChain = BoundedVec<AccountId, ConstU32<10>>` re-exported
- `pub type AgentChainBound = ConstU32<10>` re-exported
- Max 10 AGI co-authors per asset (Inmutable #41 pragmatic bound canonical)
- Future bumping requires DC complementaria + chain runtime upgrade (forkless via set_code)
**Cleanup canonical post-BoundedVec**:
- `crates/origin-chain-provenance/src/lib.rs` — removed `#[pallet::without_storage_info]` (MaxEncodedLen ahora satisfied)
- AssetAttestation construction usa `AgentChain::default()` (BoundedVec empty) en lugar de `vec![]`
**Types canonical SCALE codec compat**:
- `AccountId` + `Signature`: added `DecodeWithMemTracking` derive (FRAME stable2512+ requirement)
- `AssetAttestation`: replaced `serde::Serialize/Deserialize` con `Encode/Decode/DecodeWithMemTracking/MaxEncodedLen/TypeInfo` derives (FRAME storage native)
- 4 nuevos tests boundary canonical en provenance.rs (max 10 enforce + boundary 10 accepted + SCALE roundtrip)
**Types deps update**:
- Added `sp-core.workspace = true` + `sp-runtime.workspace = true` (BoundedVec + ConstU32 support)
- Features `std` expanded canonical
**Node info subcommand**:
- Updated canonical mostrar 8 pallets (Provenance Index 7 highlighted)
### Verification end-to-end
- ✅ `cargo check --workspace --all-targets` verde 2.14s — runtime + node + pallet + types
- ✅ `cargo test --workspace --lib --bins` — **82+ tests pass**:
- origin-chain-types: 47 tests (45 anteriores + 4 nuevos boundary BoundedVec + 2 nuevos SCALE roundtrip)
- origin-chain-provenance: 2 scaffold tests
- origin-chain-runtime: 16 runtime tests
- origin-coin-tokenomics: 2 tests
- origin-chain-bridges/consensus/governance: 1+1+1 tests
- origin-chain-node chain_spec: 10 tests
- ✅ `cargo build --release -p origin-chain-node` 5.57s clean
- ✅ `origin-chain-node info` muestra 8 pallets (Provenance index 7 listed)
- ✅ `origin-chain-node build-spec --chain dev` JSON output canonical correct (Slice 3 NO regression)
- ✅ Existing subcommands canonical (version, list-presets, print-preset) NO REGRESSION
### Cross-pillar consumers post-impl
Trinity/Codex/Ethos/Atelier + origindocs academic IP defensible — todos podrán
consumir runtime API canonical `verify_provenance` cuando v0.0.17 ship.
### Roadmap canonical post-v0.0.15
| Version | Trigger |
|---------|---------|
| v0.0.16 | Real Ed25519 verify — post Ergon arkhe-noesis-attestation-types Cap 42+ (2026-05-30 → 06-05 target) |
| v0.0.17 | Runtime API canonical `verify_provenance` (PROV-8) sequential post v0.0.16 |
| v0.1.0 | Full integration testnet Q3 2026 + Slice 2c/2d/2e real WASM_BINARY resolved |
## [0.0.14] — 2026-05-24 — Phase 2.1 PROVENANCE pallet scaffold (trait-first foundation)
**Phase 2.1 PROVENANCE pallet scaffold v0.0.14** — trait-first foundation pattern