Přeskočit na obsah

Tato stránka byla automaticky přeložena z angličtiny, jediného jazyka, ve kterém se tento web píše. Číst originál.

I2784 — One portable core runs on the host and as wasm32, and one executed fixture holds both

Create apps/majordomus-core holding canonical JSON, SHA-256 and the canonical digest, depending only on serde_json and sha2 with the executable's features, exporting a three-function C ABI on wasm32; make the executable's two canonical-JSON writers call it; record a fixture of inputs, canonical bytes and independently computed digests; prove the host crate, the executable and the executed wasm32 module against it in a structure gate; and make the core part of the executable's generation.

PŘIPRAVENO vlna 0 · p1 · profil implementation · běží samostatně

Part of browser-compute — A browser computes for the project with the server's own code, and the server verifies every result.

Připraveno. Všechny závislosti jsou hotové, takže majordomus plan start I2784 bude přijato.

Cíl

Create apps/majordomus-core holding canonical JSON, SHA-256 and the canonical digest, depending only on serde_json and sha2 with the executable's features, exporting a three-function C ABI on wasm32; make the executable's two canonical-JSON writers call it; record a fixture of inputs, canonical bytes and independently computed digests; prove the host crate, the executable and the executed wasm32 module against it in a structure gate; and make the core part of the executable's generation.

Proč

On 2026-10-16 the owner asked for a browser to compute for the mesh. A browser can only be checked if it computes exactly what the server computes, and that can only be known when one implementation runs in both places and an executed fixture says they agree (ADR 0170).

Aktuální stav

No portable core; canonical JSON is written twice in the executable; no wasm32 target.

Cílový stav

apps/majordomus-core builds for the host and wasm32; journal.rs and executor.rs call it; the portable-core gate executes the module against the fixture; a core edit changes the executable's generation.

Rozsah

  • apps/majordomus-core
  • apps/majordomus-cli/Cargo.toml
  • apps/majordomus-cli/Cargo.lock
  • apps/majordomus-cli/build.rs
  • apps/majordomus-cli/src/generation.rs
  • apps/majordomus-cli/src/mesh/journal.rs
  • apps/majordomus-cli/src/capability/executor.rs
  • apps/majordomus-cli/tests/portable_core.rs
  • .ai/repo/ci/gates.yaml
  • .ai/repo/adrs
  • scripts/ci/crate-boundary
  • rust-toolchain.toml

Závislosti

Žádné. Tento úkol je kořenem grafu.

Kritéria přijetí

  • Every fixture row is reproduced by the core on the host, by the executable's two writers, and by the wasm32 module executed under node
  • Text that is not JSON is refused, not digested, on every runtime
  • Neither lock gains a package
  • A core source edit changes the executable's generation; a core test edit does not

Validace

  • majordomus plan validate
  • cargo test --manifest-path apps/majordomus-core/Cargo.toml
  • cargo test --test portable_core
  • cargo test --lib generation

Požadované důkazy

  • portable_core_tests

Důkazy

Nic nezaznamenáno. Za každým tokenem výše musí stát příkaz nebo artefakt, než lze tento úkol dokončit; vyprávění se odmítá.

Časová osa

zahájeno
—
ověřeno
—
dokončeno
—

Tato tři pole, důkazy výše a stav závislostí jsou vše, z čeho se stav skládá. Neexistuje žádné pole stavu, které by s nimi mohlo být v rozporu.

Canonical record: .ai/repo/project/issues/I2784.yaml. Read it back with majordomus plan show I2784.

Prohledává názvy a popisy všech stránek, které tento web publikuje.