Files
2026-10-24 23:35:34 +08:00

3.5 KiB

MIL-001 Baseline and project setup

Metadata

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

Version History

Date Status Author Reviewer Change Commit
2026-10-24 Accepted Jens Tirsvad Nielsen AI as stand-in for S01 Initial version c5a6ed5

Purpose

Decide whether the repository skeleton is ready for the Day 40 changes: Day 39 code carried over, tooling, configuration, secrets handling, CI and repository metadata.

Deliverable

A Python 3.13+ project: pyproject.toml, src/ and tests/ layout with the Day 39 code and tests, constants.py, .gitignore, .env.example, Doxyfile, venv instructions, framework hooks, CI workflows from TirSystem/github-action, and the repository description and topics.

Go / No-Go Criteria

# Criterion (objectively checkable) Go No-Go
1 pytest runs in a fresh .venv and passes the carried-over Day 39 tests Passes Fails
2 .env and cache files are ignored; only .env.example is tracked Verified with git check-ignore Secret tracked
3 Installed CI workflows are present and pass on the pull request Green Red after 3 fixes
4 Repository description and at least 5 topics are set Set Missing

Dependencies

Depends on Reason
None First phase; the baseline documents (BC, SA, PP) are accepted before it

Traceability

Business Case objective / KPI / user story Reference
Objectives 4 and 5 BC-001 Objectives

Ownership

Role Stakeholder ID (SA)
Owner S01
Approving reviewer S01

Target Date

2026-10-26 — within the two-week plan window of the Project Plan.

Tasks

# Task Summary Needs its own Use Case/User Story? Reference
1 Carry over the Day 39 code Copy src/flight_club/ and tests/ from the 039-personal-flight-club repository (same package and names) into this project and set the project name and description for Day 40 in pyproject.toml (Python >=3.13; runtime dependencies requests, requests-cache, python-dotenv; extras whatsapp and dev). Use constants.py for constants. Do not copy .env, caches or .venv. No
2 Ignore file and env template Add a Python .gitignore (also .env, flight_cache.sqlite, .venv, Doxygen output) and .env.example listing variable names without values. The real .env holds the participant's tokens and is never committed, tested or read by tests. No
3 Doxygen configuration Add a Doxyfile that scans src/ and writes to a git-ignored folder; source files use Doxygen comments. No
4 Install CI workflows Install the workflows that fit from https://git.tirsystem.com/TirSystem/github-action (tests, quality, English-comments check, wiki publish, milestone sync) into .gitea/workflows/. Stop and report if they cannot fit. No
5 Framework git hooks Run install-git-hooks.sh with the plan gate enabled so commits to src/ and tests/ need a Task trailer. No
6 Repository description and topics Set the description and topics on the 040-personal-flight-club repository through the host API with the local GITEA_TOKEN, read from .env by a script and never printed or put on a command line. No