forge-openclaw-plugin 0.2.25 → 0.2.27

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 (237) hide show
  1. package/README.md +59 -3
  2. package/dist/assets/{board-VmF4FAfr.js → board-C6jCchjI.js} +3 -3
  3. package/dist/assets/{board-VmF4FAfr.js.map → board-C6jCchjI.js.map} +1 -1
  4. package/dist/assets/index-DVvS8iiU.css +1 -0
  5. package/dist/assets/index-zYB-9Dfo.js +85 -0
  6. package/dist/assets/index-zYB-9Dfo.js.map +1 -0
  7. package/dist/assets/knowledge-graph-layout.worker-DRvzPxhP.js +2 -0
  8. package/dist/assets/knowledge-graph-layout.worker-DRvzPxhP.js.map +1 -0
  9. package/dist/assets/{motion-DvkU14p-.js → motion-DFHrH2rd.js} +2 -2
  10. package/dist/assets/{motion-DvkU14p-.js.map → motion-DFHrH2rd.js.map} +1 -1
  11. package/dist/assets/{table-DgiPof9E.js → table-ZL7Di_u3.js} +2 -2
  12. package/dist/assets/{table-DgiPof9E.js.map → table-ZL7Di_u3.js.map} +1 -1
  13. package/dist/assets/{ui-nYfoC0Gq.js → ui-CKNPpz7q.js} +2 -2
  14. package/dist/assets/{ui-nYfoC0Gq.js.map → ui-CKNPpz7q.js.map} +1 -1
  15. package/dist/assets/vendor-DoNZuFhn.js +1247 -0
  16. package/dist/assets/vendor-DoNZuFhn.js.map +1 -0
  17. package/dist/index.html +7 -8
  18. package/dist/openclaw/local-runtime.d.ts +3 -1
  19. package/dist/openclaw/local-runtime.js +67 -15
  20. package/dist/openclaw/plugin-entry-shared.js +24 -2
  21. package/dist/openclaw/plugin-sdk-types.d.ts +17 -0
  22. package/dist/openclaw/routes.d.ts +27 -0
  23. package/dist/openclaw/routes.js +16 -12
  24. package/dist/openclaw/tools.js +0 -3
  25. package/dist/server/server/migrations/001_core.sql +411 -0
  26. package/dist/server/server/migrations/002_psyche.sql +392 -0
  27. package/dist/server/server/migrations/003_habits.sql +30 -0
  28. package/dist/server/server/migrations/004_habit_links.sql +8 -0
  29. package/dist/server/server/migrations/005_habit_psyche_links.sql +24 -0
  30. package/dist/server/server/migrations/006_work_adjustments.sql +14 -0
  31. package/dist/server/server/migrations/007_weekly_review_closures.sql +17 -0
  32. package/dist/server/server/migrations/008_calendar_execution.sql +147 -0
  33. package/dist/server/server/migrations/009_true_calendar_events.sql +195 -0
  34. package/dist/server/server/migrations/010_calendar_selection_state.sql +6 -0
  35. package/dist/server/server/migrations/011_calendar_timezone_backfill.sql +11 -0
  36. package/dist/server/server/migrations/012_work_block_ranges.sql +7 -0
  37. package/dist/server/server/migrations/013_microsoft_local_auth_settings.sql +8 -0
  38. package/dist/server/server/migrations/014_note_tags_and_ephemeral.sql +8 -0
  39. package/dist/server/server/migrations/015_multi_user_and_strategies.sql +244 -0
  40. package/dist/server/server/migrations/016_health_companion.sql +158 -0
  41. package/dist/server/server/migrations/016_strategy_contracts_and_user_graph.sql +22 -0
  42. package/dist/server/server/migrations/017_preferences.sql +131 -0
  43. package/dist/server/server/migrations/018_preference_catalogs.sql +31 -0
  44. package/dist/server/server/migrations/019_wiki_memory.sql +255 -0
  45. package/dist/server/server/migrations/020_wiki_page_hierarchy.sql +11 -0
  46. package/dist/server/server/migrations/021_hide_evidence_from_wiki_index.sql +3 -0
  47. package/dist/server/server/migrations/022_wiki_ingest_background.sql +85 -0
  48. package/dist/server/server/migrations/023_diagnostic_logs.sql +28 -0
  49. package/dist/server/server/migrations/024_questionnaires.sql +96 -0
  50. package/dist/server/server/migrations/025_ai_model_connections.sql +26 -0
  51. package/dist/server/server/migrations/026_custom_theme_settings.sql +2 -0
  52. package/dist/server/server/migrations/027_ai_processors.sql +31 -0
  53. package/dist/server/server/migrations/028_movement_domain.sql +136 -0
  54. package/dist/server/server/migrations/029_watch_micro_capture.sql +23 -0
  55. package/dist/server/server/migrations/030_surface_layouts.sql +5 -0
  56. package/dist/server/server/migrations/031_ai_processor_runtime_upgrades.sql +10 -0
  57. package/dist/server/server/migrations/032_ai_connectors.sql +44 -0
  58. package/dist/server/server/migrations/033_movement_trip_point_sync.sql +36 -0
  59. package/dist/server/server/migrations/034_movement_segment_sync.sql +49 -0
  60. package/dist/server/server/migrations/035_google_local_auth_settings.sql +2 -0
  61. package/dist/server/server/migrations/036_google_local_auth_client_secret.sql +2 -0
  62. package/dist/server/server/migrations/037_workbench_public_inputs_and_run_inputs.sql +5 -0
  63. package/dist/server/server/migrations/038_data_management_settings.sql +11 -0
  64. package/dist/server/server/migrations/039_life_force_and_action_points.sql +114 -0
  65. package/dist/server/server/migrations/040_screen_time_domain.sql +89 -0
  66. package/dist/server/server/migrations/041_companion_source_states.sql +21 -0
  67. package/dist/server/server/migrations/042_movement_boxes.sql +47 -0
  68. package/dist/server/server/migrations/043_movement_box_overlap_overrides.sql +26 -0
  69. package/dist/server/{app.js → server/src/app.js} +2112 -414
  70. package/dist/server/server/src/connectors/box-registry.js +223 -0
  71. package/dist/server/server/src/data-management-types.js +107 -0
  72. package/dist/server/{db.js → server/src/db.js} +72 -4
  73. package/dist/server/server/src/debug.js +19 -0
  74. package/dist/server/{demo-data.js → server/src/demo-data.js} +2 -2
  75. package/dist/server/{health.js → server/src/health.js} +702 -18
  76. package/dist/server/{managers → server/src/managers}/platform/llm-manager.js +7 -4
  77. package/dist/server/server/src/managers/platform/mock-workbench-provider.js +149 -0
  78. package/dist/server/{managers → server/src/managers}/platform/secrets-manager.js +18 -1
  79. package/dist/server/{managers → server/src/managers}/runtime.js +9 -0
  80. package/dist/server/{movement.js → server/src/movement.js} +1971 -112
  81. package/dist/server/{openapi.js → server/src/openapi.js} +491 -3
  82. package/dist/server/{psyche-types.js → server/src/psyche-types.js} +9 -1
  83. package/dist/server/{repositories → server/src/repositories}/activity-events.js +8 -0
  84. package/dist/server/{repositories → server/src/repositories}/ai-connectors.js +758 -47
  85. package/dist/server/{repositories → server/src/repositories}/calendar.js +1 -1
  86. package/dist/server/{repositories → server/src/repositories}/habits.js +37 -1
  87. package/dist/server/{repositories → server/src/repositories}/model-settings.js +13 -3
  88. package/dist/server/{repositories → server/src/repositories}/notes.js +3 -0
  89. package/dist/server/{repositories → server/src/repositories}/settings.js +431 -21
  90. package/dist/server/{repositories → server/src/repositories}/tasks.js +170 -10
  91. package/dist/server/server/src/runtime-data-root.js +82 -0
  92. package/dist/server/server/src/screen-time.js +802 -0
  93. package/dist/server/{services → server/src/services}/calendar-runtime.js +775 -58
  94. package/dist/server/server/src/services/data-management.js +788 -0
  95. package/dist/server/{services → server/src/services}/entity-crud.js +205 -2
  96. package/dist/server/server/src/services/google-calendar-oauth-config.js +176 -0
  97. package/dist/server/server/src/services/knowledge-graph.js +1455 -0
  98. package/dist/server/server/src/services/life-force-model.js +197 -0
  99. package/dist/server/server/src/services/life-force.js +1270 -0
  100. package/dist/server/server/src/services/psyche-observation-calendar.js +413 -0
  101. package/dist/server/{types.js → server/src/types.js} +420 -29
  102. package/dist/server/server/src/web.js +332 -0
  103. package/dist/server/src/components/customization/utility-widgets.js +439 -0
  104. package/dist/server/src/components/ui/info-tooltip.js +25 -0
  105. package/dist/server/src/components/workbench-boxes/calendar/calendar-boxes.js +78 -0
  106. package/dist/server/src/components/workbench-boxes/goals/goals-boxes.js +62 -0
  107. package/dist/server/src/components/workbench-boxes/habits/habits-boxes.js +62 -0
  108. package/dist/server/src/components/workbench-boxes/health/health-boxes.js +147 -0
  109. package/dist/server/src/components/workbench-boxes/insights/insights-boxes.js +50 -0
  110. package/dist/server/src/components/workbench-boxes/kanban/kanban-boxes.js +136 -0
  111. package/dist/server/src/components/workbench-boxes/movement/movement-boxes.js +47 -0
  112. package/dist/server/src/components/workbench-boxes/notes/notes-boxes.js +132 -0
  113. package/dist/server/src/components/workbench-boxes/overview/overview-boxes.js +65 -0
  114. package/dist/server/src/components/workbench-boxes/preferences/preferences-boxes.js +78 -0
  115. package/dist/server/src/components/workbench-boxes/projects/projects-boxes.js +62 -0
  116. package/dist/server/src/components/workbench-boxes/psyche/psyche-boxes.js +88 -0
  117. package/dist/server/src/components/workbench-boxes/questionnaires/questionnaires-boxes.js +61 -0
  118. package/dist/server/src/components/workbench-boxes/review/review-boxes.js +53 -0
  119. package/dist/server/src/components/workbench-boxes/shared/define-workbench-box.js +6 -0
  120. package/dist/server/src/components/workbench-boxes/shared/generic-node-view.js +49 -0
  121. package/dist/server/src/components/workbench-boxes/strategies/strategies-boxes.js +62 -0
  122. package/dist/server/src/components/workbench-boxes/tasks/tasks-boxes.js +76 -0
  123. package/dist/server/src/components/workbench-boxes/today/today-boxes.js +78 -0
  124. package/dist/server/src/components/workbench-boxes/wiki/wiki-boxes.js +60 -0
  125. package/dist/server/src/lib/api-error.js +37 -0
  126. package/dist/server/src/lib/api.js +2118 -0
  127. package/dist/server/src/lib/calendar-name-deduper.js +144 -0
  128. package/dist/server/src/lib/data-management-types.js +1 -0
  129. package/dist/server/src/lib/diagnostics.js +67 -0
  130. package/dist/server/src/lib/entity-visuals.js +279 -0
  131. package/dist/server/src/lib/knowledge-graph-types.js +276 -0
  132. package/dist/server/src/lib/knowledge-graph.js +470 -0
  133. package/dist/server/src/lib/psyche-types.js +1 -0
  134. package/dist/server/src/lib/questionnaire-types.js +1 -0
  135. package/dist/server/src/lib/runtime-paths.js +24 -0
  136. package/dist/server/src/lib/schemas.js +238 -0
  137. package/dist/server/src/lib/snapshot-normalizer.js +416 -0
  138. package/dist/server/src/lib/theme-system.js +319 -0
  139. package/dist/server/src/lib/types.js +1 -0
  140. package/dist/server/src/lib/utils.js +22 -0
  141. package/dist/server/src/lib/workbench/boxes.js +16 -0
  142. package/dist/server/src/lib/workbench/contracts.js +229 -0
  143. package/dist/server/src/lib/workbench/nodes.js +215 -0
  144. package/dist/server/src/lib/workbench/registry.js +120 -0
  145. package/dist/server/src/lib/workbench/runtime.js +397 -0
  146. package/dist/server/src/lib/workbench/tool-catalog.js +68 -0
  147. package/openclaw.plugin.json +1 -1
  148. package/package.json +1 -1
  149. package/server/index.js +68 -0
  150. package/server/migrations/035_google_local_auth_settings.sql +2 -0
  151. package/server/migrations/036_google_local_auth_client_secret.sql +2 -0
  152. package/server/migrations/037_workbench_public_inputs_and_run_inputs.sql +5 -0
  153. package/server/migrations/038_data_management_settings.sql +11 -0
  154. package/server/migrations/039_life_force_and_action_points.sql +114 -0
  155. package/server/migrations/040_screen_time_domain.sql +89 -0
  156. package/server/migrations/041_companion_source_states.sql +21 -0
  157. package/server/migrations/042_movement_boxes.sql +47 -0
  158. package/server/migrations/043_movement_box_overlap_overrides.sql +26 -0
  159. package/skills/forge-openclaw/SKILL.md +27 -11
  160. package/skills/forge-openclaw/entity_conversation_playbooks.md +411 -46
  161. package/skills/forge-openclaw/psyche_entity_playbooks.md +195 -20
  162. package/dist/assets/index-CFCKDIMH.js +0 -67
  163. package/dist/assets/index-CFCKDIMH.js.map +0 -1
  164. package/dist/assets/index-ZPY6U1TU.css +0 -1
  165. package/dist/assets/vendor-D9PTEPSB.js +0 -824
  166. package/dist/assets/vendor-D9PTEPSB.js.map +0 -1
  167. package/dist/assets/viz-Cqb6s--o.js +0 -34
  168. package/dist/assets/viz-Cqb6s--o.js.map +0 -1
  169. package/dist/server/connectors/box-registry.js +0 -257
  170. package/dist/server/services/psyche-observation-calendar.js +0 -46
  171. package/dist/server/web.js +0 -98
  172. /package/dist/server/{discovery-advertiser.js → server/src/discovery-advertiser.js} +0 -0
  173. /package/dist/server/{e2e-server.js → server/src/e2e-server.js} +0 -0
  174. /package/dist/server/{errors.js → server/src/errors.js} +0 -0
  175. /package/dist/server/{index.js → server/src/index.js} +0 -0
  176. /package/dist/server/{managers → server/src/managers}/base.js +0 -0
  177. /package/dist/server/{managers → server/src/managers}/contracts.js +0 -0
  178. /package/dist/server/{managers → server/src/managers}/platform/api-gateway-manager.js +0 -0
  179. /package/dist/server/{managers → server/src/managers}/platform/audit-manager.js +0 -0
  180. /package/dist/server/{managers → server/src/managers}/platform/authentication-manager.js +0 -0
  181. /package/dist/server/{managers → server/src/managers}/platform/authorization-manager.js +0 -0
  182. /package/dist/server/{managers → server/src/managers}/platform/background-job-manager.js +0 -0
  183. /package/dist/server/{managers → server/src/managers}/platform/configuration-manager.js +0 -0
  184. /package/dist/server/{managers → server/src/managers}/platform/database-manager.js +0 -0
  185. /package/dist/server/{managers → server/src/managers}/platform/event-bus-manager.js +0 -0
  186. /package/dist/server/{managers → server/src/managers}/platform/external-service-manager.js +0 -0
  187. /package/dist/server/{managers → server/src/managers}/platform/health-manager.js +0 -0
  188. /package/dist/server/{managers → server/src/managers}/platform/migration-manager.js +0 -0
  189. /package/dist/server/{managers → server/src/managers}/platform/openai-responses-provider.js +0 -0
  190. /package/dist/server/{managers → server/src/managers}/platform/search-index-manager.js +0 -0
  191. /package/dist/server/{managers → server/src/managers}/platform/session-manager.js +0 -0
  192. /package/dist/server/{managers → server/src/managers}/platform/storage-manager.js +0 -0
  193. /package/dist/server/{managers → server/src/managers}/platform/token-manager.js +0 -0
  194. /package/dist/server/{managers → server/src/managers}/platform/transaction-manager.js +0 -0
  195. /package/dist/server/{managers → server/src/managers}/platform/trusted-network.js +0 -0
  196. /package/dist/server/{managers → server/src/managers}/type-guards.js +0 -0
  197. /package/dist/server/{preferences-seeds.js → server/src/preferences-seeds.js} +0 -0
  198. /package/dist/server/{preferences-types.js → server/src/preferences-types.js} +0 -0
  199. /package/dist/server/{questionnaire-flow.js → server/src/questionnaire-flow.js} +0 -0
  200. /package/dist/server/{questionnaire-seeds.js → server/src/questionnaire-seeds.js} +0 -0
  201. /package/dist/server/{questionnaire-types.js → server/src/questionnaire-types.js} +0 -0
  202. /package/dist/server/{repositories → server/src/repositories}/ai-processors.js +0 -0
  203. /package/dist/server/{repositories → server/src/repositories}/collaboration.js +0 -0
  204. /package/dist/server/{repositories → server/src/repositories}/deleted-entities.js +0 -0
  205. /package/dist/server/{repositories → server/src/repositories}/diagnostic-logs.js +0 -0
  206. /package/dist/server/{repositories → server/src/repositories}/domains.js +0 -0
  207. /package/dist/server/{repositories → server/src/repositories}/entity-ownership.js +0 -0
  208. /package/dist/server/{repositories → server/src/repositories}/event-log.js +0 -0
  209. /package/dist/server/{repositories → server/src/repositories}/goals.js +0 -0
  210. /package/dist/server/{repositories → server/src/repositories}/preferences.js +0 -0
  211. /package/dist/server/{repositories → server/src/repositories}/projects.js +0 -0
  212. /package/dist/server/{repositories → server/src/repositories}/psyche.js +0 -0
  213. /package/dist/server/{repositories → server/src/repositories}/questionnaires.js +0 -0
  214. /package/dist/server/{repositories → server/src/repositories}/rewards.js +0 -0
  215. /package/dist/server/{repositories → server/src/repositories}/strategies.js +0 -0
  216. /package/dist/server/{repositories → server/src/repositories}/surface-layouts.js +0 -0
  217. /package/dist/server/{repositories → server/src/repositories}/tags.js +0 -0
  218. /package/dist/server/{repositories → server/src/repositories}/task-runs.js +0 -0
  219. /package/dist/server/{repositories → server/src/repositories}/users.js +0 -0
  220. /package/dist/server/{repositories → server/src/repositories}/weekly-reviews.js +0 -0
  221. /package/dist/server/{repositories → server/src/repositories}/wiki-memory.js +0 -0
  222. /package/dist/server/{repositories → server/src/repositories}/work-adjustments.js +0 -0
  223. /package/dist/server/{seed-demo.js → server/src/seed-demo.js} +0 -0
  224. /package/dist/server/{services → server/src/services}/context.js +0 -0
  225. /package/dist/server/{services → server/src/services}/dashboard.js +0 -0
  226. /package/dist/server/{services → server/src/services}/gamification.js +0 -0
  227. /package/dist/server/{services → server/src/services}/insights.js +0 -0
  228. /package/dist/server/{services → server/src/services}/openai-codex-oauth.js +0 -0
  229. /package/dist/server/{services → server/src/services}/projects.js +0 -0
  230. /package/dist/server/{services → server/src/services}/psyche.js +0 -0
  231. /package/dist/server/{services → server/src/services}/relations.js +0 -0
  232. /package/dist/server/{services → server/src/services}/reviews.js +0 -0
  233. /package/dist/server/{services → server/src/services}/run-recovery.js +0 -0
  234. /package/dist/server/{services → server/src/services}/tagging.js +0 -0
  235. /package/dist/server/{services → server/src/services}/task-run-watchdog.js +0 -0
  236. /package/dist/server/{services → server/src/services}/work-time.js +0 -0
  237. /package/dist/server/{watch-mobile.js → server/src/watch-mobile.js} +0 -0
