Files
TirsvadandClaude Sonnet 5.5 28ec0e85d8
CI / test (push) Successful in 46s
CI / test (pull_request) Successful in 46s
Resolve pending commit links and add framework submodule
Replace `pending` in the Version History of the planning documents and
review records with the link to commit c24f412, and add the framework
gitlink that was missing from that commit.

Refs #1
Refs #2
Refs #3
Refs #4
Refs #5

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-07 10:45:17 +08:00

3.1 KiB

Phase 1: Project Setup

Metadata

Key Value
ID MIL-001
CrossReference BC-001, SA-001, PP-001
Language en
Domain it

Version History

Date Status Author Reviewer Change Commit
2026-10-07 Deprecated Jens Tirsvad Nielsen S01 Initial version c24f412
2026-10-07 Accepted Jens Tirsvad Nielsen S01 Accepted after RC-003 (Go) c24f412

Purpose

Decide whether the project skeleton, tooling and configuration are ready so that application code can be written on top of them.

Deliverable

Repository skeleton with pyproject.toml, Python .gitignore, src/, tests/, constants.py, Doxyfile and a CI workflow that runs pytest.

Go / No-Go Criteria

# Criterion (objectively checkable) Go No-Go
1 pip install -e .[dev] succeeds in a fresh .venv on Python 3.13+ Met Not met
2 pytest runs (collects zero or more tests) without configuration errors Met Not met
3 [project] dependencies in pyproject.toml is empty Met Not met
4 .env and .venv are ignored by .gitignore Met Not met
5 doxygen Doxyfile runs without errors Met Not met

Dependencies

Depends on Reason
None First phase

Traceability

Business Case objective / KPI / user story Reference
Objectives 2 and 3; success criteria 1 and 2 BC-001

Ownership

Role Stakeholder ID (SA)
Owner S01
Approving reviewer S01

Target Date

2026-10-09 — start of the course project, no external deadline.

Tasks

# Task Summary Needs its own Use Case/User Story? Reference
1 Add pyproject.toml Configure the project with requires-python >= 3.13, a src/ layout, no runtime dependencies and pytest as an optional dev dependency, so that setup is reproducible for S02. No
2 Review Python .gitignore Confirm the Python .gitignore ignores .venv/, .env, caches and generated Doxygen output so tokens and build artefacts never reach the repository (risk in BC-001). No
3 Create src and tests skeleton with constants.py Create src/coffee_machine/ with __init__.py and constants.py (menu data, resources, coin values, command words) and an empty tests/ package, following the coding conventions. No
4 Add Doxyfile Add a Doxyfile configured for Python (OPTIMIZE_OUTPUT_JAVA, input src/, output docs/api/) so Doxygen comments in the source can be built into documentation. No
5 Configure CI workflow Add a CI workflow for the git host that creates a venv, installs the project with the dev extra and runs pytest on Python 3.13, to be described in the README. No