Skip to content

Fix canonical transaction migrations and consolidate Fearless release - #5619

Open
takemiyamakoto wants to merge 17 commits into
optimizationsfrom
codex/fearless-production-consolidated-20260731
Open

takemiyamakoto wants to merge 17 commits into
optimizationsfrom
codex/fearless-production-consolidated-20260731

Conversation

@takemiyamakoto

@takemiyamakoto takemiyamakoto commented Jul 31, 2026 •

Copy link
Copy Markdown
Contributor

Immutable candidate

  • Head: 9e146c135f91c0fff5d7b9f5c27af6b5a8e476de
  • Tree: 2e3bebccfe5971071f6c327f675ab968e003579d
  • Base: optimizations@618768aded5b34b67c56e8f03a784529056557c6
  • DCO: success

What this closes

  • Restores transparent canonical ChainId encoding and minimal compact-length LEB128 across transaction fixtures; hardens signed-envelope structure validation and production verifying-backend labels.
  • Keeps xtask as the owner of the canonical cross-SDK 10-key vector at fixtures/norito_rpc/iroha_compact_hash_vector.properties (SHA-256 fbac1a7b1c569626af49d6bd3fd57ec436cc47d5fd8bc7b6d8cad198f65f3bbf).
  • Moves JavaScript source-provenance to its own 12-key vector at javascript/iroha_js/test/fixtures/abi21_browser_compact_hash_vector.properties (SHA-256 57e618fd600efe680113b8f9da83b7a5018b40c3f1235b840aff8f34d642ec88; source bundle c2bc6b7568c13e014326218a69ac985c7ccf281aa79d72e9483b52e6da1b443e) and binds package scripts into its source closure.
  • Makes the Android candidate gate perform a disposable online dependency warm-up, delete warm outputs, snapshot a read-only cache, then compile main and androidTest from a fresh project cache fully offline. The exact Gradle/JVM environment now admits and requires the SoraFS native-validation flag used by the complete JNI suites, and its native-absence negative control is bound to the exact assertion emitted by both Kotlin and Java SDK tests.
  • Gates the P2P test-only inbound-budget constructor and QUIC-only decrypt helper at their actual configuration boundaries, so default JavaScript/native builds are warning-clean under -D warnings; P2P source and manifest changes now trigger the Kotodama native gate.
  • Keeps the JavaScript native integration suite on its exact release profile while removing the Rust setup action's injected dependency-wide -D warnings; a policy regression assertion prevents that hosted-only failure mode from returning.
  • Imports Norito’s adaptive DecodeFromSlice trait at the JavaScript host boundary, closing the native host compiler failure previously masked by dependency-wide warning denial.
  • Isolates the positive signed-ticket P2P test in a private temporary revocation ledger so a tracked legacy snapshot cannot contaminate it, while retaining explicit corrupt-snapshot startup rejection.
  • Replaces the retired-codec scan's missing-rg fail-open path with a checked rg/portable-grep scanner, rejects missing or operationally broken scanners, and runs its adversarial suite in the same hosted job.
  • Stages Cargo's potentially hard-linked JNI cdylib into a race-checked fresh single-link inode before ABI evidence and JVM execution, preserving the anti-alias evidence policy rather than weakening it.
  • Pins Swift to Python 3.12 and a canonical regular rustup multicall executable that preserves the required invocation name; keeps Apple build/artifact roots external and source-sealed.
  • Materializes the authenticated reviewed Cargo lock in every C# native matrix job before Rust setup can invoke Cargo, disables setup-rust-toolchain caching so every release artifact starts from a fresh target tree, stages authenticated five-RID native inputs, fixes runtime library scoping, and prefetches locked native SDK dependencies before offline builds.
  • Marks both workspace and reviewed Cargo-lock paths -text; classifies them with bounded native-Python binary reads (never MSYS text-mode comparison) and binds Windows O_BINARY on every low-level verifier, source, output, and canonicalizer descriptor. Only the deterministic Windows CRLF derivative (329,323 bytes; SHA-256 a13e9e3d0645ceeaa4306bbbebbb3576ba077f039a8f346a9d717a6f56f5b6d1) may be authenticated, quarantined, and replaced by the reviewed LF lock; all byte/link/race drift fails closed.

