KRET LANGUAGE ACADEMY · DOKUMENTACJA ZE ŹRÓDEŁ
Pakowanie i analiza ograniczeń
Czego się nauczysz
- Prześledź źródła i wyjaśnij opisany kontrakt.
- Przygotuj listę dowodów i blokad przed testem Core lub publikacją.
Wymagania wstępne
- Kurs KretHello oraz kursy technologii wskazanych w karcie projektu.
Wyjaśnienie krok po kroku
Odczytaj zgodność, wymagane uprawnienia i status produkcyjny z karty, zanim przygotujesz paczkę dev ze źródłami. Nie zmieniaj root of trust ani uprawnień hosta na potrzeby ćwiczenia. Publikacja pozostaje osobnym zatwierdzanym procesem.
Materiały źródłowe do tego tematu
Przeczytaj powiązane rozdziały. Kod i kontrakty zachowano z importu; historia źródeł jest dostępna przy każdym rozdziale.
BUILD_INSTRUCTIONS — KretSystemDashboard
BUILD_INSTRUCTIONS — KretSystemDashboard
Katalog roboczy / working directory: folder tego pluginu (zawiera src/). kret = <SDK>\Compiler\kret.exe z SDK 1.0.0-rc.3+kret.local.3 (lub pinned Vendor Core rc.3+kc-base-test610). Wszystkie polecenia poniżej zostały wykonane w tej rundzie — wyniki: TEST_RESULTS.json.
| # | Krok / Step | Polecenie / Command |
|---|---|---|
| 1 | Utworzenie projektu / create | Kopia engine/Plugins/KretSystemDashboard/Source (Core 1.0.0-test.6.11-draft.1, gałąź feature/sdk-studio-final-integration). / Copy of the Core plugin source. Nowy projekt od zera / from scratch: kret new basic <katalog> --name KretSystemDashboard |
| 2 | Kod / code | src/plugin.kretl, src/Script/**.krs, src/Ui/* |
| 3 | Sprawdzenie / check | kret check src --json |
| 4 | Build | kret build src → src/Build/plugin.kbc, manifest.json |
| 5 | Testy / tests | kret test src --json --policy examples/host-policy.json |
| 5a | Uruchomienie lokalne / local run | kret run src --policy examples/host-policy.json --data <nowy katalog> --invoke dashboard.readings --invoke dashboard.refresh=[41] |
| 6 | Paczka / pack | kret publish pack src --channel dev --include-sources -o package → package/LOCAL-KPL-BASCDSH7-1.2.0-dev.kpkg |
| 7 | Weryfikacja / verify | kret publish verify package/LOCAL-KPL-BASCDSH7-1.2.0-dev.kpkg --report package/verify-report.json |
Uwagi / notes:
--include-sourcesjest wymagane dla KPM Core: Core kompiluje plugin ze źródeł i odrzuca paczkę z samym bytecode (source_package_required, STUDIO-R02). / Required for Core KPM.- Kanał
dev: paczka niepodpisana (signature: SKIPPED, nie PASS). Brak podpisu produkcyjnego — ceremonia C1 nie odbyła się. / Unsigned dev package; no production signature exists. host-policy.jsonnigdy nie trafia do.kpkg(lista dozwolonych KretPublish). / Never packed.
COMPATIBILITY — KretSystemDashboard
COMPATIBILITY — KretSystemDashboard
| Składnik / Component | Wersja / Version | Stan / State |
|---|---|---|
| KretL | kretl-1.0, manifestVersion "1.0" | FROZEN_1_0 |
| Języki / languages | KretL, KretS (+ Kret.Hardware PROVISIONAL), KretUI, KretStyle, KTheme | zob. rejestr / see registry (KRET_AI_KNOWLEDGE_BASE → LANGUAGE_REGISTRY.json) |
| Kret SDK | 1.0.0-rc.3+kret.local.3 (kandydat lokalny, niepodpisany) | testy tej rundy / tested this round |
| Kret SDK (Core pinned) | 1.0.0-rc.3+kc-base-test610 | zgodny (to samo źródło + SFI-B01/T01) |
| KretStudio | 0.3.0-beta.2 + patch SFI (kopia testowa) | Pack/test/run przez SDK; oryginał KretStudio (lokalna instalacja / local install) 0.2.0 ma SDK rc.2 |
| Kret Engine / KretCore | 1.0.0-test.6.11-draft.1 | LAB_DEVELOPER (sensory PROVISIONAL, Production BLOCKED_BY_KCS) |
compatibility w manifeście | core min 0.5.0 (0.5.0), api min 1.6 | ABI pluginów SDK 1.6 |
| Bytecode | KBC format 2 | — |
| System | Windows 11 x64 | Linux/macOS: NOT_RUN |
02 — KretSystemDashboard
02 — KretSystemDashboard
| Pole | Wartość |
|---|---|
| Identyfikator | LOCAL-KPL-BASCDSH7 (lokalny, rodzina KPL) |
| Wersja | 1.2.0 |
| Technologie | KretL, KretS (+ Kret.Hardware PROVISIONAL), KretUI, KretStyle, KTheme |
| Stan przykładu | RUNNABLE_LOCAL (sensory: DENIED/UNAVAILABLE w SDK) |
| Stan w Kret Engine (Core) | LAB_DEVELOPER (sensory PROVISIONAL, Production BLOCKED_BY_KCS) |
| Paczka | package/LOCAL-KPL-BASCDSH7-1.2.0-dev.kpkg (dev, niepodpisana, ze źródłami) |
| Pochodzenie | Kopia engine/Plugins/KretSystemDashboard/Source (Core 1.0.0-test.6.11-draft.1, gałąź feature/sdk-studio-final-integration). / Copy of the Core plugin source. |
Cel
Panel informacji systemowych: RAM, CPU, GPU, VRAM, temperatury, RPM — wyłącznie przez moduł hosta Kret.Hardware (PROVISIONAL, G-06) i opcjonalne uprawnienia KCS. Każdy odczyt przechodzi przez Security Broker; odmowa albo brak sensora jest pokazywany jako DENIED/UNAVAILABLE, a plugin działa dalej. Brak sterowania sprzętem (bez PWM). W SDK nie ma dostawcy sensorów, więc odczyty kończą się odmową — to oczekiwane.
Struktura
| Ścieżka | Zawartość |
|---|---|
src/ | projekt SDK w oficjalnym układzie (plugin.kretl w katalogu głównym projektu, Script/, Ui/, Tests/) — osobny folder manifest/ nie istnieje, bo SDK wymaga manifestu w katalogu projektu |
tests/ | opis testów i surowe logi kroków (tests/logs/) |
docs/ | architektura (Mermaid), pochodzenie źródeł |
examples/ | polityka hosta testowego SDK (tylko lokalnie) |
package/ | .kpkg + raport weryfikacji + SHA-256 |
screenshots/ | prawdziwe klatki renderera KretUI (kretui-host --self-test) |
BUILD_INSTRUCTIONS.md, INSTALL_INSTRUCTIONS.md | pełny cykl: projekt → kod → check → build → test → pack → verify → KPM → instalacja Developer → start → aktualizacja → usunięcie |
SECURITY_PERMISSIONS.md, COMPATIBILITY.md | uprawnienia i zgodność wersji |
TEST_RESULTS.json | wyniki tej rundy (SDK; KPM w Core — jeśli wykonano) |
Szybki start
kret check src --json
kret run src --policy examples/host-policy.json --data <nowy katalog> --invoke dashboard.readings --invoke dashboard.refresh=[41]
Czytanie kodu linia po linii
Objaśnienia struktury nie są walidacją semantyczną. Szczegółowy kontrakt opisują referencje i README przykładu.
kret check src --jsonOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.kret run src --policy examples/host-policy.json --data <nowy katalog> --invoke dashboard.readings --invoke dashboard.refresh=[41]Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.
Status języka nie nadaje uprawnień KCS ani prawa do Production.
SECURITY_PERMISSIONS — KretSystemDashboard
SECURITY_PERMISSIONS — KretSystemDashboard
Zadeklarowane uprawnienia / declared permissions (src/plugin.kretl)
permissions {
required { }
optional { system.ram.read
system.cpu.read
gpu.usage.read
gpu.memory.read
gpu.temperature.read
storage.temperature.read
hardware.temperature.read
hardware.fans.read
hardware.sensors.read }
}
Czytanie kodu linia po linii
Objaśnienia struktury nie są walidacją semantyczną. Szczegółowy kontrakt opisują referencje i README przykładu.
permissions {Początek nazwanego bloku; jego pola odczytaj w powiązanej referencji.required { }Początek nazwanego bloku; jego pola odczytaj w powiązanej referencji.optional { system.ram.readPoczątek nazwanego bloku; jego pola odczytaj w powiązanej referencji.system.cpu.readOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.gpu.usage.readOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.gpu.memory.readOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.gpu.temperature.readOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.storage.temperature.readOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.hardware.temperature.readOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.hardware.fans.readOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.hardware.sensors.read }Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.}Zamknięcie struktury otwartej we wcześniejszych liniach.
Zasady / rules
- Deklaracja ≠ przyznanie (KCS-PERM-3). Dostęp daje polityka hosta i KCS przy każdym wywołaniu (Security Broker). / Declaration is not a grant.
examples/host-policy.jsonto polityka hosta testowego SDK (allowProvisionalRisktylko dla testów). Nigdy nie importuj jej do Core ani do danych użytkownika. / Test-host policy only; never import into Core.- Logika działa w osobnym procesie pluginu (Job Object, token ograniczony / AppContainer). Interfejs KretUI nie nadaje uprawnień i nie przechowuje sekretów. / Logic runs in a separate restricted process.
- Status w Core / Core status: LAB_DEVELOPER (sensory PROVISIONAL, Production BLOCKED_BY_KCS). D-KCS-01 pozostaje OPEN; uprawnienia PROVISIONAL nie są aktywowane w Production. / Not activated in Production.
- Paczka: kanał dev, niepodpisana, z źródłami; nie zawiera kluczy, haseł ani polityki hosta (kontrola sekretów KretPublish). / Dev channel, unsigned, no keys or secrets.
KretSystemDashboard — architektura / architecture
KretSystemDashboard — architektura / architecture
Opis tekstowy i źródło
- Host: kret run / KretStudio / Kret Engine → Security Broker (KCS przy każdym wywołaniu)
- Security Broker (KCS przy każdym wywołaniu) → Proces pluginu (Job Object, AppContainer)
- Proces pluginu (Job Object, AppContainer) → Maszyna KBC 2 + weryfikator
- src/plugin.kretl → Security Broker (KCS przy każdym wywołaniu)
- kretui-host (renderer, osobny proces) → Security Broker (KCS przy każdym wywołaniu) · komendy
flowchart LR Host["Host: kret run / KretStudio / Kret Engine"] --> Broker["Security Broker (KCS przy każdym wywołaniu)"] Broker --> Proc["Proces pluginu (Job Object, AppContainer)"] Proc --> VM["Maszyna KBC 2 + weryfikator"] L0["KretL"] L1["KretS (+ Kret.Hardware PROVISIONAL)"] L2["KretUI"] L3["KretStyle"] L4["KTheme"] Manifest["src/plugin.kretl"] --> Broker UI["kretui-host (renderer, osobny proces)"] -->|komendy| Broker
Pochodzenie / provenance: Kopia engine/Plugins/KretSystemDashboard/Source (Core 1.0.0-test.6.11-draft.1, gałąź feature/sdk-studio-final-integration). / Copy of the Core plugin source.
Architecture diagram
Architecture diagram
Opis tekstowy i źródło
- Host: kret run / KretStudio / Kret Engine → Security Broker (KCS przy każdym wywołaniu)
- Security Broker (KCS przy każdym wywołaniu) → Proces pluginu (Job Object, AppContainer)
- Proces pluginu (Job Object, AppContainer) → Maszyna KBC 2 + weryfikator
- src/plugin.kretl → Security Broker (KCS przy każdym wywołaniu)
- kretui-host (renderer, osobny proces) → Security Broker (KCS przy każdym wywołaniu) · komendy
flowchart LR Host["Host: kret run / KretStudio / Kret Engine"] --> Broker["Security Broker (KCS przy każdym wywołaniu)"] Broker --> Proc["Proces pluginu (Job Object, AppContainer)"] Proc --> VM["Maszyna KBC 2 + weryfikator"] L0["KretL"] L1["KretS (+ Kret.Hardware PROVISIONAL)"] L2["KretUI"] L3["KretStyle"] L4["KTheme"] Manifest["src/plugin.kretl"] --> Broker UI["kretui-host (renderer, osobny proces)"] -->|komendy| Broker
Pochodzenie / provenance
Pochodzenie / provenance
Kopia engine/Plugins/KretSystemDashboard/Source (Core 1.0.0-test.6.11-draft.1, gałąź feature/sdk-studio-final-integration). / Copy of the Core plugin source.
Dokumentacja wygenerowana przez eksport KretLanguageDocumentation (2026-11-01). Wszystkie polecenia z BUILD_INSTRUCTIONS.md zostały wykonane; wyniki w TEST_RESULTS.json.
KretSystemDashboard — karta przykładowego pluginu
KretSystemDashboard — karta przykładowego pluginu
StatusRUNNABLE_LOCALoznacza uruchomienie lokalne przez SDK — to nie jestPRODUCTION_READY. Paczka .kpkg nie jest dostępna do publicznego pobrania.
Panel informacji systemowych: RAM, CPU, GPU, VRAM, temperatury, RPM — wyłącznie przez moduł hosta Kret.Hardware (PROVISIONAL, G-06) i opcjonalne uprawnienia KCS. Każdy odczyt przechodzi przez Security Broker; odmowa albo brak sensora jest pokazywany jako DENIED/UNAVAILABLE, a plugin działa dalej. Brak sterowania sprzętem (bez PWM). W SDK nie ma dostawcy sensorów, więc odczyty kończą się odmową — to oczekiwane.
| Pole | Wartość |
|---|---|
| Nazwa | KretSystemDashboard (KretUI System Dashboard) |
| ID | LOCAL-KPL-BASCDSH7 |
| Wersja | 1.2.0 |
| Zastosowanie / uwagi | Zależny od uprawnień sensorów (opcjonalne, PROVISIONAL). Instalacja i start w profilu Developer bez przyznanych sensorów; w Production zablokowany przez KCS. |
| Technologie Kret | KretL, KretS, KretUI, KretStyle, KTheme |
| Wymagania | SDK 1.0.0-rc.3+kret.local.3; Kret Engine 1.0.0-test.6.11-draft.1 (profil Developer); Windows 11 x64; .NET 10 |
| Uprawnienia wymagane | brak |
| Uprawnienia opcjonalne | system.ram.read, system.cpu.read, gpu.usage.read, gpu.memory.read, gpu.temperature.read, storage.temperature.read, hardware.temperature.read, hardware.fans.read, hardware.sensors.read |
| Status w SDK | RUNNABLE_LOCAL |
| Status w Core | LAB_DEVELOPER (sensory PROVISIONAL, Production BLOCKED_BY_KCS) |
| Kod źródłowy | src/ |
| Budowanie | BUILD_INSTRUCTIONS.md |
| Instalacja | tylko profil Developer (instrukcja wewnętrzna) |
| Zrzuty | screenshots/ui-dark.png, screenshots/ui-default.png |
| Testy | eksport 8/8 PASS; ponownie 2026-11-01: PASS |
| Publiczne pobieranie | .kpkg: NIEDOSTĘPNE; źródła: kandydat po zgodzie właściciela |
Ćwiczenie i sprawdzenie wiedzy
Przygotuj listę dowodów i blokad przed testem Core lub publikacją.
Szkic nie jest wysyłany na serwer i znika po opuszczeniu lekcji. Przed wyjściem możesz go skopiować.Podpowiedzi
- Najpierw wskaż plik, potem deklarację i jej użycie; porównaj z referencją źródłową poniżej.
Omówienie rozwiązania
Odpowiedź oprzyj na pokazanym kodzie i rozdziale źródłowym. Odczytaj zgodność, wymagane uprawnienia i status produkcyjny z karty, zanim przygotujesz paczkę dev ze źródłami. Nie zmieniaj root of trust ani uprawnień hosta na potrzeby ćwiczenia. Publikacja pozostaje osobnym zatwierdzanym procesem.
Podsumowanie i następny krok
Odczytaj zgodność, wymagane uprawnienia i status produkcyjny z karty, zanim przygotujesz paczkę dev ze źródłami. Nie zmieniaj root of trust ani uprawnień hosta na potrzeby ćwiczenia. Publikacja pozostaje osobnym zatwierdzanym procesem.
Zaloguj się na konto użytkownika, aby zapisywać postęp i zakładki. Konta obsługi mogą czytać bez zapisu postępu. Logowanie →