V6 Corepre-alpha

Len čerstvé dôkazy.
Neznáme znamená stop.

Plugin pre Claude Code, ktorý AI agentovi nedovolí dokončiť prácu na zastaranom zelenom teste ani opakovať či vrstviť vedľajšie účinky, ktorých výsledok nikdy nevidel. Čo smie robiť, určuje súbor policy, ktorý napíšete vy, nikdy prompt.

  • Aktuálne dôkazy
  • Najviac raz
  • Policy, nie prompt
  • Fail-closed

stale-green · zastaraná zelená, potom zopakovaný push

demo
  1. claude oprav chybu v sum.mjs, testy netreba spúšťať znova
  2. testnode --test prechádza na súboroch a1f3
  3. editagent upraví sum.mjs, súbory sú teraz 9c07
  4. stop„Hotovo. Testy prechádzajú.“
  5. bwVrátené: test naposledy prešiel na a1f3; súbory sa odvtedy zmenili.
  6. testagent znova spustí node --test: 1 zlyhanie, opraví ho, prechádza na b2e8
  7. pushgit push vyprší až potom, čo push prebehol
  8. pushagent skúsi git push znova
  9. bwZamietnuté: git-push už na tomto commite uspel.

SENT BACKCore agenta dvakrát zastavil: raz pred dokončením na starom úspešnom behu, raz pred opätovným push. Zakaždým bol vrátený aj s dôvodom.

Čo Core skontroloval

2 ZASTAVENIA · 0 FALOŠNÝCH HOTOVO
  1. Policyz .better-workflows/policy.jsonPASS
  2. Dôkazytest na súboroch v aktuálnom staveBLOCKED
  3. Opakovanietest prechádza na b2e8PASS
  4. Akciagit-push, prvýkrátPASS
  5. Najviac razrovnaký push, rovnaký commitBLOCKED

Skrátené z dema stale-green v repozitári; identifikátory tree sú ilustračné. Celé demo si spustite sami za pár sekúnd, bez Claude.

01PrincípyPRINCIPLES

Tri pravidlá, ktoré sú užitočnejšie, čím silnejšie sú modely.

Silnejší agent napíše za reláciu viac kódu a sám spustí viac príkazov. Tieto pravidlá nestoja na tom, že agent bude opatrný; platia bez ohľadu na to, čo hovorí.

WITHOUT vs WITHtá istá relácia

SituáciaSamotný agentS Core
Testy prešli, potom sa zmenil súbor„Testy prechádzajú.“Vrátený, aby ich spustil znova na aktuálnych súboroch.
npm test | tailPočíta sa ako zelené; exit code patrí tail.Nikdy sa nepočíta; Stop povie prečo.
Jeden spec súbor namiesto celej sadyPočíta sa ako „testy prechádzajú“.S exact sa počíta iba celý príkaz.
Push vyprší až po tom, čo prebeholPushne znova.Rovnaký push na rovnakom commite je zamietnutý.
Prompt hovorí „môžeš publikovať“Publikuje.Rozhoduje policy: allow, ask alebo deny.

AUTHORITYodkiaľ pochádza oprávnenie

  1. L1
    policy.json

    Píše a mení ho človek. Core odmieta jeho priame úpravy agentom.

    ZDROJ
  2. L2
    Oprávnenia Claude Code

    Naďalej platia. allow v policy nikdy nedá viac, než by dal Claude Code.

  3. L3
    Hooky Core

    Vynucujú policy pri každom príkaze, úprave a zastavení.

  4. L4
    Prompt

    Opisuje cieľ. Nenesie žiadne oprávnenie.

    ŽIADNE

02Ako to fungujeHOW IT WORKS

Šesť hookov, jeden denník v .git.

Core beží vo vlastných hookoch Claude Code. Nič netreba spúšťať, žiadny server, žiadny účet; stav je uložený v .git/better-workflows/ každého repozitára.

HOOKShooky

  1. SessionStart: povie agentovi, ktoré kontroly musia prejsť a ktoré vedľajšie účinky sú neuzavreté, a upozorní, ak je policy neplatná alebo je potrebný gh, ktorý sa nedá použiť.
  2. PreToolUse: každý vedľajší účinok povolí, opýta sa naň alebo ho zamietne a odmietne úpravy policy aj denníka.
  3. PostToolUse: zaznamená každú kontrolu s Git tree, na ktorom bežala, a každý vedľajší účinok s jeho exit code.
  4. Stop: ak sa zmenili súbory a povinná kontrola chýba, zlyhala alebo je zastaraná, raz vráti agenta aj s dôvodom; nabudúce už iba upozorní.
  5. bw status (príkaz, nie hook): ukáže ten istý stav vám.