Verified locally on this candidate

  • Exact C# CI subset: 4,571 passed, 0 failed; focused transaction/SCCP/Torii set: 245 passed.
  • Android candidate compilation: disposable warm compile 33 tasks; fresh read-only-cache offline compile 33 tasks; static gate plus 12 and 11 adversarial tests passed.
  • JavaScript: 52 transaction/crypto/parity tests, 5 compact-vector tests, lint, and bundle graph/budget audit passed.
  • Canonical fixture generation/independent verification: 28 entries; norito_derive: 23 tests passed.
  • Reviewed Cargo-lock verification and adversarial self-test passed, including exact CRLF recovery under an injected text-normalizing comparator plus CRLF mutation/symlink/hard-link/no-clobber/collision rejection. Readiness also rejects removal of any required O_BINARY binding or restoration of MSYS comparison; Kagemusha candidate readiness/self-test passed.
  • ABI-21 native artifact checker suite: 23 passed, including Cargo-hardlink de-aliasing, symlink, overwrite, and direct hardlink rejection; retired-codec guard suite: 26 passed, including missing-rg, missing-scanner, and broken-scanner controls. The hermetic Gradle/JVM launcher passed the exact required environment and rejected both a missing mandatory SoraFS validation flag and an unexpected injected flag.
  • Default and QUIC P2P library configurations plus the complete P2P test target passed cargo check --locked -p iroha_p2p with RUSTFLAGS=-D warnings and incremental compilation disabled; all 463 P2P library tests then passed, plus a 5-case focused runtime set covering corrupt-snapshot fail-closed and invalid PoW/revocation bounds.
  • Kotodama workflow policy suite: 20 passed; actionlint, shellcheck, Python compilation, git diff --check, and the negative control that rejects re-enabling cached C# release targets passed.
  • Copied canonical rustup passed --version and exact-toolchain which cargo.

The complete C# suite was not claimed locally because six native-reference tests require the ABI-21 bridge artifacts produced by the hosted matrix. The complete Swift XCFramework was not claimed locally because this workstation lacks Python 3.12. Those are intentionally delegated to the exact-head hosted gates below.

Hosted exact-head gates

Fail-closed release boundary

This is a source/SDK release candidate, not a promotion. Merge, artifact promotion, TestFlight, and Play testing remain blocked until every required hosted check on the exact head above is green and the produced artifacts pass their authenticated inventory checks.

Signed-off-by: Makoto Takemiya <takemiya@soramitsu.co.jp>
Signed-off-by: Makoto Takemiya <takemiya@soramitsu.co.jp>
Record PR 5612 head as reviewed ancestry. Its stable patch is already present as merged commit 409dd37, so resolve conflicts to the later modular JavaScript layout and preserve the PR 5618 bundle-cap tree unchanged.
Refresh every pinned esbuild byte baseline against the exact 0.0.3 bundle-cap tree while retaining all predecessor and hard-cap assertions. Remove the orphaned iroha-docs gitlink, which has no .gitmodules mapping and prevents the fail-closed native provenance snapshot from accepting the source inventory.

Signed-off-by: Makoto Takemiya <takemiya@soramitsu.co.jp>
The sealed snapshot already places Cargo.lock beside Cargo.toml. Use stable --locked/--offline resolution from that canonical location instead of the nightly-only -Z lockfile-path option, and lock the command contract with a regression test.

Signed-off-by: Makoto Takemiya <takemiya@soramitsu.co.jp>
Signed-off-by: Makoto Takemiya <takemiya@soramitsu.co.jp>
Signed-off-by: Makoto Takemiya <takemiya@soramitsu.co.jp>
Signed-off-by: Makoto Takemiya <takemiya@soramitsu.co.jp>
@github-project-automation github-project-automation Bot moved this to In review in Iroha Jul 31, 2026
@takemiyamakoto
takemiyamakoto force-pushed the codex/fearless-production-consolidated-20260731 branch 10 times, most recently from 05a5a4c to 4d8c311 Compare July 31, 2026 17:41
Signed-off-by: Makoto Takemiya <takemiya@soramitsu.co.jp>
@takemiyamakoto
takemiyamakoto force-pushed the codex/fearless-production-consolidated-20260731 branch from 4d8c311 to 0126667 Compare July 31, 2026 17:47
Signed-off-by: Makoto Takemiya <takemiya@soramitsu.co.jp>
Signed-off-by: Makoto Takemiya <takemiya@soramitsu.co.jp>
Signed-off-by: Makoto Takemiya <takemiya@soramitsu.co.jp>
Signed-off-by: Makoto Takemiya <takemiya@soramitsu.co.jp>
Signed-off-by: Makoto Takemiya <takemiya@soramitsu.co.jp>
Signed-off-by: Makoto Takemiya <takemiya@soramitsu.co.jp>
Signed-off-by: Makoto Takemiya <takemiya@soramitsu.co.jp>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant