Single view of what happens when, in what order, and what would make us change
course. Scope lives in the milestones; this issue carries sequence, dependencies,
and decisions.
This issue is expected to change. It is updated at the monthly refinement and
closed at the end of the delivery year.
Who is working on what
| Who |
Time |
Owns |
| A - @andres9403 |
90% |
Existing backlog (58 issues), refactor review, release, documentation service |
| B - @Mazhar331 |
40% |
Existing backlog (32 issues), techno-economic scaffold, tests, docs |
| C - crystallizer developer |
100%, from Month 2 |
Crystallization stream (#153) - parallel workflow |
| D - bioreactor developer |
100%, from Month 2 |
Bioreactor stream (#152) - parallel workflow |
A and B close the existing issues. C and D build new capability in their own
workflows. Month 1 = July 2026, so the year runs to June 2027.
Honest expectation on the backlog
There are 58 issues with a severity label. After the refactor integration and
the release/documentation work are paid for, A and B have roughly 7-15
person-weeks left for defect fixing this year. That closes somewhere around
10-25 of them.
So the year-one commitment is not "close the backlog". It is: the one
critical defect, plus the high-severity defects that block the release or a
demonstrator. Everything else stays visible and carries into next year. Better
to say that now than to discover it in month nine.
Month by month
| Months |
What lands |
Key issues |
| 2 (Aug 2026) |
Review queue drained; documentation building under PharmaPy-org; integration contract agreed before C and D start committing |
#150, #130, 8 open PRs |
| 3 (Sep) |
Tag 1.0.0a1 - installs cleanly, imports without Assimulo, no open critical defect. Refactor decision deadline. |
#134, #68, #101, #11, #8 |
| 4-5 (Oct-Nov) |
Rebased refactor opened as a reviewable PR stack; balance-closure tests written against master before the merge |
#148, #149 |
| 6-7 (Dec-Jan) |
Refactor merged; tag 1.0.0b1 |
#148, #140, #141, #113 |
| 8 (Feb) |
Post-merge stabilisation; crystallizer and kinetics defects revalidated |
#26, #35, #43, #46, #47 |
| 9-10 (Mar-Apr) |
Tag 1.0.0 - first maintained release; techno-economic scaffold |
#151, #127-#129, #138 |
| 11-12 (May-Jun) |
Tag 1.1.0 - demonstrator capability from the C and D streams |
#153, #152 |
Version sequence
1.0.0 (this year) -> 2.0.0 (merge the published PharmaPy 2.0 drug-product
work) -> 3.0.0 (digital-twin identity release). The demonstrators ship as
1.1.0 this year because 3.0.0 cannot come before 2.0.0 exists.
Critical path
Drain the review queue -> author rebases the refactor -> gates G5/G7 -> 1.0.0b1
-> demonstrators.
Every link is owned by A. C and D run in parallel but cannot shorten it. The
rebase itself depends on a contributor outside the team, which is the single
biggest schedule risk.
Decisions still open
| Decision |
Who decides |
By when |
| Scope of the bioreactor demonstrator (#152) |
Stakeholders |
End of Month 2 - a full-time developer starts without it |
| How the crystallizer stream overlaps the refactor (#153) |
Stakeholders |
End of Month 2 |
Confirm demonstrators ship as 1.1.0 |
Maintainers |
Month 3 |
| A and B time allocation for Months 7-12 |
Stakeholders |
End of Month 6 |
What would make us change course
- Rebased refactor PR not open by end of Month 3 -> stop waiting; take the useful crystallization commits and plan the architecture ourselves
- Refactor not merged by end of Month 7 -> ship
1.0.0 without it and re-plan
- More than 12 items in progress or in review for two months -> A stops starting new work and only reviews until the queue clears
- Documentation not building under PharmaPy-org by end of Month 3 ->
1.0.0a1 ships and says so plainly in the release notes
- Branch author unavailable for 4 weeks -> trigger the first gate immediately
- A stream branch goes 2 weeks without rebasing, twice -> pause that stream and land what exists first
Related
Milestones: 1.0.0a1, 1.0.0b1, 1.0.0, 1.1.0
Open conflict - version number. #146 records a maintainer decision dated
2026-07-31 that the first PyPI release is 3.0.0, and the release workflow
and tag policy are already built around it. The milestones above use 1.0.0.
These need reconciling before the first tag. No PyPI name reservation will
happen: per #146 the name is rechecked immediately before publication.
Epics: #148, #151, #152, #153 · Supporting: #149, #150
Policy: AGENTS.md (code), and CONTRIBUTING.md / RELEASING.md once #150 lands
Single view of what happens when, in what order, and what would make us change
course. Scope lives in the milestones; this issue carries sequence, dependencies,
and decisions.
This issue is expected to change. It is updated at the monthly refinement and
closed at the end of the delivery year.
Who is working on what
A and B close the existing issues. C and D build new capability in their own
workflows. Month 1 = July 2026, so the year runs to June 2027.
Honest expectation on the backlog
There are 58 issues with a severity label. After the refactor integration and
the release/documentation work are paid for, A and B have roughly 7-15
person-weeks left for defect fixing this year. That closes somewhere around
10-25 of them.
So the year-one commitment is not "close the backlog". It is: the one
critical defect, plus the high-severity defects that block the release or a
demonstrator. Everything else stays visible and carries into next year. Better
to say that now than to discover it in month nine.
Month by month
1.0.0a1- installs cleanly, imports without Assimulo, no open critical defect. Refactor decision deadline.masterbefore the merge1.0.0b11.0.0- first maintained release; techno-economic scaffold1.1.0- demonstrator capability from the C and D streamsVersion sequence
1.0.0(this year) ->2.0.0(merge the published PharmaPy 2.0 drug-productwork) ->
3.0.0(digital-twin identity release). The demonstrators ship as1.1.0this year because3.0.0cannot come before2.0.0exists.Critical path
Drain the review queue -> author rebases the refactor -> gates G5/G7 ->
1.0.0b1-> demonstrators.
Every link is owned by A. C and D run in parallel but cannot shorten it. The
rebase itself depends on a contributor outside the team, which is the single
biggest schedule risk.
Decisions still open
1.1.0What would make us change course
1.0.0without it and re-plan1.0.0a1ships and says so plainly in the release notesRelated
Milestones:
1.0.0a1,1.0.0b1,1.0.0,1.1.0