@ghostpaw/affinity 0.2.2 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,49 @@
1
+ # Manage Recurring Dates And Reminders
2
+
3
+ Primary tools:
4
+ - `manage_date_anchor`
5
+ - `review_affinity`
6
+ - `inspect_affinity_item`
7
+
8
+ Goal:
9
+ - Materialize recurring important dates into a durable reminder surface that later review and relationship maintenance can trust.
10
+
11
+ When to use:
12
+ - A date recurs yearly and matters to a contact or link.
13
+ - You want reminders for birthdays, anniversaries, renewals, memorials, or other yearly anchors.
14
+
15
+ When not to use:
16
+ - The date is a one-off event.
17
+ - The fact is a preference or metadata note rather than a recurring anchor.
18
+
19
+ Step-by-step sequence:
20
+ 1. Confirm the target contact or link first.
21
+ 2. Use `manage_date_anchor` with `action: "add"` and the right recurrence kind.
22
+ 3. Keep the summary operator-friendly so future reminders are immediately understandable.
23
+ 4. Use `review_affinity` with the upcoming-dates view and an explicit horizon during regular review work.
24
+ 5. Revise anchors when recurrence details change.
25
+ 6. Remove anchors when the reminder surface should no longer treat the date as active.
26
+
27
+ Validation checks:
28
+ - The anchor appears in upcoming-date review when it falls within the chosen horizon.
29
+ - Duplicate anchors are not silently piling up.
30
+ - The summary and significance are still meaningful for later action.
31
+
32
+ Pitfalls:
33
+ - Do not store important recurring dates only as loose attributes.
34
+ - Do not create duplicate yearly anchors for the same target and meaning.
35
+ - Do not use recurring anchors for commitments; those belong in the commitment flow.
36
+
37
+ Tips and tricks:
38
+ - Tune horizons by workflow: short for weekly review, longer for quarterly planning.
39
+ - Use significance to help order upcoming-date review meaningfully.
40
+ - Link-level anchors are valuable when the date belongs to a relationship rather than one person.
41
+
42
+ Tool calls to prefer:
43
+ - `manage_date_anchor` for add, revise, and remove
44
+ - `review_affinity` with the upcoming-dates view
45
+ - `inspect_affinity_item` when you need exact context on the target
46
+
47
+ Related skills:
48
+ - `manage-promises-and-agreements`
49
+ - `review-radar-progression-and-graph`
@@ -0,0 +1,50 @@
1
+ # Model Structure, Orgs, And Households
2
+
3
+ Primary tools:
4
+ - `manage_contact`
5
+ - `manage_relationship`
6
+ - `inspect_affinity_item`
7
+ - `review_affinity`
8
+
9
+ Goal:
10
+ - Capture the stable factual skeleton of the world: who belongs where, who reports to whom, and what entities are structurally connected.
11
+
12
+ When to use:
13
+ - You need to represent employment, family structure, team membership, households, or service affiliation.
14
+ - The fact should exist even if no emotional or operational relationship score is implied.
15
+
16
+ When not to use:
17
+ - You want to express how strong, strained, warm, or active a relationship feels.
18
+ - You are recording something that happened in time.
19
+
20
+ Step-by-step sequence:
21
+ 1. Create or locate the entities involved.
22
+ 2. Decide whether the fact is structural rather than relational. If the answer survives even with zero interaction history, it is usually structural.
23
+ 3. Use `manage_relationship` with `action: "set_structural_tie"` to record the factual tie.
24
+ 4. Include a role when the role clarifies the structure, such as job title or household role.
25
+ 5. Inspect relevant profiles or review lists after large structural batches to confirm the world model is clean.
26
+ 6. Remove or replace outdated ties when the world changes, such as a job move or team change.
27
+
28
+ Validation checks:
29
+ - The structural tie is visible and stable.
30
+ - No fake progression fields were introduced just to represent a factual tie.
31
+ - The chart and review surfaces now reflect the world structure you expect.
32
+
33
+ Pitfalls:
34
+ - Do not use structural ties to stand in for closeness, trust, or cadence.
35
+ - Do not seed social links just because a structural tie exists; only do that if a live relational track also matters.
36
+ - Do not leave outdated structural ties hanging after the factual world changes.
37
+
38
+ Tips and tricks:
39
+ - Structural and relational links can coexist. Use both when both truths matter.
40
+ - Groups, households, companies, teams, and services often deserve their own contacts.
41
+ - If you are unsure, ask whether the statement is about belonging or about lived relationship quality.
42
+
43
+ Tool calls to prefer:
44
+ - `manage_relationship` with `set_structural_tie`
45
+ - `inspect_affinity_item` to verify exact targets
46
+ - `review_affinity` for broader structural review
47
+
48
+ Related skills:
49
+ - `identify-and-locate-contacts`
50
+ - `record-direct-evidence-well`
@@ -0,0 +1,49 @@
1
+ # Reconcile Duplicates And Merge Safely
2
+
3
+ Primary tools:
4
+ - `review_affinity`
5
+ - `inspect_affinity_item`
6
+ - `merge_contacts`
7
+
8
+ Goal:
9
+ - Collapse true duplicates without losing lineage, identities, participants, or relationship truth.
10
+
11
+ When to use:
12
+ - Duplicate-candidate review surfaces indicate a likely duplicate.
13
+ - A harness or operator has strong evidence that two contacts are the same real entity.
14
+
15
+ When not to use:
16
+ - The match is still speculative and unresolved.
17
+ - The real need is just better identities or labels rather than an actual merge.
18
+
19
+ Step-by-step sequence:
20
+ 1. Start with `review_affinity` on the duplicate-candidate view.
21
+ 2. Inspect both candidate contacts before merging.
22
+ 3. Confirm the winner explicitly rather than letting recency or convenience decide by accident.
23
+ 4. Use `merge_contacts` only when the identity and history picture is clear.
24
+ 5. Inspect the surviving contact after the merge to confirm the merged state looks right.
25
+ 6. Review merge history when you need lineage confirmation later.
26
+
27
+ Validation checks:
28
+ - The surviving contact now contains the expected identities and visible history.
29
+ - The loser is no longer treated as a live normal contact.
30
+ - The merge reason is still understandable when reviewed later.
31
+
32
+ Pitfalls:
33
+ - Do not merge on a weak fuzzy-name match alone.
34
+ - Do not skip inspection of both sides before merging.
35
+ - Do not assume merges are easy to conceptually undo just because the system preserves lineage.
36
+
37
+ Tips and tricks:
38
+ - Prefer a winner that already carries the stronger routing identity and richer history unless another reason dominates.
39
+ - If the system is uncertain, clarify first instead of forcing a merge.
40
+ - Review merge history after sensitive merges to confirm the lineage chain is clean.
41
+
42
+ Tool calls to prefer:
43
+ - `review_affinity` for duplicate-candidate discovery and merge-history review
44
+ - `inspect_affinity_item` for both candidate contacts
45
+ - `merge_contacts` only after confirmation
46
+
47
+ Related skills:
48
+ - `identify-and-locate-contacts`
49
+ - `import-history-without-faking-evidence`
@@ -0,0 +1,52 @@
1
+ # Record Direct Evidence Well
2
+
3
+ Primary tools:
4
+ - `record_event`
5
+ - `inspect_affinity_item`
6
+ - `review_affinity`
7
+ - `manage_relationship`
8
+
9
+ Goal:
10
+ - Capture what really happened between the owner and other contacts so Affinity can derive progression, trust, cadence, and moments cleanly.
11
+
12
+ When to use:
13
+ - A conversation, activity, support exchange, conflict, correction, milestone, or direct operational interaction just happened.
14
+ - You want future radar, progression, journal, and chart views to reflect the event truthfully.
15
+
16
+ When not to use:
17
+ - You are importing pre-system history.
18
+ - You only observed third parties and were not directly part of the relationship evidence.
19
+
20
+ Step-by-step sequence:
21
+ 1. Confirm the participants first. Use exact contacts whenever possible.
22
+ 2. Use `record_event` with the smallest honest event family: `interaction` for ordinary direct evidence, `milestone` when the event is truly milestone-shaped, or another event family only when it better matches reality.
23
+ 3. Set significance conservatively. Use high significance only when the event genuinely changed the relationship.
24
+ 4. Let the system auto-create owner-facing links when appropriate instead of manually seeding a link just because a direct event happened.
25
+ 5. Review the receipt or inspect the resulting profile when you need to understand the effect.
26
+ 6. Use `review_affinity` on journal, timeline, moments, or readiness views when you need context after a sequence of events.
27
+
28
+ Validation checks:
29
+ - The right contacts were involved.
30
+ - The event family matches what really happened.
31
+ - The resulting mechanics feel plausible when reviewed.
32
+
33
+ Pitfalls:
34
+ - Do not inflate significance to force a rank-up.
35
+ - Do not turn ordinary direct evidence into a milestone just to get a dramatic moment.
36
+ - Do not use bond text as evidence. If the bond changed but no event happened, revise the bond separately.
37
+ - Do not guess through ambiguity; clarify the target first.
38
+
39
+ Tips and tricks:
40
+ - Conflict and correction are both first-class direct evidence. Use them honestly rather than hiding them inside generic summaries.
41
+ - Multi-participant owner events can refresh multiple links at once. That is a feature, not a bug.
42
+ - If you need to label the current narrative reading without changing mechanics, use `manage_relationship` with `revise_bond` after the evidence is recorded.
43
+
44
+ Tool calls to prefer:
45
+ - `record_event` for the evidence itself
46
+ - `inspect_affinity_item` for exact read-back
47
+ - `review_affinity` for journals, timelines, moments, and readiness
48
+ - `manage_relationship` only for bond interpretation after the fact
49
+
50
+ Related skills:
51
+ - `record-observations-and-referrals`
52
+ - `review-radar-progression-and-graph`
@@ -0,0 +1,48 @@
1
+ # Record Observations And Referrals
2
+
3
+ Primary tools:
4
+ - `record_event`
5
+ - `review_affinity`
6
+ - `inspect_affinity_item`
7
+
8
+ Goal:
9
+ - Add truthful third-party graph information while keeping observational evidence weaker than direct relationship evidence.
10
+
11
+ When to use:
12
+ - You learned that two people know each other, one person referred another, or you observed a third-party relationship pattern.
13
+ - You want the graph to reflect world truth without pretending you had the direct interaction yourself.
14
+
15
+ When not to use:
16
+ - The owner directly participated in the event and should record direct evidence instead.
17
+ - You merely suspect a relationship with no strong enough fact to justify recording it.
18
+
19
+ Step-by-step sequence:
20
+ 1. Confirm the third-party contacts you are referring to.
21
+ 2. Use `record_event` with `kind: "observation"` when the truth is observational rather than direct.
22
+ 3. Keep significance modest unless the observed fact is genuinely consequential.
23
+ 4. After recording, use `review_affinity` to inspect observed-link or graph views and verify the resulting topology.
24
+ 5. If later direct evidence exists, record that separately rather than expecting the observation to do all the work.
25
+
26
+ Validation checks:
27
+ - The graph now reflects the third-party fact you meant to capture.
28
+ - Observed links stay appropriately weaker than direct links.
29
+ - No accidental owner-facing intimacy was invented.
30
+
31
+ Pitfalls:
32
+ - Do not use observations to fake deep trust or rank.
33
+ - Do not create a clique from vague group knowledge when the system only has justified pairwise facts.
34
+ - Do not promote a rumor to structure or direct evidence without better confirmation.
35
+
36
+ Tips and tricks:
37
+ - Referral chains are excellent observational facts because they help later review and graph interpretation.
38
+ - Use chart and observed-link review views together after batches of observation work.
39
+ - Observations are often better than silence, but they should remain humble.
40
+
41
+ Tool calls to prefer:
42
+ - `record_event` with `observation`
43
+ - `review_affinity` with observed-link and graph views
44
+ - `inspect_affinity_item` if you need exact follow-up on one target
45
+
46
+ Related skills:
47
+ - `record-direct-evidence-well`
48
+ - `review-radar-progression-and-graph`
@@ -0,0 +1,48 @@
1
+ # Review Radar, Progression, And Graph
2
+
3
+ Primary tools:
4
+ - `review_affinity`
5
+ - `inspect_affinity_item`
6
+
7
+ Goal:
8
+ - Turn review surfaces into a disciplined operating loop for outreach, prioritization, and graph understanding.
9
+
10
+ When to use:
11
+ - You need a daily or weekly maintenance pass.
12
+ - You want to know who is drifting, who is ready for deeper investment, or how the network is structured.
13
+
14
+ When not to use:
15
+ - You already know the one exact item you need to inspect in depth.
16
+ - You are mutating state and only need confirmation of a single write result.
17
+
18
+ Step-by-step sequence:
19
+ 1. Start with `review_affinity` on the highest-level view that matches the question: radar, owner links, progression readiness, graph, moments, or a timeline view.
20
+ 2. Use radar when the question is who needs attention now.
21
+ 3. Use progression readiness when the question is where additional positive investment is most likely to deepen a relationship.
22
+ 4. Use graph review when the question is network shape, bridges, clusters, or hidden centrality.
23
+ 5. Use journal or timeline views when a score needs narrative context before action.
24
+ 6. Escalate to `inspect_affinity_item` only after the review surface identifies the exact target worth opening deeply.
25
+
26
+ Validation checks:
27
+ - The chosen review surface actually matches the decision you are trying to make.
28
+ - You inspected context before acting on a surprising score.
29
+ - Follow-up work targets the right contact or link rather than the loudest metric.
30
+
31
+ Pitfalls:
32
+ - Do not treat radar as a command to act blindly without context.
33
+ - Do not confuse progression readiness with relationship importance; they answer different questions.
34
+ - Do not rely on one score when a timeline or graph view would explain the situation better.
35
+
36
+ Tips and tricks:
37
+ - Review flows are strongest when used rhythmically rather than sporadically.
38
+ - Use graph review to understand bridges and clusters, then use timeline or profile inspection for the exact story behind them.
39
+ - Empty results can still be informative: they may confirm that maintenance debt is currently low.
40
+
41
+ Tool calls to prefer:
42
+ - `review_affinity` for all dashboard-style surfaces
43
+ - `inspect_affinity_item` for exact deep follow-up
44
+
45
+ Related skills:
46
+ - `record-direct-evidence-well`
47
+ - `manage-recurring-dates-and-reminders`
48
+ - `reconcile-duplicates-and-merge-safely`