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.

I2691 — start, check, finish and the commit and push hooks refuse a change from a session that has not joined

Make the derived state of I2690 binding: a non-trivial change from a session that is announced nowhere, or is behind the trunk by more than the policy's bound, is refused with the command that repairs it, and a read never is.

BLOKOVÁNO vlna 1 · p0 · profil implementation · běží samostatně

Součást development-runtime — The runtime has a development surface.

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

Cíl

Make the derived state of I2690 binding: a non-trivial change from a session that is announced nowhere, or is behind the trunk by more than the policy's bound, is refused with the command that repairs it, and a read never is.

Proč

The owner, 2026-10-13, after a session worked three hours stale and unannounced in a cluster of nineteen workers: this must never happen again; it must be formalized, derived, inferred, enforced, in .ai, announced, a hard requirement, on GitHub Pages, tested, documented and on the landing page. See ADR 0226.

Aktuální stav

Measured on master f0696ec535 on 2026-10-13: nothing refuses a stale or unannounced session; on the owner's Mac the git hooks were not installed at all (core.hooksPath unset), and doctor said so only as six wiring failures nobody read.

Cílový stav

start, check and finish carry the join doctrine; the pre-commit and pre-push hooks run it; doctor reports a machine whose hooks are not wired as one finding with the single command that wires them; an unreachable remote, a closed mesh and a mesh with no server never refuse.

Rozsah

  • apps/majordomus-cli/src/doctrine/
  • apps/majordomus-cli/src/capability/builtin/
  • lib/doctor.sh
  • .githooks/
  • .ai/repo/rules/project/a-session-joins-the-cluster-before-it-works.v2.md

Mimo rozsah

  • Deriving the facts: that is I2690
  • A refusal of reads, of context, of mesh or of doctor

Závislosti

Kritéria přijetí

  • An unannounced session's commit is refused naming the announcing command, and the same session's context and mesh peers are not
  • A session behind the bound is refused at push and told to merge the trunk
  • An offline machine is told the check is unverified and proceeds
  • The rule is raised to blocking as version 2 with test 3004 as its decision and reviewed_because removed

Validace

  • bin/majordomus plan validate
  • majordomus rules list
  • MJ_TEST_JOBS=2 bash test/run.sh 3010_a_session_joins_the_cluster

Požadované důkazy

  • join_refusal_case_3004
  • rule_v2_blocking

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

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