Resolve pending commit links for MIL-001
CI / Test on Python 3.13 (pull_request) Successful in 52s

Task: MIL-001#1
This commit is contained in:
2026-10-14 19:31:11 +08:00
parent f42e6109ac
commit 1da8981571
15 changed files with 132 additions and 13 deletions
@@ -9,7 +9,7 @@
## Version History ## Version History
| Date | Status | Author | Reviewer | Change | Commit | | Date | Status | Author | Reviewer | Change | Commit |
| --- | --- | --- | --- | --- | --- | | --- | --- | --- | --- | --- | --- |
| 2026-10-14 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version, reviewed in RC-006 | pending | | 2026-10-14 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version, reviewed in RC-006 | [f42e610] |
Allowed Status values: `Proposed`, `Accepted`, `Rejected`, `Deprecated`, `Superseded by ADR-NNNN`. Allowed Status values: `Proposed`, `Accepted`, `Rejected`, `Deprecated`, `Superseded by ADR-NNNN`.
@@ -51,3 +51,4 @@ Read the NATO alphabet with the standard library `csv` module (`csv.DictReader`)
[BC-001]: ../business-case.md [BC-001]: ../business-case.md
[SA-001]: ../stakeholder-analysis.md [SA-001]: ../stakeholder-analysis.md
[f42e610]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/030-nato-phonetic-alphabet/commit/f42e6109ac82937291e5c8207c0631f710b9da85
+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-14 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version, reviewed in RC-007 | pending | | 2026-10-14 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version, reviewed in RC-007 | [f42e610] |
Allowed Status values: `Proposed`, `Accepted`, `Rejected`, `Deprecated`, `Superseded by ADR-NNNN`. Allowed Status values: `Proposed`, `Accepted`, `Rejected`, `Deprecated`, `Superseded by ADR-NNNN`.
@@ -48,3 +48,4 @@ Skip the KPI definitions, the Business Model Canvas, the BPMN process model and
--- ---
[BC-001]: ../business-case.md [BC-001]: ../business-case.md
[f42e610]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/030-nato-phonetic-alphabet/commit/f42e6109ac82937291e5c8207c0631f710b9da85
+2 -1
View File
@@ -11,7 +11,7 @@
## Version History ## Version History
| Date | Status | Author | Reviewer | Change | Commit | | Date | Status | Author | Reviewer | Change | Commit |
| --- | --- | --- | --- | --- | --- | | --- | --- | --- | --- | --- | --- |
| 2026-10-14 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version, reviewed in RC-001 | pending | | 2026-10-14 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version, reviewed in RC-001 | [f42e610] |
--- ---
@@ -138,3 +138,4 @@ Proceed: the scope is small, the risks are low and every objective is verifiable
--- ---
[SA-001]: ./stakeholder-analysis.md [SA-001]: ./stakeholder-analysis.md
[f42e610]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/030-nato-phonetic-alphabet/commit/f42e6109ac82937291e5c8207c0631f710b9da85
@@ -11,7 +11,7 @@
## Version History ## Version History
| Date | Status | Author | Reviewer | Change | Commit | | Date | Status | Author | Reviewer | Change | Commit |
| --- | --- | --- | --- | --- | --- | | --- | --- | --- | --- | --- | --- |
| 2026-10-14 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version, reviewed in RC-003 | pending | | 2026-10-14 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version, reviewed in RC-003 | [f42e610] |
--- ---
@@ -72,3 +72,4 @@ A repository containing `pyproject.toml`, a Python `.gitignore`, the `src/` pack
--- ---
[BC-001]: ../business-case.md [BC-001]: ../business-case.md
[f42e610]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/030-nato-phonetic-alphabet/commit/f42e6109ac82937291e5c8207c0631f710b9da85
+2 -1
View File
@@ -11,7 +11,7 @@
## Version History ## Version History
| Date | Status | Author | Reviewer | Change | Commit | | Date | Status | Author | Reviewer | Change | Commit |
| --- | --- | --- | --- | --- | --- | | --- | --- | --- | --- | --- | --- |
| 2026-10-14 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version, accepted as Product Owner stand-in (no QC checklist for PP yet); plan accepted by S01 in chat | pending | | 2026-10-14 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version, accepted as Product Owner stand-in (no QC checklist for PP yet); plan accepted by S01 in chat | [f42e610] |
--- ---
@@ -87,3 +87,4 @@ A No-Go on a gateway holds the later ones until the cause is fixed and the gatew
[MIL-001]: ./milestones/mil-001-repository-foundation.md [MIL-001]: ./milestones/mil-001-repository-foundation.md
[MIL-002]: ./milestones/mil-002-nato-converter.md [MIL-002]: ./milestones/mil-002-nato-converter.md
[MIL-003]: ./milestones/mil-003-documentation-and-publication.md [MIL-003]: ./milestones/mil-003-documentation-and-publication.md
[f42e610]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/030-nato-phonetic-alphabet/commit/f42e6109ac82937291e5c8207c0631f710b9da85
+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-14 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Review of BC-001 | pending | | 2026-10-14 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Review of BC-001 | [f42e610] |
--- ---
@@ -65,3 +65,4 @@ Go — every Mandatory criterion of QC-BC-001 and of QC-LANG-001 passes. The rev
[BC-001]: ../../business-case.md [BC-001]: ../../business-case.md
[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
[f42e610]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/030-nato-phonetic-alphabet/commit/f42e6109ac82937291e5c8207c0631f710b9da85
@@ -9,7 +9,7 @@
## Version History ## Version History
| Date | Status | Author | Reviewer | Change | Commit | | Date | Status | Author | Reviewer | Change | Commit |
| --- | --- | --- | --- | --- | --- | | --- | --- | --- | --- | --- | --- |
| 2026-10-14 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Review of SA-001 | pending | | 2026-10-14 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Review of SA-001 | [f42e610] |
--- ---
@@ -65,3 +65,4 @@ Go — every Mandatory criterion of QC-SA-001 and of QC-LANG-001 passes. The rev
[SA-001]: ../../stakeholder-analysis.md [SA-001]: ../../stakeholder-analysis.md
[QC-SA-001]: ../../../framework/qc/artifacts/qc-stakeholder-analysis.md [QC-SA-001]: ../../../framework/qc/artifacts/qc-stakeholder-analysis.md
[QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md [QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md
[f42e610]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/030-nato-phonetic-alphabet/commit/f42e6109ac82937291e5c8207c0631f710b9da85
+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-14 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Review of MIL-001 | pending | | 2026-10-14 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Review of MIL-001 | [f42e610] |
--- ---
@@ -63,3 +63,4 @@ Go — every Mandatory criterion of QC-MIL-001 and of QC-LANG-001 passes. The re
[MIL-001]: ../../milestones/mil-001-repository-foundation.md [MIL-001]: ../../milestones/mil-001-repository-foundation.md
[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
[f42e610]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/030-nato-phonetic-alphabet/commit/f42e6109ac82937291e5c8207c0631f710b9da85
+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-14 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Review of ADR-0001 | pending | | 2026-10-14 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Review of ADR-0001 | [f42e610] |
--- ---
@@ -52,3 +52,4 @@ Go — every Mandatory criterion of QC-ADR-001 passes.
[ADR-0001]: ../../adr/adr-0001-read-nato-data-with-csv-module.md [ADR-0001]: ../../adr/adr-0001-read-nato-data-with-csv-module.md
[QC-ADR-001]: ../../../framework/qc/artifacts/qc-adr.md [QC-ADR-001]: ../../../framework/qc/artifacts/qc-adr.md
[f42e610]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/030-nato-phonetic-alphabet/commit/f42e6109ac82937291e5c8207c0631f710b9da85
+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-14 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Review of ADR-0002 | pending | | 2026-10-14 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Review of ADR-0002 | [f42e610] |
--- ---
@@ -52,3 +52,4 @@ Go — every Mandatory criterion of QC-ADR-001 passes.
[ADR-0002]: ../../adr/adr-0002-skip-analysis-artifacts.md [ADR-0002]: ../../adr/adr-0002-skip-analysis-artifacts.md
[QC-ADR-001]: ../../../framework/qc/artifacts/qc-adr.md [QC-ADR-001]: ../../../framework/qc/artifacts/qc-adr.md
[f42e610]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/030-nato-phonetic-alphabet/commit/f42e6109ac82937291e5c8207c0631f710b9da85
+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-14 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Review of WF-001 | pending | | 2026-10-14 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Review of WF-001 | [f42e610] |
--- ---
@@ -86,3 +86,4 @@ Go — every Mandatory criterion of QC-WF-001 and QC-YML-001 passes; the run on
[WF-001]: ../../../.gitea/workflows/ci.yml [WF-001]: ../../../.gitea/workflows/ci.yml
[QC-WF-001]: ../../../framework/qc/code/qc-workflow.md [QC-WF-001]: ../../../framework/qc/code/qc-workflow.md
[QC-YML-001]: ../../../framework/qc/code/qc-yaml.md [QC-YML-001]: ../../../framework/qc/code/qc-yaml.md
[f42e610]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/030-nato-phonetic-alphabet/commit/f42e6109ac82937291e5c8207c0631f710b9da85
+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-14 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Review of PY-001 | pending | | 2026-10-14 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Review of PY-001 | [f42e610] |
--- ---
@@ -57,3 +57,4 @@ Go — every Mandatory criterion of QC-PY-001 passes or is not applicable to the
[PY-001]: ../../../src/nato_phonetic_alphabet/constants.py [PY-001]: ../../../src/nato_phonetic_alphabet/constants.py
[QC-PY-001]: ../../../framework/qc/code/qc-programming-python.md [QC-PY-001]: ../../../framework/qc/code/qc-programming-python.md
[f42e610]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/030-nato-phonetic-alphabet/commit/f42e6109ac82937291e5c8207c0631f710b9da85
+2 -1
View File
@@ -11,7 +11,7 @@
## Version History ## Version History
| Date | Status | Author | Reviewer | Change | Commit | | Date | Status | Author | Reviewer | Change | Commit |
| --- | --- | --- | --- | --- | --- | | --- | --- | --- | --- | --- | --- |
| 2026-10-14 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version, reviewed in RC-002 | pending | | 2026-10-14 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version, reviewed in RC-002 | [f42e610] |
--- ---
@@ -76,3 +76,4 @@ Reviewer: S01 (in autonomous mode the AI acts as S01's stand-in; the review reco
--- ---
[BC-001]: ./business-case.md [BC-001]: ./business-case.md
[f42e610]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/030-nato-phonetic-alphabet/commit/f42e6109ac82937291e5c8207c0631f710b9da85
+58
View File
@@ -0,0 +1,58 @@
# Use Case Diagram
## Metadata
| Key | Value |
| --- | --- |
| ID | UCD-001 |
| CrossReference | [SA-001], [BC-001], [US-001], [UC-001] |
| Language | en |
| Domain | it |
## Version History
| Date | Status | Author | Reviewer | Change | Commit |
| --- | --- | --- | --- | --- | --- |
| 2026-10-14 | Proposed | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version, adapted from the 026 NATO alphabet project | pending |
---
## Purpose and Scope
The boundary is the NATO alphabet console tool. One actor, the User, asks the tool to spell a word. Everything outside the console program (the course platform, the git host, the wiki) is outside the boundary.
## Diagram
```plantuml
@startuml
left to right direction
actor "User" <<Actor>> as U
rectangle "NATO alphabet tool" <<System>> {
usecase "Spell a Word" as UC1
}
U --> UC1
@enduml
```
## Actor Table
| Actor | Stereotype | Stakeholder ID (SA) | Goals (use cases) |
| --- | --- | --- | --- |
| User | `<<Actor>>` | S01, S02 | Spell a Word |
## Use Case Table
| Use Case | Actor(s) | Goal |
| --- | --- | --- |
| Spell a Word | User | Get the NATO code word of each letter of a word, so the word can be spelled out over the phone |
## Relationships
| From | Relationship (`<<include>>` / `<<extend>>`) | To | Justification |
| --- | --- | --- | --- |
| None | - | None | A single use case has no include or extend relationship |
---
[SA-001]: ./stakeholder-analysis.md
[BC-001]: ./business-case.md
[US-001]: ./user-stories.md
[UC-001]: ./uc-001/uc.md
+48
View File
@@ -0,0 +1,48 @@
# User Story
## Metadata
| Key | Value |
| --- | --- |
| ID | US-001 |
| CrossReference | [UCD-001], [BC-001], [MIL-002] |
| Language | en |
| Domain | it |
## Version History
| Date | Status | Author | Reviewer | Change | Commit |
| --- | --- | --- | --- | --- | --- |
| 2026-10-14 | Proposed | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version, adapted from the 026 NATO alphabet project | pending |
---
## Purpose and Scope
The epic is [MIL-002] "NATO converter": the console behaviour that turns a typed word into NATO code words.
## Story List
### US-001.01 — Spell a word
**As a** User, **I want** to type a word and see the NATO code word of each of its letters, **so that** I can spell the word clearly over the phone.
**Acceptance Criteria**
- Given the program is running, when I enter `Hello`, then it lists `Hotel`, `Echo`, `Lima`, `Lima`, `Oscar` in that order.
- Given the program is running, when I enter the same word in lower case or upper case, then the result is the same.
- Given the program is running, when I enter a word with a character that is not a letter, then the program does not crash, tells me to enter only letters of the alphabet and asks for the word again.
- Given I entered an invalid word, when I then enter a valid word, then it lists the code words of that word.
| Traces to | Size | INVEST exceptions |
| --- | --- | --- |
| [UC-001] | fits one iteration | none |
## INVEST Check
Independent (no other story is needed), Negotiable (wording of the messages is open), Valuable (it is the whole purpose of the tool), Estimable, Small (one console interaction) and Testable (each criterion is a pytest case). No exceptions.
---
[UCD-001]: ./use-case-diagram.md
[BC-001]: ./business-case.md
[MIL-002]: ./milestones/mil-002-nato-converter.md
[UC-001]: ./uc-001/uc.md