Zdůvodnění
Plán říká, jaká práce existuje a v jakém pořadí; hlavní kniha důkazů říká, co proběhlo. Žádné neříká, k čemu práce byla. Ta otázka žila v promptech a prompt je neverzovaný, nevynucovaný a na konci relace zmizí, takže žádný příkaz nemohl říct, kterému výsledku změna sloužila ani zda ho dokončené milníky dosáhly.
Záznam záměru tu mezeru zacelí, jen pokud se nestane druhým vyprávěním o práci. Uložený stav záměru by se rozešel při prvním přeplánování úkolu, přesně jako uložený stav úkolu, a proto plán žádný neukládá.
Požadované chování
- Záměr žije pod
.ai/repo/project/intents/<id>.yamla validuje homajordomus.intent/v1; jeho klíče uzavíráshare/allow/intent.txt. - Intent jmenuje alespoň jeden milník a alespoň jedno kritérium splnění, přičemž každé kritérium jmenuje své důkazy druhem a referencí.
- Fáze se odvozuje ze stavu, který plán odvodí pro pojmenované milníky, a kritérium je splněno, jen když ledger důkazů drží aktuální úspěšný běh jeho testu nebo je jeho tvrzení dokázáno či má nezměněné vstupy. Důkazy
commandadeploymentse rozliší, ale nikdy se nepočítají jako splněné. - Žádná schopnost nezapisuje záměr, neukládá jeho fázi ani ji nepřechází.
majordomus intent validateskončí kódem 10 při jakémkoli selhání a kontrolaintent-checkho spouští při každé změně modelu projektu nebo enginu záměrů.
Chování při selhání
majordomus intent validate vypíše jeden řádek na nález s jeho úrovní, kódem, předmětem, zprávou a příkazem k reprodukci a skončí s exit 10, je-li některý selháním: intent_without_milestone, intent_without_criterion, unknown_milestone, criterion_without_ref, unresolved_evidence_ref, unresolved_governance, unknown_successor, duplicate_criterion, file_name_mismatch. Milník, který neslouží žádný záměr, je varování milestone_serves_no_intent.
Ověření
apps/majordomus-cli/tests/intent.rs dokazuje, že příkazový řádek, HTTP a MCP odpovídají na stejné odvozené záměry a že neplatný model skončí nenulovým kódem a pojmenuje nález. test/cases/367_an_intent_is_satisfied_only_by_evidence.sh dokazuje přes sestavený spustitelný soubor, že zaznamenaný úspěšný běh je to, co posune kritérium na splněné, a že rozbitý odkaz je odmítnut.