[feature] Intimate-timing predictions for romantic partners — 6 gaps surfaced by 6-month seeded arc #167
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#167
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?
Context
Follow-up to #166. Ran the full predictive stack against a seeded 6-month romance arc (32 interactions, 6 gifts, 4 anniversaries, 2 active goals) on a real Kindle device. The existing engine surfaces Emergent Observations, cadence, and gift ideas well. But it's missing 6 timing/prediction surfaces that would be valuable specifically for romantic partners.
What's working
Per-person page surfaces for
relationshipType: Partner:What's missing
1. Anniversary countdown surfaced on Person Detail (not just Home)
2. Milestone progression
3. Intimacy-level aggregation
Interaction.intimacyLevel: 1-5exists in the schema4. Anniversary-aware gift suggestions
5. Natural-rhythm expression
cadence.avgDaysBetween(used internally for drift detection)6. Quality trend by phase
Reproduction
Suggested implementation locations
src/pages/PersonDetail.tsx+ a newAnniversaryCountdowncomponentRelationshipMilestoneTimelinecomponent readingdateEvents+ filtering by relationship typesrc/lib/metrics-engine.tscomputePersonMetricswith anintimacysectionsrc/lib/metrics-engine.tsgenerateSuggestionsForPersonwith a "gift_for_upcoming_event" typecadence.avgDaysBetweenin the existing Connection Goal sectionclosenessTrendinmetrics-engine.tsto bucket by monthSeverity
Medium — predictive surfaces are the app's core value-add for romantic partners. Currently the engine treats a romantic partner the same as any other relationship type; the partner-specific surfaces above would meaningfully differentiate the experience.
Update (2026-09-09) — Vault boundary clarification
User clarified that intimate-aware features live in the Little Black Book vault, not the main DB. Re-classifying each gap:
intimacyLevel, by definition privateItem #3 should be implemented as a vault feature: a new
vaultIntimacytable or vault-scoped metrics engine that aggregatesintimacyLevelfrom vault-stored interactions. Surfaced only inside the unlocked vault view.Implementation reference: vault architecture at
src/vault/vault-db.tsandsrc/vault/VaultStore.ts. Use the sameassertUnlocked()gate pattern.Mark referenced this issue2026-09-10 02:12:54 +00:00
↳ Parent issue: #169 (privacy audit — every privacy-sensitive field traced back to the Little Black Book). All work on this issue should reference #169's field-by-field audit and the architectural fix sketch.