What it does (shipped 2026-04-22)
Every night at 11pm, nightly-consolidation Section I walks every person in the knowledge graph and computes derived fields. The PWA renders these as a new "๐ธ Relationships" collapsible.
Derived fields on each entities.people entry
| Field | Source | Use |
|---|---|---|
last_seen_at | Max date across meetings this person attended + email insights mentioning them + dated relationships | Age of relationship |
connection_count | Total relationships where this person is either from or to | Depth / centrality |
recency_status | Derived: active (<30d), warming (30-90d), dormant (90-180d), stale (>180d), unknown | Engagement tier |
stale_active_deal (flag) | True if person linked to a *_pending deal AND recency is warming or worse | RED flag |
PWA surfaces
The "๐ธ Relationships" section shows:
1. ๐ Most connected people โ top 5 by connection_count. These are the folks most central to your BD ecosystem.
2. ๐ค Dormant but valuable โ reach out โ people in warming status (30-90d since contact) with 3+ connections. High-value re-engagement list for the week.
3. ๐ธ Stale relationships (90d+) โ people with 2+ connections who've gone cold. Audit whether they matter.
Each person row shows: name, role, connection count, last-seen date.
Integration
- Graph:
knowledge_graph.jsonโ fields live on eachentities.people[i]directly - Consolidation:
~/.claude/scheduled-tasks/nightly-consolidation/SKILL.mdSection I - PWA renderer:
build_pwa.pyโrender_graph_insights()+summarize_graph()updates
How to apply
- When asked "who should I re-engage this week?", check the Dormant-but-valuable list on the PWA
- When asked "who's most connected?", look at Most connected
- If a person shows up as
stale_active_dealflagged, that's a deal that's dying of neglect โ priority to touch
Future enhancements (not yet built)
- Relationship strength inference (frequency-weighted, not just connection_count)
- Shortest-path suggestions ("you don't know X, but you could get introduced via Y")
- Auto-decay of
activestatus without new signals - Per-property engagement scoring (not just per-person)