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.

I3123 — finish refuses a verify command the profile does not admit for the change, and keeps its output

Let a profile or policy declare the verify commands (or command prefixes) a completed outcome may cite per scope class. finish refuses a command outside that set, beyond the no-op and print refusal already in mj_verify_is_vacuous, and records the tail of its output with the exit code.

PŘIPRAVENO vlna 0 · p2 · profil implementation · bezpečné souběžně

Part of a-claim-stands-only-on-its-evidence — A claim that something is enforced, tested or delivered stands only on recorded evidence that would have caught it being false.

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

Cíl

Let a profile or policy declare the verify commands (or command prefixes) a completed outcome may cite per scope class. finish refuses a command outside that set, beyond the no-op and print refusal already in mj_verify_is_vacuous, and records the tail of its output with the exit code.

Proč

The 2026-10-08 audit (c193#1) found vacuous verify commands (ls, true, test 1) accepted. Measured on master 707a04c: lib/finish.sh:161 refuses true, :, exit 0, echo and printf, but not ls or test 1. No policy pins what verifies a change. It extends milestone architecture-is-enforced. Sources: chatgpt-majordomus:c193#1.

Aktuální stav

mj_verify_is_vacuous in lib/finish.sh; profile key verification.verify_command_required.

Cílový stav

A profile key verification.verify_commands; a refusal names the admitted set.

Rozsah

  • lib/finish.sh
  • .ai/repo/profiles
  • share/allow/profile.txt
  • share/schemas/majordomus/profile/profile.v1.schema.json
  • share/events.yaml
  • test/cases/06_finish.sh
  • docs/SCHEMAS.md

Mimo rozsah

  • Judging whether a real command is the right one for the change

Závislosti

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

Co na tom čeká

Kritéria přijetí

  • A completed finish citing ls or test 1 under a profile with an admitted set is refused
  • An admitted command passes and its output tail is in the ledger
  • doctor admits the new profile key verification.verify_commands through share/allow/profile.txt

Validace

  • MJ_TEST_JOBS=4 bash test/run.sh 06_finish

Požadované důkazy

  • case_verify_command_admitted

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

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