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: integration

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á.

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.

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á.

GET /api/v1/pull-requests integration.queue

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

statustělový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.
GET /api/v1/pull-requests/cleanup integration.cleanup

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

statustělový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.
GET /api/v1/pull-requests/events integration.events

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

statustělový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.
GET /api/v1/pull-requests/explain integration.explain

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

statustělový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.
GET /api/v1/pull-requests/prove-dry-run integration.prove_dry_run

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

statustělový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.
GET /api/v1/pull-requests/timings integration.timings

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

statustělový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.
GET /api/v1/pull-requests/trains integration.trains

Ř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

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

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ě.
vlastnosttyppovinné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.
vlastnosttyppovinné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ží.
vlastnosttyppovinné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.
vlastnosttyppovinné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.
vlastnosttyppovinné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á.
vlastnosttyppovinné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_atstringanoKdy byl forge pozorován, RFC 3339.
druh"forge"ano
variant Git na této dvojici commitů.
master_shastringanoCommit na masteru.
head_shastringanoCommit 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.
vlastnosttyppovinné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.
vlastnosttyppovinné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.
vlastnosttyppovinné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.
vlastnosttyppovinné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.
vlastnosttyppovinné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.
vlastnosttyppovinné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.
vlastnosttyppovinné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á.
vlastnosttyppovinné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.
vlastnosttyppovinné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.
vlastnosttyppovinné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ý.
vlastnosttyppovinné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í.
vlastnosttyppovinné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.
vlastnosttyppovinné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.
vlastnosttyppovinné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.
vlastnosttyppovinné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.
vlastnosttyppovinné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.
vlastnosttyppovinné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íť.
vlastnosttyppovinné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.
vlastnosttyppovinné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ší.
vlastnosttyppovinné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.
vlastnosttyppovinné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.
vlastnosttyppovinné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.
vlastnosttyppovinné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>.
vlastnosttyppovinné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.
vlastnosttyppovinné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.
vlastnosttyppovinné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.
vlastnosttyppovinné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.
vlastnosttyppovinné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.
vlastnosttyppovinné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.
druh"contained"ano
variant Merge headu do masteru nic nemění: jeho patch už tam je celý.
druh"superseded"ano
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í.
commityinteger (uint64)anoKolik 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í.
cestyarray of stringanoOdvozené cesty, které by se změnily.
druh"derived_only"ano
varianta Head už obsahuje master a mergne se čistě.
ručně psanéarray of stringanoAutorské (neodvozené) cesty, které merge mění.
owes_versionstring | nullneVerze, 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.
pozaduinteger (uint64)anoCommity na masteru, které hlava nemá.
ručně psanéarray of stringanoAutorské (neodvozené) cesty, které merge mění.
druh"carries_master"ano
variant Head neobsahuje master, ale merge je čistý s odvozeným driverem.
pozaduinteger (uint64)anoCommity na masteru, které hlava nemá.
ručně psanéarray of stringanoPsané 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.
cestyarray of stringanoKonfliktní autorské cesty.
druh"conflicting"ano
varianta Git nemohl odpovědět (hlava není stažena, nebo git selhal); důvod.
důvodstringanoWhy.
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.
vlastnosttyppovinné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.
vlastnosttyppovinné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.
vlastnosttyppovinné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í.
vlastnosttyppovinné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í.
vlastnosttyppovinné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.
vlastnosttyppovinné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

TrainTallies

object
Počty přes všechny řetězy.
vlastnosttyppovinné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í.
vlastnosttyppovinné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.
vlastnosttyppovinné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

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