forge-openclaw-plugin 0.2.23 → 0.2.25

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.
Files changed (84) hide show
  1. package/README.md +13 -0
  2. package/dist/assets/{board-_C6oMy5w.js → board-VmF4FAfr.js} +3 -3
  3. package/dist/assets/{board-_C6oMy5w.js.map → board-VmF4FAfr.js.map} +1 -1
  4. package/dist/assets/index-CFCKDIMH.js +67 -0
  5. package/dist/assets/index-CFCKDIMH.js.map +1 -0
  6. package/dist/assets/index-ZPY6U1TU.css +1 -0
  7. package/dist/assets/{motion-D4sZgCHd.js → motion-DvkU14p-.js} +3 -3
  8. package/dist/assets/motion-DvkU14p-.js.map +1 -0
  9. package/dist/assets/{table-BWzTaky1.js → table-DgiPof9E.js} +2 -2
  10. package/dist/assets/{table-BWzTaky1.js.map → table-DgiPof9E.js.map} +1 -1
  11. package/dist/assets/{ui-BzK4azQb.js → ui-nYfoC0Gq.js} +2 -2
  12. package/dist/assets/{ui-BzK4azQb.js.map → ui-nYfoC0Gq.js.map} +1 -1
  13. package/dist/assets/vendor-D9PTEPSB.js +824 -0
  14. package/dist/assets/vendor-D9PTEPSB.js.map +1 -0
  15. package/dist/assets/viz-Cqb6s--o.js +34 -0
  16. package/dist/assets/viz-Cqb6s--o.js.map +1 -0
  17. package/dist/index.html +8 -8
  18. package/dist/openclaw/parity.d.ts +1 -1
  19. package/dist/openclaw/parity.js +29 -0
  20. package/dist/openclaw/plugin-entry-shared.d.ts +1 -0
  21. package/dist/openclaw/plugin-entry-shared.js +7 -4
  22. package/dist/openclaw/plugin-sdk-types.d.ts +12 -0
  23. package/dist/openclaw/routes.js +236 -0
  24. package/dist/openclaw/session-bootstrap.d.ts +78 -0
  25. package/dist/openclaw/session-bootstrap.js +240 -0
  26. package/dist/openclaw/tools.js +279 -3
  27. package/dist/server/app.js +855 -19
  28. package/dist/server/connectors/box-registry.js +257 -0
  29. package/dist/server/db.js +2 -0
  30. package/dist/server/discovery-advertiser.js +114 -0
  31. package/dist/server/health.js +39 -11
  32. package/dist/server/index.js +4 -0
  33. package/dist/server/managers/platform/llm-manager.js +40 -4
  34. package/dist/server/managers/platform/openai-responses-provider.js +129 -19
  35. package/dist/server/movement.js +2935 -0
  36. package/dist/server/openapi.js +628 -5
  37. package/dist/server/psyche-types.js +15 -1
  38. package/dist/server/questionnaire-flow.js +552 -0
  39. package/dist/server/questionnaire-seeds.js +853 -0
  40. package/dist/server/questionnaire-types.js +340 -0
  41. package/dist/server/repositories/ai-connectors.js +944 -0
  42. package/dist/server/repositories/ai-processors.js +547 -0
  43. package/dist/server/repositories/diagnostic-logs.js +57 -4
  44. package/dist/server/repositories/entity-ownership.js +9 -1
  45. package/dist/server/repositories/habits.js +77 -9
  46. package/dist/server/repositories/model-settings.js +216 -0
  47. package/dist/server/repositories/notes.js +57 -15
  48. package/dist/server/repositories/preferences.js +124 -0
  49. package/dist/server/repositories/questionnaires.js +1338 -0
  50. package/dist/server/repositories/rewards.js +2 -2
  51. package/dist/server/repositories/settings.js +108 -12
  52. package/dist/server/repositories/surface-layouts.js +76 -0
  53. package/dist/server/repositories/wiki-memory.js +5 -1
  54. package/dist/server/services/entity-crud.js +81 -2
  55. package/dist/server/services/openai-codex-oauth.js +153 -0
  56. package/dist/server/services/psyche-observation-calendar.js +46 -0
  57. package/dist/server/types.js +492 -3
  58. package/dist/server/watch-mobile.js +562 -0
  59. package/dist/server/web.js +9 -2
  60. package/openclaw.plugin.json +1 -1
  61. package/package.json +6 -1
  62. package/server/migrations/024_questionnaires.sql +96 -0
  63. package/server/migrations/025_ai_model_connections.sql +26 -0
  64. package/server/migrations/026_custom_theme_settings.sql +2 -0
  65. package/server/migrations/027_ai_processors.sql +31 -0
  66. package/server/migrations/028_movement_domain.sql +136 -0
  67. package/server/migrations/029_watch_micro_capture.sql +23 -0
  68. package/server/migrations/030_surface_layouts.sql +5 -0
  69. package/server/migrations/031_ai_processor_runtime_upgrades.sql +10 -0
  70. package/server/migrations/032_ai_connectors.sql +44 -0
  71. package/server/migrations/033_movement_trip_point_sync.sql +36 -0
  72. package/server/migrations/034_movement_segment_sync.sql +49 -0
  73. package/skills/forge-openclaw/SKILL.md +12 -1
  74. package/skills/forge-openclaw/entity_conversation_playbooks.md +331 -84
  75. package/skills/forge-openclaw/psyche_entity_playbooks.md +252 -221
  76. package/dist/assets/index-Ch_xeZ2u.js +0 -63
  77. package/dist/assets/index-Ch_xeZ2u.js.map +0 -1
  78. package/dist/assets/index-DvVM7K6j.css +0 -1
  79. package/dist/assets/motion-D4sZgCHd.js.map +0 -1
  80. package/dist/assets/vendor-De38P6YR.js +0 -729
  81. package/dist/assets/vendor-De38P6YR.js.map +0 -1
  82. package/dist/assets/viz-C6hfyqzu.js +0 -34
  83. package/dist/assets/viz-C6hfyqzu.js.map +0 -1
  84. package/skills/forge-openclaw/cron_jobs.md +0 -395
