forge-openclaw-plugin 0.2.27 → 0.2.29
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 +2 -1
- package/dist/assets/{board-C6jCchjI.js → board-q8cfwaAW.js} +2 -2
- package/dist/assets/{board-C6jCchjI.js.map → board-q8cfwaAW.js.map} +1 -1
- package/dist/assets/index-C6PCeHD_.css +1 -0
- package/dist/assets/index-bfHIqj0-.js +85 -0
- package/dist/assets/index-bfHIqj0-.js.map +1 -0
- package/dist/assets/{motion-DFHrH2rd.js → motion-DHfqFntt.js} +2 -2
- package/dist/assets/{motion-DFHrH2rd.js.map → motion-DHfqFntt.js.map} +1 -1
- package/dist/assets/{table-ZL7Di_u3.js → table-DLweENXt.js} +2 -2
- package/dist/assets/{table-ZL7Di_u3.js.map → table-DLweENXt.js.map} +1 -1
- package/dist/assets/{ui-CKNPpz7q.js → ui-BV0OYxkH.js} +2 -2
- package/dist/assets/{ui-CKNPpz7q.js.map → ui-BV0OYxkH.js.map} +1 -1
- package/dist/assets/{vendor-DoNZuFhn.js → vendor-OwcH20PM.js} +204 -204
- package/dist/assets/vendor-OwcH20PM.js.map +1 -0
- package/dist/index.html +7 -7
- package/dist/server/server/migrations/044_macos_local_calendar_provider.sql +21 -0
- package/dist/server/server/src/app.js +331 -14
- package/dist/server/server/src/openapi.js +828 -3
- package/dist/server/server/src/repositories/calendar.js +295 -12
- package/dist/server/server/src/repositories/tasks.js +36 -17
- package/dist/server/server/src/services/calendar-runtime.js +613 -32
- package/dist/server/server/src/services/life-force-model.js +20 -0
- package/dist/server/server/src/services/life-force.js +1333 -97
- package/dist/server/server/src/services/macos-calendar-helper.js +748 -0
- package/dist/server/server/src/types.js +67 -3
- package/dist/server/src/lib/api-error.js +2 -0
- package/dist/server/src/lib/api.js +39 -2
- package/dist/server/src/lib/calendar-name-deduper.js +2 -0
- package/dist/server/src/lib/snapshot-normalizer.js +2 -0
- package/openclaw.plugin.json +1 -1
- package/package.json +1 -1
- package/server/migrations/044_macos_local_calendar_provider.sql +21 -0
- package/skills/forge-openclaw/SKILL.md +38 -5
- package/skills/forge-openclaw/entity_conversation_playbooks.md +326 -5
- package/skills/forge-openclaw/psyche_entity_playbooks.md +57 -0
- package/dist/assets/index-DVvS8iiU.css +0 -1
- package/dist/assets/index-zYB-9Dfo.js +0 -85
- package/dist/assets/index-zYB-9Dfo.js.map +0 -1
- package/dist/assets/vendor-DoNZuFhn.js.map +0 -1
|
@@ -11,7 +11,12 @@ Forge correctly, and gather only the structure that still matters.
|
|
|
11
11
|
with the entity label.
|
|
12
12
|
- Start by saying what seems to matter here or what the record is becoming, then ask
|
|
13
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.
|
|
14
17
|
- Ask only for what is missing or still unclear.
|
|
18
|
+
- First identify the user's job when the lane is not already explicit:
|
|
19
|
+
are they trying to add, update, review, compare, navigate, link, or run something?
|
|
15
20
|
- Before every question, decide the one missing thing you are trying to clarify.
|
|
16
21
|
- Ask first for the missing thing that would change the record shape, title, or next
|
|
17
22
|
action most, not just the easiest field to fill.
|
|
@@ -28,6 +33,8 @@ Forge correctly, and gather only the structure that still matters.
|
|
|
28
33
|
short reflection -> one orienting question.
|
|
29
34
|
- When the user is vague, ask for the smallest real example, desired outcome, or stake
|
|
30
35
|
before you ask for wording.
|
|
36
|
+
- For strategic, reflective, or emotionally meaningful non-Psyche records, ask what
|
|
37
|
+
feels important to keep true before you ask for labels, dates, or taxonomy.
|
|
31
38
|
- When the user is clear, say what the record seems to be becoming and move straight to
|
|
32
39
|
the last missing structural detail.
|
|
33
40
|
- For straightforward logistical entities such as tasks, calendar events, work blocks,
|
|
@@ -36,6 +43,11 @@ Forge correctly, and gather only the structure that still matters.
|
|
|
36
43
|
- For logistical records such as tasks, calendar events, work blocks, timeboxes, and
|
|
37
44
|
task runs, use a fast path:
|
|
38
45
|
one brief confirming sentence -> one operational question.
|
|
46
|
+
- For action-heavy flows such as work adjustments, preference judgments, preference
|
|
47
|
+
signals, and specialized surface work in Movement, Life Force, or Workbench, first
|
|
48
|
+
ask what the user is trying to understand, change, add, update, link, or run, then
|
|
49
|
+
route to the dedicated action or surface path instead of pretending it is normal
|
|
50
|
+
CRUD.
|
|
39
51
|
- Do not read schema fields out loud unless the user explicitly wants a checklist.
|
|
40
52
|
- One focused question is the default. Ask two only when both questions serve the same
|
|
41
53
|
job and the user is steady enough for it.
|
|
@@ -68,6 +80,21 @@ Most good Forge intake flows follow this sequence:
|
|
|
68
80
|
|
|
69
81
|
That sequence is not a script. Skip steps the user already answered.
|
|
70
82
|
|
|
83
|
+
## Operation lane checkpoint
|
|
84
|
+
|
|
85
|
+
Use this before you choose an API path or ask for more structure.
|
|
86
|
+
|
|
87
|
+
- If the user has not made the operation explicit yet, clarify the job first:
|
|
88
|
+
add, update, review, compare, navigate, link, or run.
|
|
89
|
+
- Ask the lane question only when it changes the route family or the next question.
|
|
90
|
+
- Skip the meta lane question when the user already gave both the entity and the
|
|
91
|
+
action clearly, such as "pause this project", "add a home stay for that missing
|
|
92
|
+
block", or "run this flow again".
|
|
93
|
+
- For simple stored entities, once the lane is clear, fall back to the shared batch
|
|
94
|
+
CRUD flow.
|
|
95
|
+
- For specialized surfaces such as Movement, Life Force, and Workbench, use the lane
|
|
96
|
+
to choose the dedicated route family before you ask for lower-level details.
|
|
97
|
+
|
|
71
98
|
## Active-listening patterns
|
|
72
99
|
|
|
73
100
|
Use one of these shapes when the user is not yet precise.
|
|
@@ -148,6 +175,21 @@ When an adjacent record becomes visible:
|
|
|
148
175
|
- name it gently and ask whether it should be linked now, saved separately later, or
|
|
149
176
|
left alone for now
|
|
150
177
|
|
|
178
|
+
## Review And Navigation Moves
|
|
179
|
+
|
|
180
|
+
Use this when the user wants to inspect, compare, review, or navigate existing Forge
|
|
181
|
+
records rather than create something new.
|
|
182
|
+
|
|
183
|
+
- Start by asking what they are trying to understand, decide, compare, or check.
|
|
184
|
+
- Ask only for the scoping detail that changes the read path most:
|
|
185
|
+
entity, owner, timeframe, context, or comparison target.
|
|
186
|
+
- If the record already exists and the user wants review, do not reopen a creation
|
|
187
|
+
intake. Route to search, list, overview, or detail first.
|
|
188
|
+
- For review-heavy questions, the useful progression is:
|
|
189
|
+
user goal -> scope -> read path -> interpretation -> optional follow-up write.
|
|
190
|
+
- Only drift back into create or update intake if the user actually wants the record
|
|
191
|
+
changed after the review.
|
|
192
|
+
|
|
151
193
|
## Question Calibration Loop
|
|
152
194
|
|
|
153
195
|
Use this quick internal check before every follow-up question.
|
|
@@ -191,6 +233,35 @@ reusable records.
|
|
|
191
233
|
- Once the distinction is clear, offer a candidate label yourself and invite
|
|
192
234
|
correction instead of making the user wordsmith alone.
|
|
193
235
|
|
|
236
|
+
## Opening move recipes
|
|
237
|
+
|
|
238
|
+
Use these when you want the first turn to feel more guided and less form-like.
|
|
239
|
+
|
|
240
|
+
Strategic record:
|
|
241
|
+
|
|
242
|
+
- "This sounds like something you want to hold onto directionally, not just list.
|
|
243
|
+
What would feel important to keep true here?"
|
|
244
|
+
|
|
245
|
+
Bounded-work record:
|
|
246
|
+
|
|
247
|
+
- "This sounds like it wants to become a real piece of work. What outcome would make
|
|
248
|
+
it feel meaningfully real for now?"
|
|
249
|
+
|
|
250
|
+
Reflective record:
|
|
251
|
+
|
|
252
|
+
- "There is something here you do not want to lose. What feels most worth capturing
|
|
253
|
+
before we decide where to store it?"
|
|
254
|
+
|
|
255
|
+
Reusable record:
|
|
256
|
+
|
|
257
|
+
- "Before we settle the label, what future decision, comparison, or retrieval moment
|
|
258
|
+
should this help with?"
|
|
259
|
+
|
|
260
|
+
Operational record:
|
|
261
|
+
|
|
262
|
+
- "I can turn that into a concrete Forge action. What is the one timing, owner, or
|
|
263
|
+
placement detail that still needs to be decided?"
|
|
264
|
+
|
|
194
265
|
## Name, Define, Connect
|
|
195
266
|
|
|
196
267
|
Once the core record is visible, use this short checkpoint.
|
|
@@ -208,6 +279,17 @@ Connect:
|
|
|
208
279
|
- ask about links only after the record itself feels named and defined enough to stay
|
|
209
280
|
stable
|
|
210
281
|
|
|
282
|
+
## Close cleanly
|
|
283
|
+
|
|
284
|
+
- Once the record has a working shape, tell the user what is now clear and what one
|
|
285
|
+
detail, if any, is still worth deciding.
|
|
286
|
+
- If no detail is still decision-relevant, summarize the record in plain language and
|
|
287
|
+
move to the save.
|
|
288
|
+
- Prefer "what I have now is..." or "what seems clear now is..." over a cold final
|
|
289
|
+
field check.
|
|
290
|
+
- If the user gives a correction, revise the working formulation once and close again
|
|
291
|
+
instead of reopening the whole intake.
|
|
292
|
+
|
|
211
293
|
## Question design rules
|
|
212
294
|
|
|
213
295
|
- Let each question have one job:
|
|
@@ -249,6 +331,8 @@ Connect:
|
|
|
249
331
|
inside them.
|
|
250
332
|
- After the user answers, prefer "what is becoming clearer is..." over a cold jump to
|
|
251
333
|
the next field.
|
|
334
|
+
- For reusable or abstract records, it is often better to say "what this would help
|
|
335
|
+
you decide later is..." before asking for the final wording.
|
|
252
336
|
|
|
253
337
|
## Ready-to-save check
|
|
254
338
|
|
|
@@ -644,6 +728,33 @@ Preferred opening question:
|
|
|
644
728
|
|
|
645
729
|
- "Which task should I start?"
|
|
646
730
|
|
|
731
|
+
## Work Adjustment
|
|
732
|
+
|
|
733
|
+
Aim: correct tracked minutes truthfully without pretending a live run happened.
|
|
734
|
+
|
|
735
|
+
Arc:
|
|
736
|
+
|
|
737
|
+
1. Ask what existing task or project the minutes belong to.
|
|
738
|
+
2. Ask whether time should be added or removed.
|
|
739
|
+
3. Ask what real work or correction the adjustment is meant to capture.
|
|
740
|
+
4. Ask for a short audit note only if the reason would otherwise be unclear later.
|
|
741
|
+
|
|
742
|
+
Helpful follow-up lanes:
|
|
743
|
+
|
|
744
|
+
- what record the correction belongs to
|
|
745
|
+
- whether the adjustment is positive or negative
|
|
746
|
+
- what truthful reason should stay attached to the correction
|
|
747
|
+
|
|
748
|
+
Ready to act when:
|
|
749
|
+
|
|
750
|
+
- the target task or project is clear
|
|
751
|
+
- the minute delta is clear
|
|
752
|
+
- the note is clear enough when an audit trail matters
|
|
753
|
+
|
|
754
|
+
Preferred opening question:
|
|
755
|
+
|
|
756
|
+
- "Which task or project should this time correction belong to?"
|
|
757
|
+
|
|
647
758
|
## Self Observation
|
|
648
759
|
|
|
649
760
|
Aim: capture one observation clearly enough that it can support later reflection
|
|
@@ -741,6 +852,212 @@ Preferred opening question:
|
|
|
741
852
|
|
|
742
853
|
- "Which calendar provider are you trying to connect, and what do you want Forge to do with it?"
|
|
743
854
|
|
|
855
|
+
## Preference Judgment
|
|
856
|
+
|
|
857
|
+
Aim: capture one pairwise preference decision with the right context, not just log a
|
|
858
|
+
left-versus-right click.
|
|
859
|
+
|
|
860
|
+
Arc:
|
|
861
|
+
|
|
862
|
+
1. Ask what comparison the user is actually trying to settle.
|
|
863
|
+
2. Ask which context or domain this judgment belongs to.
|
|
864
|
+
3. Ask whether the result is left, right, tie, or skip.
|
|
865
|
+
4. Ask for reason tags or strength only if they will improve later interpretation.
|
|
866
|
+
|
|
867
|
+
Helpful follow-up lanes:
|
|
868
|
+
|
|
869
|
+
- what the comparison is really about
|
|
870
|
+
- which preference context should own the signal
|
|
871
|
+
- whether the choice feels decisive, weak, tied, or not ready
|
|
872
|
+
|
|
873
|
+
Ready to act when:
|
|
874
|
+
|
|
875
|
+
- the left and right items are clear
|
|
876
|
+
- the outcome is clear
|
|
877
|
+
- the relevant context or profile is clear enough
|
|
878
|
+
|
|
879
|
+
Preferred opening question:
|
|
880
|
+
|
|
881
|
+
- "What comparison are you actually trying to settle here?"
|
|
882
|
+
|
|
883
|
+
## Preference Signal
|
|
884
|
+
|
|
885
|
+
Aim: store a direct preference signal such as favorite, veto, bookmark, or
|
|
886
|
+
compare-later with the context that makes it interpretable later.
|
|
887
|
+
|
|
888
|
+
Arc:
|
|
889
|
+
|
|
890
|
+
1. Ask what item the user wants to mark.
|
|
891
|
+
2. Ask what signal they want to give it.
|
|
892
|
+
3. Ask what domain or context this belongs to if that is still unclear.
|
|
893
|
+
4. Ask about strength only if the user is expressing a gradient rather than a simple mark.
|
|
894
|
+
|
|
895
|
+
Helpful follow-up lanes:
|
|
896
|
+
|
|
897
|
+
- what item is being marked
|
|
898
|
+
- whether this is a favorite, veto, bookmark, neutral, or compare-later signal
|
|
899
|
+
- what context makes the signal meaningful
|
|
900
|
+
|
|
901
|
+
Ready to act when:
|
|
902
|
+
|
|
903
|
+
- the item is clear
|
|
904
|
+
- the signal type is clear
|
|
905
|
+
- the context is clear enough if it changes interpretation
|
|
906
|
+
|
|
907
|
+
Preferred opening question:
|
|
908
|
+
|
|
909
|
+
- "What do you want Forge to remember about this item right now?"
|
|
910
|
+
|
|
911
|
+
## Movement
|
|
912
|
+
|
|
913
|
+
Aim: clarify whether the user wants to understand time in place, review travel
|
|
914
|
+
behavior, add or update a stay or trip, inspect one place, or link movement context to
|
|
915
|
+
another Forge record before choosing the dedicated route family.
|
|
916
|
+
|
|
917
|
+
Arc:
|
|
918
|
+
|
|
919
|
+
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.
|
|
920
|
+
2. Ask whether the focus is a stay, a trip, a place, a timeline window, or a selected span.
|
|
921
|
+
3. Ask for the time window, place, or movement item that makes the question concrete.
|
|
922
|
+
4. Ask what they are trying to notice, preserve, or answer through that movement context.
|
|
923
|
+
5. Route to the dedicated movement read or write path once the surface is clear.
|
|
924
|
+
|
|
925
|
+
Direct action rules:
|
|
926
|
+
|
|
927
|
+
- If the user is clearly talking about a missing-data gap that should become a stay or
|
|
928
|
+
trip, use a user-defined movement box.
|
|
929
|
+
- Preflight with `/api/v1/movement/user-boxes/preflight` when overlap or exact timing
|
|
930
|
+
is unclear, then create the overlay with `/api/v1/movement/user-boxes`.
|
|
931
|
+
- Use `kind: "stay"` when the user stayed in one place and `kind: "trip"` when they
|
|
932
|
+
traveled.
|
|
933
|
+
- Use raw `PATCH /api/v1/movement/stays/:id` or `/api/v1/movement/trips/:id` only for
|
|
934
|
+
editing an already-recorded stay or trip, not for filling a missing span.
|
|
935
|
+
- When the user has already given the real answer, for example "I stayed home during
|
|
936
|
+
that missing block", do not ask a broad review question again. Confirm only the
|
|
937
|
+
interval or place if that is still ambiguous, then act.
|
|
938
|
+
|
|
939
|
+
Helpful follow-up lanes:
|
|
940
|
+
|
|
941
|
+
- whether the user wants time-in-place, travel history, one specific stay or trip, a
|
|
942
|
+
place summary, or a link
|
|
943
|
+
- what time window, place, stay, trip, or selection is in scope
|
|
944
|
+
- whether the question is behavioral, such as time at home, travel frequency, or place
|
|
945
|
+
distribution, versus an edit
|
|
946
|
+
- whether the edit is a missing-gap overlay versus a true recorded stay/trip patch
|
|
947
|
+
|
|
948
|
+
Lane-to-route map:
|
|
949
|
+
|
|
950
|
+
- review one day or month:
|
|
951
|
+
`/api/v1/movement/day` or `/api/v1/movement/month`
|
|
952
|
+
- review long-range behavior or dominant places:
|
|
953
|
+
`/api/v1/movement/all-time`, `/api/v1/movement/places`, or `/api/v1/movement/selection`
|
|
954
|
+
- inspect the full life timeline:
|
|
955
|
+
`/api/v1/movement/timeline`
|
|
956
|
+
- inspect one trip:
|
|
957
|
+
`/api/v1/movement/trips/:id`
|
|
958
|
+
- fill a missing span:
|
|
959
|
+
`/api/v1/movement/user-boxes/preflight` then `/api/v1/movement/user-boxes`
|
|
960
|
+
- edit an already-recorded stay, trip, or trip point:
|
|
961
|
+
`/api/v1/movement/stays/:id`, `/api/v1/movement/trips/:id`, or `/api/v1/movement/trips/:id/points/:pointId`
|
|
962
|
+
|
|
963
|
+
Ready to act when:
|
|
964
|
+
|
|
965
|
+
- the movement surface is clear
|
|
966
|
+
- the time range, place, stay, trip, or selection is clear enough
|
|
967
|
+
- the user goal is clear enough to choose the route
|
|
968
|
+
|
|
969
|
+
Preferred opening question:
|
|
970
|
+
|
|
971
|
+
- "Are you trying to understand where you stayed and traveled, change one stay or trip, or answer a question about your movement behavior?"
|
|
972
|
+
|
|
973
|
+
## Life Force
|
|
974
|
+
|
|
975
|
+
Aim: clarify whether the user wants to review current energy state, change durable
|
|
976
|
+
profile assumptions, edit weekday curves, or log a real-time fatigue signal.
|
|
977
|
+
|
|
978
|
+
Arc:
|
|
979
|
+
|
|
980
|
+
1. Ask whether the job is overview, profile change, weekday-template change, or fatigue signaling.
|
|
981
|
+
2. Ask what part of the current energy picture feels most important or inaccurate.
|
|
982
|
+
3. Ask what should stay true if they are changing profile or template assumptions.
|
|
983
|
+
4. Route to the dedicated life-force path once the lane is clear.
|
|
984
|
+
|
|
985
|
+
Helpful follow-up lanes:
|
|
986
|
+
|
|
987
|
+
- whether the user wants explanation, editing, or signaling
|
|
988
|
+
- what part of the energy model feels off or useful
|
|
989
|
+
- what durable assumption versus real-time state is being changed
|
|
990
|
+
|
|
991
|
+
Lane-to-route map:
|
|
992
|
+
|
|
993
|
+
- understand the current energy picture:
|
|
994
|
+
`GET /api/v1/life-force`
|
|
995
|
+
- change durable profile assumptions:
|
|
996
|
+
`PATCH /api/v1/life-force/profile`
|
|
997
|
+
- change one weekday curve or template:
|
|
998
|
+
`PUT /api/v1/life-force/templates/:weekday`
|
|
999
|
+
- log a real-time tired or recovered signal:
|
|
1000
|
+
`POST /api/v1/life-force/fatigue-signals`
|
|
1001
|
+
|
|
1002
|
+
Ready to act when:
|
|
1003
|
+
|
|
1004
|
+
- the life-force lane is clear
|
|
1005
|
+
- the relevant weekday, profile field, or signal is clear enough
|
|
1006
|
+
- the user intent is clear enough to choose overview versus mutation
|
|
1007
|
+
|
|
1008
|
+
Preferred opening question:
|
|
1009
|
+
|
|
1010
|
+
- "Do you want to understand the current energy picture, change how Forge models it, or log how you feel right now?"
|
|
1011
|
+
|
|
1012
|
+
## Workbench
|
|
1013
|
+
|
|
1014
|
+
Aim: clarify whether the user wants to inspect a flow, edit it, run it, or inspect
|
|
1015
|
+
results so the agent uses the dedicated workbench contract instead of vague CRUD.
|
|
1016
|
+
|
|
1017
|
+
Arc:
|
|
1018
|
+
|
|
1019
|
+
1. Ask whether the job is flow discovery, one flow edit, execution, run history, published output, node-level inspection, or latest-node-output lookup.
|
|
1020
|
+
2. Ask which flow, slug, run, or node the request is about.
|
|
1021
|
+
3. Ask what the user is trying to learn, repair, or publish through that flow.
|
|
1022
|
+
4. Route to the dedicated workbench route family once the execution lane is clear.
|
|
1023
|
+
|
|
1024
|
+
Helpful follow-up lanes:
|
|
1025
|
+
|
|
1026
|
+
- whether the user wants structure, execution, or results
|
|
1027
|
+
- what exact flow or run is in scope
|
|
1028
|
+
- whether they need whole-flow output or node-level detail
|
|
1029
|
+
|
|
1030
|
+
Lane-to-route map:
|
|
1031
|
+
|
|
1032
|
+
- discover or inspect flows:
|
|
1033
|
+
`/api/v1/workbench/flows`, `/api/v1/workbench/flows/:id`, or `/api/v1/workbench/flows/by-slug/:slug`
|
|
1034
|
+
- create, update, or delete a flow:
|
|
1035
|
+
`POST/PATCH/DELETE /api/v1/workbench/flows`
|
|
1036
|
+
- run a known flow:
|
|
1037
|
+
`/api/v1/workbench/flows/:id/run`
|
|
1038
|
+
- run from a payload-first contract:
|
|
1039
|
+
`/api/v1/workbench/run`
|
|
1040
|
+
- inspect published output or run history:
|
|
1041
|
+
`/api/v1/workbench/flows/:id/output` or `/api/v1/workbench/flows/:id/runs`
|
|
1042
|
+
- inspect one run or node result:
|
|
1043
|
+
`/api/v1/workbench/flows/:id/runs/:runId`,
|
|
1044
|
+
`/api/v1/workbench/flows/:id/runs/:runId/nodes`,
|
|
1045
|
+
`/api/v1/workbench/flows/:id/runs/:runId/nodes/:nodeId`
|
|
1046
|
+
- inspect the latest successful node output:
|
|
1047
|
+
`/api/v1/workbench/flows/:id/nodes/:nodeId/output`
|
|
1048
|
+
- inspect available box inputs:
|
|
1049
|
+
`/api/v1/workbench/catalog/boxes`
|
|
1050
|
+
|
|
1051
|
+
Ready to act when:
|
|
1052
|
+
|
|
1053
|
+
- the workbench lane is clear
|
|
1054
|
+
- the flow, run, or node is clear enough
|
|
1055
|
+
- the requested read or mutation is clear enough to choose the route
|
|
1056
|
+
|
|
1057
|
+
Preferred opening question:
|
|
1058
|
+
|
|
1059
|
+
- "Are you trying to inspect a flow, change it, run it, or inspect one run's outputs?"
|
|
1060
|
+
|
|
744
1061
|
## Preference Catalog
|
|
745
1062
|
|
|
746
1063
|
Aim: define a useful comparison pool, not just a list with no decision purpose.
|
|
@@ -907,10 +1224,12 @@ consistent.
|
|
|
907
1224
|
Arc:
|
|
908
1225
|
|
|
909
1226
|
1. Ask what kind of moment or incident this label should capture in lived terms.
|
|
910
|
-
2.
|
|
911
|
-
3. Ask
|
|
1227
|
+
2. Reflect the repeated moment back in plain language before narrowing the wording.
|
|
1228
|
+
3. Ask how narrow or broad it should be.
|
|
1229
|
+
4. Ask what would count as inside versus outside the category if that boundary is
|
|
912
1230
|
still fuzzy.
|
|
913
|
-
|
|
1231
|
+
5. Offer a concise label if the lived meaning is clearer than the wording.
|
|
1232
|
+
6. Ask for a short description only if the label could be ambiguous later.
|
|
914
1233
|
|
|
915
1234
|
If the user already offered a candidate label, keep the wording provisional and ask
|
|
916
1235
|
what kinds of moments belong inside it before you ask whether the label is right.
|
|
@@ -931,8 +1250,10 @@ Aim: define one reusable emotion entry clearly enough that future reports stay p
|
|
|
931
1250
|
Arc:
|
|
932
1251
|
|
|
933
1252
|
1. Ask what this feeling is like in lived terms when the user says it.
|
|
934
|
-
2.
|
|
935
|
-
3. Ask
|
|
1253
|
+
2. Reflect the felt signature back in plain language before you settle the label.
|
|
1254
|
+
3. Ask what distinguishes it from nearby emotions if that matters.
|
|
1255
|
+
4. Offer a concise label if the felt meaning is clearer than the wording.
|
|
1256
|
+
5. Ask for a short description only if later reports would benefit from it.
|
|
936
1257
|
|
|
937
1258
|
Helpful follow-up lanes:
|
|
938
1259
|
|
|
@@ -11,6 +11,15 @@ Forge without turning the conversation into a worksheet.
|
|
|
11
11
|
experience, not like a schema form and not like a lecturer.
|
|
12
12
|
- Name the emotional center or lived stake in plain language before the next question
|
|
13
13
|
whenever that would help the user feel accurately understood.
|
|
14
|
+
- Begin close to the living center of the moment:
|
|
15
|
+
danger,
|
|
16
|
+
shame,
|
|
17
|
+
grief,
|
|
18
|
+
anger,
|
|
19
|
+
collapse,
|
|
20
|
+
longing,
|
|
21
|
+
pressure,
|
|
22
|
+
or protection.
|
|
14
23
|
- Stay collaborative. Do not claim certainty about what a belief, pattern, or mode
|
|
15
24
|
"really is".
|
|
16
25
|
- Start from lived experience before abstraction.
|
|
@@ -40,6 +49,8 @@ Forge without turning the conversation into a worksheet.
|
|
|
40
49
|
the user can feel understood and correct you if needed.
|
|
41
50
|
- When the material is charged, ask permission before moving from understanding into
|
|
42
51
|
naming, challenging, or solution-finding.
|
|
52
|
+
- Your first job is not interpretation. It is to make the moment feel graspable enough
|
|
53
|
+
that the user can stay with it and describe it.
|
|
43
54
|
- Before you ask for change, naming, or repair, usually ask what the experience is
|
|
44
55
|
trying to protect, prevent, or hold onto.
|
|
45
56
|
- The warmth should come from accuracy and steadiness, not from extra softness,
|
|
@@ -58,6 +69,42 @@ Forge without turning the conversation into a worksheet.
|
|
|
58
69
|
- When the user has said enough for an accurate working formulation, stop deepening and
|
|
59
70
|
help them name it cleanly.
|
|
60
71
|
|
|
72
|
+
## First reflection menu
|
|
73
|
+
|
|
74
|
+
Use one brief reflection that matches the center of the moment before you deepen.
|
|
75
|
+
|
|
76
|
+
Threat:
|
|
77
|
+
|
|
78
|
+
- "Something in this landed as danger very quickly."
|
|
79
|
+
|
|
80
|
+
Shame or collapse:
|
|
81
|
+
|
|
82
|
+
- "The painful part seems to be what this starts to say about your worth."
|
|
83
|
+
|
|
84
|
+
Pressure or control:
|
|
85
|
+
|
|
86
|
+
- "It sounds like a part of you moved fast to keep things from getting worse."
|
|
87
|
+
|
|
88
|
+
Loss or longing:
|
|
89
|
+
|
|
90
|
+
- "There is a lot of ache in what mattered there."
|
|
91
|
+
|
|
92
|
+
Confusion:
|
|
93
|
+
|
|
94
|
+
- "The moment still feels tangled, so let us stay close to one slice of it."
|
|
95
|
+
|
|
96
|
+
## Permission pivots
|
|
97
|
+
|
|
98
|
+
Use these when you are about to move from understanding into naming, interpretation,
|
|
99
|
+
or change.
|
|
100
|
+
|
|
101
|
+
- "I think I have the shape of it more clearly now. Do you want me to stay with the
|
|
102
|
+
experience a little longer, or try putting language around it?"
|
|
103
|
+
- "There may be a belief or mode here. Do you want a tentative formulation, or should
|
|
104
|
+
we keep clarifying the moment first?"
|
|
105
|
+
- "I can help think about what might help next time, but I want to check whether the
|
|
106
|
+
experience itself feels understood enough first."
|
|
107
|
+
|
|
61
108
|
## Therapist micro-skills
|
|
62
109
|
|
|
63
110
|
Use these in small doses rather than as a script.
|
|
@@ -281,6 +328,7 @@ When the lived experience is clear enough to name:
|
|
|
281
328
|
- invite correction without defensiveness
|
|
282
329
|
- if the wording is close but not right, revise it with the user once instead of
|
|
283
330
|
restarting the whole intake
|
|
331
|
+
- say in plain language what makes you think the proposed wording fits
|
|
284
332
|
|
|
285
333
|
Example shape:
|
|
286
334
|
|
|
@@ -308,6 +356,15 @@ If the entity is not yet clear:
|
|
|
308
356
|
- once the user accepts the wording, do not reopen deeper exploration unless they ask
|
|
309
357
|
for it
|
|
310
358
|
|
|
359
|
+
## Change and save pivots
|
|
360
|
+
|
|
361
|
+
- Before change-oriented questions, check whether the user wants understanding,
|
|
362
|
+
naming, or next-step help.
|
|
363
|
+
- When the user says the formulation lands, summarize it once in their language and
|
|
364
|
+
move to the write.
|
|
365
|
+
- If another belief, value, pattern, mode, or note becomes visible, name it gently but
|
|
366
|
+
do not switch containers unless the user wants to.
|
|
367
|
+
|
|
311
368
|
## Psyche update loop
|
|
312
369
|
|
|
313
370
|
Use this when the user is revising an existing Psyche record rather than creating one
|