continuity
Co drží životní cyklus tohoto checkoutu: otevřená epizoda, záznam, ze kterého by příští worker pokračoval, se štítkem, jak moc mu věřit, nejnovější poznámka o postupu a co blokuje přijetí. Čteno z lokální poloviny vrstvy, kterou tento proces poskytuje workeru před sebou a nikdy nepublikuje.
Co drží životní cyklus
Otevřená epizoda, aktivní úloha, předávka a checkpoint, které se rozliší pro tento worktree a větev, každé se svým štítkem divergence, nevyřešené otázky, které odmítají dokončení, a součty záznamů. Výběr je dvouúrovňový a nikdy celorepozitářový: záznam z nesouvisejícího worktree nebo větve se nenabízí, protože zasvěcení, které je tiše o někom jiném, je horší než žádné. Absence se hlásí jako absence.
- query
- behaviorally_verified
- vyžaduje se měření výkonu
- cache process (max_entries=2, ttl_seconds=2)
- Nástroj MCP majordomus_continuity
- zdroj MCP {"name": "continuity", "uri": "majordomus://continuity"}
Žádné parametry.
Vyzkoušejte
Port je ten, který server zalogoval; 8741 je ten, o který žádá jako první. Hodnoty jsou první příklad operace.
curl -s "http://127.0.0.1:8741/api/v1/continuity"
Testováno v apps/majordomus-cli/tests/http_serve.rs, který přehrává routu s těmito hodnotami proti serveru na skutečném socketu.
Odpovědi
| status | tělo | význam |
| 200 |
Kontinuita |
Co lifecycle drží: výsledek. |
| 400 |
ErrorBody |
invalid_input: Vstup neodpovídá schématu: parametr špatného typu, neznámý parametr nebo hodnota, kterou schopnost odmítne. |
| 404 |
ErrorBody |
not_found: Vstup pojmenovává něco, co repozitář nemá. |
| 500 |
ErrorBody |
internal: Schopnost selhala z vlastního důvodu; zpráva ho pojmenovává. |
| výchozí |
ErrorBody |
Jakékoli jiné selhání, které transport hlásí: 405 method_not_allowed pro jinou metodu na této cestě, 400 invalid_input pro tělo, které není objektem JSON. |
Identita tohoto zařízení a jeho štítek
Zařízení, které publikovaná předávka jmenuje: klíč uzlu meshe (vytvořený, když ho toto zařízení nemá, v adresáři stavu uživatele a nikdy v repozitáři), jeho id uzlu, jeho veřejný klíč — to, co seznam důvěry přijímá — a štítek, který čte člověk. Se štítkem zařízení přejmenuje; klíč a každý podpis, který vytvořil, zůstávají beze změny.
- command
- experimentální
- měření výkonu prominuto: destruktivní
- cache vypnuta
- nástroj MCP majordomus_continuity_device
- $ continuity device
Tělo požadavku — DeviceInput, JSON
příklad default
Vyzkoušejte
Port je ten, který server zalogoval; 8741 je ten, o který žádá jako první. Hodnoty jsou první příklad operace.
curl -s -X POST "http://127.0.0.1:8741/api/v1/continuity/device" -H "content-type: application/json" -d '{}'Testováno v apps/majordomus-cli/tests/http_serve.rs, který přehrává routu s těmito hodnotami proti serveru na skutečném socketu.
Odpovědi
| status | tělo | význam |
| 200 |
DeviceView |
Identita tohoto zařízení a jeho štítek: výsledek. |
| 400 |
ErrorBody |
invalid_input: Vstup neodpovídá schématu: parametr špatného typu, neznámý parametr nebo hodnota, kterou schopnost odmítne. |
| 404 |
ErrorBody |
not_found: Vstup pojmenovává něco, co repozitář nemá. |
| 422 |
ErrorBody |
refused: Příkaz byl srozumitelný a byl odmítnut z důvodu, který uvádí zpráva. |
| 500 |
ErrorBody |
internal: Schopnost selhala z vlastního důvodu; zpráva ho pojmenovává. |
| výchozí |
ErrorBody |
Jakékoli jiné selhání, které transport hlásí: 405 method_not_allowed pro jinou metodu na této cestě, 400 invalid_input pro tělo, které není objektem JSON. |
Zda a jak lze publikovanou předávku zde obnovit
Nic nezapisuje. Vybere záznam (pojmenovaný, nebo jedinou předávku jiného zařízení, kterou tento checkout neobnovil, nejdřív na této větvi) a rozhodne: je jeho podepisovatel důvěryhodný, rozchází se se záznamem, na kterém tento checkout stojí, drží lokální zdroj commit a větev, proti nimž byl napsán, byl napsán v nečistém stromě, jehož necommitované soubory se do commitu nikdy nedostaly, může na druhém zařízení ještě někdo pracovat. Verdikt je ready, ready_with_warnings, requires_source_update, conflict, choose_record, nothing_to_resume nebo refused, s blokátory, varováními, příkazy, které je řeší (doporučené, nikdy nespuštěné), tím, co obnovení vrátí, a tím, co si tento checkout přepočítá sám.
- query
- experimentální
- vyžaduje se měření výkonu
- cache vypnuta
- Nástroj MCP majordomus_continuity_plan
- $ continuity plan
Parametry dotazu
| název | typ | povinné | popis | příklady |
| record |
string |
ne |
Id záznamu, nebo jeho jednoznačný prefix. |
by-prefix: "0000" |
Vyzkoušejte
Port je ten, který server zalogoval; 8741 je ten, o který žádá jako první. Hodnoty jsou první příklad operace.
curl -s "http://127.0.0.1:8741/api/v1/continuity/plan?record=0000"
Testováno v apps/majordomus-cli/tests/http_serve.rs, který přehrává routu s těmito hodnotami proti serveru na skutečném socketu.
Odpovědi
| status | tělo | význam |
| 200 |
ResumePlan |
Zda a jak lze publikovanou předávku zde obnovit: výsledek. |
| 400 |
ErrorBody |
invalid_input: Vstup neodpovídá schématu: parametr špatného typu, neznámý parametr nebo hodnota, kterou schopnost odmítne. |
| 404 |
ErrorBody |
not_found: Vstup pojmenovává něco, co repozitář nemá. |
| 500 |
ErrorBody |
internal: Schopnost selhala z vlastního důvodu; zpráva ho pojmenovává. |
| výchozí |
ErrorBody |
Jakékoli jiné selhání, které transport hlásí: 405 method_not_allowed pro jinou metodu na této cestě, 400 invalid_input pro tělo, které není objektem JSON. |
Publikovat nejnovější předávku tohoto checkoutu pro jiný stroj
Promítne nejnovější záznam předávky do přenosného záznamu — tělo předávky, identitu repozitáře a zařízení, epizodu, zdrojový stav (branch, commit a u špinavého stromu změněné cesty a otisk, nikdy jejich obsah), úlohu a její rozhodnutí a záznam, který dále vede — odmítne ho, pokud některá hodnota nese přihlašovací údaj, tajnou hodnotu prostředí nebo cestu na disku tohoto stroje, podepíše ho meshovým klíčem zařízení a přidá do refs/majordomus/continuity. Nedotýká se žádné branche, indexu ani pracovního stromu a nepoužívá síť: publikuje ho až sync.
- command
- experimentální
- měření výkonu prominuto: destruktivní
- cache vypnuta
- Nástroj MCP majordomus_continuity_publish
- $ continuity publish
příklad default
Vyzkoušejte
Port je ten, který server zalogoval; 8741 je ten, o který žádá jako první. Hodnoty jsou první příklad operace.
curl -s -X POST "http://127.0.0.1:8741/api/v1/continuity/publish" -H "content-type: application/json" -d '{}'Testováno v apps/majordomus-cli/tests/http_serve.rs, který přehrává routu s těmito hodnotami proti serveru na skutečném socketu.
Odpovědi
| status | tělo | význam |
| 200 |
Publikováno |
Publikovat nejnovější předávku tohoto checkoutu pro jiný stroj: výsledek. |
| 400 |
ErrorBody |
invalid_input: Vstup neodpovídá schématu: parametr špatného typu, neznámý parametr nebo hodnota, kterou schopnost odmítne. |
| 404 |
ErrorBody |
not_found: Vstup pojmenovává něco, co repozitář nemá. |
| 422 |
ErrorBody |
refused: Příkaz byl srozumitelný a byl odmítnut z důvodu, který uvádí zpráva. |
| 500 |
ErrorBody |
internal: Schopnost selhala z vlastního důvodu; zpráva ho pojmenovává. |
| výchozí |
ErrorBody |
Jakékoli jiné selhání, které transport hlásí: 405 method_not_allowed pro jinou metodu na této cestě, 400 invalid_input pro tělo, které není objektem JSON. |
Každá publikovaná předávka, kterou lokální úložiště připouští
Každý záznam refs/majordomus/continuity, který prošel přijetím — schéma, id, podpis, identita repozitáře, přenositelnost — po řádcích, s heady každého řádku, a diagnostika pro každý odmítnutý soubor a každou vadu linie.
- query
- experimentální
- vyžaduje se měření výkonu
- cache vypnuta
- nástroj MCP majordomus_continuity_records
- $ continuity records
Žádné parametry.
Vyzkoušejte
Port je ten, který server zalogoval; 8741 je ten, o který žádá jako první. Hodnoty jsou první příklad operace.
curl -s "http://127.0.0.1:8741/api/v1/continuity/records"
Testováno v apps/majordomus-cli/tests/http_serve.rs, který přehrává routu s těmito hodnotami proti serveru na skutečném socketu.
Odpovědi
| status | tělo | význam |
| 200 |
Záznamy |
Každá publikovaná předávka, kterou lokální úložiště přijímá: výsledek. |
| 400 |
ErrorBody |
invalid_input: Vstup neodpovídá schématu: parametr špatného typu, neznámý parametr nebo hodnota, kterou schopnost odmítne. |
| 404 |
ErrorBody |
not_found: Vstup pojmenovává něco, co repozitář nemá. |
| 500 |
ErrorBody |
internal: Schopnost selhala z vlastního důvodu; zpráva ho pojmenovává. |
| výchozí |
ErrorBody |
Jakékoli jiné selhání, které transport hlásí: 405 method_not_allowed pro jinou metodu na této cestě, 400 invalid_input pro tělo, které není objektem JSON. |
Pokračovat v předávce, kterou publikoval jiný stroj
Plánuje přesně jako continuity.plan a jedná jen u plánu ready nebo ready_with_warnings: zapíše předávku do předávek tohoto checkoutu (kde ji najde handover --resolve a briefing relace), připojí rozhodnutí úlohy do logu rozhodnutí vždy jednou a zaznamená záznam jako ten, který tento checkout dále vede, takže jeho příští publikace prodlouží stejnou linii. Nespouští nic, co záznam říká; startovní příkaz úlohy se vrací jako doporučení.
- command
- experimentální
- měření výkonu prominuto: destruktivní
- cache vypnuta
- nástroj MCP majordomus_continuity_resume
- $ continuity resume
Tělo požadavku — RecordInput, JSON
příklad by-prefix
příklad default
Vyzkoušejte
Port je ten, který server zalogoval; 8741 je ten, o který žádá jako první. Hodnoty jsou první příklad operace.
curl -s -X POST "http://127.0.0.1:8741/api/v1/continuity/resume" -H "content-type: application/json" -d '{"record":"0000"}'Testováno v apps/majordomus-cli/tests/http_serve.rs, který přehrává routu s těmito hodnotami proti serveru na skutečném socketu.
Odpovědi
| status | tělo | význam |
| 200 |
Obnoveno |
Obnovit předávku, kterou publikoval jiný stroj: výsledek. |
| 400 |
ErrorBody |
invalid_input: Vstup neodpovídá schématu: parametr špatného typu, neznámý parametr nebo hodnota, kterou schopnost odmítne. |
| 404 |
ErrorBody |
not_found: Vstup pojmenovává něco, co repozitář nemá. |
| 422 |
ErrorBody |
refused: Příkaz byl srozumitelný a byl odmítnut z důvodu, který uvádí zpráva. |
| 500 |
ErrorBody |
internal: Schopnost selhala z vlastního důvodu; zpráva ho pojmenovává. |
| výchozí |
ErrorBody |
Jakékoli jiné selhání, které transport hlásí: 405 method_not_allowed pro jinou metodu na této cestě, 400 invalid_input pro tělo, které není objektem JSON. |
Kde toto zařízení stojí v práci publikované ze všech zařízení
Identita tohoto zařízení a repozitáře, záznam, na kterém tento checkout na své větvi pokračuje, jak stojí lokální úložiště kontinuity vůči úložišti remotu (jen z refů, bez sítě), každá linie práce s jejími hlavami, předávky publikované jinými zařízeními, které by tento checkout mohl obnovit, a každý odmítnutý záznam nebo přerušený původ jako diagnostika. Rozešlá linie — stejná práce pokračovaná dvakrát — se hlásí; oddělené linie práce na oddělených zařízeních nejsou konflikt.
- query
- experimentální
- vyžaduje se měření výkonu
- cache vypnuta
- Nástroj MCP majordomus_continuity_status
- $ continuity status
Žádné parametry.
Vyzkoušejte
Port je ten, který server zalogoval; 8741 je ten, o který žádá jako první. Hodnoty jsou první příklad operace.
curl -s "http://127.0.0.1:8741/api/v1/continuity/status"
Testováno v apps/majordomus-cli/tests/http_serve.rs, který přehrává routu s těmito hodnotami proti serveru na skutečném socketu.
Odpovědi
| status | tělo | význam |
| 200 |
Stav |
Kde toto zařízení stojí v práci zveřejněné ze všech zařízení: výsledek. |
| 400 |
ErrorBody |
invalid_input: Vstup neodpovídá schématu: parametr špatného typu, neznámý parametr nebo hodnota, kterou schopnost odmítne. |
| 404 |
ErrorBody |
not_found: Vstup pojmenovává něco, co repozitář nemá. |
| 500 |
ErrorBody |
internal: Schopnost selhala z vlastního důvodu; zpráva ho pojmenovává. |
| výchozí |
ErrorBody |
Jakékoli jiné selhání, které transport hlásí: 405 method_not_allowed pro jinou metodu na této cestě, 400 invalid_input pro tělo, které není objektem JSON. |
Vyměňovat publikované předávky s git remote
Stáhne refs/majordomus/continuity remotu, sloučí ho do lokálního úložiště jako sjednocení obou (záznamy jsou adresované obsahem, takže jméno držící jiné bajty se ohlásí a lokální kopie se ponechá) a výsledek pushne, nikdy vynuceně. Každý řádek hlásí jako equal, remote_newer, local_newer, diverged, local_only nebo remote_only. Nedosažitelný remote nic nemění a čekající nechá čekat.
- command
- experimentální
- měření výkonu prominuto: external_dependency
- cache vypnuta
- Nástroj MCP majordomus_continuity_sync
- $ continuity sync
Tělo požadavku — SyncInput, JSON
příklad default
Vyzkoušejte
Port je ten, který server zalogoval; 8741 je ten, o který žádá jako první. Hodnoty jsou první příklad operace.
curl -s -X POST "http://127.0.0.1:8741/api/v1/continuity/sync" -H "content-type: application/json" -d '{}'Testováno v apps/majordomus-cli/tests/http_serve.rs, který přehrává routu s těmito hodnotami proti serveru na skutečném socketu.
Odpovědi
| status | tělo | význam |
| 200 |
Synchronizováno |
Výměna publikovaných předávek se vzdáleným gitem: výsledek. |
| 400 |
ErrorBody |
invalid_input: Vstup neodpovídá schématu: parametr špatného typu, neznámý parametr nebo hodnota, kterou schopnost odmítne. |
| 404 |
ErrorBody |
not_found: Vstup pojmenovává něco, co repozitář nemá. |
| 422 |
ErrorBody |
refused: Příkaz byl srozumitelný a byl odmítnut z důvodu, který uvádí zpráva. |
| 500 |
ErrorBody |
internal: Schopnost selhala z vlastního důvodu; zpráva ho pojmenovává. |
| výchozí |
ErrorBody |
Jakékoli jiné selhání, které transport hlásí: 405 method_not_allowed pro jinou metodu na této cestě, 400 invalid_input pro tělo, které není objektem JSON. |
Schémata
Komponenty, které používají jen operace tohoto tagu. Každý řádek je pole daného typu, jeho doc komentář je popis; typ vlastněný jinou stránkou na ni odkazuje.
Komponenta
"handover" | "intent" | "issue" | "decisions" | "next_action" | "lineage" | "provenance" | "worktree" | "repository_id" | "episode" | "working_context" | "source_state"
Co obnovení zapíše, přepočítá nebo ponechá.
handoverPředávka, do předávek tohoto checkoutu.intentNázev a rozsah úlohy, nabídnuté jako start ke spuštění.issueÚkol a milník.decisionsRozhodnutí zaznamenaná úlohou, do protokolu rozhodnutí tohoto checkoutu.next_actionDalší akce předávky.lineageZáznam, na který tento checkout navazuje: rodič jeho příští publikace.provenanceKdo to publikoval, kde, kdy, z jakého stavu zdroje.worktreeCesta tohoto checkoutu, přepočtená, ne zkopírovaná.repository_idId repozitáře, které shell porovnává, přepočtené.episodeEpizoda, zde otevřená hooky poskytovatele.working_contextPracovní kontext, zde zkompilovaný z obnovených záznamů a tohoto gitu.source_stateStav zdroje, z gitu tohoto checkoutu.
Používá ResumePlan
Kontinuita
object
Co drží životní cyklus tohoto checkoutu.
| vlastnost | typ | povinné | popis |
| přítomno |
boolean |
ano |
Zda životní cyklus tohoto checkoutu někdy běžel: řádek knihy, úloha, epizoda nebo záznam. V čerstvém klonu je nepravda, což není závada.
Nejde o to, že „adresář existuje“. Několik věcí ten adresář vytvoří dřív, než se do něj cokoli zapíše, takže čtenář, který by jeho přítomnost bral jako důkaz, by se dozvěděl, že životní cyklus proběhl v checkoutu, kde nikdy neproběhl. |
| worktree |
string |
ano |
Worktree, o kterém tato odpověď je. Každý níže uvedený výběr je jím omezen. |
| větev |
string |
ano |
Branch, nebo DETACHED. |
| head |
string |
ne |
Commit, na kterém tento checkout stojí. |
| working_tree |
string |
ne |
clean nebo dirty. |
| session |
OpenSession | null → OpenSession |
ne |
Otevřená epizoda, nebo None. |
| úloha |
ActiveTask | null → ActiveTask |
ne |
Aktivní úloha, nebo None. |
| handover |
Record | null → Record |
ne |
Záznam, z něhož by další pracovník pokračoval, nebo None, když se zde nic nevyřeší. |
| kontrolní bod |
Record | null → Record |
ne |
Nejnovější poznámka o postupu pro tento worktree a větev, nebo None. |
| blockers |
array of string |
ne |
Nevyřešené otázky na této větvi. Každá odmítá finish --outcome completed, ať ji otevřela kterákoli úloha. |
| součty |
mapa celých čísel (uint) |
ano |
Kolik záznamů každého druhu tento checkout drží, proti stropům politiky. |
| zjištění |
array of string |
ne |
Co by čtenář měl vědět, než něčemu z výše uvedeného uvěří: rozcházející se záznam, cizí otevřená relace, poškozený soubor, který byl přeskočen. Prázdné je dobrý případ. |
Používá continuity.state
Zařízení
object
Zařízení, na kterém byl záznam zapsán: id klíče uzlu meshe a štítek, který nese jeho soubor identity. Štítek je prezentace; id uzlu je identita.
| vlastnost | typ | povinné | popis |
| uzel |
string |
ano |
Id uzlu: prvních 32 hex znaků SHA-256 veřejného klíče Ed25519 zařízení. |
| popisek |
string |
ano |
Zobrazovaný popisek souboru identity zařízení (macbook-pro), nebo prvních osm hex znaků jeho id uzlu, když žádný nemá. |
Používá DeviceView RecordView Status
DeviceInput
object
Vstup continuity.device.
| vlastnost | typ | povinné | popis |
| popisek |
string | null |
ne |
Označení pro toto zařízení (macbook-pro, mac-mini): písmena, číslice, ., _, -. Klíč, a tedy identita, se nemění. |
Používá continuity.device
DeviceView
object
Odpověď continuity device.
| vlastnost | typ | povinné | popis |
| device |
Device → Device |
ano |
Id a štítek uzlu. |
| public_key |
string |
ano |
Veřejný klíč Ed25519 (hex): to, co jmenuje seznam důvěry. |
Používá continuity.device
LineState
"linear" | "diverged"
Zda řádek má jeden aktuální záznam, nebo několik.
linearJeden head: řada z něj pokračuje.divergedVíce než jeden head: stejná práce pokračovala na více místech.
Používá LineView
LineSync
"equal" | "remote_newer" | "local_newer" | "diverged" | "local_only" | "remote_only"
Jak se k sobě mají lokální úložiště a remote, na jeden řádek.
equalOba drží tytéž hlavy.remote_newerRemote drží záznamy, které pokračují lokální heady: fetch je přinese.local_newerLokální úložiště drží záznamy, které navazují na remote: publikace je odešle.divergedKaždý drží pokračování, které druhému chybí: po merge má linie dvě hlavy.local_onlyŘádek drží jen lokální úložiště.remote_onlyLinii drží jen remote.
Používá LineSyncView
LineSyncView
object
Porovnání jednoho řádku při synchronizaci.
| vlastnost | typ | povinné | popis |
| řádek |
string |
ano |
Řádek. |
| vztah |
LineSync → LineSync |
ano |
Jak stály lokální úložiště a vzdálené před merge. |
| heads |
array of string |
ano |
Hlavy řady po mergi. |
Používá Synced
LineView
object
Linie práce, jak ji ukazuje status.
| vlastnost | typ | povinné | popis |
| id |
string |
ano |
Id řádku. |
| state |
LineState → LineState |
ano |
Lineární, nebo rozbíhající se. |
| records |
integer (uint) |
ano |
Kolik záznamů drží. |
| heads |
pole RecordView → RecordView |
ano |
Jeho hlavy. |
Používá Records Status
Shoda
"same_worktree_same_branch" | "same_branch"
Která úroveň pravidla rozřešení se shodovala. Třetí úroveň záměrně není: záznam z nesouvisejícího worktree nebo větve se nikdy nenabízí.
same_worktree_same_branchStejný repozitář, stejné worktree, stejná větev.same_branchStejný repozitář, stejná větev, jiné její worktree.
Používá Record
OpenSession
object
Otevřená epizoda, na kterou tento checkout ukazuje, pokud nějaká je.
Jedna epizoda provádění patří jedné relaci poskytovatele a v jednom checkoutu jich může být otevřeno několik současně — dvě okna téhož poskytovatele jsou dva workeři. To, co se čte zde, je state/session-current.yaml, ukazatel na epizodu tohoto checkoutu; worker, který zná svou vlastní relaci poskytovatele, místo toho vyřeší svou vlastní epizodu, což dělá mj_session_here_file v lib/common.sh a co označuje každý řádek ledgeru.
| vlastnost | typ | povinné | popis |
| session_id |
string |
ano |
Id epizody. |
| started_at |
string |
ano |
Kdy se otevřelo. |
| vlastník |
string |
ne |
Kdo to otevřel. |
| worker |
string |
ne |
Identita workera, když byla dodána. Nikdy se neodvozuje. |
| provider |
string |
ne |
Poskytovatel, jehož událost ji otevřela, pokud nějaký. |
| provider_session |
string |
ne |
Vlastní identita relace tohoto poskytovatele — řetězec, kterým archiv promptů označuje záznamy téhož pracovníka, a jméno, podle něhož je tato epizoda klíčována. Prázdné u ručně otevřené epizody, což je jediná epizoda, kterou nevlastní žádná relace poskytovatele. |
| větev |
string |
ne |
Větev, na které se otevřela. |
| start_head |
string |
ne |
Commit, na kterém se otevřela. |
| cizí |
boolean |
ano |
True, když zdejší otevřený záznam patří jinému checkoutu. Takový záznam se hlásí a nikdy se nepovažuje za epizodu tohoto checkoutu. |
Používá Continuity
PlanItem
object
Jedna věc, kterou plán říká sám o sobě.
| vlastnost | typ | povinné | popis |
| kód |
string |
ano |
Stabilní kód: source_incomplete, line_diverged, origin_untrusted, … |
| zpráva |
string |
ano |
Co to znamená zde. |
Používá ResumePlan
PlanStatus
"ready" | "ready_with_warnings" | "requires_source_update" | "conflict" | "choose_record" | "nothing_to_resume" | "refused"
Verdikt plánu obnovení.
readyObnovení obnoví vše; nic nevyžaduje pozornost.ready_with_warningsObnovení obnoví vše; varování říkají, co není tak, jak to bylo v původu.requires_source_updateLokální zdroj neobsahuje to, vůči čemu byl záznam napsán: nejdřív aktualizujte git, jak říkají akce.conflictStejná práce pokračovala dvakrát, nebo se zdrojové historie rozešly: vybírá člověk.choose_recordMohlo se myslet více záznamů: jeden zvolte pomocí --record.nothing_to_resumeNení co obnovit.refusedZáznam není takový, z něhož může tento checkout obnovit (nedůvěryhodný podepisovatel).
Používá ResumePlan
Pozice
object
Záznam, na který tento checkout navazuje na jedné větvi.
| vlastnost | typ | povinné | popis |
| řádek |
string |
ano |
Řádek. |
| record |
string |
ano |
Záznam: rodič příští publikace tohoto checkoutu na větvi. |
| přes |
Via → Via |
ano |
Publikováno zde nebo obnoveno zde. |
| v |
string |
ano |
Kdy, podle hodin tohoto stroje. |
Používá Resumed Status
PublishInput
object
Vstup continuity.publish.
| vlastnost | typ | povinné | popis |
| handover |
string | null |
ne |
Název souboru záznamu předávky v .ai/local/state/handovers/; když chybí, nejnovější. |
| issue |
string | null |
ne |
Úkol, ke kterému práce patří (#184, I0042). |
| milestone |
string | null |
ne |
Milník, do něhož patří. |
Používá continuity.publish
Publikováno
object
Odpověď continuity publish.
| vlastnost | typ | povinné | popis |
| record |
RecordView → RecordView |
ano |
Záznam. |
| zapsáno |
boolean |
ano |
False, když táž předávka na tomtéž zdrojovém stavu už byla záznamem, na němž tento checkout stojí: nic nového se nezapsalo. |
| tip |
string |
ano |
Commit lokální reference. |
| handover |
string |
ano |
Záznam předávky, ze kterého byl přečten, relativně k checkoutu. |
| next |
array of string |
ano |
Co bude dál: záznam se na jiný stroj dostane jen přes synchronizaci. |
Používá continuity.publish
Záznam
object
Jeden trvalý záznam lokální poloviny, tolik z ní, kolik čtenář potřebuje, aby rozhodl, zda soubor otevřít.
| vlastnost | typ | povinné | popis |
| path |
string |
ano |
Cesta relativní k repozitáři. Tělo je na té cestě; zde se nekopíruje. |
| created_at |
string |
ano |
Kdy podle záznamu vznikl. |
| task_id |
string |
ano |
Úloha, do které patří, nebo none. |
| větev |
string |
ano |
Branch, na které byl zapsán. |
| head |
string |
ano |
Commit, při kterém byl záznam zapsán. |
| working_tree |
string |
ano |
Zda byl pracovní strom tehdy čistý, nebo špinavý. |
| shoduje se |
Match → Match |
ano |
Která úroveň pravidla rozlišení se shodovala. |
| divergence |
Divergence → Divergence |
ano |
Jak daleko je jeho commit od tohoto. |
| čerstvost |
Čerstvost → Freshness |
ano |
Jak je staré, posuzováno vůči session.freshness. Nezávislé na divergence: záznam je běžně advanced a stale zároveň a právě tuto dvojici čtenář nesmí smazat do „důvěryhodné“. |
| age_minutes |
integer | null |
ne |
Její stáří v celých minutách, má-li časové razítko, které se naparsuje. |
| freshness_reason |
string |
ano |
Proč bylo posouzeno právě tak, jednou frází. Nikdy prázdné: verdikt, se kterým čtenář nemůže nic dělat, je selhání, které se tento subsystém snaží napravit. |
| next_action |
string |
ne |
Sekce, podle které jedná pokračující pracovník, pokud ji záznam má a je stále aktuální. Next Action předávky; prázdné pro záznam bez sekcí a záměrně prázdné pro záznam, který je stale nebo invalid — viz next_action_withheld. |
| next_action_withheld |
string |
ne |
Proč je next_action prázdné, ačkoli ho záznam má. Nastavuje se jen tehdy, když bylo zadrženo, nikdy když záznam takovou sekci prostě nenese, aby čtenář odlišil „není co dělat“ od „co bylo třeba dělat, je šest dní staré“. |
Používá Continuity
RecordInput
object
Vstup continuity.plan a continuity.resume: který záznam, podle id nebo jeho předpony. Pokud chybí, jediná předávka, kterou publikovalo jiné zařízení a tento checkout ji neobnovil, a to na této větvi, pokud tam nějaká je.
| vlastnost | typ | povinné | popis |
| record |
string | null |
ne |
Id záznamu, nebo jeho jednoznačný prefix. |
Používá continuity.resume
RecordView
object
Jeden záznam tak, jak ho ukazuje každý povrch.
| vlastnost | typ | povinné | popis |
| id |
string |
ano |
Id záznamu. |
| řádek |
string |
ano |
Jeho řádek. |
| rodič |
string | null |
ne |
Záznam, na který navazuje. |
| device |
Device → Device |
ano |
Zařízení, které ji publikovalo. |
| this_device |
boolean |
ano |
Zda je toto zařízení tím zařízením. |
| důvěra |
Trust → Trust |
ano |
Zda je jeho podepisovatel zde důvěryhodný. |
| session |
string | null |
ne |
Epizoda, z níž byl publikován. |
| větev |
string | null |
ne |
Branch, na které byl zapsán. |
| head |
string | null |
ne |
Commit, při kterém byl záznam zapsán. |
| working_tree |
WorkingTree → WorkingTree |
ano |
Čisté nebo špinavé v místě původu. |
| changed_total |
integer (uint) |
ano |
Kolik cest se při původu lišilo od HEAD. |
| published_at |
string |
ano |
Kdy bylo publikováno, podle hodin vydavatele. |
| age_minutes |
integer | null |
ne |
Minuty od té doby podle hodin tohoto stroje; chybí, když čtení kterýchkoli hodin nelze použít. |
| úloha |
string | null |
ne |
Titulek úlohy: záměr. |
| issue |
string | null |
ne |
Úkol. |
| cíl |
string |
ne |
# Objective předávky, první řádek. |
Používá LineView Published Records ResumePlan Status Synced
Záznamy
object
Odpověď continuity records.
| vlastnost | typ | povinné | popis |
| records |
pole RecordView → RecordView |
ano |
Každý přijatý záznam, podle řádku a pak podle id. |
| řádky |
pole LineView → LineView |
ano |
Každý řádek. |
| diagnostika |
pole Diagnostic → Diagnostic |
ano |
Odmítnuté soubory a zjištění o původu. |
Používá continuity.records
Vztah
"equal" | "newer" | "older" | "diverged" | "independent"
Čím je jeden záznam pro druhý.
equalTentýž záznam.newerDruhý sestupuje z prvního: druhý je novější.olderPrvní pochází z druhého: druhý je starší.divergedStejná linie, ani jedna nepochází z druhé: na práci se pokračovalo dvakrát.independentRůzné linie: samostatná práce.
Používá ResumePlan
ResumePlan
object
Odpověď continuity plan a plán, podle kterého continuity resume jedná.
| vlastnost | typ | povinné | popis |
| status |
PlanStatus → PlanStatus |
ano |
Verdikt. |
| record |
RecordView | null → RecordView |
ne |
Záznam, kterého se týká. |
| candidates |
pole RecordView → RecordView |
ne |
Když záznam není rozhodnut: záznamy, které mohly být myšleny. |
| zdroj |
SourceCheck | null → SourceCheck |
ne |
Kontrola zdroje. |
| původ |
Relation | null → Relation |
ne |
Jaký je záznam vůči záznamu, na kterém tento checkout stojí, pokud na nějakém stojí. |
| úloha |
TaskRef | null → TaskRef |
ne |
Úloha tak, jak byla publikována: záměr. |
| milestone |
string | null |
ne |
Milník. |
| rozhodnutí |
array of string |
ne |
Nadpisy rozhodnutí, která obnovení nese. |
| cíl |
string |
ne |
# Objective předávky. |
| current_state |
string |
ne |
# Current State předávky. |
| next_action |
string |
ne |
# Next Action předávky. |
| blockers |
pole PlanItem → PlanItem |
ano |
Co zastavuje obnovení. |
| varování |
pole PlanItem → PlanItem |
ano |
Co obnovení přejde a člověk by to měl vědět. |
| akce |
array of string |
ano |
Příkazy, které vyřeší blokátory nebo navážou na obnovení. Doporučené, nikdy nespouštěné: nic, co záznam říká, se neprovádí. |
| obnovuje |
array of Component → Component |
ano |
Co obnovení zapíše do tohoto checkoutu. |
| přepočítá |
array of Component → Component |
ano |
Co si tento checkout vypočítá sám místo kopírování. |
Používá continuity.plan Resumed
Obnoveno
object
Odpověď continuity resume.
| vlastnost | typ | povinné | popis |
| obnoveno |
boolean |
ano |
Zda bylo něco obnoveno. False, když plán pokračování nepřipustil. |
| plan |
ResumePlan → ResumePlan |
ano |
Plán, podle kterého jednal nebo který odmítl. |
| handover |
string | null |
ne |
Záznam předávky zapsaný do tohoto checkoutu, relativně k němu. |
| decisions_carried |
integer (uint) |
ano |
Kolik rozhodnutí bylo připojeno k logu tohoto checkoutu. |
| pozice |
Position | null → Position |
ne |
Záznam, na kterém tento checkout nyní stojí. |
Používá continuity.resume
SourceCheck
object
Zdrojová polovina plánu.
| vlastnost | typ | povinné | popis |
| expected_branch |
string | null |
ne |
Větev, na které byl záznam zapsán. |
| expected_head |
string | null |
ne |
Commit, při kterém byl záznam zapsán. |
| local_branch |
string | null |
ne |
Větev tohoto checkoutu. |
| local_head |
string | null |
ne |
Commit tohoto checkoutu. |
| vztah |
SourceRelation → SourceRelation |
ano |
Jak si stojí. |
| origin_dirty |
boolean |
ano |
Zda byl strom původu špinavý. |
| origin_changed |
array of string |
ne |
Cesty, které byly u původu necommitnuté, jak jsou vypsány. |
| origin_changed_total |
integer (uint) |
ano |
Kolik jich bylo nepotvrzených. |
| local_dirty |
boolean |
ano |
Zda je strom tohoto checkoutu špinavý. |
| same_uncommitted_work |
boolean | null |
ne |
Zda tento checkout drží právě tu necommitnutou práci, kterou držel původ (jejich otisky se shodují); chybí, je-li kterákoli strana čistá. |
Používá ResumePlan
SourceRelation
"exact" | "local_ahead" | "local_behind" | "diverged" | "head_missing" | "branch_differs" | "unknown"
Jak se lokální zdroj staví k tomu záznamovému.
exactStejná větev, stejný commit.local_aheadStejná větev; lokální větev má commity, které záznam neviděl.local_behindStejná větev; commit záznamu je před lokálním.divergedStejná branch; ani jeden commit neobsahuje druhý.head_missingCommit záznamu není v tomto klonu.branch_differsTento checkout je na jiné větvi.unknownZáznam nenese žádný commit, nebo git neuměl odpovědět.
Používá SourceCheck
Stav
object
Odpověď continuity status.
| vlastnost | typ | povinné | popis |
| repozitář |
string |
ano |
Identita tohoto repozitáře (32 hex), stejná v každém klonu. |
| device |
Device → Device |
ano |
Toto zařízení. |
| větev |
string |
ano |
Branch, na kterém tento checkout je, nebo DETACHED. |
| head |
string | null |
ne |
Commit, na kterém je. |
| working_tree |
WorkingTree → WorkingTree |
ano |
Čistý, nebo špinavý. |
| pozice |
Position | null → Position |
ne |
Záznam, na kterém tento checkout pokračuje na své větvi. |
| úložiště |
StoreView → StoreView |
ano |
Úložiště. |
| last_sync |
SyncNote | null → SyncNote |
ne |
Poslední synchronizace, jak ji tento checkout zaznamenal. |
| řádky |
pole LineView → LineView |
ano |
Každý řádek podle id. |
| obnovitelné |
pole RecordView → RecordView |
ano |
Co publikovala jiná zařízení a tento checkout by mohl obnovit, od nejnovějšího. |
| diagnostika |
pole Diagnostic → Diagnostic |
ano |
Odmítnuté soubory, přerušený původ, rozcházející se řádky. |
| next |
array of string |
ne |
Příkaz ke spuštění jako další, když je zřejmý. |
Používá continuity.status
StoreView
object
Obě úložiště jako refy.
| vlastnost | typ | povinné | popis |
| reference |
string |
ano |
Lokální ref. |
| tip |
string | null |
ne |
Jeho commit. |
| remote |
string | null |
ne |
Remote, který používá sync. |
| remote_tip |
string | null |
ne |
Commit, který byl naposledy z něj stažen nebo do něj pushnut. |
| sync |
SyncState → SyncState |
ano |
Jak si stojí. |
| records |
integer (uint) |
ano |
Přijaté záznamy. |
| odmítnuto |
integer (uint) |
ano |
Odmítnuté soubory. |
Používá Status Synced
SyncAction
"none" | "fetched" | "published" | "exchanged" | "unreachable" | "no_remote"
Co synchronizace udělala.
noneNení co přesouvat: oba držely tytéž záznamy.fetchedZáznamy byly staženy.publishedZáznamy byly zveřejněny.exchangedBoth.unreachableRemote nebyl dosažitelný; lokálně se nic nezměnilo a to, co čeká, zůstává čekat.no_remoteNení nakonfigurován žádný remote.
Používá Synced
SyncInput
object
Vstup continuity.sync.
| vlastnost | typ | povinné | popis |
| remote |
string | null |
ne |
Git remote; remote aktuální větve, jinak origin, když chybí. |
Používá continuity.sync
SyncNote
object
Co udělala poslední synchronizace, aby ji pozdější status mohl hlásit bez sítě.
| vlastnost | typ | povinné | popis |
| remote |
string |
ano |
Remote. |
| v |
string |
ano |
Kdy, podle hodin tohoto stroje. |
| výsledek |
string |
ano |
ok, nebo unreachable, když se remote nedalo zeptat. |
| detail |
string | null |
ne |
Co git řekl, když to nebylo ok. |
Používá Status
SyncState
"no_remote" | "never_synced" | "in_sync" | "pending" | "behind" | "diverged" | "empty"
Jak lokální úložiště stojí vůči vzdálenému, jen z refů — bez sítě.
no_remoteNení nastaven žádný remote: úložiště je lokální a to je platná odpověď.never_syncedNikdy nesynchronizováno se vzdáleným repozitářem.in_syncObojí drží stejné záznamy.pendingToto úložiště drží záznamy, které remote nepřijal: sync je publikuje.behindPoslední fetch přinesl záznamy, které ještě nejsou sloučeny.divergedObojí výše.emptyÚložiště je prázdné a nikdy nebylo nic staženo.
Používá StoreView
Synchronizováno
object
Odpověď continuity sync.
| vlastnost | typ | povinné | popis |
| remote |
string | null |
ne |
Remote, pokud nějaký je. |
| akce |
SyncAction → SyncAction |
ano |
Co se stalo. |
| staženo |
integer (uint) |
ano |
Záznamy, které lokální úložiště získalo. |
| publikováno |
integer (uint) |
ano |
Zaznamenává záznamy, které remote získal. |
| řádky |
pole typu LineSyncView → LineSyncView |
ano |
Každý řádek, který drží kterákoli strana, porovnaný. |
| úložiště |
StoreView → StoreView |
ano |
Úložiště po synchronizaci. |
| obnovitelné |
pole RecordView → RecordView |
ano |
Co publikovala jiná zařízení a co by tento checkout mohl obnovit. |
| diagnostika |
pole Diagnostic → Diagnostic |
ano |
Odmítnuté soubory, kolize, rozešlé řádky, nedosažitelný remote. |
Používá continuity.sync
TaskRef
object
Úloha, pod kterou byla předávka napsána, jak ji jmenoval záznam úlohy.
| vlastnost | typ | povinné | popis |
| id |
string |
ano |
Id úlohy, t-<stamp>-<hex>. |
| název |
string |
ano |
Co úloha je, slovy jejího autora: záměr. |
| profil |
string | null |
ne |
Profil, pod kterým běžel. |
| scope |
array of string |
ne |
Cesty repozitáře, kterých se smí dotknout. |
| výsledek |
string | null |
ne |
Výsledek, který záznam úlohy držel v okamžiku publikace předávky. |
Používá ResumePlan
Důvěra
"this_device" | "trusted" | "untrusted" | "undeclared"
Zda zařízení, které záznam podepsalo, je takové, kterému tento repozitář důvěřuje.
this_devicePodepsalo to toto zařízení.trustedSeznam důvěryhodných klíčů v deklaraci meshe tento klíč připouští.untrustedDeklarace mesh existuje a klíč nepřipouští: nikdy se z ní neobnovuje.undeclaredRepozitář nedeklaruje žádný mesh, takže neexistuje seznam, proti kterému by se klíč ověřil. Podpis stále váže záznam k jeho klíči; plán varuje.
Používá RecordView
Přes
"published" | "resumed"
Jak se tento checkout dostal na záznam.
publishedTento checkout to publikoval.resumedTento checkout z ní pokračoval.
Používá Position
WorkingTree
"clean" | "dirty"
Zda měl pracovní strom změny, které git neuchovává v commitu.
cleanNic mimo HEAD.dirtyZměněné, staged nebo nesledované soubory, které HEAD nedrží.
Používá RecordView Status