Files
030-password-manager/docs/milestones/mil-001-project-foundation.md
T
Tirsvad 53f56eeb14 docs: baseline plan (business case, stakeholders, plan, milestones, reviews)
Business Case, Stakeholder Analysis, Domain Dictionary, Project Plan,
three milestones, review records RC-001 to RC-006 and the traceability
matrix. PO language en, domain it.
2026-10-14 21:17:30 +08:00

3.7 KiB

Project Foundation

Metadata

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

Version History

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

Project Foundation

Purpose

Decide whether the repository has the configuration, conventions and entry documentation every later phase builds on, so that feature work starts on a runnable, testable skeleton.

Deliverable

A repository with pyproject.toml (Python 3.13 or newer, pytest as a development dependency, no runtime dependency), a Python .gitignore that excludes .env and .venv, src/password_manager/constants.py, a smoke test under tests/, a Doxyfile, a README.md built from the framework template with .venv instructions, and a repository description and topics on the git host.

Go / No-Go Criteria

# Criterion (objectively checkable) Go No-Go
1 python -m pytest passes in a fresh .venv 0 failures Any failure
2 pyproject.toml has requires-python >= 3.13 and an empty runtime dependencies list Both present Missing or non-empty
3 .gitignore contains .env and .venv Both present Either missing
4 bash framework/scripts/check-readme.sh exits 0 Exit 0 Any finding
5 The git host shows a description and at least 5 topics for the repository Both set Either missing

Dependencies

Depends on Reason
(none) The baseline documents are in the repository

Traceability

Business Case objective / KPI / user story Reference
BC-001 O4; Success criteria 4, 5 and 7 BC-001

Ownership

Role Stakeholder ID (SA)
Owner S01
Approving reviewer S01 (AI as stand-in, autonomous mode)

Target Date

2026-10-15 — the Business Case sets no deadline; the plan's first phase is one to two days.

Tasks

# Task Summary Needs its own Use Case/User Story? Reference
1 Create pyproject.toml and the package skeleton Add pyproject.toml with Python 3.13 or newer, the setuptools build backend, a src/password_manager package, pytest as an optional dev dependency and pytest paths. Needed so the project installs with python -m pip install -e .[dev] and tests find the package. No
2 Add the Python .gitignore Add a Python .gitignore that also excludes .env, .venv and Doxygen output, so a token or an environment is never committed. No
3 Add constants.py Create src/password_manager/constants.py holding the data file name, window title, padding, default e-mail and password-length values, because the requirement is that constants live in one module. No
4 Add the Doxyfile Add a Doxyfile that documents src/ into docs/doxygen/ so the Doxygen comments in the source can be built into HTML. No
5 Write the README from the framework template Create README.md from the framework template with requirements, the .venv creation and python -m pip install --upgrade pip commands, run and test instructions and a Security note. No
6 Set the repository description and topics Use the git host API with the token from .env (never printed, never imported by the project) to set a description and topics for the repository so viewers (S03) can find it. No
7 Add the smoke test Add a first pytest test that imports the package and its constants so the test command is proven from the first milestone. No