zam-core 0.3.5 → 0.3.7
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/.agent/skills/zam/SKILL.md +7 -2
- package/.agents/skills/zam/SKILL.md +9 -3
- package/.claude/skills/zam/SKILL.md +38 -3
- package/dist/cli/index.js +410 -373
- package/dist/cli/index.js.map +1 -1
- package/dist/index.d.ts +47 -9
- package/dist/index.js +224 -110
- package/dist/index.js.map +1 -1
- package/package.json +21 -3
- package/templates/personal/README.md +31 -0
- package/templates/personal/beliefs/README.md +19 -0
- package/templates/personal/goals/README.md +19 -0
- package/templates/personal/package.json +9 -0
|
@@ -21,7 +21,7 @@ All knowledge management is done through the `zam` CLI:
|
|
|
21
21
|
zam init
|
|
22
22
|
|
|
23
23
|
# Token management
|
|
24
|
-
zam token register --slug <slug> --concept "<one sentence>" --domain <d> --bloom <1-5> [--source-link <link>]
|
|
24
|
+
zam token register --slug <slug> --concept "<one sentence>" --domain <d> --bloom <1-5> [--question "<concept-free recall question>"] [--source-link <link>]
|
|
25
25
|
zam token find --query "<keywords>"
|
|
26
26
|
zam token list [--domain <d>]
|
|
27
27
|
zam token prereq --token <child> --requires <parent>
|
|
@@ -143,8 +143,13 @@ zam token find --query "<keywords>"
|
|
|
143
143
|
Only register genuinely new concepts. Reuse existing slugs where the concept matches.
|
|
144
144
|
|
|
145
145
|
**Register tokens and prerequisites:**
|
|
146
|
+
|
|
147
|
+
As the frontier model, YOU author both the concept and the recall question. The
|
|
148
|
+
local LLM is reserved for review time, where it rephrases the question live so
|
|
149
|
+
the learner never memorizes a fixed input->output pair. Pass a clear,
|
|
150
|
+
concept-free `--question` so the offline fallback stays high quality:
|
|
146
151
|
```bash
|
|
147
|
-
zam token register --slug <slug> --concept "<one sentence>" --domain <d> --bloom <1-5>
|
|
152
|
+
zam token register --slug <slug> --concept "<one sentence>" --domain <d> --bloom <1-5> --question "<concept-free recall question>" [--source-link <link>]
|
|
148
153
|
zam token prereq --token <child> --requires <parent>
|
|
149
154
|
```
|
|
150
155
|
|
|
@@ -24,7 +24,7 @@ All knowledge management is done through the `zam` CLI:
|
|
|
24
24
|
zam init
|
|
25
25
|
|
|
26
26
|
# Token management
|
|
27
|
-
zam token register --slug <slug> --concept "<one sentence>" --domain <d> --bloom <1-5> [--source-link <link>]
|
|
27
|
+
zam token register --slug <slug> --concept "<one sentence>" --domain <d> --bloom <1-5> [--question "<concept-free recall question>"] [--source-link <link>]
|
|
28
28
|
zam token find --query "<keywords>"
|
|
29
29
|
zam token list [--domain <d>]
|
|
30
30
|
zam token prereq --token <child> --requires <parent>
|
|
@@ -146,8 +146,14 @@ zam token find --query "<keywords>"
|
|
|
146
146
|
Only register genuinely new concepts. Reuse existing slugs where the concept matches.
|
|
147
147
|
|
|
148
148
|
**Register tokens and prerequisites:**
|
|
149
|
+
|
|
150
|
+
As the frontier model, author both the concept and the recall question. The
|
|
151
|
+
local LLM is reserved for review time, where it can rephrase the question
|
|
152
|
+
without making token registration slow or model-dependent. Pass a clear,
|
|
153
|
+
concept-free `--question`; add `--source-link` when the concept is grounded in
|
|
154
|
+
a file or reference:
|
|
149
155
|
```bash
|
|
150
|
-
zam token register --slug <slug> --concept "<one sentence>" --domain <d> --bloom <1-5>
|
|
156
|
+
zam token register --slug <slug> --concept "<one sentence>" --domain <d> --bloom <1-5> --question "<concept-free recall question>" [--source-link <link>]
|
|
151
157
|
zam token prereq --token <child> --requires <parent>
|
|
152
158
|
```
|
|
153
159
|
|
|
@@ -316,7 +322,7 @@ If the agent cannot execute a step:
|
|
|
316
322
|
|
|
317
323
|
## Blocking Rule
|
|
318
324
|
|
|
319
|
-
|
|
325
|
+
A token is blocked when:
|
|
320
326
|
- The user rated it 1 (forgot), AND
|
|
321
327
|
- Its prerequisites have not yet been recalled at least once
|
|
322
328
|
|
|
@@ -21,7 +21,7 @@ All knowledge management is done through the `zam` CLI:
|
|
|
21
21
|
zam init
|
|
22
22
|
|
|
23
23
|
# Token management
|
|
24
|
-
zam token register --slug <slug> --concept "<one sentence>" --domain <d> --bloom <1-5>
|
|
24
|
+
zam token register --slug <slug> --concept "<one sentence>" --domain <d> --bloom <1-5> [--question "<concept-free recall question>"] [--source-link <link>]
|
|
25
25
|
zam token find --query "<keywords>"
|
|
26
26
|
zam token list [--domain <d>]
|
|
27
27
|
zam token prereq --token <child> --requires <parent>
|
|
@@ -143,8 +143,13 @@ zam token find --query "<keywords>"
|
|
|
143
143
|
Only register genuinely new concepts. Reuse existing slugs where the concept matches.
|
|
144
144
|
|
|
145
145
|
**Register tokens and prerequisites:**
|
|
146
|
+
|
|
147
|
+
As the frontier model, YOU author both the concept and the recall question. The
|
|
148
|
+
local LLM is reserved for review time, where it rephrases the question live so
|
|
149
|
+
the learner never memorizes a fixed input->output pair. Pass a clear,
|
|
150
|
+
concept-free `--question` so the offline fallback stays high quality:
|
|
146
151
|
```bash
|
|
147
|
-
zam token register --slug <slug> --concept "<one sentence>" --domain <d> --bloom <1-5>
|
|
152
|
+
zam token register --slug <slug> --concept "<one sentence>" --domain <d> --bloom <1-5> --question "<concept-free recall question>" [--source-link <link>]
|
|
148
153
|
zam token prereq --token <child> --requires <parent>
|
|
149
154
|
```
|
|
150
155
|
|
|
@@ -164,6 +169,20 @@ zam session start --user <username> --task "<description>" --context shell
|
|
|
164
169
|
|
|
165
170
|
### STEP 4 — Hand off, observe, rate
|
|
166
171
|
|
|
172
|
+
> **Spoiler-free console option:** For pure conceptual recall, you can hand the
|
|
173
|
+
> whole review off to the standalone console harness instead of probing card by
|
|
174
|
+
> card here:
|
|
175
|
+
> > "Let's do your reviews in the dedicated console — run `zam learn` and rate
|
|
176
|
+
> > yourself. I'll wait."
|
|
177
|
+
>
|
|
178
|
+
> `zam learn` shows a concept-free cue, captures the answer, and only then
|
|
179
|
+
> reveals the stored answer (concept + context + resolved `source_link`) before a
|
|
180
|
+
> single 1–4 self-rating — all in-process. This sidesteps agent-CLI autocomplete
|
|
181
|
+
> that would otherwise ghost the answer, and the per-subcommand permission
|
|
182
|
+
> prompts from chained `card update` / `session log` calls. Use the verbal
|
|
183
|
+
> probing below when you want to drive the discussion yourself or add depth a
|
|
184
|
+
> stored answer can't (that richer mode will later be backed by an LLM).
|
|
185
|
+
|
|
167
186
|
**For executable tasks (observation mode):**
|
|
168
187
|
|
|
169
188
|
Hand off to the user:
|
|
@@ -242,11 +261,27 @@ For each due token, ask a conceptual question at the right Bloom level:
|
|
|
242
261
|
| 4 Analyze | "Why X over Y?" | "Why is == more efficient than contains?" |
|
|
243
262
|
| 5 Synthesize | "Design a..." | "Build the full query from scratch" |
|
|
244
263
|
|
|
245
|
-
|
|
264
|
+
**CRITICAL: Stop and WAIT for the user to provide their answer. Do not ask for the rating until the user has attempted to answer the conceptual question.**
|
|
265
|
+
|
|
266
|
+
After the user answers, ask:
|
|
246
267
|
> "How did that feel? 1 = drew a blank, 2 = hard recall, 3 = knew it, 4 = instant"
|
|
247
268
|
|
|
269
|
+
**WAIT for the user to provide a rating (1-4).**
|
|
270
|
+
|
|
248
271
|
Submit the rating and log the step.
|
|
249
272
|
|
|
273
|
+
#### Leveraging Source Links for AI Agent Context
|
|
274
|
+
When a token has a `source_link`, `zam bridge get-review` resolves it for you and returns a `resolvedContext` object alongside `prompt` — you no longer need to fetch the file or URL yourself. Its shape:
|
|
275
|
+
|
|
276
|
+
- `sourceType: "local" | "remote_web"` → `content` is the literal file/page text, already line-sliced when the link carried a `#L10-L25` anchor. Ground your question and verification directly in it.
|
|
277
|
+
- `sourceType: "dynamic_search"` → `content` is a `QUERY_DIRECTIVE: Run web search for "..."`. Run that web search yourself, then ground the review in the results.
|
|
278
|
+
- `truncated: true` → the content was capped; fetch the full `filePath`/`url` only if you need more.
|
|
279
|
+
- `resolvedContext: null` → no link, or resolution was disabled (`--no-resolve`); fall back to the one-sentence concept, or inspect the path yourself.
|
|
280
|
+
|
|
281
|
+
Use it to:
|
|
282
|
+
1. **Formulate Contextual Questions**: Instead of asking generic questions based strictly on the one-sentence concept text, use the resolved code or documentation to ask targeted, realistic, deep conceptual questions (e.g., at Bloom level 2, 3, or 4).
|
|
283
|
+
2. **Verify Responses Precisely**: Reference the resolved material to verify the user's answers, addressing specific edge cases, syntax, or trade-offs present in the actual codebase or documentation.
|
|
284
|
+
|
|
250
285
|
### STEP 5 — End session
|
|
251
286
|
```bash
|
|
252
287
|
zam session end --session <id>
|