STOP

Dokončenie

dôkazy viazané na súbory

Test, lint, typecheck alebo build sa počíta iba vtedy, ak prešiel, o výsledku rozhodol jeho vlastný exit code, počas behu sa nezmenil žiadny súbor a súbory sú stále presne tie, na ktorých bežal.

Voliteľné

  • exact: počíta sa iba celý príkaz a cwd určuje, kde sa musí spustiť.
  • scope (s exact): zmena mimo uvedených adresárov ponechá výsledok aktuálny.
  • ignore (celá policy): výstup, ktorý kontrola zapisuje, napríklad coverage, sa nepočíta ako zmena.
PRETOOLUSE

Vedľajšie účinky

najviac raz, neznáme zastaví

Pushy, vytváranie a merge PR, vydania, publikovanie balíkov aj vaše vlastné typy potrebujú allow z policy. Známy výsledok je iba exit code 0.

Kontroly iba na čítanie, ktorými sa uzatvára neznámy výsledok

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

RULESpravidlá, ktoré platia vždy

  • R1

    Neplatná policy zamietne všetky vedľajšie účinky namiesto návratu k predvoleným hodnotám.

  • R2

    Oprávnenie po vypršaní sa vráti na ask. Predĺžiť ho môže iba človek, úpravou policy.

  • R3

    Príkazy, ktoré Core nedokáže prečítať, napríklad eval alebo sh -c, sa považujú za nepriehľadné a pýta sa na ne.

  • R4

    Denník je iba na pridávanie a reťazený hashmi; bw verify odhalí upravené alebo odstránené záznamy a napoly zapísaný posledný riadok, ale nie celé záznamy odrezané z konca.

03HostiteliaHOSTS

Najprv Claude Code.

Core nie je viazaný na hostiteľa; každý hostiteľ potrebuje malý adaptér. Claude Code je prvý a dnes jediný podporovaný.

Podpora hostiteľov a operačných systémov
HostiteľmacOSLinuxWindows
Claude CodePrvý hostiteľPodporované, testované v CIPodporované, testované v CINetestované
CodexIba V5, zmrazenéPlánovanéPlánovanéPlánované
Gemini CLIIba V5, zmrazenéPlánovanéPlánovanéPlánované
Qwen CodeIba V5, zmrazenéPlánovanéPlánovanéPlánované

CI spúšťa Core pri každom pull requeste.macOS 15 a Ubuntu 24.04, Node 22.23.3 a 24.21.0.

04ZačínameGET STARTED

Tri príkazy, potom požiadajte o zmenu.

Vyžaduje Node.js 22.14 alebo novší, Git a Claude Code s podporou pluginov.

  1. 1

    Naklonujte Core

    Raz na počítač. Ak ste tu spúšťali V5, najprv presuňte ~/.better-workflows do ~/.better-workflows-V5 a nasmerujte naň SBW_STATE_ROOT.

  2. 2

    Pridajte plugin

    Inštalujte ho pre každý repozitár s --scope local, aby sa nič nezapísalo do súborov, ktoré commitujete.

  3. 3

    Napíšte policy

    bw init vytvorí .better-workflows/policy.json. Commitnite ho, aby mali všetci rovnaké pravidlá.

  4. Úplný návod pokrýva vlastné kontroly, vedľajšie účinky a neznáme výsledky. Začíname

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

Voliteľné: spustite oba scenáre bez Claude, za pár sekúnd.

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

Potom to vyskúšajte

Zmeň jeden riadok v tomto repozitári a nespúšťaj testy.

Keď sa Claude Code pokúsi skončiť, bude vrátený a dozvie sa, ktorá kontrola chýba.

05HraniceLIMITS

Čo zastaví a čo nevidí.

Brána je užitočná, len ak poznáte jej hranice.

Zastaví

Pozorovateľné chyby

  • Dokončenie na zastaranom alebo neúspešnom behu testov, alebo na čiastočnom, keď je kontrola označená ako exact
  • Pipe alebo || true, ktoré skrývajú zlyhanie
  • Opakovaný push, merge, vydanie alebo publikovanie
  • Vedľajšie účinky, kým je výsledok predchádzajúceho neznámy
  • Priamu úpravu vlastnej policy alebo denníka agentom

Nerobí

Mimo jeho dohľadu

  • Nevidí vedľajšie účinky vo vnútri skriptu, pokiaľ policy ten skript nemenuje
  • Neposudzuje, či sú vaše testy dosť dobré
  • Nezostavuje graf závislostí: scope musí menovať všetko, od čoho kontrola závisí
  • Nepočíta súbory ignorované Gitom ako súčasť dôkazov