@@ -1,70 +1,116 @@
1
1
  # Entity Conversation Playbooks
2
2
 
3
3
  Use this file whenever the user is creating or updating a Forge entity outside the
4
- deeper Psyche exploration flow. The point is to keep the conversation natural and
5
- intentional while still gathering enough structure to store the right record.
4
+ deeper Psyche exploration flow. The goal is not to walk through a form. The goal is to
5
+ help the user recognize what they are trying to save, name it cleanly, place it in
6
+ Forge correctly, and gather only the structure that still matters.
6
7
 
7
- ## Interaction stance
8
+ ## Core stance
8
9
 
9
10
  - Ask only for what is missing or still unclear.
10
- - Lead the user somewhere. Know whether you are trying to clarify the name, the role,
11
- the outcome, the placement, the timing, the success condition, or the links.
12
- - Let each question have one job. If you cannot say what the question is trying to
13
- clarify, ask a different question.
14
- - Ask one to three focused questions at a time. One is usually best when the user is
15
- unsure or emotionally loaded.
16
- - Reflect briefly before the next question when the user gives nuance that matters.
17
- - For emotionally meaningful planning records such as goals, habits, and notes, reflect
18
- the meaning first and then ask for the structure.
19
- - Do not read schema fields out loud unless the user explicitly wants a mechanical
20
- checklist.
21
- - Prefer a progression of:
22
- recent intent or concrete example -> working name -> purpose or outcome -> placement
23
- in Forge -> operational details -> linked context.
24
- - If the user already gave a usable title, timing, or parent context, do not ask for it
25
- again just because the schema has that field.
26
- - When the user says "save something about..." and the record is still fuzzy, help them
27
- sharpen what they are trying to preserve before you ask for the final Forge shape.
11
+ - Before every question, decide the one missing thing you are trying to clarify.
12
+ - Know where the conversation is headed before you ask the next question.
13
+ - Prefer one clean question to a stacked sentence with several asks.
14
+ - Reflect briefly when the user gives meaning, ambivalence, or emotionally loaded
15
+ context that matters to the record.
16
+ - Especially for goals, habits, notes, and updates, reflect what the user is trying to
17
+ preserve, change, or make true before you ask for structure.
18
+ - For emotionally meaningful non-Psyche records such as goals, habits, notes, and many
19
+ updates, use a simple rhythm:
20
+ brief reflection -> one orienting question.
21
+ - Another good shorthand for the same rhythm is:
22
+ short reflection -> one orienting question.
23
+ - For straightforward logistical entities such as tasks, calendar events, work blocks,
24
+ timeboxes, and task runs, use a fast path:
25
+ one brief confirming sentence -> one operational question.
26
+ - For logistical records such as tasks, calendar events, work blocks, timeboxes, and
27
+ task runs, use a fast path:
28
+ one brief confirming sentence -> one operational question.
29
+ - Do not read schema fields out loud unless the user explicitly wants a checklist.
30
+ - Do not ask the user to do naming work alone when the meaning is already clear. Offer
31
+ a tentative title or formulation and invite correction.
28
32
  - When the meaning is clearer than the wording, offer a tentative title or summary
