Verify
VERIFY — rocket-24-month-plan
How verification runs
node verify.mjs imports the canonical plan model (src/plan.mjs), generates the full 730-day plan, builds the website via build-site.mjs, and asserts a set of MUST_PASS checks. It writes verification-report.json (+ .md) and a copy to evidence/. Exit code is non-zero if any check fails.
What each check asserts
- Completeness —
allDays()returns exactly 730 entries; day indices are
contiguous (1..730) and unique.
- Phase coverage — the 10 phases tile Day 1–730 with no gap or overlap
(each phase starts the day after the previous ends; first=1, last=730); every day resolves to exactly one phase and has a focus and an owner; every phase has workstreams, a parallel track, a goal, and an exit gate.
- Budget integrity —
BUDGET_ALLOCATIONsums to exactly $200M;CUM_SPEND_M
has 24 points and is monotonically non-decreasing; planned peak spend is under the $200M cap with positive reserve; per-day spend-to-date never decreases across all 730 days.
- Milestones — all milestone days are within 1..730, strictly ascending and
unique, and each lands inside a defined phase; exactly one FLIGHT milestone targets the Kármán line (100 km) within the launch window (Day 691–715).
- Crew — exactly 5 people with unique ids and defined scope; every phase lead
and milestone lead is a real crew member.
- Cadence — every business day has a daily stand-up; every day (including
weekends) has at least one ritual.
- Month buckets — the per-month grouping partitions all 730 days exactly once.
- Risk register — discloses the schedule and key-person risks at High impact.
- Determinism —
allDays()serialized twice is byte-identical. - Website —
build-site.mjsexits 0 and writespublic/index.html, which
embeds all 730 days ("totalDays":730), the planner, and the company name.
What verification does NOT assert
It makes no claim that any rocket exists, that the design closes physically, or that the 24-month schedule is achievable. Those are disclosed seams in LIMITATIONS.md.