@@ -9,6 +9,8 @@ Forge without turning the conversation into a worksheet.
9
9
 
10
10
  - Sound like a careful, grounded therapist who is helping the person clarify their own
11
11
  experience, not like a schema form and not like a lecturer.
12
+ - Name the emotional center or lived stake in plain language before the next question
13
+ whenever that would help the user feel accurately understood.
12
14
  - Stay collaborative. Do not claim certainty about what a belief, pattern, or mode
13
15
  "really is".
14
16
  - Start from lived experience before abstraction.
@@ -27,17 +29,91 @@ Forge without turning the conversation into a worksheet.
27
29
  - Do not rush to naming, reframing, or repair before the experience itself is clearer.
28
30
  - Once the formulation is coherent, help with wording instead of forcing the user to
29
31
  generate all the language alone.
32
+ - When the user is close to the experience but far from the wording, do some of the
33
+ formulation work for them. Offer one careful candidate name or summary and invite
34
+ correction.
30
35
  - Ask only one lane at a time. Do not jump from the example straight into belief,
31
36
  mode, value, and repair all in one turn.
32
37
  - If the user gives a rich answer with several possible lanes, choose the one that most
33
38
  improves understanding and leave the others for later.
34
39
  - Before the next question, reflect back what you just heard in one or two sentences so