29
- yourself and ask whether it fits. Do not make the user do all the naming work alone.
30
- - Before saving, offer a short working summary in the user's own language when that
31
- would reduce ambiguity.
32
- - When updating, start with:
33
- what is changing,
34
- what should stay true,
35
- and what prompted the update now.
33
+ yourself and ask whether it fits.
34
+ - If the user already answered the usual opening question, do not repeat the stock
35
+ opener. Move straight to the next missing clarification.
36
+ - Once the record is clear enough to name, stop exploring broadly and ask only for the
37
+ last missing structural detail.
38
+
39
+ ## Conversation arc
40
+
41
+ Most good Forge intake flows follow this sequence:
42
+
43
+ 1. Clarify what the user is trying to preserve, change, or make true.
44
+ 2. Land on the right Forge shape.
45
+ 3. Offer or confirm a working name.
46
+ 4. Clarify the outcome, placement, timing, or cadence that will matter later.
47
+ 5. Ask about links only when those links will make the record more useful.
48
+
49
+ That sequence is not a script. Skip steps the user already answered.
50
+
51
+ ## Active-listening patterns
52
+
53
+ Use one of these shapes when the user is not yet precise.
54
+
55
+ Meaning-bearing record:
56
+
57
+ - "It sounds like you want to keep hold of something important here. What feels most
58
+ worth preserving about it?"
59
+
60
+ Bounded-work record:
61
+
62
+ - "So this is becoming a real piece of work, not just a passing idea. What outcome
63
+ would make it feel real or complete for now?"
64
+
65
+ Operational record:
66
+
67
+ - "I can save that. What is the one timing or placement detail that still needs to be
68
+ decided?"
69
+
70
+ Update record:
71
+
72
+ - "Before I change it, what feels newly true now, and what should stay intact?"
36
73
 
37
74
  ## Question design rules
38
75
 
39
- - Prefer one clean question over a stacked sentence with multiple asks.
40
- - For straightforward logistical entities such as tasks, calendar events, work blocks,
41
- timeboxes, and task runs, use the fast path: confirm what is already clear and ask
42
- for only the one missing operational detail.
43
- - When you need two details, ask for the more meaning-bearing one first.
44
- - If the user sounds uncertain, ask for an example before an abstraction.
45
- - If the user sounds clear and decisive, confirm the working formulation and move to the
46
- one missing structural detail.
47
- - A good next question usually clarifies one of these:
48
- what this is,
49
- why it matters,
50
- where it belongs,
51
- what success looks like,
52
- when it should happen,
53
- or what should stay linked.
54
- - Before the final save question, it is often better to offer a tentative formulation
55
- than to ask for a raw title. Example shape:
56
- "This sounds like a project about repairing trust with Lea, not just a loose note.
57
- Does that fit, and if so what outcome would tell you it is moving?"
58
- - Avoid dead-form prompts like "What should this be called?" when the user is still
59
- figuring out what the thing is. Name first, then ask for correction.
76
+ - Let each question have one job:
77
+ clarify the shape,
78
+ clarify the purpose,
79
+ clarify the placement,
80
+ clarify the success condition,
81
+ clarify the timing,
82
+ or clarify the links.
83
+ - Do not over-warm or over-therapize logistical records. For those flows, one brief
84
+ confirming sentence plus one question is usually enough.
85
+ - Ask the more meaning-bearing question before the more administrative one.
86
+ - If the user is uncertain, ask for a recent example before asking for an abstraction.
87
+ - If the user is clear and decisive, confirm the working formulation and move directly
88
+ to the one missing structural detail.
89
+ - Avoid dead-form prompts such as "What should this be called?" when the user is still
90
+ figuring out what the thing is.
91
+ - Before the final save question, it is often better to offer a candidate formulation
92
+ than to ask for raw wording from scratch.
93
+ - When useful, say what you think the record is becoming before asking the next
94
+ question. That helps the user correct the shape early.
95
+
96
+ ## Ready-to-save check
97
+
98
+ Before saving, make sure you can answer all of these in plain language:
99
+
100
+ - What is this record actually for?
101
+ - Why is this the right Forge entity type?
102
+ - What would make the record recognizable later?
103
+ - What one structural detail is still worth asking for, if any?
104
+
105
+ If the answer to the last question is "none", save it instead of prolonging intake.
60
106
 
