aivmbridge: build-tag crossmodule parity test (CI green)

The cross-module byte-equality test is the only file importing chains/aivm
(resolvable only via go.work). Tag it `crossmodule` so default go test ./...
(CI, no workspace) skips it; run with `go test -tags crossmodule` + workspace.
Production aivmbridge stays decoupled (wire-format only).
This commit is contained in:
hanzo-dev
2026-06-21 19:46:14 -07:00
parent d236d8f800
commit 9d8bfcc8eb
+9
View File
@@ -1,8 +1,17 @@
//go:build crossmodule
// Copyright (C) 2026, Lux Partners Limited. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
//
// crossmodule_test.go — RED-A cross-module byte-equality proof.
//
// Build-tagged `crossmodule`: this is the ONLY file importing
// github.com/luxfi/chains/aivm (the A-side encoders), resolvable only via the
// repo go.work workspace. Default `go test ./...` (CI, no workspace) must NOT
// compile it. Run the parity proof explicitly, with the workspace:
// GOWORK= go test -tags crossmodule ./aivmbridge/...
// Production aivmbridge is decoupled from chains/aivm (wire-format agreement only).
//
// This is the load-bearing seam: the C side (this package, github.com/luxfi/precompile/aivmbridge)
// and the A side (the counterparty, github.com/luxfi/chains/aivm) MUST agree, BYTE FOR BYTE, on
// (1) the intent_id keccak preimage (DeriveIntentID vs aivm.ComputeIntentID)