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

Která práce realizuje který záměr: každá úloha ledgeru tohoto checkoutu s epizodami, providery a předávkami, které ji nesly, každý uzavřený záznam relace a každý claim na nástěnce peerů, spojené přes plán se záměry, kterým slouží, každý odkaz označený jako deklarovaný, pozorovaný, odvozený nebo odhadnutý; nesplněná kritéria každého záměru s úkoly, které jim slouží; a rozpor mezi uzavřenou prací a aktuálními důkazy. Odvozeno při každém čtení a nikde neuloženo, takže záměr přežije každou relaci a providera, kteří na něm pracovali.

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.

intent_realization

Která práce realizuje který záměr: každá úloha ledgeru tohoto checkoutu s epizodami, providery a předávkami, které ji nesly, každý uzavřený záznam relace a každý claim na nástěnce peerů, spojené přes plán se záměry, kterým slouží, každý odkaz označený jako deklarovaný, pozorovaný, odvozený nebo odhadnutý; nesplněná kritéria každého záměru s úkoly, které jim slouží; a rozpor mezi uzavřenou prací a aktuálními důkazy. Odvozeno při každém čtení a nikde neuloženo, takže záměr přežije každou relaci a providera, kteří na něm pracovali.

GET /api/v1/intents/explain intent_realization.explain

Proč záměr stojí tam, kde stojí

Jeden záměr vysvětlený jen z odvození: věta o jeho fázi pojmenovávající odvozený stav každého milníku, věta na kritérium pojmenovávající stav jeho důkazů, pokrytí plánem a příkaz, který ho reprodukuje, věta o práci a providerech, kteří ho realizují, a každé zjištění driftu; vedle nich odvozený záměr, pokrytí jeho kritérií, jeho realizace a s ním spojená práce.

  • query
  • behaviorally_verified
  • vyžaduje se měření výkonu
  • cache vypnuta
  • nástroj MCP majordomus_intent_explain
  • $ intent explain

Parametry dotazu

názevtyppovinnépopispříklady
id string ano Id záměru. first-intent: "a-brief-is-reconciled-into-the-plan"

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/intents/explain?id=a-brief-is-reconciled-into-the-plan"

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 IntentExplanation Proč záměr stojí tam, kde stojí: 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/intents/realization intent_realization.work

Která práce realizuje který záměr a co každému ještě chybí

Každá jednotka práce, kterou tento checkout vidí — úlohy ledgeru s epizodami, providery a předávkami, uzavřené záznamy relací, claimy peerů — s každým záměrem, který realizuje přes úkol, milník a kritérium, s původem každého odkazu (declared: práce cituje úkol; observed: její epizoda úkol posunula; derived: její větev úkol pojmenovává; inferred: jen rozsah otevřeného úkolu se překrývá) nebo s prvním chybějícím odkazem; každý záměr s nesplněnými kritérii a úkoly, které každému slouží, prací a providery, kteří ho realizují, a jeho driftem: closed_work_contradicted, když je každý milník DONE a důkazy kritéria jsou zastaralé nebo selhávají, closed_work_unproven, když nikdy neexistovaly, criterion_closed_unmet, když je každý sloužící úkol DONE a kritérium není splněno; a tam, kde se fáze a verdikt rozcházejí (ADR 0107), evidence_ahead_of_plan, když je verdikt satisfied, zatímco fáze je planned nebo executing, closed_work_not_satisfied, když je každý milník DONE a verdikt je unsatisfied nebo unknown. Živá práce, která neslouží žádnému záměru, je varování.

  • query
  • behaviorally_verified
  • vyžaduje se měření výkonu
  • cache vypnuta
  • nástroj MCP majordomus_intent_realization
  • $ intent realization

Parametry dotazu

názevtyppovinnépopispříklady
intent string ne Id záměru. Je-li zadáno, odpoví se jen pro tento záměr, práci s ním spojenou a jeho nálezy; nespojená práce se vynechá. first-intent: "a-brief-is-reconciled-into-the-plan"

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/intents/realization?intent=a-brief-is-reconciled-into-the-plan"

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 IntentRealization Která práce realizuje který záměr a co každému ještě chybí: 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.

IntentEpisode

object
Jedna epizoda provádění kusu práce a poskytovatel, který ji provedl, když to záznam říká. Poskytovatel se nikdy neodhaduje: epizoda otevřená ručně žádného nemá.

use majordomus_cli::intent_realization::IntentEpisode;
let e = IntentEpisode {
    session: "s-1".into(),
    provider: "codex".into(),
    provider_session: String::new(),
};
assert_eq!(e.provider, "codex");
vlastnosttyppovinnépopis
session string ne Id epizody, s-...; prázdné pro spojení peera, které není epizodou.
provider string ne Provider, jak ho jmenují jeho vlastní události nebo klient peeru; prázdné, když není znám.
provider_session string ne Vlastní identita relace poskytovatele, pokud je zaznamenána.

Používá IntentWorkUnit

IntentExplanation

