Skip to content

Roadmap: 12-month delivery plan (Jul 2026 - Jun 2027) #154

Description

@andres9403

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

Metadata

Metadata

Assignees

Labels

area:releaseVersioning, changelog, tagging, and publicationepicTracking / umbrella issue

Type

No type

Projects

Status
No status

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions