KRET LANGUAGE ACADEMY · DOKUMENTACJA ZE ŹRÓDEŁ
Najczęstsze błędy manifestu (tryb ścisły)
Trzy niepoprawne warianty tego samego manifestu, każdy w osobnym folderze: nieznane pole (`KCS-KRL-0202`), uprawnienie spoza katalogu KCS (`KCS-KRL-0206`) i handler cyklu życia, którego nie ma w kodzie (`KCS-KRL-0301`). Folder `valid/` pokazuje wersję poprawną.
Witryna nie wykonuje kodu ani nie prowadzi walidacji SDK. Wyniki poniżej pochodzą z eksportu określonej wersji i przestają opisywać kod po jego zmianie.
Kanoniczne pliki projektu
module Main
fn Start() {
}
fn Shutdown() {
}
Czytanie kodu linia po linii
Objaśnienia struktury nie są walidacją semantyczną. Szczegółowy kontrakt opisują referencje i README przykładu.
module MainDeklaracja modułu KretS; porównaj nazwę z nazwą pliku.Pusta linia oddziela fragmenty źródła.fn Start() {Sygnatura funkcji: nazwa, argumenty i ewentualny typ wyniku.}Zamknięcie struktury otwartej we wcześniejszych liniach.Pusta linia oddziela fragmenty źródła.fn Shutdown() {Sygnatura funkcji: nazwa, argumenty i ewentualny typ wyniku.}Zamknięcie struktury otwartej we wcześniejszych liniach.Pusta linia oddziela fragmenty źródła.
Wynik i typowy błąd
Pierwsze polecenie kończy się sukcesem, trzy kolejne kodem 1 i diagnostyką `kret-diagnostics/1` z kodem, plikiem, wierszem i kolumną.
Traktowanie `metadata` jak miejsca na dowolne pola jest poprawne tylko wewnątrz bloku `metadata { }` — gdzie indziej każde nieznane pole jest błędem.
Wymagania wersji i procedura lokalna
- sdk
- 1.0.0-rc.3+kret.local.3
- sdkInfoReports
- 1.0.0-rc.3
- core
- 1.0.0-test.6.11-draft.1
- os
- Windows 11 x64
- dotnet
- .NET 10 runtime
Polecenia poniżej są instrukcją do samodzielnego wykonania z właściwym lokalnym SDK. DATA/OUT muszą wskazywać nowe katalogi testowe. Nie ma przycisku uruchamiania na serwerze.
- valid
kret check valid --jsonKatalog: project · Oczekiwany kod wyjścia: 0 - unknown-field
kret check unknown-field --jsonKatalog: project · Oczekiwany kod wyjścia: 1 - unknown-permission
kret check unknown-permission --jsonKatalog: project · Oczekiwany kod wyjścia: 1 - missing-handler
kret check missing-handler --jsonKatalog: project · Oczekiwany kod wyjścia: 1
Wyniki zapisane w pakiecie źródłowym
To dowód z eksportu, nie wynik bieżącego wykonania w przeglądarce.
# EXPECTED_OUTPUT — KRETL-B02-CommonManifestErrors
# Rzeczywisty wynik uruchomienia (SDK 1.0.0-rc.3+kret.local.3, 2026-11-01T12:46:30Z). Ścieżki zastąpione znacznikami <project>, <data>, <out>, <sdk>.
# Actual output of the run. Paths replaced by placeholders.
### 1. valid (exit 0, PASS)
> kret check valid --json
{
"format": "kret-diagnostics/1",
"project": "<project>\\valid",
"succeeded": true,
"plugin": {
"id": "LOCAL-KPL-KLB2ERRS",
"name": "ManifestErrors",
"version": "1.0.0",
"profile": "standard",
"database": false
},
"permissions": {
"required": [],
"optional": []
},
"handlers": {
"lifecycle": [
"start",
"shutdown"
],
"events": [],
"commands": []
},
"diagnostics": []
}
### 2. unknown-field (exit 1, PASS)
> kret check unknown-field --json
{
"format": "kret-diagnostics/1",
"project": "<project>\\unknown-field",
"succeeded": false,
"diagnostics": [
{
"file": "<project>\\unknown-field\\plugin.kretl",
"line": 15,
"column": 5,
"endLine": 15,
"endColumn": 11,
"severity": "error",
"code": "KCS-KRL-0202",
"message": "nieznane pole \u0027colour\u0027 w bloku plugin"
}
]
}
### 3. unknown-permission (exit 1, PASS)
> kret check unknown-permission --json
{
"format": "kret-diagnostics/1",
"project": "<project>\\unknown-permission",
"succeeded": false,
"diagnostics": [
{
"file": "<project>\\unknown-permission\\plugin.kretl",
"line": 13,
"column": 13,
"endLine": 13,
"endColumn": 31,
"severity": "error",
"code": "KCS-KRL-0206",
"message": "uprawnienia made.up.permission nie ma w katalogu KCS \u2014 nieznane uprawnienie jest zawsze odmow\u0105"
}
]
}
### 4. missing-handler (exit 1, PASS)
> kret check missing-handler --json
{
"format": "kret-diagnostics/1",
"project": "<project>\\missing-handler",
"succeeded": false,
"plugin": {
"id": "LOCAL-KPL-KLB2ERRS",
"name": "ManifestErrors",
"version": "1.0.0",
"profile": "standard",
"database": false
},
"permissions": {
"required": [],
"optional": []
},
"handlers": {
"lifecycle": [
"start",
"shutdown"
],
"events": [],
"commands": []
},
"diagnostics": [
{
"file": "<project>\\missing-handler\\plugin.kretl",
"line": 1,
"column": 1,
"endLine": 1,
"endColumn": 1,
"severity": "error",
"code": "KCS-KRL-0301",
"message": "lifecycle start: nie ma funkcji Main.NoSuchHandler w modu\u0142ach KretS pluginu"
}
]
}
Czytanie kodu linia po linii
Objaśnienia struktury nie są walidacją semantyczną. Szczegółowy kontrakt opisują referencje i README przykładu.
# EXPECTED_OUTPUT — KRETL-B02-CommonManifestErrorsOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.# Rzeczywisty wynik uruchomienia (SDK 1.0.0-rc.3+kret.local.3, 2026-11-01T12:46:30Z). Ścieżki zastąpione znacznikami <project>, <data>, <out>, <sdk>.Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.# Actual output of the run. Paths replaced by placeholders.Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.Pusta linia oddziela fragmenty źródła.### 1. valid (exit 0, PASS)Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.> kret check valid --jsonOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.{Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej."format": "kret-diagnostics/1",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."project": "<project>\\valid",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."succeeded": true,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."plugin": {Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."id": "LOCAL-KPL-KLB2ERRS",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."name": "ManifestErrors",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."version": "1.0.0",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."profile": "standard",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."database": falsePole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.},Zamknięcie struktury otwartej we wcześniejszych liniach."permissions": {Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."required": [],Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."optional": []Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.},Zamknięcie struktury otwartej we wcześniejszych liniach."handlers": {Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."lifecycle": [Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."start",Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej."shutdown"Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.],Zamknięcie struktury otwartej we wcześniejszych liniach."events": [],Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."commands": []Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.},Zamknięcie struktury otwartej we wcześniejszych liniach."diagnostics": []Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.}Zamknięcie struktury otwartej we wcześniejszych liniach.Pusta linia oddziela fragmenty źródła.### 2. unknown-field (exit 1, PASS)Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.> kret check unknown-field --jsonOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.{Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej."format": "kret-diagnostics/1",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."project": "<project>\\unknown-field",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."succeeded": false,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."diagnostics": [Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.{Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej."file": "<project>\\unknown-field\\plugin.kretl",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."line": 15,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."column": 5,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."endLine": 15,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."endColumn": 11,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."severity": "error",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."code": "KCS-KRL-0202",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."message": "nieznane pole \u0027colour\u0027 w bloku plugin"Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.}Zamknięcie struktury otwartej we wcześniejszych liniach.]Zamknięcie struktury otwartej we wcześniejszych liniach.}Zamknięcie struktury otwartej we wcześniejszych liniach.Pusta linia oddziela fragmenty źródła.### 3. unknown-permission (exit 1, PASS)Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.> kret check unknown-permission --jsonOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.{Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej."format": "kret-diagnostics/1",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."project": "<project>\\unknown-permission",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."succeeded": false,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."diagnostics": [Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.{Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej."file": "<project>\\unknown-permission\\plugin.kretl",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."line": 13,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."column": 13,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."endLine": 13,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."endColumn": 31,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."severity": "error",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."code": "KCS-KRL-0206",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."message": "uprawnienia made.up.permission nie ma w katalogu KCS \u2014 nieznane uprawnienie jest zawsze odmow\u0105"Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.}Zamknięcie struktury otwartej we wcześniejszych liniach.]Zamknięcie struktury otwartej we wcześniejszych liniach.}Zamknięcie struktury otwartej we wcześniejszych liniach.Pusta linia oddziela fragmenty źródła.### 4. missing-handler (exit 1, PASS)Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.> kret check missing-handler --jsonOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.{Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej."format": "kret-diagnostics/1",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."project": "<project>\\missing-handler",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."succeeded": false,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."plugin": {Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."id": "LOCAL-KPL-KLB2ERRS",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."name": "ManifestErrors",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."version": "1.0.0",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."profile": "standard",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."database": falsePole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.},Zamknięcie struktury otwartej we wcześniejszych liniach."permissions": {Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."required": [],Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."optional": []Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.},Zamknięcie struktury otwartej we wcześniejszych liniach."handlers": {Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."lifecycle": [Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."start",Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej."shutdown"Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.],Zamknięcie struktury otwartej we wcześniejszych liniach."events": [],Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."commands": []Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.},Zamknięcie struktury otwartej we wcześniejszych liniach."diagnostics": [Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.{Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej."file": "<project>\\missing-handler\\plugin.kretl",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."line": 1,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."column": 1,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."endLine": 1,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."endColumn": 1,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."severity": "error",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."code": "KCS-KRL-0301",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."message": "lifecycle start: nie ma funkcji Main.NoSuchHandler w modu\u0142ach KretS pluginu"Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.}Zamknięcie struktury otwartej we wcześniejszych liniach.]Zamknięcie struktury otwartej we wcześniejszych liniach.}Zamknięcie struktury otwartej we wcześniejszych liniach.Pusta linia oddziela fragmenty źródła.Pusta linia oddziela fragmenty źródła.
Diagnostyka i raporty testów
{
"format": "kretos-web-playground-diagnostics/1",
"exampleId": "KRETL-B02-CommonManifestErrors",
"sdk": "1.0.0-rc.3+kret.local.3",
"origin": "PRECOMPUTED",
"diagnostics": [
{
"id": "diag.KRETL-B02-CommonManifestErrors.2.1",
"exampleId": "KRETL-B02-CommonManifestErrors",
"step": 2,
"stepName": "unknown-field",
"command": "kret check unknown-field --json",
"exitCode": 1,
"file": "unknown-field/plugin.kretl",
"line": 15,
"column": 5,
"endLine": 15,
"endColumn": 11,
"severity": "error",
"code": "KCS-KRL-0202",
"message": "nieznane pole 'colour' w bloku plugin",
"origin": "PRECOMPUTED (kret check, SDK 1.0.0-rc.3+kret.local.3)"
},
{
"id": "diag.KRETL-B02-CommonManifestErrors.3.2",
"exampleId": "KRETL-B02-CommonManifestErrors",
"step": 3,
"stepName": "unknown-permission",
"command": "kret check unknown-permission --json",
"exitCode": 1,
"file": "unknown-permission/plugin.kretl",
"line": 13,
"column": 13,
"endLine": 13,
"endColumn": 31,
"severity": "error",
"code": "KCS-KRL-0206",
"message": "uprawnienia made.up.permission nie ma w katalogu KCS — nieznane uprawnienie jest zawsze odmową",
"origin": "PRECOMPUTED (kret check, SDK 1.0.0-rc.3+kret.local.3)"
},
{
"id": "diag.KRETL-B02-CommonManifestErrors.4.3",
"exampleId": "KRETL-B02-CommonManifestErrors",
"step": 4,
"stepName": "missing-handler",
"command": "kret check missing-handler --json",
"exitCode": 1,
"file": "missing-handler/plugin.kretl",
"line": 1,
"column": 1,
"endLine": 1,
"endColumn": 1,
"severity": "error",
"code": "KCS-KRL-0301",
"message": "lifecycle start: nie ma funkcji Main.NoSuchHandler w modułach KretS pluginu",
"origin": "PRECOMPUTED (kret check, SDK 1.0.0-rc.3+kret.local.3)"
}
]
}
Czytanie kodu linia po linii
Objaśnienia struktury nie są walidacją semantyczną. Szczegółowy kontrakt opisują referencje i README przykładu.
{Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej."format": "kretos-web-playground-diagnostics/1",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."exampleId": "KRETL-B02-CommonManifestErrors",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."sdk": "1.0.0-rc.3+kret.local.3",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."origin": "PRECOMPUTED",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."diagnostics": [Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.{Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej."id": "diag.KRETL-B02-CommonManifestErrors.2.1",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."exampleId": "KRETL-B02-CommonManifestErrors",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."step": 2,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."stepName": "unknown-field",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."command": "kret check unknown-field --json",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."exitCode": 1,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."file": "unknown-field/plugin.kretl",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."line": 15,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."column": 5,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."endLine": 15,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."endColumn": 11,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."severity": "error",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."code": "KCS-KRL-0202",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."message": "nieznane pole 'colour' w bloku plugin",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."origin": "PRECOMPUTED (kret check, SDK 1.0.0-rc.3+kret.local.3)"Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.},Zamknięcie struktury otwartej we wcześniejszych liniach.{Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej."id": "diag.KRETL-B02-CommonManifestErrors.3.2",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."exampleId": "KRETL-B02-CommonManifestErrors",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."step": 3,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."stepName": "unknown-permission",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."command": "kret check unknown-permission --json",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."exitCode": 1,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."file": "unknown-permission/plugin.kretl",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."line": 13,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."column": 13,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."endLine": 13,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."endColumn": 31,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."severity": "error",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."code": "KCS-KRL-0206",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."message": "uprawnienia made.up.permission nie ma w katalogu KCS — nieznane uprawnienie jest zawsze odmową",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."origin": "PRECOMPUTED (kret check, SDK 1.0.0-rc.3+kret.local.3)"Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.},Zamknięcie struktury otwartej we wcześniejszych liniach.{Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej."id": "diag.KRETL-B02-CommonManifestErrors.4.3",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."exampleId": "KRETL-B02-CommonManifestErrors",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."step": 4,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."stepName": "missing-handler",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."command": "kret check missing-handler --json",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."exitCode": 1,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."file": "missing-handler/plugin.kretl",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."line": 1,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."column": 1,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."endLine": 1,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."endColumn": 1,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."severity": "error",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."code": "KCS-KRL-0301",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."message": "lifecycle start: nie ma funkcji Main.NoSuchHandler w modułach KretS pluginu",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."origin": "PRECOMPUTED (kret check, SDK 1.0.0-rc.3+kret.local.3)"Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.}Zamknięcie struktury otwartej we wcześniejszych liniach.]Zamknięcie struktury otwartej we wcześniejszych liniach.}Zamknięcie struktury otwartej we wcześniejszych liniach.
Pochodzenie i integralność
KRET_LANGUAGE_KRETL.zip:KretL/Examples/BASIC_CommonManifestErrors/example.json
02_PLAYGROUND/EXAMPLES/KRETL-B02-CommonManifestErrors.json
SHA-256 43CEF5518F827AA09684BF5DC2F38E2D07E8FAD83F8945B8F6486F043929CAD8Materiał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.
KRETL-B02-CommonManifestErrors — Najczęstsze błędy manifestu (tryb ścisły)
KRETL-B02-CommonManifestErrors — Najczęstsze błędy manifestu (tryb ścisły)
🇬🇧 English version below.
| Pole | Wartość |
|---|---|
| Technologia | KretL |
| Poziom | BASIC |
| Klasyfikacja | VALIDATION_ONLY — Tylko walidacja (bez wykonania) |
| Playground | LOCAL_VALIDATE — lokalnie: walidacja (kret check, lokalny walidator Playground) |
| SDK | 1.0.0-rc.3+kret.local.3 (kandydat lokalny, niepodpisany) |
| Wynik testu | TEST_RESULTS.json, rzeczywisty wynik: EXPECTED_OUTPUT.txt |
Co pokazuje
Trzy niepoprawne warianty tego samego manifestu, każdy w osobnym folderze: nieznane pole (KCS-KRL-0202), uprawnienie spoza katalogu KCS (KCS-KRL-0206) i handler cyklu życia, którego nie ma w kodzie (KCS-KRL-0301). Folder valid/ pokazuje wersję poprawną.
Pliki
| Plik |
|---|
missing-handler/Script/Main.krs |
missing-handler/plugin.kretl |
unknown-field/Script/Main.krs |
unknown-field/plugin.kretl |
unknown-permission/Script/Main.krs |
unknown-permission/plugin.kretl |
valid/Script/Main.krs |
valid/plugin.kretl |
Jak uruchomić
Katalog roboczy: katalog tego przykładu. kret oznacza <SDK>\Compiler\kret.exe, kretui-host — <SDK>\UiHost\kretui-host.exe. {DATA} / {OUT} to nowe, puste katalogi poza projektem. Wymagania: REQUIREMENTS.md.
kret check valid --json— wersja poprawna przechodzikret check unknown-field --json— nieznane pole →KCS-KRL-0202(oczekiwany błąd)kret check unknown-permission --json— uprawnienie spoza katalogu →KCS-KRL-0206(oczekiwany błąd)kret check missing-handler --json— brak handlera →KCS-KRL-0301(oczekiwany błąd)
Oczekiwany wynik
Pierwsze polecenie kończy się sukcesem, trzy kolejne kodem 1 i diagnostyką kret-diagnostics/1 z kodem, plikiem, wierszem i kolumną.
Najczęstszy błąd
Traktowanie metadata jak miejsca na dowolne pola jest poprawne tylko wewnątrz bloku metadata { } — gdzie indziej każde nieznane pole jest błędem.
Zaloguj się na konto użytkownika, aby zapisywać postęp i zakładki. Konta obsługi mogą czytać bez zapisu postępu. Logowanie →