Skip to content

Team Split Assessment

  • File: ux-design/components/plan/goal.md
  • Date: 2026-03-24
FactorValueThresholdAssessment
Total tasks~30 (13 items in Wave 0b + 15 components + barrel/integration)15Over
Sequential phases with dependencies6 (0a, 0b, 1, 2, 3, 4)2Over
Distinct persona types2 (front-end-engineer, quality-reviewer)4Under
Working directories1 (ux-prototype)1At threshold
Cross-cutting concerns2 (barrel exports, design token consistency)1Over
Tasks with external validation6 (wave gates: lint + build + test)5Over

Qualitative factors:

  • Context window pressure: High — 19 components with detailed props interfaces, test specs, and story specs will exhaust context if tracked by a single team lead.
  • Error blast radius: Moderate — Wave 0b structural changes (file moves, import updates) affect all subsequent waves. Isolating them limits risk.
  • Natural phase boundaries: Clear — each wave has an explicit gate (lint + build + tests pass).

Split — The project exceeds thresholds on 4 of 6 factors and has clear natural phase boundaries at each wave gate. Context window pressure from tracking 19 component implementations argues for splitting into runs that can be executed with fresh context.

RunDirectoryDescriptionTasksPersonasNotes
1run-1-infrastructure/Wave 0a + 0b: deps, scaffolding, primitives, types, mocks, primitive stories~16front-end-engineerStructural changes, no new components
2run-2-foundation/Wave 1: foundation components (utilities, Badge, Avatar, CopyrightAcknowledgment, ImageDisplay, ImageDropZone, ImagePreviewEditor)~8front-end-engineerLeaf components, parallelizable
3run-3-composition/Wave 2: composition components (ImageHoverPreview, ImageInspectorOverlay, ImageComparisonLayout, ImageFormField)~4front-end-engineerDepend on Wave 1 outputs
4run-4-grid-organism/Wave 3 + 4: grid atoms, ImageUploadDialog, item-grid-columns integration, barrel exports~6front-end-engineerMost complex components, integration
Run 1 produces:
- utilities/ directory with types, getInitials, getCroppedImage
- ShadCN primitives (alert-dialog, checkbox, popover, progress, slider, aspect-ratio)
- Badge error-overlay variant
- Mock data module
- Primitive context stories
Run 2 consumes Run 1 outputs, produces:
- ImageDisplay, ImageDropZone, ImagePreviewEditor molecules
- CopyrightAcknowledgment atom
- Avatar refactor (getInitials import)
- Badge stories update
Run 3 consumes Run 2 outputs, produces:
- ImageHoverPreview, ImageInspectorOverlay, ImageComparisonLayout, ImageFormField
Run 4 consumes Run 3 outputs, produces:
- ImageCellDisplay, ImageCellEditor (atoms/grid/image/)
- ImageUploadDialog organism
- item-grid-columns update
- Barrel exports in canary.ts

Splitting mitigates:

  • Context window exhaustion from tracking 19 component specs simultaneously
  • Cascading failures from Wave 0b structural changes (file moves, import paths)
  • Difficulty diagnosing build failures across unrelated component groups

Coordination overhead:

  • Low — all runs target the same repository on a single feature branch
  • Hand-offs are filesystem-only (committed code from prior run)
  • Single worktree for all runs (sequential execution)
  • Parent branch: main (up-to-date with origin before branching)
  • Base branch: jmpicnic/item-image-upload-components (created off main)
  • Worktrees: One per run when parallelism within a run risks update conflicts. Runs with fully independent tasks (e.g., Run 2 with 5 leaf components) may use multiple worktrees. All worktrees merge back to the base branch at the end of each wave.
image-components-worktrees/<run-or-task>

Examples:

  • image-components-worktrees/run-1 — single worktree for sequential Run 1
  • image-components-worktrees/run-2-display — parallel agent in Run 2
  • image-components-worktrees/run-2-dropzone — parallel agent in Run 2

Each parallel worktree gets its own branch off the base branch: jmpicnic/item-image-upload-components/<task> (e.g., jmpicnic/item-image-upload-components/image-display).

At the end of the wave, each task branch is merged into the base branch jmpicnic/item-image-upload-components, conflicts resolved, and the gate validated.

Worktrees removed after each wave gate passes. Parent worktree directory removed after final PR is merged.

#QuestionOptionsRecommendationDecision
1Should Runs 2 and 3 use parallel agents within each run?(a) Sequential single agent, (b) 2-3 parallel agents per run(b) Parallel within Run 2 (8 components are leaf-level and independent)Pending

Copyright: (c) Arda Systems 2025-2026, All rights reserved