Project Plan
Metadata
Version History
| Date |
Status |
Author |
Reviewer |
Change |
Commit |
| 2026-10-17 |
Accepted |
Jens Tirsvad Nielsen |
S01 |
Initial version; accepted by S01 (AI as stand-in, plan accepted in chat 2026-10-17) |
052008f |
Purpose
This plan schedules the three phases that deliver the birthday wisher of BC-001: project setup, the core program, and documentation with publication. It is scheduled against the Business Case constraint of one pull request per milestone.
Planning Assumptions
- Work starts 2026-10-17 and the plan ends by 2026-10-20.
- Each phase is one day; each phase is one branch and one pull request that closes its issues.
- Autonomous mode: the AI runs all phases after the user accepts this plan; the review of each artifact is by S01's stand-in and recorded as not independent (SA-001).
Gateway Schedule
| Gateway |
Document |
Window |
Decision date |
Owner |
Stories |
Main deliverable |
Milestone |
| G1 Project setup |
MIL-001 |
2026-10-17 to 2026-10-18 |
2026-10-18 |
S01 |
none (plain tasks) |
Skeleton, tooling, repository metadata |
|
| G2 Core |
MIL-002 |
2026-10-18 to 2026-10-19 |
2026-10-19 |
S01 |
none (plain tasks) |
Working, tested birthday wisher |
|
| G3 Documentation |
MIL-003 |
2026-10-19 to 2026-10-20 |
2026-10-20 |
S01 |
none (plain tasks) |
README, tri-lingual wiki, screenshots |
|
Scope Coverage
| Business Case scope item |
Gateway |
| CSV reading, matching, letters, SMTP sending |
G2 |
src/, tests/, constants.py, pyproject.toml, .gitignore, .env.example, Doxyfile |
G1 |
| Repository description and topics |
G1 |
| README and wiki in en, da, ms with screenshots |
G3 |
Dependencies
A No-Go at a gate moves every later date by the time needed to fix and re-review it.
Plan Risks
| Risk |
Impact |
Mitigation |
| The git host token cannot set topics or merge |
Gate G1 or the merge is blocked |
Stop and report; the user supplies or fixes the token |
| A screenshot cannot be produced without the host desktop |
G3 delayed |
Render terminal output to an image with a script, never on the host desktop |
| Danish or Malay translation quality |
Readers misled |
Keep sentences short, keep code in English; S01 can challenge in the run summary |
Open Issues
- The repository named in the request (
https://git.tirsystem.com/Tirsvad-Udemy-100_days_of_code) is the organisation; the project is published to this clone's origin, Tirsvad-Udemy-100-days-of-code/032-birthday-wisher. Please confirm.
- No use case or user story is written: the tasks are plain technical tasks for a one-feature learning project, so the plan-first gate is met through the "plain technical task" route. Say so if a use case should be written.
- The course hints use pandas; the project uses the standard
csv module (no runtime dependencies, objective in BC-001).
- Support for 29 February birthdays is decided during G2 and documented.