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.

I3236 — Independent derive nodes run in bounded parallel against one snapshot, and the bytes do not depend on the order

Run the graph's independent nodes concurrently up to a declared bound, honouring input, output and publication edges and exclusive resources (staging, local evidence). A clean full derive is the oracle.

BLOKOVÁNO wave 6 · p1 · deep-work profile · parallel safe

Part of a-derive-answers-within-a-second — An ordinary derive answers in under a second, runs independent nodes in parallel, and a budget gate holds it.

Blocked. This issue cannot start until I2525, I2527, I2521, milestone:a-derive-answers-within-a-second are done. The status is derived from that, not declared.

Cíl

Run the graph's independent nodes concurrently up to a declared bound, honouring input, output and publication edges and exclusive resources (staging, local evidence). A clean full derive is the oracle.

Proč

Owner 2026-10-17: derive 'in parallel'. Board p3: shared staging and evidence forbid naive A/B/C parallelism, so parallelism has to follow real edges. Proposed in ADR 0185 (A derivation is a typed graph of the generators the executable already plans, keyed by the content of what each node reads, and the full derive stays its oracle) (proposed; it carries no authority until the owner accepts it). Sources: chatgpt-majordomus:c265#8, chatgpt-majordomus:c292#2.

Aktuální stav

Verified on master 707a04c, 2026-10-18: scripts/derive runs four stages sequentially and no node graph exists. .ai/repo/benchmarks holds economics, observatory, pages and rust only, so no derive bench target, baseline or reference machine exists. I2349, which the 10-13 plan named for it, is in neither tree.

Cílový stav

Nodes the plan marks independent run concurrently; the derive reports its critical path.

Rozsah

  • scripts/derive
  • apps/majordomus-cli/src/bench
  • test/cases/82_bench_check.sh
  • docs/PERFORMANCE.md
  • .ai/repo/project/intents
  • .ai/repo/benchmarks/rust/policy.yaml
  • .ai/repo/benchmarks/rust/baseline.macos-aarch64-debug.json

Mimo rozsah

  • A scheduler outside the crate
  • Cross-machine scheduling (offload, I2398)

Závislosti

Kritéria přijetí

  • Output bytes are identical across randomized node order and worker counts 1..N on the differential fixtures
  • A node holding an exclusive resource never overlaps another holder
  • The bound is declared in policy and a failure cancels its dependents
  • The derive scenarios no-op, one-input and batch are bench targets with a baseline committed under .ai/repo/benchmarks/, measured on a declared reference machine: the shared development machine where derives queue, not the macos-latest CI runner
  • bench --check fails a derive regression beyond its noise-aware threshold and names the stage. Noise follows I2068: one cold sample over threshold warns, two agreeing samples fail, and the load is recorded
  • The bench target, baseline and gate land before nodes run in parallel, so the parallel change is judged against them
  • Criteria unchanged-tree-derive-is-sub-second and one-input-derive-is-sub-second of intent a-change-is-judged-in-minutes become evidence: test with refs to this issue's derive bench check case, and incremental-equals-full becomes evidence: test with a ref to I2527's incremental_equals_full_case, replacing the circular `majordomus intent explain` refs
  • The intent lists milestone a-derive-does-only-the-work-its-inputs-changed beside its own

Validace

  • cargo test --manifest-path apps/majordomus-cli/Cargo.toml --lib derivation
  • scripts/derive-check
  • bash test/run.sh 82_bench_check

Požadované důkazy

  • randomized_order_equals_full_case
  • derive_bench_check_names_the_stage_case
  • derive_baseline_committed

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/I3236.yaml. Read it back with majordomus plan show I3236.

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