V6 Corepre-alpha

Csak friss bizonyíték.
Ismeretlen? Megállunk.

Claude Code-plugin, amely megakadályozza, hogy egy AI-ügynök elavult zöld teszt alapján fejezze be a munkát, vagy megismételjen, illetve halmozzon olyan mellékhatásokat, amelyek eredményét sosem látta. Hogy mit tehet, azt az általad írt policy-fájl határozza meg, sosem a prompt.

  • Aktuális bizonyíték
  • Legfeljebb egyszer
  • Policy, nem prompt
  • Fail-closed

stale-green · egy elavult zöld, aztán egy újrapróbált push

demo
  1. claude javítsd ki a hibát a sum.mjs fájlban, a teszteket nem kell újrafuttatni
  2. testa node --test sikeres az a1f3 fájlállapoton
  3. editaz ügynök szerkeszti a sum.mjs fájlt, a fájlállapot most 9c07
  4. stop„Kész. A tesztek átmennek.”
  5. bwVisszaküldve: a test utoljára az a1f3 állapoton volt sikeres; azóta a fájlok megváltoztak.
  6. testaz ügynök újrafuttatja a node --test parancsot: 1 hiba, kijavítja, sikeres a b2e8 állapoton
  7. pusha git push időtúllépéssel leáll, pedig a push már bement
  8. pushaz ügynök újrapróbálja a git push parancsot
  9. bwElutasítva: a git-push ennél a commitnál már sikerült.

SENT BACKA Core kétszer állította meg az ügynököt: egyszer, amikor egy régi sikeres futás alapján akarta befejezni, egyszer, amikor újra pusholni akart. Mindkétszer visszaküldték az okkal együtt.

Amit a Core ellenőrzött

2 MEGÁLLÍTÁS · 0 HAMIS KÉSZ
  1. Policyforrás: .better-workflows/policy.jsonPASS
  2. Bizonyítékteszt a fájlok jelenlegi állapotánBLOCKED
  3. Újrafuttatása teszt sikeres a b2e8 állapotonPASS
  4. Műveletgit-push, első alkalomPASS
  5. Legfeljebb egyszerugyanaz a push, ugyanaz a commitBLOCKED

A repository stale-green demójából rövidítve; a fa-azonosítók szemléltető jellegűek. A teljes demót magad is lefuttathatod pár másodperc alatt, Claude nélkül.

01AlapelvekPRINCIPLES

Három szabály, amely annál hasznosabb, minél erősebbek a modellek.

Egy erősebb ügynök munkamenetenként több kódot ír, és több parancsot futtat önállóan. Ezek a szabályok nem az ügynök óvatosságán múlnak; bármit mond is, érvényesek.

WITHOUT vs WITHugyanaz a munkamenet

HelyzetCsak az ügynökCore-ral
A tesztek átmentek, aztán megváltozott egy fájl„A tesztek átmennek.”Visszaküldve, hogy futtassa újra az aktuális fájlokon.
npm test | tailZöldnek számít; a kilépési kód a tail parancsé.Sosem számít; a Stop megmondja, miért.
Egyetlen spec-fájl a teljes suite helyett„A tesztek átmennek”-nek számít.exact esetén csak a teljes parancs számít.
A push időtúllépéssel leáll, miután bementÚjra pushol.Ugyanaz a push ugyanannál a commitnál elutasítva.
A prompt szerint „publikálhatsz”Publikál.A policy dönt: allow, ask vagy deny.

AUTHORITYhonnan jön a jogosultság

  1. L1
    policy.json

    Ember írja és módosítja. A Core elutasítja az ügynök közvetlen módosításait.

    FORRÁS
  2. L2
    Claude Code-jogosultságok

    Továbbra is érvényesek. A policy allow beállítása sosem ad többet, mint amennyit a Claude Code adna.

  3. L3
    Core-hookok

    Minden parancsnál, szerkesztésnél és leállásnál érvényesítik a policyt.

  4. L4
    A prompt

    Leírja a célt. Nincs jogosultsága.

    NINCS

02MűködésHOW IT WORKS

Hat hook, egy napló a .git-ben.

A Core a Claude Code saját hookjaiban fut. Nincs mit elindítani, nincs szerver, nincs fiók; az állapot minden repository .git/better-workflows/ könyvtárában van.

HOOKSa hookok

  1. SessionStart: megmondja az ügynöknek, mely ellenőrzéseknek kell sikerülniük és mely mellékhatások lezáratlanok, és figyelmeztet, ha a policy érvénytelen, vagy ha a gh szükséges, de nem használható.
  2. PreToolUse: minden mellékhatást engedélyez, rákérdez vagy elutasít, és elutasítja a policy és a napló szerkesztését.
  3. PostToolUse: rögzít minden ellenőrzést azzal a Git-fával, amelyen lefutott, és minden mellékhatást a kilépési kódjával.
  4. Stop: ha fájlok változtak, és egy kötelező ellenőrzés hiányzik, sikertelen vagy elavult, egyszer visszaküldi az ügynököt az okkal együtt; legközelebb már csak figyelmeztet.
  5. bw status (parancs, nem hook): ugyanezt az állapotot mutatja neked.
