I2001 — start se ptá, čemu úloha slouží, a odmítne odmítnutou vazbu tam, kde to politika vyžaduje
Přidat příkazu start přepínače --issue, --intent, --exempt a --because; zeptat se intents.binding přes sestavený executable; při politice intent.binding: required odmítnout odmítnutou nebo nečitelnou vazbu, při advisory ji nahlásit a při chybějícím klíči nic neměnit. Zapsat, co bylo uvedeno, a revizi do záznamu úlohy a do události task.started v ledgeru.
BLOKOVÁNO vlna 1 · p1 · profil implementation · běží samostatně
Součást intent-bound-work — Úloha je vázána na záměr, kterému slouží.
Blokováno. Tento úkol nemůže začít, dokud nejsou hotovy I2000, milestone:intent-bound-work. Stav je z toho odvozen, ne deklarován.
Cíl
Přidat příkazu start přepínače --issue, --intent, --exempt a --because; zeptat se intents.binding přes sestavený executable; při politice intent.binding: required odmítnout odmítnutou nebo nečitelnou vazbu, při advisory ji nahlásit a při chybějícím klíči nic neměnit. Zapsat, co bylo uvedeno, a revizi do záznamu úlohy a do události task.started v ledgeru.
Proč
Dokud se start nezeptá, vazba je dotaz, který nikdo nemusí položit, a práce na záměru bez kritiky začne bez odmítnutí.
Aktuální stav
start bere popis, rozsah, requires, profil a vlastníka a žádný záměr nečte.
Cílový stav
Záznam úlohy nese úkol, záměr nebo výjimku s důvodem a binding_revision; odmítnutá vazba se odmítne (exit 15) s uvedením příčiny a tří cest dál.
Rozsah
- lib/start.sh
- lib/intent_binding.sh
- .ai/repo/policy.yaml
- apps/majordomus-cli/src/capability/builtin/continuity.rs
- test/cases/960_a_task_starts_bound_to_what_it_serves.sh
- dokumentace
- lib/common.sh
- share/schemas/majordomus/policy
- share/schemas/majordomus/current
- share/skeleton
- share/events.yaml
- share/allow
- apps/majordomus-cli/src/intent_realization.rs
- apps/majordomus-cli/tests/intent_realization.rs
Závislosti
Co na tom čeká
- I2002BLOKOVÁNO Kontext navázané úlohy říká, co záměr od této práce žádá
- I2003BLOKOVÁNO Předávka připíná vazbu, pod kterou byla napsána, a její rozlišení hlásí odchylku
- I3261BLOCKED Every bypass of the intent loop is tried by a test and is refused or exempted by policy, never passed
Kritéria přijetí
- Pod required je start s odmítnutou vazbou odmítnut (exit 15) a nezapíše žádný záznam úlohy
- Pod required začne start s --exempt deklarované třídy a --because a kniha nese obojí
- Když klíč politiky chybí, start bez nového příznaku se chová přesně jako dříve
- continuity.state hlásí, co aktivní úloha jmenovala
- Schéma politiky, schéma záznamu úlohy a událost task.started deklarují nové klíče a doctor projde s nastaveným klíčem politiky
- intent realization čte úkol, který úloha jmenovala, z knihy jako deklarovaný odkaz a shoduje se s intents.binding o téže úloze
- Rozsah, který leží mimo rozsah pojmenovaného úkolu, je v navázání uveden jako poznámka, kterou start vypíše
- Pod required nečitelná vazba (žádný sestavený spustitelný soubor, žádné jq) odmítne s uvedením příkazu, který ho sestaví; pod advisory varuje; při chybějícím klíči se příznak, který byl zadán, stále ptá a nečitelná odpověď odmítne
- Podíl startů jen s rozsahem, které se navážou na plán tohoto repozitáře, se změří dřív, než se politika tohoto repozitáře nastaví na required, a zvolená hodnota se zaznamená spolu s měřením
Validace
- bash test/run.sh 960_a_task_starts_bound_to_what_it_serves
- bash test/run.sh 04_start_check
Požadované důkazy
- start_refuses_a_refused_binding
- an_absent_policy_key_changes_nothing
- realization_and_binding_agree
- scope_only_binding_rate_measured
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.
Kanonický záznam: .ai/repo/project/issues/I2001.yaml. Načtěte ho zpět pomocí majordomus plan show I2001.