61
107
  ## Update loop
62
108
 
63
109
  Use this when the user is updating an existing record rather than creating a new one.
64
110
 
65
111
  1. Ask what feels newly true, newly urgent, or newly clear.
66
- 2. Ask what should stay intact so the record does not lose its core meaning.
67
- 3. Ask for the concrete trigger for the update if it matters.
112
+ 2. Ask what should stay true so the record keeps its core meaning.
113
+ 3. Ask what prompted the update now if that changes the shape of the record.
68
114
  4. Then ask only for the missing structural detail required by the change.
69
115
 
70
116
  ## Goal
@@ -75,9 +121,15 @@ Arc:
75
121
 
76
122
  1. Ask what direction or outcome the user wants to keep in view.
77
123
  2. Ask why it matters now.
78
- 3. Distinguish the goal from a project or task.
124
+ 3. Distinguish the goal from a project or task if needed.
79
125
  4. Clarify horizon and status only after the meaning is clear.
80
126
 
127
+ Helpful follow-up lanes:
128
+
129
+ - why this direction matters now
130
+ - what would count as movement without turning it into a task list
131
+ - whether it is a quarter, year, or life direction
132
+
81
133
  Ready to save when:
82
134
 
83
135
  - the goal has a stable name
@@ -86,7 +138,7 @@ Ready to save when:
86
138
 
87
139
  Preferred opening question:
88
140
 
89
- - "What direction are you trying to hold onto here, in a way you would want future-you to keep seeing?"
141
+ - "What direction here feels important enough that you want to keep it in view?"
90
142
 
91
143
  ## Project
92
144
 
@@ -94,20 +146,27 @@ Aim: turn an intention into a bounded workstream with a clear outcome.
94
146
 
95
147
  Arc:
96
148
 
97
- 1. Ask what this piece of work should be called.
98
- 2. Ask what outcome would make the project feel real or complete for now.
149
+ 1. Ask what this piece of work is trying to make true.
150
+ 2. Ask what outcome would make it feel real or complete for now.
99
151
  3. Ask which goal it belongs under.
100
- 4. Clarify status, owner, and notes only after the scope is clear.
152
+ 4. Land on a working name once the scope is clear.
153
+ 5. Clarify status, owner, and notes only after the scope is clear.
154
+
155
+ Helpful follow-up lanes:
156
+
157
+ - what concrete outcome would make this project complete enough
158
+ - what belongs inside the boundary and what does not
159
+ - which goal gives the project meaning
101
160
 
102
161
  Ready to save when:
103
162
 
104
163
  - the project has a clear name
105
164
  - the outcome is concrete enough to recognize later
106
- - its parent goal is known or intentionally absent pending follow-up
165
+ - its parent goal is known or intentionally absent
107
166
 
108
167
  Preferred opening question:
109
168
 
110
- - "If this becomes a real project in Forge, what outcome would make it feel genuinely underway or complete?"
169
+ - "If this became a real project, what would you be trying to make true?"
111
170
 
112
171
  ## Strategy
113
172
 
@@ -115,17 +174,24 @@ Aim: turn a vague plan into a deliberate sequence toward a real end state.
115
174
 
116
175
  Arc:
117
176
 
118
- 1. Ask what end state the strategy is trying to land.
177
+ 1. Ask what future state the strategy is trying to make real.
119
178
  2. Ask which goals or projects are the true targets.
120
- 3. Ask what the major steps or nodes are.
179
+ 3. Ask what the major steps or phases are.
121
180
  4. Ask about order, dependencies, and anything that must not be skipped.