35
40
  the user can feel understood and correct you if needed.
41
+ - When the material is charged, ask permission before moving from understanding into
42
+ naming, challenging, or solution-finding.
43
+ - Before you ask for change, naming, or repair, usually ask what the experience is
44
+ trying to protect, prevent, or hold onto.
36
45
  - The warmth should come from accuracy and steadiness, not from extra softness,
37
46
  diagnosis language, or a polished performance of care.
38
47
  - If the user becomes flooded, vague, or circular, narrow the focus to the smallest
39
48
  concrete slice you can ask about: one moment, one sentence, one body signal, or one
40
49
  thing they did next.
50
+ - When the user gives an abstraction first, gently bring it back to one recent moment
51
+ before helping them name the pattern.
52
+ - Prefer "what", "when", and "how" early. Save "why" for later unless the user is
53
+ already grounded enough that it will deepen rather than blur the picture.
54
+ - Before you ask for the user's preferred fix, understand what the response is trying
55
+ to protect, achieve, or prevent.
56
+ - If several Psyche entities are visible at once, choose the clearest primary
57
+ container first and hold the others lightly until the user wants to map them.
58
+ - When the user has said enough for an accurate working formulation, stop deepening and
59
+ help them name it cleanly.
60
+
61
+ ## Therapist micro-skills
62
+
63
+ Use these in small doses rather than as a script.
64
+
65
+ Reflect:
66
+
67
+ - briefly mirror the user's felt sense, stake, or sequence in plain language
68
+
69
+ Contain:
70
+
71
+ - give a short summary that makes the moment feel holdable before you deepen or name it
72
+
73
+ Locate:
74
+
75
+ - ask where this shows up most clearly: the last moment, the first cue, the body
76
+ signal, the feared consequence, or the move that happened next
77
+
78
+ Deepen:
79
+
80
+ - choose one lane that improves understanding most:
81
+ situation,
82
+ sequence,
83
+ meaning,
84
+ protection,
85
+ cost,
86
+ longing/value,
87
+ or naming
88
+
89
+ Formulate:
90
+
91
+ - once the experience is coherent, offer one careful working sentence or title and ask
92
+ whether it feels true, too sharp, or still misses something important
93
+
94
+ Connect:
95
+
96
+ - near the end, notice whether this belongs with a value, belief, pattern, mode, note,
97
+ goal, project, or task and ask whether the user wants to map that too
98
+ - when another record is clearly present, ask whether the user wants to link it now,
99
+ save it separately later, or just keep it in the note/context for now
100
+
101
+ ## Therapeutic Direction Check
102
+
103
+ Before each follow-up, quickly decide what therapeutic job the next question should do.
104
+
105
+ 1. Contain: does the user first need a short accurate summary so the experience feels
106
+ held?
107
+ 2. Locate: do you still need the concrete moment, cue, body signal, or sequence?
108
+ 3. Deepen: is the next useful lane situation, meaning, protection, cost, longing, or
109
+ naming?
110
+ 4. Formulate: is the experience coherent enough that a candidate sentence or title
111
+ would now help?
112
+ 5. Connect: is there an adjacent value, belief, mode, pattern, note, or task that is
113
+ clear enough to link without derailing the main work?
114
+
115
+ If the answer is formulate or connect, do not ask another exploratory question first
116
+ unless something still feels materially unclear.
41
117
 
