This release is a pre-release and may not be stable for production use.
Dockuri
0.5.0-alpha.1 — operacje URI z trwałym wyborem zadań dla Willmana i Koru.
Willman zachowuje cel, kolejkę i strategię. Dockuri wykonuje pojedynczą dopuszczoną próbę, a Koru pracuje w wybranym projekcie. W tej wersji „wykonaj te wszystkie” odnosi się do zapisanego wyboru z poprzedniego odczytu w tej samej uwierzytelnionej rozmowie. Wykonanie nie rozszerza go o nowy skan workspace.
Źródła bazowe: publiczny Dockuri 469201434ccd0af1c3d112854e2b1e0a72749e3b oraz nowy patch Willmana dla 0e1b9bd331709fce7424f756c2c825bebfdc9063. To inna rewizja niż checkout Willmana 0909ff2 opisany w audycie użytkownika. Aplikator sprawdza przypięty HEAD i zawartość zmienianych plików; starego patcha 0.4 nie należy stosować z pominięciem jego zabezpieczeń.
Co zmienia 0.5
- Trwały
selection_id, digest, ważność i dokładne tożsamościnode_id, kanoniczny korzeń projektu,project_id,ticket_id, rewizja. Brak, wygaśnięcie lub niezgodność wyboru zatrzymują nowe wykonania. - Wiązanie wyboru z uwierzytelnionym operatorem i sesją rozmowy. Tożsamość pochodzi z transportu; model nie wybiera jej argumentem operacji.
- Rozliczenie całego wybranego zestawu, z osobnymi stanami oczekiwania, częściowej porażki, blokady i niepewnego skutku.
donewymaga odczytu każdego wybranego ticketu. To dowód stanu Planfile, nie niezależna ocena jakości kodu ani dowolnego celu NL. - Odczytowy preflight Koru przed claim/start oraz ponowna kontrola przed uruchomieniem. Sprawdza znane lokalne warunki i jawnie raportuje blokady; nie instaluje narzędzi ani nie zmienia uprawnień.
- Przygotowane środowisko builda z oddzielnymi zależnościami developerskimi i izolowanym PEP 517. Wheel nadal instaluje się bez backendu builda.
- Deterministyczne zamykanie SQLite również po nieudanej inicjalizacji rejestru.
Analiza incydentu i zakres poprawek, instrukcja Willmana oraz kontrakty Koru opisują szczegóły i granice tego lokalnego profilu.
Komenda jako trwały akt
Akt zachowuje cel, przyczynę powołania, odwołania do historii, granice działania i dowody wykonania. Kolejne operacje tworzą jego historię przyczynową. Zakończenie pojedynczego procesu nie zamyka automatycznie celu. ACT-LIFECYCLE.md opisuje cykl aż do potwierdzonego sukcesu, zakończenia przez człowieka, ograniczenia środowiska lub wyczerpania budżetu, z osobnym stanem niepewnych skutków.
Paczka zawiera testowany, czysty model referencyjny tych przejść w integrations/willman/act_model.py oraz przykład JSONL w examples/acts/. Model nie uruchamia procesów i nie jest jeszcze podłączony do watchdoga. Aktywna integracja 0.5 realizuje węższy profil trwałego wyboru ticketów; ogólne planowanie kolejnych celów przez LLM wymaga dalszego połączenia z rejestrem, polityką i weryfikatorami wyników.
Instalacja runtime
Python 3.11+; zależność runtime: PyYAML. Rust CLI jest dodatkową kompilowaną fasadą nad tymi samymi adapterami Python.
python3 -m venv .venv
. .venv/bin/activate
python -m pip install wheels/dockuri-0.5.0a1-py3-none-any.whl
dockuri --version
Instalacja ze źródeł: python -m pip install .. Integracja Willmana i bundle Koru są dostarczone w katalogu integrations/ w ZIP; sam wheel instaluje runtime Dockuri. Zmiana konfiguracji bundle wymaga odświeżenia rejestru.
Shell, chat, web i logi
dockuri registry upsert --project twin=examples/sessions/twin-project
dockuri sh --allow-native --allow-effects pure
W shell podaj jedną linię JSON:
{"id":"r1","uri":"proc://taskand.dev/twin/environment/v1","args":{"action":"status","taskId":"twin-001"}}
W drugim terminalu dockuri watch pokazuje zdarzenia i wyniki. Demonstracja Twinerd zwraca jawne mock:true i nie tworzy VM. Dostępne są też dockuri shell, chat, call, web, mcp, sessions, drivers i init.
Domyślny stan: .dockuri/registry.sqlite3, .dockuri/logs/<session>.jsonl, .dockuri/conversations/<session>.jsonl i rejestr prób jobs.sqlite3 pod katalogiem stanu. Używaj tych samych --state i --db we współpracujących procesach. registry upsert dodaje/odświeża jeden projekt, registry refresh zapamiętany zestaw, a registry scan zastępuje cały autorytatywny zestaw projektów.
Długie próby wykonania
Po skonfigurowaniu własnego bundle Koru oraz listy projektów można uruchomić serwer:
dockuri registry upsert --project koru=integrations/koru
dockuri web --enable-jobs --max-operation-seconds 900 --max-jobs 2 --allow-native --allow-effects read,write,process,network
Panel jest pod http://127.0.0.1:8765, token domyślnie w .dockuri/web.token. Native i venv korzystają z uprawnień użytkownika i nie są sandboxami OS. Deklaracje efektów nie zastępują izolacji systemowej.
dockuri job submit URI --args JSON --effect-id KLUCZ --timeout-seconds 300 jest krótkim wywołaniem istniejącego serwera. Dalsza obserwacja: dockuri job status JOB_ID, result JOB_ID, cancel JOB_ID. REST i MCP używają tej samej usługi. Zwykły call nadal ma limit najwyżej 30 sekund; job API udostępnia osobny konfigurowany budżet procesu.
Ta sama tożsamość efektu zwraca istniejącą próbę; inna treść pod tym samym kluczem jest konfliktem. Dockuri nie ma własnej kolejki biznesowej ani automatycznego retry. Timeout nie obejmuje całego przygotowania snapshotu i transportu. Po utracie wykonawcy rezerwacja zasobów pozostaje do potwierdzenia zakończenia; szczegóły: ATTEMPTS.md.
Willman: od wyboru do pokrycia
- Skonfiguruj przypięty patch, lokalny endpoint Dockuri i bundle Koru. Profil nie aktywuje usług użytkownika ani nie przyznaje praw samym uruchomieniem watchdoga.
- Uwierzytelniona rozmowa wykonuje jawny skan, np. „jakie zadania może wykonać Koru w projektach ~/github/semcod/*”. Wynik zawiera zapisany wybór i jego pokrycie.
- „Wykonaj te wszystkie” korzysta z tego wyboru. Nieznany wybór, inne konto/sesja/węzeł, niepełny odczyt lub niezgodne argumenty powodują odmowę.
- Kontroler sprawdza przygotowanie całego wyboru, a następnie uruchamia ograniczone partie jego pozycji. Każde uruchomienie ponownie sprawdza dokładną tożsamość i rewizję.
- Watchdog kontynuuje aktywne wybory i odczytuje istniejące próby. Wynik częściowy lub wymagający uzgodnienia pozostaje widoczny. Samo przyjęcie zlecenia albo
exit 0nie zamykają celu.
Wybór obejmuje najwyżej 200 pozycji. Ważność jest ograniczona i nie odnawia się automatycznie. Wygaśnięcie zatrzymuje nowe uruchomienia, ale nie ukrywa już działających prób. „Cały Mesh” nie oznacza broadcastu; zdalny fan-out, tożsamości tenantów i broker poświadczeń wymagają odrębnej integracji.
Budowa i weryfikacja
Build ma osobne wymagania; nie dodajemy setuptools do runtime. Pełna instrukcja: BUILD.md.
python -m pip install -r requirements-build.txt
python tools/check_installed_wheel.py --check-build-tools
python tools/check_installed_wheel.py
Kontrole źródłowe:
python -m unittest discover -s tests -v
python -m unittest discover -s integrations/twinerd -p 'test_*.py' -v
python tools/validate_schemas.py --require-validator
python tools/smoke_surfaces.py
cargo test --locked
Pełna bramka Willmana wymaga jego przypiętych źródeł i policy-dsl. Uruchom integrations/willman/verify.py zgodnie z instrukcją; brak checkoutów nie jest zaliczeniem integracji. Python 3.13 ma dodatkowy test natywnych ResourceWarning; wcześniejszy interpreter jawnie go pomija, a niezależne testy rzeczywistych połączeń i deskryptorów nadal działają.
TEST-REPORT.json zawiera wyniki dla tej paczki. W testach end-to-end wrapper i transport są rzeczywiste, natomiast Koru jest fixture CLI pracującym na tymczasowym Planfile. Nie wdrażano zmian na hoście użytkownika, nie wykonywano produkcyjnych ticketów, nie czytano prywatnej poczty, nie uruchamiano prawdziwego modelu ani 24-godzinnego soak. Konfiguracja CI nie jest dowodem wykonania CI na GitHubie.
Historyczne pomiary 0.2–0.4 pozostają oznaczonymi dowodami wcześniejszych wersji. Wyszukiwanie leksykalne nie stało się ogólnym parserem intencji ani upoważnieniem do wykonania. Importery Taskand/Paxlet, broker sekretów, fan-out inwentarza usług oraz uniwersalność dla wszystkich OS/języków nie są certyfikowane tą paczką. Standard, licencja, poprzedni profil.
Metadata
Release files for dockuri 0.5.0a1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| dockuri-0.5.0a1.tar.gz | 192.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| dockuri-0.5.0a1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 321.8 kB
Release files / dockuri-0.5.0a1.tar.gz
| Download URL | dockuri-0.5.0a1.tar.gz |
|---|---|
| Size | 192.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5ecab14765e08ece0da0f258c9f6ba825f41137682645526b7f70903262ba74d
|
|
BLAKE2b-256 checksum How to use checksums |
f83f12cba8b66f65276e8b155da269333db4c7bd4f055bbc6a12803eadfad010
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.7
|
Release files / dockuri-0.5.0a1-py3-none-any.whl
| Download URL | dockuri-0.5.0a1-py3-none-any.whl |
|---|---|
| Size | 128.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a5bc11540bb9e8cbe46e78737f534a3c27f6aa1653e7c9ce8bd771b82b841da7
|
|
BLAKE2b-256 checksum How to use checksums |
d1652824019bb6f6e16c639bb7453d48ed6db049ca2575874dc93ef209711cb6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.7
|