# 003.0-DEV-FILTER-MATURE-VERSIONS: Filter to Mature Versions Only

## Release Goal

**Release 0.2: Maturity Filtering**

Filter the versions to only include ones >= 7 days old. Smart filtering: start from the latest and work backwards until we find a mature version.

## How This Story Contributes

This implements the core value proposition - protecting against supply chain attacks by only showing mature versions. Use smart filtering to efficiently find the newest mature version.

## User Story

**Format**: So that I only see safe updates that are mature enough, as a developer, I want dry-aged-deps to filter out versions younger than 7 days and show me only mature options.

**INVEST Criteria Compliance**:

- **Independent**: Builds on version age data
- **Negotiable**: The 7-day threshold could be configurable later
- **Valuable**: Delivers the core safety feature
- **Estimable**: Clear scope - filter and display
- **Small**: Single iteration
- **Testable**: Can verify filtering works correctly

## Acceptance Criteria

- [ ] **Core Functionality**: Filters out versions < 7 days old
- [ ] **Smart Filtering**: Checks latest first, works backwards until finding mature version
- [ ] **No Mature Available**: Clearly indicates when no mature versions exist
- [ ] **Updated Output**: Shows filtered npm outdated style output with only mature updates
- [ ] **Skip Current**: Don't show package if mature version <= current version

## Requirements (Current Implementation or To Be Implemented)

- **REQ-AGE-THRESHOLD**: 7 days minimum age
- **REQ-SMART-SEARCH**: Start from latest, work backwards to first mature version
- **REQ-COMPARISON**: Only show if mature version > current version
- **REQ-OUTPUT**: npm outdated style table with filtered results

## Dependencies

- **001.0-DEV-RUN-NPM-OUTDATED**: Need list of outdated packages
- **002.0-DEV-FETCH-VERSION-AGES**: Need version ages

## Story Notes

**Gall's Law Compliance**: Adds filtering to the working system. Still shows npm outdated style output, just filtered.

**Next Evolution**: Story 004.0 will add vulnerability checking to filter out vulnerable versions.
