•ověřeno
Relace a předávkazákladníagentpřispěvatelzapisuje stav
Relace skončí s napůl hotovou prací. Obvyklá předávka je vložená konverzace, kterou musí další pracovník přečíst celou, aby našel tři podstatné fakty, a která zastará ve chvíli, kdy se branch pohne.
checkpoint: krátký záznam o postupu uvnitř aktivní úlohy, odmítnutý, pokud naroste ve zprávu
handover: záznam jen pro připojování s vypočteným front matter a sekcemi, které politika vyžaduje
context: další relace čte toto místo přepisu, v mezích rozpočtu řádků
setup: active-task
given:
- 'an active task scoped to lib, with work done inside that scope'
steps:
- id: checkpoint
run: ['checkpoint']
stdin: checkpoint-body.md
note: 'a short progress record inside the task'
expect:
exit: 0
stdout_contains: ['\.ai/local/state/checkpoints/']
- id: handover
run: ['handover']
stdin: handover-body.md
note: 'the record the next session resumes from, with the sections the policy requires'
expect:
exit: 0
stdout_contains: ['\.ai/local/state/handovers/']
- id: resume
run: ['context']
note: 'what the next worker reads instead of a transcript'
expect:
exit: 0
stdout_contains: ['^## GIT', '^## TASK', 'narrow the parser']
- id: verify
run: ['check']
note: 'the task is still consistent with git'
expect:
exit: 0
stdout_contains: ['0 failing']
then:
- 'the handover carries the branch and head it was written at'
- 'the next context names the task, the profile and the scope'
Další worker začíná z trvalého stavu s pozicí gitu, při níž byl zapsán, a dozví se, jak daleko se repozitář od té doby posunul.
Scénář
Provedeno proti skutečnému nástroji v repozitáři připraveném pomocí active-task, při každém generování tohoto webu. To, co následuje, není popis toho, co by se mělo stát; je to to, co se stalo.
dáno
- ·aktivní úloha s rozsahem lib, s prací provedenou uvnitř tohoto rozsahu
kdy
- 1
majordomus checkpoint - 2
majordomus handover - 3
majordomus context - 4
majordomus check
pak
- ·předávka nese větev a head, na kterých byla napsána
- ·další kontext jmenuje úlohu, profil a rozsah
Co nástroj udělal
Důkazy o běhu, ze kterého byla tato stránka vygenerována: pass, kroků: 4. Výstup je normalizovaný: cesta k repozitáři, časová razítka, identifikátory a doby trvání jsou zástupné hodnoty, nic dalšího se neupravuje.
Testováno v test/cases/94_use_cases.sh, který spouští každý scénář a odmítne krok, jehož zaznamenaný výstup není tím, co vyprodukoval.
-
krátký záznam o postupu uvnitř úlohy
.ai/local/state/checkpoints/<time>--main--<head>--<hash>.md
- exit 0
- stdout_contains /\.ai/local/state/checkpoints//
-
záznam, z něhož další relace pokračuje, se sekcemi, které politika vyžaduje
.ai/local/state/handovers/<time>--main--<head>--<hash>.md
- exit 0
- stdout_contains /\.ai/local/state/handovers//
-
co další worker čte místo přepisu
# Majordomus context — <time>
# a projection of durable state, not a source of truth: validate every line against git
## GIT
repository <repo>
branch main
head <sha>
working_tree dirty
task_record exact (recorded head <head>)
## TASK
id t-<id>
task narrow the parser
profile implementation
owner <owner>
outcome active
scope lib
started <time> (<age> ago)
checkpoint <time> (<age> ago, interval 15m)
## PROFILE implementation
capability standard
effort medium
verbosity concise
presentation engineering
verification verify command
output outcome, changes, verification, blockers, next_action
## CONTEXT DOCUMENTS (for the scope, root first; majordomus context explain <path>)
lib ai.layer
## KNOWLEDGE (candidates awaiting review on this branch; majordomus knowledge candidates)
No knowledge candidates await review on this branch. That is an answer, not a gap: `majordomus knowledge candidates` lists every branch.
## DECISIONS (5 most recent for this task)
(none)
## LATEST CHECKPOINT (.ai/local/state/checkpoints/<time>--main--<head>--<hash>.md, <age> ago, exact)
the parser now refuses tabs; the message names the column
## LATEST COMPATIBLE HANDOVER (.ai/local/state/handovers/<time>--main--<head>--<hash>.md)
match same_worktree_same_branch
git state exact
created <time> (<age> ago)
task t-<id>
# Objective
narrow the parser
# Current State
tabs are refused with a message
# Next Action
none
## FILES TOUCHED IN SCOPE (1)
lib/a
## EXCLUDED
- history — profile implementation sets context.recent_history_depth: 0
## BUDGET
60 of 300 lines
- exit 0
- stdout_contains /^## GIT/
- stdout_contains /^## TASK/
- stdout_contains /narrow the parser/
-
úloha je stále konzistentní s gitem
OK knowledge records — 0 record(s) valid against knowledge/v1; every reference resolves [reproduce: majordomus knowledge check]
· checkpoint t-<id> — <timed against the checkpoint interval>
INFO checkpoint .ai/local/state/checkpoints/<time>--main--<head>--<hash>.md — newest record, <age> ago [reproduce: majordomus checkpoint --show]
OK records ledger.jsonl — every line is a well-formed event
OK blockers t-<id> — none open
OK records decisions.md — every entry is attributable
OK scope t-<id> — 1 touched file(s), all within scope
OK state t-<id> — exact (head <head>)
INFO mesh t-<id> — the repository declares no enabled mesh
INFO use-case 30 advisory gap(s) — not covered by an active use case, and the policy does not require it: command:init command:update command:doctor command:watch command:start command:context command:checkpoint command:handover command:check command:finish command:history command:decision command:question command:prompt command:evidence command:skills command:capture command:search command:doctrine command:plan command:version command:session command:knowledge command:adr command:usecase command:rules command:migrate command:recover command:bench command:archive [reproduce: majordomus usecase coverage]
OK use-case 0 of 30 target(s) covered — every public command the policy requires is named and run by an active use case (policy use_cases.coverage)
INFO obligation t-<id> — the task declares no obligations
INFO gate t-<id> — this repository declares no CI model at .ai/repo/ci/gates.yaml; nothing can be planned
check: 13 finding(s), 0 failing
- exit 0
- stdout_contains /0 failing/
Proč to nástroj ví
Řetězec od této stránky ke kódu: případ užití jmenuje příkazy, pravidla a tvrzení; každé pravidlo se dispatchuje z registru a každé tvrzení jmenuje test, který ho dokazuje; scénář výše provedl příkazy. Nic v tomto řetězci není text o záměru.
Pravidla, díky nimž platí
- ✕blokující Integrita předávekResolver běží a hlásí buď záznam pro tento worktree a branch, nebo jeho čistou nepřítomnost; chybně utvořený záznam se nikdy tiše nepřeskočí a záznam popisující historii, kterou tento checkout už nemá, se ohlásí.
- ✕blokující Integrita poznámkyKaždý výsledek potřebuje poznámku se sekcemi, které tento výsledek vyžaduje, a bez přepisu.
- !doporučení Kontinuita úlohyÚloha dokončená jako částečná nebo blokovaná by měla zanechat záznam předávky, ne jen sekci poznámek.
- ✕blokující Rozpočet kontextuVždy načítaná projekce zůstává v rámci svého rozpočtu řádků, každý odkaz v ní se vyřeší, neuvádí žádný počet, který zastará, a sestavený kontext se vejde do vlastního rozpočtu builderu.
Uplatněné záruky
Související případy užití
Vypočteno z toho, co sdílejí: tvrzení, pravidla, příkazy, kategorie, aplikace. Tento seznam nikdo neudržuje.
- Navažte ve správném worktree, nikdy proti cizí úlozeNajděte předávku, která patří tomuto worktree a větvi, a podívejte se, jak se záznam úlohy z jiného checkoutu ohlásí jako cizí, místo aby se tady vynucoval.
- Předat práci s otevřenou otázkou a nechat ji blokovatUzavřít úlohu do předávky, dokud je otázka nevyřešená, spustit navazující úlohu a vidět, že tatáž otázka tam přijetí stále odmítá.
- Začít relaci z vykresleného rámování, ne z vloženého přepisuVypsat prompt assety, které repozitář dodává, vykreslit jeden proti trvalému stavu a přečíst kontext, který vkládá.
- Dělat checkpointy dlouhé práce, aby zastavení stálo minuty, ne celý denZaznamenávat kompaktní postup uvnitř aktivní úlohy v intervalu profilu, aby relace, která skončí bez varování, nechala další relaci místo, kde začít.
- Přichytit agenta, který tvrdí, že je hotov, a neníJedna úloha od začátku do konce: worker vybočí z rozsahu, prohlásí, že je hotov, předá práci a je přijat teprve tehdy, když projde vlastní ověření repozitáře.
Okamžiky, na které to odpovídá