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.

development-runtime — Runtime má vývojový povrch

Vývojový přechod se rozhoduje přesně na jednom místě, v `capability!` druhu `command` v registru Rustu, a každý povrch, který ho nabízí, je projekce: CLI, nástroj MCP, HTTP routa, operace OpenAPI a generovaný formulář runneru v Cockpitu, žádný z nich není psaný ručně. Životní cyklus přestává být druhým programem bez povrchů a historie provádění, kterou by vývojový povrch ukazoval, existuje někde trvale.

AKTIVNÍ 55 of 85 issues done

připraveno
19
blokováno
10
aktivní
0
verify
1
hotovo
55
zrušeno
0

Problém

Cockpit je věrná projekce registru, který v sobě nemá téměř nic vývojového. Znovu změřeno na dnešním masteru, registr deklaruje přesně tři schopnosti druhu `command` — executions.start, executions.cancel, peers.announce — a dokument OpenAPI, který server servíruje, má přesně těchto tři operace jiné než GET. Každý příkaz vývojového životního cyklu žije ve druhém programu, bin/majordomus, a každý jeho uzel v grafu příkazů je zadržen před každým strojovým povrchem. Žádný vývojový povrch tedy nelze postavit přidáním stránek: za stránkami není nic, co by se dalo volat, a `majordomus_plan_done` odpovídá `unknown tool`, protože pro přechod plánu neexistuje schopnost. docs/COCKPIT_IDE_AUDIT.md je důkaz; ADR 0040 je rozhodnutí, které obhajuje. Dokud tento milník neexistoval, nic z toho nebylo v plánu: klíčové hledání v úkolech a milnících pro paletu, diff view, stav CI a zvýraznění syntaxe nevrátilo nic, takže práci nebylo možné naplánovat, blokovat ani o ní reportovat.

Výsledek

Vývojový přechod se rozhoduje přesně na jednom místě, v `capability!` druhu `command` v registru Rustu, a každý povrch, který ho nabízí, je projekce: CLI, nástroj MCP, HTTP routa, operace OpenAPI a generovaný formulář runneru v Cockpitu, žádný z nich není psaný ručně. Životní cyklus přestává být druhým programem bez povrchů a historie provádění, kterou by vývojový povrch ukazoval, existuje někde trvale.

Aktuální stav

Tři příkazové schopnosti, všechny o exekucích nebo peerech. Přechody životního cyklu existují jen v lib/plan.sh a lib/start.sh. `majordomus run` se provádí ve vlastním procesu a nikdy nedosáhne běžícího serveru, takže rovina exekucí, kterou ukazuje Cockpit, a ta, kterou používá člověk, jsou disjunktní. Server, jehož spustitelný soubor byl nahrazen, se stále hlásí jako `ready`. Dvě schopnosti — devtask.issue a devtask.milestone — přistály po základu auditu a dávají runtime první kanonické čtení úkolu a milníku jako práce; ani jedna nic nezapisuje.

Cílový stav

Fáze A plánu auditu přistála od začátku do konce — jeden přechod, jedna schopnost, čtyři povrchy, žádná ručně psaná projekce — a fáze, které na ní závisejí, lze proti ní plánovat. Tři nosné vady jmenované v tabulce F auditu jsou opraveny nebo výslovně odloženy se záznamem, místo aby se mlčky nesly pod každým pozdějším měřením.

Rozsah

  • apps/majordomus-cli/src/capability/builtin
  • apps/majordomus-cli/src/cockpit
  • lib
  • podíl
  • dokumentace
  • test/cases