42
118
  ## First-turn rule
43
119
 
@@ -59,6 +135,58 @@ Good first-turn shapes:
59
135
  that moment?"
60
136
  - "I can help slow it down. When do you notice this most clearly?"
61
137
 
138
+ If the user is already direct and just wants to save a clear Psyche record, shorten the
139
+ opening:
140
+
141
+ - one brief reflection
142
+ - one missing-detail question
143
+ - then move toward the write instead of forcing exploration
144
+
145
+ ## Therapeutic turn shapes
146
+
147
+ Keep the pacing human and intentional.
148
+
149
+ Opening turn:
150
+
151
+ - one short reflection that names the felt stake
152
+ - one grounded question about the nearest real moment
153
+
154
+ Middle turn:
155
+
156
+ - reflect what became clearer
157
+ - name the function, fear, cost, or longing that seems most central now
158
+ - ask one question that deepens only that lane
159
+
160
+ Naming turn:
161
+
162
+ - offer one careful sentence or title when the experience is coherent enough
163
+ - ask whether it feels true, too sharp, or still incomplete
164
+
165
+ Closing turn:
166
+
167
+ - summarize the working formulation in the user's language
168
+ - ask whether it feels true enough to save and whether anything adjacent should be
169
+ linked
170
+ - if the user says it lands, move toward the write instead of reopening exploration
171
+
172
+ ## Name, Define, Connect
173
+
174
+ Use this checkpoint once the material is coherent enough.
175
+
176
+ Name:
177
+
178
+ - offer one careful sentence or title that captures the core lived meaning
179
+
180
+ Define:
181
+
182
+ - clarify what makes this belief, pattern, mode, value, behavior, or report distinct
183
+ from nearby possibilities
184
+
185
+ Connect:
186
+
187
+ - only after the primary formulation feels steady, ask whether an adjacent value,
188
+ belief, mode, pattern, note, or task should be linked or mapped separately
189
+
62
190
  ## Lane chooser
