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.

I4155 — The follower's shared board and page caches are keyed by the repository they read

The process-wide BOARD and PAGE caches in apps/majordomus-cli/src/http/follow.rs carry the Context they were read for in their key, so two Contexts in one process never answer each other's snapshot or latest cursor.

BLOKOVÁNO vlna 1 · p2 · implementační profil · bezpečné paralelně

Součást ci-critical-path — Kritická cesta od změny k jejímu verdiktu a od mergi k ověřenému nasazení běží za tepla pod minutu.

Blocked. This issue cannot start until I4154 is done. The status is derived from that, not declared.

Cíl

The process-wide BOARD and PAGE caches in apps/majordomus-cli/src/http/follow.rs carry the Context they were read for in their key, so two Contexts in one process never answer each other's snapshot or latest cursor.

Proč

Found while diagnosing I4154: the keys are \"repository\" and \"latest|<sources>|<reader>|\", which do not identify the Context. Tests in one process run in parallel, and one can be served another repository's snapshot or cursor when it was read at the same or a higher generation within 30 s. A production server serves one Context today, so this is a test-isolation hazard first.

Aktuální stav

BOARD and PAGE are statics keyed without the Context's identity.

Cílový stav

Each key names the Context (its repository root or identity), and a case or unit test reads two Contexts in one process and gets each its own answer.

Rozsah

  • apps/majordomus-cli/src/http/follow.rs
  • .ai/repo/project/issues/I4155.yaml

Závislosti

Kritéria přijetí

  • Two Contexts read through the shared caches in one process each get their own snapshot and cursor

Validace

  • cargo test --manifest-path apps/majordomus-cli/Cargo.toml --lib http::follow::tests

Požadované důkazy

  • sada testů

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á.

Riziko

A key that is too narrow defeats the share the caches exist for; key by the Context, not by the caller.

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

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