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.

plan.waves

Topologické vrstvení grafu úkolů: úkol vstoupí do vlny, až když ji opustila každá jeho závislost, takže jeho vlna je o jedna za nejdelší cestou k němu. Sdílení vlny je nutná podmínka pro souběžné spuštění dvou úkolů, ne dostatečná — překrývající se rozsah je serializuje a každý takový překryv se hlásí vedle vln, místo aby ho dva pracovníci objevili v merge konfliktu.

Topologické vrstvení grafu úkolů: úkol vstoupí do vlny, až když ji opustila každá jeho závislost, takže jeho vlna je o jedna za nejdelší cestou k němu. Sdílení vlny je nutná podmínka pro souběžné spuštění dvou úkolů, ne dostatečná — překrývající se rozsah je serializuje a každý takový překryv se hlásí vedle vln, místo aby ho dva pracovníci objevili v merge konfliktu.

  • query
  • behaviorally_verified
  • modul plan
  • #plan
  • #project
  • #graph
  • #waves

Zpřístupnění

Kde je tato jedna definice dosažitelná. Absence je explicitní: povrch, který není uveden, ji nenese.

povrchjako
MCPnástroj majordomus_plan_waves
HTTPGET /api/v1/plan/waves operationId plan.waves
příkazová řádka—

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 · PlanMilestoneFilter

Na kterou část plánu odpovědět.
vlastnosttyppovinnépopis
milestone string | null ne Omezit odpověď na jeden milník. Výchozí: celý plán, a pro next aktivní milník se zbytkem plánu jako zálohou.
JSON Schema
{
  "additionalProperties": false,
  "description": "Which part of the plan to answer about.",
  "properties": {
    "milestone": {
      "description": "Restrict the answer to one milestone. Default: the whole plan, and for `next` the\nactive milestone with the rest of the plan as the fallback.",
      "type": [
        "string",
        "null"
      ]
    }
  },
  "title": "PlanMilestoneFilter",
  "type": "object"
}

výstup · PlanWaveReport