63
191
 
64
192
  After each real answer, choose the next best lane. Do not mix several lanes at once.
@@ -109,7 +237,7 @@ Link lane:
109
237
  A strong follow-up usually has three parts:
110
238
 
111
239
  1. one short reflection grounded in the user's words
112
- 2. one sentence naming what feels most important so far
240
+ 2. one sentence naming what feels most threatened, protected, or important so far
113
241
  3. one focused next question
114
242
 
115
243
  Example shape:
@@ -118,18 +246,31 @@ Example shape:
118
246
  and pulling back gives you a little protection fast. What does withdrawing prevent in
119
247
  that moment?"
120
248
 
249
+ Another strong shape when the user is getting abstract:
250
+
251
+ - "So the painful part seems to be less the event itself and more what it starts to
252
+ mean about you. What does it seem to prove in that moment?"
253
+
121
254
  ## Formulation rules
122
255
 
123
256
  - Do not front-load a finished case formulation.
124
257
  - Do not introduce replacement beliefs, softer reframes, or tidy interpretations until
125
258
  the user has answered at least one real exploratory question.
259
+ - Do not ask for evidence, alternative beliefs, or repair plans before the user has had
260
+ a fair chance to feel that the original experience was captured accurately.
261
+ - Do not make the user prove the experience before you have helped them feel that you
262
+ understood it.
126
263
  - Help the user recognize the experience before you help them improve it.
