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.

HTTP API: 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.

Vykresleno z docs/generated/openapi.json, který spustitelný soubor generuje ze svého registru schopností a CI jej odmítne, je-li zastaralý. Surový dokument je na /openapi.json; běžící server servíruje stejný dokument na vlastní /openapi.json a Swagger UI na /swagger.

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.

GET /api/v1/continuity continuity.state

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

statustělový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.
POST /api/v1/continuity/device continuity.device

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

statustělový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.
GET /api/v1/continuity/plan continuity.plan

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ázevtyppovinnépopispří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

statustělový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.
POST /api/v1/continuity/publish continuity.publish

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

Tělo požadavku — PublishInput, 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/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

statustělový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.
GET /api/v1/continuity/records continuity.records

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

statustělový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.
POST /api/v1/continuity/resume continuity.resume

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

{"record":"0000"}

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

statustělový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.
GET /api/v1/continuity/status continuity.status

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

statustělový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.
POST /api/v1/continuity/sync continuity.sync

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

statustělový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.
vlastnosttyppovinné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.
vlastnosttyppovinné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.
vlastnosttyppovinné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.
vlastnosttyppovinné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.
vlastnosttyppovinné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.
vlastnosttyppovinné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.

vlastnosttyppovinné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ě.
vlastnosttyppovinné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.
vlastnosttyppovinné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.
vlastnosttyppovinné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.
vlastnosttyppovinné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.
vlastnosttyppovinné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.
vlastnosttyppovinné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.
vlastnosttyppovinné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.
vlastnosttyppovinné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á.
vlastnosttyppovinné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.
vlastnosttyppovinné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.
vlastnosttyppovinné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.
vlastnosttyppovinné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.
vlastnosttyppovinné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.
vlastnosttyppovinné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ě.
vlastnosttyppovinné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.
vlastnosttyppovinné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.
vlastnosttyppovinné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

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