object
Proč záměr stojí tam, kde stojí: záznam, každá věta vysvětlující fázi a každé kritérium, pokrytí jeho kritérií plánem a práce, která ho realizuje.

use majordomus_cli::intent_realization::IntentExplanation;
// every sentence is derived; an explanation holds no authored status
let fields = serde_json::to_value(schemars::schema_for!(IntentExplanation)).unwrap();
assert!(fields["properties"]["because"].is_object());
vlastnosttyppovinnépopis
intent IntentView → IntentView ano Záměr, odvozený.
protože array of string ano Jedna věta na každý fakt, na kterém fáze spočívá: fáze, každé kritérium, práce.
coverage pole CriterionCoverage → CriterionCoverage ano Pokrytí každého z kritérií plánem.
realization IntentRealizationView → IntentRealizationView ano Její realizace.
práce pole IntentRealizedWork → IntentRealizedWork ano Každá jednotka práce s ním spojená, včetně jejích vazeb.

Používá intent_realization.explain

IntentLinkProvenance

"declared" | "observed" | "derived" | "inferred"
Jak se pozná vazba od kusu práce k úkolu, od nejsilnější.

use majordomus_cli::intent_realization::IntentLinkProvenance;
assert_eq!(
    serde_json::to_string(&IntentLinkProvenance::Inferred).unwrap(),
    "\"inferred\""
);
assert!(IntentLinkProvenance::Observed < IntentLinkProvenance::Derived);
  • declaredPráce jmenuje úkol sama.
  • observedZaznamenaná událost ukazuje, jak epizoda práce posouvá úkol.
  • derivedVětev, na které práce běžela, jmenuje úkol podle pravidla pojmenování worktree.
  • inferredNic silnějšího neexistuje a rozsah otevřeného úkolu se překrývá s rozsahem práce.

Používá IntentLink IntentWorkRef

IntentLinkVia

"named_issue" | "moved_issue" | "branch_issue" | "scope_overlap"
Fakt, z něhož byl odkaz přečten.

use majordomus_cli::intent_realization::IntentLinkVia;
assert_eq!(serde_json::to_string(&IntentLinkVia::BranchIssue).unwrap(), "\"branch_issue\"");
assert_eq!(IntentLinkVia::ScopeOverlap.provenance().as_str(), "inferred");
  • named_issueTvrzení nebo vlastní slova úlohy citují úkol id.
  • moved_issuePřechod plánu v epizodě práce, nebo issues záznamu relace.
  • branch_issueNázev větve obsahuje id úkolu.
  • scope_overlapRozsah otevřeného úkolu se překrývá s rozsahem práce.

Používá IntentLink

IntentRealization

object
Každý záměr, realizovaný, a každá jednotka práce, spojené: na co odpovídá majordomus intent realization.

use majordomus_cli::intent_realization::IntentRealization;
let r = IntentRealization { intents: vec![], work: vec![], orphans: 0, findings: vec![] };
assert_eq!(r.orphans, 0);
vlastnosttyppovinnépopis
intenty pole IntentRealizationView → IntentRealizationView ano Každý záměr, v pořadí identit.
práce pole IntentRealizedWork → IntentRealizedWork ano Každá přečtená jednotka práce, s jejími odkazy.
osiřelé integer (uint) ano Kolik jednotek práce nerealizuje žádný záměr.
zjištění pole IntentFinding → IntentFinding ano Každý nález: nejprve odchylka každého záměru, pak živá práce, která neslouží žádnému záměru.

Používá intent_realization.work

IntentRealizationView

object
Jeden záměr, realizovaný: jak daleko je od něj realita, práce, která ho realizuje, a kým, a drift mezi uzavřenou prací a aktuálními důkazy.

use majordomus_cli::intent::IntentStage;
use majordomus_cli::intent_realization::IntentRealizationView;
let v = IntentRealizationView {
    intent: "x".into(), title: "X".into(), stage: IntentStage::Verifying,
    criteria: 2, met: 1, unmet: vec![], work: vec![], providers: vec![], findings: vec![],
};
assert!(v.met < v.criteria);
vlastnosttyppovinnépopis
intent string ano Záměr.
název string ano Jeho název.
fáze IntentStage → IntentStage ano Její odvozená fáze.
kritéria integer (uint) ano Kolik kritérií deklaruje.
splněno integer (uint) ano Kolik jich má aktuální důkazy.
nesplněno pole IntentUnmetCriterion → IntentUnmetCriterion ano Každé kritérium bez aktuálních důkazů.
práce pole IntentWorkRef → IntentWorkRef ano Každá jednotka práce, která je s ním propojena, nejsilnější vazba první.
providers array of string ano Každý provider, který spustil související práci, vždy jednou.
zjištění pole IntentFinding → IntentFinding ano Drift mezi uzavřením plánu a důkazy.

Používá IntentExplanation IntentRealization

IntentRealizedWork

object
Jednotka práce s každým záměrem, který realizuje, nebo s důvodem, proč nerealizuje žádný.

