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

+2 -1
View File
@@ -191,7 +191,7 @@ fn print_info() {
println!("Impl name: {}", IMPL_NAME);
println!("Runtime version: {}", RUNTIME_VERSION);
println!();
println!("Pallets canonical (7):");
println!("Pallets canonical (8):");
println!(" • Index 0 System (frame_system foundational)");
println!(" • Index 1 Timestamp (pallet_timestamp block clock → Aura)");
println!(" • Index 2 Balances (pallet_balances OGC token CHN-2)");
@@ -199,6 +199,7 @@ fn print_info() {
println!(" • Index 4 Aura (pallet_aura PoA block production CHN-1)");
println!(" • Index 5 Grandpa (pallet_grandpa finality gadget CHN-1)");
println!(" • Index 6 Session (pallet_session 4h epoch rotation CHN-1)");
println!(" • Index 7 Provenance (pallet_origin_provenance asset attestation CHN-7) [Phase 2.1 scaffold v0.0.15]");
println!();
println!("Runtime APIs canonical (11):");
println!(" • sp_api::Core (version + execute_block)");