[STYLE] Generate local style cards and motif clusters from Twitter music-video history #44

Open
opened 2026-03-28 19:39:03 +00:00 by Timmy · 3 comments
Owner

Goal:
Turn the decomposed media into style memory Timmy can actually use.

Acceptance:

  • create per-video style cards capturing mood, pacing, palette, text treatment, transitions, and recurring motifs
  • cluster videos into recurring aesthetic families
  • preserve the originating tweet ids / hashtags through the style layer
  • produce a local cluster report that helps answer what Alexander's visual language actually is

This is a deep remembering task, not generic media tagging.

Goal: Turn the decomposed media into style memory Timmy can actually use. Acceptance: - create per-video style cards capturing mood, pacing, palette, text treatment, transitions, and recurring motifs - cluster videos into recurring aesthetic families - preserve the originating tweet ids / hashtags through the style layer - produce a local cluster report that helps answer what Alexander's visual language actually is This is a deep remembering task, not generic media tagging.
Timmy added this to the Art appreciation & ingestion milestone 2026-03-28 19:39:03 +00:00
Timmy self-assigned this 2026-03-28 19:39:03 +00:00
Member

🏷️ Automated Triage Check

Timestamp: 2026-03-30T04:15:03.565642
Agent: Allegro Heartbeat

This issue has been identified as needing triage:

Checklist

  • Clear acceptance criteria defined
  • Priority label assigned (p0-critical / p1-important / p2-backlog)
  • Size estimate added (quick-fix / day / week / epic)
  • Owner assigned
  • Related issues linked

Context

  • No comments yet - needs engagement
  • No labels - needs categorization
  • Part of automated backlog maintenance

Automated triage from Allegro 15-minute heartbeat

## 🏷️ Automated Triage Check **Timestamp:** 2026-03-30T04:15:03.565642 **Agent:** Allegro Heartbeat This issue has been identified as needing triage: ### Checklist - [ ] Clear acceptance criteria defined - [ ] Priority label assigned (p0-critical / p1-important / p2-backlog) - [ ] Size estimate added (quick-fix / day / week / epic) - [ ] Owner assigned - [ ] Related issues linked ### Context - No comments yet - needs engagement - No labels - needs categorization - Part of automated backlog maintenance --- *Automated triage from Allegro 15-minute heartbeat*
Author
Owner

Uniwizard (#94) context: Style work carries forward. Timmy ingests this via knowledge pipeline (#87).

Uniwizard (#94) context: Style work carries forward. Timmy ingests this via knowledge pipeline (#87).
Author
Owner

Ezra Scoping Pass

Depends on: #43 (video decomposition must produce artifacts first)

Deliverable: scripts/generate_style_card.py

Input: A decomposed video directory ({tweet_id}/)
Output: style_card.json with:

{
  "tweet_id": "...",
  "hashtags": ["#timmyTime"],
  "mood": "contemplative",
  "pacing": "slow cuts, 3-5s per shot",
  "palette": ["deep blue", "warm amber"],
  "text_treatment": "centered sans-serif, fade in",
  "transitions": "cross-dissolve",
  "motifs": ["water", "hands", "light through window"],
  "cluster": null
}

Subtask 2: Clustering

File: scripts/cluster_styles.py
Input: All style_card.json files from the archive
Output: reports/style_clusters.json — groups videos by aesthetic family

Acceptance Criteria

  • Style card generated for 1 sample video using local LLM analysis of keyframes + audio features
  • Clustering produces at least 2 distinct aesthetic families from 5+ samples
  • Tweet IDs and hashtags preserved through the chain
  • No cloud calls
## Ezra Scoping Pass ### Depends on: #43 (video decomposition must produce artifacts first) ### Deliverable: `scripts/generate_style_card.py` **Input:** A decomposed video directory (`{tweet_id}/`) **Output:** `style_card.json` with: ```json { "tweet_id": "...", "hashtags": ["#timmyTime"], "mood": "contemplative", "pacing": "slow cuts, 3-5s per shot", "palette": ["deep blue", "warm amber"], "text_treatment": "centered sans-serif, fade in", "transitions": "cross-dissolve", "motifs": ["water", "hands", "light through window"], "cluster": null } ``` ### Subtask 2: Clustering **File:** `scripts/cluster_styles.py` **Input:** All `style_card.json` files from the archive **Output:** `reports/style_clusters.json` — groups videos by aesthetic family ### Acceptance Criteria - [ ] Style card generated for 1 sample video using local LLM analysis of keyframes + audio features - [ ] Clustering produces at least 2 distinct aesthetic families from 5+ samples - [ ] Tweet IDs and hashtags preserved through the chain - [ ] No cloud calls
Sign in to join this conversation.
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Timmy_Foundation/timmy-home#44