KRET LANGUAGE ACADEMY · DOKUMENTACJA ZE ŹRÓDEŁ
Sprawdzenie i testy projektu
Czego się nauczysz
- Prześledź źródła i wyjaśnij opisany kontrakt.
- Porównaj scenariusze testowe z odpowiednimi fragmentami implementacji.
Wymagania wstępne
- Kurs KretHello oraz kursy technologii wskazanych w karcie projektu.
Wyjaśnienie krok po kroku
Wykonuj wyłącznie kroki z BUILD_INSTRUCTIONS dla tej wersji w świeżej kopii lokalnej. Zachowaj oczekiwane odmowy i ograniczenia. Test lokalny nie dowodzi gotowości Core Production; UI/DB mogą pozostawać zablokowane przez D-KCS-01.
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
Porównaj scenariusze testowe z odpowiednimi fragmentami implementacji.
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. Wykonuj wyłącznie kroki z BUILD_INSTRUCTIONS dla tej wersji w świeżej kopii lokalnej. Zachowaj oczekiwane odmowy i ograniczenia. Test lokalny nie dowodzi gotowości Core Production; UI/DB mogą pozostawać zablokowane przez D-KCS-01.
Podsumowanie i następny krok
Wykonuj wyłącznie kroki z BUILD_INSTRUCTIONS dla tej wersji w świeżej kopii lokalnej. Zachowaj oczekiwane odmowy i ograniczenia. Test lokalny nie dowodzi gotowości Core Production; UI/DB mogą pozostawać zablokowane przez D-KCS-01.
Zaloguj się na konto użytkownika, aby zapisywać postęp i zakładki. Konta obsługi mogą czytać bez zapisu postępu. Logowanie →