integration.prove_dry_run
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.
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í
- module integration
- #integration
- #pull-requests
- #proof
- #live
Zpřístupnění
Kde je tato jedna definice dosažitelná. Absence je explicitní: povrch, který není uveden, ji nenese.
| povrch | jako |
|---|---|
| MCP | nástroj majordomus_pull_requests_prove_dry_run |
| HTTP | GET /api/v1/pull-requests/prove-dry-run operationId integration.prove_dry_run |
| příkazová řádka | majordomus prs prove-dry-run |
Schémata
Kanonický vstup a výstup z typů Rustu; schéma nástroje MCP a parametry a odpovědi OpenAPI se odvozují z nich.
vstup · Prázdné
Žádné vlastnosti: schopnost nebere žádný vstup.
JSON Schema
{
"additionalProperties": false,
"description": "No input.",
"title": "Empty",
"type": "object"
}výstup · DryRunProof
| vlastnost | typ | povinné | popis |
|---|---|---|---|
| po | reference | ano | Snapshot po něm. |
| základ | string | ano | Základní větev, na které exekutor pracuje. |
| před | reference | ano | Snapshot před cyklem. |
| klasifikace | array | ano | Každý otevřený pull request tak, jak jej cyklus klasifikoval, v pořadí podle rankingu. |
| zrcadla | array | ano | Každý zrcadlený ref, který není tím, co obsluhuje origin; prázdné, když jsou všechny. |
| přesunuto | array | ano | Každý řádek, který se mezi snapshoty liší; prázdné, když se nic nepohnulo. |
| ok | boolean | ano | Pravda právě tehdy, když se nic nepohnulo a každé zrcadlo se rovná tomu, co poskytuje origin. |
| kroky | array | ano | Cyklus, krok za krokem. |
JSON Schema
{
"$defs": {
"Moved": {
"description": "One line that differs between the two snapshots.",
"properties": {
"change": {
"description": "`added` (present only after the cycle) or `removed` (present only before).",
"type": "string"
},
"line": {
"description": "The line itself.",
"type": "string"
},
"section": {
"description": "The section it belongs to.",
"type": "string"
}
},
"required": [
"section",
"change",
"line"
],
"type": "object"
},
"ObservedClassification": {
"description": "One open pull request as the cycle classified it.",
"properties": {
"disposition": {
"description": "Its disposition, as the queue names it.",
"type": "string"
},
"head_sha": {
"description": "The head it was decided against.",
"type": "string"
},
"next_action": {
"description": "What the executor would do with it, when anything.",
"type": [
"string",
"null"
]
},
"number": {
"description": "The pull request.",
"format": "uint64",
"minimum": 0,
"type": "integer"
}
},
"required": [
"number",
"head_sha",
"disposition"
],
"type": "object"
},
"ProofStep": {
"description": "One step of the cycle and what it said.",
"properties": {
"step": {
"description": "`refresh`, `plan`, `drain --dry-run` or `cleanup`.",
"type": "string"
},
"summary": {
"description": "What it reported, in one line.",
"type": "string"
}
},
"required": [
"step",
"summary"
],
"type": "object"
},
"Snapshot": {
"description": "Everything the cycle could move, at one moment.",
"properties": {
"sections": {
"description": "The sections, always in the order `remote`, `forge`, `trail`, `lease`, `local`.",
"items": {
"$ref": "#/$defs/SnapshotSection"
},
"type": "array"
}
},
"required": [
"sections"
],
"type": "object"
},
"SnapshotSection": {
"description": "One section of a snapshot: a name and its lines, in a stable order.",
"properties": {
"lines": {
"description": "What the section holds, one fact per line, sorted where order carries no meaning.",
"items": {
"type": "string"
},
"type": "array"
},
"name": {
"description": "`remote`, `forge`, `trail`, `lease` or `local`.",
"type": "string"
}
},
"required": [
"name",
"lines"
],
"type": "object"
}
},
"description": "The verdict: what was compared, what moved, and what the cycle observed.",
"properties": {
"after": {
"$ref": "#/$defs/Snapshot",
"description": "The snapshot after it."
},
"base": {
"description": "The base branch the executor works on.",
"type": "string"
},
"before": {
"$ref": "#/$defs/Snapshot",
"description": "The snapshot before the cycle."
},
"classification": {
"description": "Every open pull request as the cycle classified it, in rank order.",
"items": {
"$ref": "#/$defs/ObservedClassification"
},
"type": "array"
},
"mirrors": {
"description": "Every mirrored ref that is not what origin serves; empty when they all are.",
"items": {
"type": "string"
},
"type": "array"
},
"moved": {
"description": "Every line that differs between the snapshots; empty when nothing moved.",
"items": {
"$ref": "#/$defs/Moved"
},
"type": "array"
},
"ok": {
"description": "True exactly when nothing moved and every mirror equals what origin serves.",
"type": "boolean"
},
"steps": {
"description": "The cycle, step by step.",
"items": {
"$ref": "#/$defs/ProofStep"
},
"type": "array"
}
},
"required": [
"ok",
"base",
"steps",
"moved",
"mirrors",
"before",
"after",
"classification"
],
"title": "DryRunProof",
"type": "object"
}Politiky
- benchmark
- waived — prominuto: external_dependency
- cache
- vypnuto — každé volání spustí handler
Cíle benchmarku
Odvozeno z registru pro tento repozitář: jeden požadavek na transport a případy, které poskytuje typ vstupu. Celá matice je na stránce měření výkonu.
| transport | state | případy | targets |
|---|---|---|---|
| direct | prominuto (external_dependency) | 0 | |
| mcp | prominuto (external_dependency) | 0 | |
| http | prominuto (external_dependency) | 0 |