← knowledge.oriz.in

Vertical slices (tracer bullets) — every task crosses all layers, none stops at one

rule rulesagentplanningtasksfeedback

Vertical slices — tracer bullets

Concept

Tracer bullets. Hunt & Thomas, Pragmatic Programmer (1999), Topic 12. Modern name: vertical slice.

Every task crosses all layers it touches. Smallest slice ships end-to-end. Real code, keeper code — not prototype.

Horizontal vs vertical

Split Phases First demo
❌ Horizontal DB all → API all → UI all End of phase 3
✅ Vertical 1 field DB + 1 route API + 1 button UI, repeat End of slice 1

Failure mode agents default to

AI plans horizontally. Reads schema → writes all migrations → writes all services → writes all UI. Feedback arrives only at phase 3. Wrong assumption at phase 1 = rework everything.

Vertical: slice 1 exposes the wrong assumption on day 1.

Fix — task template

<verb> <feature> visible on <surface>

Pocock example (2026-07 workshop): "award points for lesson completion visible on dashboard" — one migration column + one service method + one dashboard number. Ships. Next slice adds streak logic.

Where this applies

Surface Slice discipline
TaskCreate splits Each task = one visible slice, not one layer
PR shapes One PR = one slice, not "all backend changes"
Decision-file "next steps" Ordered slices, not layer-groups
Sub-agent delegation Give sub-agent a slice, not a layer

Tracer bullet ≠ prototype

Prototype Tracer bullet
Throwaway Keeper
Explores unknowns Wires real system
Fake data OK Real data path
Deleted after Grows next slice on top

Anti-patterns

Cross-refs