Vlny provádění s překryvy, které serializují úkoly, jež by graf nechal běžet společně.
vlastnosttyppovinnépopis
serialised_by_scope array ano Překryvy rozsahu mezi dvěma úkoly jedné vlny. Sdílení vlny dvěma úkoly je nutná podmínka pro jejich souběžný běh, ne postačující: překrývající se rozsah je serializuje a překryv se hlásí zde, místo aby ho dva pracovníci objevili v konfliktu.
vlny array ano Vlny, nejnižší první, s úkoly každé z nich.
JSON Schema
{
  "$defs": {
    "PlanFinding": {
      "description": "One validation finding, in the shape `project.finding-carries-reproduce` asks for.",
      "properties": {
        "code": {
          "description": "The stable code a reader greps for (`unknown_dependency`, `scope_conflict`, …).",
          "type": "string"
        },
        "level": {
          "description": "`FAIL` or `WARN`. A failure means the model is invalid.",
          "type": "string"
        },
        "message": {
          "description": "What is wrong, in one line.",
          "type": "string"
        },
        "subject": {
          "description": "The record the finding is about, or `graph` when it is about the whole graph.",
          "type": "string"
        }
      },
      "required": [
        "level",
        "code",
        "subject",
        "message"
      ],
      "type": "object"
    },
    "PlanIssue": {
      "description": "One issue, as its record declares it and as the graph derives it.",
      "properties": {
        "blocked_by": {
          "description": "The dependencies that are not DONE, plus `milestone:<id>` when the milestone gate\nholds the whole outcome back.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "completed_at": {
          "description": "When completion was recorded.",
          "type": "string"
        },
        "dependents": {
          "description": "The issues that depend on this one.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "depends_on": {
          "description": "Every issue it declares a dependency on, as declared — including one that does not\nexist, which is a finding rather than a silent omission.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "evidence_have": {
          "description": "Evidence entries attached.",
          "format": "uint32",
          "minimum": 0,
          "type": "integer"
        },
        "evidence_need": {
          "description": "Evidence tokens the record requires before it may be DONE.",
          "format": "uint32",
          "minimum": 0,
          "type": "integer"
        },
        "id": {
          "description": "The identity, which is also the file name.",
          "type": "string"
        },
        "milestone": {
          "description": "The milestone it belongs to.",
          "type": "string"
        },
        "objective": {
          "description": "One line: what the issue is for.",
          "type": "string"
        },
        "parallel_safe": {
          "description": "Whether it may run beside another issue of its wave.",
          "type": "boolean"
        },
        "priority": {
          "description": "`p0` … `p3`.",
          "type": "string"
        },
        "profile": {
          "description": "The execution profile the issue is worked under.",
          "type": "string"
        },
        "scope": {
          "description": "The paths it touches; two issues of one wave that share a path are serialised.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "serves": {
          "description": "The intent criteria it exists to make true, each `<intent>#<criterion>`, as declared.\nEmpty for maintenance work under a milestone no intent names; whether a named\ncriterion exists is the intent coverage's question, not the plan's.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "slug": {
          "description": "The slug, when the record carries one.",
          "type": "string"
        },
        "started_at": {
          "description": "When execution began, when it did.",
          "type": "string"
        },
        "status": {
          "description": "The derived status. Never stored: an issue records what happened to it and the\nstatus follows from that and from the state of its dependencies.",
          "type": "string"
        },
        "title": {
          "description": "One line naming the outcome.",
          "type": "string"
        },
        "verified_at": {
          "description": "When implementation was declared complete.",
          "type": "string"
        },
        "wave": {
          "description": "The execution wave: one past the longest path to it through the dependency graph.",
          "format": "uint32",
          "minimum": 0,
          "type": "integer"
        }
      },
      "required": [
        "id",
        "milestone",
        "status",
        "wave",
        "priority",
        "profile",
        "parallel_safe",
        "title",
        "slug",
        "depends_on",
        "blocked_by",
        "dependents",
        "scope",
        "serves",
        "objective",
        "evidence_have",
        "evidence_need",
        "started_at",
        "verified_at",
        "completed_at"
      ],
      "type": "object"
    },
    "PlanWaveView": {
      "description": "One wave, with the issues in it.",
      "properties": {
        "issues": {
          "description": "The issues in it, in id order.",
          "items": {
            "$ref": "#/$defs/PlanIssue"
          },
          "type": "array"
        },
        "wave": {
          "description": "The layer, from zero.",
          "format": "uint32",
          "minimum": 0,
          "type": "integer"
        }
      },
      "required": [
        "wave",
        "issues"
      ],
      "type": "object"
    }
  },
  "description": "The execution waves, with the overlaps that serialise issues the graph would let run\ntogether.",
  "properties": {
    "serialised_by_scope": {
      "description": "Scope overlaps between two issues of one wave. Two issues sharing a wave is a\nnecessary condition for running them at once, not a sufficient one: overlapping\nscope serialises them, and the overlap is reported here rather than left for two\nworkers to discover in a conflict.",
      "items": {
        "$ref": "#/$defs/PlanFinding"
      },
      "type": "array"
    },
    "waves": {
      "description": "The waves, lowest first, with the issues of each.",
      "items": {
        "$ref": "#/$defs/PlanWaveView"
      },
      "type": "array"
    }
  },
  "required": [
    "waves",
    "serialised_by_scope"
  ],
  "title": "PlanWaveReport",
  "type": "object"
}

Politiky

benchmark
povinné — cíl na každém transportu, který expozice deklaruje; případy jsou ty ze vstupního typu
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.

transportstatepřípadytargets
directpokryto2whole-plan
one-milestone
mcppokryto2whole-plan
one-milestone
httppokryto2whole-plan
one-milestone

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