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.

everything-is-followed-in-one-stream — Vše, co se v repozitáři děje, se sleduje v jednom proudu

majordomus monitor je jediný stream: typovaný feed signálů z každého zdroje stránkovaný kurzorem, s zahlazeným šumem tepu a s tím, co je adresováno čtenáři, označeným a uvedeným první, poskytovaný běžícím serverem přes HTTP, MCP a příkazovou řádku (s --follow), živě zobrazený v Cockpitu, vypsaný při každém startu relace, jmenovaný bootstrapem providera, zdokumentovaný a vydaný.

AKTIVNÍ 3 of 8 issues done

připraveno
3
blokováno
2
aktivní
0
verify
0
hotovo
3
zrušeno
0

Problém

Worker, který chce vědět, co se kolem něj děje, čte šest povrchů se šesti kurzory: žurnál meshe (kde jsou asi 95 % událostí totožné opětovné promítnutí relací při každém heartbeatu), nástěnku, stopu exekutoru, exekuce a pull requesty a kontroly GitHubu přes gh. Nic je nespojuje, nic neříká, která z událostí je adresována čtenáři, a každá relace, která to potřebuje, si ručně napíše smyčku jq nad majordomus mesh events a gh pr list. Relace celé hodiny přehlížejí revize a předávky, které jim byly adresovány, protože nic, co čtou, jim je neukáže.

Výsledek

majordomus monitor je jediný stream: typovaný feed signálů z každého zdroje stránkovaný kurzorem, s zahlazeným šumem tepu a s tím, co je adresováno čtenáři, označeným a uvedeným první, poskytovaný běžícím serverem přes HTTP, MCP a příkazovou řádku (s --follow), živě zobrazený v Cockpitu, vypsaný při každém startu relace, jmenovaný bootstrapem providera, zdokumentovaný a vydaný.

Aktuální stav

Žádný příkaz, modul ani schopnost monitor neexistuje (origin/master 890e112d04, 0.20.0). mesh.events, peers, integration.events a executions.events každá odpovídá vlastní stránkou; CLI vykresluje události meshe jednu po druhé, nefiltrované.

Cílový stav

Jedna čtecí schopnost, monitor, odpovídá stránkou signálů za neprůhledným kurzorem napříč meshem, nástěnkou, exekutorem a exekucemi (a GitHubem, je-li dosažitelný, jinak jako hlášený stav zdroje); majordomus monitor --follow ji streamuje; /cockpit/monitor ji ukazuje živě; úvodní briefing a majordomus context říkají, co se stalo od posledního pohledu.

Rozsah

  • .ai/repo/adrs
  • .ai/repo/project
  • .ai/repo/providers
  • apps/majordomus-cli/src/monitor
  • apps/majordomus-cli/src/capability/builtin
  • apps/majordomus-cli/src/commands
  • apps/majordomus-cli/src/cli
  • apps/majordomus-cli/src/cockpit
  • apps/majordomus-cli/tests
  • lib
  • dokumentace
  • web
  • test/cases
  • README.md
  • AGENTS.md
  • CLAUDE.md

Mimo rozsah

  • Zapisovat cokoli: monitor čte; jednání na základě signálu zůstává schopnosti, která úkon vlastní
  • Druhý žurnál nebo úložiště událostí: každý signál se odvozuje ze zdroje, který ho již zaznamenává
  • Push notifikace do systémů mimo repozitář (Slack, e-mail); notifikátor se k proudu přihlásí později

Kritéria přijetí

  • Jedna schopnost odpoví stránkou signálů z mesh, nástěnky, trailu executoru a provádění po neprůhledném kurzoru a další stránka po kurzoru odpovědi nic neopakuje
  • Událost session_opened, která jen znovu promítá nezměněnou relaci, se počítá jako potlačená a nikdy se nezobrazí; nová relace nebo změněný záměr se zobrazí
  • Signály adresované čtenáři jsou označeny for_you a v briefingu uvedeny první
  • majordomus monitor --follow streamuje nové signály a --count/--until nechají skript na jeden počkat a skončit
  • Nedosažitelný zdroj se hlásí s důvodem, nikdy se neodpovídá jako prázdný
  • Cockpit ukazuje stream živě a úvodní briefing a majordomus context vypisují, co se stalo od posledního pohledu
  • Bootstrap poskytovatele jmenuje příkaz; docs/MONITOR.md, README a článek na blogu jej popisují; release jej nese

Validace

  • bin/majordomus plan validate
  • cargo test --lib monitor
  • cargo test --test monitor_stream
  • MJ_TEST_JOBS=4 bash test/run.sh 1050 1051 1052 1053 1054
  • majordomus generate --check

Požadované důkazy

  • monitor_capability
  • fold_suppresses_reprojection
  • follow_terminates
  • absent_source_reported
  • cockpit_monitor_page
  • session_start_monitor_line
  • released_and_deployed

Rizika

  • Proud, který ukazuje všechno, je stejně nepřečtený jako šest, které ukazují každý to své: skládání a for_you jsou funkce, ne spojení.
  • GitHub je síť: nikdy nesmí zpomalit lokální stránku ani způsobit, aby chybějící síť vypadala jako klidný repozitář.

Ú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
I2400 HOTOVO 0 — Model signálů a fold spojují každý zdroj, který server už zaznamenává
I2401 HOTOVO 1 I2400 monitor je jedna čtecí schopnost se třemi projekcemi
I2402 PŘIPRAVENO 2 I2401 majordomus monitor sleduje stream z terminálu i ze skriptu
I2403 HOTOVO 1 I2400 Pull requesty, kontroly a nasazení se dostanou do streamu, když je GitHub dostupný
I2404 PŘIPRAVENO 2 I2401 Cockpit ukazuje stream živě
I2405 PŘIPRAVENO 2 I2401 Každá relace se dozví, co se stalo od jejího posledního pohledu
I2406 BLOKOVÁNO 3 I2402, I2404 Stream je zdokumentován tam, kde ho čtenář hledá
I2407 BLOKOVÁNO 4 I2402, I2404, I2405, I2406 Monitor je vydán a nasazen

Graf

graf závislostí „vše se sleduje v jednom proudu“z .ai/repo/project
flowchart LR
    I2400["I2400<br/>A signal model and a fold join every source the server already records"]:::done
    I2401["I2401<br/>monitor is one read capability with three projections"]:::done
    I2402["I2402<br/>majordomus monitor follows the stream from a terminal and a script"]:::ready
    I2403["I2403<br/>Pull requests, checks and deploys reach the stream when GitHub is reachable"]:::done
    I2404["I2404<br/>The Cockpit shows the stream live"]:::ready
    I2405["I2405<br/>Every session is told what happened since its last look"]:::ready
    I2406["I2406<br/>The stream is documented where a reader looks"]:::blocked
    I2407["I2407<br/>The monitor is released and deployed"]:::blocked
    I2400 --> I2401
    I2400 --> I2403
    I2401 --> I2402
    I2401 --> I2404
    I2401 --> I2405
    I2402 --> I2406
    I2402 --> I2407
    I2404 --> I2406
    I2404 --> I2407
    I2405 --> I2407
    I2406 --> I2407
    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/everything-is-followed-in-one-stream.yaml. Přečtěte ho zpět pomocí majordomus plan show everything-is-followed-in-one-stream.

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