Wywołanie dla vc-ship (launcher ship)
Ten sam kształt trzech ścieżek floty, z literałami tego skilla — zobacz
kanoniczną Matrycę Delegacji:
| Ścieżka |
Literał tego skilla |
| 1. Worker użytkownika |
vibecrafted ship <agent> / vc-ship |
| 2. Interactive |
/vc-ship — wykonaj w tej sesji; native subagenty gdy trzeba; nie zewnętrzniaj tylko dlatego, że launcher istnieje |
| 3. Agent-operator |
może odpalić formę workera powyżej przez vc-dispatch / linie operatora, zachowując tożsamość tego skilla |
Uwaga: Parasol cyklu życia (scaffold→release). Etapy zachowują własne launchery.
Swobodniejszy native na niektórych biegach ≠ porzucenie floty external. vc-dispatch i vc-ship zachowują własne tożsamości.
vc-ship — parasol cyklu życia: jedna misja, jedenaście etapów, jedna pałeczka
Wejście operatora
Reguła Living Tree / Worktree
Ten workflow działa w bieżącym checkoucie i na bieżącej gałęzi operatora. Nie
twórz worktree, nie przełączaj się do niego i nie przenoś tam wykonania, chyba
że operator wprost o to poprosi w tym promptcie. Czytaj pliki ponownie przed
edycją, dostosowuj się do równoległych zmian i zgłoś awarię podłoża, jeśli
drzewo jest zbyt zatrute, żeby bezpiecznie kontynuować. Jedyny usankcjonowany
drugi tryb to dispatch Fleet Worktrees (pisany plan, zacommitowane wcześniej verifiery, rozłączne domeny plików, jednowątkowy integrator — patrz Reguła Living Tree, Tryb B); poza tą formacją zostań we wspólnym drzewie.
Zobacz Reguła Living Tree.
Checkpoint orientacji
Zanim ten parasol cyklu życia odpali pierwszy etap — i zanim każdy nadzorowany
później etap WRITE dotknie źródeł — MUSI uruchomić lub skonsumować procedurę
vc-init dla repo tej misji. Sam plik misji jest ważny wyłącznie wtedy, gdy
stoi na prawdziwym przebiegu vc-init; jeśli brakuje świeżego evidence z
vc-init, wykonaj najpierw przebieg initu i traktuj cały lot jako zablokowany,
dopóki prawda o repo nie istnieje. Prompt jest hipotezą, nigdy ground truth.
Loctree:loctree to domyślny skill percepcji strukturalnej dla tego przebiegu.
Użyj Loctree przed grepem i przed twierdzeniami opartymi na docsach, żeby
wyprodukować lub odświeżyć Code-Derived Application Map: repo-view, focus,
slice, impact, find i follow — na ile są istotne. Szukaj istniejących symboli i
kontraktów, zanim stworzysz nowe; uruchom impact przed usunięciem lub większym
refactorem; uruchom slice przed edycją. Jako nadzorca niesiesz tę mapę jako
ładunek pałeczki, więc worker każdego etapu dziedziczy tę samą prawdę
strukturalną, zamiast odkrywać repo od zera.
Chodzi o to, żeby znaleźć haki, zanim jedenaście etapów wystartuje: nośne huby,
twinsy, martwy kod, dryf, entrypointy runtime'u i pułapki zasięgu zmiany. Jeśli
misja jawnie nie dotyczy repo albo kodu, zapisz w raporcie wyjątek no-repo. W
przeciwnym razie brak evidence z vc-init/Loctree to błąd procesu, a lot nie
zaczął się uczciwie.
Doktryna pracy z repozytorium
Przy pracy z repozytorium zaczynaj od Loctree jako mapy: używaj loct context,
loct occurrences, loct body i loct find --literal przed szerokim
przeszukiwaniem ręcznym. Do intencji i kontekstu sesji używaj AICX. rg/grep
traktuj jako fallback albo lokalną lupę, nie jako zamiennik mapowania
strukturalnego. Jeśli Loctree zawiedzie albo przeoczy jakąś powierzchnię,
dopisz feedback do ~/.vibecrafted/loctree/loctree-fail.md.
Standardowy launcher:
vibecrafted ship <agent> --file /path/to/mission.md # canonical: mission file
vibecrafted ship codex --prompt 'one-cut mission text' # short missions
vc-ship claude --file mission.md # shell shortcut
vibecrafted ship <agent> --start-stage review --file m.md # resume mid-pipeline
Niezmiennik runtime'u: workery etapów lecą headless, więc cykl życia
przeżywa utratę vc-frame i User Session. Obserwuj przez stan cyklu życia,
transcripty, observe i await. --runtime terminal to jawny wyjątek
kompatybilnościowy dla ścieżki providera, o której dowiedziono, że wymaga TTY.
Cel
Przeprowadź jedną misję produktową przez pełną kadencję Read-Write jako
pojedynczy nadzorowany run cyklu życia i uczyń wywołującego agenta
nadzorcą tego runu: weryfikuje raport każdego etapu, steruje czasownikami
human-controls i niesie pałeczkę (razem z ładunkiem raportów) od scaffoldu aż
po release. Cel każdego lotu jest podyktowany: duża wygrana i ZEROWY indeks
DoU — albo uczciwe, otrasowane accept-dou dla tego, co zostało
niedokończone.
Pipeline (kadencja Read-Write)
| # |
Etap |
Faza |
Narzędzia discovery / dowozu |
| 1 |
scaffold |
READ |
vc-init, vc-loctree, vc-research |
| 2 |
implement |
WRITE |
vc-init, vc-operator, vc-agents |
| 3 |
review |
READ |
vc-init, vc-loctree, vc-review, vc-prview (z założenia test-heavy) |
| 4 |
workflow |
WRITE |
vc-init, vc-research, vc-justdo |
| 5 |
followup |
READ |
vc-init, vc-intents, vc-loctree, TDD |
| 6 |
marbles |
WRITE |
runtime vc-marbles — entropia W GÓRĘ, zalej każde pęknięcie |
| 7 |
audit |
READ |
vc-init, vc-loctree, vc-aicx, vc-research |
| 8 |
polarize |
WRITE |
runtime marbles — entropia W DÓŁ, jedna prawda, bez litości |
| 9 |
dou |
READ |
Definition of Undone: znajdź luki przed release'em |
| 10 |
hydrate |
WRITE |
vc-init, vc-operator, vc-decorate |
| 11 |
release |
— |
deployment/publikacja/podpisywanie — etap płaszczyzny operatora |
Etapy READ nie mogą pisać po źródłach (naruszenie jest trasowane jako
read_phase_violation); etapy WRITE muszą pokazać commity i zielone bramki.
Jak lecieć (protokół nadzorcy)
Najpierw misja. Ułóż misję jako trwały plik .md pod
~/.vibecrafted/artifacts/<org>/<repo>/<date>/plans/ — osadzoną w
prawdziwym przebiegu vc-init (atlas Loctree + intencje AICX + prawda o
git/ryzyku), z jawnymi deliverables, twardymi ograniczeniami i bramkami.
--file dostarcza ją verbatim każdemu workerowi etapu.
Odpal standardowym launcherem powyżej. Zweryfikuj potwierdzenie startu:
run_id (life-ship-…), wczytany atlas kontekstu, etap 1 przyjęty.
Uzbrój await natychmiast, po stronie nadzorcy (nigdy wewnątrz subagenta —
patrz docs/runtime/AGENT_OPS.md): po dispatchu uzbrój
vibecrafted await <agent> --run-id <id> natychmiast, po stronie nadzorcy.
JSON control plane'u, pliki raportów, transcripty, pane'y i zaplanowane
pobudki są wyłącznie diagnostyczne, nie są sygnałem wybudzenia.
Asekurowanie awaita doraźnymi pollerami/watcherami to naruszenie klasy 3;
napraw control_plane.await_run, nie normalizuj asekuracji. Sprawdzanie
raportów etapów i ship status --json to diagnostyka podporządkowana temu
kanonicznemu awaitowi; ship status --json wystawia stage_worker z
worker_dead_without_report — sygnał śmierci, na który da się zareagować;
dispatcher zapisuje też worker_exit / stage_worker_exit do state.json
po stronie push, gdy worker umiera.
Żywotność na 3 sygnałach: zanim ogłosisz zakończenie, uzgodnij werdykt
awaita, meta runu z terminala i martwy pid workera; jeśli obiecano raport,
potwierdź, że istnieje. Dwa zgodne sygnały wystarczą do działania, trzy do
ogłoszenia końca; niezgodność oznacza „traktuj jak żywy" i ponowne uzbrojenie
awaita. Znany rozjazd: rc=0 przy żywym oraz meta zawieszona na
active/stalled po faktycznym zakończeniu.
Weryfikuj przed każdym guzikiem. Przeczytaj raport; dla etapów WRITE
potwierdź, że commity i bramki naprawdę istnieją; dla etapów READ potwierdź
brak read_phase_violation. Uszanuj sterowanie workera z frontmattera
raportu (next_stage, next_agent, dou_index), chyba że to bzdura —
wtedy nadpisz czasownikiem.
Steruj czasownikami, nigdy ręczną operacją na stanie:
vibecrafted ship runs # list lifecycle runs
vibecrafted ship status <run_id> --json # truth before any button
vibecrafted ship approve <run_id> # baton → next stage (cargo-gated)
vibecrafted ship approve <run_id> --force # traced override of the cargo gate
vibecrafted ship interrupt <run_id> # stop a blind/dead continuation
vibecrafted ship fallback <run_id> --stage <s> # rewind the baton WITH cargo
vibecrafted ship force-audit <run_id> # suspicious WRITE output
vibecrafted ship accept-dou <run_id> --finding "…" # conscious, traced gap
Odzyskiwanie martwego workera zawsze wygląda tak: interrupt →
fallback --stage <stage> → approve [--force]. Żaden ładunek pałeczki nie
ginie.
Raportuj na końcu, nie po drodze (chyba że operator prosi inaczej):
przelecione etapy, wprowadzone korekty, commity, kolory bramek, dou_index
oraz to, czego release uczciwie NIE zweryfikował.
Granice (co zostaje przy człowieku)
- Pałeczka to sztafeta agent↔agent; nadzorujący agent jest operatorem runu.
Człowiek zostaje człowiekiem: mandaty, pushe w świat i merge należą do niego,
chyba że jawnie je zdeleguje.
- Nigdy nie merguj własnego PR-a bez jawnego, jednorazowego mandatu.
- „Production ready" to werdykt zakazany. Raportuj evidence,
file:line, kolory
bramek; werdykt należy do etapu release i do człowieka — uczciwe wyniki w
rodzaju repo_contract_green_external_release_blocked biją pewne siebie
kłamstwo.
Kiedy używać
- Misja potrzebuje pełnej kadencji: discovery, dowóz, adwersarialny review,
stabilizacja entropia-w-górę / entropia-w-dół, DoU i bramka release'u — jako
jeden nadzorowany, audytowalny run.
- Operator mówi „ship it", „pełny lot", „parasol" dla obciętego zakresowo cięcia
produktowego w DOWOLNYM repo (runtime jest repo-agnostyczny; plik misji
nazywa roota).
Kiedy NIE używać:
- Pojedyncze cięcie o znanym kształcie →
vc-implement albo vc-justdo.
- Sama stabilizacja →
vc-marbles (potem vc-polarize).
- Samo discovery → bezpośrednio
vc-init / vc-research / vc-scaffold.
Pozycja w pipelinie
- Upstream:
vc-operator (typowy wywołujący), plan misji klasy scaffold.
- Downstream: nic — vc-ship JEST pipeline'em; jego etap release emituje handoff
(raport release'u + ślad DoU), na którym działa człowiek.
Kryteria akceptacji
Przebieg skilla jest skończony, gdy:
Jeśli któregokolwiek punktu akceptacji nie da się odhaczyć z evidence, lot się
nie zakończył — powiedz to wprost w raporcie końcowym.
Antywzorce
- Odpalanie bez pliku misji osadzonego w prawdzie z vc-init (prompt jest
hipotezą, nie ground truth).
- Pilnowanie bramek albo workerów z wnętrza subagenta — awaria klasy gate-nap
(
docs/runtime/AGENT_OPS.md, klasa 1); watchery mieszkają przy nadzorcy.
- Ufanie ciszy: brakujący raport jest nie do odróżnienia od martwego workera,
dopóki nie sprawdzisz żywotności (klasa 2) — użyj
status/stage_worker, nie
wysiaduj budżetów przy zwłokach.
- Ręczne edycje
state.json zamiast czasowników — ślad JEST produktem.
- Zatwierdzanie etapu bez przeczytania jego raportu albo samodzielne ogłaszanie
„gotowe" zamiast oddania werdyktu bramce.
Przykłady
Zobacz examples/example-prompt.md — minimalna
para: fraza wyzwalająca + oczekiwane zachowanie.
𝚅𝚒𝚋𝚎𝚌𝚛𝚊𝚏𝚝𝚎𝚍. with AI Agents by Vetcoders (c)2024-2026 LibraxisAI
1---2name: vc-ship-23description: Meta-skill: the full Vibecrafted lifecycle umbrella. Launches the 11-stage Read-Write cadence (scaffold → implement → review → workflow → followup → marbles → audit → polarize → dou → hydrate → release) as ONE supervised lifecycle run, then turns the invoking agent into the supervising operator driving the baton relay with the human-controls verbs. Usually invoked in the vc-operator formula. Trigger phrases: "vc-ship", "/vc-ship", "ship it through the lifecycle", "parasol", "umbrella flight", "pełny lot", "lifecycle run", "od scaffoldu po release".4---56<!-- fleet-imperative: v3 -->78> **Wywołanie dla `vc-ship` (launcher `ship`)**9>10> Ten sam _kształt_ trzech ścieżek floty, z **literałami tego** skilla — zobacz11> kanoniczną [Matrycę Delegacji](../DELEGATION_MATRIX.md):12>13> - [Wspólne trzy ścieżki](../DELEGATION_MATRIX.md#wspólne-trzy-ścieżki)14> - [Katalog launcherów](../DELEGATION_MATRIX.md#katalog-launcherów-core-runtime)15> - [Reguła per-launcher](../DELEGATION_MATRIX.md#reguła-per-launcher-delta-semantyczna)16> - [Native vs external](../DELEGATION_MATRIX.md#natywne-subagenty-vs-zewnętrzni-workerzy)17>18> | Ścieżka | Literał tego skilla |19> | --------------------- | --------------------------------------------------------------------------------------------------------------------------- |20> | 1. Worker użytkownika | `vibecrafted ship <agent>` / `vc-ship` |21> | 2. Interactive | `/vc-ship` — wykonaj **w tej sesji**; native subagenty gdy trzeba; **nie** zewnętrzniaj tylko dlatego, że launcher istnieje |22> | 3. Agent-operator | może odpalić formę workera powyżej przez `vc-dispatch` / linie operatora, zachowując tożsamość tego skilla |23>24> **Uwaga:** **Parasol** cyklu życia (scaffold→release). Etapy zachowują własne launchery.2526> Swobodniejszy native na niektórych biegach ≠ porzucenie floty external. `vc-dispatch` i `vc-ship` zachowują własne tożsamości.2728<!-- /fleet-imperative -->2930# vc-ship — parasol cyklu życia: jedna misja, jedenaście etapów, jedna pałeczka3132---3334## Wejście operatora3536### Reguła Living Tree / Worktree3738Ten workflow działa w bieżącym checkoucie i na bieżącej gałęzi operatora. Nie39twórz worktree, nie przełączaj się do niego i nie przenoś tam wykonania, chyba40że operator wprost o to poprosi w tym promptcie. Czytaj pliki ponownie przed41edycją, dostosowuj się do równoległych zmian i zgłoś awarię podłoża, jeśli42drzewo jest zbyt zatrute, żeby bezpiecznie kontynuować. Jedyny usankcjonowany43drugi tryb to dispatch Fleet Worktrees (pisany plan, zacommitowane wcześniej verifiery, rozłączne domeny plików, jednowątkowy integrator — patrz Reguła Living Tree, Tryb B); poza tą formacją zostań we wspólnym drzewie.4445Zobacz [Reguła Living Tree](../LIVING_TREE_RULE.md).4647## Checkpoint orientacji4849Zanim ten parasol cyklu życia odpali pierwszy etap — i zanim każdy nadzorowany50później etap WRITE dotknie źródeł — MUSI uruchomić lub skonsumować procedurę51`vc-init` dla repo tej misji. Sam plik misji jest ważny wyłącznie wtedy, gdy52stoi na prawdziwym przebiegu `vc-init`; jeśli brakuje świeżego evidence z53`vc-init`, wykonaj najpierw przebieg initu i traktuj cały lot jako zablokowany,54dopóki prawda o repo nie istnieje. Prompt jest hipotezą, nigdy ground truth.5556`Loctree:loctree` to domyślny skill percepcji strukturalnej dla tego przebiegu.57Użyj Loctree przed grepem i przed twierdzeniami opartymi na docsach, żeby58wyprodukować lub odświeżyć Code-Derived Application Map: repo-view, focus,59slice, impact, find i follow — na ile są istotne. Szukaj istniejących symboli i60kontraktów, zanim stworzysz nowe; uruchom impact przed usunięciem lub większym61refactorem; uruchom slice przed edycją. Jako nadzorca niesiesz tę mapę jako62ładunek pałeczki, więc worker każdego etapu dziedziczy tę samą prawdę63strukturalną, zamiast odkrywać repo od zera.6465Chodzi o to, żeby znaleźć haki, zanim jedenaście etapów wystartuje: nośne huby,66twinsy, martwy kod, dryf, entrypointy runtime'u i pułapki zasięgu zmiany. Jeśli67misja jawnie nie dotyczy repo albo kodu, zapisz w raporcie wyjątek no-repo. W68przeciwnym razie brak evidence z `vc-init`/Loctree to błąd procesu, a lot nie69zaczął się uczciwie.7071## Doktryna pracy z repozytorium7273Przy pracy z repozytorium zaczynaj od Loctree jako mapy: używaj `loct context`,74`loct occurrences`, `loct body` i `loct find --literal` przed szerokim75przeszukiwaniem ręcznym. Do intencji i kontekstu sesji używaj AICX. rg/grep76traktuj jako fallback albo lokalną lupę, nie jako zamiennik mapowania77strukturalnego. Jeśli Loctree zawiedzie albo przeoczy jakąś powierzchnię,78dopisz feedback do `~/.vibecrafted/loctree/loctree-fail.md`.7980Standardowy launcher:8182```bash83vibecrafted ship <agent> --file /path/to/mission.md # canonical: mission file84vibecrafted ship codex --prompt 'one-cut mission text' # short missions85vc-ship claude --file mission.md # shell shortcut86vibecrafted ship <agent> --start-stage review --file m.md # resume mid-pipeline87```8889Niezmiennik runtime'u: workery etapów lecą **headless**, więc cykl życia90przeżywa utratę vc-frame i User Session. Obserwuj przez stan cyklu życia,91transcripty, `observe` i `await`. `--runtime terminal` to jawny wyjątek92kompatybilnościowy dla ścieżki providera, o której dowiedziono, że wymaga TTY.9394---9596## Cel9798Przeprowadź jedną misję produktową przez pełną kadencję Read-Write jako99pojedynczy nadzorowany run cyklu życia i uczyń wywołującego agenta100**nadzorcą** tego runu: weryfikuje raport każdego etapu, steruje czasownikami101human-controls i niesie pałeczkę (razem z ładunkiem raportów) od scaffoldu aż102po release. Cel każdego lotu jest podyktowany: **duża wygrana i ZEROWY indeks103DoU** — albo uczciwe, otrasowane `accept-dou` dla tego, co zostało104niedokończone.105106## Pipeline (kadencja Read-Write)107108| # | Etap | Faza | Narzędzia discovery / dowozu |109| --- | --------- | ----- | ------------------------------------------------------------------ |110| 1 | scaffold | READ | vc-init, vc-loctree, vc-research |111| 2 | implement | WRITE | vc-init, vc-operator, vc-agents |112| 3 | review | READ | vc-init, vc-loctree, vc-review, vc-prview (z założenia test-heavy) |113| 4 | workflow | WRITE | vc-init, vc-research, vc-justdo |114| 5 | followup | READ | vc-init, vc-intents, vc-loctree, TDD |115| 6 | marbles | WRITE | runtime vc-marbles — entropia W GÓRĘ, zalej każde pęknięcie |116| 7 | audit | READ | vc-init, vc-loctree, vc-aicx, vc-research |117| 8 | polarize | WRITE | runtime marbles — entropia W DÓŁ, jedna prawda, bez litości |118| 9 | dou | READ | Definition of Undone: znajdź luki przed release'em |119| 10 | hydrate | WRITE | vc-init, vc-operator, vc-decorate |120| 11 | release | — | deployment/publikacja/podpisywanie — etap płaszczyzny operatora |121122Etapy READ nie mogą pisać po źródłach (naruszenie jest trasowane jako123`read_phase_violation`); etapy WRITE muszą pokazać commity i zielone bramki.124125## Jak lecieć (protokół nadzorcy)1261271. **Najpierw misja.** Ułóż misję jako trwały plik `.md` pod128 `~/.vibecrafted/artifacts/<org>/<repo>/<date>/plans/` — osadzoną w129 prawdziwym przebiegu vc-init (atlas Loctree + intencje AICX + prawda o130 git/ryzyku), z jawnymi deliverables, twardymi ograniczeniami i bramkami.131 `--file` dostarcza ją verbatim każdemu workerowi etapu.1322. **Odpal** standardowym launcherem powyżej. Zweryfikuj potwierdzenie startu:133 run_id (`life-ship-…`), wczytany atlas kontekstu, etap 1 przyjęty.1343. **Uzbrój await natychmiast, po stronie nadzorcy** (nigdy wewnątrz subagenta —135 patrz `docs/runtime/AGENT_OPS.md`): po dispatchu uzbrój136 `vibecrafted await <agent> --run-id <id>` natychmiast, po stronie nadzorcy.137 JSON control plane'u, pliki raportów, transcripty, pane'y i zaplanowane138 pobudki są wyłącznie diagnostyczne, nie są sygnałem wybudzenia.139 Asekurowanie awaita doraźnymi pollerami/watcherami to naruszenie klasy 3;140 napraw `control_plane.await_run`, nie normalizuj asekuracji. Sprawdzanie141 raportów etapów i `ship status --json` to diagnostyka podporządkowana temu142 kanonicznemu awaitowi; `ship status --json` wystawia `stage_worker` z143 `worker_dead_without_report` — sygnał śmierci, na który da się zareagować;144 dispatcher zapisuje też `worker_exit` / `stage_worker_exit` do `state.json`145 po stronie push, gdy worker umiera.146 Żywotność na 3 sygnałach: zanim ogłosisz zakończenie, uzgodnij werdykt147 awaita, meta runu z terminala i martwy pid workera; jeśli obiecano raport,148 potwierdź, że istnieje. Dwa zgodne sygnały wystarczą do działania, trzy do149 ogłoszenia końca; niezgodność oznacza „traktuj jak żywy" i ponowne uzbrojenie150 awaita. Znany rozjazd: rc=0 przy żywym oraz meta zawieszona na151 `active`/`stalled` po faktycznym zakończeniu.1524. **Weryfikuj przed każdym guzikiem.** Przeczytaj raport; dla etapów WRITE153 potwierdź, że commity i bramki naprawdę istnieją; dla etapów READ potwierdź154 brak `read_phase_violation`. Uszanuj sterowanie workera z frontmattera155 raportu (`next_stage`, `next_agent`, `dou_index`), chyba że to bzdura —156 wtedy nadpisz czasownikiem.1575. **Steruj czasownikami, nigdy ręczną operacją na stanie:**158159 ```bash160 vibecrafted ship runs # list lifecycle runs161 vibecrafted ship status <run_id> --json # truth before any button162 vibecrafted ship approve <run_id> # baton → next stage (cargo-gated)163 vibecrafted ship approve <run_id> --force # traced override of the cargo gate164 vibecrafted ship interrupt <run_id> # stop a blind/dead continuation165 vibecrafted ship fallback <run_id> --stage <s> # rewind the baton WITH cargo166 vibecrafted ship force-audit <run_id> # suspicious WRITE output167 vibecrafted ship accept-dou <run_id> --finding "…" # conscious, traced gap168 ```169170 Odzyskiwanie martwego workera zawsze wygląda tak: `interrupt` →171 `fallback --stage <stage>` → `approve [--force]`. Żaden ładunek pałeczki nie172 ginie.1731746. **Raportuj na końcu, nie po drodze** (chyba że operator prosi inaczej):175 przelecione etapy, wprowadzone korekty, commity, kolory bramek, dou_index176 oraz to, czego release uczciwie NIE zweryfikował.177178## Granice (co zostaje przy człowieku)179180- Pałeczka to sztafeta **agent↔agent**; nadzorujący agent jest operatorem runu.181 Człowiek zostaje człowiekiem: mandaty, pushe w świat i merge należą do niego,182 chyba że jawnie je zdeleguje.183- Nigdy nie merguj własnego PR-a bez jawnego, jednorazowego mandatu.184- „Production ready" to werdykt zakazany. Raportuj evidence, `file:line`, kolory185 bramek; werdykt należy do etapu release i do człowieka — uczciwe wyniki w186 rodzaju `repo_contract_green_external_release_blocked` biją pewne siebie187 kłamstwo.188189## Kiedy używać190191- Misja potrzebuje pełnej kadencji: discovery, dowóz, adwersarialny review,192 stabilizacja entropia-w-górę / entropia-w-dół, DoU i bramka release'u — jako193 jeden nadzorowany, audytowalny run.194- Operator mówi „ship it", „pełny lot", „parasol" dla obciętego zakresowo cięcia195 produktowego w DOWOLNYM repo (runtime jest repo-agnostyczny; plik misji196 nazywa roota).197198**Kiedy NIE używać:**199200- Pojedyncze cięcie o znanym kształcie → `vc-implement` albo `vc-justdo`.201- Sama stabilizacja → `vc-marbles` (potem `vc-polarize`).202- Samo discovery → bezpośrednio `vc-init` / `vc-research` / `vc-scaffold`.203204## Pozycja w pipelinie205206- Upstream: `vc-operator` (typowy wywołujący), plan misji klasy scaffold.207- Downstream: nic — vc-ship JEST pipeline'em; jego etap release emituje handoff208 (raport release'u + ślad DoU), na którym działa człowiek.209210## Kryteria akceptacji211212Przebieg skilla jest **skończony**, gdy:213214- [ ] Run cyklu życia doszedł do `release` (albo do stopu decyzją operatora), a215 każde przejście jest otrasowane w `operator_actions`.216- [ ] Każdy etap WRITE ma weryfikowalne commity + zielone bramki; każdy etap217 READ jest wolny od naruszeń.218- [ ] `dou_index` wynosi 0 — albo każda pozostała luka jest jawnym,219 otrasowanym `accept-dou` z nazwanym followupem.220- [ ] Dostarczony raport końcowy: etapy, korekty, commity, kolory bramek i to,221 czego NIE zweryfikowano.222223Jeśli któregokolwiek punktu akceptacji nie da się odhaczyć z evidence, lot się224nie zakończył — powiedz to wprost w raporcie końcowym.225226## Antywzorce227228- Odpalanie bez pliku misji osadzonego w prawdzie z vc-init (prompt jest229 hipotezą, nie ground truth).230- Pilnowanie bramek albo workerów z wnętrza subagenta — awaria klasy gate-nap231 (`docs/runtime/AGENT_OPS.md`, klasa 1); watchery mieszkają przy nadzorcy.232- Ufanie ciszy: brakujący raport jest nie do odróżnienia od martwego workera,233 dopóki nie sprawdzisz żywotności (klasa 2) — użyj `status`/`stage_worker`, nie234 wysiaduj budżetów przy zwłokach.235- Ręczne edycje `state.json` zamiast czasowników — ślad JEST produktem.236- Zatwierdzanie etapu bez przeczytania jego raportu albo samodzielne ogłaszanie237 „gotowe" zamiast oddania werdyktu bramce.238239## Przykłady240241Zobacz [`examples/example-prompt.md`](examples/example-prompt.md) — minimalna242para: fraza wyzwalająca + oczekiwane zachowanie.243244---245246_𝚅𝚒𝚋𝚎𝚌𝚛𝚊𝚏𝚝𝚎𝚍. with AI Agents by Vetcoders (c)2024-2026 LibraxisAI_