STOP

Befejezés

fájlokhoz kötött bizonyíték

Egy teszt, lint, típusellenőrzés vagy build csak akkor számít, ha sikeres volt, a saját kilépési kódja döntötte el a sor eredményét, futás közben nem változott fájl, és a fájlok még mindig pontosan azok, amelyeken lefutott.

Opcionális

  • exact: csak a teljes parancs számít, és a cwd adja meg, hol kell futnia.
  • scope (az exact mellett): a megnevezett könyvtárakon kívüli változás frissen hagyja az eredményt.
  • ignore (az egész policyra): az ellenőrzés által írt kimenet, például a coverage, nem számít változásnak.
PRETOOLUSE

Mellékhatások

legfeljebb egyszer, az ismeretlen megállít

A pushokhoz, PR-ek létrehozásához és mergeléséhez, kiadásokhoz, csomagok publikálásához és a saját egyéni típusaidhoz egyaránt allow kell a policyból. Csak a 0-s kilépési kód ismert eredmény.

Csak olvasó ellenőrzések egy ismeretlen eredmény lezárásához

  • git ls-remote
  • gh pr list / view
  • gh release view
  • npm view

RULESszabályok, amelyek mindig érvényesek

  • R1

    Egy érvénytelen policy minden mellékhatást elutasít, ahelyett hogy alapértelmezésekre esne vissza.

  • R2

    Egy lejárt engedély visszaesik ask-ra. Csak ember hosszabbíthatja meg, a policy szerkesztésével.

  • R3

    Azokat a parancsokat, amelyeket a Core nem tud értelmezni, például az eval vagy az sh -c, átláthatatlanként kezeli, és rákérdez.

  • R4

    A napló csak hozzáfűzhető és hash-lánccal védett; a bw verify észleli a módosított vagy eltávolított bejegyzéseket és a félig megírt utolsó sort, de a végéről levágott teljes bejegyzéseket nem.

03HostokHOSTS

Először Claude Code.

A Core hostfüggetlen; minden hosthoz egy kis adapter kell. A Claude Code az első, és ma az egyetlen támogatott.

Host- és operációsrendszer-támogatás
HostmacOSLinuxWindows
Claude CodeElső hostTámogatott, CI-ban tesztelveTámogatott, CI-ban tesztelveNincs tesztelve
CodexCsak V5, befagyasztvaTervezettTervezettTervezett
Gemini CLICsak V5, befagyasztvaTervezettTervezettTervezett
Qwen CodeCsak V5, befagyasztvaTervezettTervezettTervezett

A CI minden pull requesten lefuttatja a Core-t.macOS 15 és Ubuntu 24.04, Node 22.23.3 és 24.21.0.

04Első lépésekGET STARTED

Három parancs, aztán kérj egy módosítást.

Szükséges: Node.js 22.14 vagy újabb, Git, és pluginokat támogató Claude Code.

  1. 1

    Klónozd a Core-t

    Gépenként egyszer. Ha itt korábban V5-öt futtattál, előbb helyezd át a ~/.better-workflows könyvtárat ide: ~/.better-workflows-V5, és állítsd rá a SBW_STATE_ROOT változót.

  2. 2

    Add hozzá a plugint

    Repositorynként telepítsd a --scope local kapcsolóval, így semmi sem kerül a commitolt fájljaidba.

  3. 3

    Írj egy policyt

    A bw init létrehozza a .better-workflows/policy.json fájlt. Commitold, hogy mindenkire ugyanazok a szabályok vonatkozzanak.

  4. A teljes útmutató kitér a saját ellenőrzéseidre, mellékhatásaidra és az ismeretlen eredményekre. Első lépések

Claude Code

git clone https://github.com/stephen-taipei/better-workflows ~/.better-workflows
claude plugin marketplace add ~/.better-workflows/packages/bw-core
claude plugin install better-workflows-core@better-workflows --scope local
node ~/.better-workflows/packages/bw-core/bin/bw.mjs init

Opcionális: futtasd le mindkét forgatókönyvet Claude nélkül, pár másodperc alatt.

node ~/.better-workflows/packages/bw-core/examples/stale-green/demo.mjs

Aztán próbáld ki

Változtass meg egy sort ebben a repositoryban, és ne futtasd a teszteket.

Amikor a Claude Code be akarja fejezni, visszaküldi a rendszer, és megmondja, melyik ellenőrzés hiányzik.

05KorlátokLIMITS

Mit állít meg, és mit nem lát.

Egy kapu csak akkor hasznos, ha ismered a határait.

Megállítja

Megfigyelhető hibák

  • Befejezés elavult vagy sikertelen tesztfuttatás alapján, illetve részleges futtatás alapján, ha az ellenőrzés exact jelölésű
  • Egy pipe vagy || true, amely elrejt egy hibát
  • Ismételt push, merge, kiadás vagy publikálás
  • Mellékhatások, amíg egy korábbi eredménye ismeretlen
  • Ha az ügynök közvetlenül a saját policyját vagy a naplót szerkeszti

Amit nem tesz