Mimo rozsah

  • Terminál, PTY nebo shellové provádění na jakémkoli povrchu. Audit to eviduje jako non-goal a share/cockpit/palette.js již hranici uvádí doslova.
  • Úprava zdroje repozitáře v prohlížeči. Cockpit odmítá každou trasu jinou než GET rozhodnutím a tento milník to rozhodnutí znovu neotevírá.
  • Opakování a plánovač. apps/majordomus-cli/src/execution/mod.rs ve své vlastní dokumentaci modulu uvádí, že je z rozhodnutí nemá.
  • Druhé datové úložiště nebo druhý projektový model. Záznamy zůstávají kanonické a runtime je čte.
  • Doba odezvy `/cockpit/worktrees`. Je to F3 v tabulce auditu a opravuje se na fix/cockpit-answers-quickly; tento milník na tu práci odkazuje, místo aby ji duplikoval.
  • Celkový přenos lib/*.sh. Fáze A je jeden přechod; zbytek je naplánován za ní, nebo vůbec.

Kritéria přijetí

  • Registr deklaruje alespoň jednu schopnost druhu command, která mění vývojový záznam, a generované OpenAPI nese její operaci jinou než GET, aniž by kdokoli upravoval dokument
  • Stejný přechod je dosažitelný z CLI, z MCP i přes HTTP a stávající generický runner Cockpitu jej řídí bez úpravy zdroje Cockpitu
  • Provedení, které člověk spustí, je viditelné serveru, jenž repozitář obsluhuje, nebo záznam uvádí, které rozhodnutí bylo učiněno místo toho a proč
  • Povrch, který hlásí runtime jako připravený, nemůže servírovat spustitelný soubor, který už na disku neexistuje
  • V docs/COCKPIT_IDE_AUDIT.md nezůstalo stát žádné tvrzení, kterému by příkaz v tomto repozitáři odporoval

Validace

  • majordomus plan validate
  • bin/majordomus-cli capabilities validate
  • bin/majordomus-cli generate --check
  • bash test/run.sh

Požadované důkazy

  • sada testů
  • one_mutating_development_capability
  • projection_not_handwritten

Rizika

  • Fáze A je celá architektura v miniatuře. Pokud se vzor nepřistane čistě na jednom přechodu, nefungovala by žádná pozdější fáze a správná reakce je zastavit, ne rozšiřovat.
  • Druhé jméno pro existující pojem může přistát paralelně. Jedno už přistálo: modul devtask se dokumentuje jako join nad plánem a trace, ne jako druhý model, a drží tvrzení o rovnosti proti plan.issues. Je aditivní a má zůstat, ale jeho slovník připravenosti zjemňuje kanonické stavy a Fáze A by měla pojmenování sbližovat, ne pěstovat třetí.
  • Master se během práce pohybuje. Pohnul se jedenáctkrát během auditu, který tento milník vytvořil, a znovu mezi tím auditem a tímto záznamem.

Úkoly

Každý z nich je prováděcí kontrakt s vlastními kritérii přijetí, validačním příkazem a požadovanými důkazy. Sloupec wave je vrstva grafu závislostí, v níž úkol leží.

issuestatusvlnazávisí nanázev
I1501 HOTOVO 0 — Provedení, které člověk spustí, je provedení, které server vidí
I1502 HOTOVO 0 — Server, který servíruje kód, jenž už neexistuje, se přestane prohlašovat za ready
I1503 HOTOVO 0 — Uzavřená relace se pod toutéž identitou neuzavře podruhé
I1504 PŘIPRAVENO 0 — Jeden vývojový přechod je schopnost, od začátku do konce
I1505 BLOKOVÁNO 1 I1504 Mutující schopnost zanechá trvalou událost a ledger lze přečíst zpět
I1506 BLOKOVÁNO 2 I1504, I1505 Příkazy životního cyklu se stanou neinteraktivními schopnostmi
I1507 BLOKOVÁNO 3 I1505, I1506 Úkoly, milníky, relace a peery se do Cockpitu dostávají jako projekce
I1508 HOTOVO 0 — Navigace se odvozuje z dispatcheru, neudržuje se vedle něj
I1509 HOTOVO 0 — Detailní stránka, která nic nestránkuje, přerostla důvod, proč nic nestránkuje
I1510 HOTOVO 0 — Mezera, kterou audit nazývá plánovanou, jmenuje objekt plánu, který existuje
I1511 HOTOVO 0 — Povrch dokumentace odpovídá i v checkoutu, který web nepostavil
I1512 PŘIPRAVENO 0 — Stav kontrol je něco, na co runtime umí odpovědět
I1520 HOTOVO 0 — Krok, kterému dojde čas, to řekne sám
I1967 HOTOVO 0 — Reporter, který nastaví příznak, je reporter
I1992 HOTOVO 0 — Rebuild, který selže, nespotřebuje žádnou změnu: další požadavek ho zkusí znovu
I1995 HOTOVO 0 — Práce, kterou relace nechala necommitnutou ve worktree, je pojmenována, ne nalezena náhodou
I1997 PŘIPRAVENO 0 — Nástěnku peerů lze číst z příkazové řádky
I2054 HOTOVO 0 — Tag neobarví všechny ostatní pull requesty načerveno, dokud nepřistane jeho záznam
I2059 PŘIPRAVENO 0 — Rebuild nikdy nenahradí spustitelný soubor, který jmenuje živý lease
I2114 PŘIPRAVENO 0 — Rozsah úlohy připouští to, co její derive zapisuje
I2301 HOTOVO 0 — Zda je práce hotová, odpovídá měření: invariant hotovo se ptá na dluh, co zůstalo za námi a na backlog
I2398 HOTOVO 0 — Derive přenesený na jiný stroj čeká na řadu v deklarované frontě
I2399 HOTOVO 0 — Každá relace se v intervalu sama briefuje, aniž by o to byla žádána
I2460 HOTOVO 0 — Přehled se ptá svých zdrojů najednou, takže stojí tolik co nejpomalejší zdroj, ne jejich součet
I2461 HOTOVO 0 — majordomus ui se servíruje na /ui jako samostatný produkt, s obrazovkami složenými ze schopností
I2462 HOTOVO 1 I2461 UI má každou obrazovku a jeho mesh je graf, jehož uzly otevírají inspektor
I2463 HOTOVO 0 — Řada navázaných pull requestů je typovaný objekt, servírovaný všude a kreslený jako graf
I2470 HOTOVO 2 I2462 Pull requesty se drainují v UI: fronta, kterou čtenář zúží, prozkoumá a sleduje až k tomu, na čem každý závisí
I2471 HOTOVO 3 I2470 Plán rozvoje otevře milník: co obsahuje, co může začít, jeho kritickou cestu a na co čeká
I2472 HOTOVO 4 I2471 Doba běhu CI se měří od začátku každého běhu do jeho dokončení a obrazovka CI/CD ji kreslí
I2473 HOTOVO 3 I2470 Pull request ukazuje svou stopu: co s ním udělal executor a co drain lane nedávno udělal
I2474 HOTOVO 4 I2473 Drain kreslí svou propustnost merge: merge každého dne za čtrnáct dní, kterými končí jeho stopa
I2475 HOTOVO 4 I2470, I2471 Úkoly se procházejí: každý úkol plánu podle stavu, milníku, priority nebo textu, každý jako odkaz dál
I2476 HOTOVO 4 I2471 Záměr otevře, co mu slouží: jeho výrok, jeho kritéria a jejich důkazy a milníky a úkoly, které mu slouží
I2477 HOTOVO 2 I2462 Tvrzení otevře svůj důkaz: co ho rozhoduje, jeho poslední běh, co se od té doby změnilo, jak ho znovu vidět
I2478 HOTOVO 2 I2462 Pravidlo otevře svůj důkaz: co stanoví, které testy ho dokazují, co chybí a jaká pravidla jsou kolem něj
I2481 HOTOVO 3 I2478 UI odkazuje na každou entitu, kterou jmenuje, a tam, kde zdroj nemá hodnotu, říká žádné
I2482 HOTOVO 4 I2481 Každá obrazovka UI má případ a žádný odkaz v UI není mrtvý
I2483 HOTOVO 2 I2462 UI se publikuje jako snapshot: načtený jednou na publikovaném commitu a nesený webem na /ui
I2484 PŘIPRAVENO 1 I2461 majordomus ui zajistí sdílený server a otevře dashboard UI
I2485 PŘIPRAVENO 3 I2489 Bench měří první požadavek poté, co se repozitář pohnul, a rozpočet ho omezuje
I2486 HOTOVO 1 I2461 Žádná obrazovka nečeká na zdroj: stránka ukáže poslední čtení s jeho stářím a za čtenářovými zády čte znovu
I2487 PŘIPRAVENO 2 I2486 Obrazovka se streamuje a jeden stream řekne otevřené stránce, která čtení se změnila
I2488 PŘIPRAVENO 2 I2486 HTTP stack se volí měřením: stejné trasy a několik set otevřených streamů na tiny_http a na axum
I2489 HOTOVO 2 I2486 Obrazovka přes rozpočet shodí build: rozpočty latence UI jsou politika měření výkonu a bench --check je vynucuje
I2495 HOTOVO 3 I2483 Cockpit se publikuje jako snapshot na /cockpit a odkazy na důkazy v UI vedou na něj
I2652 HOTOVO 2 I2486 UI ukazuje, co drží znalostní báze: kandidáty čekající na review a zda deriver stále zapisuje, jen čtené a nikdy ne ovládané
I2670 PŘIPRAVENO 0 — Nabídka build cache je typovaný model a její výběr je čistá, vysvětlená funkce
I2671 BLOKOVÁNO 1 I2670 Provider nabízí svou cache jako podepsaný záznam meshe s expirací a zastavený provider zastará
I2672 BLOKOVÁNO 1 I2670 Nabídky a výběr jsou jedno čtení, promítnuté do CLI, MCP, HTTP a OpenAPI
I2673 BLOKOVÁNO 2 I2670, I2672 Konfigurace klienta sccache se odvozuje z vybrané nabídky, nejdřív z lokálního disku
I2674 BLOKOVÁNO 1 I2670 Uzel se zřídí jako poskytovatel S3 cache, idempotentně, bez tajemství v repozitáři
I2675 BLOKOVÁNO 2 I2672 Zdraví build cache, rezerva a statistiky zásahů jsou vidět tam, kde je mesh
I2676 BLOKOVÁNO 3 I2673, I2674 Build cache je ověřena a validována: chybové cesty, bezpečnost a skutečný zásah na druhém uzlu
I2677 BLOKOVÁNO 2 I2672 Build cache je zdokumentována, řízena pravidlem a popsána na webu a na Pages
I2678 HOTOVO 0 — Veřejná Observatory přehrává zaznamenané události a říká, že jde o přehrávání
I2679 HOTOVO 0 — Observatory sleduje stream s kurzorem, místo aby se znovu ptala na jeho stránku
I2680 HOTOVO 0 — Kontroly Observatory jsou uzavřeny důkazy: snímky obrazovky, naměřené snímkové frekvence, soak, cvičení obnovy
I2694 PŘIPRAVENO 0 — Povýšená poznámka se vyřeší v každém checkoutu, ne jen tam, kde byla povýšena
I2695 HOTOVO 0 — Observatory kreslí scény důkazů, tvrzení, povrchu, vlny a release ze schopností, které na ně už odpovídají
I2696 HOTOVO 0 — p5 je sestavené, volitelné aktivum UI a stránka říká, kde je
I2697 HOTOVO 0 — Veřejný snapshot nese knihovnu p5, nebo říká, které scény nemůže nakreslit
I2698 PŘIPRAVENO 0 — Nové scény mají důkaz snímky obrazovky ve 1080p a 4K na pojmenované revizi
I2712 HOTOVO 1 I2054 release-check bere tag, jehož běh release ještě probíhá, jako čekající, ne jako chybějící záznam
I2713 HOTOVO 0 — Build nikdy nenechá nečinné inkrementální relace zaplnit disk
I2714 PŘIPRAVENO 0 — Jeden build adresář nikdy neslouží úlohám dvou worktrees najednou
I2715 HOTOVO 0 — Nový veřejný kód v Rustu projde rust-quality dřív než úloha structure
I2718 HOTOVO 0 — Propojený worktree spouští vlastní hooky, nikdy hooky primárního checkoutu
I2760 HOTOVO 0 — Položka rozsahu je jedna cesta a cesta, kterou by kontext odmítl, se odmítne už při startu
I2787 HOTOVO 1 I2713 Build nikdy nenechá artefakty crate ze sdíleného build adresáře zaplnit disk
I2813 HOTOVO 0 — Publikovaná stránka, která odpovídá 503 nebo neodpovídá, se znovu dotáže dřív, než se prohlásí za chybějící
I2882 HOTOVO 0 — Vzdálený derive staví jen uvnitř svého vlastního adresáře běhu
I2962 HOTOVO 0 — Co obsluhované povrchy mění, se říká tak, jak to říká registr
I2963 HOTOVO 0 — Návratové kódy z README jsou kontrakt příkazů
I2964 HOTOVO 0 — Každý krok, který čte povrch do publikovaného snapshotu, se může zeptat forge
I2965 HOTOVO 0 — Web říká, že test dokazuje záruku jen tak daleko, kam sahají zaznamenané důkazy
I2966 HOTOVO 0 — Nastavení forge, které nešlo přečíst, je neznámé, nikdy ne \"nic nepovoluje\"
I2967 HOTOVO 0 — Vlastní stránky webu jmenují rozvržení, které platí
I3098 OVĚŘIT 0 — Waiting derives take the machine's derive lock in the order they arrived
I3171 PŘIPRAVENO 0 — The compiled context names source ranges with their reason and confidence, not only whole objects of the layer
I3172 PŘIPRAVENO 0 — The compiled context names the small set of capabilities the work needs
I3312 PŘIPRAVENO 0 — An ADR may name the paths it governs, and the compiled context for those paths includes it
I3316 PŘIPRAVENO 0 — The rescue command a stranded worktree is offered is proved by a drill that restores its work byte-identical
I3317 PŘIPRAVENO 0 — An execution records the commit it started at, and a writing execution the paths it changed
I3836 PŘIPRAVENO 0 — An offload derive observes the bundle's base commit, not its throwaway snapshot, so what it derives passes CI's check

Graf

graf závislostí vývojového runtimez .ai/repo/project
flowchart LR
    I1501["I1501<br/>An execution a person starts is an execution the server can see"]:::done
    I1502["I1502<br/>A server serving code that no longer exists stops calling itself ready"]:::done
    I1503["I1503<br/>A closed session is not closed a second time under the same identity"]:::done
    I1504["I1504<br/>One development transition is a capability, end to end"]:::ready
    I1505["I1505<br/>A mutating capability leaves a durable event, and the ledger can be read back"]:::blocked
    I1506["I1506<br/>The lifecycle commands become non-interactive capabilities"]:::blocked
    I1507["I1507<br/>Issues, milestones, sessions and peers reach the Cockpit as projections"]:::blocked
    I1508["I1508<br/>The navigation is derived from the dispatcher, not kept beside it"]:::done
    I1509["I1509<br/>A detail page that pages nothing has outgrown the reason it pages nothing"]:::done
    I1510["I1510<br/>A gap the audit calls planned names a plan object that exists"]:::done
    I1511["I1511<br/>The documentation surface answers in a checkout that has not built the site"]:::done
    I1512["I1512<br/>Gate state is something the runtime can answer"]:::ready
    I1520["I1520<br/>A step that runs out of time says so itself"]:::done
    I1967["I1967<br/>A reporter that sets a flag is a reporter"]:::done
    I1992["I1992<br/>A rebuild that fails consumes no change: the next request retries it"]:::done
    I1995["I1995<br/>Work a session left uncommitted in a worktree is named, not found by luck"]:::done
    I1997["I1997<br/>The peer board can be read from the command line"]:::ready
    I2054["I2054<br/>A tag does not turn every other pull request red until its record lands"]:::done
    I2059["I2059<br/>A rebuild never replaces the executable a live lease names"]:::ready
    I2114["I2114<br/>A task's scope admits what its derive writes"]:::ready
    I2301["I2301<br/>Whether the work is done is answered by measurement: the done invariant asks about debt, what was left behind and the backlog"]:::done
    I2398["I2398<br/>A derive offloaded to another machine waits its turn in a declared queue"]:::done
    I2399["I2399<br/>Every session briefs itself on an interval, without being asked"]:::done
    I2460["I2460<br/>The overview asks its sources at once, so it costs its slowest source and not their sum"]:::done
    I2461["I2461<br/>majordomus ui is served at /ui as its own product, with screens composed from capabilities"]:::done
    I2462["I2462<br/>The UI has every screen, and its mesh is a graph whose nodes open an inspector"]:::done
    I2463["I2463<br/>A train of stacked pull requests is a typed object, served everywhere and drawn as a graph"]:::done
    I2470["I2470<br/>The pull requests drain in the UI: a queue a reader narrows, inspects and follows to what each depends on"]:::done
    I2471["I2471<br/>The roadmap opens a milestone: what it holds, what can start, its critical path, and what it waits for"]:::done
    I2472["I2472<br/>How long CI takes is measured, from when each run started to when it completed, and the CI/CD screen draws it"]:::done
    I2473["I2473<br/>A pull request shows its trail: what the executor did to it, and the drain what the lane did lately"]:::done
    I2474["I2474<br/>The drain draws its merge throughput: each day's merges over the fortnight its trail ends on"]:::done
    I2475["I2475<br/>The issues are browsed: every issue of the plan by status, milestone, priority or text, each a link onward"]:::done
    I2476["I2476<br/>An intent opens what serves it: its statement, its criteria and their evidence, and the milestones and issues that serve it"]:::done
    I2477["I2477<br/>A claim opens its proof: what settles it, its last run, what changed since, how to see it again"]:::done
    I2478["I2478<br/>A rule opens its proof: what it states, the tests that prove it, what is missing, and the rules around it"]:::done
    I2481["I2481<br/>The UI links every entity it names, and says none where a source has no value"]:::done
    I2482["I2482<br/>Every screen of the UI has a case, and no link on the UI is dead"]:::done
    I2483["I2483<br/>The UI is published as a snapshot: read once at the published commit and carried by the site at /ui"]:::done
    I2484["I2484<br/>majordomus ui ensures the shared server and opens the UI's dashboard"]:::ready
    I2485["I2485<br/>The bench measures the first request after the repository moved, and a budget bounds it"]:::ready
    I2486["I2486<br/>No screen waits for a source: a page shows the latest reading with its age, read again behind the reader"]:::done
    I2487["I2487<br/>A screen is streamed, and one stream tells an open page which readings changed"]:::ready
    I2488["I2488<br/>The HTTP stack is chosen by measurement: the same routes and several hundred open streams on tiny_http and on axum"]:::ready
    I2489["I2489<br/>A screen over its budget fails the build: the UI's latency budgets are benchmark policy, and bench --check holds them"]:::done
    I2495["I2495<br/>The Cockpit is published as a snapshot at /cockpit, and the UI's evidence links lead to it"]:::done
    I2652["I2652<br/>The UI shows what the knowledge base holds: the candidates awaiting review and whether the deriver still writes, read and never acted on"]:::done
    I2670["I2670<br/>A build-cache offer is a typed model and its selection is a pure, explained function"]:::ready
    I2671["I2671<br/>A provider offers its cache as a signed, expiring mesh record, and a stopped provider goes stale"]:::blocked
    I2672["I2672<br/>The offers and the selection are one read, projected to CLI, MCP, HTTP and OpenAPI"]:::blocked
    I2673["I2673<br/>The sccache client configuration is derived from the selected offer, local disk first"]:::blocked
    I2674["I2674<br/>A node is provisioned as an S3 cache provider, idempotently, with no secret in the repository"]:::blocked
    I2675["I2675<br/>Build-cache health, headroom and hit statistics are visible where the mesh is"]:::blocked
    I2676["I2676<br/>The build cache is verified and validated: failure paths, security and a real second-node hit"]:::blocked
    I2677["I2677<br/>The build cache is documented, governed by a rule and described on the site and the Pages"]:::blocked
    I2678["I2678<br/>The public Observatory replays events that were recorded, and says it is a replay"]:::done
    I2679["I2679<br/>The Observatory follows a stream with a cursor instead of asking for its page again"]:::done
    I2680["I2680<br/>The Observatory's gates are closed with evidence: screenshots, measured frame rates, a soak, the recovery drills"]:::done
    I2694["I2694<br/>A promoted note resolves in every checkout, not only where it was promoted"]:::ready
    I2695["I2695<br/>The Observatory draws the proof, claim, surface, wave and release scenes from the capabilities that already answer them"]:::done
    I2696["I2696<br/>p5 is a built, optional asset of the UI and the page says where it is"]:::done
    I2697["I2697<br/>The public snapshot carries the p5 library, or says which scenes it cannot draw"]:::done
    I2698["I2698<br/>The new scenes have screenshot evidence at 1080p and 4K on a named revision"]:::ready
    I2712["I2712<br/>release-check treats a tag whose release run is still going as pending, not as a missing record"]:::done
    I2713["I2713<br/>A build never lets idle incremental sessions fill the disk"]:::done
    I2714["I2714<br/>One build directory never serves two worktrees' jobs at once"]:::ready
    I2715["I2715<br/>New public Rust code meets rust-quality before the structure job does"]:::done
    I2718["I2718<br/>A linked worktree runs its own hooks, never the primary checkout's"]:::done
    I2760["I2760<br/>A scope entry is one path, and a path context would refuse is refused at start"]:::done
    I2787["I2787<br/>A build never lets the shared build directory's crate artifacts fill the disk"]:::done
    I2813["I2813<br/>A published page that answers 503, or does not answer, is asked again before it is called missing"]:::done
    I2882["I2882<br/>A remote derive builds only inside its own run directory"]:::done
    I2962["I2962<br/>What the served surfaces change is said as the registry says it"]:::done
    I2963["I2963<br/>The README's exit codes are the commands' contract"]:::done
    I2964["I2964<br/>Every step that reads a surface into the published snapshot can ask the forge"]:::done
    I2965["I2965<br/>The site says a test proves a guarantee only as far as recorded evidence supports it"]:::done
    I2966["I2966<br/>A forge setting that could not be read is unknown, never \&quot;allows nothing\&quot;"]:::done
    I2967["I2967<br/>The site's own pages name the layout in force"]:::done
    I3098["I3098<br/>Waiting derives take the machine's derive lock in the order they arrived"]:::verify
    I3171["I3171<br/>The compiled context names source ranges with their reason and confidence, not only whole objects of the layer"]:::ready
    I3172["I3172<br/>The compiled context names the small set of capabilities the work needs"]:::ready
    I3312["I3312<br/>An ADR may name the paths it governs, and the compiled context for those paths includes it"]:::ready
    I3316["I3316<br/>The rescue command a stranded worktree is offered is proved by a drill that restores its work byte-identical"]:::ready
    I3317["I3317<br/>An execution records the commit it started at, and a writing execution the paths it changed"]:::ready
    I3836["I3836<br/>An offload derive observes the bundle's base commit, not its throwaway snapshot, so what it derives passes CI's check"]:::ready
    I1504 --> I1505
    I1504 --> I1506
    I1505 --> I1506
    I1505 --> I1507
    I1506 --> I1507
    I2054 --> I2712
    I2461 --> I2462
    I2461 --> I2484
    I2461 --> I2486
    I2462 --> I2470
    I2462 --> I2477
    I2462 --> I2478
    I2462 --> I2483
    I2470 --> I2471
    I2470 --> I2473
    I2470 --> I2475
    I2471 --> I2472
    I2471 --> I2475
    I2471 --> I2476
    I2473 --> I2474
    I2478 --> I2481
    I2481 --> I2482
    I2483 --> I2495
    I2486 --> I2487
    I2486 --> I2488
    I2486 --> I2489
    I2486 --> I2652
    I2489 --> I2485
    I2670 --> I2671
    I2670 --> I2672
    I2670 --> I2673
    I2670 --> I2674
    I2672 --> I2673
    I2672 --> I2675
    I2672 --> I2677
    I2673 --> I2676
    I2674 --> I2676
    I2713 --> I2787
    classDef done stroke:#16a34a,fill:#dcfce7,color:#14532d,stroke-width:2px
    classDef active stroke:#2563eb,fill:#eff6ff,color:#1e3a8a,stroke-width:2px
    classDef verify stroke:#7c3aed,fill:#f5f3ff,color:#4c1d95,stroke-width:2px
    classDef ready stroke:#0891b2,fill:#ecfeff,color:#164e63,stroke-width:2px
    classDef planned stroke:#0891b2,fill:#ecfeff,color:#164e63,stroke-width:2px
    classDef blocked stroke:#b45309,fill:#fffbeb,color:#78350f,stroke-width:2px
    classDef cancelled stroke:#6b7280,fill:#f9fafb,color:#374151,stroke-width:2px
    classDef superseded stroke:#6b7280,fill:#f9fafb,color:#374151,stroke-width:2px

Kanonický záznam: .ai/repo/project/milestones/development-runtime.yaml. Přečtěte ho zpět pomocí majordomus plan show development-runtime.

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