@unblocklabs/unblock-memory 0.3.16 → 0.3.17
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.
- package/README.md +105 -15
- package/dist/src/config.d.ts +2 -0
- package/dist/src/config.js +5 -2
- package/dist/src/evidence-review.d.ts +9 -1
- package/dist/src/evidence-review.js +2 -1
- package/dist/src/manager.d.ts +5 -1
- package/dist/src/people-background.d.ts +3 -0
- package/dist/src/people-background.js +5 -0
- package/dist/src/people-dossier-review.d.ts +41 -0
- package/dist/src/people-dossier-review.js +47 -0
- package/dist/src/people-primer-config.d.ts +13 -0
- package/dist/src/people-primer-config.js +33 -0
- package/dist/src/people-primer-tool.d.ts +5 -0
- package/dist/src/people-primer-tool.js +78 -0
- package/dist/src/people-primer.d.ts +94 -0
- package/dist/src/people-primer.js +170 -0
- package/dist/src/people-store.d.ts +8 -1
- package/dist/src/people-store.js +60 -2
- package/dist/src/people-tools.d.ts +2 -1
- package/dist/src/people-tools.js +35 -11
- package/dist/src/plugin.js +3 -1
- package/dist/src/response-outcome.d.ts +1 -1
- package/dist/src/typesafe-review.d.ts +9 -1
- package/dist/src/typesafe-review.js +41 -4
- package/openclaw.plugin.json +18 -1
- package/package.json +1 -1
- package/skills/people-whisperer/SKILL.md +107 -100
|
@@ -1,112 +1,119 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: people-whisperer
|
|
3
|
-
description: Maintain
|
|
3
|
+
description: Maintain brief PeopleSQL background snippets identifying a person and their relationship to the agent, not behavioral profiles or task history.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# People Whisperer
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
8
|
+
Help the agent recognize whom it is talking to, without telling it what that
|
|
9
|
+
person wants. A dossier is a short background primer, not a personality model.
|
|
10
|
+
|
|
11
|
+
## Inspect and research
|
|
12
|
+
|
|
13
|
+
- Use `memory_people_inspect` with `view: "person"` and an exact `personId` or
|
|
14
|
+
Slack identity. For maintenance, list `view: "people"` first; not everyone
|
|
15
|
+
needs an update. `reviewedAt` records the last write, not a due date.
|
|
16
|
+
- Research only three questions: who is this person (explicit role and
|
|
17
|
+
organization); what enduring organizational context identifies them; and what
|
|
18
|
+
is their relationship to this agent (e.g. personal assistant or AI counterpart)?
|
|
19
|
+
- When enabled, call `memory_people_prime({ personId, agentName })`. It retrieves
|
|
20
|
+
approved sources and grades background eligibility, not general relevance.
|
|
21
|
+
Follow useful source ranges with `memory_get`. Scores are triage, not facts.
|
|
22
|
+
`unknown` stays unknown; `evidence_found` still needs verification. Inspect
|
|
23
|
+
uncertain evidence rather than guessing.
|
|
24
|
+
- Use bounded, targeted `memory_search` calls for missing identity/relationship
|
|
25
|
+
answers and newer contradictory role or affiliation statements. Check available
|
|
26
|
+
agent identity/user context too, but do not treat the agent's own speculation
|
|
27
|
+
or an existing dossier as independent evidence. Follow source attribution.
|
|
28
|
+
Do not send local files to TypeSafe unless they are in approved corpora.
|
|
29
|
+
- Prefer explicit human statements or authoritative directory/identity context.
|
|
30
|
+
Topics someone discusses do not establish their job, priorities or responsibilities.
|
|
31
|
+
Old evidence can establish enduring background; unresolved changes in role,
|
|
32
|
+
organization or relationship must be investigated or omitted, not guessed away.
|
|
33
|
+
- If recent sessions are missing, use `memory_sync_sessions` and check
|
|
34
|
+
`memory_sync_status` before searching again. Disabled/unavailable primers do
|
|
35
|
+
not prevent ordinary source research.
|
|
36
|
+
|
|
37
|
+
## Draft a recognition snippet
|
|
38
|
+
|
|
39
|
+
Write one short paragraph, usually 2–3 sentences and **at most 70 words**. This
|
|
40
|
+
is a ceiling, not a target. Include only useful, explicit identity, role,
|
|
41
|
+
organization, enduring team context and person-agent relationship background.
|
|
42
|
+
|
|
43
|
+
Exclude preferences, working style, priorities, success criteria, feedback,
|
|
44
|
+
permissions, behavioral advice, business missions, goals, projects, commitments and dated anecdotes—even
|
|
45
|
+
when supported. A request for sales copy is not proof of a sales role. A technical
|
|
46
|
+
discussion is not proof of an engineering role. Never fill gaps with activity
|
|
47
|
+
summaries or invent formal titles. Memory is not authorization.
|
|
48
|
+
|
|
49
|
+
For legacy dossiers, deliberately remove behavioral sections and incident history.
|
|
50
|
+
Do not preserve an old claim merely because it was previously stored. Retain only
|
|
51
|
+
verified background; if no useful background can be established, prefer no dossier.
|
|
52
|
+
|
|
53
|
+
## Submit the verified snippet
|
|
54
|
+
|
|
55
|
+
Use `memory_people_update` with `action: "replace_dossier"`, the exact `personId`,
|
|
56
|
+
a concise `reason`, optional `agentName` if no identity name is configured, and
|
|
57
|
+
the complete `dossier` (not a patch):
|
|
56
58
|
|
|
57
59
|
```json
|
|
58
60
|
{
|
|
59
|
-
"
|
|
60
|
-
"
|
|
61
|
-
"
|
|
62
|
-
|
|
63
|
-
"
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
"statement": "A durable, specific claim.",
|
|
71
|
-
"evidence": [
|
|
72
|
-
{
|
|
73
|
-
"source": "session",
|
|
74
|
-
"locator": "qmd://path-returned-by-memory-search",
|
|
75
|
-
"observedAt": "2026-08-31T12:00:00Z"
|
|
76
|
-
}
|
|
77
|
-
],
|
|
78
|
-
"epistemicType": "observed",
|
|
79
|
-
"confidence": "high"
|
|
80
|
-
}
|
|
81
|
-
]
|
|
82
|
-
}
|
|
83
|
-
]
|
|
84
|
-
}
|
|
61
|
+
"schemaVersion": 1,
|
|
62
|
+
"blurb": "Mira is the founder of ExampleCo.",
|
|
63
|
+
"sections": [{
|
|
64
|
+
"category": "role",
|
|
65
|
+
"claims": [{
|
|
66
|
+
"statement": "Mira is the founder of ExampleCo.",
|
|
67
|
+
"evidence": [{ "source": "session", "locator": "qmd://source/path.md#L12-L15" }],
|
|
68
|
+
"epistemicType": "reported",
|
|
69
|
+
"confidence": "high"
|
|
70
|
+
}]
|
|
71
|
+
}]
|
|
85
72
|
}
|
|
86
73
|
```
|
|
87
74
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
sources are `session`, `memory`, `directory
|
|
91
|
-
`
|
|
92
|
-
`
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
75
|
+
Include evidence claims for every assertion in the blurb, including relationship
|
|
76
|
+
claims. New writes allow only `role` and `relationship` sections and `observed`
|
|
77
|
+
or `reported` facts. Evidence sources are `session`, `memory`, `directory` or
|
|
78
|
+
`manual`; optional `observedAt` must be an ISO timestamp. Confidence is optional
|
|
79
|
+
`low`, `medium` or `high`. Keep source references out of the injected blurb.
|
|
80
|
+
The configured character limit and 64 KiB serialized dossier limit also apply.
|
|
81
|
+
|
|
82
|
+
The write tool automatically reviews the blurb before saving. No separate review
|
|
83
|
+
call is required. Use exact `qmd://path#Lstart-Lend` evidence locators: at most three
|
|
84
|
+
distinct ranges, each at most 120 lines and together 6,000 characters. Only the
|
|
85
|
+
primer's approved corpora can be sent to TypeSafe. The check tests complete support,
|
|
86
|
+
background-only content and explicit rather than activity-inferred facts; it does
|
|
87
|
+
not replace your source verification.
|
|
88
|
+
|
|
89
|
+
- `ok`: saved; `verification` distinguishes `typesafe` from `manual`.
|
|
90
|
+
- `needs_review`: failed/uncertain check; existing dossier unchanged. Inspect the
|
|
91
|
+
evidence, remove unsupported clauses or resolve attribution before resubmitting.
|
|
92
|
+
- `review_unavailable`: disabled review, missing key, non-indexed evidence or
|
|
93
|
+
provider failure; existing dossier unchanged. Retry or verify manually.
|
|
94
|
+
- `conflict`: the person/dossier changed during review; inspect again before retrying.
|
|
95
|
+
|
|
96
|
+
For direct human corrections, non-indexed identity context or an unavailable/incorrect
|
|
97
|
+
review, you may add `manualVerification` to the update **only after checking every
|
|
98
|
+
assertion and background eligibility yourself**. This is a source-specific attestation,
|
|
99
|
+
not a retry switch. Explain the original evidence and any override, e.g.:
|
|
100
|
+
|
|
101
|
+
```json
|
|
102
|
+
{
|
|
103
|
+
"manualVerification": "Verified against Mira's explicit correction in this conversation on 2026-09-18: she founded ExampleCo. The snippet contains only that identity fact."
|
|
104
|
+
}
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
Keep accurate manual/directory provenance on the claims. Do not invent indexed
|
|
108
|
+
citations. Manual verification skips TypeSafe and records the explanation in change
|
|
109
|
+
history; it never reports a provider pass or bypasses the word/category limits.
|
|
110
|
+
If you cannot verify the snippet, leave it unchanged and report the limitation.
|
|
111
|
+
|
|
112
|
+
Only the blurb is injected; evidence stays in storage. Replacements/deletions
|
|
113
|
+
preserve transactional before/after history and a reason. Use `delete_dossier`
|
|
114
|
+
when a misleading legacy profile cannot be responsibly replaced, or `set_injection`
|
|
115
|
+
to pause it without deleting it. Do not erase raw memory or dossier history.
|
|
116
|
+
Inspect history through `dossier_changes` and `dossier_change` views.
|
|
117
|
+
|
|
118
|
+
Report the resulting snippets, source limitations, changes and intentionally
|
|
119
|
+
unknown answers. More words or more claims are not success metrics.
|