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
This commit is contained in:
2026-10-13 13:50:39 +08:00
parent 820de6b99b
commit 93d8321762
25 changed files with 1714 additions and 0 deletions
+3
View File
@@ -0,0 +1,3 @@
[submodule "framework"]
path = framework
url = ssh://git@git.tirsystem.com:10022/TirSystem/SQA-QC-Framework.git
+59
View File
@@ -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.
+166
View File
@@ -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
+67
View File
@@ -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
+71
View File
@@ -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
+68
View File
@@ -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
+70
View File
@@ -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
@@ -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
+67
View File
@@ -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
+68
View File
@@ -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
+66
View File
@@ -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
+110
View File
@@ -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
+68
View File
@@ -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 (`<name>.<language>.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
@@ -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 (`<name>.<language>.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
+66
View File
@@ -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 (`<name>.<language>.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
+66
View File
@@ -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 (`<name>.<language>.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
+66
View File
@@ -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 (`<name>.<language>.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
+66
View File
@@ -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 (`<name>.<language>.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
+66
View File
@@ -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 (`<name>.<language>.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
+66
View File
@@ -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 (`<name>.<language>.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
+66
View File
@@ -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 (`<name>.<language>.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
+66
View File
@@ -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 (`<name>.<language>.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
+76
View File
@@ -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) |
| --- | --- | --- | --- | --- | --- | --- |
| [<ID>] | <type> | <Language row, or - for a technical type> | <Domain row, or -> | [<upstream-ID>] | [<downstream-ID>] | [<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
+89
View File
@@ -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
Submodule
+1
Submodule framework added at 6baeadd3c1