# Specification Index

## Selection Algorithm

```
FIRST: Check for Change Requests (CRs) with status: ready → process those first
THEN:  Select requirements using:
  1. Filter: status = ready
  2. Filter: all dependencies have status = implemented
  3. Score: score = (priority_weight×3) + (blocking_count×2) + (dependency_met×1) - (complexity×0.5) - (open_questions×5)
  4. Select highest score
  5. Tiebreak: lower REQ number (older first)
```


## Requirements Registry

<!-- Keep this in sync with requirement files. Agent updates on every status change. -->

| ID | Title | Status | Version | Priority | Dependencies | Blocks | Questions | Source |
|----|-------|--------|---------|----------|--------------|--------|-----------|--------|
| REQ-000 | Project Setup | implemented | 1 | critical | none | all | 0 | — |
| REQ-001 | Auto-init with Confirmation | implemented | 1 | high | REQ-000 | — | 0 | TUI-first redesign session |
| REQ-002 | Deprecate CLI Commands | implemented | 1 | high | REQ-000 | — | 0 | TUI-first redesign session |
| REQ-003 | Commands Reference Documentation | implemented | 1 | medium | REQ-001, REQ-002 | — | 0 | TUI-first redesign session |
| REQ-004 | CLI Self-Update | ready | 1 | high | REQ-000 | — | 0 | User request 2026-03-03 |
| REQ-005 | Startup Version Check | ready | 1 | medium | REQ-004 | — | 0 | User request 2026-03-03 |
| REQ-006 | Bundle Marketplace Content | ready | 1 | critical | REQ-000 | — | 0 | User request 2026-03-03 |
| REQ-007 | TUI Integration Tests with Textual Pilot | review | 1 | high | REQ-006 | — | 0 | User request 2026-03-03 |
| REQ-008 | Agent Version Check — Outdated Agent Detection on TUI Startup | review | 1 | medium | REQ-006, REQ-007 | — | 0 | IDEA-003, User request 2026-03-03 |
| REQ-009 | Template Version Tracking via cli_version in Manifest | review | 1 | medium | REQ-000, REQ-006 | — | 0 | IDEA-004, User request 2026-03-03 |
| REQ-010 | Kernel Evolution + CLAUDE.md Patch + Uninstall | review | 1 | high | REQ-000 | — | 0 | User request 2026-03-03 |
| REQ-011 | Skills Install and Uninstall | draft | 1 | medium | REQ-010 | — | 0 | User request 2026-03-03 |
| REQ-012 | Debug Capture — Trajectory Logging and Fine-Tuning Dataset Collection | ready | 1 | high | REQ-000 | — | 0 | User request 2026-03-04 |
| REQ-013 | `ievo config` TUI Config Tab + `ievo secret` Rename | ready | 1 | high | REQ-000 | — | 0 | User request 2026-03-05 |
| REQ-014 | `ievo devinstall` — Symlink-Based Dev Installation | ready | 1 | high | REQ-000 | — | 0 | User request 2026-03-05 |
| REQ-015 | Branding Renames | review | 1 | medium | REQ-000 | — | 0 | User request 2026-03-05 |

## Change Requests

<!-- CRs are ALWAYS processed before new REQs -->

| ID | Modifies | Status | Created | Source |
|----|----------|--------|---------|--------|
| CR-001 | REQ-002 | ready | 2026-03-03 | REQ-004 repurposes ievo update |

## Status Legend

### Requirement statuses
- `draft` — has ambiguities, not ready for implementation
- `ready` — fully specified, agent can pick it up
- `blocked` — agent found ambiguities, questions filed
- `in-progress` — agent is currently implementing
- `implemented` — all acceptance criteria met, all tests passing
- `removed` — deleted via Change Request

### Change Request statuses
- `draft` — CR written but not reviewed
- `impact-review` — agent assessed impact, waiting for human review
- `ready` — approved for implementation
- `applied` — changes merged into REQ, done
- `rejected` — decided not to apply

## Dependency Rules

- Agent MUST NOT start a REQ whose dependencies are not ALL `implemented`
- Circular dependencies are a spec error → file a question
- `REQ-000` (project setup) has no dependencies and blocks everything else
- CRs have implicit dependency on their target REQ being `implemented`

## Source Tracking

<!-- Map requirements back to their origin -->
<!-- | REQ-001..003 | GitHub Issue #12 | -->
