Fill the Milestone column of the Gateway Schedule in
docs/project-plan.md
with links to Milestones 30 to 33, which sync-project.sh created for
MIL-001 to MIL-004.
No issue closed: documentation-only change.
MIL-004 Documentation and release.
- Write README.md from the project template: overview, requirements,
setup with a local .venv and pip upgrade, run, tests, AGPL license
and links
- Document building the API docs with doxygen Doxyfile
- Verified: doxygen builds without warnings, and a clean copy installs,
runs and passes the 13 tests following only the README
Closes#26Closes#27Closes#28
Task: MIL-004#1
Task: MIL-004#2
Task: MIL-004#3
MIL-003 Console interface.
- Add calculator() with recursive restart: y continues with the result,
n starts a new calculation, q quits
- Show one ASCII title at start: a calculator with the lettering to
its right
- Re-prompt on invalid numbers, operations and answers; restart on
division by zero
- Add __main__.py for python -m calc and the calc console script
- Add interface tests with input() fed through monkeypatch
Closes#22Closes#23Closes#24Closes#25
Task: MIL-003#1
Task: MIL-003#2
Task: MIL-003#3
Task: MIL-003#4
MIL-002 Calculator core.
- Add constants.py with operation symbols, answers, prompts, messages
and the ASCII title and calculator
- Add add, subtract, multiply and divide, and the OPERATIONS dictionary
that maps each symbol to its function without calling it
- Add tests for each operation, division by zero and the dictionary
Closes#19Closes#20Closes#21
Task: MIL-002#1
Task: MIL-002#2
Task: MIL-002#3
MIL-001 Project scaffold.
- Add pyproject.toml: Python 3.13 or newer, no runtime dependencies,
pytest as the dev extra
- Add src/calc/ package and tests/ folder
- Add Doxyfile writing API docs to docs/doxygen/
- Ignore docs/doxygen/ in .gitignore
Closes#15Closes#16Closes#17Closes#18
Task: MIL-001#1
Task: MIL-001#2
Task: MIL-001#3
Task: MIL-001#4
- Initialize project documentation structure
- Add business case and stakeholder analysis
- Create project plan with four milestones
- Setup framework integration via git submodule
- Configure gitignore for project structure