Stage: Build the First Vertical Slice
A feature needs safe defaults with environment-specific overrides.
Deliverable
A recursively merged JSON configuration.
Input and output contract
Read base JSON on the first line and override JSON on the second; recursively merge objects and print sorted compact JSON.
Acceptance criteria
- Preserve unmodified defaults.
- Replace scalar values.
- Merge nested objects recursively.
Suggested vibe loop
Ask the coach to restate the contract, inspect the starter files, propose one small plan, and explain what evidence will prove the change. Implement in app.py, keep main.py stable, then run the visible example before submitting.