From 93d83217622a6c555dca728fe10c83c35f8ac7e2 Mon Sep 17 00:00:00 2001 From: Jens Tirsvad Nielsen Date: Tue, 13 Oct 2026 13:50:39 +0800 Subject: [PATCH 1/2] Add planning baseline: business case, stakeholders, plan, milestones and reviews Mount the SQA/QC framework and add BC-001, SA-001, PP-001, MIL-001 to MIL-008, review records RC-001 to RC-010 and the traceability matrix. Task: MIL-001#1 Task: MIL-001#2 --- .gitmodules | 3 + docs/artifact-registry.md | 59 +++++++ docs/business-case.md | 166 ++++++++++++++++++ docs/milestones/mil-001-baseline-docs.md | 67 +++++++ docs/milestones/mil-002-scaffold.md | 71 ++++++++ docs/milestones/mil-003-player.md | 68 +++++++ docs/milestones/mil-004-cars.md | 70 ++++++++ docs/milestones/mil-005-collision-levelup.md | 69 ++++++++ docs/milestones/mil-006-scoreboard.md | 67 +++++++ docs/milestones/mil-007-readme-wiki.md | 68 +++++++ docs/milestones/mil-008-repo-metadata.md | 66 +++++++ docs/project-plan.md | 110 ++++++++++++ docs/sqa/reviews/rc-001-business-case.md | 68 +++++++ .../reviews/rc-002-stakeholder-analysis.md | 68 +++++++ docs/sqa/reviews/rc-003-mil-001.md | 66 +++++++ docs/sqa/reviews/rc-004-mil-002.md | 66 +++++++ docs/sqa/reviews/rc-005-mil-003.md | 66 +++++++ docs/sqa/reviews/rc-006-mil-004.md | 66 +++++++ docs/sqa/reviews/rc-007-mil-005.md | 66 +++++++ docs/sqa/reviews/rc-008-mil-006.md | 66 +++++++ docs/sqa/reviews/rc-009-mil-007.md | 66 +++++++ docs/sqa/reviews/rc-010-mil-008.md | 66 +++++++ docs/sqa/traceability-matrix.md | 76 ++++++++ docs/stakeholder-analysis.md | 89 ++++++++++ framework | 1 + 25 files changed, 1714 insertions(+) create mode 100644 .gitmodules create mode 100644 docs/artifact-registry.md create mode 100644 docs/business-case.md create mode 100644 docs/milestones/mil-001-baseline-docs.md create mode 100644 docs/milestones/mil-002-scaffold.md create mode 100644 docs/milestones/mil-003-player.md create mode 100644 docs/milestones/mil-004-cars.md create mode 100644 docs/milestones/mil-005-collision-levelup.md create mode 100644 docs/milestones/mil-006-scoreboard.md create mode 100644 docs/milestones/mil-007-readme-wiki.md create mode 100644 docs/milestones/mil-008-repo-metadata.md create mode 100644 docs/project-plan.md create mode 100644 docs/sqa/reviews/rc-001-business-case.md create mode 100644 docs/sqa/reviews/rc-002-stakeholder-analysis.md create mode 100644 docs/sqa/reviews/rc-003-mil-001.md create mode 100644 docs/sqa/reviews/rc-004-mil-002.md create mode 100644 docs/sqa/reviews/rc-005-mil-003.md create mode 100644 docs/sqa/reviews/rc-006-mil-004.md create mode 100644 docs/sqa/reviews/rc-007-mil-005.md create mode 100644 docs/sqa/reviews/rc-008-mil-006.md create mode 100644 docs/sqa/reviews/rc-009-mil-007.md create mode 100644 docs/sqa/reviews/rc-010-mil-008.md create mode 100644 docs/sqa/traceability-matrix.md create mode 100644 docs/stakeholder-analysis.md create mode 160000 framework diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..a759dc9 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "framework"] + path = framework + url = ssh://git@git.tirsystem.com:10022/TirSystem/SQA-QC-Framework.git diff --git a/docs/artifact-registry.md b/docs/artifact-registry.md new file mode 100644 index 0000000..db5c48b --- /dev/null +++ b/docs/artifact-registry.md @@ -0,0 +1,59 @@ +# Artifact Registry + +This project's artifact state. Types, short names and `CrossReference +Candidates` come from the framework catalog +(`framework/registry/artifact-catalog.md`); this file only records where +each document lives in *this* project and the next version to use. + +Delete rows for types you don't use. Add a row the first time you create a +document of a type. `Primary File` may contain a glob (e.g. +`docs/uc-*/uc.md`); `framework/scripts/find-crossreferences.sh` reads it. + +| Short Name | Artifact Type | Primary File | Next Available Version | +| --- | --- | --- | --- | +| BC | Business Case | docs/business-case.md | 002 | +| SA | Stakeholder Analysis | docs/stakeholder-analysis.md | 002 | +| PP | Project Plan | docs/project-plan.md | 002 | +| MIL | Milestone / Gateway | docs/milestones/mil-*.md | 009 | +| RC | SQA Review Record | docs/sqa/reviews/rc-*.md | 011 | +| TM | Traceability Matrix | docs/sqa/traceability-matrix.md | 002 | + +## Languages + +Set the PO language when the project starts; `project-planning` asks for it +if it is missing. An artifact of a type marked "Written in the PO language" +exists once, in that language, under its normal name (`business-case.md`); the +`artifact` skill ("One file per artifact") has the rule. + +| Setting | Value | +| --- | --- | +| PO language | en | +| PO domain | it | +| High-level register | IT Executive English | +| Technical register | IT Professional English | + +Every artifact of a type marked "Yes" below states its language and domain in +its `Language` and `Domain` Metadata rows; `new-artifact.sh` fills them from +`PO language` and `PO domain`. `Language` is a BCP 47 code (`da`, `en`). +`Domain` is a value from this list; add a row to introduce a domain, so a +reviewer can see at once which professional vocabulary a document uses. + +| Domain | Meaning | +| --- | --- | +| it | Software and IT | +| medical | Healthcare and medical devices | +| construction | Construction and civil engineering | + +| Artifact types | Register | Written in the PO language | +| --- | --- | --- | +| BC, KPI, PP, MIL | IT Executive English | Yes | +| SA, BMC, BPMN, UCD, US, UC, SSD, DM, RA, GOV, DICT | IT Professional English | Yes | +| OC, SD, DCD, ERD, ADR, TM, RC, QC, source code | IT Professional English | No | + +## Notes + +- "Next Available Version" is the zero-padded (3-digit) version to use the + *next* time a new document of that type is created. Increment it only when + a brand-new document is created, not when an existing document's + `## Version History` gets a row. +- `ADR` uses 4 digits (`0001`); `RC` is sequential across all artifact types. diff --git a/docs/business-case.md b/docs/business-case.md new file mode 100644 index 0000000..44e96cd --- /dev/null +++ b/docs/business-case.md @@ -0,0 +1,166 @@ +# Business Case + +## Metadata +| Key | Value | +| --- | --- | +| ID | BC-001 | +| CrossReference | [SA-001], [PP-001] | +| Language | en | +| Domain | it | + +## Version History +| Date | Status | Author | Reviewer | Change | Commit | +| --- | --- | --- | --- | --- | --- | +| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | pending | + +--- + +## Executive Summary + +Day 23 of Udemy's "100 Days of Code: The Complete Python Pro Bootcamp" is the +second capstone: a Turtle Crossing game in the style of Crossy Road. The player +steers a turtle north across a multi-lane road of randomly generated cars; each +crossing raises the level and the car speed, and a collision ends the game. +This project delivers the game as a small, readable, tested Python repository +with no runtime dependencies, so that course participants can run and compare +it and GitHub visitors can browse it for ideas. + +## Methodological and Standards Foundation + +- Object-oriented design with one class per concern (`Player`, `CarManager`, + `Scoreboard`), using the assignment's names. +- Quality characteristics follow ISO/IEC 25010:2023, as the QC checklists of + the SQA framework tag them. +- Source is documented with Doxygen comments and built with a `Doxyfile`. +- Work follows the software quality assurance (SQA) and quality control (QC) framework mounted at `framework/`: plan first, + review each artifact, one pull request per milestone. + +## Problem Statement + +The course supplies four stub files and a video walkthrough, but no +repository that a participant can clone, run, test and read. Solutions shared +between coursists are single files without tests, run instructions or a +statement of the Python version they need, and cars are drawn as plain colour +blocks. + +## Business Opportunity + +A well-structured reference solution gives S02 a runnable comparison point and +gives S03 a clear example of a small Python project with tests, continuous integration (CI), +documentation and a multilingual wiki, at no dependency cost. + +## Objectives + +1. Deliver the game behaviour of the Day 23 assignment at Normal difficulty + (all steps): forward-only turtle, random cars moving left, level-up with + speed increase, collision stop, scoreboard and GAME OVER. +2. Draw each car so it reads as a car (body, cabin, wheels), not a colour + block, while keeping the 20 x 40 px footprint the assignment specifies. +3. Provide `src/`, `tests/` and `docs/` with pytest tests for the game logic + and no runtime dependencies beyond the Python standard library. +4. Provide a README from the agreed template, a local `.venv` guide, a + `Doxyfile`, CI and a wiki in English, Danish and Bahasa Malaysia. +5. Publish the repository with a description and topics. + +## Scope + +### In Scope + +- Player, car manager and scoreboard classes, `constants.py`, `main.py`. +- Car appearance drawn with the standard `turtle` module only. +- Unit tests for the logic that does not need a display. +- `pyproject.toml` (Python 3.13 or newer), Python `.gitignore`, Doxygen + comments and `Doxyfile`. +- README, CI workflow, wiki pages in `en`, `da` and `ms`. +- Repository description and topics on the git host. + +### Out of Scope + +- Sound, images, sprite files or any third-party package at runtime. +- Menus, difficulty selection, high-score persistence, networking. +- Packaging for PyPI. +- Re-implementing the Hard and Expert course variants. + +## Expected Benefits + +### Tangible Benefits + +- A cloneable repository that runs with one command after the venv is set up. +- A passing automated test suite and a CI run on every pull request. +- Generated source documentation for the three classes. + +### Intangible Benefits + +- A readable example S02 can compare their own solution against. +- A documented course portfolio item for S01 with a visible review trail. + +## Strategic Alignment + +This is one project in the 100 Days of Code portfolio. It demonstrates the +same planning, review and pull-request discipline across the whole series. + +## Success Criteria + +| # | Criterion | Target | Measure | +| --- | --- | --- | --- | +| 1 | Game plays as the assignment describes | All five Step 2 behaviours work | Manual play-through checklist in the final milestone | +| 2 | Cars look like cars | Each car shows a body, cabin and two wheels, 40 x 20 px | Visual check in the Cars milestone | +| 3 | Tests pass | 100 % of tests pass on Python 3.13 | `pytest` exit code 0 locally and in CI | +| 4 | No runtime dependencies | Zero entries under `dependencies` | `pyproject.toml` inspection | +| 5 | Run instructions work | A fresh clone runs following the README on Windows, Linux and macOS sections | S01 follows the README on a clean clone | +| 6 | Wiki in three languages | Every wiki page exists in `en`, `da`, `ms` | File listing of the wiki | +| 7 | Repository metadata | Description and at least 5 topics set | Repository page | + +## Risks + +| Risk | Impact | Mitigation | +| --- | --- | --- | +| Turtle needs a display, so CI and tests cannot open a window | Tests cannot cover rendering | Keep game logic free of the screen where possible; test it against a stub; verify rendering manually | +| Custom car shape renders differently across platforms | Cars look wrong for some viewers | Use `turtle.register_shape` with polygons only; check on Windows first and note limits in the README | +| Python 3.13 tkinter missing on some Linux installs | Participants cannot run the game | Document `python3-tk` in the Linux Debian section | +| Tokens in `.env` end up in the repository | Credential leak | `.env` in `.gitignore` before the first commit that adds files; the file is never read by project code | +| Scope creep from "nice to have" features | Delay | Out of Scope list; changes need a Business Case amendment | + +## Assumptions + +- S01 is Product Owner, developer and reviewer; reviews are not independent + (supervised mode). +- The idea is a hunch, not validated by behaviour, and is cheap to build, so no + riskiest-assumption test is run. +- S01 can reach S02 and S03 through the git host and the course forum. +- The git host `git.tirsystem.com` is available for the repository and wiki. +- S01 stated no deadline; the plan assumes two weeks (see PP-001 Open Issues). + +## Constraints + +- Python 3.13 or newer, a local `.venv`, pytest for tests. +- Constants live in `constants.py`; configuration lives in `pyproject.toml`. +- Layout is `src/`, `tests/` and `docs/`. +- Only the standard library at runtime. + +## Cost–Benefit Assessment + +Qualitative: the project is a learning exercise with no budget. + +| Costs | Benefits | +| --- | --- | +| S01's time: about two weeks of evening work | Portfolio item, a reusable project template, a shareable solution | +| Review effort (S01 reviews own work) | Documented planning and review trail | + +## Stakeholders + +| Stakeholder ID (SA) | Interest in this project | +| --- | --- | +| S01 | Product Owner, developer and reviewer; wants a finished, well-planned portfolio piece | +| S02 | Udemy coursists; want readable, runnable code with the assignment's names and run instructions | +| S03 | GitHub viewers; want a clear description, topics and README, and no runtime dependencies | + +## Recommendation + +Proceed — the scope is small, cheap and fully specified by the course, and it +serves all three stakeholders. + +--- + +[SA-001]: ./stakeholder-analysis.md +[PP-001]: ./project-plan.md diff --git a/docs/milestones/mil-001-baseline-docs.md b/docs/milestones/mil-001-baseline-docs.md new file mode 100644 index 0000000..abd3798 --- /dev/null +++ b/docs/milestones/mil-001-baseline-docs.md @@ -0,0 +1,67 @@ +# MIL-001 Baseline documents + +## Metadata +| Key | Value | +| --- | --- | +| ID | MIL-001 | +| CrossReference | [BC-001], [PP-001] | +| Language | en | +| Domain | it | + +## Version History +| Date | Status | Author | Reviewer | Change | Commit | +| --- | --- | --- | --- | --- | --- | +| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | pending | + +--- + +## Purpose + +Decide whether the planning baseline is complete so that code may start. + +## Deliverable + +Accepted Business Case, Stakeholder Analysis, Project Plan and milestone documents, each with a Go review record. + +## Go / No-Go Criteria + +| # | Criterion (objectively checkable) | Go | No-Go | +| --- | --- | --- | --- | +| 1 | BC, SA and PP are Accepted | Each Version History row is Accepted | Any is Proposed or No-Go | +| 2 | Every milestone has a Go review | A review record (RC) exists with verdict Go | A milestone has no review | + +## Dependencies + +| Depends on | Reason | +| --- | --- | +| None | First milestone | + +## Traceability + +| Business Case objective / KPI / user story | Reference | +| --- | --- | +| Objectives 1-5 (planning basis) | [BC-001] | + +## Ownership + +| Role | Stakeholder ID (SA) | +| --- | --- | +| Owner | S01 | +| Approving reviewer | S01 | + +## Target Date + +2026-10-14 - within the two-week plan of [PP-001]. + +## Tasks + +| # | Task | Summary | Needs its own Use Case/User Story? | Reference | +| --- | --- | --- | --- | --- | +| 1 | Review baseline documents | Review BC-001, SA-001 and PP-001 against their checklists, write the review records (RC) and set rows to Accepted. This is the gate for everything under src/ and tests/. | No | | +| 2 | Review milestone documents | Review MIL-001 to MIL-008 against qc-milestones-gateways and write the review records (RC). | No | | +| 3 | Install git hooks and plan gate | Run install-git-hooks.sh with --enable-plan-gate so commits touching src/ or tests/ need a Task trailer. | No | | + +--- + +[BC-001]: ../business-case.md +[PP-001]: ../project-plan.md diff --git a/docs/milestones/mil-002-scaffold.md b/docs/milestones/mil-002-scaffold.md new file mode 100644 index 0000000..76be5b0 --- /dev/null +++ b/docs/milestones/mil-002-scaffold.md @@ -0,0 +1,71 @@ +# MIL-002 Project scaffold + +## Metadata +| Key | Value | +| --- | --- | +| ID | MIL-002 | +| CrossReference | [BC-001], [PP-001] | +| Language | en | +| Domain | it | + +## Version History +| Date | Status | Author | Reviewer | Change | Commit | +| --- | --- | --- | --- | --- | --- | +| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | pending | + +--- + +## Purpose + +Decide that the repository skeleton, tooling and environment documentation are ready for game code. + +## Deliverable + +A repository with src/, tests/, docs/, pyproject.toml, .gitignore (including .env), constants.py, Doxyfile, a continuous integration (CI) workflow and a README that documents the local .venv set up. + +## Go / No-Go Criteria + +| # | Criterion (objectively checkable) | Go | No-Go | +| --- | --- | --- | --- | +| 1 | pyproject.toml requires Python 3.13 or newer and has no runtime dependencies | File inspected | A dependency is listed or an older Python is allowed | +| 2 | .gitignore covers .venv, caches and .env | git status shows .env ignored | A secret file would be tracked | +| 3 | pytest runs green on a smoke test | pytest exit code 0 | pytest fails | +| 4 | README follows the agreed template and documents the venv and python -m pip install --upgrade pip | Headings match the template | A heading or instruction is missing | + +## Dependencies + +| Depends on | Reason | +| --- | --- | +| MIL-001 | The previous step of the assignment must be accepted first | + +## Traceability + +| Business Case objective / KPI / user story | Reference | +| --- | --- | +| Objectives 3, 4 | [BC-001] | + +## Ownership + +| Role | Stakeholder ID (SA) | +| --- | --- | +| Owner | S01 | +| Approving reviewer | S01 | + +## Target Date + +2026-10-15 - within the two-week plan of [PP-001]. + +## Tasks + +| # | Task | Summary | Needs its own Use Case/User Story? | Reference | +| --- | --- | --- | --- | --- | +| 1 | Create pyproject.toml and .gitignore | Python >=3.13, src layout, pytest as an optional dev dependency, no runtime dependencies. Python .gitignore that also ignores .env. | No | | +| 2 | Move starter code into src/ and create constants.py | Place main, player, car_manager and scoreboard under src/ and move every constant, including the screen size and loop delay, into constants.py. | No | | +| 3 | Add Doxyfile and Doxygen comment style | Doxyfile that reads src/ and writes to docs/api; document the comment convention used in source. | No | | +| 4 | Write README from the template | Fill every template heading with real instructions for Windows PowerShell, Linux Debian and macOS, including creating a local .venv. | No | | +| 5 | Add CI workflow | Gitea Actions workflow that sets up Python 3.13, installs the dev extras and runs pytest, from framework/templates/ci. | No | | + +--- + +[BC-001]: ../business-case.md +[PP-001]: ../project-plan.md diff --git a/docs/milestones/mil-003-player.md b/docs/milestones/mil-003-player.md new file mode 100644 index 0000000..100c2c0 --- /dev/null +++ b/docs/milestones/mil-003-player.md @@ -0,0 +1,68 @@ +# MIL-003 Player + +## Metadata +| Key | Value | +| --- | --- | +| ID | MIL-003 | +| CrossReference | [BC-001], [PP-001] | +| Language | en | +| Domain | it | + +## Version History +| Date | Status | Author | Reviewer | Change | Commit | +| --- | --- | --- | --- | --- | --- | +| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | pending | + +--- + +## Purpose + +Decide that the player turtle works and is covered by tests. + +## Deliverable + +A Player class that starts at STARTING_POSITION facing north and moves forward on the Up key. + +## Go / No-Go Criteria + +| # | Criterion (objectively checkable) | Go | No-Go | +| --- | --- | --- | --- | +| 1 | Player starts at (0, -280) facing north | Test asserts position and heading | Wrong start | +| 2 | go_up moves by MOVE_DISTANCE and never back, left or right | Test asserts y only increases | Other movement possible | +| 3 | Up key is bound to go_up | Manual play-through | Key does not move the turtle | + +## Dependencies + +| Depends on | Reason | +| --- | --- | +| MIL-002 | The previous step of the assignment must be accepted first | + +## Traceability + +| Business Case objective / KPI / user story | Reference | +| --- | --- | +| Objective 1 (step 2, bullet 1) | [BC-001] | + +## Ownership + +| Role | Stakeholder ID (SA) | +| --- | --- | +| Owner | S01 | +| Approving reviewer | S01 | + +## Target Date + +2026-10-17 - within the two-week plan of [PP-001]. + +## Tasks + +| # | Task | Summary | Needs its own Use Case/User Story? | Reference | +| --- | --- | --- | --- | --- | +| 1 | Implement Player class | Subclass of Turtle with turtle shape, penup, start position and heading north, as in the assignment. | No | | +| 2 | Implement go_up and key binding | go_up moves forward by MOVE_DISTANCE; main.py listens for Up with screen.onkey. | No | | +| 3 | Test Player | Pytest tests for start state and go_up that run without opening a window. | No | | + +--- + +[BC-001]: ../business-case.md +[PP-001]: ../project-plan.md diff --git a/docs/milestones/mil-004-cars.md b/docs/milestones/mil-004-cars.md new file mode 100644 index 0000000..c364ddc --- /dev/null +++ b/docs/milestones/mil-004-cars.md @@ -0,0 +1,70 @@ +# MIL-004 Cars + +## Metadata +| Key | Value | +| --- | --- | +| ID | MIL-004 | +| CrossReference | [BC-001], [PP-001] | +| Language | en | +| Domain | it | + +## Version History +| Date | Status | Author | Reviewer | Change | Commit | +| --- | --- | --- | --- | --- | --- | +| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | pending | + +--- + +## Purpose + +Decide that cars are generated, drawn as cars and moved correctly. + +## Deliverable + +A CarManager with create_cars and move_cars, and a registered car shape that shows a body, cabin and two wheels inside a 40 x 20 px footprint. + +## Go / No-Go Criteria + +| # | Criterion (objectively checkable) | Go | No-Go | +| --- | --- | --- | --- | +| 1 | Cars are generated at random y values, never in the top or bottom 50 px | Test over many samples | A car appears in the safe zone | +| 2 | A new car is created on one in six loop runs | Test of the spawn rule | Wrong rate | +| 3 | Cars move right to left by the current speed | Test of position change | Wrong direction | +| 4 | Each car is drawn as a car, not a colour block, using the standard library only | Visual check and shape registration in code | A plain rectangle is shown or an image file is needed | + +## Dependencies + +| Depends on | Reason | +| --- | --- | +| MIL-003 | The previous step of the assignment must be accepted first | + +## Traceability + +| Business Case objective / KPI / user story | Reference | +| --- | --- | +| Objectives 1, 2 (step 2, bullet 2) | [BC-001] | + +## Ownership + +| Role | Stakeholder ID (SA) | +| --- | --- | +| Owner | S01 | +| Approving reviewer | S01 | + +## Target Date + +2026-10-19 - within the two-week plan of [PP-001]. + +## Tasks + +| # | Task | Summary | Needs its own Use Case/User Story? | Reference | +| --- | --- | --- | --- | --- | +| 1 | Design the car shape | Draw a car silhouette as a compound turtle Shape: lower body, cabin with window, two wheels, 40 x 20 px, pointing left. Register it once with register_shape. The colour comes from COLORS. | No | | +| 2 | Implement create_cars | Random colour and random y inside the safe-zone limits, one car in six loop runs, each car using the registered shape. | No | | +| 3 | Implement move_cars | Move every car left by the current speed and drop cars that left the screen. | No | | +| 4 | Test CarManager | Pytest tests for spawn rule, safe zone and movement, with the display parts separated from the logic. | No | | + +--- + +[BC-001]: ../business-case.md +[PP-001]: ../project-plan.md diff --git a/docs/milestones/mil-005-collision-levelup.md b/docs/milestones/mil-005-collision-levelup.md new file mode 100644 index 0000000..4ad4a84 --- /dev/null +++ b/docs/milestones/mil-005-collision-levelup.md @@ -0,0 +1,69 @@ +# MIL-005 Collision and level up + +## Metadata +| Key | Value | +| --- | --- | +| ID | MIL-005 | +| CrossReference | [BC-001], [PP-001] | +| Language | en | +| Domain | it | + +## Version History +| Date | Status | Author | Reviewer | Change | Commit | +| --- | --- | --- | --- | --- | --- | +| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | pending | + +--- + +## Purpose + +Decide that collisions end the game and finishing a crossing raises difficulty. + +## Deliverable + +Collision detection, is_at_finish_line, go_to_start and level_up working together in the game loop. + +## Go / No-Go Criteria + +| # | Criterion (objectively checkable) | Go | No-Go | +| --- | --- | --- | --- | +| 1 | Game stops when the player touches a car's footprint | Test and manual play | Game continues after a hit | +| 2 | is_at_finish_line is true when y exceeds FINISH_LINE_Y | Test | Wrong result | +| 3 | Reaching the finish line returns the player to start and raises car speed by MOVE_INCREMENT | Test | Speed or position unchanged | + +## Dependencies + +| Depends on | Reason | +| --- | --- | +| MIL-004 | The previous step of the assignment must be accepted first | + +## Traceability + +| Business Case objective / KPI / user story | Reference | +| --- | --- | +| Objective 1 (step 2, bullets 3 and 4) | [BC-001] | + +## Ownership + +| Role | Stakeholder ID (SA) | +| --- | --- | +| Owner | S01 | +| Approving reviewer | S01 | + +## Target Date + +2026-10-21 - within the two-week plan of [PP-001]. + +## Tasks + +| # | Task | Summary | Needs its own Use Case/User Story? | Reference | +| --- | --- | --- | --- | --- | +| 1 | Implement collision detection | Compare the player with each car using a hit area derived from the 20 px car height and 40 px width, so the whole car body counts and not only its centre. | No | | +| 2 | Implement finish line and go_to_start | Player.is_at_finish_line and Player.go_to_start per the assignment. | No | | +| 3 | Implement level_up | CarManager.level_up adds MOVE_INCREMENT to the move distance. | No | | +| 4 | Test collision and level up | Pytest tests for collision, finish line and speed increase. | No | | + +--- + +[BC-001]: ../business-case.md +[PP-001]: ../project-plan.md diff --git a/docs/milestones/mil-006-scoreboard.md b/docs/milestones/mil-006-scoreboard.md new file mode 100644 index 0000000..242aa2c --- /dev/null +++ b/docs/milestones/mil-006-scoreboard.md @@ -0,0 +1,67 @@ +# MIL-006 Scoreboard and game over + +## Metadata +| Key | Value | +| --- | --- | +| ID | MIL-006 | +| CrossReference | [BC-001], [PP-001] | +| Language | en | +| Domain | it | + +## Version History +| Date | Status | Author | Reviewer | Change | Commit | +| --- | --- | --- | --- | --- | --- | +| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | pending | + +--- + +## Purpose + +Decide that the game is complete in play. + +## Deliverable + +A Scoreboard showing the level, increasing on each crossing, and GAME OVER displayed in the centre on a collision. + +## Go / No-Go Criteria + +| # | Criterion (objectively checkable) | Go | No-Go | +| --- | --- | --- | --- | +| 1 | Scoreboard shows the level at top left and it rises per crossing | Test and manual play | Level not shown or not updated | +| 2 | GAME OVER appears at the centre on collision and the window stays open | Manual play | Missing, or the window closes | + +## Dependencies + +| Depends on | Reason | +| --- | --- | +| MIL-005 | The previous step of the assignment must be accepted first | + +## Traceability + +| Business Case objective / KPI / user story | Reference | +| --- | --- | +| Objective 1 (step 2, bullet 5) | [BC-001] | + +## Ownership + +| Role | Stakeholder ID (SA) | +| --- | --- | +| Owner | S01 | +| Approving reviewer | S01 | + +## Target Date + +2026-10-23 - within the two-week plan of [PP-001]. + +## Tasks + +| # | Task | Summary | Needs its own Use Case/User Story? | Reference | +| --- | --- | --- | --- | --- | +| 1 | Implement Scoreboard | Subclass of Turtle, hidden, writes the level in FONT at the top left; increase_level and update_scoreboard clear and rewrite. | No | | +| 2 | Implement game_over | Write GAME OVER at the centre and keep the window open with exitonclick. | No | | +| 3 | Test Scoreboard and full play-through | Pytest tests for level text and a manual checklist of the five Step 2 behaviours. | No | | + +--- + +[BC-001]: ../business-case.md +[PP-001]: ../project-plan.md diff --git a/docs/milestones/mil-007-readme-wiki.md b/docs/milestones/mil-007-readme-wiki.md new file mode 100644 index 0000000..56140bc --- /dev/null +++ b/docs/milestones/mil-007-readme-wiki.md @@ -0,0 +1,68 @@ +# MIL-007 README and wiki + +## Metadata +| Key | Value | +| --- | --- | +| ID | MIL-007 | +| CrossReference | [BC-001], [PP-001] | +| Language | en | +| Domain | it | + +## Version History +| Date | Status | Author | Reviewer | Change | Commit | +| --- | --- | --- | --- | --- | --- | +| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | pending | + +--- + +## Purpose + +Decide that S02 can run and understand the project. + +## Deliverable + +Final README and wiki pages in English, Danish and Bahasa Malaysia. + +## Go / No-Go Criteria + +| # | Criterion (objectively checkable) | Go | No-Go | +| --- | --- | --- | --- | +| 1 | README run and test instructions work on a clean clone | S01 follows them | A step fails | +| 2 | Every wiki page exists in en, da and ms | File listing | A language is missing | +| 3 | Doxygen builds without warnings | doxygen Doxyfile output | Warnings present | + +## Dependencies + +| Depends on | Reason | +| --- | --- | +| MIL-006 | The previous step of the assignment must be accepted first | + +## Traceability + +| Business Case objective / KPI / user story | Reference | +| --- | --- | +| Objectives 3, 4 | [BC-001] | + +## Ownership + +| Role | Stakeholder ID (SA) | +| --- | --- | +| Owner | S01 | +| Approving reviewer | S01 | + +## Target Date + +2026-10-26 - within the two-week plan of [PP-001]. + +## Tasks + +| # | Task | Summary | Needs its own Use Case/User Story? | Reference | +| --- | --- | --- | --- | --- | +| 1 | Final README pass | Check every section against the real commands; fill Continuous integration, Build the source documentation, Project layout and License. | No | | +| 2 | Write the wiki in three languages | Home, Install and Play, Architecture and Contributing pages in en, da and ms, laid out like the TirSystem github-action wiki, with -da and -ms file suffixes. | No | | +| 3 | Build the source documentation | Run doxygen and fix warnings so the Doxyfile is known to work. | No | | + +--- + +[BC-001]: ../business-case.md +[PP-001]: ../project-plan.md diff --git a/docs/milestones/mil-008-repo-metadata.md b/docs/milestones/mil-008-repo-metadata.md new file mode 100644 index 0000000..58b5110 --- /dev/null +++ b/docs/milestones/mil-008-repo-metadata.md @@ -0,0 +1,66 @@ +# MIL-008 Repository metadata and release + +## Metadata +| Key | Value | +| --- | --- | +| ID | MIL-008 | +| CrossReference | [BC-001], [PP-001] | +| Language | en | +| Domain | it | + +## Version History +| Date | Status | Author | Reviewer | Change | Commit | +| --- | --- | --- | --- | --- | --- | +| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | pending | + +--- + +## Purpose + +Decide that the project is published and complete. + +## Deliverable + +Repository description and topics set on the git host, and the final review recorded. + +## Go / No-Go Criteria + +| # | Criterion (objectively checkable) | Go | No-Go | +| --- | --- | --- | --- | +| 1 | Description and at least 5 topics set | Repository page | Missing | +| 2 | All milestones closed and review records are Go | Registry and review folder | An open milestone or No-Go | + +## Dependencies + +| Depends on | Reason | +| --- | --- | +| MIL-007 | The previous step of the assignment must be accepted first | + +## Traceability + +| Business Case objective / KPI / user story | Reference | +| --- | --- | +| Objective 5 | [BC-001] | + +## Ownership + +| Role | Stakeholder ID (SA) | +| --- | --- | +| Owner | S01 | +| Approving reviewer | S01 | + +## Target Date + +2026-10-27 - within the two-week plan of [PP-001]. + +## Tasks + +| # | Task | Summary | Needs its own Use Case/User Story? | Reference | +| --- | --- | --- | --- | --- | +| 1 | Set repository description and topics | Use the git host application programming interface (API) with the token from .env, read by the shell only and never copied into the project or printed. | No | | +| 2 | Final acceptance review | Review all documents once more, close milestones and record the summary for S01. | No | | + +--- + +[BC-001]: ../business-case.md +[PP-001]: ../project-plan.md diff --git a/docs/project-plan.md b/docs/project-plan.md new file mode 100644 index 0000000..c147f28 --- /dev/null +++ b/docs/project-plan.md @@ -0,0 +1,110 @@ +# Project Plan + +## Metadata +| Key | Value | +| --- | --- | +| ID | PP-001 | +| CrossReference | [BC-001], [SA-001] | +| Language | en | +| Domain | it | + +## Version History +| Date | Status | Author | Reviewer | Change | Commit | +| --- | --- | --- | --- | --- | --- | +| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | pending | + +--- + +## Purpose + +Schedule the eight gateways that take the Turtle Crossing project from a +reviewed baseline to a published, documented game, one pull request per +gateway, inside a two-week window. + +## Planning Assumptions + +- Week 1 starts 2026-10-13; the plan ends by 2026-10-27. S01 gave no deadline, + so two weeks is an assumption (see Open Issues). +- Each gateway is one branch and one pull request, in the order of the + course's steps. +- S01 owns and approves every gateway; reviews are not independent. + +## Gateway Schedule + +| Gateway | Document | Window | Decision date | Owner | Stories | Main deliverable | Milestone | +| --- | --- | --- | --- | --- | --- | --- | --- | +| Baseline documents | [MIL-001] | 10-13 to 10-14 | 2026-10-14 | S01 | none | Accepted planning baseline | | +| Project scaffold | [MIL-002] | 10-14 to 10-15 | 2026-10-15 | S01 | none | Tooling, constants, README, CI | | +| Player | [MIL-003] | 10-15 to 10-17 | 2026-10-17 | S01 | none | Player class and tests | | +| Cars | [MIL-004] | 10-17 to 10-19 | 2026-10-19 | S01 | none | Car manager and car-shaped cars | | +| Collision and level up | [MIL-005] | 10-19 to 10-21 | 2026-10-21 | S01 | none | Collision, finish line, speed-up | | +| Scoreboard and game over | [MIL-006] | 10-21 to 10-23 | 2026-10-23 | S01 | none | Complete playable game | | +| README and wiki | [MIL-007] | 10-23 to 10-26 | 2026-10-26 | S01 | none | README, wiki en/da/ms, Doxygen | | +| Repository metadata and release | [MIL-008] | 10-26 to 10-27 | 2026-10-27 | S01 | none | Description, topics, final review | | + +```plantuml +@startgantt +Project starts 2026-10-13 +[Baseline documents] starts 2026-10-13 and ends 2026-10-14 +[Project scaffold] starts 2026-10-14 and ends 2026-10-15 +[Player] starts 2026-10-15 and ends 2026-10-17 +[Cars] starts 2026-10-17 and ends 2026-10-19 +[Collision and level up] starts 2026-10-19 and ends 2026-10-21 +[Scoreboard and game over] starts 2026-10-21 and ends 2026-10-23 +[README and wiki] starts 2026-10-23 and ends 2026-10-26 +[Repository metadata and release] starts 2026-10-26 and ends 2026-10-27 +[Baseline Go/No-Go] happens 2026-10-14 +[Release Go/No-Go] happens 2026-10-27 +@endgantt +``` + +## Scope Coverage + +| Business Case scope item | Gateway | +| --- | --- | +| Player, car manager and scoreboard classes, `constants.py`, `main.py` | [MIL-003], [MIL-004], [MIL-005], [MIL-006] | +| Car appearance drawn with the standard `turtle` module | [MIL-004] | +| Unit tests for display-free logic | [MIL-003] to [MIL-006] | +| `pyproject.toml`, `.gitignore`, Doxygen, `Doxyfile` | [MIL-002] | +| README, CI, wiki in en, da, ms | [MIL-002], [MIL-007] | +| Repository description and topics | [MIL-008] | + +## Dependencies + +``` +MIL-001 -> MIL-002 -> MIL-003 -> MIL-004 -> MIL-005 -> MIL-006 -> MIL-007 -> MIL-008 +``` + +A No-Go at a gateway moves every later date by the rework time; the final +date is not guaranteed. + +## Plan Risks + +| Risk | Impact | Mitigation | +| --- | --- | --- | +| Evening-only availability | Schedule slip | Gateways are small; dates are decision dates, not commitments | +| Wiki translations (da, ms) take longer than code | MIL-007 slips | Write English first; da and ms follow the same page structure | +| Custom car shape needs several iterations | MIL-004 slips | Design the shape first as its own task | + +## Open Issues + +- Deadline: S01 to confirm or replace the two-week assumption. +- Wiki layout: the example wiki at TirSystem/github-action is behind the git + host login; page names will follow the `framework/wiki` pattern (`-da`, + `-ms` suffixes) unless S01 says otherwise. +- Repository name: the remote is `Tirsvad-Udemy-100-days-of-code/023-turtle-crossing`; + the prompt wrote `Tirsvad-Udemy-100_days_of_code`. Assumed to be the same. +- No QC checklist exists for the Project Plan; it is accepted by S01. + +--- + +[BC-001]: ./business-case.md +[SA-001]: ./stakeholder-analysis.md +[MIL-001]: ./milestones/mil-001-baseline-docs.md +[MIL-002]: ./milestones/mil-002-scaffold.md +[MIL-003]: ./milestones/mil-003-player.md +[MIL-004]: ./milestones/mil-004-cars.md +[MIL-005]: ./milestones/mil-005-collision-levelup.md +[MIL-006]: ./milestones/mil-006-scoreboard.md +[MIL-007]: ./milestones/mil-007-readme-wiki.md +[MIL-008]: ./milestones/mil-008-repo-metadata.md diff --git a/docs/sqa/reviews/rc-001-business-case.md b/docs/sqa/reviews/rc-001-business-case.md new file mode 100644 index 0000000..a8d4bfc --- /dev/null +++ b/docs/sqa/reviews/rc-001-business-case.md @@ -0,0 +1,68 @@ +# Review of BC-001 + +## Metadata +| Key | Value | +| --- | --- | +| ID | RC-001 | +| CrossReference | [BC-001], [QC-BC-001], [QC-LANG-001] | + +## Version History +| Date | Status | Author | Reviewer | Change | Commit | +| --- | --- | --- | --- | --- | --- | +| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | pending | + +--- + +## Artifact Under Review + +- Instance reviewed: [BC-001] +- Checklist used: [QC-BC-001] +- Also applied: [QC-LANG-001] +- Scope: full review +- Language and domain: en / it +- Language reviewer: none +- Mode: autonomous, not independent (reviewer is `AI as stand-in for S01`; the author is S01) + +## Checklist Results + +| # | Criterion | Status | Evidence/Notes | +| --- | --- | --- | --- | +| 1 | ROI/Cost-Benefit analysis is quantitative, or where qualitative, is explicitly justified (Mandatory) | Pass | Cost-Benefit table is qualitative and the text says why: a learning exercise with no budget. | +| 2 | Risks are identified with documented impact and mitigation (Mandatory) | Pass | Risks table has five rows, each with an impact and a mitigation. | +| 3 | Success criteria are measurable, stating explicit targets rather than vague aspirations (Mandatory) | Pass | Success Criteria table has seven rows, each with a target and a measure (pytest exit code, zero dependencies, file listing). | +| 4 | Scope explicitly separates In Scope vs Out of Scope (Mandatory) | Pass | Scope has separate In Scope and Out of Scope subsections. | +| 5 | Stakeholders are cross-referenced to Stakeholder Analysis IDs rather than re-described inline (Mandatory) | Pass | Stakeholders table cites S01, S02 and S03 with their SA-001 IDs; roles are not re-described. | +| 6 | Methodology and quality-standard foundation are stated explicitly (e.g. ISO/IEC 25010, Larman) (Optional) | Pass | Methodological and Standards Foundation names object-oriented design, ISO/IEC 25010:2023, Doxygen and the framework. | +| 7 | Assumptions and constraints are explicit and clearly distinguished from one another (Mandatory) | Pass | Assumptions and Constraints are separate lists; the two-week plan assumption was moved from Constraints to Assumptions during this review. | +| 8 | Document supports executive decision-making with a clear, unambiguous recommendation (Mandatory) | Pass | Recommendation is a single statement: Proceed. | + +## Language and Domain Results + +| # | Criterion | Status | Evidence/Notes | +| --- | --- | --- | --- | +| 1 | The Metadata table has a `Language` row and a `Domain` row, and neither is a placeholder (Mandatory) | Pass | Metadata has Language = en and Domain = it, neither a placeholder. | +| 2 | `Language` is a BCP 47 code and `Domain` is a value from the registry's domain list (Mandatory) | Pass | en is a BCP 47 code; it is in the registry domain list. | +| 3 | The content (prose and table cells) is written in the stated language (Mandatory) | Pass | All prose and table cells are English, the stated language. Code names stay as written. | +| 4 | The register matches the one the registry gives for the artifact type (Mandatory) | Pass | IT Executive English register: short sentences, decisions and outcomes first; implementation names appear only where a task needs them. | +| 5 | Domain terms are the PO terms of the domain's dictionary, with no synonyms (Mandatory) | Pass | No domain dictionary (DICT) exists in this project. Terms (car, player, level, finish line, milestone) are used with one word each, matching the assignment. Recorded as a stand-in decision. | +| 6 | Metadata keys, section headings, IDs and statuses are in English (Mandatory) | Pass | Keys, headings, IDs and statuses are English. | +| 7 | No translated twin (`..md`) exists beside the document (Mandatory) | Pass | No translated twin exists beside the document. | +| 8 | A change of language or domain since the previous accepted version has a Version History row and was reviewed again (Mandatory) | Pass | First version; no language change since the previous accepted version. | +| 9 | A reviewer competent in the domain, and in the language, has confirmed that the domain terms are used correctly (Mandatory) | Pass | The reviewer reads English and knows the IT domain; stand-in for S01 (who is the PO and developer). No separate language reviewer. Open to challenge by S01. | +| 10 | Abbreviations are spelled out on first use, in the stated language (Optional) | Pass | Abbreviations (SQA, QC, CI, RC, API, FURPS+) are spelled out on first use; stakeholder and document IDs are defined in SA-001. | + +## Overall Verdict + +Go - every Mandatory criterion of QC-BC-001 and QC-LANG-001 passes. The review is not independent: author and reviewer are the same person, with the AI standing in for S01. + +## Action Items + +| Action | Owner | Due | +| --- | --- | --- | +| Challenge this review in the end-of-run summary if the stand-in decisions on QC-LANG-001 criteria 5 and 9 are not accepted | S01 | 2026-10-27 | + +--- + +[BC-001]: ../../business-case.md +[QC-BC-001]: ../../../framework/qc/artifacts/qc-business-case.md +[QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md diff --git a/docs/sqa/reviews/rc-002-stakeholder-analysis.md b/docs/sqa/reviews/rc-002-stakeholder-analysis.md new file mode 100644 index 0000000..841e430 --- /dev/null +++ b/docs/sqa/reviews/rc-002-stakeholder-analysis.md @@ -0,0 +1,68 @@ +# Review of SA-001 + +## Metadata +| Key | Value | +| --- | --- | +| ID | RC-002 | +| CrossReference | [SA-001], [QC-SA-001], [QC-LANG-001] | + +## Version History +| Date | Status | Author | Reviewer | Change | Commit | +| --- | --- | --- | --- | --- | --- | +| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | pending | + +--- + +## Artifact Under Review + +- Instance reviewed: [SA-001] +- Checklist used: [QC-SA-001] +- Also applied: [QC-LANG-001] +- Scope: full review +- Language and domain: en / it +- Language reviewer: none +- Mode: autonomous, not independent (reviewer is `AI as stand-in for S01`; the author is S01) + +## Checklist Results + +| # | Criterion | Status | Evidence/Notes | +| --- | --- | --- | --- | +| 1 | Power/Interest grid is filled for every stakeholder, with no gaps or unclassified entries (Mandatory) | Pass | All three stakeholders have Power, Interest and Quadrant filled. | +| 2 | Each stakeholder is assigned a unique, stable ID (e.g. S01-S11 style) reusable for RACI assignments in other artifacts (Mandatory) | Pass | IDs S01 to S03 are unique and used by BC-001, PP-001 and the milestones. | +| 3 | Roles and organizational context are defined with explicit Power and Interest levels, not just narrative description (Mandatory) | Pass | Role, organisation, power and interest are in the summary table, with a rationale per quadrant. | +| 4 | Communication needs (channel, frequency, deliverable type) are mapped to project phases or milestones (Optional) | Pass | Communication table maps each stakeholder to a milestone (MIL-007, MIL-008). | +| 5 | Conflicting stakeholder interests are identified with documented mitigation or resolution strategies (Mandatory) | Pass | Two conflicts are listed with a mitigation each. | +| 6 | Stakeholder concerns are explicitly traced to Business Case objectives (Mandatory) | Pass | Business Goal Alignment table traces each concern to a BC-001 objective. | +| 7 | Primary concerns are expressed in both business language and a recognized quality-attribute mapping (e.g. FURPS+) (Optional) | Pass | Concerns table maps each concern to a FURPS+ attribute, which is explained in the section. | +| 8 | Document is understandable and navigable by non-technical stakeholders reviewing their own entry (Optional) | Pass | Short document in plain language; each stakeholder can read their own row. | + +## Language and Domain Results + +| # | Criterion | Status | Evidence/Notes | +| --- | --- | --- | --- | +| 1 | The Metadata table has a `Language` row and a `Domain` row, and neither is a placeholder (Mandatory) | Pass | Metadata has Language = en and Domain = it, neither a placeholder. | +| 2 | `Language` is a BCP 47 code and `Domain` is a value from the registry's domain list (Mandatory) | Pass | en is a BCP 47 code; it is in the registry domain list. | +| 3 | The content (prose and table cells) is written in the stated language (Mandatory) | Pass | All prose and table cells are English, the stated language. Code names stay as written. | +| 4 | The register matches the one the registry gives for the artifact type (Mandatory) | Pass | IT Professional English register: short sentences, decisions and outcomes first; implementation names appear only where a task needs them. | +| 5 | Domain terms are the PO terms of the domain's dictionary, with no synonyms (Mandatory) | Pass | No domain dictionary (DICT) exists in this project. Terms (car, player, level, finish line, milestone) are used with one word each, matching the assignment. Recorded as a stand-in decision. | +| 6 | Metadata keys, section headings, IDs and statuses are in English (Mandatory) | Pass | Keys, headings, IDs and statuses are English. | +| 7 | No translated twin (`..md`) exists beside the document (Mandatory) | Pass | No translated twin exists beside the document. | +| 8 | A change of language or domain since the previous accepted version has a Version History row and was reviewed again (Mandatory) | Pass | First version; no language change since the previous accepted version. | +| 9 | A reviewer competent in the domain, and in the language, has confirmed that the domain terms are used correctly (Mandatory) | Pass | The reviewer reads English and knows the IT domain; stand-in for S01 (who is the PO and developer). No separate language reviewer. Open to challenge by S01. | +| 10 | Abbreviations are spelled out on first use, in the stated language (Optional) | Pass | Abbreviations (SQA, QC, CI, RC, API, FURPS+) are spelled out on first use; stakeholder and document IDs are defined in SA-001. | + +## Overall Verdict + +Go - every Mandatory criterion of QC-SA-001 and QC-LANG-001 passes. The review is not independent: author and reviewer are the same person, with the AI standing in for S01. + +## Action Items + +| Action | Owner | Due | +| --- | --- | --- | +| Challenge this review in the end-of-run summary if the stand-in decisions on QC-LANG-001 criteria 5 and 9 are not accepted | S01 | 2026-10-27 | + +--- + +[SA-001]: ../../stakeholder-analysis.md +[QC-SA-001]: ../../../framework/qc/artifacts/qc-stakeholder-analysis.md +[QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md diff --git a/docs/sqa/reviews/rc-003-mil-001.md b/docs/sqa/reviews/rc-003-mil-001.md new file mode 100644 index 0000000..fe3bd8e --- /dev/null +++ b/docs/sqa/reviews/rc-003-mil-001.md @@ -0,0 +1,66 @@ +# Review of MIL-001 + +## Metadata +| Key | Value | +| --- | --- | +| ID | RC-003 | +| CrossReference | [MIL-001], [QC-MIL-001], [QC-LANG-001] | + +## Version History +| Date | Status | Author | Reviewer | Change | Commit | +| --- | --- | --- | --- | --- | --- | +| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | pending | + +--- + +## Artifact Under Review + +- Instance reviewed: [MIL-001] +- Checklist used: [QC-MIL-001] +- Also applied: [QC-LANG-001] +- Scope: full review +- Language and domain: en / it +- Language reviewer: none +- Mode: autonomous, not independent (reviewer is `AI as stand-in for S01`; the author is S01) + +## Checklist Results + +| # | Criterion | Status | Evidence/Notes | +| --- | --- | --- | --- | +| 1 | A concrete deliverable is defined for every gate (Mandatory) | Pass | Deliverable section names a concrete, tangible output. | +| 2 | Explicit Go/No-Go criteria are stated for each gate (Mandatory) | Pass | Go / No-Go table has objectively checkable criteria with a Go and a No-Go outcome. | +| 3 | Dependencies on other milestones are explicitly mapped (Optional) | Pass | Dependencies table names the previous milestone (or None for the first). | +| 4 | Each milestone is traceable to a Business Case objective or KPI (Mandatory) | Pass | Traceability table cites BC-001 objectives. | +| 5 | Milestone owner and approving reviewer are identified (Mandatory) | Pass | Ownership table names S01 as owner and approving reviewer. | +| 6 | Milestone has a defined target date consistent with project constraints (Mandatory) | Pass | Target Date is inside the two-week window PP-001 plans from BC-001 (no explicit deadline, see PP-001 Open Issues). | + +## Language and Domain Results + +| # | Criterion | Status | Evidence/Notes | +| --- | --- | --- | --- | +| 1 | The Metadata table has a `Language` row and a `Domain` row, and neither is a placeholder (Mandatory) | Pass | Metadata has Language = en and Domain = it, neither a placeholder. | +| 2 | `Language` is a BCP 47 code and `Domain` is a value from the registry's domain list (Mandatory) | Pass | en is a BCP 47 code; it is in the registry domain list. | +| 3 | The content (prose and table cells) is written in the stated language (Mandatory) | Pass | All prose and table cells are English, the stated language. Code names stay as written. | +| 4 | The register matches the one the registry gives for the artifact type (Mandatory) | Pass | IT Executive English register: short sentences, decisions and outcomes first; implementation names appear only where a task needs them. | +| 5 | Domain terms are the PO terms of the domain's dictionary, with no synonyms (Mandatory) | Pass | No domain dictionary (DICT) exists in this project. Terms (car, player, level, finish line, milestone) are used with one word each, matching the assignment. Recorded as a stand-in decision. | +| 6 | Metadata keys, section headings, IDs and statuses are in English (Mandatory) | Pass | Keys, headings, IDs and statuses are English. | +| 7 | No translated twin (`..md`) exists beside the document (Mandatory) | Pass | No translated twin exists beside the document. | +| 8 | A change of language or domain since the previous accepted version has a Version History row and was reviewed again (Mandatory) | Pass | First version; no language change since the previous accepted version. | +| 9 | A reviewer competent in the domain, and in the language, has confirmed that the domain terms are used correctly (Mandatory) | Pass | The reviewer reads English and knows the IT domain; stand-in for S01 (who is the PO and developer). No separate language reviewer. Open to challenge by S01. | +| 10 | Abbreviations are spelled out on first use, in the stated language (Optional) | Pass | Abbreviations (SQA, QC, CI, RC, API, FURPS+) are spelled out on first use; stakeholder and document IDs are defined in SA-001. | + +## Overall Verdict + +Go - every Mandatory criterion of QC-MIL-001 and QC-LANG-001 passes. The review is not independent: author and reviewer are the same person, with the AI standing in for S01. + +## Action Items + +| Action | Owner | Due | +| --- | --- | --- | +| Challenge this review in the end-of-run summary if the stand-in decisions on QC-LANG-001 criteria 5 and 9 are not accepted | S01 | 2026-10-27 | + +--- + +[MIL-001]: ../../milestones/mil-001-baseline-docs.md +[QC-MIL-001]: ../../../framework/qc/artifacts/qc-milestones-gateways.md +[QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md diff --git a/docs/sqa/reviews/rc-004-mil-002.md b/docs/sqa/reviews/rc-004-mil-002.md new file mode 100644 index 0000000..bc73f1e --- /dev/null +++ b/docs/sqa/reviews/rc-004-mil-002.md @@ -0,0 +1,66 @@ +# Review of MIL-002 + +## Metadata +| Key | Value | +| --- | --- | +| ID | RC-004 | +| CrossReference | [MIL-002], [QC-MIL-001], [QC-LANG-001] | + +## Version History +| Date | Status | Author | Reviewer | Change | Commit | +| --- | --- | --- | --- | --- | --- | +| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | pending | + +--- + +## Artifact Under Review + +- Instance reviewed: [MIL-002] +- Checklist used: [QC-MIL-001] +- Also applied: [QC-LANG-001] +- Scope: full review +- Language and domain: en / it +- Language reviewer: none +- Mode: autonomous, not independent (reviewer is `AI as stand-in for S01`; the author is S01) + +## Checklist Results + +| # | Criterion | Status | Evidence/Notes | +| --- | --- | --- | --- | +| 1 | A concrete deliverable is defined for every gate (Mandatory) | Pass | Deliverable section names a concrete, tangible output. | +| 2 | Explicit Go/No-Go criteria are stated for each gate (Mandatory) | Pass | Go / No-Go table has objectively checkable criteria with a Go and a No-Go outcome. | +| 3 | Dependencies on other milestones are explicitly mapped (Optional) | Pass | Dependencies table names the previous milestone (or None for the first). | +| 4 | Each milestone is traceable to a Business Case objective or KPI (Mandatory) | Pass | Traceability table cites BC-001 objectives. | +| 5 | Milestone owner and approving reviewer are identified (Mandatory) | Pass | Ownership table names S01 as owner and approving reviewer. | +| 6 | Milestone has a defined target date consistent with project constraints (Mandatory) | Pass | Target Date is inside the two-week window PP-001 plans from BC-001 (no explicit deadline, see PP-001 Open Issues). | + +## Language and Domain Results + +| # | Criterion | Status | Evidence/Notes | +| --- | --- | --- | --- | +| 1 | The Metadata table has a `Language` row and a `Domain` row, and neither is a placeholder (Mandatory) | Pass | Metadata has Language = en and Domain = it, neither a placeholder. | +| 2 | `Language` is a BCP 47 code and `Domain` is a value from the registry's domain list (Mandatory) | Pass | en is a BCP 47 code; it is in the registry domain list. | +| 3 | The content (prose and table cells) is written in the stated language (Mandatory) | Pass | All prose and table cells are English, the stated language. Code names stay as written. | +| 4 | The register matches the one the registry gives for the artifact type (Mandatory) | Pass | IT Executive English register: short sentences, decisions and outcomes first; implementation names appear only where a task needs them. | +| 5 | Domain terms are the PO terms of the domain's dictionary, with no synonyms (Mandatory) | Pass | No domain dictionary (DICT) exists in this project. Terms (car, player, level, finish line, milestone) are used with one word each, matching the assignment. Recorded as a stand-in decision. | +| 6 | Metadata keys, section headings, IDs and statuses are in English (Mandatory) | Pass | Keys, headings, IDs and statuses are English. | +| 7 | No translated twin (`..md`) exists beside the document (Mandatory) | Pass | No translated twin exists beside the document. | +| 8 | A change of language or domain since the previous accepted version has a Version History row and was reviewed again (Mandatory) | Pass | First version; no language change since the previous accepted version. | +| 9 | A reviewer competent in the domain, and in the language, has confirmed that the domain terms are used correctly (Mandatory) | Pass | The reviewer reads English and knows the IT domain; stand-in for S01 (who is the PO and developer). No separate language reviewer. Open to challenge by S01. | +| 10 | Abbreviations are spelled out on first use, in the stated language (Optional) | Pass | Abbreviations (SQA, QC, CI, RC, API, FURPS+) are spelled out on first use; stakeholder and document IDs are defined in SA-001. | + +## Overall Verdict + +Go - every Mandatory criterion of QC-MIL-001 and QC-LANG-001 passes. The review is not independent: author and reviewer are the same person, with the AI standing in for S01. + +## Action Items + +| Action | Owner | Due | +| --- | --- | --- | +| Challenge this review in the end-of-run summary if the stand-in decisions on QC-LANG-001 criteria 5 and 9 are not accepted | S01 | 2026-10-27 | + +--- + +[MIL-002]: ../../milestones/mil-002-scaffold.md +[QC-MIL-001]: ../../../framework/qc/artifacts/qc-milestones-gateways.md +[QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md diff --git a/docs/sqa/reviews/rc-005-mil-003.md b/docs/sqa/reviews/rc-005-mil-003.md new file mode 100644 index 0000000..a74e5f8 --- /dev/null +++ b/docs/sqa/reviews/rc-005-mil-003.md @@ -0,0 +1,66 @@ +# Review of MIL-003 + +## Metadata +| Key | Value | +| --- | --- | +| ID | RC-005 | +| CrossReference | [MIL-003], [QC-MIL-001], [QC-LANG-001] | + +## Version History +| Date | Status | Author | Reviewer | Change | Commit | +| --- | --- | --- | --- | --- | --- | +| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | pending | + +--- + +## Artifact Under Review + +- Instance reviewed: [MIL-003] +- Checklist used: [QC-MIL-001] +- Also applied: [QC-LANG-001] +- Scope: full review +- Language and domain: en / it +- Language reviewer: none +- Mode: autonomous, not independent (reviewer is `AI as stand-in for S01`; the author is S01) + +## Checklist Results + +| # | Criterion | Status | Evidence/Notes | +| --- | --- | --- | --- | +| 1 | A concrete deliverable is defined for every gate (Mandatory) | Pass | Deliverable section names a concrete, tangible output. | +| 2 | Explicit Go/No-Go criteria are stated for each gate (Mandatory) | Pass | Go / No-Go table has objectively checkable criteria with a Go and a No-Go outcome. | +| 3 | Dependencies on other milestones are explicitly mapped (Optional) | Pass | Dependencies table names the previous milestone (or None for the first). | +| 4 | Each milestone is traceable to a Business Case objective or KPI (Mandatory) | Pass | Traceability table cites BC-001 objectives. | +| 5 | Milestone owner and approving reviewer are identified (Mandatory) | Pass | Ownership table names S01 as owner and approving reviewer. | +| 6 | Milestone has a defined target date consistent with project constraints (Mandatory) | Pass | Target Date is inside the two-week window PP-001 plans from BC-001 (no explicit deadline, see PP-001 Open Issues). | + +## Language and Domain Results + +| # | Criterion | Status | Evidence/Notes | +| --- | --- | --- | --- | +| 1 | The Metadata table has a `Language` row and a `Domain` row, and neither is a placeholder (Mandatory) | Pass | Metadata has Language = en and Domain = it, neither a placeholder. | +| 2 | `Language` is a BCP 47 code and `Domain` is a value from the registry's domain list (Mandatory) | Pass | en is a BCP 47 code; it is in the registry domain list. | +| 3 | The content (prose and table cells) is written in the stated language (Mandatory) | Pass | All prose and table cells are English, the stated language. Code names stay as written. | +| 4 | The register matches the one the registry gives for the artifact type (Mandatory) | Pass | IT Executive English register: short sentences, decisions and outcomes first; implementation names appear only where a task needs them. | +| 5 | Domain terms are the PO terms of the domain's dictionary, with no synonyms (Mandatory) | Pass | No domain dictionary (DICT) exists in this project. Terms (car, player, level, finish line, milestone) are used with one word each, matching the assignment. Recorded as a stand-in decision. | +| 6 | Metadata keys, section headings, IDs and statuses are in English (Mandatory) | Pass | Keys, headings, IDs and statuses are English. | +| 7 | No translated twin (`..md`) exists beside the document (Mandatory) | Pass | No translated twin exists beside the document. | +| 8 | A change of language or domain since the previous accepted version has a Version History row and was reviewed again (Mandatory) | Pass | First version; no language change since the previous accepted version. | +| 9 | A reviewer competent in the domain, and in the language, has confirmed that the domain terms are used correctly (Mandatory) | Pass | The reviewer reads English and knows the IT domain; stand-in for S01 (who is the PO and developer). No separate language reviewer. Open to challenge by S01. | +| 10 | Abbreviations are spelled out on first use, in the stated language (Optional) | Pass | Abbreviations (SQA, QC, CI, RC, API, FURPS+) are spelled out on first use; stakeholder and document IDs are defined in SA-001. | + +## Overall Verdict + +Go - every Mandatory criterion of QC-MIL-001 and QC-LANG-001 passes. The review is not independent: author and reviewer are the same person, with the AI standing in for S01. + +## Action Items + +| Action | Owner | Due | +| --- | --- | --- | +| Challenge this review in the end-of-run summary if the stand-in decisions on QC-LANG-001 criteria 5 and 9 are not accepted | S01 | 2026-10-27 | + +--- + +[MIL-003]: ../../milestones/mil-003-player.md +[QC-MIL-001]: ../../../framework/qc/artifacts/qc-milestones-gateways.md +[QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md diff --git a/docs/sqa/reviews/rc-006-mil-004.md b/docs/sqa/reviews/rc-006-mil-004.md new file mode 100644 index 0000000..2f25fa2 --- /dev/null +++ b/docs/sqa/reviews/rc-006-mil-004.md @@ -0,0 +1,66 @@ +# Review of MIL-004 + +## Metadata +| Key | Value | +| --- | --- | +| ID | RC-006 | +| CrossReference | [MIL-004], [QC-MIL-001], [QC-LANG-001] | + +## Version History +| Date | Status | Author | Reviewer | Change | Commit | +| --- | --- | --- | --- | --- | --- | +| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | pending | + +--- + +## Artifact Under Review + +- Instance reviewed: [MIL-004] +- Checklist used: [QC-MIL-001] +- Also applied: [QC-LANG-001] +- Scope: full review +- Language and domain: en / it +- Language reviewer: none +- Mode: autonomous, not independent (reviewer is `AI as stand-in for S01`; the author is S01) + +## Checklist Results + +| # | Criterion | Status | Evidence/Notes | +| --- | --- | --- | --- | +| 1 | A concrete deliverable is defined for every gate (Mandatory) | Pass | Deliverable section names a concrete, tangible output. | +| 2 | Explicit Go/No-Go criteria are stated for each gate (Mandatory) | Pass | Go / No-Go table has objectively checkable criteria with a Go and a No-Go outcome. | +| 3 | Dependencies on other milestones are explicitly mapped (Optional) | Pass | Dependencies table names the previous milestone (or None for the first). | +| 4 | Each milestone is traceable to a Business Case objective or KPI (Mandatory) | Pass | Traceability table cites BC-001 objectives. | +| 5 | Milestone owner and approving reviewer are identified (Mandatory) | Pass | Ownership table names S01 as owner and approving reviewer. | +| 6 | Milestone has a defined target date consistent with project constraints (Mandatory) | Pass | Target Date is inside the two-week window PP-001 plans from BC-001 (no explicit deadline, see PP-001 Open Issues). | + +## Language and Domain Results + +| # | Criterion | Status | Evidence/Notes | +| --- | --- | --- | --- | +| 1 | The Metadata table has a `Language` row and a `Domain` row, and neither is a placeholder (Mandatory) | Pass | Metadata has Language = en and Domain = it, neither a placeholder. | +| 2 | `Language` is a BCP 47 code and `Domain` is a value from the registry's domain list (Mandatory) | Pass | en is a BCP 47 code; it is in the registry domain list. | +| 3 | The content (prose and table cells) is written in the stated language (Mandatory) | Pass | All prose and table cells are English, the stated language. Code names stay as written. | +| 4 | The register matches the one the registry gives for the artifact type (Mandatory) | Pass | IT Executive English register: short sentences, decisions and outcomes first; implementation names appear only where a task needs them. | +| 5 | Domain terms are the PO terms of the domain's dictionary, with no synonyms (Mandatory) | Pass | No domain dictionary (DICT) exists in this project. Terms (car, player, level, finish line, milestone) are used with one word each, matching the assignment. Recorded as a stand-in decision. | +| 6 | Metadata keys, section headings, IDs and statuses are in English (Mandatory) | Pass | Keys, headings, IDs and statuses are English. | +| 7 | No translated twin (`..md`) exists beside the document (Mandatory) | Pass | No translated twin exists beside the document. | +| 8 | A change of language or domain since the previous accepted version has a Version History row and was reviewed again (Mandatory) | Pass | First version; no language change since the previous accepted version. | +| 9 | A reviewer competent in the domain, and in the language, has confirmed that the domain terms are used correctly (Mandatory) | Pass | The reviewer reads English and knows the IT domain; stand-in for S01 (who is the PO and developer). No separate language reviewer. Open to challenge by S01. | +| 10 | Abbreviations are spelled out on first use, in the stated language (Optional) | Pass | Abbreviations (SQA, QC, CI, RC, API, FURPS+) are spelled out on first use; stakeholder and document IDs are defined in SA-001. | + +## Overall Verdict + +Go - every Mandatory criterion of QC-MIL-001 and QC-LANG-001 passes. The review is not independent: author and reviewer are the same person, with the AI standing in for S01. + +## Action Items + +| Action | Owner | Due | +| --- | --- | --- | +| Challenge this review in the end-of-run summary if the stand-in decisions on QC-LANG-001 criteria 5 and 9 are not accepted | S01 | 2026-10-27 | + +--- + +[MIL-004]: ../../milestones/mil-004-cars.md +[QC-MIL-001]: ../../../framework/qc/artifacts/qc-milestones-gateways.md +[QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md diff --git a/docs/sqa/reviews/rc-007-mil-005.md b/docs/sqa/reviews/rc-007-mil-005.md new file mode 100644 index 0000000..626b16f --- /dev/null +++ b/docs/sqa/reviews/rc-007-mil-005.md @@ -0,0 +1,66 @@ +# Review of MIL-005 + +## Metadata +| Key | Value | +| --- | --- | +| ID | RC-007 | +| CrossReference | [MIL-005], [QC-MIL-001], [QC-LANG-001] | + +## Version History +| Date | Status | Author | Reviewer | Change | Commit | +| --- | --- | --- | --- | --- | --- | +| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | pending | + +--- + +## Artifact Under Review + +- Instance reviewed: [MIL-005] +- Checklist used: [QC-MIL-001] +- Also applied: [QC-LANG-001] +- Scope: full review +- Language and domain: en / it +- Language reviewer: none +- Mode: autonomous, not independent (reviewer is `AI as stand-in for S01`; the author is S01) + +## Checklist Results + +| # | Criterion | Status | Evidence/Notes | +| --- | --- | --- | --- | +| 1 | A concrete deliverable is defined for every gate (Mandatory) | Pass | Deliverable section names a concrete, tangible output. | +| 2 | Explicit Go/No-Go criteria are stated for each gate (Mandatory) | Pass | Go / No-Go table has objectively checkable criteria with a Go and a No-Go outcome. | +| 3 | Dependencies on other milestones are explicitly mapped (Optional) | Pass | Dependencies table names the previous milestone (or None for the first). | +| 4 | Each milestone is traceable to a Business Case objective or KPI (Mandatory) | Pass | Traceability table cites BC-001 objectives. | +| 5 | Milestone owner and approving reviewer are identified (Mandatory) | Pass | Ownership table names S01 as owner and approving reviewer. | +| 6 | Milestone has a defined target date consistent with project constraints (Mandatory) | Pass | Target Date is inside the two-week window PP-001 plans from BC-001 (no explicit deadline, see PP-001 Open Issues). | + +## Language and Domain Results + +| # | Criterion | Status | Evidence/Notes | +| --- | --- | --- | --- | +| 1 | The Metadata table has a `Language` row and a `Domain` row, and neither is a placeholder (Mandatory) | Pass | Metadata has Language = en and Domain = it, neither a placeholder. | +| 2 | `Language` is a BCP 47 code and `Domain` is a value from the registry's domain list (Mandatory) | Pass | en is a BCP 47 code; it is in the registry domain list. | +| 3 | The content (prose and table cells) is written in the stated language (Mandatory) | Pass | All prose and table cells are English, the stated language. Code names stay as written. | +| 4 | The register matches the one the registry gives for the artifact type (Mandatory) | Pass | IT Executive English register: short sentences, decisions and outcomes first; implementation names appear only where a task needs them. | +| 5 | Domain terms are the PO terms of the domain's dictionary, with no synonyms (Mandatory) | Pass | No domain dictionary (DICT) exists in this project. Terms (car, player, level, finish line, milestone) are used with one word each, matching the assignment. Recorded as a stand-in decision. | +| 6 | Metadata keys, section headings, IDs and statuses are in English (Mandatory) | Pass | Keys, headings, IDs and statuses are English. | +| 7 | No translated twin (`..md`) exists beside the document (Mandatory) | Pass | No translated twin exists beside the document. | +| 8 | A change of language or domain since the previous accepted version has a Version History row and was reviewed again (Mandatory) | Pass | First version; no language change since the previous accepted version. | +| 9 | A reviewer competent in the domain, and in the language, has confirmed that the domain terms are used correctly (Mandatory) | Pass | The reviewer reads English and knows the IT domain; stand-in for S01 (who is the PO and developer). No separate language reviewer. Open to challenge by S01. | +| 10 | Abbreviations are spelled out on first use, in the stated language (Optional) | Pass | Abbreviations (SQA, QC, CI, RC, API, FURPS+) are spelled out on first use; stakeholder and document IDs are defined in SA-001. | + +## Overall Verdict + +Go - every Mandatory criterion of QC-MIL-001 and QC-LANG-001 passes. The review is not independent: author and reviewer are the same person, with the AI standing in for S01. + +## Action Items + +| Action | Owner | Due | +| --- | --- | --- | +| Challenge this review in the end-of-run summary if the stand-in decisions on QC-LANG-001 criteria 5 and 9 are not accepted | S01 | 2026-10-27 | + +--- + +[MIL-005]: ../../milestones/mil-005-collision-levelup.md +[QC-MIL-001]: ../../../framework/qc/artifacts/qc-milestones-gateways.md +[QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md diff --git a/docs/sqa/reviews/rc-008-mil-006.md b/docs/sqa/reviews/rc-008-mil-006.md new file mode 100644 index 0000000..47f38ca --- /dev/null +++ b/docs/sqa/reviews/rc-008-mil-006.md @@ -0,0 +1,66 @@ +# Review of MIL-006 + +## Metadata +| Key | Value | +| --- | --- | +| ID | RC-008 | +| CrossReference | [MIL-006], [QC-MIL-001], [QC-LANG-001] | + +## Version History +| Date | Status | Author | Reviewer | Change | Commit | +| --- | --- | --- | --- | --- | --- | +| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | pending | + +--- + +## Artifact Under Review + +- Instance reviewed: [MIL-006] +- Checklist used: [QC-MIL-001] +- Also applied: [QC-LANG-001] +- Scope: full review +- Language and domain: en / it +- Language reviewer: none +- Mode: autonomous, not independent (reviewer is `AI as stand-in for S01`; the author is S01) + +## Checklist Results + +| # | Criterion | Status | Evidence/Notes | +| --- | --- | --- | --- | +| 1 | A concrete deliverable is defined for every gate (Mandatory) | Pass | Deliverable section names a concrete, tangible output. | +| 2 | Explicit Go/No-Go criteria are stated for each gate (Mandatory) | Pass | Go / No-Go table has objectively checkable criteria with a Go and a No-Go outcome. | +| 3 | Dependencies on other milestones are explicitly mapped (Optional) | Pass | Dependencies table names the previous milestone (or None for the first). | +| 4 | Each milestone is traceable to a Business Case objective or KPI (Mandatory) | Pass | Traceability table cites BC-001 objectives. | +| 5 | Milestone owner and approving reviewer are identified (Mandatory) | Pass | Ownership table names S01 as owner and approving reviewer. | +| 6 | Milestone has a defined target date consistent with project constraints (Mandatory) | Pass | Target Date is inside the two-week window PP-001 plans from BC-001 (no explicit deadline, see PP-001 Open Issues). | + +## Language and Domain Results + +| # | Criterion | Status | Evidence/Notes | +| --- | --- | --- | --- | +| 1 | The Metadata table has a `Language` row and a `Domain` row, and neither is a placeholder (Mandatory) | Pass | Metadata has Language = en and Domain = it, neither a placeholder. | +| 2 | `Language` is a BCP 47 code and `Domain` is a value from the registry's domain list (Mandatory) | Pass | en is a BCP 47 code; it is in the registry domain list. | +| 3 | The content (prose and table cells) is written in the stated language (Mandatory) | Pass | All prose and table cells are English, the stated language. Code names stay as written. | +| 4 | The register matches the one the registry gives for the artifact type (Mandatory) | Pass | IT Executive English register: short sentences, decisions and outcomes first; implementation names appear only where a task needs them. | +| 5 | Domain terms are the PO terms of the domain's dictionary, with no synonyms (Mandatory) | Pass | No domain dictionary (DICT) exists in this project. Terms (car, player, level, finish line, milestone) are used with one word each, matching the assignment. Recorded as a stand-in decision. | +| 6 | Metadata keys, section headings, IDs and statuses are in English (Mandatory) | Pass | Keys, headings, IDs and statuses are English. | +| 7 | No translated twin (`..md`) exists beside the document (Mandatory) | Pass | No translated twin exists beside the document. | +| 8 | A change of language or domain since the previous accepted version has a Version History row and was reviewed again (Mandatory) | Pass | First version; no language change since the previous accepted version. | +| 9 | A reviewer competent in the domain, and in the language, has confirmed that the domain terms are used correctly (Mandatory) | Pass | The reviewer reads English and knows the IT domain; stand-in for S01 (who is the PO and developer). No separate language reviewer. Open to challenge by S01. | +| 10 | Abbreviations are spelled out on first use, in the stated language (Optional) | Pass | Abbreviations (SQA, QC, CI, RC, API, FURPS+) are spelled out on first use; stakeholder and document IDs are defined in SA-001. | + +## Overall Verdict + +Go - every Mandatory criterion of QC-MIL-001 and QC-LANG-001 passes. The review is not independent: author and reviewer are the same person, with the AI standing in for S01. + +## Action Items + +| Action | Owner | Due | +| --- | --- | --- | +| Challenge this review in the end-of-run summary if the stand-in decisions on QC-LANG-001 criteria 5 and 9 are not accepted | S01 | 2026-10-27 | + +--- + +[MIL-006]: ../../milestones/mil-006-scoreboard.md +[QC-MIL-001]: ../../../framework/qc/artifacts/qc-milestones-gateways.md +[QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md diff --git a/docs/sqa/reviews/rc-009-mil-007.md b/docs/sqa/reviews/rc-009-mil-007.md new file mode 100644 index 0000000..7416bba --- /dev/null +++ b/docs/sqa/reviews/rc-009-mil-007.md @@ -0,0 +1,66 @@ +# Review of MIL-007 + +## Metadata +| Key | Value | +| --- | --- | +| ID | RC-009 | +| CrossReference | [MIL-007], [QC-MIL-001], [QC-LANG-001] | + +## Version History +| Date | Status | Author | Reviewer | Change | Commit | +| --- | --- | --- | --- | --- | --- | +| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | pending | + +--- + +## Artifact Under Review + +- Instance reviewed: [MIL-007] +- Checklist used: [QC-MIL-001] +- Also applied: [QC-LANG-001] +- Scope: full review +- Language and domain: en / it +- Language reviewer: none +- Mode: autonomous, not independent (reviewer is `AI as stand-in for S01`; the author is S01) + +## Checklist Results + +| # | Criterion | Status | Evidence/Notes | +| --- | --- | --- | --- | +| 1 | A concrete deliverable is defined for every gate (Mandatory) | Pass | Deliverable section names a concrete, tangible output. | +| 2 | Explicit Go/No-Go criteria are stated for each gate (Mandatory) | Pass | Go / No-Go table has objectively checkable criteria with a Go and a No-Go outcome. | +| 3 | Dependencies on other milestones are explicitly mapped (Optional) | Pass | Dependencies table names the previous milestone (or None for the first). | +| 4 | Each milestone is traceable to a Business Case objective or KPI (Mandatory) | Pass | Traceability table cites BC-001 objectives. | +| 5 | Milestone owner and approving reviewer are identified (Mandatory) | Pass | Ownership table names S01 as owner and approving reviewer. | +| 6 | Milestone has a defined target date consistent with project constraints (Mandatory) | Pass | Target Date is inside the two-week window PP-001 plans from BC-001 (no explicit deadline, see PP-001 Open Issues). | + +## Language and Domain Results + +| # | Criterion | Status | Evidence/Notes | +| --- | --- | --- | --- | +| 1 | The Metadata table has a `Language` row and a `Domain` row, and neither is a placeholder (Mandatory) | Pass | Metadata has Language = en and Domain = it, neither a placeholder. | +| 2 | `Language` is a BCP 47 code and `Domain` is a value from the registry's domain list (Mandatory) | Pass | en is a BCP 47 code; it is in the registry domain list. | +| 3 | The content (prose and table cells) is written in the stated language (Mandatory) | Pass | All prose and table cells are English, the stated language. Code names stay as written. | +| 4 | The register matches the one the registry gives for the artifact type (Mandatory) | Pass | IT Executive English register: short sentences, decisions and outcomes first; implementation names appear only where a task needs them. | +| 5 | Domain terms are the PO terms of the domain's dictionary, with no synonyms (Mandatory) | Pass | No domain dictionary (DICT) exists in this project. Terms (car, player, level, finish line, milestone) are used with one word each, matching the assignment. Recorded as a stand-in decision. | +| 6 | Metadata keys, section headings, IDs and statuses are in English (Mandatory) | Pass | Keys, headings, IDs and statuses are English. | +| 7 | No translated twin (`..md`) exists beside the document (Mandatory) | Pass | No translated twin exists beside the document. | +| 8 | A change of language or domain since the previous accepted version has a Version History row and was reviewed again (Mandatory) | Pass | First version; no language change since the previous accepted version. | +| 9 | A reviewer competent in the domain, and in the language, has confirmed that the domain terms are used correctly (Mandatory) | Pass | The reviewer reads English and knows the IT domain; stand-in for S01 (who is the PO and developer). No separate language reviewer. Open to challenge by S01. | +| 10 | Abbreviations are spelled out on first use, in the stated language (Optional) | Pass | Abbreviations (SQA, QC, CI, RC, API, FURPS+) are spelled out on first use; stakeholder and document IDs are defined in SA-001. | + +## Overall Verdict + +Go - every Mandatory criterion of QC-MIL-001 and QC-LANG-001 passes. The review is not independent: author and reviewer are the same person, with the AI standing in for S01. + +## Action Items + +| Action | Owner | Due | +| --- | --- | --- | +| Challenge this review in the end-of-run summary if the stand-in decisions on QC-LANG-001 criteria 5 and 9 are not accepted | S01 | 2026-10-27 | + +--- + +[MIL-007]: ../../milestones/mil-007-readme-wiki.md +[QC-MIL-001]: ../../../framework/qc/artifacts/qc-milestones-gateways.md +[QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md diff --git a/docs/sqa/reviews/rc-010-mil-008.md b/docs/sqa/reviews/rc-010-mil-008.md new file mode 100644 index 0000000..7bbdb5e --- /dev/null +++ b/docs/sqa/reviews/rc-010-mil-008.md @@ -0,0 +1,66 @@ +# Review of MIL-008 + +## Metadata +| Key | Value | +| --- | --- | +| ID | RC-010 | +| CrossReference | [MIL-008], [QC-MIL-001], [QC-LANG-001] | + +## Version History +| Date | Status | Author | Reviewer | Change | Commit | +| --- | --- | --- | --- | --- | --- | +| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | pending | + +--- + +## Artifact Under Review + +- Instance reviewed: [MIL-008] +- Checklist used: [QC-MIL-001] +- Also applied: [QC-LANG-001] +- Scope: full review +- Language and domain: en / it +- Language reviewer: none +- Mode: autonomous, not independent (reviewer is `AI as stand-in for S01`; the author is S01) + +## Checklist Results + +| # | Criterion | Status | Evidence/Notes | +| --- | --- | --- | --- | +| 1 | A concrete deliverable is defined for every gate (Mandatory) | Pass | Deliverable section names a concrete, tangible output. | +| 2 | Explicit Go/No-Go criteria are stated for each gate (Mandatory) | Pass | Go / No-Go table has objectively checkable criteria with a Go and a No-Go outcome. | +| 3 | Dependencies on other milestones are explicitly mapped (Optional) | Pass | Dependencies table names the previous milestone (or None for the first). | +| 4 | Each milestone is traceable to a Business Case objective or KPI (Mandatory) | Pass | Traceability table cites BC-001 objectives. | +| 5 | Milestone owner and approving reviewer are identified (Mandatory) | Pass | Ownership table names S01 as owner and approving reviewer. | +| 6 | Milestone has a defined target date consistent with project constraints (Mandatory) | Pass | Target Date is inside the two-week window PP-001 plans from BC-001 (no explicit deadline, see PP-001 Open Issues). | + +## Language and Domain Results + +| # | Criterion | Status | Evidence/Notes | +| --- | --- | --- | --- | +| 1 | The Metadata table has a `Language` row and a `Domain` row, and neither is a placeholder (Mandatory) | Pass | Metadata has Language = en and Domain = it, neither a placeholder. | +| 2 | `Language` is a BCP 47 code and `Domain` is a value from the registry's domain list (Mandatory) | Pass | en is a BCP 47 code; it is in the registry domain list. | +| 3 | The content (prose and table cells) is written in the stated language (Mandatory) | Pass | All prose and table cells are English, the stated language. Code names stay as written. | +| 4 | The register matches the one the registry gives for the artifact type (Mandatory) | Pass | IT Executive English register: short sentences, decisions and outcomes first; implementation names appear only where a task needs them. | +| 5 | Domain terms are the PO terms of the domain's dictionary, with no synonyms (Mandatory) | Pass | No domain dictionary (DICT) exists in this project. Terms (car, player, level, finish line, milestone) are used with one word each, matching the assignment. Recorded as a stand-in decision. | +| 6 | Metadata keys, section headings, IDs and statuses are in English (Mandatory) | Pass | Keys, headings, IDs and statuses are English. | +| 7 | No translated twin (`..md`) exists beside the document (Mandatory) | Pass | No translated twin exists beside the document. | +| 8 | A change of language or domain since the previous accepted version has a Version History row and was reviewed again (Mandatory) | Pass | First version; no language change since the previous accepted version. | +| 9 | A reviewer competent in the domain, and in the language, has confirmed that the domain terms are used correctly (Mandatory) | Pass | The reviewer reads English and knows the IT domain; stand-in for S01 (who is the PO and developer). No separate language reviewer. Open to challenge by S01. | +| 10 | Abbreviations are spelled out on first use, in the stated language (Optional) | Pass | Abbreviations (SQA, QC, CI, RC, API, FURPS+) are spelled out on first use; stakeholder and document IDs are defined in SA-001. | + +## Overall Verdict + +Go - every Mandatory criterion of QC-MIL-001 and QC-LANG-001 passes. The review is not independent: author and reviewer are the same person, with the AI standing in for S01. + +## Action Items + +| Action | Owner | Due | +| --- | --- | --- | +| Challenge this review in the end-of-run summary if the stand-in decisions on QC-LANG-001 criteria 5 and 9 are not accepted | S01 | 2026-10-27 | + +--- + +[MIL-008]: ../../milestones/mil-008-repo-metadata.md +[QC-MIL-001]: ../../../framework/qc/artifacts/qc-milestones-gateways.md +[QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md diff --git a/docs/sqa/traceability-matrix.md b/docs/sqa/traceability-matrix.md new file mode 100644 index 0000000..b85fecf --- /dev/null +++ b/docs/sqa/traceability-matrix.md @@ -0,0 +1,76 @@ +# Traceability Matrix + +## Metadata +| Key | Value | +| --- | --- | +| ID | TM-001 | +| CrossReference | [BC-001] | + +## Version History +| Date | Status | Author | Reviewer | Change | Commit | +| --- | --- | --- | --- | --- | --- | +| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | pending | + +--- + +## Purpose + +Tracks backward/forward links between artifact instances so that the Business Case's +cross-artifact traceability success criterion is measurable. A row is added or +updated whenever an artifact instance is created or reviewed. + +## Traceability Table + +| Artifact Instance | Type | Language | Domain | Upstream (Backward Link) | Downstream (Forward Link) | Last Reviewed (RC-ID) | +| --- | --- | --- | --- | --- | --- | --- | +| [BC-001] | Business Case | en | it | - | [SA-001], [PP-001] | [RC-001] | +| [SA-001] | Stakeholder Analysis | en | it | [BC-001] | [PP-001] | [RC-002] | +| [PP-001] | Project Plan | en | it | [BC-001], [SA-001] | [MIL-001] to [MIL-008] | - (accepted by S01, no checklist) | +| [MIL-001] | Milestone | en | it | [PP-001] | - | [RC-003] | +| [MIL-002] | Milestone | en | it | [PP-001] | - | [RC-004] | +| [MIL-003] | Milestone | en | it | [PP-001] | - | [RC-005] | +| [MIL-004] | Milestone | en | it | [PP-001] | - | [RC-006] | +| [MIL-005] | Milestone | en | it | [PP-001] | - | [RC-007] | +| [MIL-006] | Milestone | en | it | [PP-001] | - | [RC-008] | +| [MIL-007] | Milestone | en | it | [PP-001] | - | [RC-009] | +| [MIL-008] | Milestone | en | it | [PP-001] | - | [RC-010] | + +## Coverage Notes + +- `-` in Upstream means foundational, in Downstream that nothing is built on it yet, and in Last Reviewed that no review record exists. +- No use case, domain model or design artifacts exist: the project has no use-case tasks. +- Source code is added from MIL-003 on and reviewed against `qc-programming-python`. + +--- + +## Purpose + +Tracks backward/forward links between artifact instances so that the Business Case's +cross-artifact traceability success criterion is measurable. A row is added or +updated whenever an artifact instance is created or reviewed. + +## Traceability Table + +| Artifact Instance | Type | Language | Domain | Upstream (Backward Link) | Downstream (Forward Link) | Last Reviewed (RC-ID) | +| --- | --- | --- | --- | --- | --- | --- | +| [] | | | | [] | [] | [] | +[SA-001]: ../stakeholder-analysis.md +[PP-001]: ../project-plan.md +[MIL-001]: ../milestones/mil-001-baseline-docs.md +[MIL-002]: ../milestones/mil-002-scaffold.md +[MIL-003]: ../milestones/mil-003-player.md +[MIL-004]: ../milestones/mil-004-cars.md +[MIL-005]: ../milestones/mil-005-collision-levelup.md +[MIL-006]: ../milestones/mil-006-scoreboard.md +[MIL-007]: ../milestones/mil-007-readme-wiki.md +[MIL-008]: ../milestones/mil-008-repo-metadata.md +[RC-001]: ./reviews/rc-001-business-case.md +[RC-002]: ./reviews/rc-002-stakeholder-analysis.md +[RC-003]: ./reviews/rc-003-mil-001.md +[RC-004]: ./reviews/rc-004-mil-002.md +[RC-005]: ./reviews/rc-005-mil-003.md +[RC-006]: ./reviews/rc-006-mil-004.md +[RC-007]: ./reviews/rc-007-mil-005.md +[RC-008]: ./reviews/rc-008-mil-006.md +[RC-009]: ./reviews/rc-009-mil-007.md +[RC-010]: ./reviews/rc-010-mil-008.md diff --git a/docs/stakeholder-analysis.md b/docs/stakeholder-analysis.md new file mode 100644 index 0000000..7f4a92f --- /dev/null +++ b/docs/stakeholder-analysis.md @@ -0,0 +1,89 @@ +# Stakeholder Analysis + +## Metadata +| Key | Value | +| --- | --- | +| ID | SA-001 | +| CrossReference | [BC-001] | +| Language | en | +| Domain | it | + +## Version History +| Date | Status | Author | Reviewer | Change | Commit | +| --- | --- | --- | --- | --- | --- | +| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | pending | + +--- + +## Purpose + +Identify who is affected by the Turtle Crossing project, who decides and who +reviews, using the power/interest grid. S01 is both author and reviewer; this +is a known, accepted exception for a single-person course project, recorded in +every review as "not independent". + +## Stakeholder Summary Table + +| ID | Name | Role/Title | Organization | Power Level | Interest Level | Quadrant | Primary Concern (Business Language) | +| --- | --- | --- | --- | --- | --- | --- | --- | +| S01 | Jens Tirsvad Nielsen | Course participant; Product Owner, developer, reviewer | TirSystem | HIGH | HIGH | Manage Closely | A finished, correct game with a clear review trail | +| S02 | Udemy coursists | Fellow participants of the bootcamp | Udemy community | LOW | HIGH | Keep Informed | Readable, runnable code with the assignment's function names and README run instructions | +| S03 | GitHub viewers | Visitors browsing for ideas | Public | LOW | MEDIUM | Keep Informed | A clear repository description, topics and README, and no runtime dependencies | + +## Power/Interest Classification Rationale + +- **Manage Closely (S01):** decides scope, reviews and accepts every artifact, + and does all the work. +- **Keep Informed (S02, S03):** cannot change the project, but their use of it + is its purpose. S02 has higher interest because they compare solutions; S03 + is a casual audience. + +## Primary Concerns and FURPS+ Mapping + +FURPS+ is the quality model with Functionality, Usability, Reliability, Performance and Supportability, plus design, implementation, interface and physical constraints. + +| ID | Concern | FURPS+ attribute | +| --- | --- | --- | +| S01 | Game behaves as the assignment specifies | Functionality | +| S01 | Review trail and plan before code | Supportability (process) | +| S02 | Assignment names kept (`Player`, `CarManager`, `Scoreboard`, `go_up`, `is_at_finish_line`, `go_to_start`, `level_up`, `create_cars`, `move_cars`) | Functionality, Usability | +| S02 | README steps work on their OS | Usability | +| S02 | Cars look like cars | Usability | +| S03 | Description, topics, README in plain language | Usability | +| S03 | No runtime dependencies | Supportability, Implementation constraint | + +## Communication Requirements + +| ID | Channel | Frequency | Deliverable | Phase / Milestone | +| --- | --- | --- | --- | --- | +| S01 | Chat and pull request review | Per milestone | Review record and pull request | All gateways | +| S02 | README, wiki (en, da, ms) | Once per release | Run instructions, wiki pages | MIL-007 | +| S03 | Repository description, topics, README | Once | Repository metadata | MIL-008 | + +## Conflicting Interests and Mitigations + +| Conflict | Stakeholders | Mitigation | +| --- | --- | --- | +| S02 wants the assignment's simple structure; good project hygiene (constants, tests, docs) adds files | S02, S01 | Keep the assignment's class and method names; put extras in `constants.py`, `tests/` and `docs/` only | +| S03 wants zero dependencies; Doxygen and pytest are tools | S03, S01 | pytest is a dev-only dependency in `pyproject.toml` optional group; runtime has none | + +## Traceability Analysis + +### Business Goal Alignment + +| Stakeholder | Concern | Business Case objective | +| --- | --- | --- | +| S01 | Correct game | [BC-001] Objective 1 | +| S02 | Readable, runnable code | [BC-001] Objectives 1, 3, 4 | +| S02 | Cars look like cars | [BC-001] Objective 2 | +| S03 | Clear repository, no dependencies | [BC-001] Objectives 3, 5 | + +## Sign-Off + +| Stakeholder | Date | Decision | +| --- | --- | --- | +| S01 | pending | Proposed | + +--- + +[BC-001]: ./business-case.md diff --git a/framework b/framework new file mode 160000 index 0000000..6baeadd --- /dev/null +++ b/framework @@ -0,0 +1 @@ +Subproject commit 6baeadd3c1c8c03d08348244898fb0ce86f8b8bd -- 2.54.0 From d91161d5f8a52f7fd2a709f7de7b052976b15f80 Mon Sep 17 00:00:00 2001 From: Jens Tirsvad Nielsen Date: Tue, 13 Oct 2026 13:50:47 +0800 Subject: [PATCH 2/2] Resolve pending commit links Task: MIL-001#3 --- docs/business-case.md | 3 ++- docs/milestones/mil-001-baseline-docs.md | 3 ++- docs/milestones/mil-002-scaffold.md | 3 ++- docs/milestones/mil-003-player.md | 3 ++- docs/milestones/mil-004-cars.md | 3 ++- docs/milestones/mil-005-collision-levelup.md | 3 ++- docs/milestones/mil-006-scoreboard.md | 3 ++- docs/milestones/mil-007-readme-wiki.md | 3 ++- docs/milestones/mil-008-repo-metadata.md | 3 ++- docs/project-plan.md | 3 ++- docs/sqa/reviews/rc-001-business-case.md | 3 ++- docs/sqa/reviews/rc-002-stakeholder-analysis.md | 3 ++- docs/sqa/reviews/rc-003-mil-001.md | 3 ++- docs/sqa/reviews/rc-004-mil-002.md | 3 ++- docs/sqa/reviews/rc-005-mil-003.md | 3 ++- docs/sqa/reviews/rc-006-mil-004.md | 3 ++- docs/sqa/reviews/rc-007-mil-005.md | 3 ++- docs/sqa/reviews/rc-008-mil-006.md | 3 ++- docs/sqa/reviews/rc-009-mil-007.md | 3 ++- docs/sqa/reviews/rc-010-mil-008.md | 3 ++- docs/sqa/traceability-matrix.md | 3 ++- docs/stakeholder-analysis.md | 5 +++-- 22 files changed, 45 insertions(+), 23 deletions(-) diff --git a/docs/business-case.md b/docs/business-case.md index 44e96cd..12d1c12 100644 --- a/docs/business-case.md +++ b/docs/business-case.md @@ -11,7 +11,7 @@ ## Version History | Date | Status | Author | Reviewer | Change | Commit | | --- | --- | --- | --- | --- | --- | -| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | pending | +| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [93d8321] | --- @@ -164,3 +164,4 @@ serves all three stakeholders. [SA-001]: ./stakeholder-analysis.md [PP-001]: ./project-plan.md +[93d8321]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/023-turtle-crossing/commit/93d83217622a6c555dca728fe10c83c35f8ac7e2 diff --git a/docs/milestones/mil-001-baseline-docs.md b/docs/milestones/mil-001-baseline-docs.md index abd3798..65ebfab 100644 --- a/docs/milestones/mil-001-baseline-docs.md +++ b/docs/milestones/mil-001-baseline-docs.md @@ -11,7 +11,7 @@ ## Version History | Date | Status | Author | Reviewer | Change | Commit | | --- | --- | --- | --- | --- | --- | -| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | pending | +| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [93d8321] | --- @@ -65,3 +65,4 @@ Accepted Business Case, Stakeholder Analysis, Project Plan and milestone documen [BC-001]: ../business-case.md [PP-001]: ../project-plan.md +[93d8321]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/023-turtle-crossing/commit/93d83217622a6c555dca728fe10c83c35f8ac7e2 diff --git a/docs/milestones/mil-002-scaffold.md b/docs/milestones/mil-002-scaffold.md index 76be5b0..5d8efd5 100644 --- a/docs/milestones/mil-002-scaffold.md +++ b/docs/milestones/mil-002-scaffold.md @@ -11,7 +11,7 @@ ## Version History | Date | Status | Author | Reviewer | Change | Commit | | --- | --- | --- | --- | --- | --- | -| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | pending | +| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [93d8321] | --- @@ -69,3 +69,4 @@ A repository with src/, tests/, docs/, pyproject.toml, .gitignore (including .en [BC-001]: ../business-case.md [PP-001]: ../project-plan.md +[93d8321]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/023-turtle-crossing/commit/93d83217622a6c555dca728fe10c83c35f8ac7e2 diff --git a/docs/milestones/mil-003-player.md b/docs/milestones/mil-003-player.md index 100c2c0..b8ff180 100644 --- a/docs/milestones/mil-003-player.md +++ b/docs/milestones/mil-003-player.md @@ -11,7 +11,7 @@ ## Version History | Date | Status | Author | Reviewer | Change | Commit | | --- | --- | --- | --- | --- | --- | -| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | pending | +| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [93d8321] | --- @@ -66,3 +66,4 @@ A Player class that starts at STARTING_POSITION facing north and moves forward o [BC-001]: ../business-case.md [PP-001]: ../project-plan.md +[93d8321]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/023-turtle-crossing/commit/93d83217622a6c555dca728fe10c83c35f8ac7e2 diff --git a/docs/milestones/mil-004-cars.md b/docs/milestones/mil-004-cars.md index c364ddc..8419858 100644 --- a/docs/milestones/mil-004-cars.md +++ b/docs/milestones/mil-004-cars.md @@ -11,7 +11,7 @@ ## Version History | Date | Status | Author | Reviewer | Change | Commit | | --- | --- | --- | --- | --- | --- | -| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | pending | +| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [93d8321] | --- @@ -68,3 +68,4 @@ A CarManager with create_cars and move_cars, and a registered car shape that sho [BC-001]: ../business-case.md [PP-001]: ../project-plan.md +[93d8321]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/023-turtle-crossing/commit/93d83217622a6c555dca728fe10c83c35f8ac7e2 diff --git a/docs/milestones/mil-005-collision-levelup.md b/docs/milestones/mil-005-collision-levelup.md index 4ad4a84..631e6ae 100644 --- a/docs/milestones/mil-005-collision-levelup.md +++ b/docs/milestones/mil-005-collision-levelup.md @@ -11,7 +11,7 @@ ## Version History | Date | Status | Author | Reviewer | Change | Commit | | --- | --- | --- | --- | --- | --- | -| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | pending | +| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [93d8321] | --- @@ -67,3 +67,4 @@ Collision detection, is_at_finish_line, go_to_start and level_up working togethe [BC-001]: ../business-case.md [PP-001]: ../project-plan.md +[93d8321]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/023-turtle-crossing/commit/93d83217622a6c555dca728fe10c83c35f8ac7e2 diff --git a/docs/milestones/mil-006-scoreboard.md b/docs/milestones/mil-006-scoreboard.md index 242aa2c..8bcd81f 100644 --- a/docs/milestones/mil-006-scoreboard.md +++ b/docs/milestones/mil-006-scoreboard.md @@ -11,7 +11,7 @@ ## Version History | Date | Status | Author | Reviewer | Change | Commit | | --- | --- | --- | --- | --- | --- | -| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | pending | +| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [93d8321] | --- @@ -65,3 +65,4 @@ A Scoreboard showing the level, increasing on each crossing, and GAME OVER displ [BC-001]: ../business-case.md [PP-001]: ../project-plan.md +[93d8321]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/023-turtle-crossing/commit/93d83217622a6c555dca728fe10c83c35f8ac7e2 diff --git a/docs/milestones/mil-007-readme-wiki.md b/docs/milestones/mil-007-readme-wiki.md index 56140bc..c5992f6 100644 --- a/docs/milestones/mil-007-readme-wiki.md +++ b/docs/milestones/mil-007-readme-wiki.md @@ -11,7 +11,7 @@ ## Version History | Date | Status | Author | Reviewer | Change | Commit | | --- | --- | --- | --- | --- | --- | -| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | pending | +| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [93d8321] | --- @@ -66,3 +66,4 @@ Final README and wiki pages in English, Danish and Bahasa Malaysia. [BC-001]: ../business-case.md [PP-001]: ../project-plan.md +[93d8321]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/023-turtle-crossing/commit/93d83217622a6c555dca728fe10c83c35f8ac7e2 diff --git a/docs/milestones/mil-008-repo-metadata.md b/docs/milestones/mil-008-repo-metadata.md index 58b5110..8704b4e 100644 --- a/docs/milestones/mil-008-repo-metadata.md +++ b/docs/milestones/mil-008-repo-metadata.md @@ -11,7 +11,7 @@ ## Version History | Date | Status | Author | Reviewer | Change | Commit | | --- | --- | --- | --- | --- | --- | -| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | pending | +| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [93d8321] | --- @@ -64,3 +64,4 @@ Repository description and topics set on the git host, and the final review reco [BC-001]: ../business-case.md [PP-001]: ../project-plan.md +[93d8321]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/023-turtle-crossing/commit/93d83217622a6c555dca728fe10c83c35f8ac7e2 diff --git a/docs/project-plan.md b/docs/project-plan.md index c147f28..175702d 100644 --- a/docs/project-plan.md +++ b/docs/project-plan.md @@ -11,7 +11,7 @@ ## Version History | Date | Status | Author | Reviewer | Change | Commit | | --- | --- | --- | --- | --- | --- | -| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | pending | +| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [93d8321] | --- @@ -108,3 +108,4 @@ date is not guaranteed. [MIL-006]: ./milestones/mil-006-scoreboard.md [MIL-007]: ./milestones/mil-007-readme-wiki.md [MIL-008]: ./milestones/mil-008-repo-metadata.md +[93d8321]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/023-turtle-crossing/commit/93d83217622a6c555dca728fe10c83c35f8ac7e2 diff --git a/docs/sqa/reviews/rc-001-business-case.md b/docs/sqa/reviews/rc-001-business-case.md index a8d4bfc..c8f51bb 100644 --- a/docs/sqa/reviews/rc-001-business-case.md +++ b/docs/sqa/reviews/rc-001-business-case.md @@ -9,7 +9,7 @@ ## Version History | Date | Status | Author | Reviewer | Change | Commit | | --- | --- | --- | --- | --- | --- | -| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | pending | +| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [93d8321] | --- @@ -66,3 +66,4 @@ Go - every Mandatory criterion of QC-BC-001 and QC-LANG-001 passes. The review i [BC-001]: ../../business-case.md [QC-BC-001]: ../../../framework/qc/artifacts/qc-business-case.md [QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md +[93d8321]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/023-turtle-crossing/commit/93d83217622a6c555dca728fe10c83c35f8ac7e2 diff --git a/docs/sqa/reviews/rc-002-stakeholder-analysis.md b/docs/sqa/reviews/rc-002-stakeholder-analysis.md index 841e430..f671ce6 100644 --- a/docs/sqa/reviews/rc-002-stakeholder-analysis.md +++ b/docs/sqa/reviews/rc-002-stakeholder-analysis.md @@ -9,7 +9,7 @@ ## Version History | Date | Status | Author | Reviewer | Change | Commit | | --- | --- | --- | --- | --- | --- | -| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | pending | +| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [93d8321] | --- @@ -66,3 +66,4 @@ Go - every Mandatory criterion of QC-SA-001 and QC-LANG-001 passes. The review i [SA-001]: ../../stakeholder-analysis.md [QC-SA-001]: ../../../framework/qc/artifacts/qc-stakeholder-analysis.md [QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md +[93d8321]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/023-turtle-crossing/commit/93d83217622a6c555dca728fe10c83c35f8ac7e2 diff --git a/docs/sqa/reviews/rc-003-mil-001.md b/docs/sqa/reviews/rc-003-mil-001.md index fe3bd8e..7dc49d6 100644 --- a/docs/sqa/reviews/rc-003-mil-001.md +++ b/docs/sqa/reviews/rc-003-mil-001.md @@ -9,7 +9,7 @@ ## Version History | Date | Status | Author | Reviewer | Change | Commit | | --- | --- | --- | --- | --- | --- | -| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | pending | +| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [93d8321] | --- @@ -64,3 +64,4 @@ Go - every Mandatory criterion of QC-MIL-001 and QC-LANG-001 passes. The review [MIL-001]: ../../milestones/mil-001-baseline-docs.md [QC-MIL-001]: ../../../framework/qc/artifacts/qc-milestones-gateways.md [QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md +[93d8321]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/023-turtle-crossing/commit/93d83217622a6c555dca728fe10c83c35f8ac7e2 diff --git a/docs/sqa/reviews/rc-004-mil-002.md b/docs/sqa/reviews/rc-004-mil-002.md index bc73f1e..7db41ad 100644 --- a/docs/sqa/reviews/rc-004-mil-002.md +++ b/docs/sqa/reviews/rc-004-mil-002.md @@ -9,7 +9,7 @@ ## Version History | Date | Status | Author | Reviewer | Change | Commit | | --- | --- | --- | --- | --- | --- | -| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | pending | +| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [93d8321] | --- @@ -64,3 +64,4 @@ Go - every Mandatory criterion of QC-MIL-001 and QC-LANG-001 passes. The review [MIL-002]: ../../milestones/mil-002-scaffold.md [QC-MIL-001]: ../../../framework/qc/artifacts/qc-milestones-gateways.md [QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md +[93d8321]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/023-turtle-crossing/commit/93d83217622a6c555dca728fe10c83c35f8ac7e2 diff --git a/docs/sqa/reviews/rc-005-mil-003.md b/docs/sqa/reviews/rc-005-mil-003.md index a74e5f8..231b71f 100644 --- a/docs/sqa/reviews/rc-005-mil-003.md +++ b/docs/sqa/reviews/rc-005-mil-003.md @@ -9,7 +9,7 @@ ## Version History | Date | Status | Author | Reviewer | Change | Commit | | --- | --- | --- | --- | --- | --- | -| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | pending | +| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [93d8321] | --- @@ -64,3 +64,4 @@ Go - every Mandatory criterion of QC-MIL-001 and QC-LANG-001 passes. The review [MIL-003]: ../../milestones/mil-003-player.md [QC-MIL-001]: ../../../framework/qc/artifacts/qc-milestones-gateways.md [QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md +[93d8321]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/023-turtle-crossing/commit/93d83217622a6c555dca728fe10c83c35f8ac7e2 diff --git a/docs/sqa/reviews/rc-006-mil-004.md b/docs/sqa/reviews/rc-006-mil-004.md index 2f25fa2..e8beff3 100644 --- a/docs/sqa/reviews/rc-006-mil-004.md +++ b/docs/sqa/reviews/rc-006-mil-004.md @@ -9,7 +9,7 @@ ## Version History | Date | Status | Author | Reviewer | Change | Commit | | --- | --- | --- | --- | --- | --- | -| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | pending | +| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [93d8321] | --- @@ -64,3 +64,4 @@ Go - every Mandatory criterion of QC-MIL-001 and QC-LANG-001 passes. The review [MIL-004]: ../../milestones/mil-004-cars.md [QC-MIL-001]: ../../../framework/qc/artifacts/qc-milestones-gateways.md [QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md +[93d8321]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/023-turtle-crossing/commit/93d83217622a6c555dca728fe10c83c35f8ac7e2 diff --git a/docs/sqa/reviews/rc-007-mil-005.md b/docs/sqa/reviews/rc-007-mil-005.md index 626b16f..a54c8f9 100644 --- a/docs/sqa/reviews/rc-007-mil-005.md +++ b/docs/sqa/reviews/rc-007-mil-005.md @@ -9,7 +9,7 @@ ## Version History | Date | Status | Author | Reviewer | Change | Commit | | --- | --- | --- | --- | --- | --- | -| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | pending | +| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [93d8321] | --- @@ -64,3 +64,4 @@ Go - every Mandatory criterion of QC-MIL-001 and QC-LANG-001 passes. The review [MIL-005]: ../../milestones/mil-005-collision-levelup.md [QC-MIL-001]: ../../../framework/qc/artifacts/qc-milestones-gateways.md [QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md +[93d8321]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/023-turtle-crossing/commit/93d83217622a6c555dca728fe10c83c35f8ac7e2 diff --git a/docs/sqa/reviews/rc-008-mil-006.md b/docs/sqa/reviews/rc-008-mil-006.md index 47f38ca..888b166 100644 --- a/docs/sqa/reviews/rc-008-mil-006.md +++ b/docs/sqa/reviews/rc-008-mil-006.md @@ -9,7 +9,7 @@ ## Version History | Date | Status | Author | Reviewer | Change | Commit | | --- | --- | --- | --- | --- | --- | -| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | pending | +| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [93d8321] | --- @@ -64,3 +64,4 @@ Go - every Mandatory criterion of QC-MIL-001 and QC-LANG-001 passes. The review [MIL-006]: ../../milestones/mil-006-scoreboard.md [QC-MIL-001]: ../../../framework/qc/artifacts/qc-milestones-gateways.md [QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md +[93d8321]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/023-turtle-crossing/commit/93d83217622a6c555dca728fe10c83c35f8ac7e2 diff --git a/docs/sqa/reviews/rc-009-mil-007.md b/docs/sqa/reviews/rc-009-mil-007.md index 7416bba..117c78a 100644 --- a/docs/sqa/reviews/rc-009-mil-007.md +++ b/docs/sqa/reviews/rc-009-mil-007.md @@ -9,7 +9,7 @@ ## Version History | Date | Status | Author | Reviewer | Change | Commit | | --- | --- | --- | --- | --- | --- | -| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | pending | +| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [93d8321] | --- @@ -64,3 +64,4 @@ Go - every Mandatory criterion of QC-MIL-001 and QC-LANG-001 passes. The review [MIL-007]: ../../milestones/mil-007-readme-wiki.md [QC-MIL-001]: ../../../framework/qc/artifacts/qc-milestones-gateways.md [QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md +[93d8321]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/023-turtle-crossing/commit/93d83217622a6c555dca728fe10c83c35f8ac7e2 diff --git a/docs/sqa/reviews/rc-010-mil-008.md b/docs/sqa/reviews/rc-010-mil-008.md index 7bbdb5e..2662692 100644 --- a/docs/sqa/reviews/rc-010-mil-008.md +++ b/docs/sqa/reviews/rc-010-mil-008.md @@ -9,7 +9,7 @@ ## Version History | Date | Status | Author | Reviewer | Change | Commit | | --- | --- | --- | --- | --- | --- | -| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | pending | +| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [93d8321] | --- @@ -64,3 +64,4 @@ Go - every Mandatory criterion of QC-MIL-001 and QC-LANG-001 passes. The review [MIL-008]: ../../milestones/mil-008-repo-metadata.md [QC-MIL-001]: ../../../framework/qc/artifacts/qc-milestones-gateways.md [QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md +[93d8321]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/023-turtle-crossing/commit/93d83217622a6c555dca728fe10c83c35f8ac7e2 diff --git a/docs/sqa/traceability-matrix.md b/docs/sqa/traceability-matrix.md index b85fecf..716ed73 100644 --- a/docs/sqa/traceability-matrix.md +++ b/docs/sqa/traceability-matrix.md @@ -9,7 +9,7 @@ ## Version History | Date | Status | Author | Reviewer | Change | Commit | | --- | --- | --- | --- | --- | --- | -| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | pending | +| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [93d8321] | --- @@ -74,3 +74,4 @@ updated whenever an artifact instance is created or reviewed. [RC-008]: ./reviews/rc-008-mil-006.md [RC-009]: ./reviews/rc-009-mil-007.md [RC-010]: ./reviews/rc-010-mil-008.md +[93d8321]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/023-turtle-crossing/commit/93d83217622a6c555dca728fe10c83c35f8ac7e2 diff --git a/docs/stakeholder-analysis.md b/docs/stakeholder-analysis.md index 7f4a92f..7f9824e 100644 --- a/docs/stakeholder-analysis.md +++ b/docs/stakeholder-analysis.md @@ -11,7 +11,7 @@ ## Version History | Date | Status | Author | Reviewer | Change | Commit | | --- | --- | --- | --- | --- | --- | -| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | pending | +| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [93d8321] | --- @@ -82,8 +82,9 @@ FURPS+ is the quality model with Functionality, Usability, Reliability, Performa | Stakeholder | Date | Decision | | --- | --- | --- | -| S01 | pending | Proposed | +| S01 | [93d8321] | Proposed | --- [BC-001]: ./business-case.md +[93d8321]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/023-turtle-crossing/commit/93d83217622a6c555dca728fe10c83c35f8ac7e2 -- 2.54.0