# S02: Creator Freshness + Homepage Card Dates — UAT

**Milestone:** M015
**Written:** 2026-04-03T04:21:37.819Z

## UAT: Creator Freshness + Homepage Card Dates

### Preconditions
- Chrysopedia running on ub01:8096
- At least one creator with 0 techniques (Caracal Project)
- At least one creator with techniques (COPYCATT, Skope, etc.)

### Test Cases

#### TC1: API returns last_technique_at field
1. `curl -s http://ub01:8096/api/v1/creators?limit=6 | python3 -m json.tool`
2. **Expected:** Every item in the response has a `last_technique_at` field
3. Creators with techniques: field is an ISO datetime string (e.g., `2026-04-02T23:19:16.258484`)
4. Caracal Project (0 techniques): field is `null`

#### TC2: Creators browse page shows freshness dates
1. Navigate to http://ub01:8096/creators
2. **Expected:** Each creator row with techniques shows "Last updated: Mon D" (e.g., "Last updated: Apr 2")
3. Caracal Project row shows stats but NO "Last updated" text

#### TC3: Creators browse page date format
1. Navigate to http://ub01:8096/creators
2. **Expected:** Dates use short format: "Apr 2", "Apr 3" — NOT "April 2, 2026" or "2026-04-02"

#### TC4: Homepage recently-added cards show dates
1. Navigate to http://ub01:8096
2. Scroll to "Recently Added" section
3. **Expected:** Each card shows a small muted date next to or near the creator name
4. Dates use short format (e.g., "Apr 3")

#### TC5: Date styling is muted
1. Navigate to http://ub01:8096/creators
2. **Expected:** "Last updated" text is visually muted (smaller, lighter) compared to primary stats text
3. Navigate to http://ub01:8096
4. **Expected:** Card dates are subtle — not competing with title or creator name for visual hierarchy

#### TC6: Pagination and sorting unaffected
1. `curl -s 'http://ub01:8096/api/v1/creators?limit=2&offset=2&sort=views'`
2. **Expected:** Returns 2 creators, both with `last_technique_at` field. Pagination works correctly.
3. `curl -s 'http://ub01:8096/api/v1/creators?sort=alpha'`
4. **Expected:** Alphabetical sort still works. `last_technique_at` present on all items.
