[QA] Pattern Insights not surfacing on PersonDetail — insight ID filter incompatible with intimate-state-engine #170
Labels
No labels
blocked:depends-p1
blocked:gate-research
blocked:lint-failed
blocked:needs-decision
blocked:needs-human
blocked:verify-failed
bug
data-loss
documentation
enhancement
feature-request
in-progress
needs-decompose
needs-triage
pwa
quickfix
security
security/high
security/medium
test
test-coverage
triage-approved
vault
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Mark/kimi_agent_kin_app_sync#170
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Finding
Deployed
aa50e9c feat(#168): intimate-state awarenessto a real Kindle (2026-09-10). Seeded 32 interactions for a partner (relationshipType: Partner) with 3 logged conflicts and a varied mood cycle across 6 months. The Engagement Overview renders correctly (Average mood: 3/5, Closeness Trend, Cadence Health). Pattern Insights section does not render at all — the<h3>Pattern Insights</h3>element is missing from the DOM.Reproduction
Root cause
PersonDetail.tsx:2993-3002filters insights by:But
intimate-state-engine.tsgenerates IDs usingpersonName(the displayName string), notperson.id:So mood insights like
mood-decline-Jordan Reyesget filtered out by theincludes(-${person.id})check (which expects-19, not-Jordan Reyes).The behavior-pattern-engine IDs (
conflict-withdrawal-${person.id}) and conflict-precursor IDs work correctly, but the mood insights are silently dropped.Suggested fix
Either:
person.idconsistently:mood-decline-${person.id}mood-clustering-${person.id}mood-trend-${person.id}(i.id.includes(-${person.id}) || i.id.endsWith(-${person.id}) || i.id.includes(personName))Option 1 is safer — IDs should always be stable identifiers, not display strings.
Severity
Medium — the intimate-state feature shipped today is partially invisible. Conflict-pattern insights (which use the right ID format) do render. Mood insights (which use the wrong ID format) are silently filtered.
Discovered by
Real-Kindle verification of #168 against a 6-month seeded romance arc (2026-09-09) + this re-run (2026-09-10).