Files
lab-console-git-basics-1/json/card_source.json
T

23 lines
7.3 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"$schema": "../../../../tools/card-layouts/schemas/card-source.schema.json", "schema": "esc-card-source.v1",
"card": {"id": "mpabi-inf-console-bash-04-git-basics-1", "series": "console-bash", "series_title": "Bash · Console Tools", "number": "04", "count": "08", "slug": "git-basics-1", "title": "L04 · Git Basics I — status, add and commit", "topic": "Repozytorium, worktree, index i pierwszy commit", "project": "Warsztat terminalowy", "subject": "Informatyka", "level": "Rok 1 · Console", "revision_date": "2026-07-21T00:00:00+02:00", "status": "Gotowa do wykonania", "version": "v00.01", "uuid": "ddcdbb08-80da-566e-a576-2e757848ae36", "author": "M. Pabiszczak", "year": "2026"},
"generated": {"tex": "doc/generated/main.tex", "html": "web/index.html", "html_css": "web/style.css", "react_app": true, "html_tree_inspector": false}, "template": "templates/karta-klasyczna.json",
"title_block": {"category": "KARTA PRACY · INFORMATYKA · CONSOLE", "standard": "ISO 7200", "prepared_by": "M. Pabiszczak", "prepared_on": "21.07.2026", "checked_by": "testy automatyczne", "approved_by": "—", "url": "http://localhost:8080", "repository_url": "https://gitea.local/edu-inf/lab-console-git-basics-1", "revision": "1", "issued_on": "21.07.2026", "series": "CONSOLE-BASH-04", "document_type": "karta pracy", "tool": "card-layouts", "sheet": "1 / 1", "show_qr": false, "show_repository_qr": false, "height_cm": 3, "repeat_on_every_page": true, "replace_front_matter": true},
"front_page_scope": {"title": "Cel karty", "content_tex": "Uczeń inicjuje repozytorium i mierzy przejście pliku przez worktree, index oraz pierwszy commit.", "scope_title": "Zakres tasków", "scope_table": {"headers": ["Krok", "Numer tasku", "Najważniejsza idea", "Priorytet", "Status", "Version"], "rows": [{"chapter": "4", "task": "Task01", "idea_tex": "git init i local config", "priority": "obowiązkowe", "status": "ready", "version": "v00.01"}, {"chapter": "4", "task": "Task02", "idea_tex": "status i index", "priority": "obowiązkowe", "status": "ready", "version": "v00.01"}, {"chapter": "4", "task": "Task03", "idea_tex": "pierwszy commit", "priority": "obowiązkowe", "status": "ready", "version": "v00.01"}]}},
"learning_effects": {"CB04.EN01": {"text": "Uczeń rozróżnia worktree, index i commit.", "label": "Model Git", "bloom_level": "Analiza", "assessment_criteria": ["CB04.KW01"]}, "CB04.EK01": {"text": "Uczeń inicjuje repo, śledzi status, dodaje i commituję plik.", "label": "Podstawy Git", "bloom_level": "Zastosowanie", "assessment_criteria": ["CB04.KW01"]}},
"assessment_criteria": {"CB04.KW01": {"text": "Repo main bez commitów przechodzi przez status untracked/staged do jednego czystego commita.", "learning_effects": ["CB04.EN01", "CB04.EK01"]}},
"educational_requirements": {"CB04.WE01": {"text": "Bezpieczne tworzenie pierwszej historii Git.", "label": "Git init/add/commit", "learning_effects": ["CB04.EN01", "CB04.EK01"], "learning_tree": {"schema": "we-learning-tree.v1", "policy": "Taski używają wyłącznie repozytoriów mktemp i lokalnej konfiguracji autora.", "ogolne": [{"tree_id": "CB04.WE01.OG.IP.01", "effect_ref": "CB04.EN01", "display": "EN IP CB04.01", "text": "Uczeń analizuje trzy stany Git.", "kw": [{"criterion_ref": "CB04.KW01", "display": "KW IP CB04.01", "text": "Wyjaśnia dwie kolumny status --short."}]}], "zawodowe": [{"tree_id": "CB04.WE01.TECH.I4.01", "effect_ref": "CB04.EK01", "display": "EK INF04 CB04.01", "text": "Uczeń tworzy pierwszy commit.", "kw": [{"criterion_ref": "CB04.KW01", "display": "KW INF04 CB04.01", "text": "Kończy z jednym commitem i czystym statusem."}]}]}}},
"sections": [
{"title": "Task01 · Inicjalizacja repozytorium", "content_kind": "prose", "content_tex": "Utwórz repo na gałęzi main i ustaw autora wyłącznie lokalnie. Po init repo nie ma jeszcze żadnego commita.", "educational_requirement_refs": ["CB04.WE01"], "learning_effect_refs": ["CB04.EN01", "CB04.EK01"], "assessment_criterion_refs": ["CB04.KW01"], "area_tree_refs": ["CB04.WE01.OG.IP.01", "CB04.WE01.TECH.I4.01"], "steps": [{"id": "T01-INIT", "title": "Potwierdź worktree, main, zero commitów i local identity.", "tree_refs": ["CB04.WE01.TECH.I4.01"]}], "assets": [{"path": "assets/git-three-states.png", "html_path": "assets/git-three-states.svg", "caption": "Git add kopiuje stan do indeksu, a commit zapisuje snapshot.", "label": "fig:git-three-states", "alt": "Diagram worktree, index, commit.", "kind": "diagram", "width": 0.9}]},
{"title": "Task02 · Status i add", "content_kind": "prose", "content_tex": "Zaobserwuj dokładne kody statusu przed i po git add. Pierwsza kolumna opisuje index, druga worktree.", "educational_requirement_refs": ["CB04.WE01"], "learning_effect_refs": ["CB04.EN01", "CB04.EK01"], "assessment_criterion_refs": ["CB04.KW01"], "area_tree_refs": ["CB04.WE01.OG.IP.01", "CB04.WE01.TECH.I4.01"], "steps": [{"id": "T02-ADD", "title": "Zmierz ?? notes.txt oraz A notes.txt.", "tree_refs": ["CB04.WE01.TECH.I4.01"]}]},
{"title": "Task03 · Pierwszy commit", "content_kind": "prose", "content_tex": "Zacommituj zawartość indeksu z jednoznacznym komunikatem. Potwierdź liczność historii i pusty status porcelain.", "educational_requirement_refs": ["CB04.WE01"], "learning_effect_refs": ["CB04.EN01", "CB04.EK01"], "assessment_criterion_refs": ["CB04.KW01"], "area_tree_refs": ["CB04.WE01.OG.IP.01", "CB04.WE01.TECH.I4.01"], "steps": [{"id": "T03-COMMIT", "title": "Potwierdź jeden commit add lesson notes i clean=1.", "tree_refs": ["CB04.WE01.TECH.I4.01"]}]}
],
"tasks": {"task01": {"prompt_tex": "Zainicjuj repozytorium main.", "criterion": "inside_work_tree=true branch=main commits=0 identity=local", "assessment_criterion_ref": "CB04.KW01"}, "task02": {"prompt_tex": "Porównaj status przed i po add.", "criterion": "before=?? notes.txt after=A notes.txt index_entries=1", "assessment_criterion_ref": "CB04.KW01"}, "task03": {"prompt_tex": "Utwórz pierwszy commit.", "criterion": "commits=1 subject=add lesson notes clean=1 branch=main", "assessment_criterion_ref": "CB04.KW01"}},
"tasks_order": ["task01", "task02", "task03"], "mission": "Zrozumieć i wykonać przepływ worktreeindexcommit.", "objectives": ["Zainicjujesz repo.", "Odczytasz status.", "Utworzysz czysty commit."],
"agenda": [{"time": "0--15 min", "work": "Init i config."}, {"time": "15--35 min", "work": "Status i add."}, {"time": "35--55 min", "work": "Commit i trace."}],
"tech_stack": {"software": [{"name": "Git", "use": "repozytorium i historia"}, {"name": "POSIX shell", "use": "izolowane scenariusze"}, {"name": "stemctl", "use": "profil native-amd64"}], "hardware": [{"name": "Brak", "use": "laboratorium kontenerowe"}]},
"container_test": {"title": "Test native-amd64", "commands": ["stemctl test native-amd64 console-bash L04 1", "stemctl test native-amd64 console-bash L04 2", "stemctl debug native-amd64 console-bash L04 3"], "pass_condition": "Trzy komunikaty PASS i trace.log."},
"safety_rules": [{"title": "Repo mktemp", "body": "Żaden task nie modyfikuje istniejącego repo."}, {"title": "Local config", "body": "Tożsamość autora nie trafia do konfiguracji globalnej."}],
"hardware_procedure": [{"step": "1", "action": "Wykonaj init.", "condition": "main, zero commitów."}, {"step": "2", "action": "Wykonaj status i add.", "condition": "?? przechodzi w A."}, {"step": "3", "action": "Wykonaj commit.", "condition": "Jeden commit, clean."}], "references": []
}