122
- 5. Clarify linked entities or ownership once the sequence itself makes sense.
181
+ 5. Clarify links or ownership once the sequence itself makes sense.
182
+
183
+ Helpful follow-up lanes:
184
+
185
+ - what the end state looks like when it is real
186
+ - what the major phases are
187
+ - which steps must happen before others
188
+ - what is in scope versus out of scope
123
189
 
124
190
  Ready to save when:
125
191
 
126
192
  - the strategy has a stable name
127
193
  - the end state is concrete enough to test
128
- - the directed sequence is sketched clearly enough to build the graph
194
+ - the directed sequence is sketched clearly enough to build
129
195
 
130
196
  Preferred opening question:
131
197
 
@@ -139,7 +205,14 @@ Arc:
139
205
 
140
206
  1. Ask what the next concrete action is.
141
207
  2. Ask where it belongs: project, goal, both, or standalone.
142
- 3. Ask what would make it easier to do: due date, priority, owner, or brief context.
208
+ 3. Ask what would make it easier to do: due date, priority, owner, or one line of
209
+ context.
210
+
211
+ Helpful follow-up lanes:
212
+
213
+ - turn vague intent into an actionable verb
214
+ - identify parent project or goal
215
+ - capture the one timing or priority detail that will actually help
143
216
 
144
217
  Ready to save when:
145
218
 
@@ -153,14 +226,22 @@ Preferred opening question:
153
226
 
154
227
  ## Habit
155
228
 
156
- Aim: define the recurring behavior and the cadence in a way that makes later check-ins unambiguous.
229
+ Aim: define the recurring behavior and the cadence in a way that makes later check-ins
230
+ unambiguous.
157
231
 
158
232
  Arc:
159
233
 
160
- 1. Ask what the recurring behavior is in plain language.
234
+ 1. Ask what recurring move the user is trying to strengthen or loosen.
161
235
  2. Ask whether doing it is aligned or a slip.
162
- 3. Ask about cadence and what counts as success in practice.
163
- 4. Ask about links to goals, tasks, or Psyche entities only if that would help later review.
236
+ 3. Ask what honest success or failure looks like in practice.
237
+ 4. Ask about cadence and links only after the behavior is concrete.
238
+
239
+ Helpful follow-up lanes:
240
+
241
+ - what the recurring move looks like on an ordinary day
242
+ - whether the habit is `positive` or `negative`
243
+ - what counts as an honest check-in
244
+ - what cadence is realistic and meaningful
164
245
 
165
246
  Ready to save when:
166
247
 
@@ -170,24 +251,31 @@ Ready to save when:
170
251
 
171
252
  Preferred opening question:
172
253
 
173
- - "What is the recurring behavior you want Forge to keep track of?"
254
+ - "What recurring move are you trying to strengthen or loosen?"
174
255
 
175
256
  ## Note
176
257
 
177
- Aim: preserve the useful context and link it to the right places without turning the note into a dumping ground.
258
+ Aim: preserve the useful context and link it to the right places without turning the
259
+ note into a dumping ground.
178
260
 
179
261
  Arc:
180
262
 
181
263
  1. Ask what the note needs to preserve.
182
264
  2. Ask what entities it should stay attached to.
183
265
  3. Ask whether it should be durable or temporary.
184
- 4. Ask about tags or author only if they help retrieval or handoff.
266
+ 4. Ask about tags or author only if they will help retrieval or handoff.
267
+
268
+ Helpful follow-up lanes:
269
+
270
+ - what the note is for later
271
+ - what should stay linked
272
+ - whether it is durable or should expire
185
273
 
186
274
  Ready to save when:
187
275
 
188
276
  - the note body captures the important point
189
277
  - the links are clear
190
- - durability versus ephemeral memory is clear when relevant
278
+ - durability is clear when relevant
191
279
 
192
280
  Preferred opening question:
193
281
 
@@ -195,7 +283,8 @@ Preferred opening question:
195
283
 
196
284
  ## Insight
197
285
 
198
- Aim: capture one grounded observation or recommendation clearly enough that it remains useful later.
286
+ Aim: capture one grounded observation or recommendation clearly enough that it stays
287
+ useful later.
199
288
 
200
289
  Arc:
201
290
 
@@ -203,6 +292,12 @@ Arc:
203
292
  2. Ask what entity or timeframe it belongs to, if any.
204
293
  3. Ask what recommendation, caution, or invitation should remain explicit.
