MIL-002 NATO converter #22

Merged
Tirsvad merged 3 commits from mil-002-nato-converter into main 2026-10-13 10:42:05 +02:00
Owner

MIL-002 NATO converter (autonomous mode).

Go / No-Go criteria of MIL-002:

  1. All 26 letters map to their code word, input is case-insensitive: met (pytest, 50 passed).
  2. A character that is not a letter makes the program ask again: met (pytest).
  3. Dict comprehension in load_nato_dict, list comprehension in generate_phonetic: met (see adapters/csv_alphabet.py, domain/spelling.py).
  4. Assignment names kept: load_nato_dict, generate_phonetic (second parameter is the alphabet, because the domain layer may not read files).
  5. Code review against qc-programming-python.md: RC-014 Go.
  6. doxygen Doxyfile: 0 warnings.
  7. Constants in constants.py; .env not imported (checked).

Also: ruff, ruff format, mypy --strict and import-linter pass. Use case artifacts: UCD-001, US-001, UC-001 (Fully Dressed, not brief, so the SSD can follow its steps), SSD-001 with RC-010 to RC-013. All reviews Mode: autonomous, not independent.

Closes #8
Closes #9
Closes #10
Closes #11
Closes #12
Closes #13

MIL-002 NATO converter (autonomous mode). Go / No-Go criteria of MIL-002: 1. All 26 letters map to their code word, input is case-insensitive: met (pytest, 50 passed). 2. A character that is not a letter makes the program ask again: met (pytest). 3. Dict comprehension in `load_nato_dict`, list comprehension in `generate_phonetic`: met (see `adapters/csv_alphabet.py`, `domain/spelling.py`). 4. Assignment names kept: `load_nato_dict`, `generate_phonetic` (second parameter is the alphabet, because the domain layer may not read files). 5. Code review against `qc-programming-python.md`: RC-014 `Go`. 6. `doxygen Doxyfile`: 0 warnings. 7. Constants in `constants.py`; `.env` not imported (checked). Also: ruff, ruff format, `mypy --strict` and import-linter pass. Use case artifacts: UCD-001, US-001, UC-001 (Fully Dressed, not brief, so the SSD can follow its steps), SSD-001 with RC-010 to RC-013. All reviews `Mode: autonomous, not independent`. Closes #8 Closes #9 Closes #10 Closes #11 Closes #12 Closes #13
Tirsvad added 3 commits 2026-10-13 10:39:23 +02:00
Tirsvad merged commit 132fd109b2 into main 2026-10-13 10:42:05 +02:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Tirsvad-Udemy-100-days-of-code/026-nato-alphabet#22