@fyso/awareness-framework 0.2.0 → 0.3.1
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 +4 -0
- package/docs/cli.md +40 -3
- package/docs/evaluation-loop.md +2 -0
- package/docs/lifecycle.md +4 -0
- package/docs/memory.md +20 -0
- package/docs/superpowers/plans/2026-06-19-local-memory-operations.md +1026 -0
- package/package.json +1 -1
- package/src/cli.js +459 -18
- package/src/memory-candidates.js +82 -0
- package/src/text.js +35 -0
- package/templates/agent-instructions.md +15 -6
- package/templates/cli-wrapper.md +1 -1
- package/templates/end-of-day-summary.md +8 -0
- package/templates/evaluation-note.md +4 -1
- package/templates/memory-long-term.md +15 -1
package/README.md
CHANGED
|
@@ -46,6 +46,7 @@ Personality is treated as a private operating profile: continuity, voice, contex
|
|
|
46
46
|
preferences.md
|
|
47
47
|
patterns.md
|
|
48
48
|
long-term.md
|
|
49
|
+
events.jsonl
|
|
49
50
|
users/
|
|
50
51
|
<user>.md
|
|
51
52
|
evaluations/
|
|
@@ -107,6 +108,9 @@ awareness refresh
|
|
|
107
108
|
awareness check
|
|
108
109
|
awareness hook install --tool all --command "$(command -v awareness)"
|
|
109
110
|
awareness schedule install --cadence all --command "$(command -v awareness)"
|
|
111
|
+
awareness remember --text "Useful local observation" --evidence "Source"
|
|
112
|
+
awareness recall "local observation"
|
|
113
|
+
awareness improve
|
|
110
114
|
```
|
|
111
115
|
|
|
112
116
|
The CLI only reads and writes private local files. It does not post to Jira, GitHub, or any external system.
|
package/docs/cli.md
CHANGED
|
@@ -118,7 +118,7 @@ awareness init --wrappers \
|
|
|
118
118
|
|
|
119
119
|
### `status`
|
|
120
120
|
|
|
121
|
-
Shows the current focus and warnings.
|
|
121
|
+
Shows the current focus and warnings. Warnings are printed but do not make the command fail; use `awareness check --strict` when automation should fail on warnings.
|
|
122
122
|
|
|
123
123
|
```bash
|
|
124
124
|
awareness status
|
|
@@ -153,9 +153,12 @@ awareness focus \
|
|
|
153
153
|
--summary "Agent awareness framework" \
|
|
154
154
|
--repo fyso-dev/awareness-framework \
|
|
155
155
|
--branch codex/cli-and-personality \
|
|
156
|
+
--state in-progress \
|
|
156
157
|
--next "Run tests and open a PR"
|
|
157
158
|
```
|
|
158
159
|
|
|
160
|
+
Valid states are `started`, `in-progress`, `paused`, `blocked`, `waiting`, `done`, `in-review`, and `ready`. Underscore aliases such as `in_progress` and `in_review` are accepted and normalized.
|
|
161
|
+
|
|
159
162
|
### `log`
|
|
160
163
|
|
|
161
164
|
Appends a concrete progress entry to the daily worklog.
|
|
@@ -170,7 +173,7 @@ awareness log \
|
|
|
170
173
|
|
|
171
174
|
### `handoff`
|
|
172
175
|
|
|
173
|
-
Prints a handoff snapshot from the awareness board.
|
|
176
|
+
Prints a handoff snapshot from the awareness board. Like `status`, warnings are informational and return exit code 0.
|
|
174
177
|
|
|
175
178
|
```bash
|
|
176
179
|
awareness handoff
|
|
@@ -186,7 +189,41 @@ awareness evaluate --print
|
|
|
186
189
|
awareness evaluate --force
|
|
187
190
|
```
|
|
188
191
|
|
|
189
|
-
|
|
192
|
+
When an evaluation is written, the CLI also records low-risk promotion candidates in `memory/long-term.md`. It does not silently promote candidates into durable rules; use `awareness memory promote` after review.
|
|
193
|
+
|
|
194
|
+
### `memory`
|
|
195
|
+
|
|
196
|
+
Reviews and promotes long-term memory.
|
|
197
|
+
|
|
198
|
+
```bash
|
|
199
|
+
awareness memory candidates
|
|
200
|
+
awareness memory review
|
|
201
|
+
awareness memory review --min-count 3
|
|
202
|
+
awareness memory note --text "User prefers active memory review" --evidence "Direct request"
|
|
203
|
+
awareness memory promote --kind preference --text "Surface memory candidates proactively" --evidence "User confirmed"
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
`memory review` scans promotion candidates and suggests repeated candidates as `pattern` promotions once they appear at least twice by default.
|
|
207
|
+
|
|
208
|
+
`memory candidates` lists active promotion candidates only. Text that has been pruned or revised remains in the Markdown history but is hidden from active candidates, excluded from suggestions, and rejected by `memory promote`.
|
|
209
|
+
|
|
210
|
+
Valid promotion kinds are `preference`, `pattern`, `project`, and `review`.
|
|
211
|
+
|
|
212
|
+
### Local memory operations
|
|
213
|
+
|
|
214
|
+
These commands provide a small Cognee-inspired operation vocabulary without adding a graph database or vector store.
|
|
215
|
+
|
|
216
|
+
```bash
|
|
217
|
+
awareness remember --text "Prefer recall before repeating implementation work" --evidence "User request"
|
|
218
|
+
awareness recall "implementation work"
|
|
219
|
+
awareness forget --text "Old assumption" --reason "Superseded by user correction" --evidence "Correction message"
|
|
220
|
+
awareness improve
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
`remember` records a promotion candidate and appends `memory.candidate.created` to `memory/events.jsonl`.
|
|
224
|
+
`recall` performs deterministic local text search across memory, memory events, worklogs, and evaluations. Matching is case- and accent-insensitive, includes simple singular/plural normalization, and includes a small English/Spanish alias set for memory/user terms.
|
|
225
|
+
`forget` records a prune/revision entry and appends `memory.pruned`; it does not destructively delete historical evidence, but pruned text is inactive for candidate review and promotion.
|
|
226
|
+
`improve` runs the evaluation/review loop and appends `evaluation.created` and `pattern.suggested` events when applicable. Auto-generated evaluation candidates are deduplicated by text across days so recurring diagnostics do not flood human-curated candidates.
|
|
190
227
|
|
|
191
228
|
### `hook run`
|
|
192
229
|
|
package/docs/evaluation-loop.md
CHANGED
|
@@ -115,6 +115,8 @@ Each evaluation should end with one of these outcomes:
|
|
|
115
115
|
- Propose framework PR.
|
|
116
116
|
- Ask user for confirmation.
|
|
117
117
|
|
|
118
|
+
Daily evaluation is active by default: when it writes an evaluation note, the CLI also records promotion candidates under `memory/long-term.md`. Auto-generated candidates are deduplicated by text across days so repeated diagnostics do not crowd out human-curated observations. Candidates are intentionally reviewable. Use `awareness memory review` to surface repeated candidates as suggested `pattern` promotions, then promote them with `awareness memory promote` only after they are user-confirmed, repeated, operationally important, and not pruned or revised.
|
|
119
|
+
|
|
118
120
|
## Example Outcomes
|
|
119
121
|
|
|
120
122
|
| Observation | Improvement |
|
package/docs/lifecycle.md
CHANGED
|
@@ -74,12 +74,16 @@ When switching tasks, the agent:
|
|
|
74
74
|
|
|
75
75
|
Valid states:
|
|
76
76
|
|
|
77
|
+
- `started`
|
|
77
78
|
- `in-progress`
|
|
78
79
|
- `paused`
|
|
79
80
|
- `blocked`
|
|
80
81
|
- `waiting`
|
|
81
82
|
- `done`
|
|
82
83
|
- `in-review`
|
|
84
|
+
- `ready`
|
|
85
|
+
|
|
86
|
+
The CLI also accepts underscore aliases such as `in_progress` and normalizes them to hyphenated state names.
|
|
83
87
|
|
|
84
88
|
## 5. Handoff
|
|
85
89
|
|
package/docs/memory.md
CHANGED
|
@@ -14,6 +14,23 @@ Awareness Framework separates memory by time horizon and trust level. The goal i
|
|
|
14
14
|
|
|
15
15
|
Do not load every layer into every prompt. Load the smallest layer that answers the current need.
|
|
16
16
|
|
|
17
|
+
## Local Operation Model
|
|
18
|
+
|
|
19
|
+
Awareness uses a small local operation vocabulary:
|
|
20
|
+
|
|
21
|
+
- `remember`: capture an evidence-backed candidate.
|
|
22
|
+
- `recall`: search local memory, events, worklogs, and evaluations with deterministic normalized text matching.
|
|
23
|
+
- `forget`: prune or revise stale memory without destructive deletion.
|
|
24
|
+
- `improve`: run evaluation plus memory review to surface repeated candidates.
|
|
25
|
+
|
|
26
|
+
The append-only event log lives at:
|
|
27
|
+
|
|
28
|
+
```text
|
|
29
|
+
~/.agents/memory/events.jsonl
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Markdown files remain the readable projection. The event log is the auditable history of memory operations.
|
|
33
|
+
|
|
17
34
|
## Short-Term Memory
|
|
18
35
|
|
|
19
36
|
Short-term memory is operational. It is optimized for the next action.
|
|
@@ -96,10 +113,13 @@ Information should move from short-term to long-term only when it earns promotio
|
|
|
96
113
|
|
|
97
114
|
Hooks and scheduled maintenance may perform steps 1 and 2 by recording observations, warnings, or evaluation notes. They must not perform step 4 silently.
|
|
98
115
|
|
|
116
|
+
Pruned or revised text remains in the Markdown history for auditability, but it is inactive. It should not appear in active candidate listings, repeated-candidate suggestions, or promotion commands.
|
|
117
|
+
|
|
99
118
|
## Promotion Rules
|
|
100
119
|
|
|
101
120
|
- Promote explicit user preferences immediately when they affect future collaboration.
|
|
102
121
|
- Promote inferred preferences only after repeated evidence.
|
|
122
|
+
- Do not promote text that has been pruned or revised; record a new corrected candidate instead.
|
|
103
123
|
- Promote framework changes only through version control.
|
|
104
124
|
- Keep private memory private; do not copy private examples into public docs.
|
|
105
125
|
- Prefer small, operational statements over long stories.
|