Compare commits

..
Author SHA1 Message Date
Tirsvad bc24f6d018 Document Python 3.13 on Debian 12: the apt python3 is 3.11
Tests / Run the tests (pull_request) Successful in 1m1s
No issue closed: documentation fix found while verifying the Debian commands.
2026-10-13 17:03:15 +08:00
Tirsvad 9891167047 Merge pull request 'Name the earlier records in eight delta review records' (#47) from fix-delta-earlier into main
Tests / Run the tests (push) Successful in 1m7s
TirSystem/github-action: Sync GitHub mirror metadata / sync-metadata (push) Successful in 14s
2026-10-13 10:59:28 +02:00
Tirsvad 1d607b4fa2 Resolve pending commit links
Tests / Run the tests (pull_request) Successful in 1m8s
2026-10-13 16:59:19 +08:00
Tirsvad be2e171f38 Name the earlier records in eight delta review records
No issue closed: documentation housekeeping.
2026-10-13 16:59:17 +08:00
Tirsvad 5902c2bc6a Merge pull request 'Resolve the pending commit link of RC-025' (#46) from fix-rc025-commit into main
Tests / Run the tests (push) Successful in 54s
TirSystem/github-action: Sync GitHub mirror metadata / sync-metadata (push) Successful in 6s
2026-10-13 10:41:47 +02:00
Tirsvad 3cb5b24e14 Resolve the pending commit link of RC-025
Tests / Run the tests (pull_request) Successful in 52s
No issue closed: documentation housekeeping.
2026-10-13 16:41:39 +08:00
Tirsvad bad9a8026d Merge pull request 'Define the link targets cited in the review records' (#45) from fix-rc-links into main
Tests / Run the tests (push) Canceled after 0s
TirSystem/github-action: Sync GitHub mirror metadata / sync-metadata (push) Successful in 6s
2026-10-13 10:41:23 +02:00
Tirsvad f5a0434a98 Resolve pending commit links
Tests / Run the tests (pull_request) Successful in 52s
2026-10-13 16:41:09 +08:00
Tirsvad 5b948e5a66 Define the link targets cited in 18 review records
No issue closed: documentation housekeeping.
2026-10-13 16:41:05 +08:00
Tirsvad e44b9f7341 Merge pull request 'Define the SA-001 link in MIL-001, MIL-003 and MIL-004' (#44) from fix-sa-links into main
Tests / Run the tests (push) Canceled after 0s
TirSystem/github-action: Sync GitHub mirror metadata / sync-metadata (push) Successful in 8s
2026-10-13 10:40:10 +02:00
Tirsvad e7e5c68ce0 Resolve pending commit links
Tests / Run the tests (pull_request) Successful in 53s
2026-10-13 16:39:53 +08:00
Tirsvad fa5bb84025 Define the SA-001 link in MIL-001, MIL-003 and MIL-004
No issue closed: documentation housekeeping.
2026-10-13 16:39:51 +08:00
Tirsvad 60af1e00ef Merge pull request 'Fix RC-033 scope and update the traceability matrix history' (#43) from fix-rc033-tm001 into main
Tests / Run the tests (push) Canceled after 46s
TirSystem/github-action: Sync GitHub mirror metadata / sync-metadata (push) Successful in 7s
2026-10-13 10:38:35 +02:00
Tirsvad 5cb6665e4a Resolve pending commit links
Tests / Run the tests (pull_request) Successful in 55s
2026-10-13 16:38:27 +08:00
Tirsvad c88434c583 Fix RC-033 scope and bring the traceability matrix history up to date
No issue closed: documentation housekeeping.
2026-10-13 16:38:26 +08:00
Tirsvad a9df555dd3 Merge pull request 'Add task 8 to MIL-001: lint steps in CI' (#42) from mil-001-task-8 into main
Tests / Run the tests (push) Successful in 59s
TirSystem/github-action: Sync GitHub mirror metadata / sync-metadata (push) Successful in 9s
2026-10-13 10:36:03 +02:00
Tirsvad ed9897b4c1 Resolve pending commit links
Tests / Run the tests (pull_request) Successful in 55s
2026-10-13 16:35:54 +08:00
Tirsvad 78a0d02bf3 Add task 8 to MIL-001: lint steps in CI
Refs #39
2026-10-13 16:35:27 +08:00
Tirsvad 12d4beef7a Merge pull request 'Record RC-031 and RC-032: CI lint steps reviewed' (#40) from rc-ci-lint into main
Tests / Run the tests (push) Successful in 56s
TirSystem/github-action: Sync GitHub mirror metadata / sync-metadata (push) Successful in 7s
2026-10-13 10:29:36 +02:00
Tirsvad da7efc1120 Resolve pending commit links
Tests / Run the tests (pull_request) Successful in 58s
2026-10-13 16:29:28 +08:00
Tirsvad e406d65f6a Record RC-031 and RC-032: CI lint steps reviewed
No issue closed: review records for #39.
2026-10-13 16:29:27 +08:00
Tirsvad 51e546e9f5 Merge pull request 'Run yamllint and actionlint in CI' (#39) from ci-lint-steps into main
Tests / Run the tests (push) Canceled after 0s
TirSystem/github-action: Sync GitHub mirror metadata / sync-metadata (push) Successful in 7s
2026-10-13 10:29:21 +02:00
Tirsvad 16811c53fa Wrap the workflow header comment to the yamllint line limit
Tests / Run the tests (pull_request) Successful in 49s
2026-10-13 16:27:26 +08:00
Tirsvad 7c2604108c Run yamllint and actionlint in CI
Tests / Run the tests (pull_request) Canceled after 0s
No issue closed: CI change requested by S01.
2026-10-13 16:27:09 +08:00
Tirsvad 9b063bf58f Merge pull request 'Add yamllint and actionlint to the dev extra' (#38) from dev-lint-tools into main
Tests / Run the tests (push) Successful in 50s
TirSystem/github-action: Publish wiki / publish-wiki (push) Successful in 7s
TirSystem/github-action: Sync GitHub mirror metadata / sync-metadata (push) Successful in 5s
2026-10-13 10:26:07 +02:00
Tirsvad fbf73fc6d7 Add yamllint and actionlint to the dev extra
Tests / Run the tests (pull_request) Successful in 50s
No issue closed: dev tooling change requested by S01.
2026-10-13 16:24:31 +08:00
Tirsvad 0bbf4c22d4 Merge pull request 'Close the conditions of RC-007 and RC-010 in their Version History' (#37) from rc-history-rows into main
Tests / Run the tests (push) Successful in 44s
TirSystem/github-action: Sync GitHub mirror metadata / sync-metadata (push) Successful in 5s
2026-10-13 10:22:31 +02:00
37 changed files with 896 additions and 422 deletions
+53 -46
View File
@@ -1,46 +1,53 @@
# Continuous integration for the squirrel census project: runs the pytest tests # Continuous integration for the squirrel census project: lints the YAML and
# on Python 3.13 for every push and pull request. Read by Gitea Actions (a # workflow files and runs the pytest tests on Python 3.13 for every push and
# runner must be registered for the repository). It changes nothing outside the # pull request. Read by Gitea Actions (a runner must be registered for the
# repository and uses no secret. Decision: MIL-001 task "Add CI workflow". # repository). It changes nothing outside the repository and uses no secret.
# Host: Gitea Actions; uses only github.* contexts, so it also runs on GitHub. # Decision: MIL-001 task "Add CI workflow".
# Host: Gitea Actions; uses only github.* contexts, so it also runs on GitHub.
name: Tests
name: Tests
on:
push: on:
branches: [main] push:
pull_request: branches: [main]
pull_request:
permissions:
contents: read permissions:
contents: read
env:
PYTHON_VERSION: "3.13" env:
PIP_VERSION: "26.2.1" PYTHON_VERSION: "3.13"
PIP_VERSION: "26.2.1"
concurrency:
group: tests-${{ github.ref }} concurrency:
cancel-in-progress: true group: tests-${{ github.ref }}
cancel-in-progress: true
jobs:
pytest: jobs:
name: Run the tests pytest:
runs-on: ubuntu-latest name: Run the tests
timeout-minutes: 10 runs-on: ubuntu-latest
steps: timeout-minutes: 10
- name: Check out the code steps:
uses: actions/checkout@v4.2.2 - name: Check out the code
uses: actions/checkout@v4.2.2
- name: Set up Python
uses: actions/setup-python@v5.6.0 - name: Set up Python
with: uses: actions/setup-python@v5.6.0
python-version: ${{ env.PYTHON_VERSION }} with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Create the virtual environment and install
run: | - name: Create the virtual environment and install
python -m venv .venv run: |
.venv/bin/python -m pip install --upgrade "pip==${PIP_VERSION}" python -m venv .venv
.venv/bin/python -m pip install -e ".[dev]" .venv/bin/python -m pip install --upgrade "pip==${PIP_VERSION}"
.venv/bin/python -m pip install -e ".[dev]"
- name: Run the tests
run: .venv/bin/python -m pytest - name: Lint the YAML files
run: .venv/bin/python -m yamllint -c .yamllint.yml .gitea .yamllint.yml
- name: Lint the workflow files
run: .venv/bin/actionlint .gitea/workflows/*.yml
- name: Run the tests
run: .venv/bin/python -m pytest
+1
View File
@@ -6,6 +6,7 @@ __pycache__/
# Virtual environments # Virtual environments
.venv/ .venv/
.uvenv/
venv/ venv/
env/ env/
+3
View File
@@ -6,3 +6,6 @@ rules:
max: 100 max: 100
truthy: truthy:
check-keys: false check-keys: false
# Line endings are normalised by git (LF in the repository, CRLF in some
# Windows checkouts), so the rule would fail on a local checkout only.
new-lines: disable
+20 -2
View File
@@ -20,7 +20,7 @@ There are no runtime dependencies: the program uses only the Python standard lib
## Set up ## Set up
Create a local virtual environment named `.venv` in the project folder, upgrade `pip` Create a local virtual environment named `.venv` in the project folder, upgrade `pip`
and install the project with its development tools (pytest, ruff, mypy). and install the project with its development tools (pytest, ruff, mypy, yamllint, actionlint).
### Windows powershell ### Windows powershell
@@ -36,6 +36,8 @@ If PowerShell refuses to run the activation script, allow it for the current ses
### Linux debian ### Linux debian
On Debian 13 (trixie) or later, `python3` is 3.13:
```bash ```bash
sudo apt install python3 python3-venv sudo apt install python3 python3-venv
python3 -m venv .venv python3 -m venv .venv
@@ -44,6 +46,20 @@ python -m pip install --upgrade pip
python -m pip install -e ".[dev]" python -m pip install -e ".[dev]"
``` ```
On Debian 12 (bookworm), `python3` is 3.11 and `pip` refuses to install the project
(`requires a different Python`). Get Python 3.13 with [uv][uv] and use it for the `.venv`:
```bash
sudo apt install python3 python3-venv
python3 -m venv .uvenv
.uvenv/bin/python -m pip install uv
.uvenv/bin/uv python install 3.13
.uvenv/bin/uv venv --seed --python 3.13 .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install -e ".[dev]"
```
### MacOS ### MacOS
```bash ```bash
@@ -90,7 +106,8 @@ it is present.
The workflow [`.gitea/workflows/ci.yml`][ci] runs for every push to `main` and for every The workflow [`.gitea/workflows/ci.yml`][ci] runs for every push to `main` and for every
pull request. It sets up Python 3.13, creates a `.venv`, upgrades `pip`, installs the pull request. It sets up Python 3.13, creates a `.venv`, upgrades `pip`, installs the
project with `.[dev]` and runs `python -m pytest`. It uses `github.*` contexts only, so project with `.[dev]`, lints the YAML and workflow files with `yamllint` and
`actionlint`, and runs `python -m pytest`. It uses `github.*` contexts only, so
it also runs on GitHub Actions. it also runs on GitHub Actions.
## Build the source documentation ## Build the source documentation
@@ -131,6 +148,7 @@ GNU Affero General Public License v3.0 or later. See [LICENSE][license].
[img-run]: docs/images/run.png [img-run]: docs/images/run.png
[img-tests]: docs/images/tests.png [img-tests]: docs/images/tests.png
[doxygen]: https://www.doxygen.nl/ [doxygen]: https://www.doxygen.nl/
[uv]: https://docs.astral.sh/uv/
[adr-0001]: docs/adr/adr-0001-standard-library-instead-of-pandas.md [adr-0001]: docs/adr/adr-0001-standard-library-instead-of-pandas.md
[ci]: .gitea/workflows/ci.yml [ci]: .gitea/workflows/ci.yml
[doxyfile]: Doxyfile [doxyfile]: Doxyfile
+1 -1
View File
@@ -16,7 +16,7 @@ document of a type. `Primary File` may contain a glob (e.g.
| PP | Project Plan | docs/project-plan.md | 002 | | PP | Project Plan | docs/project-plan.md | 002 |
| MIL | Milestone / Gateway | docs/milestones/*.md | 005 | | MIL | Milestone / Gateway | docs/milestones/*.md | 005 |
| ADR | Architecture Decision Record | docs/adr/adr-NNNN-*.md | 0002 | | ADR | Architecture Decision Record | docs/adr/adr-NNNN-*.md | 0002 |
| RC | SQA Review Record | docs/sqa/reviews/rc-*.md | 031 | | RC | SQA Review Record | docs/sqa/reviews/rc-*.md | 037 |
| DICT | Domain Dictionary | docs/dictionary.md | 002 | | DICT | Domain Dictionary | docs/dictionary.md | 002 |
| TM | Traceability Matrix | docs/sqa/traceability-matrix.md | 002 | | TM | Traceability Matrix | docs/sqa/traceability-matrix.md | 002 |
| UCD | Use Case Diagram | docs/use-case-diagram.md | 002 | | UCD | Use Case Diagram | docs/use-case-diagram.md | 002 |
+7 -5
View File
@@ -4,15 +4,15 @@
| Key | Value | | Key | Value |
| --- | --- | | --- | --- |
| ID | MIL-001 | | ID | MIL-001 |
| CrossReference | [BC-001], [US-001] | | CrossReference | [BC-001], [US-001], [SA-001] |
| Language | en | | Language | en |
| Domain | it | | Domain | it |
## Version History ## Version History
| Date | Status | Author | Reviewer | Change | Commit | | Date | Status | Author | Reviewer | Change | Commit |
| --- | --- | --- | --- | --- | --- | | --- | --- | --- | --- | --- | --- |
| 2026-10-13 | Deprecated | Jens Tirsvad Nielsen | AI as stand-in for S01 | CrossReference: added [US-001] | [259d017] | | 2026-10-13 | Deprecated | Jens Tirsvad Nielsen | AI as stand-in for S01 | Added task 8: lint steps in CI (recorded after the work) | [78a0d02] |
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Added task 7: static workflow test (RC-010 action item) | [6fb75dd] | | 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Added the missing link definition and CrossReference for [SA-001] | [fa5bb84] |
--- ---
## Purpose ## Purpose
@@ -68,10 +68,12 @@ A branch merged to `main` containing `.gitignore`, `pyproject.toml`, `src/squirr
| 5 | Add CI workflow | Add a Gitea Actions workflow that sets up Python 3.13, creates a venv, upgrades pip, installs the dev extra and runs pytest on push and pull request. It backs the "Continuous integration" section of the README. | No | | | 5 | Add CI workflow | Add a Gitea Actions workflow that sets up Python 3.13, creates a venv, upgrades pip, installs the dev extra and runs pytest on push and pull request. It backs the "Continuous integration" section of the README. | No | |
| 6 | Set repository description and topics | Use the Gitea API with the token from `.env` (read by the shell only, never by the project) to set a description and topics such as `python`, `csv`, `squirrel-census`, `udemy`, `100-days-of-code`, `pytest`. Satisfies stakeholder S03. | No | | | 6 | Set repository description and topics | Use the Gitea API with the token from `.env` (read by the shell only, never by the project) to set a description and topics such as `python`, `csv`, `squirrel-census`, `udemy`, `100-days-of-code`, `pytest`. Satisfies stakeholder S03. | No | |
| 7 | Add static workflow test | Add `tests/test_workflow.py`, run by pytest on every pull request, that parses `.gitea/workflows/ci.yml` with a safe YAML loader and checks the required keys, explicit permissions, runner and timeout, named steps, exact-tag action pins and the five-line limit on `run:` blocks. Closes criterion 24 (optional) of the workflow review RC-010. | No | RC-010 | | 7 | Add static workflow test | Add `tests/test_workflow.py`, run by pytest on every pull request, that parses `.gitea/workflows/ci.yml` with a safe YAML loader and checks the required keys, explicit permissions, runner and timeout, named steps, exact-tag action pins and the five-line limit on `run:` blocks. Closes criterion 24 (optional) of the workflow review RC-010. | No | RC-010 |
| 8 | Run yamllint and actionlint in CI | Add two steps to `.gitea/workflows/ci.yml` that run `yamllint` on `.gitea` and `.yamllint.yml` and `actionlint` on the workflow files, after the dev extra is installed, so a malformed workflow fails the pull request. Done in pull request 39 at the request of S01 and recorded here afterwards; reviewed in RC-031 and RC-032. | No | RC-031, RC-032 |
--- ---
[BC-001]: ../business-case.md [BC-001]: ../business-case.md
[US-001]: ../user-stories.md [US-001]: ../user-stories.md
[259d017]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/259d017ad257059330eb9a8bdbf940c9d082664e [78a0d02]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/78a0d02bf373b92163f45d93449dd1009b62e568
[6fb75dd]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/6fb75ddb8671636869b859d8718d3f3f8783659c [SA-001]: ../stakeholder-analysis.md
[fa5bb84]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/fa5bb84025ca0fa1957434d34b0b678280a3abe5
+5 -4
View File
@@ -4,15 +4,15 @@
| Key | Value | | Key | Value |
| --- | --- | | --- | --- |
| ID | MIL-003 | | ID | MIL-003 |
| CrossReference | [BC-001], [US-001] | | CrossReference | [BC-001], [US-001], [SA-001] |
| Language | en | | Language | en |
| Domain | it | | Domain | it |
## Version History ## Version History
| Date | Status | Author | Reviewer | Change | Commit | | Date | Status | Author | Reviewer | Change | Commit |
| --- | --- | --- | --- | --- | --- | | --- | --- | --- | --- | --- | --- |
| 2026-10-13 | Deprecated | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [f1b3c03] | | 2026-10-13 | Deprecated | Jens Tirsvad Nielsen | AI as stand-in for S01 | CrossReference: added [US-001] | [259d017] |
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | CrossReference: added [US-001] | [259d017] | | 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Added the missing link definition and CrossReference for [SA-001] | [fa5bb84] |
--- ---
## Purpose ## Purpose
@@ -69,6 +69,7 @@ A branch merged to `main` containing `README.md` with the requested sections, Do
--- ---
[BC-001]: ../business-case.md [BC-001]: ../business-case.md
[f1b3c03]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/f1b3c034dc3880b7884646b4a4ed28e5f98fbcd3
[US-001]: ../user-stories.md [US-001]: ../user-stories.md
[259d017]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/259d017ad257059330eb9a8bdbf940c9d082664e [259d017]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/259d017ad257059330eb9a8bdbf940c9d082664e
[SA-001]: ../stakeholder-analysis.md
[fa5bb84]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/fa5bb84025ca0fa1957434d34b0b678280a3abe5
+5 -4
View File
@@ -4,15 +4,15 @@
| Key | Value | | Key | Value |
| --- | --- | | --- | --- |
| ID | MIL-004 | | ID | MIL-004 |
| CrossReference | [BC-001], [US-001] | | CrossReference | [BC-001], [US-001], [SA-001] |
| Language | en | | Language | en |
| Domain | it | | Domain | it |
## Version History ## Version History
| Date | Status | Author | Reviewer | Change | Commit | | Date | Status | Author | Reviewer | Change | Commit |
| --- | --- | --- | --- | --- | --- | | --- | --- | --- | --- | --- | --- |
| 2026-10-13 | Deprecated | Jens Tirsvad Nielsen | AI as stand-in for S01 | CrossReference: added [US-001] | [259d017] | | 2026-10-13 | Deprecated | Jens Tirsvad Nielsen | AI as stand-in for S01 | Corrected the wiki folder `docs/wiki/` to `wiki/` | [d85cfe5] |
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Corrected the wiki folder `docs/wiki/` to `wiki/` | [d85cfe5] | | 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Added the missing link definition and CrossReference for [SA-001] | [fa5bb84] |
--- ---
## Purpose ## Purpose
@@ -70,5 +70,6 @@ Wiki pages `Home`, `Install`, `Usage` and `Description` in English plus `-da` an
[BC-001]: ../business-case.md [BC-001]: ../business-case.md
[US-001]: ../user-stories.md [US-001]: ../user-stories.md
[259d017]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/259d017ad257059330eb9a8bdbf940c9d082664e
[d85cfe5]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/d85cfe5c4b62b2e1759f1c47b25bdb787ba6fd68 [d85cfe5]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/d85cfe5c4b62b2e1759f1c47b25bdb787ba6fd68
[SA-001]: ../stakeholder-analysis.md
[fa5bb84]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/fa5bb84025ca0fa1957434d34b0b678280a3abe5
+4 -3
View File
@@ -9,8 +9,8 @@
## Version History ## Version History
| Date | Status | Author | Reviewer | Change | Commit | | Date | Status | Author | Reviewer | Change | Commit |
| --- | --- | --- | --- | --- | --- | | --- | --- | --- | --- | --- | --- |
| 2026-10-13 | Deprecated | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [d71b586] | | 2026-10-13 | Deprecated | Jens Tirsvad Nielsen | AI as stand-in for S01 | Action items closed: criterion 22 by RC-025 (Go), criterion 24 by RC-030 (Go) | [40c3387] |
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Action items closed: criterion 22 by RC-025 (Go), criterion 24 by RC-030 (Go) | [40c3387] | | 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Link definitions added for the IDs cited in the text | [5b948e5] |
--- ---
@@ -67,5 +67,6 @@ Go-with-conditions — all Mandatory criteria pass except 22: the workflow has n
[WF-MIL-001]: ../../../.gitea/workflows/ci.yml [WF-MIL-001]: ../../../.gitea/workflows/ci.yml
[QC-WF-001]: ../../../framework/qc/code/qc-workflow.md [QC-WF-001]: ../../../framework/qc/code/qc-workflow.md
[d71b586]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/d71b5863eba3dc29c5a5e09e4ffa087c67565fae
[40c3387]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/40c3387ea7a4b601e8d20a5a7b6eba20c3d5323d [40c3387]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/40c3387ea7a4b601e8d20a5a7b6eba20c3d5323d
[QC-YML-001]: ../../../framework/qc/code/qc-yaml.md
[5b948e5]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/5b948e5a66bbcea5ef062f4557f47aae113a4e07
+6 -1
View File
@@ -9,7 +9,8 @@
## Version History ## Version History
| Date | Status | Author | Reviewer | Change | Commit | | Date | Status | Author | Reviewer | Change | Commit |
| --- | --- | --- | --- | --- | --- | | --- | --- | --- | --- | --- | --- |
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [259d017] | | 2026-10-13 | Deprecated | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [259d017] |
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Link definitions added for the IDs cited in the text | [5b948e5] |
--- ---
@@ -67,3 +68,7 @@ Go — all Mandatory criteria pass.
[QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md [QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md
[DICT-001]: ../../dictionary.md [DICT-001]: ../../dictionary.md
[259d017]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/259d017ad257059330eb9a8bdbf940c9d082664e [259d017]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/259d017ad257059330eb9a8bdbf940c9d082664e
[SA-001]: ../../stakeholder-analysis.md
[UC-001]: ../../uc-001/uc.md
[US-001]: ../../user-stories.md
[5b948e5]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/5b948e5a66bbcea5ef062f4557f47aae113a4e07
+6 -1
View File
@@ -9,7 +9,8 @@
## Version History ## Version History
| Date | Status | Author | Reviewer | Change | Commit | | Date | Status | Author | Reviewer | Change | Commit |
| --- | --- | --- | --- | --- | --- | | --- | --- | --- | --- | --- | --- |
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [259d017] | | 2026-10-13 | Deprecated | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [259d017] |
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Link definitions added for the IDs cited in the text | [5b948e5] |
--- ---
@@ -66,3 +67,7 @@ Go — all Mandatory criteria pass.
[QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md [QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md
[DICT-001]: ../../dictionary.md [DICT-001]: ../../dictionary.md
[259d017]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/259d017ad257059330eb9a8bdbf940c9d082664e [259d017]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/259d017ad257059330eb9a8bdbf940c9d082664e
[MIL-002]: ../../milestones/mil-002-census-analysis.md
[UC-001]: ../../uc-001/uc.md
[UCD-001]: ../../use-case-diagram.md
[5b948e5]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/5b948e5a66bbcea5ef062f4557f47aae113a4e07
+5 -1
View File
@@ -9,7 +9,8 @@
## Version History ## Version History
| Date | Status | Author | Reviewer | Change | Commit | | Date | Status | Author | Reviewer | Change | Commit |
| --- | --- | --- | --- | --- | --- | | --- | --- | --- | --- | --- | --- |
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [259d017] | | 2026-10-13 | Deprecated | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [259d017] |
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Link definitions added for the IDs cited in the text | [5b948e5] |
--- ---
@@ -71,3 +72,6 @@ Go — all Mandatory criteria pass; criteria 1 and 2 apply to other formats.
[QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md [QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md
[DICT-001]: ../../dictionary.md [DICT-001]: ../../dictionary.md
[259d017]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/259d017ad257059330eb9a8bdbf940c9d082664e [259d017]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/259d017ad257059330eb9a8bdbf940c9d082664e
[UCD-001]: ../../use-case-diagram.md
[US-001]: ../../user-stories.md
[5b948e5]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/5b948e5a66bbcea5ef062f4557f47aae113a4e07
+4 -1
View File
@@ -9,7 +9,8 @@
## Version History ## Version History
| Date | Status | Author | Reviewer | Change | Commit | | Date | Status | Author | Reviewer | Change | Commit |
| --- | --- | --- | --- | --- | --- | | --- | --- | --- | --- | --- | --- |
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [259d017] | | 2026-10-13 | Deprecated | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [259d017] |
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Link definitions added for the IDs cited in the text | [5b948e5] |
--- ---
@@ -66,3 +67,5 @@ Go — all Mandatory criteria pass.
[QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md [QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md
[DICT-001]: ../../dictionary.md [DICT-001]: ../../dictionary.md
[259d017]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/259d017ad257059330eb9a8bdbf940c9d082664e [259d017]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/259d017ad257059330eb9a8bdbf940c9d082664e
[UC-001]: ../../uc-001/uc.md
[5b948e5]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/5b948e5a66bbcea5ef062f4557f47aae113a4e07
+4 -1
View File
@@ -9,7 +9,8 @@
## Version History ## Version History
| Date | Status | Author | Reviewer | Change | Commit | | Date | Status | Author | Reviewer | Change | Commit |
| --- | --- | --- | --- | --- | --- | | --- | --- | --- | --- | --- | --- |
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [259d017] | | 2026-10-13 | Deprecated | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [259d017] |
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Link definitions added for the IDs cited in the text | [5b948e5] |
--- ---
@@ -66,3 +67,5 @@ Go — all Mandatory criteria pass.
[QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md [QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md
[DICT-001]: ../../dictionary.md [DICT-001]: ../../dictionary.md
[259d017]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/259d017ad257059330eb9a8bdbf940c9d082664e [259d017]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/259d017ad257059330eb9a8bdbf940c9d082664e
[UC-001]: ../../uc-001/uc.md
[5b948e5]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/5b948e5a66bbcea5ef062f4557f47aae113a4e07
+4 -1
View File
@@ -9,7 +9,8 @@
## Version History ## Version History
| Date | Status | Author | Reviewer | Change | Commit | | Date | Status | Author | Reviewer | Change | Commit |
| --- | --- | --- | --- | --- | --- | | --- | --- | --- | --- | --- | --- |
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [259d017] | | 2026-10-13 | Deprecated | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [259d017] |
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Link definitions added for the IDs cited in the text | [5b948e5] |
--- ---
@@ -66,3 +67,5 @@ Go — all Mandatory criteria pass.
[QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md [QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md
[DICT-001]: ../../dictionary.md [DICT-001]: ../../dictionary.md
[259d017]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/259d017ad257059330eb9a8bdbf940c9d082664e [259d017]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/259d017ad257059330eb9a8bdbf940c9d082664e
[UC-001]: ../../uc-001/uc.md
[5b948e5]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/5b948e5a66bbcea5ef062f4557f47aae113a4e07
+4 -1
View File
@@ -9,7 +9,8 @@
## Version History ## Version History
| Date | Status | Author | Reviewer | Change | Commit | | Date | Status | Author | Reviewer | Change | Commit |
| --- | --- | --- | --- | --- | --- | | --- | --- | --- | --- | --- | --- |
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [259d017] | | 2026-10-13 | Deprecated | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [259d017] |
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Link definitions added for the IDs cited in the text | [5b948e5] |
--- ---
@@ -66,3 +67,5 @@ Go — all Mandatory criteria that can apply pass; criterion 4 has no object in
[QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md [QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md
[DM-002]: ../../domain-model.md [DM-002]: ../../domain-model.md
[259d017]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/259d017ad257059330eb9a8bdbf940c9d082664e [259d017]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/259d017ad257059330eb9a8bdbf940c9d082664e
[DM-001]: ../../uc-001/dm.md
[5b948e5]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/5b948e5a66bbcea5ef062f4557f47aae113a4e07
+59 -56
View File
@@ -1,56 +1,59 @@
# RC-019 Review of BC-001 # RC-019 Review of BC-001
## Metadata ## Metadata
| Key | Value | | Key | Value |
| --- | --- | | --- | --- |
| ID | RC-019 | | ID | RC-019 |
| CrossReference | [BC-001], [QC-BC-001], [QC-LANG-001] | | CrossReference | [BC-001], [QC-BC-001], [QC-LANG-001] |
## Version History ## Version History
| Date | Status | Author | Reviewer | Change | Commit | | Date | Status | Author | Reviewer | Change | Commit |
| --- | --- | --- | --- | --- | --- | | --- | --- | --- | --- | --- | --- |
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [259d017] | | 2026-10-13 | Deprecated | Jens Tirsvad Nielsen | AI as stand-in for S01 | Link definitions added for the IDs cited in the text | [5b948e5] |
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Scope names the earlier records RC-001 and says the other criteria still hold | [be2e171] |
---
---
## Artifact Under Review
## Artifact Under Review
- Instance reviewed: [BC-001]
- Checklist used: [QC-BC-001] and [QC-LANG-001] - Instance reviewed: [BC-001]
- Scope: delta re-review of the criterion that cites the changed row and criteria 1, 2, 6, 7, 8 of QC-LANG-001: only the CrossReference row changed (first instance of a candidate type was created); earlier record applies to the rest - Checklist used: [QC-BC-001] and [QC-LANG-001]
- Language and domain: en / it - Scope: delta re-review of the criterion that cites the changed row and criteria 1, 2, 6, 7, 8 of QC-LANG-001: only the CrossReference row changed (first instance of a candidate type was created); earlier record RC-001 applies to the rest
- Language reviewer: none (the stand-in reviewer reads English and the `it` domain) - Language and domain: en / it
- Mode: autonomous, not independent (reviewer: AI as stand-in for S01) - Language reviewer: none (the stand-in reviewer reads English and the `it` domain)
- Mode: autonomous, not independent (reviewer: AI as stand-in for S01)
## Checklist Results
## Checklist Results
| # | Criterion | Status | Evidence/Notes |
| --- | --- | --- | --- | | # | Criterion | Status | Evidence/Notes |
| 5 | Stakeholders are cross-referenced to Stakeholder Analysis IDs rather than re-described inline (Mandatory) | Pass | Stakeholders table is unchanged; CrossReference now also lists [UCD-001]. | | --- | --- | --- | --- |
| 5 | Stakeholders are cross-referenced to Stakeholder Analysis IDs rather than re-described inline (Mandatory) | Pass | Stakeholders table is unchanged; CrossReference now also lists [UCD-001]. |
## Language and Domain Results
## Language and Domain Results
| # | Criterion | Status | Evidence/Notes |
| --- | --- | --- | --- | | # | Criterion | Status | Evidence/Notes |
| 1 | The Metadata table has a `Language` row and a `Domain` row, and neither is a placeholder (Mandatory) | Pass | Language and Domain rows unchanged. | | --- | --- | --- | --- |
| 2 | `Language` is a BCP 47 code and `Domain` is a value from the registry's domain list (Mandatory) | Pass | Unchanged. | | 1 | The Metadata table has a `Language` row and a `Domain` row, and neither is a placeholder (Mandatory) | Pass | Language and Domain rows unchanged. |
| 6 | Metadata keys, section headings, IDs and statuses are in English (Mandatory) | Pass | Keys, headings and statuses are English. | | 2 | `Language` is a BCP 47 code and `Domain` is a value from the registry's domain list (Mandatory) | Pass | Unchanged. |
| 7 | No translated twin (`<name>.<language>.md`) exists beside the document (Mandatory) | Pass | No translated twin. | | 6 | Metadata keys, section headings, IDs and statuses are in English (Mandatory) | Pass | Keys, headings and statuses are English. |
| 8 | A change of language or domain since the previous accepted version has a Version History row and was reviewed again (Mandatory) | Pass | Language unchanged since the accepted version. | | 7 | No translated twin (`<name>.<language>.md`) exists beside the document (Mandatory) | Pass | No translated twin. |
| 8 | A change of language or domain since the previous accepted version has a Version History row and was reviewed again (Mandatory) | Pass | Language unchanged since the accepted version. |
## Overall Verdict
## Overall Verdict
Go — only Metadata (CrossReference) and the Version History changed; the earlier review of the content still holds.
Go — only Metadata (CrossReference) and the Version History changed; the earlier review of the content still holds. The other criteria of the checklist and of QC-LANG-001 were passed in RC-001 and are unaffected by this change.
## Action Items
## Action Items
| Action | Owner | Due |
| --- | --- | --- | | Action | Owner | Due |
| None | S01 | - | | --- | --- | --- |
| None | S01 | - |
---
---
[BC-001]: ../../business-case.md
[QC-BC-001]: ../../../framework/qc/artifacts/qc-business-case.md [BC-001]: ../../business-case.md
[QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md [QC-BC-001]: ../../../framework/qc/artifacts/qc-business-case.md
[259d017]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/259d017ad257059330eb9a8bdbf940c9d082664e [QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md
[UCD-001]: ../../use-case-diagram.md
[5b948e5]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/5b948e5a66bbcea5ef062f4557f47aae113a4e07
[be2e171]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/be2e171f38de55340bb8236fd6b61f1b651ebd64
+59 -56
View File
@@ -1,56 +1,59 @@
# RC-020 Review of MIL-001 # RC-020 Review of MIL-001
## Metadata ## Metadata
| Key | Value | | Key | Value |
| --- | --- | | --- | --- |
| ID | RC-020 | | ID | RC-020 |
| CrossReference | [MIL-001], [QC-MIL-001], [QC-LANG-001] | | CrossReference | [MIL-001], [QC-MIL-001], [QC-LANG-001] |
## Version History ## Version History
| Date | Status | Author | Reviewer | Change | Commit | | Date | Status | Author | Reviewer | Change | Commit |
| --- | --- | --- | --- | --- | --- | | --- | --- | --- | --- | --- | --- |
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [259d017] | | 2026-10-13 | Deprecated | Jens Tirsvad Nielsen | AI as stand-in for S01 | Link definitions added for the IDs cited in the text | [5b948e5] |
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Scope names the earlier records RC-003 and says the other criteria still hold | [be2e171] |
---
---
## Artifact Under Review
## Artifact Under Review
- Instance reviewed: [MIL-001]
- Checklist used: [QC-MIL-001] and [QC-LANG-001] - Instance reviewed: [MIL-001]
- Scope: delta re-review of the criterion that cites the changed row and criteria 1, 2, 6, 7, 8 of QC-LANG-001: only the CrossReference row changed (first instance of a candidate type was created); earlier record applies to the rest - Checklist used: [QC-MIL-001] and [QC-LANG-001]
- Language and domain: en / it - Scope: delta re-review of the criterion that cites the changed row and criteria 1, 2, 6, 7, 8 of QC-LANG-001: only the CrossReference row changed (first instance of a candidate type was created); earlier record RC-003 applies to the rest
- Language reviewer: none (the stand-in reviewer reads English and the `it` domain) - Language and domain: en / it
- Mode: autonomous, not independent (reviewer: AI as stand-in for S01) - Language reviewer: none (the stand-in reviewer reads English and the `it` domain)
- Mode: autonomous, not independent (reviewer: AI as stand-in for S01)
## Checklist Results
## Checklist Results
| # | Criterion | Status | Evidence/Notes |
| --- | --- | --- | --- | | # | Criterion | Status | Evidence/Notes |
| 4 | Each milestone is traceable to a Business Case objective or KPI (Mandatory) | Pass | Traceability table is unchanged; the CrossReference row now also lists [US-001]. | | --- | --- | --- | --- |
| 4 | Each milestone is traceable to a Business Case objective or KPI (Mandatory) | Pass | Traceability table is unchanged; the CrossReference row now also lists [US-001]. |
## Language and Domain Results
## Language and Domain Results
| # | Criterion | Status | Evidence/Notes |
| --- | --- | --- | --- | | # | Criterion | Status | Evidence/Notes |
| 1 | The Metadata table has a `Language` row and a `Domain` row, and neither is a placeholder (Mandatory) | Pass | Language and Domain rows unchanged. | | --- | --- | --- | --- |
| 2 | `Language` is a BCP 47 code and `Domain` is a value from the registry's domain list (Mandatory) | Pass | Unchanged. | | 1 | The Metadata table has a `Language` row and a `Domain` row, and neither is a placeholder (Mandatory) | Pass | Language and Domain rows unchanged. |
| 6 | Metadata keys, section headings, IDs and statuses are in English (Mandatory) | Pass | Keys, headings and statuses are English. | | 2 | `Language` is a BCP 47 code and `Domain` is a value from the registry's domain list (Mandatory) | Pass | Unchanged. |
| 7 | No translated twin (`<name>.<language>.md`) exists beside the document (Mandatory) | Pass | No translated twin. | | 6 | Metadata keys, section headings, IDs and statuses are in English (Mandatory) | Pass | Keys, headings and statuses are English. |
| 8 | A change of language or domain since the previous accepted version has a Version History row and was reviewed again (Mandatory) | Pass | Language unchanged since the accepted version. | | 7 | No translated twin (`<name>.<language>.md`) exists beside the document (Mandatory) | Pass | No translated twin. |
| 8 | A change of language or domain since the previous accepted version has a Version History row and was reviewed again (Mandatory) | Pass | Language unchanged since the accepted version. |
## Overall Verdict
## Overall Verdict
Go — only Metadata (CrossReference) and the Version History changed; the earlier review of the content still holds.
Go — only Metadata (CrossReference) and the Version History changed; the earlier review of the content still holds. The other criteria of the checklist and of QC-LANG-001 were passed in RC-003 and are unaffected by this change.
## Action Items
## Action Items
| Action | Owner | Due |
| --- | --- | --- | | Action | Owner | Due |
| None | S01 | - | | --- | --- | --- |
| None | S01 | - |
---
---
[MIL-001]: ../../milestones/mil-001-project-scaffold.md
[QC-MIL-001]: ../../../framework/qc/artifacts/qc-milestones-gateways.md [MIL-001]: ../../milestones/mil-001-project-scaffold.md
[QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md [QC-MIL-001]: ../../../framework/qc/artifacts/qc-milestones-gateways.md
[259d017]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/259d017ad257059330eb9a8bdbf940c9d082664e [QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md
[US-001]: ../../user-stories.md
[5b948e5]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/5b948e5a66bbcea5ef062f4557f47aae113a4e07
[be2e171]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/be2e171f38de55340bb8236fd6b61f1b651ebd64
+59 -56
View File
@@ -1,56 +1,59 @@
# RC-021 Review of MIL-002 # RC-021 Review of MIL-002
## Metadata ## Metadata
| Key | Value | | Key | Value |
| --- | --- | | --- | --- |
| ID | RC-021 | | ID | RC-021 |
| CrossReference | [MIL-002], [QC-MIL-001], [QC-LANG-001] | | CrossReference | [MIL-002], [QC-MIL-001], [QC-LANG-001] |
## Version History ## Version History
| Date | Status | Author | Reviewer | Change | Commit | | Date | Status | Author | Reviewer | Change | Commit |
| --- | --- | --- | --- | --- | --- | | --- | --- | --- | --- | --- | --- |
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [259d017] | | 2026-10-13 | Deprecated | Jens Tirsvad Nielsen | AI as stand-in for S01 | Link definitions added for the IDs cited in the text | [5b948e5] |
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Scope names the earlier records RC-004 and says the other criteria still hold | [be2e171] |
---
---
## Artifact Under Review
## Artifact Under Review
- Instance reviewed: [MIL-002]
- Checklist used: [QC-MIL-001] and [QC-LANG-001] - Instance reviewed: [MIL-002]
- Scope: delta re-review of the criterion that cites the changed row and criteria 1, 2, 6, 7, 8 of QC-LANG-001: only the CrossReference row changed (first instance of a candidate type was created); earlier record applies to the rest - Checklist used: [QC-MIL-001] and [QC-LANG-001]
- Language and domain: en / it - Scope: delta re-review of the criterion that cites the changed row and criteria 1, 2, 6, 7, 8 of QC-LANG-001: only the CrossReference row changed (first instance of a candidate type was created); earlier record RC-004 applies to the rest
- Language reviewer: none (the stand-in reviewer reads English and the `it` domain) - Language and domain: en / it
- Mode: autonomous, not independent (reviewer: AI as stand-in for S01) - Language reviewer: none (the stand-in reviewer reads English and the `it` domain)
- Mode: autonomous, not independent (reviewer: AI as stand-in for S01)
## Checklist Results
## Checklist Results
| # | Criterion | Status | Evidence/Notes |
| --- | --- | --- | --- | | # | Criterion | Status | Evidence/Notes |
| 4 | Each milestone is traceable to a Business Case objective or KPI (Mandatory) | Pass | Traceability table is unchanged; the CrossReference row now also lists [US-001]. | | --- | --- | --- | --- |
| 4 | Each milestone is traceable to a Business Case objective or KPI (Mandatory) | Pass | Traceability table is unchanged; the CrossReference row now also lists [US-001]. |
## Language and Domain Results
## Language and Domain Results
| # | Criterion | Status | Evidence/Notes |
| --- | --- | --- | --- | | # | Criterion | Status | Evidence/Notes |
| 1 | The Metadata table has a `Language` row and a `Domain` row, and neither is a placeholder (Mandatory) | Pass | Language and Domain rows unchanged. | | --- | --- | --- | --- |
| 2 | `Language` is a BCP 47 code and `Domain` is a value from the registry's domain list (Mandatory) | Pass | Unchanged. | | 1 | The Metadata table has a `Language` row and a `Domain` row, and neither is a placeholder (Mandatory) | Pass | Language and Domain rows unchanged. |
| 6 | Metadata keys, section headings, IDs and statuses are in English (Mandatory) | Pass | Keys, headings and statuses are English. | | 2 | `Language` is a BCP 47 code and `Domain` is a value from the registry's domain list (Mandatory) | Pass | Unchanged. |
| 7 | No translated twin (`<name>.<language>.md`) exists beside the document (Mandatory) | Pass | No translated twin. | | 6 | Metadata keys, section headings, IDs and statuses are in English (Mandatory) | Pass | Keys, headings and statuses are English. |
| 8 | A change of language or domain since the previous accepted version has a Version History row and was reviewed again (Mandatory) | Pass | Language unchanged since the accepted version. | | 7 | No translated twin (`<name>.<language>.md`) exists beside the document (Mandatory) | Pass | No translated twin. |
| 8 | A change of language or domain since the previous accepted version has a Version History row and was reviewed again (Mandatory) | Pass | Language unchanged since the accepted version. |
## Overall Verdict
## Overall Verdict
Go — only Metadata (CrossReference) and the Version History changed; the earlier review of the content still holds.
Go — only Metadata (CrossReference) and the Version History changed; the earlier review of the content still holds. The other criteria of the checklist and of QC-LANG-001 were passed in RC-004 and are unaffected by this change.
## Action Items
## Action Items
| Action | Owner | Due |
| --- | --- | --- | | Action | Owner | Due |
| None | S01 | - | | --- | --- | --- |
| None | S01 | - |
---
---
[MIL-002]: ../../milestones/mil-002-census-analysis.md
[QC-MIL-001]: ../../../framework/qc/artifacts/qc-milestones-gateways.md [MIL-002]: ../../milestones/mil-002-census-analysis.md
[QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md [QC-MIL-001]: ../../../framework/qc/artifacts/qc-milestones-gateways.md
[259d017]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/259d017ad257059330eb9a8bdbf940c9d082664e [QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md
[US-001]: ../../user-stories.md
[5b948e5]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/5b948e5a66bbcea5ef062f4557f47aae113a4e07
[be2e171]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/be2e171f38de55340bb8236fd6b61f1b651ebd64
+59 -56
View File
@@ -1,56 +1,59 @@
# RC-022 Review of MIL-003 # RC-022 Review of MIL-003
## Metadata ## Metadata
| Key | Value | | Key | Value |
| --- | --- | | --- | --- |
| ID | RC-022 | | ID | RC-022 |
| CrossReference | [MIL-003], [QC-MIL-001], [QC-LANG-001] | | CrossReference | [MIL-003], [QC-MIL-001], [QC-LANG-001] |
## Version History ## Version History
| Date | Status | Author | Reviewer | Change | Commit | | Date | Status | Author | Reviewer | Change | Commit |
| --- | --- | --- | --- | --- | --- | | --- | --- | --- | --- | --- | --- |
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [259d017] | | 2026-10-13 | Deprecated | Jens Tirsvad Nielsen | AI as stand-in for S01 | Link definitions added for the IDs cited in the text | [5b948e5] |
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Scope names the earlier records RC-005 and says the other criteria still hold | [be2e171] |
---
---
## Artifact Under Review
## Artifact Under Review
- Instance reviewed: [MIL-003]
- Checklist used: [QC-MIL-001] and [QC-LANG-001] - Instance reviewed: [MIL-003]
- Scope: delta re-review of the criterion that cites the changed row and criteria 1, 2, 6, 7, 8 of QC-LANG-001: only the CrossReference row changed (first instance of a candidate type was created); earlier record applies to the rest - Checklist used: [QC-MIL-001] and [QC-LANG-001]
- Language and domain: en / it - Scope: delta re-review of the criterion that cites the changed row and criteria 1, 2, 6, 7, 8 of QC-LANG-001: only the CrossReference row changed (first instance of a candidate type was created); earlier record RC-005 applies to the rest
- Language reviewer: none (the stand-in reviewer reads English and the `it` domain) - Language and domain: en / it
- Mode: autonomous, not independent (reviewer: AI as stand-in for S01) - Language reviewer: none (the stand-in reviewer reads English and the `it` domain)
- Mode: autonomous, not independent (reviewer: AI as stand-in for S01)
## Checklist Results
## Checklist Results
| # | Criterion | Status | Evidence/Notes |
| --- | --- | --- | --- | | # | Criterion | Status | Evidence/Notes |
| 4 | Each milestone is traceable to a Business Case objective or KPI (Mandatory) | Pass | Traceability table is unchanged; the CrossReference row now also lists [US-001]. | | --- | --- | --- | --- |
| 4 | Each milestone is traceable to a Business Case objective or KPI (Mandatory) | Pass | Traceability table is unchanged; the CrossReference row now also lists [US-001]. |
## Language and Domain Results
## Language and Domain Results
| # | Criterion | Status | Evidence/Notes |
| --- | --- | --- | --- | | # | Criterion | Status | Evidence/Notes |
| 1 | The Metadata table has a `Language` row and a `Domain` row, and neither is a placeholder (Mandatory) | Pass | Language and Domain rows unchanged. | | --- | --- | --- | --- |
| 2 | `Language` is a BCP 47 code and `Domain` is a value from the registry's domain list (Mandatory) | Pass | Unchanged. | | 1 | The Metadata table has a `Language` row and a `Domain` row, and neither is a placeholder (Mandatory) | Pass | Language and Domain rows unchanged. |
| 6 | Metadata keys, section headings, IDs and statuses are in English (Mandatory) | Pass | Keys, headings and statuses are English. | | 2 | `Language` is a BCP 47 code and `Domain` is a value from the registry's domain list (Mandatory) | Pass | Unchanged. |
| 7 | No translated twin (`<name>.<language>.md`) exists beside the document (Mandatory) | Pass | No translated twin. | | 6 | Metadata keys, section headings, IDs and statuses are in English (Mandatory) | Pass | Keys, headings and statuses are English. |
| 8 | A change of language or domain since the previous accepted version has a Version History row and was reviewed again (Mandatory) | Pass | Language unchanged since the accepted version. | | 7 | No translated twin (`<name>.<language>.md`) exists beside the document (Mandatory) | Pass | No translated twin. |
| 8 | A change of language or domain since the previous accepted version has a Version History row and was reviewed again (Mandatory) | Pass | Language unchanged since the accepted version. |
## Overall Verdict
## Overall Verdict
Go — only Metadata (CrossReference) and the Version History changed; the earlier review of the content still holds.
Go — only Metadata (CrossReference) and the Version History changed; the earlier review of the content still holds. The other criteria of the checklist and of QC-LANG-001 were passed in RC-005 and are unaffected by this change.
## Action Items
## Action Items
| Action | Owner | Due |
| --- | --- | --- | | Action | Owner | Due |
| None | S01 | - | | --- | --- | --- |
| None | S01 | - |
---
---
[MIL-003]: ../../milestones/mil-003-documentation.md
[QC-MIL-001]: ../../../framework/qc/artifacts/qc-milestones-gateways.md [MIL-003]: ../../milestones/mil-003-documentation.md
[QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md [QC-MIL-001]: ../../../framework/qc/artifacts/qc-milestones-gateways.md
[259d017]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/259d017ad257059330eb9a8bdbf940c9d082664e [QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md
[US-001]: ../../user-stories.md
[5b948e5]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/5b948e5a66bbcea5ef062f4557f47aae113a4e07
[be2e171]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/be2e171f38de55340bb8236fd6b61f1b651ebd64
+59 -56
View File
@@ -1,56 +1,59 @@
# RC-023 Review of MIL-004 # RC-023 Review of MIL-004
## Metadata ## Metadata
| Key | Value | | Key | Value |
| --- | --- | | --- | --- |
| ID | RC-023 | | ID | RC-023 |
| CrossReference | [MIL-004], [QC-MIL-001], [QC-LANG-001] | | CrossReference | [MIL-004], [QC-MIL-001], [QC-LANG-001] |
## Version History ## Version History
| Date | Status | Author | Reviewer | Change | Commit | | Date | Status | Author | Reviewer | Change | Commit |
| --- | --- | --- | --- | --- | --- | | --- | --- | --- | --- | --- | --- |
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [259d017] | | 2026-10-13 | Deprecated | Jens Tirsvad Nielsen | AI as stand-in for S01 | Link definitions added for the IDs cited in the text | [5b948e5] |
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Scope names the earlier records RC-006 and says the other criteria still hold | [be2e171] |
---
---
## Artifact Under Review
## Artifact Under Review
- Instance reviewed: [MIL-004]
- Checklist used: [QC-MIL-001] and [QC-LANG-001] - Instance reviewed: [MIL-004]
- Scope: delta re-review of the criterion that cites the changed row and criteria 1, 2, 6, 7, 8 of QC-LANG-001: only the CrossReference row changed (first instance of a candidate type was created); earlier record applies to the rest - Checklist used: [QC-MIL-001] and [QC-LANG-001]
- Language and domain: en / it - Scope: delta re-review of the criterion that cites the changed row and criteria 1, 2, 6, 7, 8 of QC-LANG-001: only the CrossReference row changed (first instance of a candidate type was created); earlier record RC-006 applies to the rest
- Language reviewer: none (the stand-in reviewer reads English and the `it` domain) - Language and domain: en / it
- Mode: autonomous, not independent (reviewer: AI as stand-in for S01) - Language reviewer: none (the stand-in reviewer reads English and the `it` domain)
- Mode: autonomous, not independent (reviewer: AI as stand-in for S01)
## Checklist Results
## Checklist Results
| # | Criterion | Status | Evidence/Notes |
| --- | --- | --- | --- | | # | Criterion | Status | Evidence/Notes |
| 4 | Each milestone is traceable to a Business Case objective or KPI (Mandatory) | Pass | Traceability table is unchanged; the CrossReference row now also lists [US-001]. | | --- | --- | --- | --- |
| 4 | Each milestone is traceable to a Business Case objective or KPI (Mandatory) | Pass | Traceability table is unchanged; the CrossReference row now also lists [US-001]. |
## Language and Domain Results
## Language and Domain Results
| # | Criterion | Status | Evidence/Notes |
| --- | --- | --- | --- | | # | Criterion | Status | Evidence/Notes |
| 1 | The Metadata table has a `Language` row and a `Domain` row, and neither is a placeholder (Mandatory) | Pass | Language and Domain rows unchanged. | | --- | --- | --- | --- |
| 2 | `Language` is a BCP 47 code and `Domain` is a value from the registry's domain list (Mandatory) | Pass | Unchanged. | | 1 | The Metadata table has a `Language` row and a `Domain` row, and neither is a placeholder (Mandatory) | Pass | Language and Domain rows unchanged. |
| 6 | Metadata keys, section headings, IDs and statuses are in English (Mandatory) | Pass | Keys, headings and statuses are English. | | 2 | `Language` is a BCP 47 code and `Domain` is a value from the registry's domain list (Mandatory) | Pass | Unchanged. |
| 7 | No translated twin (`<name>.<language>.md`) exists beside the document (Mandatory) | Pass | No translated twin. | | 6 | Metadata keys, section headings, IDs and statuses are in English (Mandatory) | Pass | Keys, headings and statuses are English. |
| 8 | A change of language or domain since the previous accepted version has a Version History row and was reviewed again (Mandatory) | Pass | Language unchanged since the accepted version. | | 7 | No translated twin (`<name>.<language>.md`) exists beside the document (Mandatory) | Pass | No translated twin. |
| 8 | A change of language or domain since the previous accepted version has a Version History row and was reviewed again (Mandatory) | Pass | Language unchanged since the accepted version. |
## Overall Verdict
## Overall Verdict
Go — only Metadata (CrossReference) and the Version History changed; the earlier review of the content still holds.
Go — only Metadata (CrossReference) and the Version History changed; the earlier review of the content still holds. The other criteria of the checklist and of QC-LANG-001 were passed in RC-006 and are unaffected by this change.
## Action Items
## Action Items
| Action | Owner | Due |
| --- | --- | --- | | Action | Owner | Due |
| None | S01 | - | | --- | --- | --- |
| None | S01 | - |
---
---
[MIL-004]: ../../milestones/mil-004-wiki-publication.md
[QC-MIL-001]: ../../../framework/qc/artifacts/qc-milestones-gateways.md [MIL-004]: ../../milestones/mil-004-wiki-publication.md
[QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md [QC-MIL-001]: ../../../framework/qc/artifacts/qc-milestones-gateways.md
[259d017]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/259d017ad257059330eb9a8bdbf940c9d082664e [QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md
[US-001]: ../../user-stories.md
[5b948e5]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/5b948e5a66bbcea5ef062f4557f47aae113a4e07
[be2e171]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/be2e171f38de55340bb8236fd6b61f1b651ebd64
+4 -1
View File
@@ -9,7 +9,8 @@
## Version History ## Version History
| Date | Status | Author | Reviewer | Change | Commit | | Date | Status | Author | Reviewer | Change | Commit |
| --- | --- | --- | --- | --- | --- | | --- | --- | --- | --- | --- | --- |
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [259d017] | | 2026-10-13 | Deprecated | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [259d017] |
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Link definitions added for the IDs cited in the text | [5b948e5] |
--- ---
@@ -59,3 +60,5 @@ Go — all Mandatory criteria pass; criterion 10 is not applicable because no cl
[QC-PY-001]: ../../../framework/qc/code/qc-programming-python.md [QC-PY-001]: ../../../framework/qc/code/qc-programming-python.md
[ADR-0001]: ../../adr/adr-0001-standard-library-instead-of-pandas.md [ADR-0001]: ../../adr/adr-0001-standard-library-instead-of-pandas.md
[259d017]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/259d017ad257059330eb9a8bdbf940c9d082664e [259d017]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/259d017ad257059330eb9a8bdbf940c9d082664e
[SSD-001]: ../../uc-001/ssd.md
[5b948e5]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/5b948e5a66bbcea5ef062f4557f47aae113a4e07
+2 -1
View File
@@ -9,7 +9,7 @@
## Version History ## Version History
| Date | Status | Author | Reviewer | Change | Commit | | Date | Status | Author | Reviewer | Change | Commit |
| --- | --- | --- | --- | --- | --- | | --- | --- | --- | --- | --- | --- |
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | pending | | 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [d2f36bf] |
--- ---
@@ -42,3 +42,4 @@ Go — criterion 22, the only open Mandatory criterion of RC-010, now passes; th
[WF-MIL-001]: ../../../.gitea/workflows/ci.yml [WF-MIL-001]: ../../../.gitea/workflows/ci.yml
[QC-WF-001]: ../../../framework/qc/code/qc-workflow.md [QC-WF-001]: ../../../framework/qc/code/qc-workflow.md
[d2f36bf]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/d2f36bfde38dd8fe06e85ba26daff98c701451a3
@@ -9,7 +9,8 @@
## Version History ## Version History
| Date | Status | Author | Reviewer | Change | Commit | | Date | Status | Author | Reviewer | Change | Commit |
| --- | --- | --- | --- | --- | --- | | --- | --- | --- | --- | --- | --- |
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [d85cfe5] | | 2026-10-13 | Deprecated | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [d85cfe5] |
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Scope names the earlier records RC-001, RC-019 and says the other criteria still hold | [be2e171] |
--- ---
@@ -17,7 +18,7 @@
- Instance reviewed: [BC-001] - Instance reviewed: [BC-001]
- Checklist used: [QC-BC-001] and [QC-LANG-001] - Checklist used: [QC-BC-001] and [QC-LANG-001]
- Scope: delta re-review of the criterion that covers the changed text and criteria 1, 2, 6, 7, 8 of QC-LANG-001: the path `docs/wiki/` was corrected to `wiki/` - Scope: delta re-review of the criterion that covers the changed text and criteria 1, 2, 6, 7, 8 of QC-LANG-001: the path `docs/wiki/` was corrected to `wiki/`; earlier records RC-001, RC-019
- Language and domain: en / it - Language and domain: en / it
- Language reviewer: none (the stand-in reviewer reads English and the `it` domain) - Language reviewer: none (the stand-in reviewer reads English and the `it` domain)
- Mode: autonomous, not independent (reviewer: AI as stand-in for S01) - Mode: autonomous, not independent (reviewer: AI as stand-in for S01)
@@ -40,7 +41,7 @@
## Overall Verdict ## Overall Verdict
Go — only a folder path was corrected; the earlier review of the content still holds. Go — only a folder path was corrected; the earlier review of the content still holds. The other criteria of the checklist and of QC-LANG-001 were passed in RC-001, RC-019 and are unaffected by this change.
## Action Items ## Action Items
@@ -54,3 +55,4 @@ Go — only a folder path was corrected; the earlier review of the content still
[QC-BC-001]: ../../../framework/qc/artifacts/qc-business-case.md [QC-BC-001]: ../../../framework/qc/artifacts/qc-business-case.md
[QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md [QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md
[d85cfe5]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/d85cfe5c4b62b2e1759f1c47b25bdb787ba6fd68 [d85cfe5]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/d85cfe5c4b62b2e1759f1c47b25bdb787ba6fd68
[be2e171]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/be2e171f38de55340bb8236fd6b61f1b651ebd64
+5 -3
View File
@@ -9,7 +9,8 @@
## Version History ## Version History
| Date | Status | Author | Reviewer | Change | Commit | | Date | Status | Author | Reviewer | Change | Commit |
| --- | --- | --- | --- | --- | --- | | --- | --- | --- | --- | --- | --- |
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [d85cfe5] | | 2026-10-13 | Deprecated | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [d85cfe5] |
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Scope names the earlier records RC-006, RC-023 and says the other criteria still hold | [be2e171] |
--- ---
@@ -17,7 +18,7 @@
- Instance reviewed: [MIL-004] - Instance reviewed: [MIL-004]
- Checklist used: [QC-MIL-001] and [QC-LANG-001] - Checklist used: [QC-MIL-001] and [QC-LANG-001]
- Scope: delta re-review of the criterion that covers the changed text and criteria 1, 2, 6, 7, 8 of QC-LANG-001: the path `docs/wiki/` was corrected to `wiki/` - Scope: delta re-review of the criterion that covers the changed text and criteria 1, 2, 6, 7, 8 of QC-LANG-001: the path `docs/wiki/` was corrected to `wiki/`; earlier records RC-006, RC-023
- Language and domain: en / it - Language and domain: en / it
- Language reviewer: none (the stand-in reviewer reads English and the `it` domain) - Language reviewer: none (the stand-in reviewer reads English and the `it` domain)
- Mode: autonomous, not independent (reviewer: AI as stand-in for S01) - Mode: autonomous, not independent (reviewer: AI as stand-in for S01)
@@ -40,7 +41,7 @@
## Overall Verdict ## Overall Verdict
Go — only a folder path was corrected; the earlier review of the content still holds. Go — only a folder path was corrected; the earlier review of the content still holds. The other criteria of the checklist and of QC-LANG-001 were passed in RC-006, RC-023 and are unaffected by this change.
## Action Items ## Action Items
@@ -54,3 +55,4 @@ Go — only a folder path was corrected; the earlier review of the content still
[QC-MIL-001]: ../../../framework/qc/artifacts/qc-milestones-gateways.md [QC-MIL-001]: ../../../framework/qc/artifacts/qc-milestones-gateways.md
[QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md [QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md
[d85cfe5]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/d85cfe5c4b62b2e1759f1c47b25bdb787ba6fd68 [d85cfe5]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/d85cfe5c4b62b2e1759f1c47b25bdb787ba6fd68
[be2e171]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/be2e171f38de55340bb8236fd6b61f1b651ebd64
+5 -3
View File
@@ -9,7 +9,8 @@
## Version History ## Version History
| Date | Status | Author | Reviewer | Change | Commit | | Date | Status | Author | Reviewer | Change | Commit |
| --- | --- | --- | --- | --- | --- | | --- | --- | --- | --- | --- | --- |
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [6fb75dd] | | 2026-10-13 | Deprecated | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [6fb75dd] |
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Scope names the earlier records RC-003, RC-020 and says the other criteria still hold | [be2e171] |
--- ---
@@ -17,7 +18,7 @@
- Instance reviewed: [MIL-001] - Instance reviewed: [MIL-001]
- Checklist used: [QC-MIL-001] and [QC-LANG-001] - Checklist used: [QC-MIL-001] and [QC-LANG-001]
- Scope: delta re-review of criteria 1 and 2 and criteria 1, 2, 6, 7, 8 of QC-LANG-001: task 7 added to the Tasks section - Scope: delta re-review of criteria 1 and 2 and criteria 1, 2, 6, 7, 8 of QC-LANG-001: task 7 added to the Tasks section; earlier records RC-003, RC-020
- Language and domain: en / it - Language and domain: en / it
- Language reviewer: none (the stand-in reviewer reads English and the `it` domain) - Language reviewer: none (the stand-in reviewer reads English and the `it` domain)
- Mode: autonomous, not independent (reviewer: AI as stand-in for S01) - Mode: autonomous, not independent (reviewer: AI as stand-in for S01)
@@ -41,7 +42,7 @@
## Overall Verdict ## Overall Verdict
Go — one task row was added at the request of S01 in chat; the gate criteria and deliverable are unchanged. Go — one task row was added at the request of S01 in chat; the gate criteria and deliverable are unchanged. The other criteria of the checklist and of QC-LANG-001 were passed in RC-003, RC-020 and are unaffected by this change.
## Action Items ## Action Items
@@ -55,3 +56,4 @@ Go — one task row was added at the request of S01 in chat; the gate criteria a
[QC-MIL-001]: ../../../framework/qc/artifacts/qc-milestones-gateways.md [QC-MIL-001]: ../../../framework/qc/artifacts/qc-milestones-gateways.md
[QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md [QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md
[6fb75dd]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/6fb75ddb8671636869b859d8718d3f3f8783659c [6fb75dd]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/6fb75ddb8671636869b859d8718d3f3f8783659c
[be2e171]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/be2e171f38de55340bb8236fd6b61f1b651ebd64
@@ -0,0 +1,48 @@
# RC Review of ci.yml, delta re-review for the lint steps (YAML)
## Metadata
| Key | Value |
| --- | --- |
| ID | RC-031 |
| CrossReference | [WF-MIL-001], [QC-YML-001] |
## Version History
| Date | Status | Author | Reviewer | Change | Commit |
| --- | --- | --- | --- | --- | --- |
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [e406d65] |
---
## Artifact Under Review
- Instance reviewed: [WF-MIL-001]
- Checklist used: [QC-YML-001]
- Scope: delta re-review of criteria 3, 7, 10 and 15 of QC-YML-001: two lint steps added to ci.yml; earlier record RC-009
- Language and domain: n/a
- Language reviewer: none (the stand-in reviewer reads English and the `it` domain)
- Mode: autonomous, not independent (reviewer: AI as stand-in for S01)
## Checklist Results
| # | Criterion | Status | Evidence/Notes |
| --- | --- | --- | --- |
| 3 | Passes `yamllint` (or the project's YAML linter) with its configuration committed next to the code and no unexplained `disable` comments (Mandatory) | Pass | `yamllint 1.38.0` with `.yamllint.yml` runs in CI on `.gitea` and `.yamllint.yml`; no errors. `new-lines` is disabled with a comment because git normalises line endings. |
| 7 | Embedded program text (shell, Python, SQL, `jq`, and so on) in a value is at most five lines; a longer one is moved to a file of its own, in its own language, and the YAML calls it (Mandatory) | Pass | The two new `run:` blocks have one line each; the longest block is still 3 lines. |
| 10 | The file validates against the schema of the consuming tool where one exists, and the schema or tool version is stated (Optional) | Pass | `actionlint` validates the workflow schema in CI. |
| 15 | A change is exercised by a check that runs without the real target: a parse and schema test, or a dry run of the consuming tool (Optional) | Pass | yamllint and actionlint now run on every push and pull request without the real target. |
## Overall Verdict
Go — the changed rows pass; the other rows of RC-009 still hold.
## Action Items
| Action | Owner | Due |
| --- | --- | --- |
| None | S01 | - |
---
[WF-MIL-001]: ../../../.gitea/workflows/ci.yml
[QC-YML-001]: ../../../framework/qc/code/qc-yaml.md
[e406d65]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/e406d65f6a53332750204ec3fd876ab2daa2bbd2
@@ -0,0 +1,53 @@
# RC Review of ci.yml, delta re-review for the lint steps (workflow)
## Metadata
| Key | Value |
| --- | --- |
| ID | RC-032 |
| CrossReference | [WF-MIL-001], [QC-WF-001] |
## Version History
| Date | Status | Author | Reviewer | Change | Commit |
| --- | --- | --- | --- | --- | --- |
| 2026-10-13 | Deprecated | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [e406d65] |
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Link definitions added for the IDs cited in the text | [5b948e5] |
---
## Artifact Under Review
- Instance reviewed: [WF-MIL-001]
- Checklist used: [QC-WF-001]
- Scope: delta re-review of criteria 5, 6, 17, 20, 22 and 24 of QC-WF-001: two lint steps added; earlier records RC-010, RC-025, RC-030
- Language and domain: n/a
- Language reviewer: none (the stand-in reviewer reads English and the `it` domain)
- Mode: autonomous, not independent (reviewer: AI as stand-in for S01)
## Checklist Results
| # | Criterion | Status | Evidence/Notes |
| --- | --- | --- | --- |
| 5 | Every job and step has a descriptive `name`, unique within its job (Mandatory) | Pass | The new steps are named "Lint the YAML files" and "Lint the workflow files"; step names stay unique. |
| 6 | The file passes `actionlint` (or the project's workflow validation test) and the tool version is stated (Mandatory) | Pass | `actionlint 1.7.12` runs in CI against `.gitea/workflows/*.yml` and passes. |
| 17 | Tools and dependencies are installed at pinned versions; a version is a workflow input with a default or a value in one place (Mandatory) | Pass | `yamllint==1.38.0` and `actionlint-py==1.7.12.25` are exact pins in the dev extra of `pyproject.toml`. |
| 20 | A `run:` block is within the limit on embedded program text of criterion 7 of [QC-YML-001]; a longer script is a file (`tools/`, or a shared repository fetched at a pinned ref) that the step calls with one command, and the workflow passes its settings through `env:` (Mandatory) | Pass | Each new `run:` block is one line. |
| 22 | Every workflow feature used is verified on the instance that runs it, and the host and version are recorded; a feature the target hosts differ on is noted in the header (Mandatory) | Pass | The changed workflow completed with success on Gitea 1.27.3: run 1087 on pull request #39. |
| 24 | A static test of the repository's workflows exists and runs on every pull request: valid YAML, required keys, explicit permissions and runner, no inline script above the limit (Optional) | Pass | `tests/test_workflow.py` still passes (33 tests) with the new steps. |
## Overall Verdict
Go — the changed rows pass; the other rows of RC-010, RC-025 and RC-030 still hold.
## Action Items
| Action | Owner | Due |
| --- | --- | --- |
| None | S01 | - |
---
[WF-MIL-001]: ../../../.gitea/workflows/ci.yml
[QC-WF-001]: ../../../framework/qc/code/qc-workflow.md
[e406d65]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/e406d65f6a53332750204ec3fd876ab2daa2bbd2
[QC-YML-001]: ../../../framework/qc/code/qc-yaml.md
[5b948e5]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/5b948e5a66bbcea5ef062f4557f47aae113a4e07
+59
View File
@@ -0,0 +1,59 @@
# RC-033 Review of MIL-001
## Metadata
| Key | Value |
| --- | --- |
| ID | RC-033 |
| CrossReference | [MIL-001], [QC-MIL-001], [QC-LANG-001] |
## Version History
| Date | Status | Author | Reviewer | Change | Commit |
| --- | --- | --- | --- | --- | --- |
| 2026-10-13 | Deprecated | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [78a0d02] |
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Scope names the earlier records RC-003, RC-020 and RC-028 and says the other criteria still hold | [c88434c] |
---
## Artifact Under Review
- Instance reviewed: [MIL-001]
- Checklist used: [QC-MIL-001] and [QC-LANG-001]
- Scope: delta re-review of criteria 1 and 2 and criteria 1, 2, 6, 7, 8 of QC-LANG-001: task 8 added to the Tasks section; earlier records RC-003 (full review), RC-020 and RC-028 (deltas)
- Language and domain: en / it
- Language reviewer: none (the stand-in reviewer reads English and the `it` domain)
- Mode: autonomous, not independent (reviewer: AI as stand-in for S01)
## Checklist Results
| # | Criterion | Status | Evidence/Notes |
| --- | --- | --- | --- |
| 1 | A concrete deliverable is defined for every gate (Mandatory) | Pass | Deliverable unchanged; the new task extends the CI workflow already in the deliverable. |
| 2 | Explicit Go/No-Go criteria are stated for each gate (Mandatory) | Pass | Go / No-Go criteria unchanged and objectively checkable; the lint steps run in the same CI run as criterion 3. |
## 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 | Unchanged. |
| 2 | `Language` is a BCP 47 code and `Domain` is a value from the registry's domain list (Mandatory) | Pass | Unchanged. |
| 6 | Metadata keys, section headings, IDs and statuses are in English (Mandatory) | Pass | Keys, headings and statuses are English. |
| 7 | No translated twin (`<name>.<language>.md`) exists beside the document (Mandatory) | Pass | No translated twin. |
| 8 | A change of language or domain since the previous accepted version has a Version History row and was reviewed again (Mandatory) | Pass | Language unchanged. |
## Overall Verdict
Go — one task row was added at the request of S01 in chat, after the work was done and reviewed in RC-031 and RC-032; the gate criteria and deliverable are unchanged. The remaining criteria 3 to 6 of QC-MIL-001 and 3, 4, 5, 9, 10 of QC-LANG-001 were passed in RC-003 and are unaffected by a new task row.
## Action Items
| Action | Owner | Due |
| --- | --- | --- |
| None | S01 | - |
---
[MIL-001]: ../../milestones/mil-001-project-scaffold.md
[QC-MIL-001]: ../../../framework/qc/artifacts/qc-milestones-gateways.md
[QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md
[78a0d02]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/78a0d02bf373b92163f45d93449dd1009b62e568
[c88434c]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/c88434c58398f6b8d0aa828bf89b2b21606b39a9
@@ -0,0 +1,59 @@
# RC-034 Review of MIL-001
## Metadata
| Key | Value |
| --- | --- |
| ID | RC-034 |
| CrossReference | [MIL-001], [QC-MIL-001], [QC-LANG-001] |
## Version History
| Date | Status | Author | Reviewer | Change | Commit |
| --- | --- | --- | --- | --- | --- |
| 2026-10-13 | Deprecated | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [fa5bb84] |
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Link definitions added for the IDs cited in the text | [5b948e5] |
---
## Artifact Under Review
- Instance reviewed: [MIL-001]
- Checklist used: [QC-MIL-001] and [QC-LANG-001]
- Scope: delta re-review of criterion 4 and criteria 1, 2, 6, 7, 8 of QC-LANG-001: link definition and CrossReference for [SA-001] added; earlier records RC-003, RC-020, RC-028, RC-033
- Language and domain: en / it
- Language reviewer: none (the stand-in reviewer reads English and the `it` domain)
- Mode: autonomous, not independent (reviewer: AI as stand-in for S01)
## Checklist Results
| # | Criterion | Status | Evidence/Notes |
| --- | --- | --- | --- |
| 4 | Each milestone is traceable to a Business Case objective or KPI (Mandatory) | Pass | The Traceability table cites [SA-001]; the link definition and the CrossReference entry now exist, so the reference resolves. |
## 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 | Unchanged. |
| 2 | `Language` is a BCP 47 code and `Domain` is a value from the registry's domain list (Mandatory) | Pass | Unchanged. |
| 6 | Metadata keys, section headings, IDs and statuses are in English (Mandatory) | Pass | Keys, headings and statuses are English. |
| 7 | No translated twin (`<name>.<language>.md`) exists beside the document (Mandatory) | Pass | No translated twin. |
| 8 | A change of language or domain since the previous accepted version has a Version History row and was reviewed again (Mandatory) | Pass | Language unchanged. |
## Overall Verdict
Go — only a missing link definition and a CrossReference entry were added; the other criteria were passed in the earlier records (RC-003, RC-020, RC-028, RC-033) and are unaffected.
## Action Items
| Action | Owner | Due |
| --- | --- | --- |
| None | S01 | - |
---
[MIL-001]: ../../milestones/mil-001-project-scaffold.md
[QC-MIL-001]: ../../../framework/qc/artifacts/qc-milestones-gateways.md
[QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md
[fa5bb84]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/fa5bb84025ca0fa1957434d34b0b678280a3abe5
[SA-001]: ../../stakeholder-analysis.md
[5b948e5]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/5b948e5a66bbcea5ef062f4557f47aae113a4e07
@@ -0,0 +1,59 @@
# RC-035 Review of MIL-003
## Metadata
| Key | Value |
| --- | --- |
| ID | RC-035 |
| CrossReference | [MIL-003], [QC-MIL-001], [QC-LANG-001] |
## Version History
| Date | Status | Author | Reviewer | Change | Commit |
| --- | --- | --- | --- | --- | --- |
| 2026-10-13 | Deprecated | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [fa5bb84] |
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Link definitions added for the IDs cited in the text | [5b948e5] |
---
## Artifact Under Review
- Instance reviewed: [MIL-003]
- Checklist used: [QC-MIL-001] and [QC-LANG-001]
- Scope: delta re-review of criterion 4 and criteria 1, 2, 6, 7, 8 of QC-LANG-001: link definition and CrossReference for [SA-001] added; earlier records RC-005, RC-022
- Language and domain: en / it
- Language reviewer: none (the stand-in reviewer reads English and the `it` domain)
- Mode: autonomous, not independent (reviewer: AI as stand-in for S01)
## Checklist Results
| # | Criterion | Status | Evidence/Notes |
| --- | --- | --- | --- |
| 4 | Each milestone is traceable to a Business Case objective or KPI (Mandatory) | Pass | The Traceability table cites [SA-001]; the link definition and the CrossReference entry now exist, so the reference resolves. |
## 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 | Unchanged. |
| 2 | `Language` is a BCP 47 code and `Domain` is a value from the registry's domain list (Mandatory) | Pass | Unchanged. |
| 6 | Metadata keys, section headings, IDs and statuses are in English (Mandatory) | Pass | Keys, headings and statuses are English. |
| 7 | No translated twin (`<name>.<language>.md`) exists beside the document (Mandatory) | Pass | No translated twin. |
| 8 | A change of language or domain since the previous accepted version has a Version History row and was reviewed again (Mandatory) | Pass | Language unchanged. |
## Overall Verdict
Go — only a missing link definition and a CrossReference entry were added; the other criteria were passed in the earlier records (RC-005, RC-022) and are unaffected.
## Action Items
| Action | Owner | Due |
| --- | --- | --- |
| None | S01 | - |
---
[MIL-003]: ../../milestones/mil-003-documentation.md
[QC-MIL-001]: ../../../framework/qc/artifacts/qc-milestones-gateways.md
[QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md
[fa5bb84]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/fa5bb84025ca0fa1957434d34b0b678280a3abe5
[SA-001]: ../../stakeholder-analysis.md
[5b948e5]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/5b948e5a66bbcea5ef062f4557f47aae113a4e07
@@ -0,0 +1,59 @@
# RC-036 Review of MIL-004
## Metadata
| Key | Value |
| --- | --- |
| ID | RC-036 |
| CrossReference | [MIL-004], [QC-MIL-001], [QC-LANG-001] |
## Version History
| Date | Status | Author | Reviewer | Change | Commit |
| --- | --- | --- | --- | --- | --- |
| 2026-10-13 | Deprecated | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [fa5bb84] |
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Link definitions added for the IDs cited in the text | [5b948e5] |
---
## Artifact Under Review
- Instance reviewed: [MIL-004]
- Checklist used: [QC-MIL-001] and [QC-LANG-001]
- Scope: delta re-review of criterion 4 and criteria 1, 2, 6, 7, 8 of QC-LANG-001: link definition and CrossReference for [SA-001] added; earlier records RC-006, RC-023, RC-027
- Language and domain: en / it
- Language reviewer: none (the stand-in reviewer reads English and the `it` domain)
- Mode: autonomous, not independent (reviewer: AI as stand-in for S01)
## Checklist Results
| # | Criterion | Status | Evidence/Notes |
| --- | --- | --- | --- |
| 4 | Each milestone is traceable to a Business Case objective or KPI (Mandatory) | Pass | The Traceability table cites [SA-001]; the link definition and the CrossReference entry now exist, so the reference resolves. |
## 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 | Unchanged. |
| 2 | `Language` is a BCP 47 code and `Domain` is a value from the registry's domain list (Mandatory) | Pass | Unchanged. |
| 6 | Metadata keys, section headings, IDs and statuses are in English (Mandatory) | Pass | Keys, headings and statuses are English. |
| 7 | No translated twin (`<name>.<language>.md`) exists beside the document (Mandatory) | Pass | No translated twin. |
| 8 | A change of language or domain since the previous accepted version has a Version History row and was reviewed again (Mandatory) | Pass | Language unchanged. |
## Overall Verdict
Go — only a missing link definition and a CrossReference entry were added; the other criteria were passed in the earlier records (RC-006, RC-023, RC-027) and are unaffected.
## Action Items
| Action | Owner | Due |
| --- | --- | --- |
| None | S01 | - |
---
[MIL-004]: ../../milestones/mil-004-wiki-publication.md
[QC-MIL-001]: ../../../framework/qc/artifacts/qc-milestones-gateways.md
[QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md
[fa5bb84]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/fa5bb84025ca0fa1957434d34b0b678280a3abe5
[SA-001]: ../../stakeholder-analysis.md
[5b948e5]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/5b948e5a66bbcea5ef062f4557f47aae113a4e07
+14 -8
View File
@@ -9,8 +9,8 @@
## Version History ## Version History
| Date | Status | Author | Reviewer | Change | Commit | | Date | Status | Author | Reviewer | Change | Commit |
| --- | --- | --- | --- | --- | --- | | --- | --- | --- | --- | --- | --- |
| 2026-10-13 | Deprecated | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [f1b3c03] | | 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Last Reviewed updated up to RC-033 (RC-026 to RC-033 added)<br>Version History row added for each change batch since the first version | [c88434c] |
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Rows added for UCD-001, US-001, UC-001, SSD-001, DM-001, DM-002, ADR-0001 and the source files; Last Reviewed updated up to RC-030<br>Version History rows added for edits made since the first version (the git history holds each edit) | [dfaa840] | | 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Last Reviewed updated up to RC-036 (MIL-001, MIL-003 and MIL-004 link fix) | [fa5bb84] |
--- ---
@@ -27,10 +27,10 @@ updated whenever an artifact instance is created or reviewed.
| [BC-001] | Business Case | en | it | - | [SA-001], [PP-001], [MIL-001], [MIL-002], [MIL-003], [MIL-004] | [RC-001], [RC-019], [RC-026] | | [BC-001] | Business Case | en | it | - | [SA-001], [PP-001], [MIL-001], [MIL-002], [MIL-003], [MIL-004] | [RC-001], [RC-019], [RC-026] |
| [SA-001] | Stakeholder Analysis | en | it | [BC-001] | [PP-001] | [RC-002] | | [SA-001] | Stakeholder Analysis | en | it | [BC-001] | [PP-001] | [RC-002] |
| [PP-001] | Project Plan | en | it | [BC-001], [SA-001] | [MIL-001], [MIL-002], [MIL-003], [MIL-004] | - (no checklist; accepted by S01 in chat) | | [PP-001] | Project Plan | en | it | [BC-001], [SA-001] | [MIL-001], [MIL-002], [MIL-003], [MIL-004] | - (no checklist; accepted by S01 in chat) |
| [MIL-001] | Milestone | en | it | [BC-001], [PP-001] | - | [RC-003], [RC-020], [RC-028] | | [MIL-001] | Milestone | en | it | [BC-001], [PP-001] | - | [RC-003], [RC-020], [RC-028], [RC-033], [RC-034] |
| [MIL-002] | Milestone | en | it | [BC-001], [PP-001], [MIL-001] | - | [RC-004], [RC-021] | | [MIL-002] | Milestone | en | it | [BC-001], [PP-001], [MIL-001] | - | [RC-004], [RC-021] |
| [MIL-003] | Milestone | en | it | [BC-001], [PP-001], [MIL-002] | - | [RC-005], [RC-022] | | [MIL-003] | Milestone | en | it | [BC-001], [PP-001], [MIL-002] | - | [RC-005], [RC-022], [RC-035] |
| [MIL-004] | Milestone | en | it | [BC-001], [PP-001], [MIL-003] | - | [RC-006], [RC-023], [RC-027] | | [MIL-004] | Milestone | en | it | [BC-001], [PP-001], [MIL-003] | - | [RC-006], [RC-023], [RC-027], [RC-036] |
| [DICT-001] | Domain Dictionary | en | it | [BC-001], [SA-001] | - | [RC-007], [RC-018] | | [DICT-001] | Domain Dictionary | en | it | [BC-001], [SA-001] | - | [RC-007], [RC-018] |
| [UCD-001] | Use Case Diagram | en | it | [SA-001], [BC-001] | [US-001], [UC-001] | [RC-011] | | [UCD-001] | Use Case Diagram | en | it | [SA-001], [BC-001] | [US-001], [UC-001] | [RC-011] |
| [US-001] | User Story | en | it | [UCD-001], [BC-001], [MIL-002] | [UC-001] | [RC-012] | | [US-001] | User Story | en | it | [UCD-001], [BC-001], [MIL-002] | [UC-001] | [RC-012] |
@@ -42,7 +42,7 @@ updated whenever an artifact instance is created or reviewed.
| `src/squirrel/census.py`, `cli.py`, `__main__.py`, `tests/` | Python Source Code | - | - | [UC-001], [SSD-001], [ADR-0001] | - | [RC-024] | | `src/squirrel/census.py`, `cli.py`, `__main__.py`, `tests/` | Python Source Code | - | - | [UC-001], [SSD-001], [ADR-0001] | - | [RC-024] |
| `src/squirrel/constants.py`, `tests/test_constants.py` | Python Source Code | - | - | [MIL-001] | - | [RC-008] | | `src/squirrel/constants.py`, `tests/test_constants.py` | Python Source Code | - | - | [MIL-001] | - | [RC-008] |
| `tests/test_workflow.py` | Python Source Code | - | - | [MIL-001], [RC-010] | - | [RC-029] | | `tests/test_workflow.py` | Python Source Code | - | - | [MIL-001], [RC-010] | - | [RC-029] |
| `.gitea/workflows/ci.yml` | CI Workflow | - | - | [MIL-001] | - | [RC-009], [RC-010], [RC-025], [RC-030] | | `.gitea/workflows/ci.yml` | CI Workflow | - | - | [MIL-001] | - | [RC-009], [RC-010], [RC-025], [RC-030], [RC-031], [RC-032] |
## Coverage Notes ## Coverage Notes
@@ -69,7 +69,6 @@ updated whenever an artifact instance is created or reviewed.
[RC-008]: ./reviews/rc-008-python-constants.md [RC-008]: ./reviews/rc-008-python-constants.md
[RC-009]: ./reviews/rc-009-ci-workflow-yaml.md [RC-009]: ./reviews/rc-009-ci-workflow-yaml.md
[RC-010]: ./reviews/rc-010-ci-workflow.md [RC-010]: ./reviews/rc-010-ci-workflow.md
[f1b3c03]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/f1b3c034dc3880b7884646b4a4ed28e5f98fbcd3
[UCD-001]: ../use-case-diagram.md [UCD-001]: ../use-case-diagram.md
[US-001]: ../user-stories.md [US-001]: ../user-stories.md
[UC-001]: ../uc-001/uc.md [UC-001]: ../uc-001/uc.md
@@ -97,4 +96,11 @@ updated whenever an artifact instance is created or reviewed.
[RC-028]: ./reviews/rc-028-mil-001-task-7.md [RC-028]: ./reviews/rc-028-mil-001-task-7.md
[RC-029]: ./reviews/rc-029-python-workflow-test.md [RC-029]: ./reviews/rc-029-python-workflow-test.md
[RC-030]: ./reviews/rc-030-ci-workflow-delta-24.md [RC-030]: ./reviews/rc-030-ci-workflow-delta-24.md
[dfaa840]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/dfaa8400c3bd24b086a2c3eab1bef1e4e7ea6b45 [RC-031]: ./reviews/rc-031-ci-yaml-lint-steps.md
[RC-032]: ./reviews/rc-032-ci-workflow-lint-steps.md
[RC-033]: ./reviews/rc-033-mil-001-task-8.md
[c88434c]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/c88434c58398f6b8d0aa828bf89b2b21606b39a9
[RC-034]: ./reviews/rc-034-mil-001-sa-link.md
[RC-035]: ./reviews/rc-035-mil-003-sa-link.md
[RC-036]: ./reviews/rc-036-mil-004-sa-link.md
[fa5bb84]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/commit/fa5bb84025ca0fa1957434d34b0b678280a3abe5
+49 -48
View File
@@ -1,48 +1,49 @@
# Project configuration for the squirrel census assignment (day 25). # Project configuration for the squirrel census assignment (day 25).
# Read by pip, setuptools and pytest. The decision to use the standard library # Read by pip, setuptools and pytest. The decision to use the standard library
# only is recorded in docs/adr/adr-0001-standard-library-instead-of-pandas.md. # only is recorded in docs/adr/adr-0001-standard-library-instead-of-pandas.md.
[build-system] [build-system]
requires = ["setuptools>=68"] requires = ["setuptools>=68"]
build-backend = "setuptools.build_meta" build-backend = "setuptools.build_meta"
[project] [project]
name = "squirrel" name = "squirrel"
version = "0.1.0" version = "0.1.0"
description = "Count the squirrels of the 2018 Central Park Squirrel Census by primary fur colour." description = "Count the squirrels of the 2018 Central Park Squirrel Census by primary fur colour."
readme = "README.md" readme = "README.md"
requires-python = ">=3.13" requires-python = ">=3.13"
license = "AGPL-3.0-or-later" license = "AGPL-3.0-or-later"
license-files = ["LICENSE"] license-files = ["LICENSE"]
dependencies = [] dependencies = []
classifiers = [ classifiers = [
"Programming Language :: Python :: 3.13", "Programming Language :: Python :: 3.13",
"Intended Audience :: Education", "Intended Audience :: Education",
] ]
[project.optional-dependencies] [project.optional-dependencies]
dev = ["pytest==9.1.1", "ruff==0.17.0", "mypy==2.4.0", dev = ["pytest==9.1.1", "ruff==0.17.0", "mypy==2.4.0",
"pyyaml==6.0.3", "types-PyYAML==6.0.12.20260906"] "pyyaml==6.0.3", "types-PyYAML==6.0.12.20260906",
"yamllint==1.38.0", "actionlint-py==1.7.12.25"]
[tool.setuptools.packages.find]
where = ["src"] [tool.setuptools.packages.find]
where = ["src"]
[tool.pytest.ini_options]
pythonpath = ["src"] [tool.pytest.ini_options]
testpaths = ["tests"] pythonpath = ["src"]
testpaths = ["tests"]
[tool.ruff]
line-length = 88 [tool.ruff]
src = ["src", "tests"] line-length = 88
extend-exclude = ["docs"] src = ["src", "tests"]
extend-exclude = ["docs"]
[tool.ruff.lint]
select = ["E", "F", "I", "UP", "B", "D"] [tool.ruff.lint]
ignore = ["D203", "D213"] select = ["E", "F", "I", "UP", "B", "D"]
ignore = ["D203", "D213"]
[tool.mypy]
strict = true [tool.mypy]
files = ["src", "tests"] strict = true
files = ["src", "tests"]
[tool.ruff.lint.per-file-ignores]
"tests/**" = ["D"] [tool.ruff.lint.per-file-ignores]
"tests/**" = ["D"]
+16 -1
View File
@@ -2,7 +2,7 @@
# Installation # Installation
Projektet kræver **Python 3.13 eller nyere**. Det har ingen kørselsafhængigheder; `pytest`, `ruff` og `mypy` er udviklingsværktøjer. Projektet kræver **Python 3.13 eller nyere**. Det har ingen kørselsafhængigheder; `pytest`, `ruff`, `mypy`, `yamllint` og `actionlint` er udviklingsværktøjer.
## Windows PowerShell ## Windows PowerShell
@@ -15,6 +15,8 @@ python -m pip install -e ".[dev]"
## Linux Debian ## Linux Debian
På Debian 13 (trixie) eller nyere er `python3` 3.13:
```bash ```bash
sudo apt install python3 python3-venv sudo apt install python3 python3-venv
python3 -m venv .venv python3 -m venv .venv
@@ -23,6 +25,19 @@ python -m pip install --upgrade pip
python -m pip install -e ".[dev]" python -m pip install -e ".[dev]"
``` ```
På Debian 12 (bookworm) er `python3` 3.11, og `pip` nægter at installere projektet (`requires a different Python`). Hent Python 3.13 med [uv](https://docs.astral.sh/uv/) og brug den til `.venv`:
```bash
sudo apt install python3 python3-venv
python3 -m venv .uvenv
.uvenv/bin/python -m pip install uv
.uvenv/bin/uv python install 3.13
.uvenv/bin/uv venv --seed --python 3.13 .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install -e ".[dev]"
```
## macOS ## macOS
```bash ```bash
+16 -1
View File
@@ -2,7 +2,7 @@
# Install # Install
The project needs **Python 3.13 or later**. It has no runtime dependencies; `pytest`, `ruff` and `mypy` are development tools. The project needs **Python 3.13 or later**. It has no runtime dependencies; `pytest`, `ruff`, `mypy`, `yamllint` and `actionlint` are development tools.
## Windows PowerShell ## Windows PowerShell
@@ -15,6 +15,8 @@ python -m pip install -e ".[dev]"
## Linux Debian ## Linux Debian
On Debian 13 (trixie) or later, `python3` is 3.13:
```bash ```bash
sudo apt install python3 python3-venv sudo apt install python3 python3-venv
python3 -m venv .venv python3 -m venv .venv
@@ -23,6 +25,19 @@ python -m pip install --upgrade pip
python -m pip install -e ".[dev]" python -m pip install -e ".[dev]"
``` ```
On Debian 12 (bookworm), `python3` is 3.11 and `pip` refuses to install the project (`requires a different Python`). Get Python 3.13 with [uv](https://docs.astral.sh/uv/) and use it for the `.venv`:
```bash
sudo apt install python3 python3-venv
python3 -m venv .uvenv
.uvenv/bin/python -m pip install uv
.uvenv/bin/uv python install 3.13
.uvenv/bin/uv venv --seed --python 3.13 .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install -e ".[dev]"
```
## macOS ## macOS
```bash ```bash
+16 -1
View File
@@ -2,7 +2,7 @@
# Pemasangan # Pemasangan
Projek ini memerlukan **Python 3.13 atau lebih baharu**. Ia tiada kebergantungan masa jalan; `pytest`, `ruff` dan `mypy` ialah alat pembangunan. Projek ini memerlukan **Python 3.13 atau lebih baharu**. Ia tiada kebergantungan masa jalan; `pytest`, `ruff`, `mypy`, `yamllint` dan `actionlint` ialah alat pembangunan.
## Windows PowerShell ## Windows PowerShell
@@ -15,6 +15,8 @@ python -m pip install -e ".[dev]"
## Linux Debian ## Linux Debian
Pada Debian 13 (trixie) atau lebih baharu, `python3` ialah 3.13:
```bash ```bash
sudo apt install python3 python3-venv sudo apt install python3 python3-venv
python3 -m venv .venv python3 -m venv .venv
@@ -23,6 +25,19 @@ python -m pip install --upgrade pip
python -m pip install -e ".[dev]" python -m pip install -e ".[dev]"
``` ```
Pada Debian 12 (bookworm), `python3` ialah 3.11 dan `pip` enggan memasang projek (`requires a different Python`). Dapatkan Python 3.13 dengan [uv](https://docs.astral.sh/uv/) dan gunakannya untuk `.venv`:
```bash
sudo apt install python3 python3-venv
python3 -m venv .uvenv
.uvenv/bin/python -m pip install uv
.uvenv/bin/uv python install 3.13
.uvenv/bin/uv venv --seed --python 3.13 .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install -e ".[dev]"
```
## macOS ## macOS
```bash ```bash