Quickstart: CLI 2.x Readiness Sprint

Feature: 039-cli-2x-readiness Date: 2026-02-12

Prerequisites

  • Python 3.11+
  • Git
  • Access to the 2.x branch: git checkout 2.x
  • spec-kitty-events library installed (vendored or via pip)

Branch Setup

All work targets the 2.x branch. Do NOT work on main for this sprint.

git checkout 2.x
git pull origin 2.x

Work Package Implementation Order

Wave 1 (Parallel — no dependencies)

These WPs can be implemented simultaneously by different agents:

WPTitleEffortKey File(s)
WP01Fix setup-plan NameErrorSmallsrc/specify_cli/cli/commands/agent/feature.py
WP02Fix batch error surfacingMediumsrc/specify_cli/sync/batch.py, sync/queue.py
WP03Fix sync status --checkSmallsrc/specify_cli/sync/ or cli/commands/sync.py
WP05Extend sync statusMediumsrc/specify_cli/sync/queue.py
WP06Lane mapping testsSmallsrc/specify_cli/sync/emitter.py
WP08Global runtime convergenceMediumsrc/specify_cli/core/project_resolver.py

Wave 2 (Depends on Wave 1)

WPTitleDepends OnKey File(s)
WP04Sync diagnose commandWP02src/specify_cli/sync/diagnose.py (new)
WP07SaaS handoff docWP02, WP06kitty-specs/039-cli-2x-readiness/contracts/

Wave 3 (Integration)

WPTitleDepends OnKey File(s)
WP09E2E smoke testWP01, WP02tests/e2e/test_cli_smoke.py (new)

Running Tests

# Run all sync-related tests (baseline: 93+ should pass)
python -m pytest tests/specify_cli/sync/ -x -q

# Run planning workflow tests
python -m pytest tests/integration/test_planning_workflow.py -x -q

# Run task workflow tests
python -m pytest tests/integration/test_task_workflow.py -x -q

# Run full test suite (expect ~50 pre-existing failures from cross-test pollution)
python -m pytest tests/ -x -q

Key Reference Documents

  • Spec: kitty-specs/039-cli-2x-readiness/spec.md
  • Plan: kitty-specs/039-cli-2x-readiness/plan.md
  • Batch ingest contract: kitty-specs/039-cli-2x-readiness/contracts/batch-ingest.md
  • Lane mapping contract: kitty-specs/039-cli-2x-readiness/contracts/lane-mapping.md
  • Data model: kitty-specs/039-cli-2x-readiness/data-model.md
  • Constitution: .kittify/memory/constitution.md

Key Decisions

1. Delivery branch: 2.x (not main) 2. Credential path: ~/.spec-kitty/credentials stays separate from ~/.kittify/ 3. Lane mapping: 7→4 collapse is lossy by design (BLOCKED→doing, CANCELED→done) 4. No main changes: Main remains offline-only, sync-free during this sprint