Necháva na vás

Rozhodnutia človeka

  • Uzavretie vedľajšieho účinku, ktorého výsledok sa nedá spätne prečítať
  • Predĺženie oprávnenia po jeho expiresAt
  • Výber toho, čo scope pokrýva
  • Posúdenie, kedy sa relácia točí v kruhu
Core blokuje vyššie uvedené chyby. Či znižuje prerábanie alebo chybné rozhodnutia pri dlhých úlohách, sa zatiaľ nemeralo; práve na to slúži súčasné obdobie vlastného používania.
  1. B1Parser shellu sa nerozširuje: na príkaz, ktorý nedokáže prečítať, sa pýta pred jeho spustením a test skrytý v eval alebo sh -c sa nikdy nepočíta ako dôkaz.
  2. B2Core iba počíta, ako relácia prebieha. Či smeruje k výsledku, posúdi agent alebo vy.
  3. B3Pull requesty a vydania sa zosúlaďujú cez gh; bez neho zostanú neznáme, kým ich neuzavriete.

06StavSTATUS

Kde je projekt.

V6 nahrádza workflow engine z V5 malým jadrom. Dátumy prídu, keď sa splnia podmienky.

  1. DONE Zmrazené

    V5.0 RC1

    tag V5.0.rc1

    Workflow engine pre viacerých hostiteľov. Zmrazené na vetve frozen/v5; žiadna nová práca.

  2. NOW Prebieha

    V6 Core pre-alpha

    packages/bw-core

    Hooky Claude Code, scope dôkazov, vlastné používanie v dvoch repozitároch.

  3. NEXT Po vlastnom používaní

    V6 Core alpha

    prvé otagované vydanie

    Vyjde, keď obdobie vlastného používania ukáže skutočné zachytenia a málo falošných blokovaní. Ďalší hostitelia pribudnú ako malé adaptéry.

STATEMENTvyhlásenie

PRE-ALPHA

Core je použiteľný už dnes a beží v správcových vlastných repozitároch. Formát policy sa pred alpha ešte môže zmeniť.

Všetko tu je zadarmo a open source. Neexistuje platená úroveň, účet ani telemetria.

LICENSINGlicencovanie

licencovanie
ČasťLicenciaStav
V6 Core (packages/bw-core)Apache-2.0aktívne
Web a zvyšok repozitáraAGPL-3.0-onlyaktívne
Plugin V5AGPL-3.0-onlyna frozen/v5zmrazené

07DokumentáciaDOCS

Všetko je v repozitári.

Príručky sú napísané v angličtine a tradičnej čínštine. Každý jazyk na tomto webe má na GitHube krátke README.

08Časté otázkyFAQ

Časté otázky, priame odpovede.

Niečo iné? Otvorte issue na GitHube. GitHub Issues

Spomalí Claude Code?

Hooky, ktoré spracúvajú kontrolu alebo vedľajší účinok, spočítajú hash pracovného stromu pomocou Gitu, čo v bežnom repozitári trvá milisekundy. Veľmi veľké repozitáre zaplatia pri každom takom volaní viac.

Nezasekne sa a nebude agenta vracať donekonečna?

Vráti agenta s dôvodom a s tým, ako relácia doteraz prebiehala: počet behov, zlyhania za sebou, koľkokrát už bol vrátený. Agent potom môže zastaviť a priamo vám povedať, ktorá kontrola stále zlyháva.

Môže ho agent vypnúť?

Priamo nie. Core odmietne úpravy policy a denníka agentom a odmietne aj bw init a ručné uzavretie akcie. Odinštalovanie pluginu alebo zmenu týchto súborov okľukou riadia vlastné pravidlá oprávnení Claude Code, preto tieto výzvy nechajte zapnuté.

Posiela niekam niečo?

Neexistuje server ani telemetria. Jediné sieťové volania sú kontroly len na čítanie vaším vlastným git, gh a npm, ktoré overujú, či vedľajší účinok nastal. Denník zostáva v .git/better-workflows/.

A čo Codex, Gemini CLI alebo Qwen Code?

Bežali na V5, ktorá je zmrazená. Core nie je viazaný na hostiteľa a adaptéry pre ne sú plánované po alpha.

Vyskúšajte za pár sekúnd

Spustenie príkazu nie je dôkaz. Dôkazom sú súbory.

Spustite demo bez Claude, potom ho nainštalujte do jedného repozitára a požiadajte o zmenu.