Files
014-higher_lower/docs/milestones/mil-001-project-setup.md
T
Tirsvad a1ff73580f Accept BC, SA, PP and MIL-001 after review
Review BC-001, SA-001, PP-001 and MIL-001 and record the results as
RC-001 to RC-004. All four verdicts are Go, so their Version History
rows become Accepted and the previous rows Deprecated. MIL-002 to
MIL-004 stay Proposed.

BC-001 failed criterion 1 (cost-benefit not justified as qualitative).
Add the justification and a target-completion constraint (2026-10-14)
that PP-001 and MIL-001 are checked against.

Add the Traceability Matrix (TM-001) and register RC and TM in the
artifact registry. PP has no QC checklist, so RC-003 checks the plan
against BC-001 and the milestones instead. Author and reviewer are
both S01, a deviation noted in each record.

Refs #5
2026-10-04 23:23:12 +08:00

3.6 KiB

MIL-001 Project setup

Metadata

Key Value
ID MIL-001
CrossReference BC-001, PP-001, RC-004

Version History

Date Status Author Reviewer Change Commit
2026-10-04 Deprecated Jens Tirsvad Nielsen S01 Initial version ddfe96f
2026-10-04 Accepted Jens Tirsvad Nielsen S01 Accepted after review RC-004 pending

Purpose

Decide whether the project foundation (configuration, layout, tooling files and repository metadata) is ready for code to be written on top of it.

Deliverable

pyproject.toml, Python .gitignore, Doxyfile, the src/, tests/, docs/ layout with an importable empty package and constants.py, a passing smoke test, and the repository description and topics on the git host.

Go / No-Go Criteria

# Criterion (objectively checkable) Go No-Go
1 pyproject.toml declares Python >=3.13, no runtime dependencies, pytest as a dev dependency Present Missing or has runtime dependencies
2 .gitignore excludes .venv/, .env, __pycache__/, .pytest_cache/, Doxygen output All excluded Any missing
3 pip install -e ".[dev]" and pytest succeed in a fresh .venv Exit code 0 Fails
4 Doxyfile exists and points at src/ Present Missing
5 Repository has description and topics Visible on host Not set
6 .env is not referenced by any file under src/ or tests/ No references Any reference

Dependencies

Depends on Reason
None First phase

Traceability

Business Case objective / KPI / user story Reference
O2, O4, O5 BC-001

Ownership

Role Stakeholder ID (SA)
Owner S01
Approving reviewer S01

Target Date

2026-10-06 — first window of PP-001, inside the proposed two-week-or-less target.

Tasks

# Task Summary Needs its own Use Case/User Story? Reference
1 Create pyproject.toml Project configuration for a package named higher_lower under src/: requires-python = ">=3.13", dependencies = [], an optional dev group with pytest, and pytest settings (testpaths = ["tests"], pythonpath = ["src"]). Keeps runtime free of dependencies for S03. No
2 Verify Python .gitignore A Python .gitignore already exists; confirm it ignores .venv/, .env (token file, personal use only), caches and Doxygen output (docs/doxygen/), adding entries where missing. No
3 Create src, tests and docs skeleton Add src/higher_lower/__init__.py, src/higher_lower/__main__.py stub, src/higher_lower/constants.py (empty module with Doxygen header) and tests/ with a smoke test importing the package. docs/ already holds the planning artifacts. No
4 Add Doxyfile Doxygen configuration with INPUT = src, OUTPUT_DIRECTORY = docs/doxygen, Python optimisation (OPTIMIZE_OUTPUT_JAVA = YES), recursive scan and EXTRACT_ALL = YES, so Doxygen comments in the source can be rendered. No
5 Set repository description and topics Use the Gitea API with the token from .env (personal use; the token is never imported, copied or tested by the project) to set a description and topics such as python, udemy, 100-days-of-code, higher-lower, game, pytest. Needs S01's go-ahead before it is run. No