Back to Overview
CORE CONCEPTSAvailable

Slice

A Slice defines a bounded requirement scope or user story mapping acceptance criteria onto screen anchors.


Definition & Purpose

A Screen describes a permanent node in the product model. A Slice describes the specific feature, story, user journey, or technical task scope you are currently discussing, handing off, or testing.

Slice Schema & Types

Slices specify cross-cutting scope without duplicating screen nodes:

  • name (string, REQUIRED) — Story or feature title.
  • type (string) — Recommended values: story, journey, task, technical, analysis.
  • actor (string) — Primary initiating actor ID.
  • screens (array) — List of anchored screen IDs relevant to the slice.
  • acceptance (array) — Short natural-language criteria or address coverage references.

Address Syntax & Examples

Slice addresses use the slices top-level namespace:

YAML
Address format:
slices.slice_id
Real-world domain address examples:
- slices.cancellation_flow
- slices.payment_failure_recovery
- slices.user_onboarding_journey

Slice Architecture Diagram

Flowchart
Rendering diagram...
A Slice maps acceptance criteria directly to stable graph addresses.

Complete Valid Example

Here is a complete Slice specification for payment recovery:

YAML
slices:
cancellation_flow:
name: Self-Serve Cancellation & Retention Journey
type: story
actor: customer
screens:
- billing
- cancellation_review
acceptance:
- Workspace owner can trigger cancel_subscription from billing.
- System presents cancellation_review modal with retention offer.
- Finalizing cancellation sets billing state to cancelled.
- Accepting retention offer returns user to billing in active state.

What a Slice Does NOT Mean

A Slice is NOT a Redux slice file, NOT a separate application module, and NOT a replacement for the core screen graph. It is an optional cross-cutting requirement lens.