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.
@@ -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
- A token is blocked when:
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
- After each answer, ask:
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>