forge-openclaw-plugin 0.2.26 → 0.2.28
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 +60 -3
- package/dist/assets/{board-ta0rUHOf.js → board-DPFvZf-D.js} +2 -2
- package/dist/assets/{board-ta0rUHOf.js.map → board-DPFvZf-D.js.map} +1 -1
- package/dist/assets/index-Auw3JrdE.css +1 -0
- package/dist/assets/index-D1H7myQH.js +85 -0
- package/dist/assets/index-D1H7myQH.js.map +1 -0
- package/dist/assets/knowledge-graph-layout.worker-DRvzPxhP.js +2 -0
- package/dist/assets/knowledge-graph-layout.worker-DRvzPxhP.js.map +1 -0
- package/dist/assets/{motion-fBKPB6yw.js → motion-Bvwc85ch.js} +2 -2
- package/dist/assets/{motion-fBKPB6yw.js.map → motion-Bvwc85ch.js.map} +1 -1
- package/dist/assets/{table-C-IGTQni.js → table-FJQTJvUR.js} +2 -2
- package/dist/assets/{table-C-IGTQni.js.map → table-FJQTJvUR.js.map} +1 -1
- package/dist/assets/{ui-DInOpaYF.js → ui-GXFcgvSw.js} +2 -2
- package/dist/assets/{ui-DInOpaYF.js.map → ui-GXFcgvSw.js.map} +1 -1
- package/dist/assets/vendor-Cwf49UMz.js +1247 -0
- package/dist/assets/vendor-Cwf49UMz.js.map +1 -0
- package/dist/index.html +7 -7
- package/dist/openclaw/local-runtime.js +16 -0
- package/dist/openclaw/routes.d.ts +27 -0
- package/dist/openclaw/routes.js +16 -12
- package/dist/server/server/migrations/037_workbench_public_inputs_and_run_inputs.sql +5 -0
- package/dist/server/server/migrations/038_data_management_settings.sql +11 -0
- package/dist/server/server/migrations/039_life_force_and_action_points.sql +114 -0
- package/dist/server/server/migrations/040_screen_time_domain.sql +89 -0
- package/dist/server/server/migrations/041_companion_source_states.sql +21 -0
- package/dist/server/server/migrations/042_movement_boxes.sql +47 -0
- package/dist/server/server/migrations/043_movement_box_overlap_overrides.sql +26 -0
- package/dist/server/server/src/app.js +1900 -91
- package/dist/server/server/src/connectors/box-registry.js +44 -9
- package/dist/server/server/src/data-management-types.js +107 -0
- package/dist/server/server/src/db.js +68 -4
- package/dist/server/server/src/demo-data.js +2 -2
- package/dist/server/server/src/health.js +702 -18
- package/dist/server/server/src/managers/platform/llm-manager.js +7 -4
- package/dist/server/server/src/managers/platform/mock-workbench-provider.js +149 -0
- package/dist/server/server/src/managers/platform/secrets-manager.js +18 -1
- package/dist/server/server/src/managers/runtime.js +9 -0
- package/dist/server/server/src/movement.js +1971 -112
- package/dist/server/server/src/openapi.js +1390 -105
- package/dist/server/server/src/psyche-types.js +9 -1
- package/dist/server/server/src/repositories/activity-events.js +8 -0
- package/dist/server/server/src/repositories/ai-connectors.js +522 -74
- package/dist/server/server/src/repositories/calendar.js +151 -0
- package/dist/server/server/src/repositories/habits.js +37 -1
- package/dist/server/server/src/repositories/model-settings.js +13 -3
- package/dist/server/server/src/repositories/notes.js +3 -0
- package/dist/server/server/src/repositories/settings.js +380 -18
- package/dist/server/server/src/repositories/tasks.js +170 -10
- package/dist/server/server/src/runtime-data-root.js +82 -0
- package/dist/server/server/src/screen-time.js +802 -0
- package/dist/server/server/src/services/data-management.js +788 -0
- package/dist/server/server/src/services/entity-crud.js +205 -2
- package/dist/server/server/src/services/knowledge-graph.js +1455 -0
- package/dist/server/server/src/services/life-force-model.js +217 -0
- package/dist/server/server/src/services/life-force.js +2506 -0
- package/dist/server/server/src/services/psyche-observation-calendar.js +383 -16
- package/dist/server/server/src/types.js +307 -14
- package/dist/server/server/src/web.js +228 -13
- package/dist/server/src/components/customization/utility-widgets.js +136 -27
- package/dist/server/src/components/ui/info-tooltip.js +25 -0
- package/dist/server/src/components/workbench-boxes/calendar/calendar-boxes.js +78 -0
- package/dist/server/src/components/workbench-boxes/goals/goals-boxes.js +62 -0
- package/dist/server/src/components/workbench-boxes/habits/habits-boxes.js +62 -0
- package/dist/server/src/components/workbench-boxes/health/health-boxes.js +63 -8
- package/dist/server/src/components/workbench-boxes/insights/insights-boxes.js +50 -0
- package/dist/server/src/components/workbench-boxes/kanban/kanban-boxes.js +62 -54
- package/dist/server/src/components/workbench-boxes/movement/movement-boxes.js +18 -8
- package/dist/server/src/components/workbench-boxes/notes/notes-boxes.js +56 -38
- package/dist/server/src/components/workbench-boxes/overview/overview-boxes.js +65 -0
- package/dist/server/src/components/workbench-boxes/preferences/preferences-boxes.js +78 -0
- package/dist/server/src/components/workbench-boxes/projects/projects-boxes.js +35 -30
- package/dist/server/src/components/workbench-boxes/psyche/psyche-boxes.js +88 -0
- package/dist/server/src/components/workbench-boxes/questionnaires/questionnaires-boxes.js +61 -0
- package/dist/server/src/components/workbench-boxes/review/review-boxes.js +53 -0
- package/dist/server/src/components/workbench-boxes/shared/define-workbench-box.js +3 -1
- package/dist/server/src/components/workbench-boxes/shared/generic-node-view.js +39 -3
- package/dist/server/src/components/workbench-boxes/strategies/strategies-boxes.js +62 -0
- package/dist/server/src/components/workbench-boxes/tasks/tasks-boxes.js +76 -0
- package/dist/server/src/components/workbench-boxes/today/today-boxes.js +47 -32
- package/dist/server/src/components/workbench-boxes/wiki/wiki-boxes.js +60 -0
- package/dist/server/src/lib/api.js +280 -21
- package/dist/server/src/lib/data-management-types.js +1 -0
- package/dist/server/src/lib/entity-visuals.js +279 -0
- package/dist/server/src/lib/knowledge-graph-types.js +276 -0
- package/dist/server/src/lib/knowledge-graph.js +470 -0
- package/dist/server/src/lib/schemas.js +4 -0
- package/dist/server/src/lib/snapshot-normalizer.js +45 -1
- package/dist/server/src/lib/workbench/contracts.js +229 -0
- package/dist/server/src/lib/workbench/nodes.js +200 -0
- package/dist/server/src/lib/workbench/registry.js +52 -5
- package/dist/server/src/lib/workbench/runtime.js +254 -38
- package/dist/server/src/lib/workbench/tool-catalog.js +68 -0
- package/openclaw.plugin.json +1 -1
- package/package.json +1 -1
- package/server/migrations/037_workbench_public_inputs_and_run_inputs.sql +5 -0
- package/server/migrations/038_data_management_settings.sql +11 -0
- package/server/migrations/039_life_force_and_action_points.sql +114 -0
- package/server/migrations/040_screen_time_domain.sql +89 -0
- package/server/migrations/041_companion_source_states.sql +21 -0
- package/server/migrations/042_movement_boxes.sql +47 -0
- package/server/migrations/043_movement_box_overlap_overrides.sql +26 -0
- package/skills/forge-openclaw/SKILL.md +41 -11
- package/skills/forge-openclaw/entity_conversation_playbooks.md +448 -34
- package/skills/forge-openclaw/psyche_entity_playbooks.md +170 -17
- package/dist/assets/index-Ro0ZF_az.css +0 -1
- package/dist/assets/index-ytlpSj23.js +0 -79
- package/dist/assets/index-ytlpSj23.js.map +0 -1
- package/dist/assets/vendor-lE3tZJcC.js +0 -876
- package/dist/assets/vendor-lE3tZJcC.js.map +0 -1
|
@@ -9,8 +9,15 @@ Forge correctly, and gather only the structure that still matters.
|
|
|
9
9
|
|
|
10
10
|
- Lead with what the user is trying to preserve, change, resolve, or make true, not
|
|
11
11
|
with the entity label.
|
|
12
|
+
- Start by saying what seems to matter here or what the record is becoming, then ask
|
|
13
|
+
the next useful question.
|
|
14
|
+
- Whenever you can, make the direction of the intake visible before the question by
|
|
15
|
+
naming what you think the user is trying to preserve, clarify, decide, schedule, or
|
|
16
|
+
make easier.
|
|
12
17
|
- Ask only for what is missing or still unclear.
|
|
13
18
|
- Before every question, decide the one missing thing you are trying to clarify.
|
|
19
|
+
- Ask first for the missing thing that would change the record shape, title, or next
|
|
20
|
+
action most, not just the easiest field to fill.
|
|
14
21
|
- Know where the conversation is headed before you ask the next question.
|
|
15
22
|
- Prefer one clean question to a stacked sentence with several asks.
|
|
16
23
|
- Reflect briefly when the user gives meaning, ambivalence, or emotionally loaded
|
|
@@ -24,6 +31,8 @@ Forge correctly, and gather only the structure that still matters.
|
|
|
24
31
|
short reflection -> one orienting question.
|
|
25
32
|
- When the user is vague, ask for the smallest real example, desired outcome, or stake
|
|
26
33
|
before you ask for wording.
|
|
34
|
+
- For strategic, reflective, or emotionally meaningful non-Psyche records, ask what
|
|
35
|
+
feels important to keep true before you ask for labels, dates, or taxonomy.
|
|
27
36
|
- When the user is clear, say what the record seems to be becoming and move straight to
|
|
28
37
|
the last missing structural detail.
|
|
29
38
|
- For straightforward logistical entities such as tasks, calendar events, work blocks,
|
|
@@ -32,17 +41,30 @@ Forge correctly, and gather only the structure that still matters.
|
|
|
32
41
|
- For logistical records such as tasks, calendar events, work blocks, timeboxes, and
|
|
33
42
|
task runs, use a fast path:
|
|
34
43
|
one brief confirming sentence -> one operational question.
|
|
44
|
+
- For action-heavy flows such as work adjustments, preference judgments, preference
|
|
45
|
+
signals, and specialized surface work in Movement, Life Force, or Workbench, first
|
|
46
|
+
ask what the user is trying to understand, change, add, update, link, or run, then
|
|
47
|
+
route to the dedicated action or surface path instead of pretending it is normal
|
|
48
|
+
CRUD.
|
|
35
49
|
- Do not read schema fields out loud unless the user explicitly wants a checklist.
|
|
50
|
+
- One focused question is the default. Ask two only when both questions serve the same
|
|
51
|
+
job and the user is steady enough for it.
|
|
36
52
|
- Do not ask the user to do naming work alone when the meaning is already clear. Offer
|
|
37
53
|
a tentative title or formulation and invite correction.
|
|
38
54
|
- When the meaning is clearer than the wording, offer a tentative title or summary
|
|
39
55
|
yourself and ask whether it fits.
|
|
56
|
+
- After each substantive answer, briefly say what is becoming clearer before you ask
|
|
57
|
+
for the next missing detail.
|
|
58
|
+
- Let the user feel the direction of the intake. The next question should make sense
|
|
59
|
+
because of what just became clearer, not because a hidden checklist says it is next.
|
|
40
60
|
- If the user already answered the usual opening question, do not repeat the stock
|
|
41
61
|
opener. Move straight to the next missing clarification.
|
|
42
62
|
- After a substantive answer, briefly say what is becoming clear so the user can
|
|
43
63
|
correct the direction early.
|
|
44
64
|
- Once the record is clear enough to name, stop exploring broadly and ask only for the
|
|
45
65
|
last missing structural detail.
|
|
66
|
+
- When the record is already clear enough to save, save it instead of performing a
|
|
67
|
+
ceremonial extra question.
|
|
46
68
|
|
|
47
69
|
## Conversation arc
|
|
48
70
|
|
|
@@ -79,6 +101,28 @@ Update record:
|
|
|
79
101
|
|
|
80
102
|
- "Before I change it, what feels newly true now, and what should stay intact?"
|
|
81
103
|
|
|
104
|
+
## Turn shapes
|
|
105
|
+
|
|
106
|
+
Use these as small conversation molds when you need the next turn to feel guided
|
|
107
|
+
rather than mechanical.
|
|
108
|
+
|
|
109
|
+
Opening turn:
|
|
110
|
+
|
|
111
|
+
- briefly reflect what seems to matter here
|
|
112
|
+
- ask the one question that clarifies shape, stake, or outcome most
|
|
113
|
+
|
|
114
|
+
Middle turn:
|
|
115
|
+
|
|
116
|
+
- say what is becoming clearer
|
|
117
|
+
- name the one thing that still needs to be known
|
|
118
|
+
- ask only for that
|
|
119
|
+
|
|
120
|
+
Closing turn:
|
|
121
|
+
|
|
122
|
+
- offer the working title, summary, or record shape in plain language
|
|
123
|
+
- ask whether it feels true enough to save or needs one correction
|
|
124
|
+
- if the user says yes, move to the write instead of reopening the intake
|
|
125
|
+
|
|
82
126
|
## Steering moves
|
|
83
127
|
|
|
84
128
|
Use these small moves to keep the intake natural and intentional.
|
|
@@ -107,12 +151,113 @@ When you are about to save:
|
|
|
107
151
|
|
|
108
152
|
- give one short working summary in the user's language and ask whether it feels true
|
|
109
153
|
enough or needs one correction
|
|
154
|
+
- if the user confirms it, stop asking and save
|
|
110
155
|
|
|
111
156
|
When an adjacent record becomes visible:
|
|
112
157
|
|
|
113
158
|
- name it gently and ask whether it should be linked now, saved separately later, or
|
|
114
159
|
left alone for now
|
|
115
160
|
|
|
161
|
+
## Question Calibration Loop
|
|
162
|
+
|
|
163
|
+
Use this quick internal check before every follow-up question.
|
|
164
|
+
|
|
165
|
+
1. What is the one thing still unknown?
|
|
166
|
+
2. Does that unknown affect the entity shape, the wording, the placement, or the
|
|
167
|
+
operational detail?
|
|
168
|
+
3. What is the smallest question that would answer that unknown?
|
|
169
|
+
4. If the user already gave enough to act, stop asking and move to a short summary or
|
|
170
|
+
the write.
|
|
171
|
+
|
|
172
|
+
Useful calibration heuristics:
|
|
173
|
+
|
|
174
|
+
- If the unknown changes whether this is a goal, project, task, note, or Psyche
|
|
175
|
+
record, ask that first.
|
|
176
|
+
- If the shape is already clear but the wording is soft, offer a candidate title or
|
|
177
|
+
formulation rather than asking the user to invent one from scratch.
|
|
178
|
+
- If the wording is clear but the placement is missing, ask only for the parent,
|
|
179
|
+
timing, owner, or linked context that will make the record usable later.
|
|
180
|
+
- If the user is emotionally invested but the entity is not Psyche, reflect the stake
|
|
181
|
+
once and then return to the one missing structural detail.
|
|
182
|
+
- If the next question would only decorate the record and not change its usefulness,
|
|
183
|
+
skip it.
|
|
184
|
+
|
|
185
|
+
## Abstract And Reusable Record Moves
|
|
186
|
+
|
|
187
|
+
Use this posture for tags, event types, emotion definitions, preference contexts,
|
|
188
|
+
preference catalogs, preference items, questionnaire instruments, and similar
|
|
189
|
+
reusable records.
|
|
190
|
+
|
|
191
|
+
- Start from the future use, decision, or repeated moment the record should clarify,
|
|
192
|
+
not from the label alone.
|
|
193
|
+
- Ask what distinction this record should help the user notice, compare, sort, or
|
|
194
|
+
retrieve later.
|
|
195
|
+
- For collection records, ask what they are meant to help decide before you ask what
|
|
196
|
+
belongs inside them.
|
|
197
|
+
- For vocabulary records, ask what counts as inside versus outside the term before you
|
|
198
|
+
settle the wording.
|
|
199
|
+
- If the user already proposes a label, keep it provisional until the boundary and
|
|
200
|
+
future use are clear.
|
|
201
|
+
- Once the distinction is clear, offer a candidate label yourself and invite
|
|
202
|
+
correction instead of making the user wordsmith alone.
|
|
203
|
+
|
|
204
|
+
## Opening move recipes
|
|
205
|
+
|
|
206
|
+
Use these when you want the first turn to feel more guided and less form-like.
|
|
207
|
+
|
|
208
|
+
Strategic record:
|
|
209
|
+
|
|
210
|
+
- "This sounds like something you want to hold onto directionally, not just list.
|
|
211
|
+
What would feel important to keep true here?"
|
|
212
|
+
|
|
213
|
+
Bounded-work record:
|
|
214
|
+
|
|
215
|
+
- "This sounds like it wants to become a real piece of work. What outcome would make
|
|
216
|
+
it feel meaningfully real for now?"
|
|
217
|
+
|
|
218
|
+
Reflective record:
|
|
219
|
+
|
|
220
|
+
- "There is something here you do not want to lose. What feels most worth capturing
|
|
221
|
+
before we decide where to store it?"
|
|
222
|
+
|
|
223
|
+
Reusable record:
|
|
224
|
+
|
|
225
|
+
- "Before we settle the label, what future decision, comparison, or retrieval moment
|
|
226
|
+
should this help with?"
|
|
227
|
+
|
|
228
|
+
Operational record:
|
|
229
|
+
|
|
230
|
+
- "I can turn that into a concrete Forge action. What is the one timing, owner, or
|
|
231
|
+
placement detail that still needs to be decided?"
|
|
232
|
+
|
|
233
|
+
## Name, Define, Connect
|
|
234
|
+
|
|
235
|
+
Once the core record is visible, use this short checkpoint.
|
|
236
|
+
|
|
237
|
+
Name:
|
|
238
|
+
|
|
239
|
+
- offer a working title or label if the user has the meaning but not the wording yet
|
|
240
|
+
|
|
241
|
+
Define:
|
|
242
|
+
|
|
243
|
+
- ask what belongs inside this record and what would make it stop being this record
|
|
244
|
+
|
|
245
|
+
Connect:
|
|
246
|
+
|
|
247
|
+
- ask about links only after the record itself feels named and defined enough to stay
|
|
248
|
+
stable
|
|
249
|
+
|
|
250
|
+
## Close cleanly
|
|
251
|
+
|
|
252
|
+
- Once the record has a working shape, tell the user what is now clear and what one
|
|
253
|
+
detail, if any, is still worth deciding.
|
|
254
|
+
- If no detail is still decision-relevant, summarize the record in plain language and
|
|
255
|
+
move to the save.
|
|
256
|
+
- Prefer "what I have now is..." or "what seems clear now is..." over a cold final
|
|
257
|
+
field check.
|
|
258
|
+
- If the user gives a correction, revise the working formulation once and close again
|
|
259
|
+
instead of reopening the whole intake.
|
|
260
|
+
|
|
116
261
|
## Question design rules
|
|
117
262
|
|
|
118
263
|
- Let each question have one job:
|
|
@@ -124,6 +269,8 @@ When an adjacent record becomes visible:
|
|
|
124
269
|
or clarify the links.
|
|
125
270
|
- Do not over-warm or over-therapize logistical records. For those flows, one brief
|
|
126
271
|
confirming sentence plus one question is usually enough.
|
|
272
|
+
- The first question should usually clarify lived meaning, use, stake, or timing, not
|
|
273
|
+
ask the user to invent a title from scratch.
|
|
127
274
|
- Ask the more meaning-bearing question before the more administrative one.
|
|
128
275
|
- Prefer "what", "when", and "how" before "why" when the user's meaning is still
|
|
129
276
|
forming. "Why" is often better after the experience or outcome is already clear.
|
|
@@ -134,6 +281,8 @@ When an adjacent record becomes visible:
|
|
|
134
281
|
figuring out what the thing is.
|
|
135
282
|
- For labels such as `tag`, `event_type`, and `emotion_definition`, do not open with a
|
|
136
283
|
naming question unless the meaning is already clear and only the wording is missing.
|
|
284
|
+
- For reusable records, help the user define the boundary before you settle the final
|
|
285
|
+
label.
|
|
137
286
|
- Before the final save question, it is often better to offer a candidate formulation
|
|
138
287
|
than to ask for raw wording from scratch.
|
|
139
288
|
- When useful, say what you think the record is becoming before asking the next
|
|
@@ -148,6 +297,10 @@ When an adjacent record becomes visible:
|
|
|
148
297
|
- For collection-like records such as `preference_catalog` and
|
|
149
298
|
`questionnaire_instrument`, ask what they are for before you ask what should go
|
|
150
299
|
inside them.
|
|
300
|
+
- After the user answers, prefer "what is becoming clearer is..." over a cold jump to
|
|
301
|
+
the next field.
|
|
302
|
+
- For reusable or abstract records, it is often better to say "what this would help
|
|
303
|
+
you decide later is..." before asking for the final wording.
|
|
151
304
|
|
|
152
305
|
## Ready-to-save check
|
|
153
306
|
|
|
@@ -165,6 +318,9 @@ Before the final write, it is usually worth asking one light confirmation such a
|
|
|
165
318
|
- "That sounds like the right shape to save. Do you want to keep it that way, or is
|
|
166
319
|
there one thing you want adjusted first?"
|
|
167
320
|
|
|
321
|
+
If an adjacent goal, project, task, note, value, pattern, or tag became visible, ask
|
|
322
|
+
about linking only after the main record already feels named and steady.
|
|
323
|
+
|
|
168
324
|
## Update loop
|
|
169
325
|
|
|
170
326
|
Use this when the user is updating an existing record rather than creating a new one.
|
|
@@ -184,9 +340,10 @@ Aim: clarify the direction and why it matters, not just produce a title.
|
|
|
184
340
|
Arc:
|
|
185
341
|
|
|
186
342
|
1. Ask what direction or outcome the user wants to keep in view.
|
|
187
|
-
2.
|
|
188
|
-
3.
|
|
189
|
-
4.
|
|
343
|
+
2. Reflect back the deeper stake in plain language before moving on.
|
|
344
|
+
3. Ask why it matters now.
|
|
345
|
+
4. Distinguish the goal from a project or task if needed.
|
|
346
|
+
5. Clarify horizon and status only after the meaning is clear.
|
|
190
347
|
|
|
191
348
|
Helpful follow-up lanes:
|
|
192
349
|
|
|
@@ -202,7 +359,7 @@ Ready to save when:
|
|
|
202
359
|
|
|
203
360
|
Preferred opening question:
|
|
204
361
|
|
|
205
|
-
- "What direction
|
|
362
|
+
- "What direction are you trying to keep hold of here?"
|
|
206
363
|
|
|
207
364
|
## Project
|
|
208
365
|
|
|
@@ -211,10 +368,11 @@ Aim: turn an intention into a bounded workstream with a clear outcome.
|
|
|
211
368
|
Arc:
|
|
212
369
|
|
|
213
370
|
1. Ask what this piece of work is trying to make true.
|
|
214
|
-
2.
|
|
215
|
-
3. Ask
|
|
216
|
-
4.
|
|
217
|
-
5.
|
|
371
|
+
2. Reflect the emerging boundary so the user can hear what is in scope.
|
|
372
|
+
3. Ask what outcome would make it feel real or complete for now.
|
|
373
|
+
4. Ask which goal it belongs under.
|
|
374
|
+
5. Land on a working name once the scope is clear.
|
|
375
|
+
6. Clarify status, owner, and notes only after the scope is clear.
|
|
218
376
|
|
|
219
377
|
Helpful follow-up lanes:
|
|
220
378
|
|
|
@@ -230,7 +388,7 @@ Ready to save when:
|
|
|
230
388
|
|
|
231
389
|
Preferred opening question:
|
|
232
390
|
|
|
233
|
-
- "If this became a real project, what would you be trying to make true?"
|
|
391
|
+
- "If this became a real project, what would you be trying to make true in your life or work?"
|
|
234
392
|
|
|
235
393
|
## Strategy
|
|
236
394
|
|
|
@@ -239,10 +397,11 @@ Aim: turn a vague plan into a deliberate sequence toward a real end state.
|
|
|
239
397
|
Arc:
|
|
240
398
|
|
|
241
399
|
1. Ask what future state the strategy is trying to make real.
|
|
242
|
-
2.
|
|
243
|
-
3. Ask
|
|
244
|
-
4. Ask
|
|
245
|
-
5.
|
|
400
|
+
2. Reflect the destination in plain language so the user can correct it early.
|
|
401
|
+
3. Ask which goals or projects are the true targets.
|
|
402
|
+
4. Ask what the major steps or phases are.
|
|
403
|
+
5. Ask about order, dependencies, and anything that must not be skipped.
|
|
404
|
+
6. Clarify links or ownership once the sequence itself makes sense.
|
|
246
405
|
|
|
247
406
|
Helpful follow-up lanes:
|
|
248
407
|
|
|
@@ -259,7 +418,7 @@ Ready to save when:
|
|
|
259
418
|
|
|
260
419
|
Preferred opening question:
|
|
261
420
|
|
|
262
|
-
- "What future state
|
|
421
|
+
- "What future state are you actually trying to arrive at with this strategy?"
|
|
263
422
|
|
|
264
423
|
## Task
|
|
265
424
|
|
|
@@ -286,7 +445,7 @@ Ready to save when:
|
|
|
286
445
|
|
|
287
446
|
Preferred opening question:
|
|
288
447
|
|
|
289
|
-
- "What is the next concrete move
|
|
448
|
+
- "What is the next concrete move here?"
|
|
290
449
|
|
|
291
450
|
## Habit
|
|
292
451
|
|
|
@@ -315,7 +474,7 @@ Ready to save when:
|
|
|
315
474
|
|
|
316
475
|
Preferred opening question:
|
|
317
476
|
|
|
318
|
-
- "What recurring move are you trying to strengthen or
|
|
477
|
+
- "What recurring move are you trying to strengthen or interrupt?"
|
|
319
478
|
|
|
320
479
|
## Tag
|
|
321
480
|
|
|
@@ -362,6 +521,8 @@ Helpful follow-up lanes:
|
|
|
362
521
|
- what the note is for later
|
|
363
522
|
- what should stay linked
|
|
364
523
|
- whether it is durable or should expire
|
|
524
|
+
- whether part of the detail belongs in a note while the cleaner structure belongs on
|
|
525
|
+
another entity
|
|
365
526
|
|
|
366
527
|
Ready to save when:
|
|
367
528
|
|
|
@@ -371,7 +532,36 @@ Ready to save when:
|
|
|
371
532
|
|
|
372
533
|
Preferred opening question:
|
|
373
534
|
|
|
374
|
-
- "What
|
|
535
|
+
- "What about this feels worth preserving in a note?"
|
|
536
|
+
|
|
537
|
+
## Wiki Page
|
|
538
|
+
|
|
539
|
+
Aim: create a durable reference page with a clear scope instead of dumping raw notes
|
|
540
|
+
into the wiki.
|
|
541
|
+
|
|
542
|
+
Arc:
|
|
543
|
+
|
|
544
|
+
1. Ask what topic this page should become the canonical place for.
|
|
545
|
+
2. Ask whether it is a durable wiki page or supporting evidence.
|
|
546
|
+
3. Ask what future lookup, decision, or collaboration this page should support.
|
|
547
|
+
4. Ask about linked entities, aliases, or tags only if they will make the page more
|
|
548
|
+
navigable later.
|
|
549
|
+
|
|
550
|
+
Helpful follow-up lanes:
|
|
551
|
+
|
|
552
|
+
- what this page should be the home for
|
|
553
|
+
- what should belong on the page versus remain linked evidence
|
|
554
|
+
- who would open this page later and what they should quickly understand
|
|
555
|
+
|
|
556
|
+
Ready to save when:
|
|
557
|
+
|
|
558
|
+
- the page scope is clear
|
|
559
|
+
- the page kind is clear enough
|
|
560
|
+
- the title is stable enough to find later
|
|
561
|
+
|
|
562
|
+
Preferred opening question:
|
|
563
|
+
|
|
564
|
+
- "What should this page become the main reference for?"
|
|
375
565
|
|
|
376
566
|
## Insight
|
|
377
567
|
|
|
@@ -506,6 +696,33 @@ Preferred opening question:
|
|
|
506
696
|
|
|
507
697
|
- "Which task should I start?"
|
|
508
698
|
|
|
699
|
+
## Work Adjustment
|
|
700
|
+
|
|
701
|
+
Aim: correct tracked minutes truthfully without pretending a live run happened.
|
|
702
|
+
|
|
703
|
+
Arc:
|
|
704
|
+
|
|
705
|
+
1. Ask what existing task or project the minutes belong to.
|
|
706
|
+
2. Ask whether time should be added or removed.
|
|
707
|
+
3. Ask what real work or correction the adjustment is meant to capture.
|
|
708
|
+
4. Ask for a short audit note only if the reason would otherwise be unclear later.
|
|
709
|
+
|
|
710
|
+
Helpful follow-up lanes:
|
|
711
|
+
|
|
712
|
+
- what record the correction belongs to
|
|
713
|
+
- whether the adjustment is positive or negative
|
|
714
|
+
- what truthful reason should stay attached to the correction
|
|
715
|
+
|
|
716
|
+
Ready to act when:
|
|
717
|
+
|
|
718
|
+
- the target task or project is clear
|
|
719
|
+
- the minute delta is clear
|
|
720
|
+
- the note is clear enough when an audit trail matters
|
|
721
|
+
|
|
722
|
+
Preferred opening question:
|
|
723
|
+
|
|
724
|
+
- "Which task or project should this time correction belong to?"
|
|
725
|
+
|
|
509
726
|
## Self Observation
|
|
510
727
|
|
|
511
728
|
Aim: capture one observation clearly enough that it can support later reflection
|
|
@@ -514,9 +731,10 @@ without pretending it is already a full interpretation.
|
|
|
514
731
|
Arc:
|
|
515
732
|
|
|
516
733
|
1. Ask what was observed.
|
|
517
|
-
2.
|
|
518
|
-
3. Ask
|
|
519
|
-
4. Ask
|
|
734
|
+
2. Reflect the moment without pretending it is already a finished interpretation.
|
|
735
|
+
3. Ask when it happened or became noticeable.
|
|
736
|
+
4. Ask what it may connect to: pattern, belief, value, mode, task, project, or note.
|
|
737
|
+
5. Ask for tags or extra context only if that will help later review.
|
|
520
738
|
|
|
521
739
|
If the user already gave the moment or timing, move straight to what they noticed most
|
|
522
740
|
clearly instead of re-asking when.
|
|
@@ -529,7 +747,7 @@ Ready to save when:
|
|
|
529
747
|
|
|
530
748
|
Preferred opening question:
|
|
531
749
|
|
|
532
|
-
- "What did you notice
|
|
750
|
+
- "What did you notice most clearly in that moment?"
|
|
533
751
|
|
|
534
752
|
## Sleep Session
|
|
535
753
|
|
|
@@ -572,6 +790,195 @@ Preferred opening question:
|
|
|
572
790
|
|
|
573
791
|
- "What about this workout feels most worth remembering or connecting?"
|
|
574
792
|
|
|
793
|
+
## Calendar Connection
|
|
794
|
+
|
|
795
|
+
Aim: connect the right provider deliberately without turning setup into a credential
|
|
796
|
+
dump.
|
|
797
|
+
|
|
798
|
+
Arc:
|
|
799
|
+
|
|
800
|
+
1. Ask which provider the user wants to connect and what they want Forge to do with
|
|
801
|
+
it.
|
|
802
|
+
2. Ask whether the goal is read-only visibility, writable planning, or both.
|
|
803
|
+
3. Ask only for the next provider-specific step that still matters, such as auth flow,
|
|
804
|
+
label, or calendar selection.
|
|
805
|
+
4. Move into the actual connection flow once the setup goal is clear.
|
|
806
|
+
|
|
807
|
+
Helpful follow-up lanes:
|
|
808
|
+
|
|
809
|
+
- what calendar workflow the user wants to unlock
|
|
810
|
+
- whether writable projection matters
|
|
811
|
+
- whether the provider requires a local sign-in step instead of manual fields
|
|
812
|
+
|
|
813
|
+
Ready to act when:
|
|
814
|
+
|
|
815
|
+
- the provider is clear
|
|
816
|
+
- the intended sync behavior is clear enough
|
|
817
|
+
- the next setup step is obvious
|
|
818
|
+
|
|
819
|
+
Preferred opening question:
|
|
820
|
+
|
|
821
|
+
- "Which calendar provider are you trying to connect, and what do you want Forge to do with it?"
|
|
822
|
+
|
|
823
|
+
## Preference Judgment
|
|
824
|
+
|
|
825
|
+
Aim: capture one pairwise preference decision with the right context, not just log a
|
|
826
|
+
left-versus-right click.
|
|
827
|
+
|
|
828
|
+
Arc:
|
|
829
|
+
|
|
830
|
+
1. Ask what comparison the user is actually trying to settle.
|
|
831
|
+
2. Ask which context or domain this judgment belongs to.
|
|
832
|
+
3. Ask whether the result is left, right, tie, or skip.
|
|
833
|
+
4. Ask for reason tags or strength only if they will improve later interpretation.
|
|
834
|
+
|
|
835
|
+
Helpful follow-up lanes:
|
|
836
|
+
|
|
837
|
+
- what the comparison is really about
|
|
838
|
+
- which preference context should own the signal
|
|
839
|
+
- whether the choice feels decisive, weak, tied, or not ready
|
|
840
|
+
|
|
841
|
+
Ready to act when:
|
|
842
|
+
|
|
843
|
+
- the left and right items are clear
|
|
844
|
+
- the outcome is clear
|
|
845
|
+
- the relevant context or profile is clear enough
|
|
846
|
+
|
|
847
|
+
Preferred opening question:
|
|
848
|
+
|
|
849
|
+
- "What comparison are you actually trying to settle here?"
|
|
850
|
+
|
|
851
|
+
## Preference Signal
|
|
852
|
+
|
|
853
|
+
Aim: store a direct preference signal such as favorite, veto, bookmark, or
|
|
854
|
+
compare-later with the context that makes it interpretable later.
|
|
855
|
+
|
|
856
|
+
Arc:
|
|
857
|
+
|
|
858
|
+
1. Ask what item the user wants to mark.
|
|
859
|
+
2. Ask what signal they want to give it.
|
|
860
|
+
3. Ask what domain or context this belongs to if that is still unclear.
|
|
861
|
+
4. Ask about strength only if the user is expressing a gradient rather than a simple mark.
|
|
862
|
+
|
|
863
|
+
Helpful follow-up lanes:
|
|
864
|
+
|
|
865
|
+
- what item is being marked
|
|
866
|
+
- whether this is a favorite, veto, bookmark, neutral, or compare-later signal
|
|
867
|
+
- what context makes the signal meaningful
|
|
868
|
+
|
|
869
|
+
Ready to act when:
|
|
870
|
+
|
|
871
|
+
- the item is clear
|
|
872
|
+
- the signal type is clear
|
|
873
|
+
- the context is clear enough if it changes interpretation
|
|
874
|
+
|
|
875
|
+
Preferred opening question:
|
|
876
|
+
|
|
877
|
+
- "What do you want Forge to remember about this item right now?"
|
|
878
|
+
|
|
879
|
+
## Movement
|
|
880
|
+
|
|
881
|
+
Aim: clarify whether the user wants to understand time in place, review travel
|
|
882
|
+
behavior, add or update a stay or trip, inspect one place, or link movement context to
|
|
883
|
+
another Forge record before choosing the dedicated route family.
|
|
884
|
+
|
|
885
|
+
Arc:
|
|
886
|
+
|
|
887
|
+
1. Ask whether the user is trying to query behavior, add something manually, update an existing movement item, or link movement to another Forge entity.
|
|
888
|
+
2. Ask whether the focus is a stay, a trip, a place, a timeline window, or a selected span.
|
|
889
|
+
3. Ask for the time window, place, or movement item that makes the question concrete.
|
|
890
|
+
4. Ask what they are trying to notice, preserve, or answer through that movement context.
|
|
891
|
+
5. Route to the dedicated movement read or write path once the surface is clear.
|
|
892
|
+
|
|
893
|
+
Direct action rules:
|
|
894
|
+
|
|
895
|
+
- If the user is clearly talking about a missing-data gap that should become a stay or
|
|
896
|
+
trip, use a user-defined movement box.
|
|
897
|
+
- Preflight with `/api/v1/movement/user-boxes/preflight` when overlap or exact timing
|
|
898
|
+
is unclear, then create the overlay with `/api/v1/movement/user-boxes`.
|
|
899
|
+
- Use `kind: "stay"` when the user stayed in one place and `kind: "trip"` when they
|
|
900
|
+
traveled.
|
|
901
|
+
- Use raw `PATCH /api/v1/movement/stays/:id` or `/api/v1/movement/trips/:id` only for
|
|
902
|
+
editing an already-recorded stay or trip, not for filling a missing span.
|
|
903
|
+
- When the user has already given the real answer, for example "I stayed home during
|
|
904
|
+
that missing block", do not ask a broad review question again. Confirm only the
|
|
905
|
+
interval or place if that is still ambiguous, then act.
|
|
906
|
+
|
|
907
|
+
Helpful follow-up lanes:
|
|
908
|
+
|
|
909
|
+
- whether the user wants time-in-place, travel history, one specific stay or trip, a
|
|
910
|
+
place summary, or a link
|
|
911
|
+
- what time window, place, stay, trip, or selection is in scope
|
|
912
|
+
- whether the question is behavioral, such as time at home, travel frequency, or place
|
|
913
|
+
distribution, versus an edit
|
|
914
|
+
- whether the edit is a missing-gap overlay versus a true recorded stay/trip patch
|
|
915
|
+
|
|
916
|
+
Ready to act when:
|
|
917
|
+
|
|
918
|
+
- the movement surface is clear
|
|
919
|
+
- the time range, place, stay, trip, or selection is clear enough
|
|
920
|
+
- the user goal is clear enough to choose the route
|
|
921
|
+
|
|
922
|
+
Preferred opening question:
|
|
923
|
+
|
|
924
|
+
- "Are you trying to understand where you stayed and traveled, change one stay or trip, or answer a question about your movement behavior?"
|
|
925
|
+
|
|
926
|
+
## Life Force
|
|
927
|
+
|
|
928
|
+
Aim: clarify whether the user wants to review current energy state, change durable
|
|
929
|
+
profile assumptions, edit weekday curves, or log a real-time fatigue signal.
|
|
930
|
+
|
|
931
|
+
Arc:
|
|
932
|
+
|
|
933
|
+
1. Ask whether the job is overview, profile change, weekday-template change, or fatigue signaling.
|
|
934
|
+
2. Ask what part of the current energy picture feels most important or inaccurate.
|
|
935
|
+
3. Ask what should stay true if they are changing profile or template assumptions.
|
|
936
|
+
4. Route to the dedicated life-force path once the lane is clear.
|
|
937
|
+
|
|
938
|
+
Helpful follow-up lanes:
|
|
939
|
+
|
|
940
|
+
- whether the user wants explanation, editing, or signaling
|
|
941
|
+
- what part of the energy model feels off or useful
|
|
942
|
+
- what durable assumption versus real-time state is being changed
|
|
943
|
+
|
|
944
|
+
Ready to act when:
|
|
945
|
+
|
|
946
|
+
- the life-force lane is clear
|
|
947
|
+
- the relevant weekday, profile field, or signal is clear enough
|
|
948
|
+
- the user intent is clear enough to choose overview versus mutation
|
|
949
|
+
|
|
950
|
+
Preferred opening question:
|
|
951
|
+
|
|
952
|
+
- "Do you want to understand the current energy picture, change how Forge models it, or log how you feel right now?"
|
|
953
|
+
|
|
954
|
+
## Workbench
|
|
955
|
+
|
|
956
|
+
Aim: clarify whether the user wants to inspect a flow, edit it, run it, or inspect
|
|
957
|
+
results so the agent uses the dedicated workbench contract instead of vague CRUD.
|
|
958
|
+
|
|
959
|
+
Arc:
|
|
960
|
+
|
|
961
|
+
1. Ask whether the job is flow discovery, one flow edit, execution, run history, published output, node-level inspection, or latest-node-output lookup.
|
|
962
|
+
2. Ask which flow, slug, run, or node the request is about.
|
|
963
|
+
3. Ask what the user is trying to learn, repair, or publish through that flow.
|
|
964
|
+
4. Route to the dedicated workbench route family once the execution lane is clear.
|
|
965
|
+
|
|
966
|
+
Helpful follow-up lanes:
|
|
967
|
+
|
|
968
|
+
- whether the user wants structure, execution, or results
|
|
969
|
+
- what exact flow or run is in scope
|
|
970
|
+
- whether they need whole-flow output or node-level detail
|
|
971
|
+
|
|
972
|
+
Ready to act when:
|
|
973
|
+
|
|
974
|
+
- the workbench lane is clear
|
|
975
|
+
- the flow, run, or node is clear enough
|
|
976
|
+
- the requested read or mutation is clear enough to choose the route
|
|
977
|
+
|
|
978
|
+
Preferred opening question:
|
|
979
|
+
|
|
980
|
+
- "Are you trying to inspect a flow, change it, run it, or inspect one run's outputs?"
|
|
981
|
+
|
|
575
982
|
## Preference Catalog
|
|
576
983
|
|
|
577
984
|
Aim: define a useful comparison pool, not just a list with no decision purpose.
|
|
@@ -597,7 +1004,7 @@ Ready to save when:
|
|
|
597
1004
|
|
|
598
1005
|
Preferred opening question:
|
|
599
1006
|
|
|
600
|
-
- "What
|
|
1007
|
+
- "What decision or taste question should this catalog help with?"
|
|
601
1008
|
|
|
602
1009
|
## Preference Catalog Item
|
|
603
1010
|
|
|
@@ -624,7 +1031,7 @@ Ready to save when:
|
|
|
624
1031
|
|
|
625
1032
|
Preferred opening question:
|
|
626
1033
|
|
|
627
|
-
- "What makes this
|
|
1034
|
+
- "What makes this option meaningfully worth comparing?"
|
|
628
1035
|
|
|
629
1036
|
## Preference Context
|
|
630
1037
|
|
|
@@ -633,9 +1040,10 @@ Aim: define a real operating mode for preferences, not a decorative label.
|
|
|
633
1040
|
Arc:
|
|
634
1041
|
|
|
635
1042
|
1. Ask what situation or mode this context is meant to represent.
|
|
636
|
-
2. Ask what should
|
|
637
|
-
3. Ask
|
|
638
|
-
4.
|
|
1043
|
+
2. Ask what decisions or comparisons should feel different inside that context.
|
|
1044
|
+
3. Ask what should count inside that context and what should stay outside it.
|
|
1045
|
+
4. Ask whether it should be active, default, or kept separate from other evidence.
|
|
1046
|
+
5. Offer a concise name if the mode is clearer than the wording.
|
|
639
1047
|
|
|
640
1048
|
Helpful follow-up lanes:
|
|
641
1049
|
|
|
@@ -651,7 +1059,7 @@ Ready to save when:
|
|
|
651
1059
|
|
|
652
1060
|
Preferred opening question:
|
|
653
1061
|
|
|
654
|
-
- "
|
|
1062
|
+
- "In what situation should Forge treat your preferences differently here?"
|
|
655
1063
|
|
|
656
1064
|
## Preference Item
|
|
657
1065
|
|
|
@@ -695,9 +1103,10 @@ Arc:
|
|
|
695
1103
|
|
|
696
1104
|
1. Ask what the questionnaire is meant to measure or surface.
|
|
697
1105
|
2. Ask who it is for and when it should be used.
|
|
698
|
-
3. Ask what kind of
|
|
699
|
-
item wording.
|
|
700
|
-
4.
|
|
1106
|
+
3. Ask what kind of honest moment or decision it should help someone answer before
|
|
1107
|
+
getting into item wording.
|
|
1108
|
+
4. Reflect the practical use case back in plain language.
|
|
1109
|
+
5. Move to draft creation once the purpose is clear.
|
|
701
1110
|
|
|
702
1111
|
Ready to act when:
|
|
703
1112
|
|
|
@@ -707,7 +1116,7 @@ Ready to act when:
|
|
|
707
1116
|
|
|
708
1117
|
Preferred opening question:
|
|
709
1118
|
|
|
710
|
-
- "What
|
|
1119
|
+
- "What would this questionnaire help someone notice or track?"
|
|
711
1120
|
|
|
712
1121
|
## Questionnaire Run
|
|
713
1122
|
|
|
@@ -726,7 +1135,7 @@ Ready to act when:
|
|
|
726
1135
|
|
|
727
1136
|
Preferred opening question:
|
|
728
1137
|
|
|
729
|
-
- "
|
|
1138
|
+
- "Do you want to start, continue, review, or finish a questionnaire run?"
|
|
730
1139
|
|
|
731
1140
|
## Event Type
|
|
732
1141
|
|
|
@@ -751,7 +1160,7 @@ Ready to save when:
|
|
|
751
1160
|
|
|
752
1161
|
Preferred opening question:
|
|
753
1162
|
|
|
754
|
-
- "What kind of moment
|
|
1163
|
+
- "What kind of moment keeps happening that you want future reports to name the same way each time?"
|
|
755
1164
|
|
|
756
1165
|
## Emotion Definition
|
|
757
1166
|
|
|
@@ -763,6 +1172,11 @@ Arc:
|
|
|
763
1172
|
2. Ask what distinguishes it from nearby emotions if that matters.
|
|
764
1173
|
3. Ask for a short description only if later reports would benefit from it.
|
|
765
1174
|
|
|
1175
|
+
Helpful follow-up lanes:
|
|
1176
|
+
|
|
1177
|
+
- what tells the user this is that feeling and not a nearby one
|
|
1178
|
+
- what kind of moments this emotion name should be used for later
|
|
1179
|
+
|
|
766
1180
|
Ready to save when:
|
|
767
1181
|
|
|
768
1182
|
- the label is clear
|
|
@@ -770,4 +1184,4 @@ Ready to save when:
|
|
|
770
1184
|
|
|
771
1185
|
Preferred opening question:
|
|
772
1186
|
|
|
773
|
-
- "When
|
|
1187
|
+
- "When this feeling is present, what tells you it is this feeling and not a nearby one?"
|