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.

intent-bound-work — Úloha je vázána na záměr, kterému slouží

`start` pojmenovává úkol, záměr nebo deklarovanou výjimku, zeptá se schopnosti vazby, čemu úloha slouží, a odmítne odmítnutou vazbu, kde ji politika vyžaduje. Záznam úlohy nese, co bylo pojmenováno a v jaké revizi se to vyřešilo. `context` informuje workera podle vazby, `handover` připíná revizi a `handover --resolve` hlásí drift.

BLOKOVÁNO 0 z 5 úkolů hotovo

připraveno
0
blokováno
5
aktivní
0
verify
0
hotovo
0
zrušeno
0

Problém

Motor záměrů umí říct, kterému záměru slouží úkol nebo sada cest (intent preflight), a nic se ho neptá. `start` přijímá popis a rozsah; záznam úlohy nejmenuje žádný úkol ani záměr; kontext předaný pracovníkovi neříká nic o kritériích, kvůli nimž práce vzniká; předávka nese commit a žádnou stopu záměru, pod nímž byla napsána. Práci pod záměrem, jehož plán nebyl nikdy podroben kritice, najde `intent validate` až po jejím zahájení, neodmítne ji předem.

Výsledek

`start` pojmenovává úkol, záměr nebo deklarovanou výjimku, zeptá se schopnosti vazby, čemu úloha slouží, a odmítne odmítnutou vazbu, kde ji politika vyžaduje. Záznam úlohy nese, co bylo pojmenováno a v jaké revizi se to vyřešilo. `context` informuje workera podle vazby, `handover` připíná revizi a `handover --resolve` hlásí drift.

Aktuální stav

intents.preflight existuje bez volajícího. Záznam úlohy nemá pole pro úkol, záměr ani výjimku. Nikde neexistuje třída výjimek. Nic nepočítá revizi záměru, jeho plánu ani kritiky.

Cílový stav

Jedno odvození, `Intents::binding`, odpovídá `intents.binding` na každém povrchu a ptají se ho start, context a handover.

Rozsah

  • apps/majordomus-cli/src/intent.rs
  • apps/majordomus-cli/src/intent_binding.rs
  • apps/majordomus-cli/src/capability/builtin/intents.rs
  • apps/majordomus-cli/src/capability/builtin/continuity.rs
  • apps/majordomus-cli/src/commands/intent.rs
  • apps/majordomus-cli/src/cli.rs
  • apps/majordomus-cli/src/policy.rs
  • apps/majordomus-cli/tests
  • lib/start.sh
  • lib/context.sh
  • lib/handover.sh
  • lib/common.sh
  • lib/intent_binding.sh
  • lib/plan.sh
  • apps/majordomus-cli/src/plan.rs
  • apps/majordomus-cli/src/intent_realization.rs
  • podíl
  • .ai/repo/policy.yaml
  • .ai/repo/project
  • .ai/repo/adrs
  • .ai/repo/rules/project
  • dokumentace
  • test/cases

Mimo rozsah

  • Odmítnutí finish při nesplněných kritériích
  • Vytvoření nebo provedení kritiky
  • Přesun životního cyklu úlohy ze shellu do Rustu (ADR 0047)

Kritéria přijetí

  • Úloha zahájená s --issue, --intent nebo podle rozsahu se rozřeší přes intents.binding a nejednoznačná nebo odmítnutá vazba nezačne tam, kde politika vazbu vyžaduje
  • Výjimka je třída deklarovaná politikou s důvodem, zaznamenaná v záznamu úlohy a v knize záznamů
  • Kontext navázané úlohy nese z vazby sekci záměru
  • Předávka nese revizi vazby a --resolve hlásí drift
  • Příkazový řádek, HTTP a MCP odpovídají na stejnou vazbu

Validace

  • majordomus intent validate
  • cargo test --test intent_binding
  • bash test/run.sh 960_a_task_starts_bound_to_what_it_serves
  • bash test/run.sh 961_a_resumed_task_is_told_its_intent_moved

Rizika

  • Záznamy, ADR a testy, které jmenují, přistávají v jedné změně: kritérium, jehož odkaz na důkazy se nerozliší, shodí intent validate, takže žádná část tohoto milníku nedosáhne trunku bez zbytku.
  • Vyžadování vazby v tomto repozitáři odmítne `start` jen s rozsahem, který dnes používá každá relace; odmítnutí musí jmenovat tři cesty dál (úkol, intent, výjimka), jinak se čte jako rozbitý nástroj.
  • Pin uložený v úloze je o krok od uloženého stavu záměru; musí zůstat hashem porovnávaným při čtení a nikdy fází ani verdiktem (pravidlo project.an-intent-outlives-its-sessions).

Úkoly

Každý z nich je prováděcí kontrakt s vlastními kritérii přijetí, validačním příkazem a požadovanými důkazy. Sloupec wave je vrstva grafu závislostí, v níž úkol leží.

issuestatusvlnazávisí nanázev
I2000 BLOKOVÁNO 0 — To, čemu práce slouží, je jedna derivace s revizí
I2001 BLOKOVÁNO 1 I2000 start se ptá, čemu úloha slouží, a odmítne odmítnutou vazbu tam, kde to politika vyžaduje
I2002 BLOKOVÁNO 2 I2001 Kontext vázané úlohy říká, co záměr od této práce žádá
I2003 BLOKOVÁNO 2 I2001 Předávka připne vazbu, pod kterou byla napsána, a její vyřešení hlásí drift
I2004 BLOKOVÁNO 1 I2000 plan start odmítne úkol, jehož vazba je odmítnuta, v obou enginech

Graf

graf závislostí práce vázané na záměrz .ai/repo/project
flowchart LR
    I2000["I2000<br/>What a piece of work serves is one derivation, with a revision"]:::blocked
    I2001["I2001<br/>start asks what the task serves and refuses a refused binding where the policy requires it"]:::blocked
    I2002["I2002<br/>The context of a bound task says what the intent asks of this work"]:::blocked
    I2003["I2003<br/>A handover pins the binding it was written under, and resolving it reports drift"]:::blocked
    I2004["I2004<br/>plan start refuses an issue whose binding is refused, in both engines"]:::blocked
    I2000 --> I2001
    I2000 --> I2004
    I2001 --> I2002
    I2001 --> I2003
    classDef done stroke:#16a34a,fill:#dcfce7,color:#14532d,stroke-width:2px
    classDef active stroke:#2563eb,fill:#eff6ff,color:#1e3a8a,stroke-width:2px
    classDef verify stroke:#7c3aed,fill:#f5f3ff,color:#4c1d95,stroke-width:2px
    classDef ready stroke:#0891b2,fill:#ecfeff,color:#164e63,stroke-width:2px
    classDef planned stroke:#0891b2,fill:#ecfeff,color:#164e63,stroke-width:2px
    classDef blocked stroke:#b45309,fill:#fffbeb,color:#78350f,stroke-width:2px
    classDef cancelled stroke:#6b7280,fill:#f9fafb,color:#374151,stroke-width:2px
    classDef superseded stroke:#6b7280,fill:#f9fafb,color:#374151,stroke-width:2px

Kanonický záznam: .ai/repo/project/milestones/intent-bound-work.yaml. Přečtěte jej zpět pomocí majordomus plan show intent-bound-work.

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