feat(console-bash): register completed L01-L08 cards

This commit is contained in:
2026-07-21 18:21:40 +02:00
parent ac42d43d5d
commit 558d53b0c6
4 changed files with 84 additions and 12 deletions
+49 -3
View File
@@ -1,6 +1,7 @@
# Bash · Console Tools — plan kart
Status: plan, 8 lekcji.
Status: L01L08 gotowe; seria zakończona i odbierana w profilu
`native-amd64` przez `stemctl`.
Seria przygotowuje warsztat przed FPGA, assemblerem i C. Nazwa obejmuje pracę
w powłoce i terminalu; BusyBox może udostępniać `ash`, więc nie utożsamiamy
@@ -18,8 +19,53 @@ Bash · Console Tools
└── L08 · Docker Fundamentals
```
Każda karta kończy się małym dowodem wykonania: komendą, stanem terminala albo
historią Git, którą uczeń potrafi odtworzyć i wyjaśnić.
Każda karta zawiera trzy wykonywalne taski. Repozytorium karty dostarcza
kontrakt `stem-card.yaml`, testy stanu, wygenerowany widok React, dwustronicowy
PDF A4 oraz akcje `build`, `test`, `run` i `debug`. Debug zapisuje
`trace.log` w katalogu artefaktów tasku.
## Stan odbioru serii — 2026-07-21
| Karta | Dowód końcowy |
| --- | --- |
| L01 BusyBox | dispatch multicall, operacje plikowe, proces i host |
| L02 Tmux | sesja, okna i panele, zachowanie stanu po detach/attach |
| L03 Neovim | nawigacja, search/edit/save, undo/redo |
| L04 Git Basics I | init, status/add, pierwszy commit i clean |
| L05 Git Basics II | log, diff staged/worktree, bezpieczne restore |
| L06 Git Branching I | branch/switch, rozbieżność, merge commit |
| L07 Git Branching II | rebase, rzeczywisty konflikt UU, liniowa historia |
| L08 Docker | specyfikacja image, lifecycle, volume i bind mount |
Wszystkie 24 taski przechodzą w kontenerze `native-amd64`. Każdy task pracuje
w izolowanym katalogu tymczasowym i raportuje mierzalny komunikat `PASS`.
### Granice środowiska
Obraz `native-amd64` nie zawiera BusyBox. L01 używa więc audytowalnego
fixture C implementującego wyłącznie ćwiczony mechanizm multicall, wykrywa
prawdziwy BusyBox, gdy jest dostępny, i zawsze raportuje użyty backend. Fixture
nie jest przedstawiany jako binarka BusyBox.
Profil ucznia nie otrzymuje socketu Docker/Podman. L08 używa jawnego modelu
stanów offline do sprawdzenia semantyki image/container/storage. Jego `PASS`
nie oznacza uruchomienia prawdziwego silnika. Powtórzenie ćwiczenia z realnym
CLI należy wykonać na kontrolowanej maszynie operatorskiej, najlepiej z
rootless Podmanem albo Dockerem, bez montowania socketu do kontenera ucznia.
### Sposób uruchamiania
```bash
stemctl series show console-bash
stemctl list-cards console-bash
stemctl card use console-bash L01
stemctl test native-amd64 console-bash L01 1
stemctl debug native-amd64 console-bash L01 3
```
Numer karty i tasku można podmienić na dowolne L01L08 i 13. Identyfikatory,
repozytoria i kolejność kart są zapisane w `series/console-bash.json`, a stan
realizacji w `catalog/console-bash.json`.
Pierwotne ustalenia znajdują się również w
`series/inf/lab-rv32i-c-pointers-arrays/guidelines/console-series.md`.