use majordomus_cli::intent_realization::{IntentRealizedWork, IntentWorkKind, IntentWorkUnit};
let w = IntentRealizedWork {
    work: IntentWorkUnit::new(IntentWorkKind::Task, "t-1"),
    links: vec![],
    unlinked: Some("it names no issue".into()),
};
assert!(w.links.is_empty() && w.unlinked.is_some());
vlastnosttyppovinnépopis
práce IntentWorkUnit → IntentWorkUnit ano Práce, jak byla zaznamenána.
odkazy pole IntentLink → IntentLink ano Každý intent, který realizuje, nejsilnější vazba na úkol.
nepropojeno string | null ne Když nerealizuje nic: první chybějící článek.

Používá IntentExplanation IntentRealization

IntentUnmetCriterion

object
Kritérium, které záměru stále chybí, s úkoly, které deklarují, že mu slouží.

use majordomus_cli::intent::IntentEvidenceState;
use majordomus_cli::intent_realization::IntentUnmetCriterion;
let c = IntentUnmetCriterion {
    id: "surfaces-agree".into(), criterion: "the surfaces agree".into(),
    evidence: "test".into(), state: IntentEvidenceState::Stale,
    reproduce: None, issues: vec!["I1900".into()],
};
assert_eq!(c.state, IntentEvidenceState::Stale);
vlastnosttyppovinnépopis
id string ano Id kritéria.
kritérium string ano Co musí být pozorovatelně pravda.
evidence string ano Druh důkazu, který to rozhoduje.
state IntentEvidenceState → IntentEvidenceState ano Proč není splněna.
reprodukovat string | null ne Příkaz, který vytváří jeho důkazy, pokud je znám.
úkoly array of string ne Úkoly, které deklarují, že mu slouží, v pořadí plánu.

Používá IntentRealizationView

IntentWorkKind

"task" | "peer_claim" | "session_record"
Ze kterého záznamu byla jednotka práce přečtena.

use majordomus_cli::intent_realization::IntentWorkKind;
assert_eq!(serde_json::to_string(&IntentWorkKind::PeerClaim).unwrap(), "\"peer_claim\"");
  • taskÚloha z ledgeru tohoto checkoutu: trvalá jednotka, na kterou předávka navazuje, napříč všemi epizodami, které na ní pracovaly.
  • peer_claimTvrzení, které peer oznámil na nástěnce sdíleného serveru.
  • session_recordUzavřený záznam relace sdílené vrstvy, jehož epizodu ledger tohoto checkoutu nedrží — práce jiného stroje nebo jiného checkoutu.

Používá IntentWorkRef IntentWorkUnit

IntentWorkRef

object
Jednotka práce tak, jak ji vidí jeden záměr: který záznam, jak stojí a nejsilnější vazba.

use majordomus_cli::intent_realization::{IntentLinkProvenance, IntentWorkKind, IntentWorkRef};
let r = IntentWorkRef {
    kind: IntentWorkKind::Task, id: "t-1".into(), outcome: "active".into(),
    provenance: IntentLinkProvenance::Observed, providers: vec!["codex".into()],
    handovers: 1,
};
assert_eq!(r.handovers, 1);
vlastnosttyppovinnépopis
druh IntentWorkKind → IntentWorkKind ano Který záznam.
id string ano Jeho identita tam.
výsledek string ne Jak to stojí.
provenance IntentLinkProvenance → IntentLinkProvenance ano Nejsilnější z jeho vazeb k tomuto záměru.
providers array of string ne Provideři, kteří jej spustili.
předávky integer (uint) ano Kolik předávek jej neslo.

Používá IntentRealizationView

IntentWorkUnit

object
Jedna jednotka práce tak, jak ji popisují její záznamy, než je spojena s jakýmkoli záměrem.

use majordomus_cli::intent_realization::{IntentWorkKind, IntentWorkUnit};
let unit = IntentWorkUnit::new(IntentWorkKind::Task, "t-1");
assert!(unit.episodes.is_empty());
assert_eq!(unit.id, "t-1");
vlastnosttyppovinnépopis
druh IntentWorkKind → IntentWorkKind ano Ze kterého záznamu byl přečten.
id string ano Jeho identita v onom záznamu: id úlohy, id relace nebo <peer>/<claim>.
název string ne Co o sobě říká, vlastními slovy.
výsledek string ne Kde stojí: výsledek úlohy, relace, nebo attached/departed pro claim.
branches array of string ne Větve, na kterých běžel, v pořadí prvního spatření.
scope array of string ne Cesty, které si nárokuje.
epizody pole IntentEpisode → IntentEpisode ne Každá epizoda, která na tom pracovala, v pořadí prvního spatření.
předávky array of string ne Předávky, které ji přenesly z jedné epizody do další, relativní k repozitáři.
named_issues array of string ne Id úkolů, které citují jeho vlastní slova.
moved_issues array of string ne Id úkolů, které zaznamenaná událost ukazuje jako posouvané.

Používá IntentRealizedWork

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