forge-openclaw-plugin 0.2.25 → 0.2.26
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/dist/assets/{board-VmF4FAfr.js → board-ta0rUHOf.js} +3 -3
- package/dist/assets/{board-VmF4FAfr.js.map → board-ta0rUHOf.js.map} +1 -1
- package/dist/assets/index-Ro0ZF_az.css +1 -0
- package/dist/assets/index-ytlpSj23.js +79 -0
- package/dist/assets/index-ytlpSj23.js.map +1 -0
- package/dist/assets/{motion-DvkU14p-.js → motion-fBKPB6yw.js} +2 -2
- package/dist/assets/{motion-DvkU14p-.js.map → motion-fBKPB6yw.js.map} +1 -1
- package/dist/assets/{table-DgiPof9E.js → table-C-IGTQni.js} +2 -2
- package/dist/assets/{table-DgiPof9E.js.map → table-C-IGTQni.js.map} +1 -1
- package/dist/assets/{ui-nYfoC0Gq.js → ui-DInOpaYF.js} +2 -2
- package/dist/assets/{ui-nYfoC0Gq.js.map → ui-DInOpaYF.js.map} +1 -1
- package/dist/assets/vendor-lE3tZJcC.js +876 -0
- package/dist/assets/vendor-lE3tZJcC.js.map +1 -0
- package/dist/index.html +7 -8
- package/dist/openclaw/local-runtime.d.ts +3 -1
- package/dist/openclaw/local-runtime.js +51 -15
- package/dist/openclaw/plugin-entry-shared.js +24 -2
- package/dist/openclaw/plugin-sdk-types.d.ts +17 -0
- package/dist/openclaw/tools.js +0 -3
- package/dist/server/server/migrations/001_core.sql +411 -0
- package/dist/server/server/migrations/002_psyche.sql +392 -0
- package/dist/server/server/migrations/003_habits.sql +30 -0
- package/dist/server/server/migrations/004_habit_links.sql +8 -0
- package/dist/server/server/migrations/005_habit_psyche_links.sql +24 -0
- package/dist/server/server/migrations/006_work_adjustments.sql +14 -0
- package/dist/server/server/migrations/007_weekly_review_closures.sql +17 -0
- package/dist/server/server/migrations/008_calendar_execution.sql +147 -0
- package/dist/server/server/migrations/009_true_calendar_events.sql +195 -0
- package/dist/server/server/migrations/010_calendar_selection_state.sql +6 -0
- package/dist/server/server/migrations/011_calendar_timezone_backfill.sql +11 -0
- package/dist/server/server/migrations/012_work_block_ranges.sql +7 -0
- package/dist/server/server/migrations/013_microsoft_local_auth_settings.sql +8 -0
- package/dist/server/server/migrations/014_note_tags_and_ephemeral.sql +8 -0
- package/dist/server/server/migrations/015_multi_user_and_strategies.sql +244 -0
- package/dist/server/server/migrations/016_health_companion.sql +158 -0
- package/dist/server/server/migrations/016_strategy_contracts_and_user_graph.sql +22 -0
- package/dist/server/server/migrations/017_preferences.sql +131 -0
- package/dist/server/server/migrations/018_preference_catalogs.sql +31 -0
- package/dist/server/server/migrations/019_wiki_memory.sql +255 -0
- package/dist/server/server/migrations/020_wiki_page_hierarchy.sql +11 -0
- package/dist/server/server/migrations/021_hide_evidence_from_wiki_index.sql +3 -0
- package/dist/server/server/migrations/022_wiki_ingest_background.sql +85 -0
- package/dist/server/server/migrations/023_diagnostic_logs.sql +28 -0
- package/dist/server/server/migrations/024_questionnaires.sql +96 -0
- package/dist/server/server/migrations/025_ai_model_connections.sql +26 -0
- package/dist/server/server/migrations/026_custom_theme_settings.sql +2 -0
- package/dist/server/server/migrations/027_ai_processors.sql +31 -0
- package/dist/server/server/migrations/028_movement_domain.sql +136 -0
- package/dist/server/server/migrations/029_watch_micro_capture.sql +23 -0
- package/dist/server/server/migrations/030_surface_layouts.sql +5 -0
- package/dist/server/server/migrations/031_ai_processor_runtime_upgrades.sql +10 -0
- package/dist/server/server/migrations/032_ai_connectors.sql +44 -0
- package/dist/server/server/migrations/033_movement_trip_point_sync.sql +36 -0
- package/dist/server/server/migrations/034_movement_segment_sync.sql +49 -0
- package/dist/server/server/migrations/035_google_local_auth_settings.sql +2 -0
- package/dist/server/server/migrations/036_google_local_auth_client_secret.sql +2 -0
- package/dist/server/{app.js → server/src/app.js} +242 -111
- package/dist/server/server/src/connectors/box-registry.js +188 -0
- package/dist/server/{db.js → server/src/db.js} +4 -0
- package/dist/server/server/src/debug.js +19 -0
- package/dist/server/{openapi.js → server/src/openapi.js} +2 -2
- package/dist/server/{repositories → server/src/repositories}/ai-connectors.js +286 -23
- package/dist/server/{repositories → server/src/repositories}/calendar.js +1 -1
- package/dist/server/{repositories → server/src/repositories}/settings.js +51 -3
- package/dist/server/{services → server/src/services}/calendar-runtime.js +775 -58
- package/dist/server/server/src/services/google-calendar-oauth-config.js +176 -0
- package/dist/server/{types.js → server/src/types.js} +137 -19
- package/dist/server/{web.js → server/src/web.js} +21 -2
- package/dist/server/src/components/customization/utility-widgets.js +330 -0
- package/dist/server/src/components/workbench-boxes/health/health-boxes.js +92 -0
- package/dist/server/src/components/workbench-boxes/kanban/kanban-boxes.js +128 -0
- package/dist/server/src/components/workbench-boxes/movement/movement-boxes.js +37 -0
- package/dist/server/src/components/workbench-boxes/notes/notes-boxes.js +114 -0
- package/dist/server/src/components/workbench-boxes/projects/projects-boxes.js +57 -0
- package/dist/server/src/components/workbench-boxes/shared/define-workbench-box.js +4 -0
- package/dist/server/src/components/workbench-boxes/shared/generic-node-view.js +13 -0
- package/dist/server/src/components/workbench-boxes/today/today-boxes.js +63 -0
- package/dist/server/src/lib/api-error.js +37 -0
- package/dist/server/src/lib/api.js +1859 -0
- package/dist/server/src/lib/calendar-name-deduper.js +144 -0
- package/dist/server/src/lib/diagnostics.js +67 -0
- package/dist/server/src/lib/psyche-types.js +1 -0
- package/dist/server/src/lib/questionnaire-types.js +1 -0
- package/dist/server/src/lib/runtime-paths.js +24 -0
- package/dist/server/src/lib/schemas.js +234 -0
- package/dist/server/src/lib/snapshot-normalizer.js +374 -0
- package/dist/server/src/lib/theme-system.js +319 -0
- package/dist/server/src/lib/types.js +1 -0
- package/dist/server/src/lib/utils.js +22 -0
- package/dist/server/src/lib/workbench/boxes.js +16 -0
- package/dist/server/src/lib/workbench/nodes.js +15 -0
- package/dist/server/src/lib/workbench/registry.js +73 -0
- package/dist/server/src/lib/workbench/runtime.js +181 -0
- package/openclaw.plugin.json +1 -1
- package/package.json +1 -1
- package/server/index.js +68 -0
- package/server/migrations/035_google_local_auth_settings.sql +2 -0
- package/server/migrations/036_google_local_auth_client_secret.sql +2 -0
- package/skills/forge-openclaw/SKILL.md +3 -0
- package/skills/forge-openclaw/entity_conversation_playbooks.md +213 -24
- package/skills/forge-openclaw/psyche_entity_playbooks.md +82 -3
- package/dist/assets/index-CFCKDIMH.js +0 -67
- package/dist/assets/index-CFCKDIMH.js.map +0 -1
- package/dist/assets/index-ZPY6U1TU.css +0 -1
- package/dist/assets/vendor-D9PTEPSB.js +0 -824
- package/dist/assets/vendor-D9PTEPSB.js.map +0 -1
- package/dist/assets/viz-Cqb6s--o.js +0 -34
- package/dist/assets/viz-Cqb6s--o.js.map +0 -1
- package/dist/server/connectors/box-registry.js +0 -257
- /package/dist/server/{demo-data.js → server/src/demo-data.js} +0 -0
- /package/dist/server/{discovery-advertiser.js → server/src/discovery-advertiser.js} +0 -0
- /package/dist/server/{e2e-server.js → server/src/e2e-server.js} +0 -0
- /package/dist/server/{errors.js → server/src/errors.js} +0 -0
- /package/dist/server/{health.js → server/src/health.js} +0 -0
- /package/dist/server/{index.js → server/src/index.js} +0 -0
- /package/dist/server/{managers → server/src/managers}/base.js +0 -0
- /package/dist/server/{managers → server/src/managers}/contracts.js +0 -0
- /package/dist/server/{managers → server/src/managers}/platform/api-gateway-manager.js +0 -0
- /package/dist/server/{managers → server/src/managers}/platform/audit-manager.js +0 -0
- /package/dist/server/{managers → server/src/managers}/platform/authentication-manager.js +0 -0
- /package/dist/server/{managers → server/src/managers}/platform/authorization-manager.js +0 -0
- /package/dist/server/{managers → server/src/managers}/platform/background-job-manager.js +0 -0
- /package/dist/server/{managers → server/src/managers}/platform/configuration-manager.js +0 -0
- /package/dist/server/{managers → server/src/managers}/platform/database-manager.js +0 -0
- /package/dist/server/{managers → server/src/managers}/platform/event-bus-manager.js +0 -0
- /package/dist/server/{managers → server/src/managers}/platform/external-service-manager.js +0 -0
- /package/dist/server/{managers → server/src/managers}/platform/health-manager.js +0 -0
- /package/dist/server/{managers → server/src/managers}/platform/llm-manager.js +0 -0
- /package/dist/server/{managers → server/src/managers}/platform/migration-manager.js +0 -0
- /package/dist/server/{managers → server/src/managers}/platform/openai-responses-provider.js +0 -0
- /package/dist/server/{managers → server/src/managers}/platform/search-index-manager.js +0 -0
- /package/dist/server/{managers → server/src/managers}/platform/secrets-manager.js +0 -0
- /package/dist/server/{managers → server/src/managers}/platform/session-manager.js +0 -0
- /package/dist/server/{managers → server/src/managers}/platform/storage-manager.js +0 -0
- /package/dist/server/{managers → server/src/managers}/platform/token-manager.js +0 -0
- /package/dist/server/{managers → server/src/managers}/platform/transaction-manager.js +0 -0
- /package/dist/server/{managers → server/src/managers}/platform/trusted-network.js +0 -0
- /package/dist/server/{managers → server/src/managers}/runtime.js +0 -0
- /package/dist/server/{managers → server/src/managers}/type-guards.js +0 -0
- /package/dist/server/{movement.js → server/src/movement.js} +0 -0
- /package/dist/server/{preferences-seeds.js → server/src/preferences-seeds.js} +0 -0
- /package/dist/server/{preferences-types.js → server/src/preferences-types.js} +0 -0
- /package/dist/server/{psyche-types.js → server/src/psyche-types.js} +0 -0
- /package/dist/server/{questionnaire-flow.js → server/src/questionnaire-flow.js} +0 -0
- /package/dist/server/{questionnaire-seeds.js → server/src/questionnaire-seeds.js} +0 -0
- /package/dist/server/{questionnaire-types.js → server/src/questionnaire-types.js} +0 -0
- /package/dist/server/{repositories → server/src/repositories}/activity-events.js +0 -0
- /package/dist/server/{repositories → server/src/repositories}/ai-processors.js +0 -0
- /package/dist/server/{repositories → server/src/repositories}/collaboration.js +0 -0
- /package/dist/server/{repositories → server/src/repositories}/deleted-entities.js +0 -0
- /package/dist/server/{repositories → server/src/repositories}/diagnostic-logs.js +0 -0
- /package/dist/server/{repositories → server/src/repositories}/domains.js +0 -0
- /package/dist/server/{repositories → server/src/repositories}/entity-ownership.js +0 -0
- /package/dist/server/{repositories → server/src/repositories}/event-log.js +0 -0
- /package/dist/server/{repositories → server/src/repositories}/goals.js +0 -0
- /package/dist/server/{repositories → server/src/repositories}/habits.js +0 -0
- /package/dist/server/{repositories → server/src/repositories}/model-settings.js +0 -0
- /package/dist/server/{repositories → server/src/repositories}/notes.js +0 -0
- /package/dist/server/{repositories → server/src/repositories}/preferences.js +0 -0
- /package/dist/server/{repositories → server/src/repositories}/projects.js +0 -0
- /package/dist/server/{repositories → server/src/repositories}/psyche.js +0 -0
- /package/dist/server/{repositories → server/src/repositories}/questionnaires.js +0 -0
- /package/dist/server/{repositories → server/src/repositories}/rewards.js +0 -0
- /package/dist/server/{repositories → server/src/repositories}/strategies.js +0 -0
- /package/dist/server/{repositories → server/src/repositories}/surface-layouts.js +0 -0
- /package/dist/server/{repositories → server/src/repositories}/tags.js +0 -0
- /package/dist/server/{repositories → server/src/repositories}/task-runs.js +0 -0
- /package/dist/server/{repositories → server/src/repositories}/tasks.js +0 -0
- /package/dist/server/{repositories → server/src/repositories}/users.js +0 -0
- /package/dist/server/{repositories → server/src/repositories}/weekly-reviews.js +0 -0
- /package/dist/server/{repositories → server/src/repositories}/wiki-memory.js +0 -0
- /package/dist/server/{repositories → server/src/repositories}/work-adjustments.js +0 -0
- /package/dist/server/{seed-demo.js → server/src/seed-demo.js} +0 -0
- /package/dist/server/{services → server/src/services}/context.js +0 -0
- /package/dist/server/{services → server/src/services}/dashboard.js +0 -0
- /package/dist/server/{services → server/src/services}/entity-crud.js +0 -0
- /package/dist/server/{services → server/src/services}/gamification.js +0 -0
- /package/dist/server/{services → server/src/services}/insights.js +0 -0
- /package/dist/server/{services → server/src/services}/openai-codex-oauth.js +0 -0
- /package/dist/server/{services → server/src/services}/projects.js +0 -0
- /package/dist/server/{services → server/src/services}/psyche-observation-calendar.js +0 -0
- /package/dist/server/{services → server/src/services}/psyche.js +0 -0
- /package/dist/server/{services → server/src/services}/relations.js +0 -0
- /package/dist/server/{services → server/src/services}/reviews.js +0 -0
- /package/dist/server/{services → server/src/services}/run-recovery.js +0 -0
- /package/dist/server/{services → server/src/services}/tagging.js +0 -0
- /package/dist/server/{services → server/src/services}/task-run-watchdog.js +0 -0
- /package/dist/server/{services → server/src/services}/work-time.js +0 -0
- /package/dist/server/{watch-mobile.js → server/src/watch-mobile.js} +0 -0
|
@@ -7,6 +7,8 @@ Forge correctly, and gather only the structure that still matters.
|
|
|
7
7
|
|
|
8
8
|
## Core stance
|
|
9
9
|
|
|
10
|
+
- Lead with what the user is trying to preserve, change, resolve, or make true, not
|
|
11
|
+
with the entity label.
|
|
10
12
|
- Ask only for what is missing or still unclear.
|
|
11
13
|
- Before every question, decide the one missing thing you are trying to clarify.
|
|
12
14
|
- Know where the conversation is headed before you ask the next question.
|
|
@@ -20,6 +22,10 @@ Forge correctly, and gather only the structure that still matters.
|
|
|
20
22
|
brief reflection -> one orienting question.
|
|
21
23
|
- Another good shorthand for the same rhythm is:
|
|
22
24
|
short reflection -> one orienting question.
|
|
25
|
+
- When the user is vague, ask for the smallest real example, desired outcome, or stake
|
|
26
|
+
before you ask for wording.
|
|
27
|
+
- When the user is clear, say what the record seems to be becoming and move straight to
|
|
28
|
+
the last missing structural detail.
|
|
23
29
|
- For straightforward logistical entities such as tasks, calendar events, work blocks,
|
|
24
30
|
timeboxes, and task runs, use a fast path:
|
|
25
31
|
one brief confirming sentence -> one operational question.
|
|
@@ -33,6 +39,8 @@ Forge correctly, and gather only the structure that still matters.
|
|
|
33
39
|
yourself and ask whether it fits.
|
|
34
40
|
- If the user already answered the usual opening question, do not repeat the stock
|
|
35
41
|
opener. Move straight to the next missing clarification.
|
|
42
|
+
- After a substantive answer, briefly say what is becoming clear so the user can
|
|
43
|
+
correct the direction early.
|
|
36
44
|
- Once the record is clear enough to name, stop exploring broadly and ask only for the
|
|
37
45
|
last missing structural detail.
|
|
38
46
|
|
|
@@ -71,6 +79,40 @@ Update record:
|
|
|
71
79
|
|
|
72
80
|
- "Before I change it, what feels newly true now, and what should stay intact?"
|
|
73
81
|
|
|
82
|
+
## Steering moves
|
|
83
|
+
|
|
84
|
+
Use these small moves to keep the intake natural and intentional.
|
|
85
|
+
|
|
86
|
+
When the user is still searching:
|
|
87
|
+
|
|
88
|
+
- reflect the stake in one sentence, then ask for the smallest concrete example or the
|
|
89
|
+
desired outcome
|
|
90
|
+
|
|
91
|
+
When the user already knows what they mean:
|
|
92
|
+
|
|
93
|
+
- offer the working formulation, then ask only for the last missing placement, timing,
|
|
94
|
+
or ownership detail
|
|
95
|
+
|
|
96
|
+
When the record carries emotion but is not Psyche:
|
|
97
|
+
|
|
98
|
+
- reflect what the user is trying to hold onto, repair, or not lose, then ask one
|
|
99
|
+
orienting question
|
|
100
|
+
|
|
101
|
+
When the user is updating an existing record:
|
|
102
|
+
|
|
103
|
+
- ask what is changing, what should remain true, and what prompted the change now only
|
|
104
|
+
if those answers would alter the record shape
|
|
105
|
+
|
|
106
|
+
When you are about to save:
|
|
107
|
+
|
|
108
|
+
- give one short working summary in the user's language and ask whether it feels true
|
|
109
|
+
enough or needs one correction
|
|
110
|
+
|
|
111
|
+
When an adjacent record becomes visible:
|
|
112
|
+
|
|
113
|
+
- name it gently and ask whether it should be linked now, saved separately later, or
|
|
114
|
+
left alone for now
|
|
115
|
+
|
|
74
116
|
## Question design rules
|
|
75
117
|
|
|
76
118
|
- Let each question have one job:
|
|
@@ -83,15 +125,29 @@ Update record:
|
|
|
83
125
|
- Do not over-warm or over-therapize logistical records. For those flows, one brief
|
|
84
126
|
confirming sentence plus one question is usually enough.
|
|
85
127
|
- Ask the more meaning-bearing question before the more administrative one.
|
|
128
|
+
- Prefer "what", "when", and "how" before "why" when the user's meaning is still
|
|
129
|
+
forming. "Why" is often better after the experience or outcome is already clear.
|
|
86
130
|
- If the user is uncertain, ask for a recent example before asking for an abstraction.
|
|
87
131
|
- If the user is clear and decisive, confirm the working formulation and move directly
|
|
88
132
|
to the one missing structural detail.
|
|
89
133
|
- Avoid dead-form prompts such as "What should this be called?" when the user is still
|
|
90
134
|
figuring out what the thing is.
|
|
135
|
+
- For labels such as `tag`, `event_type`, and `emotion_definition`, do not open with a
|
|
136
|
+
naming question unless the meaning is already clear and only the wording is missing.
|
|
91
137
|
- Before the final save question, it is often better to offer a candidate formulation
|
|
92
138
|
than to ask for raw wording from scratch.
|
|
93
139
|
- When useful, say what you think the record is becoming before asking the next
|
|
94
140
|
question. That helps the user correct the shape early.
|
|
141
|
+
- For reusable vocabulary or taxonomy records such as `tag`, `event_type`,
|
|
142
|
+
`emotion_definition`, `preference_catalog`, and `preference_context`, ask what
|
|
143
|
+
distinction the label should help the user notice, sort, or retrieve later before
|
|
144
|
+
you ask about naming or aliases.
|
|
145
|
+
- For emotionally meaningful vocabulary records such as `event_type`,
|
|
146
|
+
`emotion_definition`, and many `self_observation` entries, start from the lived
|
|
147
|
+
moment or felt meaning before you move to reuse or retrieval language.
|
|
148
|
+
- For collection-like records such as `preference_catalog` and
|
|
149
|
+
`questionnaire_instrument`, ask what they are for before you ask what should go
|
|
150
|
+
inside them.
|
|
95
151
|
|
|
96
152
|
## Ready-to-save check
|
|
97
153
|
|
|
@@ -104,6 +160,11 @@ Before saving, make sure you can answer all of these in plain language:
|
|
|
104
160
|
|
|
105
161
|
If the answer to the last question is "none", save it instead of prolonging intake.
|
|
106
162
|
|
|
163
|
+
Before the final write, it is usually worth asking one light confirmation such as:
|
|
164
|
+
|
|
165
|
+
- "That sounds like the right shape to save. Do you want to keep it that way, or is
|
|
166
|
+
there one thing you want adjusted first?"
|
|
167
|
+
|
|
107
168
|
## Update loop
|
|
108
169
|
|
|
109
170
|
Use this when the user is updating an existing record rather than creating a new one.
|
|
@@ -113,6 +174,9 @@ Use this when the user is updating an existing record rather than creating a new
|
|
|
113
174
|
3. Ask what prompted the update now if that changes the shape of the record.
|
|
114
175
|
4. Then ask only for the missing structural detail required by the change.
|
|
115
176
|
|
|
177
|
+
If the current title or shape may no longer fit, offer one revised formulation yourself
|
|
178
|
+
before asking the user to rewrite it from scratch.
|
|
179
|
+
|
|
116
180
|
## Goal
|
|
117
181
|
|
|
118
182
|
Aim: clarify the direction and why it matters, not just produce a title.
|
|
@@ -253,6 +317,34 @@ Preferred opening question:
|
|
|
253
317
|
|
|
254
318
|
- "What recurring move are you trying to strengthen or loosen?"
|
|
255
319
|
|
|
320
|
+
## Tag
|
|
321
|
+
|
|
322
|
+
Aim: create a label that helps future retrieval or grouping, not just another vague
|
|
323
|
+
bucket.
|
|
324
|
+
|
|
325
|
+
Arc:
|
|
326
|
+
|
|
327
|
+
1. Ask what the tag should help the user notice, group, or find later.
|
|
328
|
+
2. Ask what kinds of records should belong under it.
|
|
329
|
+
3. Offer a concise label if the meaning is clearer than the wording.
|
|
330
|
+
4. Ask about color, kind, or parent grouping only if that changes how it will be used.
|
|
331
|
+
|
|
332
|
+
Helpful follow-up lanes:
|
|
333
|
+
|
|
334
|
+
- what the tag is for later
|
|
335
|
+
- what should count as inside versus outside the label
|
|
336
|
+
- whether the user already has nearby tags that this should stay distinct from
|
|
337
|
+
|
|
338
|
+
Ready to save when:
|
|
339
|
+
|
|
340
|
+
- the tag has a stable label
|
|
341
|
+
- the grouping meaning is clear enough to reuse later
|
|
342
|
+
- any important distinction from nearby tags is clear
|
|
343
|
+
|
|
344
|
+
Preferred opening question:
|
|
345
|
+
|
|
346
|
+
- "What do you want this tag to help you notice or find again later?"
|
|
347
|
+
|
|
256
348
|
## Note
|
|
257
349
|
|
|
258
350
|
Aim: preserve the useful context and link it to the right places without turning the
|
|
@@ -279,7 +371,7 @@ Ready to save when:
|
|
|
279
371
|
|
|
280
372
|
Preferred opening question:
|
|
281
373
|
|
|
282
|
-
- "What feels important to
|
|
374
|
+
- "What feels important enough here that you would want to be able to find it again later?"
|
|
283
375
|
|
|
284
376
|
## Insight
|
|
285
377
|
|
|
@@ -426,6 +518,9 @@ Arc:
|
|
|
426
518
|
3. Ask what it may connect to: pattern, belief, value, mode, task, project, or note.
|
|
427
519
|
4. Ask for tags or extra context only if that will help later review.
|
|
428
520
|
|
|
521
|
+
If the user already gave the moment or timing, move straight to what they noticed most
|
|
522
|
+
clearly instead of re-asking when.
|
|
523
|
+
|
|
429
524
|
Ready to save when:
|
|
430
525
|
|
|
431
526
|
- the observation itself is clear
|
|
@@ -455,7 +550,7 @@ Ready to update when:
|
|
|
455
550
|
|
|
456
551
|
Preferred opening question:
|
|
457
552
|
|
|
458
|
-
- "What about this night feels
|
|
553
|
+
- "What about this night feels important enough to remember or connect?"
|
|
459
554
|
|
|
460
555
|
## Workout Session
|
|
461
556
|
|
|
@@ -475,33 +570,121 @@ Ready to update when:
|
|
|
475
570
|
|
|
476
571
|
Preferred opening question:
|
|
477
572
|
|
|
478
|
-
- "What about this workout feels most worth
|
|
573
|
+
- "What about this workout feels most worth remembering or connecting?"
|
|
479
574
|
|
|
480
|
-
## Preference
|
|
575
|
+
## Preference Catalog
|
|
481
576
|
|
|
482
|
-
Aim:
|
|
483
|
-
context, or inspect the learned model.
|
|
577
|
+
Aim: define a useful comparison pool, not just a list with no decision purpose.
|
|
484
578
|
|
|
485
579
|
Arc:
|
|
486
580
|
|
|
487
|
-
1. Ask what preference question
|
|
488
|
-
2.
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
or a request to inspect what Forge already knows.
|
|
492
|
-
3. If the user wants live comparisons, hand off to the Preferences game UI.
|
|
493
|
-
4. If the user wants a direct signal or context change, ask only for the missing domain,
|
|
494
|
-
item, or context detail.
|
|
581
|
+
1. Ask what preference question this catalog is meant to support.
|
|
582
|
+
2. Ask what domain or concept area it belongs to.
|
|
583
|
+
3. Ask what kinds of items should be included or excluded.
|
|
584
|
+
4. Offer a working catalog name once the purpose is clear.
|
|
495
585
|
|
|
496
|
-
|
|
586
|
+
Helpful follow-up lanes:
|
|
587
|
+
|
|
588
|
+
- what decision or taste question this catalog should help answer
|
|
589
|
+
- what belongs in scope
|
|
590
|
+
- what would make the catalog immediately useful instead of bloated
|
|
497
591
|
|
|
592
|
+
Ready to save when:
|
|
593
|
+
|
|
594
|
+
- the catalog has a stable purpose
|
|
498
595
|
- the domain is clear
|
|
499
|
-
- the
|
|
500
|
-
|
|
596
|
+
- the boundary of what belongs inside is clear enough
|
|
597
|
+
|
|
598
|
+
Preferred opening question:
|
|
599
|
+
|
|
600
|
+
- "What preference question do you want this catalog to help answer?"
|
|
601
|
+
|
|
602
|
+
## Preference Catalog Item
|
|
603
|
+
|
|
604
|
+
Aim: add one candidate in a way that will make later comparisons feel clear and fair.
|
|
605
|
+
|
|
606
|
+
Arc:
|
|
607
|
+
|
|
608
|
+
1. Ask what makes this item worth including in the catalog.
|
|
609
|
+
2. Ask what catalog or domain it belongs to if that is still unclear.
|
|
610
|
+
3. Ask for a short clarifying description only if the label would be ambiguous later.
|
|
611
|
+
4. Ask about aliases or tags only if they help retrieval.
|
|
612
|
+
|
|
613
|
+
Helpful follow-up lanes:
|
|
614
|
+
|
|
615
|
+
- why this item belongs in the comparison pool
|
|
616
|
+
- what would distinguish it from nearby items
|
|
617
|
+
- whether the label alone will be clear later
|
|
618
|
+
|
|
619
|
+
Ready to save when:
|
|
620
|
+
|
|
621
|
+
- the item label is clear
|
|
622
|
+
- the parent catalog is clear
|
|
623
|
+
- there is enough context to recognize it later if the label is ambiguous
|
|
624
|
+
|
|
625
|
+
Preferred opening question:
|
|
626
|
+
|
|
627
|
+
- "What makes this item worth comparing in that catalog?"
|
|
628
|
+
|
|
629
|
+
## Preference Context
|
|
630
|
+
|
|
631
|
+
Aim: define a real operating mode for preferences, not a decorative label.
|
|
632
|
+
|
|
633
|
+
Arc:
|
|
634
|
+
|
|
635
|
+
1. Ask what situation or mode this context is meant to represent.
|
|
636
|
+
2. Ask what should count inside that context and what should stay outside it.
|
|
637
|
+
3. Ask whether it should be active, default, or kept separate from other evidence.
|
|
638
|
+
4. Offer a concise name if the mode is clearer than the wording.
|
|
639
|
+
|
|
640
|
+
Helpful follow-up lanes:
|
|
641
|
+
|
|
642
|
+
- what decisions this context should shape
|
|
643
|
+
- what belongs inside versus outside the mode
|
|
644
|
+
- whether it should be default or explicitly separate
|
|
645
|
+
|
|
646
|
+
Ready to save when:
|
|
647
|
+
|
|
648
|
+
- the context has a stable purpose
|
|
649
|
+
- its boundary is clear enough to use consistently
|
|
650
|
+
- any default or sharing choice that matters is clear
|
|
651
|
+
|
|
652
|
+
Preferred opening question:
|
|
653
|
+
|
|
654
|
+
- "What situation or mode should this context help Forge treat differently?"
|
|
655
|
+
|
|
656
|
+
## Preference Item
|
|
657
|
+
|
|
658
|
+
Aim: save one concrete preference candidate or signal without losing the context that
|
|
659
|
+
makes it meaningful.
|
|
660
|
+
|
|
661
|
+
Arc:
|
|
662
|
+
|
|
663
|
+
1. Ask what preference or taste question this item belongs to.
|
|
664
|
+
2. Ask what domain or context it should live in.
|
|
665
|
+
3. Ask whether the user is trying to save it as a comparison candidate or as a direct
|
|
666
|
+
signal such as favorite, veto, or compare-later.
|
|
667
|
+
4. Ask what makes this item distinct enough to compare usefully only if it is still a
|
|
668
|
+
comparison candidate.
|
|
669
|
+
5. If the user is really trying to send a direct signal, ask only for the missing
|
|
670
|
+
detail and then act.
|
|
671
|
+
|
|
672
|
+
Helpful follow-up lanes:
|
|
673
|
+
|
|
674
|
+
- what domain this belongs to
|
|
675
|
+
- what context makes the preference meaningful
|
|
676
|
+
- whether this is a signal or a comparison candidate
|
|
677
|
+
- what distinguishes the item from nearby options
|
|
678
|
+
|
|
679
|
+
Ready to act when:
|
|
680
|
+
|
|
681
|
+
- the item is clear
|
|
682
|
+
- the domain or profile context is clear enough
|
|
683
|
+
- any needed distinguishing detail is captured
|
|
501
684
|
|
|
502
685
|
Preferred opening question:
|
|
503
686
|
|
|
504
|
-
- "What preference are you trying to make clearer
|
|
687
|
+
- "What preference are you trying to make clearer by saving this item?"
|
|
505
688
|
|
|
506
689
|
## Questionnaire Instrument
|
|
507
690
|
|
|
@@ -512,7 +695,8 @@ Arc:
|
|
|
512
695
|
|
|
513
696
|
1. Ask what the questionnaire is meant to measure or surface.
|
|
514
697
|
2. Ask who it is for and when it should be used.
|
|
515
|
-
3. Ask what
|
|
698
|
+
3. Ask what kind of questions would make it honest and useful before getting into
|
|
699
|
+
item wording.
|
|
516
700
|
4. Move to draft creation once the purpose is clear.
|
|
517
701
|
|
|
518
702
|
Ready to act when:
|
|
@@ -551,9 +735,14 @@ consistent.
|
|
|
551
735
|
|
|
552
736
|
Arc:
|
|
553
737
|
|
|
554
|
-
1. Ask what
|
|
738
|
+
1. Ask what kind of moment or incident this label should capture in lived terms.
|
|
555
739
|
2. Ask how narrow or broad it should be.
|
|
556
|
-
3. Ask
|
|
740
|
+
3. Ask what would count as inside versus outside the category if that boundary is
|
|
741
|
+
still fuzzy.
|
|
742
|
+
4. Ask for a short description only if the label could be ambiguous later.
|
|
743
|
+
|
|
744
|
+
If the user already offered a candidate label, keep the wording provisional and ask
|
|
745
|
+
what kinds of moments belong inside it before you ask whether the label is right.
|
|
557
746
|
|
|
558
747
|
Ready to save when:
|
|
559
748
|
|
|
@@ -562,7 +751,7 @@ Ready to save when:
|
|
|
562
751
|
|
|
563
752
|
Preferred opening question:
|
|
564
753
|
|
|
565
|
-
- "What kind of
|
|
754
|
+
- "What kind of moment do you want this event type to help you name more consistently?"
|
|
566
755
|
|
|
567
756
|
## Emotion Definition
|
|
568
757
|
|
|
@@ -570,7 +759,7 @@ Aim: define one reusable emotion entry clearly enough that future reports stay p
|
|
|
570
759
|
|
|
571
760
|
Arc:
|
|
572
761
|
|
|
573
|
-
1. Ask what
|
|
762
|
+
1. Ask what this feeling is like in lived terms when the user says it.
|
|
574
763
|
2. Ask what distinguishes it from nearby emotions if that matters.
|
|
575
764
|
3. Ask for a short description only if later reports would benefit from it.
|
|
576
765
|
|
|
@@ -581,4 +770,4 @@ Ready to save when:
|
|
|
581
770
|
|
|
582
771
|
Preferred opening question:
|
|
583
772
|
|
|
584
|
-
- "
|
|
773
|
+
- "When you say this feeling, what does it actually feel like for you?"
|
|
@@ -27,17 +27,64 @@ Forge without turning the conversation into a worksheet.
|
|
|
27
27
|
- Do not rush to naming, reframing, or repair before the experience itself is clearer.
|
|
28
28
|
- Once the formulation is coherent, help with wording instead of forcing the user to
|
|
29
29
|
generate all the language alone.
|
|
30
|
+
- When the user is close to the experience but far from the wording, do some of the
|
|
31
|
+
formulation work for them. Offer one careful candidate name or summary and invite
|
|
32
|
+
correction.
|
|
30
33
|
- Ask only one lane at a time. Do not jump from the example straight into belief,
|
|
31
34
|
mode, value, and repair all in one turn.
|
|
32
35
|
- If the user gives a rich answer with several possible lanes, choose the one that most
|
|
33
36
|
improves understanding and leave the others for later.
|
|
34
37
|
- Before the next question, reflect back what you just heard in one or two sentences so
|
|
35
38
|
the user can feel understood and correct you if needed.
|
|
39
|
+
- Before you ask for change, naming, or repair, usually ask what the experience is
|
|
40
|
+
trying to protect, prevent, or hold onto.
|
|
36
41
|
- The warmth should come from accuracy and steadiness, not from extra softness,
|
|
37
42
|
diagnosis language, or a polished performance of care.
|
|
38
43
|
- If the user becomes flooded, vague, or circular, narrow the focus to the smallest
|
|
39
44
|
concrete slice you can ask about: one moment, one sentence, one body signal, or one
|
|
40
45
|
thing they did next.
|
|
46
|
+
- When the user gives an abstraction first, gently bring it back to one recent moment
|
|
47
|
+
before helping them name the pattern.
|
|
48
|
+
- Prefer "what", "when", and "how" early. Save "why" for later unless the user is
|
|
49
|
+
already grounded enough that it will deepen rather than blur the picture.
|
|
50
|
+
- Before you ask for the user's preferred fix, understand what the response is trying
|
|
51
|
+
to protect, achieve, or prevent.
|
|
52
|
+
|
|
53
|
+
## Therapist micro-skills
|
|
54
|
+
|
|
55
|
+
Use these in small doses rather than as a script.
|
|
56
|
+
|
|
57
|
+
Reflect:
|
|
58
|
+
|
|
59
|
+
- briefly mirror the user's felt sense, stake, or sequence in plain language
|
|
60
|
+
|
|
61
|
+
Locate:
|
|
62
|
+
|
|
63
|
+
- ask where this shows up most clearly: the last moment, the first cue, the body
|
|
64
|
+
signal, the feared consequence, or the move that happened next
|
|
65
|
+
|
|
66
|
+
Deepen:
|
|
67
|
+
|
|
68
|
+
- choose one lane that improves understanding most:
|
|
69
|
+
situation,
|
|
70
|
+
sequence,
|
|
71
|
+
meaning,
|
|
72
|
+
protection,
|
|
73
|
+
cost,
|
|
74
|
+
longing/value,
|
|
75
|
+
or naming
|
|
76
|
+
|
|
77
|
+
Formulate:
|
|
78
|
+
|
|
79
|
+
- once the experience is coherent, offer one careful working sentence or title and ask
|
|
80
|
+
whether it feels true, too sharp, or still misses something important
|
|
81
|
+
|
|
82
|
+
Connect:
|
|
83
|
+
|
|
84
|
+
- near the end, notice whether this belongs with a value, belief, pattern, mode, note,
|
|
85
|
+
goal, project, or task and ask whether the user wants to map that too
|
|
86
|
+
- when another record is clearly present, ask whether the user wants to link it now,
|
|
87
|
+
save it separately later, or just keep it in the note/context for now
|
|
41
88
|
|
|
42
89
|
## First-turn rule
|
|
43
90
|
|
|
@@ -59,6 +106,13 @@ Good first-turn shapes:
|
|
|
59
106
|
that moment?"
|
|
60
107
|
- "I can help slow it down. When do you notice this most clearly?"
|
|
61
108
|
|
|
109
|
+
If the user is already direct and just wants to save a clear Psyche record, shorten the
|
|
110
|
+
opening:
|
|
111
|
+
|
|
112
|
+
- one brief reflection
|
|
113
|
+
- one missing-detail question
|
|
114
|
+
- then move toward the write instead of forcing exploration
|
|
115
|
+
|
|
62
116
|
## Lane chooser
|
|
63
117
|
|
|
64
118
|
After each real answer, choose the next best lane. Do not mix several lanes at once.
|
|
@@ -118,6 +172,11 @@ Example shape:
|
|
|
118
172
|
and pulling back gives you a little protection fast. What does withdrawing prevent in
|
|
119
173
|
that moment?"
|
|
120
174
|
|
|
175
|
+
Another strong shape when the user is getting abstract:
|
|
176
|
+
|
|
177
|
+
- "So the painful part seems to be less the event itself and more what it starts to
|
|
178
|
+
mean about you. What does it seem to prove in that moment?"
|
|
179
|
+
|
|
121
180
|
## Formulation rules
|
|
122
181
|
|
|
123
182
|
- Do not front-load a finished case formulation.
|
|
@@ -130,6 +189,8 @@ Example shape:
|
|
|
130
189
|
detail into normalized fields.
|
|
131
190
|
- Before saving, give a short working summary in the user's own language and ask
|
|
132
191
|
whether it feels true enough.
|
|
192
|
+
- A good final check is often:
|
|
193
|
+
"Does that feel true enough to save, or is there one part that needs to be said more accurately?"
|
|
133
194
|
|
|
134
195
|
## Naming turn
|
|
135
196
|
|
|
@@ -164,6 +225,21 @@ If the entity is not yet clear:
|
|
|
164
225
|
meaning
|
|
165
226
|
- then move toward naming and save
|
|
166
227
|
|
|
228
|
+
## Psyche update loop
|
|
229
|
+
|
|
230
|
+
Use this when the user is revising an existing Psyche record rather than creating one
|
|
231
|
+
from scratch.
|
|
232
|
+
|
|
233
|
+
1. Ask what feels newly true, newly visible, or newly inaccurate.
|
|
234
|
+
2. Ask what still feels essentially right and should not be lost.
|
|
235
|
+
3. Re-check the name only if the old wording no longer fits the lived experience.
|
|
236
|
+
4. Ask for one concrete recent example if the update is abstract or sweeping.
|
|
237
|
+
5. Then change only the parts the new understanding actually affects.
|
|
238
|
+
|
|
239
|
+
Good update opener:
|
|
240
|
+
|
|
241
|
+
- "Before we change it, what feels newly true about this now, and what still feels basically right?"
|
|
242
|
+
|
|
167
243
|
## Safety rule
|
|
168
244
|
|
|
169
245
|
If the user shows imminent risk of self-harm, suicide, violence, inability to stay
|
|
@@ -224,6 +300,7 @@ Helpful follow-up lanes:
|
|
|
224
300
|
|
|
225
301
|
- the earliest cue or vulnerability factor
|
|
226
302
|
- the moment the loop starts to make sense internally
|
|
303
|
+
- where the pattern stops feeling like a choice
|
|
227
304
|
- what the loop protects or prevents
|
|
228
305
|
- what it costs later
|
|
229
306
|
- what a preferred response would still need to honor
|
|
@@ -299,6 +376,7 @@ Arc:
|
|
|
299
376
|
Helpful follow-up lanes:
|
|
300
377
|
|
|
301
378
|
- the feared consequence inside the belief
|
|
379
|
+
- what the moment seems to prove
|
|
302
380
|
- how old or familiar the rule feels
|
|
303
381
|
- evidence for
|
|
304
382
|
- evidence against
|
|
@@ -318,7 +396,7 @@ Ready to save when:
|
|
|
318
396
|
|
|
319
397
|
Preferred opening question:
|
|
320
398
|
|
|
321
|
-
- "When that reaction hits, what does it start telling you?"
|
|
399
|
+
- "When that reaction hits, what does it start telling you about you, them, or what happens next?"
|
|
322
400
|
|
|
323
401
|
## Mode Profile
|
|
324
402
|
|
|
@@ -356,7 +434,7 @@ Ready to save when:
|
|
|
356
434
|
|
|
357
435
|
Preferred opening question:
|
|
358
436
|
|
|
359
|
-
- "When this part takes over, what
|
|
437
|
+
- "When this part takes over, what feels most at risk or most in need of protection?"
|
|
360
438
|
|
|
361
439
|
## Mode Guide Session
|
|
362
440
|
|
|
@@ -391,7 +469,7 @@ Ready to save when:
|
|
|
391
469
|
|
|
392
470
|
Preferred opening question:
|
|
393
471
|
|
|
394
|
-
- "What just happened
|
|
472
|
+
- "What just happened, and what is this part trying to get you to do or stop doing right now?"
|
|
395
473
|
|
|
396
474
|
## Trigger Report
|
|
397
475
|
|
|
@@ -412,6 +490,7 @@ Helpful follow-up lanes:
|
|
|
412
490
|
|
|
413
491
|
- what happened first
|
|
414
492
|
- what emotions were present and how intense they felt
|
|
493
|
+
- what felt most threatened or unbearable
|
|
415
494
|
- what meaning or interpretation arrived fast
|
|
416
495
|
- what action followed
|
|
417
496
|
- what happened next short term and long term
|