205
294
 
295
+ Helpful follow-up lanes:
296
+
297
+ - what the core observation is
298
+ - who or what it belongs to
299
+ - what the practical recommendation is
300
+
206
301
  Ready to save when:
207
302
 
208
303
  - the observation has a stable title or phrase
@@ -215,7 +310,8 @@ Preferred opening question:
215
310
 
216
311
  ## Calendar Event
217
312
 
218
- Aim: make the event legible as a real commitment in time, with the right timezone and links.
313
+ Aim: make the event legible as a real commitment in time, with the right timezone and
314
+ links.
219
315
 
220
316
  Arc:
221
317
 
@@ -224,6 +320,12 @@ Arc:
224
320
  3. Ask where it belongs or what it supports.
225
321
  4. Ask whether it should stay Forge-only only if that choice matters.
226
322
 
323
+ Helpful follow-up lanes:
324
+
325
+ - exact start and end time
326
+ - local timezone if there is ambiguity
327
+ - linked goal, project, task, or note
328
+
227
329
  Ready to save when:
228
330
 
229
331
  - the title is clear
@@ -245,6 +347,13 @@ Arc:
245
347
  3. Ask whether it allows or blocks work.
246
348
  4. Ask whether it has a start or end date.
247
349
 
350
+ Helpful follow-up lanes:
351
+
352
+ - what the block is for
353
+ - recurrence timing
354
+ - blocking state
355
+ - optional date bounds
356
+
248
357
  Ready to save when:
249
358
 
250
359
  - the block has a clear purpose
@@ -263,9 +372,16 @@ Arc:
263
372
 
264
373
  1. Ask which task the slot belongs to.
265
374
  2. Ask when the slot should start and end.
266
- 3. Ask whether this is a manual reservation, a suggestion, or a live-run alignment only if relevant.
375
+ 3. Ask whether this is a manual reservation, a suggestion, or live-run alignment only
376
+ if relevant.
267
377
  4. Ask about override reason only if calendar rules are being bypassed.
268
378
 
379
+ Helpful follow-up lanes:
380
+
381
+ - attached task
382
+ - exact time window
383
+ - scheduling context only if it changes the action
384
+
269
385
  Ready to save when:
270
386
 
271
387
  - the task is known
@@ -298,9 +414,140 @@ Preferred opening question:
298
414
 
299
415
  - "Which task should I start?"
300
416
 
