feat: support one Gitea organization per series

This commit is contained in:
2026-07-19 16:40:05 +02:00
parent 4dda6de387
commit b0548f0e56
6 changed files with 388 additions and 58 deletions
+27 -20
View File
@@ -11,24 +11,30 @@ Komendy kart pracy dzielimy na trzy poziomy:
- `series cards` - operacje na kartach w ramach serii
- `series cards tasks` - operacje na zadaniach w ramach karty
`rvctl` tworzy `series_root`, jeżeli katalog jeszcze nie istnieje. Lista serii
i kart pochodzi docelowo z publicznego manifestu
`~/dev/workspace/rv/meta/workspace-info/workspace.json`. Jeżeli manifestu nie
ma, komendy zależne od serii automatycznie klonują repo
`edu-workspace/workspace-info`. Jeżeli klonowanie nie jest możliwe, narzędzie
używa starego fallbacku przez `original_series_root`.
`stemctl` tworzy `series_root`, jeżeli katalog jeszcze nie istnieje. Gdy
`workspace-info` jest dostępny, manifest jest jedynym źródłem listy serii i
kart. Przypadkowe katalogi robocze nie pojawiają się w katalogu. Fallback przez
`original_series_root` działa wyłącznie dla starego workspace bez manifestu.
Każda operacyjna seria jawnie deklaruje `source_org`. Docelowa konwencja to
`edu-<series-id>`, na przykład `freertos-c``edu-freertos-c`. Jedno repo
odpowiada jednej karcie; kolejnych wydań karty nie zapisujemy jako osobnych
repozytoriów ani trwałych branchy, tylko jako historię, tagi i wydania tego
repozytorium. Organizacja `edu` przechowuje control plane i katalog, nie setki
repozytoriów kart.
## Szybki przepływ
```bash
./rvctl tokens compare
./rvctl series list
./rvctl series use inf
./rvctl series cards list inf
./rvctl card use bss
./rvctl series cards fetch inf bss
./rvctl tasks list
./rvctl tasks switch 1
./stemctl workspace audit
./stemctl tokens compare
./stemctl series list
./stemctl series use freertos-c
./stemctl series cards list freertos-c
./stemctl card use FC02
./stemctl series cards fetch freertos-c FC02
./stemctl tasks list
./stemctl tasks switch 1
```
Dla karty `bss` właściwym repo jest `lab-rv32i-strlen-bss-data-stack`.
@@ -37,10 +43,10 @@ Dla karty `bss` właściwym repo jest `lab-rv32i-strlen-bss-data-stack`.
### `series list`
Listuje dostępne serie z manifestu `workspace-info` oraz liczbę kart już
pobranych do lokalnego workspace. Jeżeli manifestu jeszcze nie ma, komenda
pobiera go automatycznie. Jeżeli `~/dev/workspace/rv/series` nie istnieje,
komenda tworzy ten katalog.
Listuje wyłącznie operacyjne serie z manifestu `workspace-info` oraz liczbę
kart już obecnych w lokalnym workspace. Logiczna seria może wskazywać wspólny,
przejściowy katalog fizyczny przez `workspace_dir`; na przykład `freertos-c`
jest obecnie mapowane na `series/freertos`.
```bash
./rvctl series list
@@ -49,8 +55,9 @@ komenda tworzy ten katalog.
Typowy wynik:
```text
fiz 3 0
inf 3 0
fiz 3 0
inf 9 5
freertos-c 11 11
```
Kolumny oznaczają: seria, liczba kart w źródłach, liczba kart pobranych do