127
264
  - When the user is close to the feeling but far from the wording, offer one careful
128
265
  candidate sentence or title and ask whether it fits.
129
266
  - If nuance matters, preserve it in a linked Markdown `note` instead of forcing every
130
267
  detail into normalized fields.
268
+ - Do not widen into adjacent entities until the current one has a working sentence the
269
+ user recognizes.
131
270
  - Before saving, give a short working summary in the user's own language and ask
132
271
  whether it feels true enough.
272
+ - A good final check is often:
273
+ "Does that feel true enough to save, or is there one part that needs to be said more accurately?"
133
274
 
134
275
  ## Naming turn
135
276
 
@@ -154,6 +295,7 @@ Sometimes the user asks to save a Psyche entity directly.
154
295
  If the entity is already clear:
155
296
 
156
297
  - reflect briefly
298
+ - name the core meaning in the user's language
157
299
  - ask only for the one missing structural detail
158
300
  - save without forcing extra exploration
159
301
 
@@ -163,6 +305,26 @@ If the entity is not yet clear:
163
305
  - prefer a question about the most recent example, the protective job, or the core
164
306
  meaning
165
307
  - then move toward naming and save
308
+ - once the user accepts the wording, do not reopen deeper exploration unless they ask
309
+ for it
310
+
311
+ ## Psyche update loop
312
+
313
+ Use this when the user is revising an existing Psyche record rather than creating one
314
+ from scratch.
315
+
316
+ 1. Ask what feels newly true, newly visible, or newly inaccurate.
317
+ 2. Ask what still feels essentially right and should not be lost.
318
+ 3. Re-check the name only if the old wording no longer fits the lived experience.
319
+ 4. Ask for one concrete recent example if the update is abstract or sweeping.
320
+ 5. Then change only the parts the new understanding actually affects.
321
+
322
+ If the update is mostly about wording, offer one revised sentence yourself and ask
323
+ whether it lands more accurately before you reopen the whole exploration.
324
+
325
+ Good update opener:
326
+
327
+ - "Before we change it, what feels newly true about this now, and what still feels basically right?"
166
328
 
