integrace
Každý otevřený pull request klasifikovaný proti aktuálnímu master — připravený, vyžaduje obnovu, čeká na kontroly, revizi nebo závislost, koncept, vyžaduje opravu, v konfliktu, blokovaný, nebezpečný (zapnuté auto-merge), redundantní (jeho práce už je na master), nahrazený (deklarovaným nástupcem, který přistál, jmenovaným v superseded_by), možná redundantní, jiná báze nebo neznámý — každý s master a hlavou, proti nimž byl rozhodnut, jeho důvody, důkazy, rizikem a překryvy, deterministicky seřazený; a auditní stopa exekutoru, který slučuje další prokazatelně bezpečný, po jednom. Vztah k master rozhoduje git s vlastními merge drivery tohoto repozitáře, protože forge nedokáže spustit driver odvozených souborů. Čte se z posledního zaznamenaného pozorování forge; jedinou výjimkou je důkaz nanečisto, který forge pozoruje sám, protože pozorování je součástí toho, co dokazuje, že nic nepřesouvá.
Integrační fronta
Řazená fronta: repozitář, základ a master commit, proti nimž bylo rozhodnuto každé posouzení, kdy byl forge pozorován, platná politika (požadované kontroly a review ochrany branche, politika štítků, metoda merge: merge commit, nebo žádná, když repozitář žádnou nedovoluje), posouzení každého otevřeného pull requestu v pořadí — akceschopný s tím, jak dlouho čekal na exekutora a kolikrát byl místo něj vybrán jiný — další merge, pull requesty, do nichž je třeba zanést master, ty hladovějící, součty podle dispozice a lane a diagnostika, zastaralé pozorování první; vedle toho, kdo drží integrační lease základní branche a poslední merge, který exekutor zaznamenal. `observed: false` s důvodem, když tento checkout nezaznamenal žádné pozorování.
- query
- experimentální
- vyžaduje se měření výkonu
- cache vypnuta
- Nástroj MCP majordomus_pull_requests
- $ prs 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/pull-requests"
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 |
IntegrationStatus |
Integrační fronta: 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. |
Co by udělal úklid
Plán úklidu, rozhodnutý offline ze zaznamenaného pozorování: každý otevřený pull request, který by úklid zavřel — redundantní (jeho práce už je na master) nebo nahrazený (deklarovaným nástupcem, který přistál) — a každý, který nechá člověku — možná redundantní (slabé důkazy) nebo zastaralý (člověk jej označil, rozhodnutí vlastníka D3) — každý s dispozicí a důvody, které rozhodly, v pořadí podle priority; vedle toho větve, které sloučené pull requesty nechaly na origin, tak jak je `majordomus prs cleanup` naposledy četl, s tím, kdy a jak dávno. Čtení: nic nezavírá, nemaže a na nic se forge neptá — `majordomus prs cleanup` čte forge a `--apply` zavírá. `observed: false` s důvodem, když tento checkout nezaznamenal žádné pozorování.
- query
- experimentální
- vyžaduje se měření výkonu
- cache vypnuta
- nástroj MCP majordomus_pull_requests_cleanup
Žá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/pull-requests/cleanup"
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 |
IntegrationCleanup |
Co by úklid udělal: 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. |
Auditní stopa integrace
Každá akce, kterou exekutory repozitáře zaznamenaly, z kteréhokoli jeho worktree, od nejstarší: lease převzatý a vrácený, pozorování, výběry, rozhodnutí o zastarání, pokus každého činu před ním a jeho výsledek po něm — merge s masterem před a po, odmítnutí, refreshe, selhání ověření a uzavření — každá s typovanou akcí, jejím aktérem, pull requestem, headem, důvody rozhodnutí a u činu s důkazy, na jejichž základě se rozhodlo. Stopa je jeden soubor pod společným adresářem gitu, takže každý worktree čte tutéž.
- query
- experimentální
- vyžaduje se měření výkonu
- cache vypnuta
- Nástroj MCP majordomus_integration_events
- $ prs events
Žá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/pull-requests/events"
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 |
IntegrationEvents |
Auditní stopa integrace: 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. |
Proč je jeden pull request tam, kde je
Posouzení jednoho pull requestu — dispozice, lane, důvody, každá kontrola politiky s tím, zda prošla, další akce, master a head, proti nimž se rozhodovalo, a kdy byl forge pozorován, požadované kontroly, revize, vztah k masteru, závislosti, překryvy, riziko s jeho faktory a každý důkaz — s jeho pořadím ve frontě. `found: false` s důvodem, když není otevřený nebo se nic nepozoruje.
- query
- experimentální
- vyžaduje se měření výkonu
- cache vypnuta
- Nástroj MCP majordomus_pull_request_explain
- $ prs explain
Parametry dotazu
| název | typ | povinné | popis | příklady |
| číslo |
integer (uint64) |
ano |
Číslo pull requestu. |
a-number: 1 |
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/pull-requests/explain?number=1"
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 |
IntegrationExplanation |
Proč je jeden pull request tam, kde je: 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. |
Důkaz, že nasucho nic nepřesune
Spustí nemutující cyklus exekutora — refresh, plan, drain --dry-run a cleanup bez --apply — mezi dvěma snímky všeho, co by mohl přesunout, kdyby se mýlil: každý ref, který origin poskytuje, číslo, head, stav a štítky každého otevřeného pull requestu, auditní stopa integrace, lease exekutora a každý lokální ref mimo dva jmenné prostory, které refresh zrcadlí. `ok` je true právě tehdy, když jsou snímky shodné a refs/remotes/origin/<base> i každý refs/majordomus/prs/<n> se rovnají tomu, co poskytuje origin. Čtení, které sahá do sítě: refresh se ptá forge přes GitHub CLI a stahuje základ i heady pull requestů a jako každé čtení přepisuje cache pozorování, relací a souhrnů. Nic nesloučí, nezavře ani neodešle a nepřijímá žádný vstup, který by to mohl způsobit.
- query
- experimentální
- měření výkonu prominuto: external_dependency
- cache vypnuta
- Nástroj MCP majordomus_pull_requests_prove_dry_run
- $ prs prove-dry-run
Žá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/pull-requests/prove-dry-run"
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 |
DryRunProof |
Důkaz, že suchý běh nic nehýbe: 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. |
Jak dlouho CI trvá
Jak dlouho trvá CI na otevřených pull requestech, měřeno ze zaznamenaného pozorování forge: pro každou kontrolu kolik jejích běhů začalo a skončilo, kolik prošlo a kolik selhalo a její medián, 90. percentil (nejbližší pořadí) a nejdelší doba v sekundách, nejpomalejší medián první; pro každý otevřený head s změřenou kontrolou doba od začátku první kontroly po dokončení poslední a kontrola, která trvala nejdéle, nejdelší čekání první; a kolik běhů nešlo změřit (stále běží, čekají ve frontě nebo byly zaznamenány dřív, než se začaly číst starty), které se počítají a nikdy nezměří jako nula. Čtení: forge se na nic neptá; pozorování zaznamenává `majordomus prs refresh`. `observed: false` s důvodem, když tento checkout žádné nezaznamenal.
- query
- experimentální
- vyžaduje se měření výkonu
- cache vypnuta
- Nástroj MCP majordomus_ci_timings
Žá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/pull-requests/timings"
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 |
IntegrationTimings |
Jak dlouho trvá CI: 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. |
Řady navazujících pull requestů
Každý train otevřených pull requestů — skupina spojená potvrzenými závislostmi: base branch, která je headem jiného otevřeného pull requestu, nebo řádek `Stacked on #N` / `Depends on #N` v těle — v pořadí přistání. Pro každý článek: číslo, název, autor, head a base branch, head commit, stránka a kontroly na forge, dispozice, lane, důvody, další akce, stav požadovaných kontrol a každá kontrola na headu, vztah k masteru s tím, jak moc za ním zaostává a zda master obsahuje, připravený head pod refs/prep/<n> a zda je to head, který forge poskytuje (pushed), nebo ještě ne (pending), jeho pozice a hloubka, zda přišla jeho řada, na čem stojí a co nese, jeho pořadí ve frontě a zda ho zachytí cyklus. Pro každý train: kořeny, vrcholy, další článek, který pořadí povoluje, hrany (STACKED_ON nebo DEPENDS_ON, splněné, když článek pod ním přistál) a pull requesty pod ním, které už nejsou otevřené. Vedle nich připravené heady, které nedrží žádný train, součty a diagnostika fronty. Čte se ze zaznamenaného pozorování, fronty, kterou vypisuje `majordomus prs status`, a lokálních refů: nic nestahuje, neodesílá ani nepřesouvá. `observed: false` s důvodem, když tento checkout nezaznamenal žádné pozorování.
- query
- experimentální
- vyžaduje se měření výkonu
- cache vypnuta
- nástroj MCP majordomus_pull_request_trains
- $ prs trains
Žá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/pull-requests/trains"
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 |
TrainsView |
Řady zřetězených pull requestů: 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. |
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.
BeneathLink
object
Pull request pod trainem, který už není otevřený.
| vlastnost | typ | povinné | popis |
| číslo |
integer (uint64) |
ano |
Jeho číslo. |
| state |
DependencyState → DependencyState |
ano |
Co forge říká, že se s ním stalo. |
| url |
string | null |
ne |
Pull request na forge, když je repozitář znám. |
Používá Train
ChangeShape
object
Co mergnutí headu do masteru mění, podle druhu: autorské cesty, které napsal člověk, odvozené cesty, které zapisuje generátor (podle atributů merge=derived repozitáře na masteru), a verzi, kterou head deklaruje, když zvyšuje verzi crate. Rozhoduje se ze stejné dvojice commitů jako vztah k masteru a cachuje se pod stejným klíčem vedle něj, takže změna kteréhokoli commitu — změna .gitattributes na masteru je jednou — znehodnotí obojí společně.
| vlastnost | typ | povinné | popis |
| ručně psané |
array of string |
ano |
Autorské (neodvozené) cesty, které merge mění nebo na nichž je konflikt, v pořadí cest. |
| odvozeno |
array of string |
ano |
Odvozené cesty, které merge mění nebo na nichž konfliktuje, v pořadí cest. |
| version_bump |
string | null |
ne |
Verze, kterou hlava deklaruje v manifestu crate, když není tou, kterou deklaruje její merge base: hlava verzi zvyšuje. |
Používá PullRequestAssessment
CheckRunState
"passed" | "failed" | "pending" | "skipped"
Kde stojí jeden běh kontroly.
passedDokončeno a prošlo.failedDokončené a selhané (selhání, vypršení času, zrušeno, vyžadována akce).pendingVe frontě nebo běží; také to, za co se považuje zpráva, která neříká nic, takže výchozí hodnota není nikdy průchod.skippedDokončeno jako přeskočeno nebo neutrální.
Používá LinkCheck
CheckTiming
object
Jak dlouho trvá jedna kontrola napříč otevřenými hlavami, které ji spustily.
| vlastnost | typ | povinné | popis |
| název |
string |
ano |
Název kontroly, jak ho hlásí forge. |
| runs |
integer (uint64) |
ano |
Běhy, které začaly a dokončily se, tedy byly změřeny. |
| prošlo |
integer (uint64) |
ano |
Z nich kolik prošlo. |
| selhalo |
integer (uint64) |
ano |
Z nich kolik selhalo. |
| median_seconds |
integer (uint64) |
ano |
Medián doby trvání v sekundách. |
| p90_seconds |
integer (uint64) |
ano |
90. percentil doby trvání (nejbližší pořadí), v sekundách. |
| slowest_seconds |
integer (uint64) |
ano |
Nejdelší běh, v sekundách. |
Používá CiTimings
CiTimings
object
Časování CI přes každý otevřený hlavní commit, který pozorování drží.
| vlastnost | typ | povinné | popis |
| observed_at |
string |
ano |
Kdy byl forge pozorován, RFC 3339: okamžik, který tyto časy popisují. |
| measured_runs |
integer (uint64) |
ano |
Změřené běhy kontrol, napříč každou kontrolou a headem. |
| unmeasured_runs |
integer (uint64) |
ano |
Běhy kontrol, které pozorování drží bez startu i dokončení: běží, čekají ve frontě nebo byly zaznamenány před načtením startů. Počítají se, nikdy se neměří jako nula. |
| kontroly |
pole CheckTiming → CheckTiming |
ano |
Každá kontrola, nejpomalejší medián první. |
| heads |
pole HeadTiming → HeadTiming |
ano |
Každý head s naměřenou kontrolou, nejdelší doba běhu první. |
Používá IntegrationTimings
CleanupItem
object
Co by úklid udělal, nebo udělal, u jednoho pull requestu.
| vlastnost | typ | povinné | popis |
| pr |
integer (uint64) |
ano |
Pull request. |
| dispozice |
PullRequestDisposition → PullRequestDisposition |
ano |
Jeho dispozice v době rozhodnutí. |
| důvody |
array of string |
ano |
Důkazy ve formě kódů důvodů. |
| akce |
string |
ano |
would_close, closed, left_for_a_person nebo close_failed: <why>. |
Používá IntegrationCleanup
DependencyCertainty
"confirmed" | "inferred"
Jak se závislost pozná. Blokuje jen deklarovaná.
confirmedDeklarováno: řádek Depends on #N / Stacked on #N v těle, nebo základní větev, která je headem jiného otevřeného pull requestu.inferredOdvozeno: hlava obsahuje hlavní commit té druhé. Důkaz, nikdy blok.
Používá PullRequestDependency
DependencyState
"open" | "merged" | "closed_unmerged" | "unread"
Co se stalo s pull requestem, na kterém závisí jiný.
openStále otevřeno.mergedSloučeno: jediný stav, který to splňuje.closed_unmergedUzavřeno bez merge: jeho práce nikdy nepřistála, takže rozhoduje člověk.unreadNení otevřený a forge nedokázal říct, co se s ním stalo — odmítnut, nebo vůbec není pull request: neznámé, nikdy nesplněno.
Používá BeneathLink PullRequestDependency
DryRunProof
object
Verdikt: co bylo porovnáno, co se pohnulo a co cyklus pozoroval.
| vlastnost | typ | povinné | popis |
| ok |
boolean |
ano |
Pravda právě tehdy, když se nic nepohnulo a každé zrcadlo se rovná tomu, co poskytuje origin. |
| základ |
string |
ano |
Základní větev, na které exekutor pracuje. |
| kroky |
pole ProofStep → ProofStep |
ano |
Cyklus, krok za krokem. |
| přesunuto |
pole Moved → Moved |
ano |
Každý řádek, který se mezi snapshoty liší; prázdné, když se nic nepohnulo. |
| zrcadla |
array of string |
ano |
Každý zrcadlený ref, který není tím, co obsluhuje origin; prázdné, když jsou všechny. |
| před |
Snapshot → Snapshot |
ano |
Snapshot před cyklem. |
| po |
Snapshot → Snapshot |
ano |
Snapshot po něm. |
| klasifikace |
pole ObservedClassification → ObservedClassification |
ano |
Každý otevřený pull request tak, jak jej cyklus klasifikoval, v pořadí podle rankingu. |
Používá integration.prove_dry_run
EvaluatedAgainst
object
Revize, proti kterým bylo rozhodnuto, a kdy byl forge pozorován. Rozhodnutí platí, jen dokud obě revize stále platí: executor je porovná s tím, co znovu přečte, než jedná.
| vlastnost | typ | povinné | popis |
| master_sha |
string |
ano |
Commit na masteru. |
| head_sha |
string |
ano |
Hlavní commit pull requestu. |
| observed_at |
string |
ne |
Kdy byl forge pozorován, RFC 3339; prázdné v hodnotě zapsané dříve, než byla pojmenována. |
Používá PullRequestAssessment
EvidenceKind
"required_check" | "required_checks" | "review" | "relation_to_master" | "dependency" | "label" | "draft" | "base" | "freshness" | "auto_merge" | "supersession" | "repository_settings"
Jaký druh faktu je důkaz. Slova na drátě jsou ta, která důkaz nesl, dokud byl jeho druh řetězec, takže trail zapsaný tehdy se stále čte.
required_checkStav jedné požadované kontroly na headu: jedna položka na kontext, který základ vyžaduje.required_checksPovinné kontroly dohromady: jejich verdikt a stav každého kontextu.reviewPolitika review a rozhodnutí forge, nebo poslední review jednoho recenzenta.relation_to_masterČím je hlava vůči masteru, jak rozhodl git.dependencyJedna deklarovaná závislost.labelJeden štítek, jehož politikou je držet.draftZda jde o koncept; vždy vydáváno.baseVětev, na kterou míří; vždy se vypisuje.freshnessJak je pozorování staré. Deklarováno, aby byl slovník ustálen; zatím to nic nevysílá.auto_mergeForge má zapnutý auto-merge; vysílá se vždy, když je.supersessionJeden deklarovaný nástupce: který pull request tento nahrazuje, jehož tělo to říká a zda přistál. Jedna položka na každého oprávněného nástupce (stav open, landed, not_landed nebo unread), jedna na každou deklaraci, kterou učinil někdo neoprávněný (possible_supersession), a jedna, když nebyly přečteny všechny pull requesty, které ho zmiňují (references_truncated, references_unread).repository_settingsCo nastavení repozitáře dovolují executoru; vydáno, když nedovolují žádný merge commit.
Používá IntegrationEvidence
EvidenceSource
jedna ze 2 variant
Kde byl důkaz přečten.
variant Pozorování forge v daném okamžiku.
| observed_at | string | ano | Kdy byl forge pozorován, RFC 3339. |
| druh | "forge" | ano | |
variant Git na této dvojici commitů.
| master_sha | string | ano | Commit na masteru. |
| head_sha | string | ano | Commit hlavy. |
| druh | "git" | ano | |
Používá IntegrationEvidence
ExecutorWait
object
Jak dlouho pull request čekal na exekutor, podle auditní stopy. Hladovění se zde zviditelňuje, nikdy neřeší změnou pořadí: věkové rozhodnutí pořadí už upřednostňuje starší ze dvou jinak stejných kandidátů a takto dlouhé čekání je skutečnost, kterou člověk čte, ne důvod sloučit něco méně bezpečného.
| vlastnost | typ | povinné | popis |
| actionable_since |
string |
ano |
Kdy byl poprvé pozorován jako připraven nebo obnovitelný v současné řadě takových pozorování, RFC 3339. |
| passed_over |
integer (uint32) |
ano |
Kolikrát exekutor vybral jiný pull request, zatímco tento byl připraven nebo obnovitelný. |
| last_passed_over |
PassedOver | null → PassedOver |
ne |
Poslední z těchto časů. |
Používá PullRequestAssessment
FailureClass
"stale" | "conflict" | "new_failing_check" | "review_revoked" | "transient" | "policy_violation" | "verification_failed" | "unreadable"
Proč akce selhala, jako jedna třída, na kterou může reagovat člověk i politika opakování. Každá selhaná akce na stopě ji nese (class) a podle ní odvod rozhodne, zda lze zkusit dalšího kandidáta (FailureClass::recoverable), nebo se musí zastavit.
staleMaster nebo head se od rozhodnutí pohnul.conflictMerge masteru je v konfliktu.new_failing_checkPovinná kontrola selhala, která dříve prošla.review_revokedSchválení bylo staženo.transientForge nebo síť selhaly způsobem, který projde.policy_violationOchrana větve to odmítla.verification_failedTo, co přistálo, nešlo ověřit.unreadableForge nebo git nešlo přečíst.
Používá IntegrationEvent
GateResult
object
Jak odpověděla jedna kontrola.
| vlastnost | typ | povinné | popis |
| kontrola |
IntegrationGate → IntegrationGate |
ano |
Kontrola. |
| prošlo |
boolean |
ano |
Zda prošla. Kontrola, která selže jen proto, že selhala dřívější (head není čerstvý, když jeho merge koliduje), selhává bez vlastního důvodu. |
Používá PullRequestAssessment
HeadTiming
object
Jak dlouho trvalo CI na hlavě jednoho otevřeného pull requestu: od startu jeho první kontroly po dokončení jeho poslední kontroly a kontrola, která trvala nejdéle.
| vlastnost | typ | povinné | popis |
| číslo |
integer (uint64) |
ano |
Pull request. |
| head_sha |
string |
ano |
Hlava, na které kontroly běžely. |
| started_at |
string |
ano |
Kdy začala jeho první změřená kontrola, RFC 3339. |
| completed_at |
string |
ano |
Kdy skončila její poslední změřená kontrola, RFC 3339. |
| wall_seconds |
integer (uint64) |
ano |
Čas mezi nimi v sekundách: na jak dlouho čekal čtenář na CI u této hlavy. |
| slowest_check |
string |
ano |
Změřená kontrola, která trvala nejdéle. |
| slowest_seconds |
integer (uint64) |
ano |
Jak dlouho to trvalo, v sekundách. |
| selhalo |
boolean |
ano |
Zda selhala jakákoli změřená kontrola na headu. |
Používá CiTimings
IntegrationAction
"lease_acquired" | "lease_released" | "continuous_started" | "continuous_stopped" | "observed" | "became_actionable" | "left_actionable" | "selected" | "refresh_selected" | "stale_decision" | "merge_attempted" | "merge_succeeded" | "merge_failed" | "verification_failed" | "failure_acknowledged" | "refresh_attempted" | "refreshed" | "refresh_failed" | "close_attempted" | "closed_redundant" | "closed_superseded" | "close_failed" | "reopen_attempted" | "reopened" | "reopen_failed" | "repair_selected" | "repair_attempted" | "repaired" | "repair_refused" | "idle" | "observe_failed"
Co zaznamenává jeden řádek auditní stopy. Slovo na drátě je název snake_case varianty — totéž slovo, jako se zapisovala každá, dokud byla akce řetězcem — takže se každý dříve zapsaný řádek stále parsuje a slovo, které nikdo nezapisuje, není akce.
lease_acquiredExekutor převzal lease základní větve.lease_releasedVrátil lease.continuous_startedSpustil se průběžný drain.continuous_stoppedPrůběžný drain se zastavil; detail říká proč.observedForge byl pozorován a pozorování zaznamenáno.became_actionablePull request se stal akceschopným (připraveným nebo obnovitelným).left_actionablePull request přestal být akceschopný.selectedPro merge byl zvolen první připravený pull request.refresh_selectedPro merge masteru byl zvolen první pull request, který lze obnovit.stale_decisionRozhodnutí zastaralo mezi plánováním a jednáním; nic se neudělalo.merge_attemptedO sloučení se brzy požádá forge.merge_succeededMerge přistál a byl ověřen.merge_failedForge merge odmítl.verification_failedTo, co přistálo, nešlo ověřit.failure_acknowledgedČlověk se podíval na merge, který nešlo ověřit, a nechává drainy znovu mergovat (prs drain --resume-after-failure).refresh_attemptedMaster se chystá sloučit do branche a pushnout.refreshedMaster byl do větve přinesen a pushnut.refresh_failedZavedení masteru selhalo.close_attemptedRedundantní nebo překonaný pull request se chystá k uzavření.closed_redundantRedundantní byl uzavřen.closed_supersededNahrazený byl uzavřen (před 0.13 řádek s tímto slovem zaznamenával to, čemu se dnes říká closed_redundant).close_failedJeho zavření selhalo.reopen_attemptedPull request se záznamem, který otevřel token workflow, bude zavřen a znovu otevřen, aby se spustil jeho vlastní běh (RecordStanding::Reopenable).reopenedByl uzavřen a znovu otevřen; jeho požadovaná kontrola nyní může hlásit.reopen_failedJeho znovuotevření selhalo; detail říká, zda pull request zůstal zavřený.repair_selectedČlověk jmenoval pull request k opravě (prs repair --apply) a jeho klasifikace ho činí způsobilým: chybí mu master a nic z vlastní tvorby nekonfliktuje.repair_attemptedMaster bude sloučen do jmenované větve a pushnut.repairedMaster byl zapracován do pojmenované větve a odeslán.repair_refusedOprava byla odmítnuta — klasifikací (autorský konflikt, fork, zapnutý auto-merge, jiná základna, nerozhodnutelný vztah) nebo aktem (merge, derive, commit nebo push, který selhal) — a nic nedosáhlo větve; class říká proč.idleNic nebylo připraveno.observe_failedCyklus kontinuálního drainu nemohl pozorovat forge a výpadek byl dost krátký, aby se dal přečkat (CONTINUOUS_TRANSIENT_LIMIT).
Používá IntegrationEvent PassedOver
IntegrationCleanup
object
Co by úklid udělal, rozhodnuto offline: pull requesty, které by zavřel nebo nechal člověku, ze zaznamenaného pozorování, a poslední zpráva o větvích, kterou prs cleanup zaznamenal.
| vlastnost | typ | povinné | popis |
| pozorováno |
boolean |
ano |
Zda je pozorování forge zaznamenáno v tomto checkoutu. |
| důvod |
string | null |
ne |
Proč plán neexistuje, když neexistuje. |
| observed_at |
string | null |
ne |
Kdy byl forge pozorován, kdy to bylo. |
| položky |
pole CleanupItem → CleanupItem |
ano |
Plán v pořadí podle priority: would_close pro to, co je prokazatelně na master nebo nahrazeno nástupcem, který přistál, left_for_a_person pro slabé důkazy a pro to, co člověk označil jako zastaralé. Nic zde nic neuzavírá. |
| branches |
LeftBranchReport | null → LeftBranchReport |
ne |
Větve, které sloučené pull requesty nechaly na originu, tak jak je naposledy přečetlo prs cleanup; None, když v tomto checkoutu nikdy neběželo. Zde se nikdy nečte ze sítě. |
| branches_age_seconds |
integer | null |
ne |
Jak je tento report starý, v sekundách, když jeho čas lze přečíst. |
Používá integration.cleanup
IntegrationEvent
object
Jedna položka auditní stopy.
| vlastnost | typ | povinné | popis |
| v |
string |
ano |
Kdy, RFC 3339. |
| aktér |
string |
ano |
Kdo: identita gitu, proces a stroj. |
| akce |
IntegrationAction → IntegrationAction |
ano |
Co (IntegrationAction). |
| pr |
integer | null |
ne |
Pull request, pokud existuje. |
| master_before |
string | null |
ne |
Master předtím. |
| head_sha |
string | null |
ne |
Head, se kterým se zacházelo. |
| master_after |
string | null |
ne |
Master po. |
| důvody |
array of string |
ano |
Důvody rozhodnutí; kód, který zapsal starší executor, se přečte zpět doslova. |
| detail |
string |
ano |
Co se stalo, pro člověka. |
| passed_over |
pole integer (uint64) |
ne |
Při výběru: ostatní použitelné pull requesty, před kterými executor zvolil tento, v pořadí podle priority. Čekání každého z nich se skládá z něj (super::wait). |
| head_after |
string | null |
ne |
Na refreshed: head, který executor pushnul. Pipeline obnovení čeká jen na kontroly headu, který je zde jmenován. |
| evidence |
pole IntegrationEvidence → IntegrationEvidence |
ne |
K merge_attempted, merge_succeeded, refresh_selected a uzávěrám: důkazy posouzení, na jejichž základě se o činu rozhodlo. |
| třída |
FailureClass | null → FailureClass |
ne |
Při selhání: jeho třída, jakmile je určena. |
| merge_commit |
string | null |
ne |
Na merge_succeeded: merge commit, jakmile je přečten. |
Používá IntegrationEvents IntegrationStatus
IntegrationEvents
object
Auditní stopa.
| vlastnost | typ | povinné | popis |
| events |
pole IntegrationEvent → IntegrationEvent |
ano |
Každá zaznamenaná integrační akce, nejstarší první. |
Používá integration.events
IntegrationEvidence
object
Jeden důkaz za dispozicí: co bylo čteno, kde a co to říkalo.
| vlastnost | typ | povinné | popis |
| druh |
EvidenceKind → EvidenceKind |
ano |
Jaký druh faktu. |
| status |
string |
ano |
Co řeklo, jako slovo. |
| detail |
string |
ano |
Podrobnost, kterou člověk čte. |
| zdroj |
EvidenceSource | null → EvidenceSource |
ne |
Kde to bylo přečteno. Každé posouzení to jmenuje; řádek trailu zapsaný dřív, než to důkaz nesl, to nemá. |
Používá IntegrationEvent PullRequestAssessment
IntegrationExplanation
object
Posouzení a pořadí jednoho pull requestu, nebo proč žádné nemá.
| vlastnost | typ | povinné | popis |
| nalezeno |
boolean |
ano |
Zda je pull request v pozorované frontě. |
| důvod |
string | null |
ne |
Proč ne, když ne. |
| pořadí |
integer | null |
ne |
Jeho pozice v seřazené frontě, od 1. |
| z |
integer (uint) |
ano |
Kolik otevřených pull requestů bylo seřazeno. |
| observed_at |
string | null |
ne |
Kdy byl forge pozorován. |
| posouzení |
PullRequestAssessment | null → PullRequestAssessment |
ne |
Posouzení. |
Používá integration.explain
IntegrationGate
"base" | "draft" | "label" | "auto_merge" | "supersession" | "relation_to_master" | "merge_method" | "dependency" | "review" | "no_failing_check" | "freshness" | "required_checks"
Jedna otázka politiky, v pořadí, v jakém je klade IntegrationGate::ALL. Dispozice je první, která selže; zodpovězena je každá.
baseCílí na integrační bázi.draftNení to koncept.labelNenese žádný štítek, jehož politikou je držet.auto_mergeNa forge není aktivováno žádné auto-merge.supersessionNení deklarován žádný oprávněný nástupce, který by ho nahradil, a všechny pull requesty, které ho zmiňují, byly přečteny. Ptá se před vztahem k masteru, protože pull request, jehož nástupce přistál, obvykle koliduje s tím, co nástupce přinesl, a je nahrazen, ne konfliktní. Deklarace, kterou učinil někdo neoprávněný, ho nezruší.relation_to_masterJeho hlava ještě není na masteru a git mohl říct, že se mergeuje čistě.merge_methodRepozitář povoluje merge commit, jediný způsob, jakým exekutor slučuje. Ptá se po relaci, takže práce, která už je na masteru, je stále redundant a může být uzavřena.dependencyKaždá deklarovaná závislost přistála.reviewPolitika revize je na headu splněna.no_failing_checkNa hlavě nezlyhala žádná povinná kontrola.freshnessHead obsahuje aktuální master.required_checksKaždá povinná kontrola na head prošla.
Používá GateResult
IntegrationLane
"ready" | "waiting" | "repair" | "cleanup" | "held"
Fronty, do kterých Cockpit a stavová tabulka seskupují pull requesty.
readyExecutor to nyní může mergovat.waitingNěco se stane bez člověka: obnovení, kontrola, závislost.repairBranch musí změnit člověk.cleanupJeho práce už je na masteru, nebo ji nahradil nástupce, který přistál.heldNežádá o merge, drží ho štítek nebo nastavení, není bezpečný pro executor, nebo je nerozhodnutelný.
Používá PullRequestAssessment RankFactors TrainLink
IntegrationLeaseState
object
Lease báze tak, jak ho čte pozorovatel.
| vlastnost | typ | povinné | popis |
| držitel |
LeaseHolder | null → LeaseHolder |
ne |
Kdo to drží; None, když to soubor neříká ve formě, kterou toto čte. |
| renewed_seconds_ago |
integer (uint64) |
ano |
Jak dávno držitel naposledy obnovil. |
| zastaralé |
boolean |
ano |
Zda je starší než LEASE_STALE_AFTER: jeho držitel skončil, aniž jej uvolnil, a další executor jej převezme. |
Používá IntegrationStatus
IntegrationPolicy
object
Co repozitář vyžaduje před mergem, jak je pozorováno z forge a repozitáře — nikdy seznam vedený zde vedle toho.
| vlastnost | typ | povinné | popis |
| základ |
string |
ano |
Větev, do které se integruje. |
| required_checks |
pole | null → RequiredCheck |
ne |
Kontroly, které základ vyžaduje, z jeho ochrany větve a rulesetů, každá s aplikací, která je k ní vázána. None, když je nebylo možné přečíst: verdikt každé požadované kontroly je pak unknown, nikdy passed. Prázdná množina je také neznámá (rozhodnutí vlastníka D5): základ, který nevyžaduje nic, o headu nedokazuje nic, takže se na něj nic nemerguje. |
| review_policy |
ReviewPolicy | null → ReviewPolicy |
ne |
Co báze vyžaduje od review; None, když nečteno. |
| skipped_permitted |
array of string |
ne |
Kontexty, jejichž přeskočení se počítá jako úspěch. Prázdné, pokud repozitář neřekne jinak: přeskočená požadovaná kontrola je jinak missing. |
| štítky |
pole LabelPolicy → LabelPolicy |
ano |
Štítky, které mají účinek, každý s jeho účinkem: LABEL_POLICY, zkopírováno. |
| merge_method |
string | null |
ne |
Metoda merge, o kterou vykonavatel žádá forge: merge, když repozitář povoluje merge commit, a None, když ne. Jiná není: ovladač odvozených souborů řeší merge a squash nebo rebase by přehrály commity, které nikdy neviděl, takže s None je každý pull request, o jehož vztahu k masteru nerozhodla relace, držen (merge_commit_not_allowed), nikdy ne sloučen jinak. |
| merge_settings_unread |
boolean |
ne |
Zda zůstala nastavení merge repozitáře nepřečtena (odpověď forge žádné nenesla): merge_method je pak None, protože nic není známo, ne proto, že by merge commit byl odmítnut, a zadržený pull request říká merge_settings_unread (I2966). Chybí v politice zaznamenané dříve, než se četla, která je četla. |
| up_to_date_required |
boolean | null |
ne |
Zda základna vyžaduje, aby větev byla před merge aktuální (required_status_checks.strict ochrany, nebo rulesetu): polovina ochrany na straně forge proti merge na master, který nikdo s touto změnou netestoval. Polovinou exekutoru je jeho kontrola rodiče po každém merge. Some(false) je k změně vlastníkovi (rozhodnutí D8) a o žádné dispozici nerozhoduje; None, pokud nebylo přečteno. |
Používá IntegrationQueue
IntegrationQueue
object
Integrační fronta: každý otevřený pull request posouzený proti jednomu masteru, seřazený.
| vlastnost | typ | povinné | popis |
| repozitář |
string |
ano |
owner/name. |
| základ |
string |
ano |
Integrační základ. |
| master_sha |
string |
ano |
Commit masteru, vůči kterému se rozhodovalo každé posouzení (odtažený ref tohoto klonu). |
| observed_at |
string |
ano |
Kdy byl forge pozorován. |
| observed_base_sha |
string |
ano |
Základní commit, který forge v tu chvíli hlásil. |
| policy |
IntegrationPolicy → IntegrationPolicy |
ano |
Platná politika. |
| posouzení |
pole PullRequestAssessment → PullRequestAssessment |
ano |
Každý otevřený pull request v pořadí řazení: první ready je další merge. |
| next_merge |
integer | null |
ne |
Další merge, když je cokoli připraveno. |
| next_refresh |
pole integer (uint64) |
ano |
Pull requesty, které executor mohl obnovit (zapracovat do nich master), v pořadí podle priority. |
| součty |
QueueTallies → QueueTallies |
ano |
Counts. |
| diagnostika |
array of string |
ano |
Co dělá tuto frontu méně než úplnou odpovědí. |
| hladovějící |
pole integer (uint64) |
ne |
Akceschopné pull requesty, které exekutor minul alespoň wait::STARVING_AFTERkrát v jejich současném čekání, v pořadí podle ranku. Viditelné, nikdy povýšené: viz wait. |
Používá IntegrationStatus
IntegrationRisk
"low" | "medium" | "high"
Kolik by se mohlo pokazit, když se to přistane a něco se přehlédlo. Plánovací informace: řadí práci a nikdy neuvolňuje politiku.
lowDokumentace, testy, obsah.mediumKód spustitelného souboru nebo nástroje.highCI, release, governance, schémata nebo velká změna.
Používá PullRequestAssessment RankFactors
IntegrationStatus
object
Fronta, nebo proč žádná není.
| vlastnost | typ | povinné | popis |
| pozorováno |
boolean |
ano |
Zda je pozorování forge zaznamenáno v tomto checkoutu. |
| důvod |
string | null |
ne |
Proč neexistuje fronta, když žádná není. |
| fronta |
IntegrationQueue | null → IntegrationQueue |
ne |
Fronta. |
| lease |
IntegrationLeaseState | null → IntegrationLeaseState |
ne |
Integrační lease základní větve, jak ho čte pozorovatel: None, když ho nikdo nedrží (nebo se nic nepozoruje, takže základ není znám). |
| last_merge |
IntegrationEvent | null → IntegrationEvent |
ne |
Poslední merge, který executor zaznamenal, z auditní stopy. |
| propustnost |
IntegrationThroughput → IntegrationThroughput |
ano |
Jak rychle executor za posledních THROUGHPUT_WINDOW_DAYS dní proměnil práci v master, složeno ze stejné stopy. |
Používá integration.queue
IntegrationThroughput
object
Propustnost integrátora za okno stopy.
| vlastnost | typ | povinné | popis |
| window_days |
integer (uint64) |
ano |
Okno ve dnech, končící v čase, kdy bylo skládání vyžádáno. |
| merge |
integer (uint64) |
ano |
Pull requesty mergnuté v okně. |
| merges_per_day |
číslo (double) |
ano |
merges / window_days. |
| median_actionable_to_merged_secs |
integer | null |
ne |
Medián sekund od chvíle, kdy se stal použitelným, do mergnutí; None, když žádný merge v okně nemá před sebou zaznamenaný became_actionable. |
| ci_rounds_per_merge |
integer | null |
ne |
Medián refreshed událostí mezi jedním merge a dalším; None bez merge. |
| median_cycle_secs |
integer | null |
ne |
Medián sekund od výběru k jeho výsledku; None, když žádný výběr v okně k výsledku nedospěl. |
| stale_decisions |
integer (uint64) |
ano |
Rozhodnutí odmítnutá, protože se master nebo head po jejich učinění pohnuly. |
| merge_failures |
integer (uint64) |
ano |
Neúspěšné pokusy o merge. |
| verification_failures |
integer (uint64) |
ano |
Merge, jejichž výsledný master neprošel ověřením. |
| unreadable_events |
integer (uint64) |
ano |
Události ve stopě, jejichž čas nešlo přečíst; nepočítají se do ničeho. |
Používá IntegrationStatus
IntegrationTimings
object
Jak dlouho trvá CI na otevřených pull requestech, nebo proč to není známo.
| vlastnost | typ | povinné | popis |
| pozorováno |
boolean |
ano |
Zda je pozorování forge zaznamenáno v tomto checkoutu. |
| důvod |
string | null |
ne |
Proč nejsou žádná časování, když žádná nejsou. |
| časování |
CiTimings | null → CiTimings |
ne |
Časy změřené z pozorování, pokud existuje. |
Používá integration.timings
LabelEffect
"hold" | "obsolete"
Co štítek dělá s pull requestem, který jej nese.
holdDrží pull request, ať platí cokoli jiného: blocked, s label:NAME.obsoleteČlověk označil práci za zastaralou (rozhodnutí vlastníka D3): obsolete, s label_obsolete:NAME, vypisováno cleanupem pro člověka a nikdy automaticky neuzavřeno.
Používá LabelPolicy
LabelPolicy
object
Jeden štítek s efektem. Názvy štítků forge se porovnávají pomocí name bez ohledu na velikost písmen.
| vlastnost | typ | povinné | popis |
| název |
string |
ano |
Štítek, malými písmeny. |
| účinek |
LabelEffect → LabelEffect |
ano |
Co dělá. |
Používá IntegrationPolicy
LeaseHolder
object
Kdo drží lease.
| vlastnost | typ | povinné | popis |
| pid |
integer (uint32) |
ano |
Proces. |
| host |
string |
ano |
Stroj. |
| základ |
string |
ano |
Základní větev. |
| od |
integer (uint64) |
ano |
Kdy byl pořízen, sekundy od epochy. |
| mesh_claim |
string | null |
ne |
Mesh claim, který ho činí exkluzivním napříč stroji, <stream>/<claim>; chybí, když lease střeží jen tento klon (super::exclusive). |
Používá IntegrationLeaseState
LeftBranch
object
Větev, kterou sloučený pull request nechal na origin, jak ji hlásí cleanup. Hlásí se, nikdy nemaže: o smazání rozhoduje delete_branch_on_merge forge (rozhodnutí vlastníka D4), takže executor nedrží žádný zápis mazající větve.
| vlastnost | typ | povinné | popis |
| větev |
string |
ano |
Větev na origin. |
| tip |
string |
ano |
Jeho špička: hlava, která byla mergnuta. |
| pr |
integer (uint64) |
ano |
Pull request, který jej zmergoval. |
| merged_at |
string |
ano |
Kdy se tento pull request mergnul. |
| akce |
string |
ano |
left_for_a_person nebo kept: checked out at <path>, když má větev checkoutnutou worktree tohoto repozitáře: někdo na ní může ještě stát. |
| next_step |
string |
ano |
Co by to vyčistilo, ve vlastních termínech nastavení. |
Používá LeftBranchReport
LeftBranchReport
object
Poslední report větví, které mergnuté pull requesty zanechaly na originu, jak ho přečetl prs cleanup. Zapisuje ho jen prs cleanup — jediné místo, které se na ně ptá forge — a vykresluje ho offline, s jeho stářím, každý povrch, který nedosáhne na síť.
| vlastnost | typ | povinné | popis |
| read_at |
string |
ano |
Kdy cleanup četl origin a sloučené pull requesty. |
| základ |
string |
ano |
Základ, který report vylučuje. |
| delete_branch_on_merge |
boolean | null |
ne |
delete_branch_on_merge forge, z pozorování; None, když nebylo přečteno. |
| branches |
pole | null → LeftBranch |
ne |
Větve, nebo None, když origin nebo sloučené pull requesty nešlo přečíst: nepřečteno neznamená „nic nezůstalo“. |
| refreshed_by |
string |
ano |
Příkaz, který to přečte znovu. |
Používá IntegrationCleanup
LinkCheck
object
Jedna kontrola spuštěná na hlavě odkazu.
| vlastnost | typ | povinné | popis |
| název |
string |
ano |
Název kontroly. |
| state |
CheckRunState → CheckRunState |
ano |
Jak to stojí. |
Používá TrainLink
Přesunuto
object
Jeden řádek, který se mezi dvěma snímky liší.
| vlastnost | typ | povinné | popis |
| sekce |
string |
ano |
Sekce, do které patří. |
| změna |
string |
ano |
added (přítomno jen po cyklu) nebo removed (přítomno jen před ním). |
| řádek |
string |
ano |
Samotný řádek. |
Používá DryRunProof
ObservedClassification
object
Jeden otevřený pull request tak, jak ho cyklus klasifikoval.
| vlastnost | typ | povinné | popis |
| číslo |
integer (uint64) |
ano |
Pull request. |
| head_sha |
string |
ano |
Head, proti kterému se rozhodovalo. |
| dispozice |
string |
ano |
Jeho dispozice, jak ji pojmenovává fronta. |
| next_action |
string | null |
ne |
Co by s tím executor udělal, pokud vůbec něco. |
Používá DryRunProof
OverlapKind
"authored" | "version_bump" | "release"
Co mají dva otevřené pull requesty společného, takže přistání jednoho mění druhý.
authoredObě strany mění autorské cesty.version_bumpObě zvyšují verzi cratu: ta, která přistane druhá, musí být znovu derivována nad první.releaseObojí mění záznamy release pod .ai/repo/releases/.
Používá PathOverlap
PassedOver
object
Jednou executor zvolil jiný pull request.
| vlastnost | typ | povinné | popis |
| v |
string |
ano |
Kdy, RFC 3339. |
| for_pr |
integer (uint64) |
ano |
Pull request vybraný místo něj. |
| akce |
IntegrationAction → IntegrationAction |
ano |
K čemu byl vybrán (selected k mergi, refresh_selected k zapracování masteru). |
Používá ExecutorWait
PathOverlap
object
Sdílí autorské cesty s jedním dalším otevřeným pull requestem.
| vlastnost | typ | povinné | popis |
| číslo |
integer (uint64) |
ano |
Druhý pull request. |
| cesty |
array of string |
ano |
Změní se obě cesty. |
| druh |
OverlapKind → OverlapKind |
ne |
Co mají obě společné. authored v záznamu napsaném dříve, než bylo vysloveno. |
Používá PullRequestAssessment
PrepState
"pushed" | "pending"
Zda připravená hlava dorazila na forge.
pushedPřipravený head je head pull requestu: byl pushnut.pendingPřipravený head je jiný commit: čeká, až na něj přijde řada s pushem.
Používá PreparedHead
PreparedHead
object
Head, který executor připravil pro link pod refs/prep/<n>.
| vlastnost | typ | povinné | popis |
| reference |
string |
ano |
Ref. |
| sha |
string |
ano |
Commit, který pojmenovává. |
| state |
PrepState → PrepState |
ano |
Zda je tento commit hlavním commitem, který forge servíruje. |
Používá TrainLink
ProofStep
object
Jeden krok cyklu a co řekl.
| vlastnost | typ | povinné | popis |
| krok |
string |
ano |
refresh, plan, drain --dry-run nebo cleanup. |
| summary |
string |
ano |
Co hlásil, na jednom řádku. |
Používá DryRunProof
PullRequestAssessment
object
Kanonický stav jednoho otevřeného pull requestu: co bylo pozorováno, čím je pro master, jak je klasifikován a proč. Jedna hodnota, kterou vykresluje každý povrch.
| vlastnost | typ | povinné | popis |
| číslo |
integer (uint64) |
ano |
Číslo. |
| název |
string |
ano |
Název. |
| autor |
string |
ano |
Autor. |
| head_ref |
string |
ano |
Hlavní větev. |
| base_ref |
string |
ano |
Základní větev. |
| evaluated_against |
EvaluatedAgainst → EvaluatedAgainst |
ano |
Revize, proti kterým se rozhodovalo. |
| dispozice |
PullRequestDisposition → PullRequestDisposition |
ano |
Klasifikace. |
| superseded_by |
integer | null |
ne |
Nástupce, který přistál a nahrazuje jej, právě tehdy, když je dispozice superseded: dispozice zůstává na drátě jedním slovem a toto je její by. Jinak chybí; nástupce stále otevřený nebo sloučený někam, co master neobsahuje, je místo toho v důkazu supersession a v důvodech, a ten uzavřený nesloučený je jen důkaz. |
| issue |
string | null |
ne |
Úkol z .ai/repo/project/issues/, který jmenuje jeho větev hlavy — složka cesty rovná id, nebo id následované -, tvar, který dává majordomus worktree create --issue — pokud nějaký jmenuje. Odvozeno, nikdy zde nedeklarováno: záznam úkolu a název větve jsou dva zdroje a nic jiného. |
| milestone |
string | null |
ne |
Milník, který záznam daného úkolu deklaruje, pokud nějaký deklaruje. |
| dráha |
IntegrationLane → IntegrationLane |
ano |
Fronta, ve které je. |
| důvody |
array of string |
ano |
Strojově čitelné důvody, jeden pro každé zjištění každé selhávající kontroly, v pořadí politiky: první je rozhodující. Připravený pull request nese, proč je připraven. |
| kontroly |
pole GateResult → GateResult |
ne |
Každá kontrola politiky, v pořadí, a zda prošla. |
| next_action |
string | null |
ne |
Co udělá člověk nebo vykonavatel dále, pokud něco. |
| required_checks |
RequiredCheckState → RequiredCheckState |
ano |
Požadované kontroly na headu. |
| review |
PullRequestReview → PullRequestReview |
ano |
Stav review. |
| vztah |
RelationToMaster → RelationToMaster |
ano |
Čím je head pro master. |
| závislosti |
pole PullRequestDependency → PullRequestDependency |
ano |
Deklarované a odvozené závislosti. |
| authored_paths |
array of string |
ano |
Cesty, které pull request mění (autorské; odvozený výstup je vyloučen). |
| překryvy |
pole PathOverlap → PathOverlap |
ano |
Ostatní otevřené pull requesty měnící stejnou autorskou cestu, se sdílenými cestami. |
| riziko |
IntegrationRisk → IntegrationRisk |
ano |
Riziko plánování. |
| risk_factors |
array of string |
ano |
Proč je riziko takové, jaké je. |
| evidence |
pole IntegrationEvidence → IntegrationEvidence |
ano |
Každý přečtený fakt. |
| created_at |
string |
ano |
Kdy byl otevřen. |
| wait |
ExecutorWait | null → ExecutorWait |
ne |
Jak dlouho je na executoru, aby s ním jednal, a jak často byl místo něj vybrán jiný — odvozeno z auditní stopy (super::wait), přítomno jen dokud je připraven nebo obnovitelný. |
| rank_factors |
RankFactors | null → RankFactors |
ne |
Proč stojí v pořadí tam, kde stojí: každá složka, kterou pořadí porovnává, v pořadí, v jakém je porovnává. Nastavuje plánovač; chybí u posouzení, které nebylo nikdy zařazeno. |
| change_shape |
ChangeShape | null → ChangeShape |
ne |
Co jeho merge do masteru změní, podle druhu (ChangeShape): čteno vedle vztahu, ze stejné dvojice commitů. Chybí, pokud se nepodařilo přečíst. |
Používá IntegrationExplanation IntegrationQueue
PullRequestDependency
object
Explicitní řazení mezi pull requesty, jak je deklarováno.
| vlastnost | typ | povinné | popis |
| číslo |
integer (uint64) |
ano |
Pull request, na který tento čeká. |
| jistota |
DependencyCertainty → DependencyCertainty |
ano |
Jak se to ví. |
| splněno |
boolean |
ano |
Zda je splněna: ten pull request je sloučen. Uzavřený bez sloučení nebo nepřečtený splněn není — závislost, která nikdy nepřistála, není o nic méně závislostí. |
| state |
DependencyState → DependencyState |
ne |
Co forge říká o jeho osudu. open v záznamu zapsaném dřív, než byl přečten. |
Používá PullRequestAssessment
PullRequestDisposition
"ready" | "needs_refresh" | "waiting_for_checks" | "waiting_for_review" | "waiting_for_dependency" | "draft" | "needs_repair" | "conflicting" | "blocked" | "unsafe" | "redundant" | "superseded" | "possibly_redundant" | "other_base" | "unknown" | "obsolete"
Jediná klasifikace otevřeného pull requestu. Každá hodnota nese strojově čitelný důvod v PullRequestAssessment::reasons; neexistuje žádné mergeable: bool.
readyObsahuje aktuální master, každá povinná kontrola na jeho head prošla, nic jej neblokuje: exekutor jej smí sloučit.needs_refreshMergeuje se čistě, ale neobsahuje master: executor smí master přinést (merge commit na větvi, nikdy přepis), po čemž musí CI běžet znovu.waiting_for_checksObsahuje master; požadovaná kontrola na tomto headu neskončila.waiting_for_reviewPovinné review chybí nebo byly vyžádány změny.waiting_for_dependencyDeklarovaná závislost nepřistála.draftKoncept.needs_repairPovinná kontrola na tomto headu selhala.conflictingKonflikty na autorských cestách: řeší je člověk.blockedŠtítek, jehož politika je držet, drží, nebo repozitář nepovoluje žádný merge commit, což je jediný způsob, jakým executor sloučí.unsafeForge má na něm zapnutý auto-merge: forge by ho zmergoval sám, mimo executor a proti jakémukoli masteru, který bude tehdy. Pozastaveno, dokud ho člověk nevypne.redundantJeho head už přistál, jeho merge nic nemění, nebo každý z jeho commitů je na masteru jako shodná záplata: silný důkaz z gitu, způsobilé k uzavření podle politiky. (Před 0.13 to bylo slovo superseded.)supersededNástupce pro něj deklaroval někdo, komu repozitář deklaraci dovoluje — vlastník, člen nebo spolupracovník, v pull requestu tohoto repozitáře — a tento nástupce přistál: git nachází jeho head nebo jeho merge commit v masteru. Nástupce je PullRequestAssessment::superseded_by. Způsobilý k uzavření podle politiky.possibly_redundantSlabý důkaz: změnily by se jen odvozené artefakty, nebo byl jeho deklarovaný nástupce sloučen někam, co master neobsahuje. Předloženo člověku; nikdy se automaticky neuzavírá.other_baseMíří na jinou větev než integrační základ.unknownNěco, co bylo potřeba k rozhodnutí, nešlo pozorovat.obsoleteČlověk jej označil za zastaralý štítkem, který deklaruje politika štítků (rozhodnutí vlastníka D3): jediný důkaz, který toto slovo zakládá. Cleanup jej vypisuje pro člověka a nikdy automaticky neuzavírá; stáří, sdílené cesty ani podobný název ho nikdy nezpůsobí.
Používá CleanupItem PullRequestAssessment RankFactors TrainLink
PullRequestReview
"not_required" | "approved" | "changes_requested" | "pending" | "stale" | "code_owners_pending" | "unknown"
Kde stojí politika recenzí forge.
not_requiredOchrana větve nevyžaduje žádné review.approvedApproved.changes_requestedReviewer požádal o změny.pendingPožadované review nebylo uděleno.staleSchválení byla dána na jiném commitu než na hlavě: schválení je k jednomu commitu a tato nejsou k tomuto.code_owners_pendingSchválení jsou tu, ale schválení vlastníka kódu se stále vyžaduje.unknownOchranu nebylo možné přečíst.
Používá PullRequestAssessment
QueueTallies
object
Kolik pull requestů je v každém nakládání a každé dráze.
| vlastnost | typ | povinné | popis |
| open |
integer (uint) |
ano |
Otevřené pull requesty. |
| by_disposition |
mapa celých čísel (uint) |
ano |
Podle slova dispozice. |
| by_lane |
mapa celých čísel (uint) |
ano |
Podle slova lane. |
Používá IntegrationQueue
RankFactors
object
Co pořadí porovnává, v pořadí: první složka, ve které se dva pull requesty liší, rozhoduje, který je první. Každá je hodnotou posouzení nebo fronty kolem něj, takže pořadí lze vysvětlit a je stejné bez ohledu na to, v jakém pořadí forge pull requesty vypsal.
| vlastnost | typ | povinné | popis |
| dráha |
IntegrationLane → IntegrationLane |
ano |
Dráha: jaký druh práce s ním executor dělá. |
| dispozice |
PullRequestDisposition → PullRequestDisposition |
ano |
Rozhodnutí v rámci pruhu. |
| riziko |
IntegrationRisk → IntegrationRisk |
ano |
Plánovací riziko: nižší první. |
| soupeření |
integer (uint) |
ano |
S kolika dalšími připravenými nebo obnovitelnými pull requesty se překrývá (PathOverlap): společná autorská cesta, bump verze nebo release. Méně první, protože jeho přistání zneplatní méně. |
| závislé |
integer (uint) |
ano |
Kolik otevřených pull requestů deklaruje, že čekají na tento, a ještě nejsou splněné: víc je dřív, protože jeho landing je odblokuje. |
| authored_paths |
integer (uint) |
ano |
Kolik autorských cest mění: nejdřív méně, menší změnu je levnější přistát i vrátit. |
| created_at |
string |
ano |
Kdy byl otevřen: starší první, aby snadná nová práce nevyhladověla starou. |
| číslo |
integer (uint64) |
ano |
Číslo: poslední rozhodovací kritérium, celkem. |
Používá PullRequestAssessment
RelationToMaster
jedna z 9 variant
Jaká je hlava pull requestu vůči aktuálnímu masteru, rozhodnuto lokálně gitem s vlastními merge drivery tohoto repozitáře — nikdy ne mergeable forge, který nedokáže spustit driver odvozených souborů a téměř každý zdejší pull request označuje za konfliktní.
varianta Head je předkem masteru: všechny commity už přistály.
variant Merge headu do masteru nic nemění: jeho patch už tam je celý.
variant Merge by konfliktoval nebo změnil jen odvozený výstup, ale každý commit, který head má a master nemá, je na masteru už jako shodný patch (git cherry označí každý -): změna přistála a master šel dál. Nikdy částečná shoda a nikdy head, který nese vlastní merge commit, jehož řešení nemá patch k porovnání.
| commity | integer (uint64) | ano | Kolik commitů, každý z nich už na masteru. |
| druh | "patch_ids_upstream" | ano | |
varianta Merge mění jen odvozené artefakty: autorská změna už je na masteru a liší se výstup, který generátory přepisují.
| cesty | array of string | ano | Odvozené cesty, které by se změnily. |
| druh | "derived_only" | ano | |
varianta Head už obsahuje master a mergne se čistě.
| ručně psané | array of string | ano | Autorské (neodvozené) cesty, které merge mění. |
| owes_version | string | null | ne | Verze, kterou přidělí přistání tohoto headu, když master přiděluje při přistání (ADR 0134) a head ji nenese: head dluží refresh, přestože master obsahuje. Chybí, když politika nepřiděluje nebo ji head nese. |
| druh | "up_to_date" | ano | |
variant Hlava neobsahuje master, přesto master nedrží nic, co hlavě chybí: jeho sloučení zapíše vlastní strom hlavy a každý commit, který master navíc má, je merge commit. To je hlava postavená na pull requestu, který mezitím přistál. Verdikt o hlavě je pak verdikt o tom, čím se master stane, strom i vypsaná historie, přesně jako když hlava master obsahuje; a nesloučí se žádná cesta, takže forge pro ni nepotřebuje žádný driver.
| pozadu | integer (uint64) | ano | Commity na masteru, které hlava nemá. |
| ručně psané | array of string | ano | Autorské (neodvozené) cesty, které merge mění. |
| druh | "carries_master" | ano | |
variant Head neobsahuje master, ale merge je čistý s odvozeným driverem.
| pozadu | integer (uint64) | ano | Commity na masteru, které hlava nemá. |
| ručně psané | array of string | ano | Psané cesty, které merge mění. |
| druh | "behind" | ano | |
varianta Merge je v konfliktu na autorských cestách: musí ho vyřešit člověk.
| cesty | array of string | ano | Konfliktní autorské cesty. |
| druh | "conflicting" | ano | |
varianta Git nemohl odpovědět (hlava není stažena, nebo git selhal); důvod.
| důvod | string | ano | Why. |
| druh | "unknown" | ano | |
Používá PullRequestAssessment TrainLink
RequiredCheck
object
Jedna kontrola, kterou báze vyžaduje: stavový kontext a aplikace, která ho musí zapisovat, když na ni ochrana vazbu váže. Kontrola toho jména od jiného zapisovatele není tato.
| vlastnost | typ | povinné | popis |
| kontext |
string |
ano |
Kontext stavu, nebo název běhu kontroly. |
| app_id |
integer | null |
ne |
Aplikace s ní svázaná, když ji ochrana jmenuje. |
Používá IntegrationPolicy
RequiredCheckState
"passed" | "skipped" | "pending" | "failed" | "missing" | "unknown"
Stav povinných kontrol repozitáře na jednom hlavním commitu, což je jediný stav kontrol, který čte rozhodnutí o merge. Viditelná zelená kontrola, která není povinná, nic nedokazuje, a povinná kontrola, která chybí, není splněná.
passedKaždá povinná kontrola na tomto headu prošla.skippedKaždá povinná kontrola prošla, alespoň jedna z nich přeskočením, které politika pro daný kontext povoluje. Přeskočení, které politika nepovoluje, není průchod: je to missing.pendingPovinná kontrola je ve frontě nebo běží.failedPovinná kontrola selhala.missingPožadovaná kontrola na tomto headu vůbec nehlásila.unknownPovinné kontroly repozitáře se nepodařilo přečíst.
Používá PullRequestAssessment TrainLink
ReviewPolicy
object
Co základna vyžaduje od revizí, čteno z její ochrany a rulesetů dohromady.
| vlastnost | typ | povinné | popis |
| schválení |
integer (uint64) |
ano |
Kolik schvalujících recenzí merge potřebuje; 0, když žádné. |
| code_owners |
boolean |
ano |
Zda je vyžadováno schválení vlastníkem kódu. |
| dismiss_stale |
boolean |
ano |
Zda forge zruší schválení, když se head pohne. |
Používá IntegrationPolicy
Snímek
object
Vše, co mohl cyklus v jednom okamžiku posunout.
| vlastnost | typ | povinné | popis |
| sekce |
pole SnapshotSection → SnapshotSection |
ano |
Sekce, vždy v pořadí remote, forge, trail, lease, local. |
Používá DryRunProof
SnapshotSection
object
Jedna sekce snapshotu: název a jeho řádky ve stabilním pořadí.
| vlastnost | typ | povinné | popis |
| název |
string |
ano |
remote, forge, trail, lease nebo local. |
| řádky |
array of string |
ano |
Co sekce drží, jeden fakt na řádek, seřazeno tam, kde pořadí nic neznamená. |
Používá Snapshot
Train
object
Jeden vlak: otevřené pull requesty spojené potvrzenými závislostmi, v pořadí, v jakém přistávají.
| vlastnost | typ | povinné | popis |
| id |
string |
ano |
train-<n>, po prvním rootu v pořadí tahů: stabilní, dokud je tento odkaz otevřený. |
| kořeny |
pole integer (uint64) |
ano |
Linky, které přistanou první: pod nimi není žádný otevřený link vlaku. |
| tops |
pole integer (uint64) |
ano |
Odkazy nahoře: žádný odkaz řady na nich není vrstven. |
| next |
integer | null |
ne |
První článek v pořadí, jehož každá závislost přistála: další merge trainu, pokud jde o pořadí (jeho dispozice říká, zda lze mergnout hned). |
| odkazy |
pole TrainLink → TrainLink |
ano |
Každý otevřený odkaz v pořadí tahů — nejdřív TrainLink::position 1. |
| hrany |
pole TrainEdge → TrainEdge |
ano |
Každá potvrzená závislost článku, nejdřív vyšší článek. |
| pod |
pole BeneathLink → BeneathLink |
ano |
Pull requesty pod vlakem, které už nejsou otevřené — přistály, byly uzavřeny bez sloučení nebo nebyly přečteny — a které odkaz stále deklaruje. |
| by_disposition |
mapa celých čísel (uint) |
ano |
Odkazy podle slova dispozice. |
Používá TrainsView
TrainEdge
object
Potvrzená závislost mezi dvěma pull requesty vlaku.
| vlastnost | typ | povinné | popis |
| z |
integer (uint64) |
ano |
Horní článek: ten, který závisí. |
| do |
integer (uint64) |
ano |
Pull request, na kterém stojí. |
| druh |
TrainEdgeKind → TrainEdgeKind |
ano |
Jak je závislost deklarována. |
| splněno |
boolean |
ano |
Zda je splněno: pull request níže přistál. |
Používá Train
TrainEdgeKind
"stacked_on" | "depends_on"
Jak se deklaruje závislost mezi dvěma články.
stacked_onJeho základní větev je head druhého, nebo jeho tělo říká Stacked on #N.depends_onJeho tělo říká Depends on #N, Requires #N nebo Land after #N.
Používá TrainEdge
TrainLink
object
Jeden otevřený pull request jako link vlaku.
| vlastnost | typ | povinné | popis |
| číslo |
integer (uint64) |
ano |
Číslo pull requestu. |
| název |
string |
ano |
Jeho název. |
| autor |
string |
ano |
Přihlašovací jméno jeho autora. |
| head_ref |
string |
ano |
Jeho hlavní větev. |
| base_ref |
string |
ano |
Větev, na kterou míří: integrační základ, nebo head odkazu níže. |
| head_sha |
string |
ano |
Hlavní commit, ve kterém byl posouzen, jak ho servíroval forge. |
| url |
string | null |
ne |
Pull request na forge, když je repozitář znám. |
| checks_url |
string | null |
ne |
Jeho kontroly na forgi, když je repozitář znám. |
| dispozice |
PullRequestDisposition → PullRequestDisposition |
ano |
Klasifikace executoru. |
| dráha |
IntegrationLane → IntegrationLane |
ano |
Dráha, do které toto rozhodnutí patří. |
| důvody |
array of string |
ano |
Strojově čitelné důvody, jak je hláskuje každý povrch (stacked_on:#<number>). |
| next_action |
string | null |
ne |
Co se stane dál, slovy, když se cokoli stane. |
| required_checks |
RequiredCheckState → RequiredCheckState |
ano |
Povinné kontroly na jeho hlavě. |
| kontroly |
pole LinkCheck → LinkCheck |
ano |
Každá kontrola, kterou forge u jeho headu vykázal, povinná či ne. |
| vztah |
RelationToMaster → RelationToMaster |
ano |
Čím je jeho head vůči masteru, rozhodnuto gitem. |
| relation_kind |
string |
ano |
Slovo toho vztahu (behind, up_to_date, carries_master, ...). |
| pozadu |
integer | null |
ne |
Kolik commitů masteru jeho hlavě chybí, když je vztah počítá. |
| carries_master |
boolean |
ano |
Zda jeho hlavní commit nese master vlastním merge (ADR 0129) — čteno ze slova relace, takže spustitelný soubor, který tuto relaci nezná, říká false. |
| příprava |
PreparedHead | null → PreparedHead |
ne |
Hlavní commit, který pro něj executor připravil, když refs/prep/<n> existuje. |
| pozice |
integer (uint) |
ano |
Jeho pořadí ve trainu, od 1: každý článek pod ním je dříve. |
| hloubka |
integer (uint) |
ano |
Kolik článků je pod ním na jeho nejdelší cestě k masteru; kořen je 0. |
| at_turn |
boolean |
ano |
Každá závislost, kterou deklaruje, přistála: je to odkaz, který pořadí povoluje jako další. |
| zapnuto |
pole integer (uint64) |
ano |
Pull requesty, na nichž stojí, otevřené články i ty pod nimi. |
| nese |
pole integer (uint64) |
ano |
Odkazy na něm naskládané. |
| pořadí |
integer (uint) |
ano |
Jeho pořadí ve frontě, počítáno od 1. |
| in_cycle |
boolean |
ano |
Uvízlo v cyklu potvrzených závislostí: žádný článek cyklu nemůže přistát první. |
Používá Train
TrainTallies
object
Počty přes všechny řetězy.
| vlastnost | typ | povinné | popis |
| trains |
integer (uint) |
ano |
Trains. |
| odkazy |
integer (uint) |
ano |
Otevřené články napříč všemi trainy. |
| pending_prep |
integer (uint) |
ano |
Odkazy, jejichž připravený head není headem, který forge servíruje. |
| by_disposition |
mapa celých čísel (uint) |
ano |
Odkazy podle slova dispozice. |
Používá TrainsView
TrainsView
object
Každý vlak pozorované fronty a proč žádný není, když žádný není.
| vlastnost | typ | povinné | popis |
| pozorováno |
boolean |
ano |
Zda je pozorování forge zaznamenáno v tomto checkoutu. |
| důvod |
string | null |
ne |
Proč nejsou žádné vlaky k zobrazení, když není nic pozorováno. |
| repozitář |
string | null |
ne |
owner/name, pokud bylo pozorováno. |
| základ |
string | null |
ne |
Integrační základ. |
| master_sha |
string | null |
ne |
Commit masteru, proti němuž se rozhodl vztah každého odkazu. |
| observed_at |
string | null |
ne |
Kdy byl forge pozorován. |
| trains |
pole Train → Train |
ano |
Každý vlak, jako první ten, jehož další článek je ve frontě nejvýše. |
| unattached_prep |
pole UnattachedPrep → UnattachedPrep |
ano |
Připravené hlavy pod refs/prep/, jejichž pull request není článkem žádného vlaku: otevřený a stohovaný na ničem, nebo vůbec ne otevřený (přistál, uzavřen). |
| součty |
TrainTallies → TrainTallies |
ano |
Počty přes všechny řetězy. |
| diagnostika |
array of string |
ano |
Co dělá tuto odpověď méně než úplnou: vlastní diagnostika fronty (nejdřív zastaralé pozorování) a cyklus závislostí, pokud se najde. |
Používá integration.trains
UnattachedPrep
object
Připravená hlava, jejíž pull request není článkem žádného vlaku.
| vlastnost | typ | povinné | popis |
| číslo |
integer (uint64) |
ano |
Pull request, po kterém je ref pojmenován. |
| sha |
string |
ano |
Commit, který pojmenovává. |
| open |
boolean |
ano |
Zda je ten pull request otevřen. |
Používá TrainsView