Milestone 004: Random Walk and Spirograph #33

Merged
Tirsvad merged 16 commits from mil-004-random-walk-and-spirograph into mil-003-shapes-and-random-color 2026-10-07 18:42:46 +02:00
Owner

Milestone 004: Random Walk and Spirograph

Adds random_walk and draw_spirograph with their tests, the random-walk and spirograph commands (--gap sets the degrees between two circles) and the final README run instructions. It also accepts the project plan PP-001 and links the four Gitea milestones in its schedule (commits 16183cc and 795b9db). It also records the code reviews of all four milestones against QC-PY-001 (RC-014 to RC-017, all Go) and adds the code rows to the traceability matrix (commits 4d7cc33 and eb73bb3). The plan's Reviews wording was then updated to match, and S01 accepted that version on 2026-10-08 (commits c893fc1 and 575df4d).

Milestone document: mil-004-random-walk-and-spirograph.md. Its Go / No-Go criteria and tasks are the checklist for this pull request.

Stacked on #32: the base branch is mil-003-shapes-and-random-color. Retarget this pull request to main after #32 is merged; the Closes lines take effect only when it lands on main.

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

  • #27 (README Run section) is closed. S01 closed it on the evidence in RC-018: the README is complete and its steps worked in a fresh clone of this branch under PowerShell. The README's own GitHub clone URL is re-checked under #28, which stays open.
  • #28 (verify the Business Case success criteria) stays open.

Issues

#8, #15, #22 and #29 are the QC-PY-001 review tasks of the four milestones; their records are in this pull request. The other Closes lines are the tasks of milestone 004; #27 is only referenced, because it is already closed.

Closes #23
Closes #24
Closes #25
Closes #26
Refs #27
Closes #8
Closes #15
Closes #22
Closes #29

## Milestone 004: Random Walk and Spirograph Adds `random_walk` and `draw_spirograph` with their tests, the `random-walk` and `spirograph` commands (`--gap` sets the degrees between two circles) and the final README run instructions. It also accepts the project plan `PP-001` and links the four Gitea milestones in its schedule (commits `16183cc` and `795b9db`). It also records the code reviews of all four milestones against `QC-PY-001` (`RC-014` to `RC-017`, all Go) and adds the code rows to the traceability matrix (commits `4d7cc33` and `eb73bb3`). The plan's Reviews wording was then updated to match, and S01 accepted that version on 2026-10-08 (commits `c893fc1` and `575df4d`). Milestone document: [mil-004-random-walk-and-spirograph.md](https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/018-turtle/src/branch/mil-004-random-walk-and-spirograph/docs/milestones/mil-004-random-walk-and-spirograph.md). Its Go / No-Go criteria and tasks are the checklist for this pull request. Stacked on #32: the base branch is `mil-003-shapes-and-random-color`. Retarget this pull request to `main` after #32 is merged; the `Closes` lines take effect only when it lands on `main`. ### 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 - #27 (README Run section) is closed. S01 closed it on the evidence in `RC-018`: the README is complete and its steps worked in a fresh clone of this branch under PowerShell. The README's own GitHub clone URL is re-checked under #28, which stays open. - #28 (verify the Business Case success criteria) stays open. ### Issues #8, #15, #22 and #29 are the `QC-PY-001` review tasks of the four milestones; their records are in this pull request. The other `Closes` lines are the tasks of milestone 004; #27 is only referenced, because it is already closed. Closes #23 Closes #24 Closes #25 Closes #26 Refs #27 Closes #8 Closes #15 Closes #22 Closes #29
Tirsvad added this to the Milestone 004: Random Walk and Spirograph milestone 2026-10-07 18:15:10 +02:00
Tirsvad added 6 commits 2026-10-07 18:15:10 +02:00
200 steps of equal length, each in a random heading of 0, 90, 180 or 270 degrees and
a random RGB color, with a thick line and the fastest speed.