167
329
  ## Safety rule
168
330
 
@@ -178,10 +340,11 @@ Aim: clarify a direction to live toward, not a goal to complete.
178
340
  Arc:
179
341
 
180
342
  1. Ask when the pull or absence of the value felt noticeable recently.
181
- 2. Ask how living it would look in ordinary behavior.
182
- 3. Separate the value from a performance target.
183
- 4. Ask what gets in the way.
184
- 5. Land on one concrete expression or committed action.
343
+ 2. Reflect the longing, pain, or importance that makes the value alive right now.
344
+ 3. Ask how living it would look in ordinary behavior.
345
+ 4. Separate the value from a performance target.
346
+ 5. Ask what gets in the way.
347
+ 6. Land on one concrete expression or committed action.
185
348
 
186
349
  Helpful follow-up lanes:
187
350
 
@@ -224,6 +387,7 @@ Helpful follow-up lanes:
224
387
 
225
388
  - the earliest cue or vulnerability factor
226
389
  - the moment the loop starts to make sense internally
390
+ - where the pattern stops feeling like a choice
227
391
  - what the loop protects or prevents
228
392
  - what it costs later
229
393
  - what a preferred response would still need to honor
@@ -290,18 +454,22 @@ Arc:
290
454
  1. Ask what the experience starts telling the user in that moment.
291
455
  2. Help condense it into one belief sentence in the user's own language.
292
456
  3. Clarify whether it is `absolute` or `conditional`.
