Files
stem-launcher/doc/series.md
T
2026-04-29 02:09:30 +02:00

4.2 KiB

Series

Ten dokument opisuje docelowy model komend rvctl do pracy z seriami, kartami pracy i zadaniami w kartach.

Zasada

Komendy kart pracy dzielimy na trzy poziomy:

  • series - operacje na serii jako całości
  • series cards - operacje na kartach w ramach serii
  • series cards tasks - operacje na zadaniach w ramach karty

Używamy pluralnych namespace'ów cards i tasks, bo opisują kolekcje zasobów i są spójne z pluralnym tokens.

Szybki przepływ

Typowy przepływ pracy:

./rvctl tokens compare
./rvctl series list
./rvctl series show inf
./rvctl series fetch inf
./rvctl series cards list inf
./rvctl series cards show inf 03
./rvctl series cards tasks list inf 03
./rvctl series cards tasks show inf 03 task1
./rvctl series cards fetch inf 03
./rvctl series cards submission inf 03 --class 4i --nick u1

Serie

series list

Listuje dostępne serie w workspace.

./rvctl series list

Przykładowy wynik:

series  cards  workspace
------  -----  -------------------------------
inf     12     ~/dev/workspace/rv/series/inf

series show SERIES

Pokazuje informacje o serii jako całości.

./rvctl series show inf

Typowe pola:

series          inf
workspace_path  ~/dev/workspace/rv/series/inf
source_path     ~/dev/edu/repos/rv/series/inf
cards_count     12
cards           01 02 03 ...

series fetch SERIES

Pobiera albo aktualizuje całą serię w workspace.

./rvctl series fetch inf

Ta komenda pracuje na wszystkich kartach w serii. Do pobrania jednej karty służy series cards fetch.

Karty

series cards list SERIES

Listuje karty w wybranej serii.

./rvctl series cards list inf

Przykładowy wynik:

series  card  repo
------  ----  ------------------------------------
inf     03    lab-rv32i-strlen-bss-data-stack

series cards show SERIES CARD

Pokazuje informacje o konkretnej karcie.

./rvctl series cards show inf 03

Typowe pola:

series          inf
card            03
workspace_path  ~/dev/workspace/rv/series/inf/03
source_path     ~/dev/edu/repos/rv/series/inf/03
source_repo     edu-inf/lab-rv32i-strlen-bss-data-stack
source_remote   r1
answer_remote   a1
tasks           task1 task2 ...

series cards fetch SERIES CARD

Pobiera albo aktualizuje jedną kartę w workspace.

./rvctl series cards fetch inf 03

series cards submission SERIES CARD

Pokazuje albo stosuje konfigurację repo odpowiedzi dla karty.

./rvctl series cards submission inf 03 --class 4i --nick u1
./rvctl series cards submission inf 03 --class 4i --nick u1 --apply

Bez --apply komenda tylko pokazuje plan. Z --apply ustawia remotes potrzebne do pracy z repo odpowiedzi.

Zadania W Karcie

Zadania są częścią karty, dlatego trzymamy je pod series cards tasks.

series cards tasks list SERIES CARD

Listuje zadania dostępne w konkretnej karcie.

./rvctl series cards tasks list inf 03

Przykładowy wynik:

series  card  task   path
------  ----  -----  --------------------------------------
inf     03    task1  ~/dev/workspace/rv/series/inf/03/task1
inf     03    task2  ~/dev/workspace/rv/series/inf/03/task2

series cards tasks show SERIES CARD TASK

Pokazuje informacje o konkretnym zadaniu w karcie.

./rvctl series cards tasks show inf 03 task1

Typowe pola:

series          inf
card            03
task            task1
workspace_path  ~/dev/workspace/rv/series/inf/03/task1
card_path       ~/dev/workspace/rv/series/inf/03

Na tym poziomie nie wprowadzamy osobnego fetch: zadania są pobierane razem z kartą przez series cards fetch albo razem z całą serią przez series fetch.

Aliasowanie Starych Komend

Stare komendy można zostawić jako aliasy kompatybilności:

list-series                         -> series list
list-cards inf                      -> series cards list inf
submission inf 03 --class K --nick N -> series cards submission inf 03 --class K --nick N

Komendy series cards tasks ... nie mają starego odpowiednika i powinny być wprowadzane tylko w nowym namespace.

Dokumentacja i nowe przykłady powinny promować namespace series.