You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Runs **Haiku** on each story to classify public vs private. Flags: internal company data, employee criticism, offensive language, political content, private conversations. Writes `public` boolean + `reason` to stories.json.
35
+
36
+
```bash
37
+
npx tsx scripts/classify-stories.ts # classify all unclassified stories
→ /stories (public only, top by weight) + /stories/all (everything for review)
52
+
```
53
+
54
+
Key steps:
55
+
1.**Dedup**: signals from same source + same day + 2+ shared tags are merged before story creation. Cross-source (Telegram + WhatsApp) dedup by shared tags + 2-day window.
56
+
2.**Editorialize**: Sonnet generates journalistic titles, subtitle, editorial body with indirect speech + direct quotes.
57
+
3.**Classify sensitivity**: Haiku flags stories with internal data, employee criticism, offensive language, etc.
58
+
4.**Render**: `/stories` shows only `public: true` top stories. `/stories/all` shows everything.
59
+
32
60
### Signals pipeline (build-signals.ts)
33
61
34
62
Reads 3 sources from Stromae vault, normalizes, groups by thread, filters quality, enriches links with OG metadata, builds graph. Outputs `signals.json`, `stories.json`, `graph.json` to `src/data/`.
0 commit comments