Adds the planning documents (business case, stakeholder analysis, project plan, milestones, domain dictionary, review records and traceability matrix) and the project foundation: pyproject.toml, .gitignore, the package and test skeleton, the Doxygen configuration, the continuous integration workflow and the README. The reviews RC-001 to RC-013 end in Go and the four milestones are Accepted.
Milestone document: mil-001-project-foundation.md. Its Go / No-Go criteria and tasks are the checklist for this pull request.
Verification
Before each commit: ruff format --check, ruff check, mypy, pytest and doxygen Doxyfile (0 warnings). Every commit that touches src/ or tests/ carries a Task: MIL-NNN#N trailer, and the plan-first commit hook passed without a bypass.
Not in this pull request
#7 (repository description and topics) was done on the host on 2026-10-07 and is not a commit, so it is only referenced here; close it by hand.
#8 (review against QC-PY-001): its record RC-014 ends in Go and is carried by #33, the last pull request of the stack, which closes the issue when it reaches main.
## Milestone 001: Project Foundation
Adds the planning documents (business case, stakeholder analysis, project plan, milestones, domain dictionary, review records and traceability matrix) and the project foundation: `pyproject.toml`, `.gitignore`, the package and test skeleton, the Doxygen configuration, the continuous integration workflow and the README. The reviews `RC-001` to `RC-013` end in Go and the four milestones are Accepted.
Milestone document: [mil-001-project-foundation.md](https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/018-turtle/src/branch/mil-001-project-foundation/docs/milestones/mil-001-project-foundation.md). Its Go / No-Go criteria and tasks are the checklist for this pull request.
### Verification
Before each commit: `ruff format --check`, `ruff check`, `mypy`, `pytest` and `doxygen Doxyfile` (0 warnings). Every commit that touches `src/` or `tests/` carries a `Task: MIL-NNN#N` trailer, and the plan-first commit hook passed without a bypass.
### Not in this pull request
- #7 (repository description and topics) was done on the host on 2026-10-07 and is not a commit, so it is only referenced here; close it by hand.
- #8 (review against `QC-PY-001`): its record `RC-014` ends in Go and is carried by #33, the last pull request of the stack, which closes the issue when it reaches `main`.
### Issues
Closes #1
Closes #2
Closes #3
Closes #4
Closes #5
Closes #6
Refs #7
Tirsvad
added this to the Milestone 001: Project Foundation milestone 2026-10-07 18:15:03 +02:00
Business case BC-001, stakeholder analysis SA-001, project plan PP-001, the four
milestones MIL-001 to MIL-004, the domain dictionary DICT-001, the review records
RC-001 to RC-013 and the traceability matrix.
The reviews end in Go: the business case, stakeholder analysis, dictionary and the
four milestones are Accepted. The project plan is still Proposed; it has no
checklist and is accepted directly by the Product Owner.
pyproject.toml declares Python 3.13 or later, an empty runtime dependency list and
pytest, ruff and mypy as development tools. The package has constants.py, the one
place for constants, and a smoke test keeps the test run green.
Task: MIL-001#1
Task: MIL-001#2
Task: MIL-001#3
The Doxyfile builds the source documentation from the Doxygen comments in src/
and treats any warning as an error. Output goes to build/html.
Task: MIL-001#4
Installs the project, then runs ruff, mypy, pytest and the Doxygen build. No step
opens a turtle window. GitHub Actions and Gitea Actions both read this folder.
Task: MIL-001#5
Requirements, set-up for Windows PowerShell, Linux Debian and macOS with a local
.venv and an upgraded pip, how to run the tests, continuous integration, the
source documentation, the project layout and the licence. The Run section is
completed with the last milestone.
Task: MIL-001#6
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Milestone 001: Project Foundation
Adds the planning documents (business case, stakeholder analysis, project plan, milestones, domain dictionary, review records and traceability matrix) and the project foundation:
pyproject.toml,.gitignore, the package and test skeleton, the Doxygen configuration, the continuous integration workflow and the README. The reviewsRC-001toRC-013end in Go and the four milestones are Accepted.Milestone document: mil-001-project-foundation.md. Its Go / No-Go criteria and tasks are the checklist for this pull request.
Verification
Before each commit:
ruff format --check,ruff check,mypy,pytestanddoxygen Doxyfile(0 warnings). Every commit that touchessrc/ortests/carries aTask: MIL-NNN#Ntrailer, and the plan-first commit hook passed without a bypass.Not in this pull request
QC-PY-001): its recordRC-014ends in Go and is carried by #33, the last pull request of the stack, which closes the issue when it reachesmain.Issues
Closes #1
Closes #2
Closes #3
Closes #4
Closes #5
Closes #6
Refs #7