Task: MIL-004#1
Draws int(360 / size_of_gap) circles, each in a random RGB color, turning the heading
by the gap after each. A gap that is not positive raises ValueError, and the integer
count avoids the TypeError that range raises for a float.

Task: MIL-004#2
Task: MIL-004#3
turtle-challenges random-walk and turtle-challenges spirograph, the latter with
--gap for the degrees between two circles.

Task: MIL-004#4
The Run section now covers all five challenges, the --gap option and how to call the
functions from other code.

Task: MIL-004#5
S01, the Product Owner, accepted PP-001 on 2026-10-08: the Version History gets
a new Accepted row and the Reviews open issue says so. The Gateway Schedule now
links the four milestones that were created on the Gitea host (issues #1 to #29).
Resolve pending commit links
CI / checks (pull_request) Successful in 1m1s
795b9dba39
Replace pending in the Version History of the project plan with the link to the
commit that accepted it.
Tirsvad added 2 commits 2026-10-07 18:23:55 +02:00
RC-014 to RC-017 review the Python code each milestone added or changed and all
four end in Go. S01 accepted the imports inside create_window and create_pen as a
documented exception, the name tim, N-A for criterion 10 (the project has no
design class diagram) and the lower-bounded development tools. The traceability
matrix lists the code of each milestone.

Closes #8
Closes #15
Closes #22
Closes #29
Resolve pending commit links
CI / checks (pull_request) Successful in 1m4s
eb73bb33e4
Replace pending in the Version History of the traceability matrix and of the four
code review records with the link to the commit that added them.
Tirsvad added 2 commits 2026-10-07 18:26:16 +02:00
The Reviews open issue now records the code reviews of the four milestones against
QC-PY-001 (RC-014 to RC-017, all Go). S01, the Product Owner, accepted the new
version on 2026-10-08, so the Version History gets a new Accepted row and the
previous one becomes Deprecated.
Resolve pending commit links
CI / checks (pull_request) Successful in 59s
575df4d07f
Replace pending in the Version History of the project plan with the link to the
commit that accepted the new version.
Tirsvad added 2 commits 2026-10-07 18:37:19 +02:00
RC-018 checks the seven success criteria of BC-001 against the delivered repository
with a fresh clone, the README steps under PowerShell, the real command, the host's
CI runs and settings, and the pull requests. Criteria 1 to 4, 6 and 7 are met.
Criterion 5 is not met as written yet: the README clones the GitHub repository,
which holds only the initial commit until the pull requests are merged. The proposed
verdict is Go-with-conditions and S01 decides.

Refs #28
Resolve pending commit links
CI / checks (pull_request) Successful in 1m2s
665301689d
Replace pending in the Version History of RC-018 with the link to the commit that
added it.
Tirsvad added 2 commits 2026-10-07 18:39:16 +02:00
A new row for the check of the success criteria of BC-001 against the delivered
repository, for the gate of MIL-004. Its record RC-018 is a draft with the verdict
Pending, so the row says draft, no verdict.

Refs #28
Resolve pending commit links
CI / checks (pull_request) Successful in 1m3s
4cb75dff77
Replace pending in the Version History of the traceability matrix with the link to
the commit that added the RC-018 row.
Tirsvad added 2 commits 2026-10-07 18:41:21 +02:00
S01 decided the check of the Business Case success criteria on 2026-10-08. Six of the
seven criteria are met; criterion 5 is not met until the code is on main and on
GitHub, so the first three action items of RC-018 are the conditions. The
traceability matrix row follows the verdict.

Refs #28
Resolve pending commit links
CI / checks (pull_request) Successful in 1m2s
45c0cf8acf
Replace pending in the Version History of RC-018 and of the traceability matrix with
the link to the commit that recorded the verdict.
Tirsvad merged commit a9a432a92a into mil-003-shapes-and-random-color 2026-10-07 18:42:46 +02:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Tirsvad-Udemy-100-days-of-code/018-turtle#33