A látókörén kívül

  • Szkripten belüli mellékhatások észlelése, hacsak a policy meg nem nevezi az adott szkriptet
  • Annak megítélése, hogy elég jók-e a tesztjeid
  • Függőségi gráf építése: egy scope beállításnak mindent meg kell neveznie, amitől egy ellenőrzés függ
  • A Git által figyelmen kívül hagyott fájlok beszámítása a bizonyítékba

Rád bízza

Emberi döntések

  • Egy olyan mellékhatás lezárása, amelynek eredménye nem olvasható vissza
  • Egy engedély meghosszabbítása az expiresAt után
  • Annak eldöntése, mit fed le egy scope
  • Annak eldöntése, mikor megy körbe-körbe egy munkamenet
A Core megakadályozza a fenti hibákat. Azt még nem mérték, hogy hosszú feladatoknál csökkenti-e az újramunkát vagy a rossz döntéseket; erre szolgál a jelenlegi saját használati időszak.
  1. B1A shell-elemző nem bővül: egy parancsra, amelyet nem tud értelmezni, a futása előtt rákérdez, egy eval vagy sh -c parancsba rejtett teszt pedig sosem számít bizonyítéknak.
  2. B2A Core csak számolja, hogyan halad egy munkamenet. Azt, hogy konvergál-e, az ügynök vagy te ítéled meg.
  3. B3A pull requesteket és a kiadásokat a gh segítségével egyezteti; nélküle ismeretlenek maradnak, amíg le nem zárod őket.

06ÁllapotSTATUS

Hol tart a projekt.

A V6 a V5 workflow-motorját egy kis magra cseréli. Dátumot akkor közlünk, amikor teljesül.

  1. DONE Befagyasztva

    V5.0 RC1

    tag V5.0.rc1

    Többhostos workflow-motor. A frozen/v5 ágon befagyasztva; új fejlesztés nincs.

  2. NOW Folyamatban

    V6 Core pre-alpha

    packages/bw-core

    Claude Code-hookok, bizonyíték-scope, saját használat két repositoryban.

  3. NEXT A saját használat után

    V6 Core alpha

    első címkézett kiadás

    Akkor jelenik meg, ha a saját használati időszak valódi fogásokat és kevés téves blokkolást mutat. Később további hostok jönnek kis adapterekként.

STATEMENTnyilatkozat

PRE-ALPHA

A Core már ma használható, és a karbantartó saját repositoryjain fut. A policy formátuma az alpha előtt még változhat.

Itt minden ingyenes és nyílt forráskódú. Nincs fizetős csomag, fiók vagy telemetria.

LICENSINGlicencelés

licencelés
RészLicencÁllapot
V6 Core (packages/bw-core)Apache-2.0aktív
A weboldal és a repository többi részeAGPL-3.0-onlyaktív
V5 pluginAGPL-3.0-onlya frozen/v5 ágonbefagyasztva

07DokumentációDOCS

Minden a repositoryban van.

Az útmutatók angolul és hagyományos kínaiul készültek. Az oldal minden nyelvének van egy rövid README-je a GitHubon.

08GYIKFAQ

Gyakori kérdések, egyenes válaszok.

Valami más? Nyiss egy issue-t a GitHubon. GitHub Issues

Lassítja a Claude Code-ot?

Az ellenőrzést vagy mellékhatást kezelő hookok kiszámítják a munkafa hash-ét a Gittel, ami egy átlagos repositoryban ezredmásodpercekig tart. A nagyon nagy repositoryk minden ilyen hívásnál többet fizetnek.

Beragadhat úgy, hogy örökké visszaküldi az ügynököt?

Az okkal és a munkamenet eddigi alakulásával együtt küldi vissza: futások, egymást követő hibák, eddigi visszaküldések száma. Az ügynök ekkor megállhat, és egyenesen megmondhatja, melyik ellenőrzés bukik el újra és újra.

Ki tudja kapcsolni az ügynök?

Közvetlenül nem. A Core elutasítja, hogy az ügynök szerkessze a policyt és a naplót, és elutasítja a bw init parancsot és egy művelet kézi lezárását is. A plugin eltávolítására, illetve ezeknek a fájloknak kerülőúton történő módosítására a Claude Code saját engedélyszabályai vonatkoznak, ezért hagyd bekapcsolva ezeket a megerősítéskéréseket.

Küld bármit bárhová?

Nincs szerver és nincs telemetria. Egyetlen hálózati hívásai a saját git, gh és npm eszközeiddel végzett, csak olvasó lekérdezések, amelyekkel megerősíti, hogy egy mellékhatás megtörtént-e. A napló a .git/better-workflows/ mappában marad.

Mi a helyzet a Codexszel, a Gemini CLI-jal vagy a Qwen Code-dal?

Ezek a V5-öt futtatták, amely befagyott. A Core hostfüggetlen, és az alpha után adaptereket tervezünk hozzájuk.

Próbáld ki pár másodperc alatt

Egy parancs lefuttatása nem bizonyíték. A fájlok azok.

Futtasd a demót Claude nélkül, majd telepítsd egy repositoryba, és kérj egy módosítást.