417
+ ## Self Observation
418
+
419
+ Aim: capture one observation clearly enough that it can support later reflection
420
+ without pretending it is already a full interpretation.
421
+
422
+ Arc:
423
+
424
+ 1. Ask what was observed.
425
+ 2. Ask when it happened or became noticeable.
426
+ 3. Ask what it may connect to: pattern, belief, value, mode, task, project, or note.
427
+ 4. Ask for tags or extra context only if that will help later review.
428
+
429
+ Ready to save when:
430
+
431
+ - the observation itself is clear
432
+ - timing is clear enough
433
+ - any useful links are captured
434
+
435
+ Preferred opening question:
436
+
437
+ - "What did you notice that feels worth capturing?"
438
+
439
+ ## Sleep Session
440
+
441
+ Aim: enrich one night's record with reflective context instead of treating it like a
442
+ generic note.
443
+
444
+ Arc:
445
+
446
+ 1. Ask what about this night feels worth capturing.
447
+ 2. Ask whether the main point is quality, pattern, context, meaning, or links.
448
+ 3. Ask what goal, project, task, habit, or Psyche record it should stay connected to.
449
+ 4. Ask about tags only if they will help later review.
450
+
451
+ Ready to update when:
452
+
453
+ - the reflective takeaway is clear
454
+ - the relevant links or tags are clear when needed
455
+
456
+ Preferred opening question:
457
+
458
+ - "What about this night feels worth remembering or linking?"
459
+
460
+ ## Workout Session
461
+
462
+ Aim: enrich one workout with subjective effort, mood, meaning, or linked context.
463
+
464
+ Arc:
465
+
466
+ 1. Ask what about the session the user wants to preserve.
467
+ 2. Ask whether the key layer is effort, mood, meaning, social context, or links.
468
+ 3. Ask what it connects to in Forge if links matter.
469
+ 4. Ask about tags only if they help later retrieval.
470
+
471
+ Ready to update when:
472
+
473
+ - the reflective point is clear
474
+ - the key mood, effort, meaning, or links are clear when needed
475
+
476
+ Preferred opening question:
477
+
478
+ - "What about this workout feels most worth capturing?"
479
+
480
+ ## Preference Item Or Context
481
+
482
+ Aim: understand whether the user is trying to save a preference signal, define a
483
+ context, or inspect the learned model.
484
+
485
+ Arc:
486
+
487
+ 1. Ask what preference question the user is trying to answer.
488
+ 2. Distinguish whether this is:
489
+ a direct item signal,
490
+ a context change,
491
+ or a request to inspect what Forge already knows.
492
+ 3. If the user wants live comparisons, hand off to the Preferences game UI.
493
+ 4. If the user wants a direct signal or context change, ask only for the missing domain,
494
+ item, or context detail.
495
+
496
+ Ready to act when:
497
+
498
+ - the domain is clear
499
+ - the user intent is clear: inspect, compare, signal, or context-edit
500
+ - the missing item or context detail is clear enough
501
+
502
+ Preferred opening question:
503
+
504
+ - "What preference are you trying to make clearer right now?"
505
+
506
+ ## Questionnaire Instrument
507
+
508
+ Aim: clarify whether the user is authoring a reusable questionnaire and what the
509
+ instrument is for.
510
+
511
+ Arc:
512
+
513
+ 1. Ask what the questionnaire is meant to measure or surface.
514
+ 2. Ask who it is for and when it should be used.
515
+ 3. Ask what style of questions it needs before getting into item wording.
516
+ 4. Move to draft creation once the purpose is clear.
517
+
518
+ Ready to act when:
519
+
520
+ - the purpose is clear
521
+ - the audience or use context is clear
522
+ - the instrument is distinct enough to draft
523
+
524
+ Preferred opening question:
525
+
526
+ - "What is this questionnaire meant to help surface or measure?"
527
+
528
+ ## Questionnaire Run
529
+
530
+ Aim: clarify whether the user wants to start, continue, or complete one answer session.
531
+
532
+ Arc:
533
+
534
+ 1. Ask which questionnaire run this is about.
535
+ 2. Ask whether the user wants to start, continue, review, or complete it.
536
+ 3. If answering is still in progress, ask only for the next answer or note that matters.
537
+
538
+ Ready to act when:
539
+
540
+ - the questionnaire is identified
541
+ - the user intent for the run is clear
542
+
543
+ Preferred opening question:
544
+
545
+ - "Are you trying to start a questionnaire, continue one, or review a finished run?"
546
+
301
547
  ## Event Type
302
548
 
303
- Aim: create a reusable incident category that will actually help future reports stay consistent.
549
+ Aim: create a reusable incident category that will actually help future reports stay
550
+ consistent.
304
551
 
305
552
  Arc:
306
553
 
@@ -311,27 +558,27 @@ Arc:
311
558
  Ready to save when:
312
559
 
313
560
  - the label is stable
314
- - the category boundary is clear enough to reuse
561
+ - the intended category is clear enough that future reports will use it consistently
315
562
 
316
563
  Preferred opening question:
317
564
 
318
- - "What kind of incident should this category stand for?"
565
+ - "What kind of incident should this event type capture?"
319
566
 
320
567
  ## Emotion Definition
321
568
 
322
- Aim: create a reusable emotion label with enough clarity to use consistently later.
569
+ Aim: define one reusable emotion entry clearly enough that future reports stay precise.
323
570
 
324
571
  Arc:
325
572
 
326
- 1. Ask what emotion label the user wants to preserve.
327
- 2. Ask what distinguishes it from nearby emotions.
328
- 3. Ask for a broader category only if it will help later browsing or reporting.
573
+ 1. Ask what emotion this should represent.
574
+ 2. Ask what distinguishes it from nearby emotions if that matters.
575
+ 3. Ask for a short description only if later reports would benefit from it.
329
576
 
330
577
  Ready to save when:
331
578
 
332
- - the label is stable
333
- - the meaning is clear enough to reuse
579
+ - the label is clear
580
+ - the meaning is clear enough to reuse later
334
581
 
335
582
  Preferred opening question:
336
583
 
337
- - "What emotion label do you want to keep reusable in Forge?"
584
+ - "Which emotion do you want this entry to help name more clearly?"