Day 4 · Assemble: one working slice, tested and safe
| Runs with | Day 4, after the 30-minute briefing: Part A in the morning (about 100 minutes), Part B in the afternoon (about 125 minutes), then the 15-minute gate |
|---|---|
| Format | Prompt-based: every step is a prompt you give Claude, followed by a check you do yourself. Every prompt today runs in Claude Code, in your repository |
| You need | Your repository from Day 3, with the Product Book, ADR 0001 and CLAUDE.md committed; Python, Git and Claude Code working; a partner for the diff and access checks |
| You leave with | One vertical slice that reaches your first value moment, with tests for the happy path, bad input and "not allowed"; logged-out and cross-user access tests; a dependency scan with every finding fixed or recorded; all committed, and written up in product/04-build.md |
| Gate | The Day 4 gate (Part C), closing Assemble |
Where you are
You have decided what to build, tested the design on two people and briefed Claude Code. Today answers: does one slice work, is it tested, and is it safe? You build the thinnest version of your first value moment that works end to end, then prove it with tests and try to break it.
| Product Book file or repository item | What it holds | Used in step |
|---|---|---|
product/02-proposition.md | The build objective and first value moment | A1, A2 |
product/03-plan.md | MVP objective and threshold, prototype and test notes, data model, access rules | A2, B1, B4 |
product/decisions/0001-architecture.md | ADR 0001: your stack (the course default is Django) and the must-pass plan | A2, B5 |
product/04-build.md | Today's work: the plan, what was built, tests, the diff explained, access tests, the scan | Every step |
CLAUDE.md | Imports the Product Book; stack, commands, conventions, working agreement | Every step |
Your build objective reads: "By the end of Day 4, a working web app where [user] can [first value moment], with tests passing; on Day 5, one real person reaches it without help." Today is the day the first half is met, or the gap is written down honestly. Both are acceptable; pretending is not.
What you are building
| Part | Where it lives | Built in step |
|---|---|---|
| Walking-skeleton plan, approved after at least one change | product/04-build.md, under Plan | A2 |
| One vertical slice: screen, logic and data for the first value moment | Your code, in small commits | A3, A4 |
| Tests: happy path, bad input, not allowed | Your tests | B1 |
| One diff explained in plain English | product/04-build.md | B2 |
One deliberate /rewind | Nothing changed: that is the point | B3 |
| Logged-out and cross-user access tests for every protected page | Your tests | B4 |
pip-audit scan, every finding fixed or recorded | product/04-build.md | B5 |
| Build notes and the build objective check | product/04-build.md | B6 |
© 2026 MVP Studios Ltd. MVPAI™ and the MVP Studios Academy course materials, including the MVP Founders Programme and MVPAI in a Week, are original works of MVP Studios Ltd. All rights reserved. No copying, redistribution or commercial use without written permission. Course terms