293
- 4. Ask how true it feels from `0` to `100`.
294
- 5. Gather one or two pieces of supporting evidence and one or two strains against it.
295
- 6. Ask where the rule feels learned, reinforced, or familiar.
457
+ 4. Ask how true it feels from `0` to `100` only if that helps the user feel the force
458
+ of it more clearly.
459
+ 5. Ask where the rule feels learned, reinforced, or familiar if that would deepen the
460
+ formulation.
461
+ 6. Gather supporting or weakening evidence only if the user wants fuller examination
462
+ or if the wording is still fuzzy.
296
463
  7. Offer a more flexible alternative only if the user wants that and only after the
297
464
  belief itself is clear.
298
465
 
299
466
  Helpful follow-up lanes:
300
467
 
301
468
  - the feared consequence inside the belief
469
+ - what the moment seems to prove
302
470
  - how old or familiar the rule feels
303
- - evidence for
304
- - evidence against
471
+ - evidence for only if the user wants to examine it
472
+ - evidence against only if the user wants to examine it
305
473
  - whether the user wants help drafting a more flexible version
306
474
 
307
475
  Likely linked entities:
@@ -314,11 +482,11 @@ Ready to save when:
314
482
 
315
483
  - the belief can be written as one sentence
316
484
  - `beliefType` is clear
317
- - there is at least some confidence and one piece of supporting or weakening evidence
485
+ - the emotional meaning of the sentence is clear enough to recognize later
318
486
 
319
487
  Preferred opening question:
320
488
 
321
- - "When that reaction hits, what does it start telling you?"
489
+ - "When that reaction hits, what does it start telling you about you, them, or what happens next?"
322
490
 
323
491
  ## Mode Profile
324
492
 
@@ -333,6 +501,8 @@ Arc:
333
501
  5. Choose the mode family only after the lived description is clearer.
334
502
  6. Ask when it first became necessary or familiar.
335
503
  7. Ask what a healthier relationship to the mode would require.
504
+ 8. Offer one candidate formulation yourself when the user has the experience but not
505
+ the wording.
336
506
 
337
507
  Helpful follow-up lanes:
338
508
 
@@ -356,7 +526,7 @@ Ready to save when:
356
526
 
357
527
  Preferred opening question:
358
528
 
359
- - "When this part takes over, what is it trying to protect?"
529
+ - "When this part takes over, what feels most at risk or most in need of protection?"
360
530
 
361
531
  ## Mode Guide Session
362
532
 
@@ -368,7 +538,9 @@ Arc:
368
538
  2. Ask what the part is feeling, saying, stopping, or pushing for.
369
539
  3. Ask what it fears and what it seems to need.
370
540
  4. Reflect the answers before suggesting interpretations.
371
- 5. Offer one or two candidate mode labels only after enough evidence exists.
541
+ 5. Ask permission before moving from exploration into candidate labels if the material
542
+ still feels charged.
543
+ 6. Offer one or two candidate mode labels only after enough evidence exists.
372
544
 
373
545
  Helpful follow-up lanes:
374
546
 
@@ -391,7 +563,7 @@ Ready to save when:
391
563
 
392
564
  Preferred opening question:
393
565
 
394
- - "What just happened that brought this part online right now?"
566
+ - "What just happened, and what is this part trying to get you to do or stop doing right now?"
395
567
 
396
568
  ## Trigger Report
397
569
 
@@ -402,16 +574,19 @@ Arc:
402
574
 
403
575
  1. Anchor the report in one specific episode.
404
576
  2. Ask what happened as concretely as possible.
405
- 3. Ask what emotions, thoughts, and body signals showed up.
406
- 4. Ask what the user did next and what happened after.
407
- 5. Ask what helped short term and what the consequences were later.
408
- 6. Ask what pattern, belief, mode, or value seems most active here.
409
- 7. Ask what would help next time only after the episode itself is clear.
577
+ 3. If the episode still feels hot or confusing, stay with one slice before trying to
578
+ cover the whole chain.
579
+ 4. Ask what emotions, thoughts, and body signals showed up.
580
+ 5. Ask what the user did next and what happened after.
581
+ 6. Ask what helped short term and what the consequences were later.
582
+ 7. Ask what pattern, belief, mode, or value seems most active here.
583
+ 8. Ask what would help next time only after the episode itself is clear.
410
584
 
411
585
  Helpful follow-up lanes:
412
586
 
413
587
  - what happened first
414
588
  - what emotions were present and how intense they felt
589
+ - what felt most threatened or unbearable
415
590
  - what meaning or interpretation arrived fast
416
591
  - what action followed
417
592
  - what happened next short term and long term