forge-openclaw-plugin 0.3.14 → 0.3.16
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 +8 -8
- package/dist/assets/{action-bar-B9MYlps2.js → action-bar-DgrmzFrI.js} +1 -1
- package/dist/assets/{activity-page-DbzbChcE.js → activity-page-CF451ueg.js} +1 -1
- package/dist/assets/{ai-surface-workspace-CF0257Hs.js → ai-surface-workspace-DtwybxJB.js} +1 -1
- package/dist/assets/{atlas-panel-CO3RYAKn.js → atlas-panel-CB3uYk_K.js} +1 -1
- package/dist/assets/{calendar-page-BuuHKEHC.js → calendar-page-BYsDuLnh.js} +1 -1
- package/dist/assets/{calendar-rules-DKftgNx5.js → calendar-rules-DXuOv2J-.js} +1 -1
- package/dist/assets/{calendar-week-toolbar-ChIpkT-G.js → calendar-week-toolbar-8PJmiUE_.js} +1 -1
- package/dist/assets/{companion-sync-lab-page-BZRX4Btw.js → companion-sync-lab-page-DzWNOaBh.js} +1 -1
- package/dist/assets/{daily-metrics-dashboard-CXDsaAQd.js → daily-metrics-dashboard-CHcYxDhs.js} +1 -1
- package/dist/assets/{define-workbench-box-CpG0Zb1L.js → define-workbench-box-DcI0_QKW.js} +1 -1
- package/dist/assets/{entity-link-multiselect-Dl4rZqdg.js → entity-link-multiselect-C--AiCMb.js} +1 -1
- package/dist/assets/{entity-note-count-link-Bs1aKYyD.js → entity-note-count-link-xne6mshj.js} +1 -1
- package/dist/assets/{entity-notes-surface-B56XSw7M.js → entity-notes-surface-jy6Psist.js} +1 -1
- package/dist/assets/{execution-board-D66C_ikW.js → execution-board-BSUZCIIx.js} +1 -1
- package/dist/assets/{faceted-token-search-Dg2rjknH.js → faceted-token-search-BMQ1Wwzt.js} +1 -1
- package/dist/assets/{flagship-signal-deck-C6KVPhmM.js → flagship-signal-deck-DjcskRwF.js} +1 -1
- package/dist/assets/{floating-action-menu-DAFAEBcA.js → floating-action-menu-cGhbJ2tc.js} +1 -1
- package/dist/assets/{generic-node-view-C6DK5hJ6.js → generic-node-view-DNVwfqqq.js} +1 -1
- package/dist/assets/{goal-detail-page-CC4VXud6.js → goal-detail-page-dAbyCilO.js} +1 -1
- package/dist/assets/{goal-dialog-15hD8EBp.js → goal-dialog-DH50D0tP.js} +1 -1
- package/dist/assets/{goals-page-CQ2lJMzI.js → goals-page-DkMy9mPD.js} +1 -1
- package/dist/assets/{habits-page-a7KVPaQp.js → habits-page-CCQR8rg6.js} +1 -1
- package/dist/assets/{health-boxes-DqgvIYoL.js → health-boxes-BPTgGM6G.js} +1 -1
- package/dist/assets/index-VzCGTBS_.css +1 -0
- package/dist/assets/{index-FpGANF9S.js → index-izRKx6JK.js} +2 -2
- package/dist/assets/{inline-note-fields-COgzxr_7.js → inline-note-fields-D4mCM1gO.js} +1 -1
- package/dist/assets/{insight-flow-dialog-Dmb6NSGp.js → insight-flow-dialog-Btp6bkbV.js} +1 -1
- package/dist/assets/{insights-page-OnqR4cYI.js → insights-page-1qM4mxjS.js} +1 -1
- package/dist/assets/{kanban-boxes-BWUzntCV.js → kanban-boxes-u_A-UJG-.js} +1 -1
- package/dist/assets/{kanban-page-BI16Gzp_.js → kanban-page-CKCa_3Qb.js} +1 -1
- package/dist/assets/{knowledge-graph-page-DxEBaEke.js → knowledge-graph-page-BZOxRv19.js} +1 -1
- package/dist/assets/{life-force-page-CDEXEQai.js → life-force-page-BZlyA144.js} +1 -1
- package/dist/assets/{life-force-workspace-C7UOnJEf.js → life-force-workspace-CtAWZXNw.js} +1 -1
- package/dist/assets/{metric-tile-boeHB1R1.js → metric-tile-Bkx2btO2.js} +1 -1
- package/dist/assets/{movement-boxes-BUSqaTL2.js → movement-boxes-QZ2EIS9q.js} +1 -1
- package/dist/assets/{movement-page-DcbO0497.js → movement-page-B-3ihggI.js} +1 -1
- package/dist/assets/{note-markdown-DXXI3W3V.js → note-markdown-BWedRE3c.js} +1 -1
- package/dist/assets/{note-tags-input-CYh3TVW2.js → note-tags-input-DZkCqI1w.js} +1 -1
- package/dist/assets/{notes-boxes-CMJXX2K0.js → notes-boxes-DGFmt7Dp.js} +1 -1
- package/dist/assets/{notes-page-DvHMcQey.js → notes-page-DYkn04tz.js} +1 -1
- package/dist/assets/{open-in-graph-button-4UYrp1XP.js → open-in-graph-button-CjvkEj1P.js} +1 -1
- package/dist/assets/{orbit-map-BwK7sDaC.js → orbit-map-CRHSPenk.js} +1 -1
- package/dist/assets/{overview-page-Z5vaUTm3.js → overview-page-D6LsjPWe.js} +1 -1
- package/dist/assets/{page-hero-DvrM83_C.js → page-hero-BLhM8FF3.js} +1 -1
- package/dist/assets/{pill-cluster-DYI3Ibj8.js → pill-cluster-B5bYs_e2.js} +1 -1
- package/dist/assets/{preference-entity-handoff-button-C2ATjvws.js → preference-entity-handoff-button-CfCQl3cW.js} +1 -1
- package/dist/assets/{preferences-page-BAexXHye.js → preferences-page-OltGdsQ2.js} +1 -1
- package/dist/assets/{project-collections-B9nr-Ts-.js → project-collections-FfBIVwXu.js} +1 -1
- package/dist/assets/{project-detail-page-B9PqyPu9.js → project-detail-page-CCm3iZPQ.js} +1 -1
- package/dist/assets/{project-dialog-CBA-D65n.js → project-dialog-B_J1ESMk.js} +1 -1
- package/dist/assets/{project-management-hierarchy-page-DXK14jn0.js → project-management-hierarchy-page-BNzvtNZj.js} +1 -1
- package/dist/assets/{project-management-section-nav-DJ3QKCtr.js → project-management-section-nav-DBNHt9p5.js} +1 -1
- package/dist/assets/{projects-boxes-iBu_PRqe.js → projects-boxes-BvlVsO5q.js} +1 -1
- package/dist/assets/{projects-page-CdAk-ByT.js → projects-page-BUf7KV-_.js} +1 -1
- package/dist/assets/{psyche-behaviors-page-CbhhTfU2.js → psyche-behaviors-page-jtyhdpJ1.js} +1 -1
- package/dist/assets/{psyche-flashcards-page-DQaw_vUQ.js → psyche-flashcards-page-05606-97.js} +1 -1
- package/dist/assets/{psyche-goal-map-page-C-ZTVOEP.js → psyche-goal-map-page-Cw-aqS3Y.js} +1 -1
- package/dist/assets/{psyche-graph-DYzeClxn.js → psyche-graph-0E22QHPe.js} +1 -1
- package/dist/assets/{psyche-metrics-page-C9hKn10A.js → psyche-metrics-page-DBFVPeMa.js} +1 -1
- package/dist/assets/{psyche-mode-guide-page-CR8e984W.js → psyche-mode-guide-page-DI-LNEDT.js} +1 -1
- package/dist/assets/psyche-modes-page-CaMupyfi.js +1 -0
- package/dist/assets/{psyche-page-CTdIDkw9.js → psyche-page-CFBq0YKf.js} +1 -1
- package/dist/assets/{psyche-patterns-page-Drgm-f7I.js → psyche-patterns-page-sp4ikoef.js} +1 -1
- package/dist/assets/{psyche-questionnaire-builder-page-gRwdGXde.js → psyche-questionnaire-builder-page-DEt0UDsz.js} +1 -1
- package/dist/assets/{psyche-questionnaire-detail-page-CIP9b2UI.js → psyche-questionnaire-detail-page-BXQbOE6A.js} +1 -1
- package/dist/assets/{psyche-questionnaire-run-detail-page-SYndwtF3.js → psyche-questionnaire-run-detail-page-Cd3ClsSK.js} +1 -1
- package/dist/assets/{psyche-questionnaire-run-page-CXiJyd5i.js → psyche-questionnaire-run-page-D_EokOQm.js} +1 -1
- package/dist/assets/{psyche-questionnaires-page-CFPKwA3O.js → psyche-questionnaires-page-D1Ov2L4n.js} +1 -1
- package/dist/assets/{psyche-report-detail-page-dU30a2WE.js → psyche-report-detail-page-9HyPr8BJ.js} +1 -1
- package/dist/assets/{psyche-reports-page-Cn0EBndy.js → psyche-reports-page-BeyJg5fb.js} +1 -1
- package/dist/assets/{psyche-schemas-beliefs-page-Bab4xSWv.js → psyche-schemas-beliefs-page-DNmf-Vma.js} +1 -1
- package/dist/assets/{psyche-screen-time-page-lIe6GQxJ.js → psyche-screen-time-page-DJMDR5oo.js} +1 -1
- package/dist/assets/{psyche-self-observation-page-BTE3KfIl.js → psyche-self-observation-page-DFKXG1Yv.js} +1 -1
- package/dist/assets/{psyche-values-page-DclBZ9xw.js → psyche-values-page-TWKth89J.js} +1 -1
- package/dist/assets/{question-flow-dialog-Ded2E85L.js → question-flow-dialog-D-_EvoAt.js} +1 -1
- package/dist/assets/{report-chain-fields-DY640iqL.js → report-chain-fields-Dy-jBQDn.js} +1 -1
- package/dist/assets/{rewards-page-FxUXB76B.js → rewards-page-D3ymEd2X.js} +1 -1
- package/dist/assets/{scheduling-rules-editor-jakFfxqF.js → scheduling-rules-editor-CAd290IE.js} +1 -1
- package/dist/assets/{schema-badge-30B5syHA.js → schema-badge-BLaVI1D7.js} +1 -1
- package/dist/assets/{schemas-Db29G8NU.js → schemas-B0Pa-V-A.js} +1 -1
- package/dist/assets/{select-menu-BF2zI3RW.js → select-menu-DcS4Ukjf.js} +1 -1
- package/dist/assets/{settings-agents-page-Bh-Bv6FQ.js → settings-agents-page-Bt38HhEJ.js} +1 -1
- package/dist/assets/{settings-bin-page-DT8JJero.js → settings-bin-page-DqyVI1i1.js} +1 -1
- package/dist/assets/{settings-calendar-page-BA4_Qqiu.js → settings-calendar-page-DPSSZV3s.js} +1 -1
- package/dist/assets/{settings-data-page-K4kpmQJY.js → settings-data-page-BdHsD1C_.js} +1 -1
- package/dist/assets/{settings-logs-page-DkuNPAZo.js → settings-logs-page-D9OnWoFq.js} +1 -1
- package/dist/assets/{settings-mobile-page-4pCNwD91.js → settings-mobile-page-DFpsXA4M.js} +1 -1
- package/dist/assets/{settings-models-page-CZHG3t7W.js → settings-models-page-DaFXLp-O.js} +1 -1
- package/dist/assets/{settings-page-B_Be0vOY.js → settings-page-m_3iYPwU.js} +1 -1
- package/dist/assets/{settings-rewards-page-C6nFTWJu.js → settings-rewards-page-B2aBm-dA.js} +1 -1
- package/dist/assets/{settings-section-nav-Lo-VKCfZ.js → settings-section-nav-CMeU19Rx.js} +1 -1
- package/dist/assets/{settings-users-page-CVzNp4-m.js → settings-users-page-D8jyewJl.js} +1 -1
- package/dist/assets/{settings-wiki-page-DXM--7BB.js → settings-wiki-page-DjOgQJAh.js} +1 -1
- package/dist/assets/{sleep-page-DvPdZMKx.js → sleep-page-D8-dA4bE.js} +1 -1
- package/dist/assets/{sports-page-DjuZlOur.js → sports-page-CK3PgPKB.js} +1 -1
- package/dist/assets/{strategies-page-PE1IlatS.js → strategies-page-aFpJath-.js} +1 -1
- package/dist/assets/{strategy-detail-page-C4KiEGCI.js → strategy-detail-page-CobF5qLv.js} +1 -1
- package/dist/assets/{strategy-dialog-Cwf7Y3P5.js → strategy-dialog-Fgoaoob5.js} +1 -1
- package/dist/assets/{surface-ubuOfukq.js → surface-D0dqgX-k.js} +1 -1
- package/dist/assets/{task-detail-page-B3SMFZQ3.js → task-detail-page-CDK79bzk.js} +1 -1
- package/dist/assets/{task-dialog-CI_Fy_FW.js → task-dialog-eCDTF8xe.js} +4 -4
- package/dist/assets/{timebox-planning-dialog-BtFuVoA1.js → timebox-planning-dialog-CNZIGSpd.js} +1 -1
- package/dist/assets/{today-boxes-CYuxSkZf.js → today-boxes-CYfskVrM.js} +1 -1
- package/dist/assets/{today-page-CHGpLEZ3.js → today-page-Bnh8wopq.js} +1 -1
- package/dist/assets/{training-load-page-GZJF-Yy5.js → training-load-page-C7lq-jqy.js} +1 -1
- package/dist/assets/{user-badge-ByhC6bMU.js → user-badge-MEZuJiir.js} +1 -1
- package/dist/assets/{utility-widgets-ilORjDmg.js → utility-widgets-h5eG2jvc.js} +1 -1
- package/dist/assets/{vitals-page-mdEqIm_9.js → vitals-page-eoFnQ3XL.js} +1 -1
- package/dist/assets/{weekly-review-page-C8W-yg5r.js → weekly-review-page-C7BU1gkK.js} +1 -1
- package/dist/assets/{weight-loss-page-BApTknCn.js → weight-loss-page-Cc7Do3XY.js} +1 -1
- package/dist/assets/{wiki-article-markdown-DBccllQg.js → wiki-article-markdown-CCKoSptz.js} +1 -1
- package/dist/assets/{wiki-editor-page-BfRfH1O3.js → wiki-editor-page-BpbxZrgz.js} +1 -1
- package/dist/assets/{wiki-ingest-history-page-C-6H3MU6.js → wiki-ingest-history-page-D5Wfr8pc.js} +1 -1
- package/dist/assets/{wiki-ingest-modal-DnlhByD_.js → wiki-ingest-modal-DhRVsEwC.js} +1 -1
- package/dist/assets/{wiki-page-DPZ55e3x.js → wiki-page-1vf-HErs.js} +1 -1
- package/dist/assets/{workbench-flow-page-_-NKIx5R.js → workbench-flow-page-y9FxDbKO.js} +1 -1
- package/dist/assets/{workbench-page-NIAzggwX.js → workbench-page-Da16AZvN.js} +1 -1
- package/dist/assets/{workout-detail-page-3fxr6HL4.js → workout-detail-page-Cq0YamXF.js} +1 -1
- package/dist/index.html +6 -6
- package/dist/openclaw/api-client.js +28 -2
- package/dist/openclaw/index.d.ts +2 -7
- package/dist/openclaw/local-runtime.js +31 -14
- package/dist/server/{server → apps/api}/src/app.js +12 -7
- package/dist/server/{server → apps/api}/src/connectors/box-registry.js +3 -3
- package/dist/server/{server → apps/api}/src/db.js +23 -4
- package/dist/server/{server → apps/api}/src/health-weight-loss.js +1 -1
- package/dist/server/{server → apps/api}/src/openapi.js +4 -0
- package/dist/server/{server → apps/api}/src/questionnaire-seeds.js +1 -1
- package/dist/server/{server → apps/api}/src/repositories/ai-connectors.js +1 -1
- package/dist/server/{server → apps/api}/src/repositories/habits.js +1 -1
- package/dist/server/{server → apps/api}/src/services/companion-iroh.js +4 -1
- package/dist/server/{server → apps/api}/src/services/doctor.js +3 -3
- package/dist/server/{server → apps/api}/src/services/gamification-assets.js +1 -1
- package/dist/server/{server → apps/api}/src/services/gamification.js +1 -1
- package/dist/server/{server → apps/api}/src/services/knowledge-graph.js +3 -3
- package/dist/server/{server → apps/api}/src/types.js +2 -2
- package/dist/server/{server → apps/api}/src/watch-mobile.js +1 -1
- package/openclaw.plugin.json +1 -1
- package/package.json +8 -6
- package/server/index.js +9 -4
- package/skills/forge-openclaw/SKILL.md +59 -13
- package/skills/forge-openclaw/entity_conversation_playbooks.md +150 -5
- package/skills/forge-openclaw/psyche_entity_playbooks.md +77 -0
- package/dist/assets/favicon-B6oXI6k4.ico +0 -0
- package/dist/assets/favicon-Bai4rhyS.png +0 -0
- package/dist/assets/favicon-ERg17ZCd.svg +0 -3
- package/dist/assets/index-ClJbJhca.css +0 -1
- package/dist/assets/psyche-modes-page-lQdpAcY3.js +0 -1
- package/skills/forge-openclaw/SKILL.md.bak-20260415 +0 -552
- package/skills/forge-openclaw/entity_conversation_playbooks.md.bak-20260415 +0 -1303
- /package/dist/server/{server → apps/api}/migrations/001_core.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/002_psyche.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/003_habits.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/004_habit_links.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/005_habit_psyche_links.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/006_work_adjustments.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/007_weekly_review_closures.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/008_calendar_execution.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/009_true_calendar_events.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/010_calendar_selection_state.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/011_calendar_timezone_backfill.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/012_work_block_ranges.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/013_microsoft_local_auth_settings.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/014_note_tags_and_ephemeral.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/015_multi_user_and_strategies.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/016_health_companion.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/016_strategy_contracts_and_user_graph.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/017_preferences.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/018_preference_catalogs.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/019_wiki_memory.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/020_wiki_page_hierarchy.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/021_hide_evidence_from_wiki_index.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/022_wiki_ingest_background.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/023_diagnostic_logs.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/024_questionnaires.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/025_ai_model_connections.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/026_custom_theme_settings.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/027_ai_processors.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/028_movement_domain.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/029_watch_micro_capture.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/030_surface_layouts.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/031_ai_processor_runtime_upgrades.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/032_ai_connectors.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/033_movement_trip_point_sync.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/034_movement_segment_sync.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/035_google_local_auth_settings.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/036_google_local_auth_client_secret.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/037_workbench_public_inputs_and_run_inputs.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/038_data_management_settings.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/039_life_force_and_action_points.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/040_screen_time_domain.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/041_companion_source_states.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/042_movement_boxes.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/043_movement_box_overlap_overrides.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/044_macos_local_calendar_provider.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/045_sleep_nights_and_raw_segments.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/046_work_item_hierarchy.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/047_sleep_source_records.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/048_task_run_git_context.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/049_agent_runtime_sessions.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/050_agent_token_bootstrap_policy.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/051_agent_token_scope_policy.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/052_agent_identity_tightening.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/053_agent_runtime_session_canonical_labels.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/054_sqlite_backed_wiki_memory.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/055_gamification_progression.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/056_gamification_equipment.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/057_gamification_catalog_cleanup.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/058_gamification_theme_preference.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/059_data_backup_retention.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/060_psyche_devrage_metrics.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/061_health_workout_raw_evidence.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/062_health_mobile_sync_sessions.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/063_psyche_flashcards.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/064_health_workout_time_series_identity.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/065_weight_loss_nutrition_insights.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/066_watch_action_receipts.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/067_weight_loss_daily_active_overrides.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/068_remove_generated_movement_wiki_logs.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/069_psyche_devrage_cumulative_rage.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/070_health_mobile_sync_completion_index.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/071_agent_runtime_claude_identity.sql +0 -0
- /package/dist/server/{server → apps/api}/src/data-management-types.js +0 -0
- /package/dist/server/{server → apps/api}/src/debug.js +0 -0
- /package/dist/server/{server → apps/api}/src/demo-data.js +0 -0
- /package/dist/server/{server → apps/api}/src/discovery-advertiser.js +0 -0
- /package/dist/server/{server → apps/api}/src/e2e-server.js +0 -0
- /package/dist/server/{server → apps/api}/src/errors.js +0 -0
- /package/dist/server/{server → apps/api}/src/health-workout-adapters.js +0 -0
- /package/dist/server/{server → apps/api}/src/health-workout-analytics.js +0 -0
- /package/dist/server/{server → apps/api}/src/health.js +0 -0
- /package/dist/server/{server → apps/api}/src/index.js +0 -0
- /package/dist/server/{server → apps/api}/src/managers/base.js +0 -0
- /package/dist/server/{server → apps/api}/src/managers/contracts.js +0 -0
- /package/dist/server/{server → apps/api}/src/managers/platform/api-gateway-manager.js +0 -0
- /package/dist/server/{server → apps/api}/src/managers/platform/audit-manager.js +0 -0
- /package/dist/server/{server → apps/api}/src/managers/platform/authentication-manager.js +0 -0
- /package/dist/server/{server → apps/api}/src/managers/platform/authorization-manager.js +0 -0
- /package/dist/server/{server → apps/api}/src/managers/platform/background-job-manager.js +0 -0
- /package/dist/server/{server → apps/api}/src/managers/platform/configuration-manager.js +0 -0
- /package/dist/server/{server → apps/api}/src/managers/platform/database-manager.js +0 -0
- /package/dist/server/{server → apps/api}/src/managers/platform/event-bus-manager.js +0 -0
- /package/dist/server/{server → apps/api}/src/managers/platform/external-service-manager.js +0 -0
- /package/dist/server/{server → apps/api}/src/managers/platform/health-manager.js +0 -0
- /package/dist/server/{server → apps/api}/src/managers/platform/llm-manager.js +0 -0
- /package/dist/server/{server → apps/api}/src/managers/platform/migration-manager.js +0 -0
- /package/dist/server/{server → apps/api}/src/managers/platform/mock-workbench-provider.js +0 -0
- /package/dist/server/{server → apps/api}/src/managers/platform/openai-responses-provider.js +0 -0
- /package/dist/server/{server → apps/api}/src/managers/platform/search-index-manager.js +0 -0
- /package/dist/server/{server → apps/api}/src/managers/platform/secrets-manager.js +0 -0
- /package/dist/server/{server → apps/api}/src/managers/platform/session-manager.js +0 -0
- /package/dist/server/{server → apps/api}/src/managers/platform/storage-manager.js +0 -0
- /package/dist/server/{server → apps/api}/src/managers/platform/token-manager.js +0 -0
- /package/dist/server/{server → apps/api}/src/managers/platform/transaction-manager.js +0 -0
- /package/dist/server/{server → apps/api}/src/managers/platform/trusted-network.js +0 -0
- /package/dist/server/{server → apps/api}/src/managers/runtime.js +0 -0
- /package/dist/server/{server → apps/api}/src/managers/type-guards.js +0 -0
- /package/dist/server/{server → apps/api}/src/movement.js +0 -0
- /package/dist/server/{server → apps/api}/src/preferences-seeds.js +0 -0
- /package/dist/server/{server → apps/api}/src/preferences-types.js +0 -0
- /package/dist/server/{server → apps/api}/src/psyche-types.js +0 -0
- /package/dist/server/{server → apps/api}/src/questionnaire-flow.js +0 -0
- /package/dist/server/{server → apps/api}/src/questionnaire-types.js +0 -0
- /package/dist/server/{server → apps/api}/src/repositories/activity-events.js +0 -0
- /package/dist/server/{server → apps/api}/src/repositories/agent-runtime-sessions.js +0 -0
- /package/dist/server/{server → apps/api}/src/repositories/ai-processors.js +0 -0
- /package/dist/server/{server → apps/api}/src/repositories/calendar.js +0 -0
- /package/dist/server/{server → apps/api}/src/repositories/collaboration.js +0 -0
- /package/dist/server/{server → apps/api}/src/repositories/deleted-entities.js +0 -0
- /package/dist/server/{server → apps/api}/src/repositories/diagnostic-logs.js +0 -0
- /package/dist/server/{server → apps/api}/src/repositories/domains.js +0 -0
- /package/dist/server/{server → apps/api}/src/repositories/entity-ownership.js +0 -0
- /package/dist/server/{server → apps/api}/src/repositories/event-log.js +0 -0
- /package/dist/server/{server → apps/api}/src/repositories/gamification.js +0 -0
- /package/dist/server/{server → apps/api}/src/repositories/goals.js +0 -0
- /package/dist/server/{server → apps/api}/src/repositories/model-settings.js +0 -0
- /package/dist/server/{server → apps/api}/src/repositories/notes.js +0 -0
- /package/dist/server/{server → apps/api}/src/repositories/preferences.js +0 -0
- /package/dist/server/{server → apps/api}/src/repositories/projects.js +0 -0
- /package/dist/server/{server → apps/api}/src/repositories/psyche.js +0 -0
- /package/dist/server/{server → apps/api}/src/repositories/questionnaires.js +0 -0
- /package/dist/server/{server → apps/api}/src/repositories/rewards.js +0 -0
- /package/dist/server/{server → apps/api}/src/repositories/settings.js +0 -0
- /package/dist/server/{server → apps/api}/src/repositories/strategies.js +0 -0
- /package/dist/server/{server → apps/api}/src/repositories/surface-layouts.js +0 -0
- /package/dist/server/{server → apps/api}/src/repositories/tags.js +0 -0
- /package/dist/server/{server → apps/api}/src/repositories/task-runs.js +0 -0
- /package/dist/server/{server → apps/api}/src/repositories/tasks.js +0 -0
- /package/dist/server/{server → apps/api}/src/repositories/users.js +0 -0
- /package/dist/server/{server → apps/api}/src/repositories/weekly-reviews.js +0 -0
- /package/dist/server/{server → apps/api}/src/repositories/wiki-memory.js +0 -0
- /package/dist/server/{server → apps/api}/src/repositories/work-adjustments.js +0 -0
- /package/dist/server/{server → apps/api}/src/runtime-data-root.js +0 -0
- /package/dist/server/{server → apps/api}/src/screen-time.js +0 -0
- /package/dist/server/{server → apps/api}/src/seed-demo.js +0 -0
- /package/dist/server/{server → apps/api}/src/services/calendar-runtime.js +0 -0
- /package/dist/server/{server → apps/api}/src/services/context.js +0 -0
- /package/dist/server/{server → apps/api}/src/services/dashboard.js +0 -0
- /package/dist/server/{server → apps/api}/src/services/data-management.js +0 -0
- /package/dist/server/{server → apps/api}/src/services/devrage-scanner.js +0 -0
- /package/dist/server/{server → apps/api}/src/services/devrage.js +0 -0
- /package/dist/server/{server → apps/api}/src/services/entity-crud.js +0 -0
- /package/dist/server/{server → apps/api}/src/services/git-helper.js +0 -0
- /package/dist/server/{server → apps/api}/src/services/google-calendar-oauth-config.js +0 -0
- /package/dist/server/{server → apps/api}/src/services/insights.js +0 -0
- /package/dist/server/{server → apps/api}/src/services/legacy-wiki-markdown-import.js +0 -0
- /package/dist/server/{server → apps/api}/src/services/life-force-model.js +0 -0
- /package/dist/server/{server → apps/api}/src/services/life-force.js +0 -0
- /package/dist/server/{server → apps/api}/src/services/macos-calendar-helper.js +0 -0
- /package/dist/server/{server → apps/api}/src/services/openai-codex-oauth.js +0 -0
- /package/dist/server/{server → apps/api}/src/services/projects.js +0 -0
- /package/dist/server/{server → apps/api}/src/services/psyche-observation-calendar.js +0 -0
- /package/dist/server/{server → apps/api}/src/services/psyche.js +0 -0
- /package/dist/server/{server → apps/api}/src/services/relations.js +0 -0
- /package/dist/server/{server → apps/api}/src/services/reviews.js +0 -0
- /package/dist/server/{server → apps/api}/src/services/run-recovery.js +0 -0
- /package/dist/server/{server → apps/api}/src/services/tagging.js +0 -0
- /package/dist/server/{server → apps/api}/src/services/task-run-watchdog.js +0 -0
- /package/dist/server/{server → apps/api}/src/services/work-time.js +0 -0
- /package/dist/server/{server → apps/api}/src/web.js +0 -0
- /package/dist/server/{src → apps/web/src}/components/customization/utility-widgets.js +0 -0
- /package/dist/server/{src → apps/web/src}/components/ui/info-tooltip.js +0 -0
- /package/dist/server/{src → apps/web/src}/components/workbench-boxes/calendar/calendar-boxes.js +0 -0
- /package/dist/server/{src → apps/web/src}/components/workbench-boxes/goals/goals-boxes.js +0 -0
- /package/dist/server/{src → apps/web/src}/components/workbench-boxes/habits/habits-boxes.js +0 -0
- /package/dist/server/{src → apps/web/src}/components/workbench-boxes/health/health-boxes.js +0 -0
- /package/dist/server/{src → apps/web/src}/components/workbench-boxes/insights/insights-boxes.js +0 -0
- /package/dist/server/{src → apps/web/src}/components/workbench-boxes/kanban/kanban-boxes.js +0 -0
- /package/dist/server/{src → apps/web/src}/components/workbench-boxes/movement/movement-boxes.js +0 -0
- /package/dist/server/{src → apps/web/src}/components/workbench-boxes/notes/notes-boxes.js +0 -0
- /package/dist/server/{src → apps/web/src}/components/workbench-boxes/overview/overview-boxes.js +0 -0
- /package/dist/server/{src → apps/web/src}/components/workbench-boxes/preferences/preferences-boxes.js +0 -0
- /package/dist/server/{src → apps/web/src}/components/workbench-boxes/projects/projects-boxes.js +0 -0
- /package/dist/server/{src → apps/web/src}/components/workbench-boxes/psyche/psyche-boxes.js +0 -0
- /package/dist/server/{src → apps/web/src}/components/workbench-boxes/questionnaires/questionnaires-boxes.js +0 -0
- /package/dist/server/{src → apps/web/src}/components/workbench-boxes/review/review-boxes.js +0 -0
- /package/dist/server/{src → apps/web/src}/components/workbench-boxes/shared/define-workbench-box.js +0 -0
- /package/dist/server/{src → apps/web/src}/components/workbench-boxes/shared/generic-node-view.js +0 -0
- /package/dist/server/{src → apps/web/src}/components/workbench-boxes/strategies/strategies-boxes.js +0 -0
- /package/dist/server/{src → apps/web/src}/components/workbench-boxes/tasks/tasks-boxes.js +0 -0
- /package/dist/server/{src → apps/web/src}/components/workbench-boxes/today/today-boxes.js +0 -0
- /package/dist/server/{src → apps/web/src}/components/workbench-boxes/wiki/wiki-boxes.js +0 -0
- /package/dist/server/{src → apps/web/src}/lib/api-error.js +0 -0
- /package/dist/server/{src → apps/web/src}/lib/api.js +0 -0
- /package/dist/server/{src → apps/web/src}/lib/calendar-name-deduper.js +0 -0
- /package/dist/server/{src → apps/web/src}/lib/data-management-types.js +0 -0
- /package/dist/server/{src → apps/web/src}/lib/date-keys.js +0 -0
- /package/dist/server/{src → apps/web/src}/lib/diagnostics.js +0 -0
- /package/dist/server/{src → apps/web/src}/lib/entity-visuals.js +0 -0
- /package/dist/server/{src → apps/web/src}/lib/gamification-catalog.js +0 -0
- /package/dist/server/{src → apps/web/src}/lib/knowledge-graph-types.js +0 -0
- /package/dist/server/{src → apps/web/src}/lib/knowledge-graph.js +0 -0
- /package/dist/server/{src → apps/web/src}/lib/psyche-schemas.js +0 -0
- /package/dist/server/{src → apps/web/src}/lib/psyche-types.js +0 -0
- /package/dist/server/{src → apps/web/src}/lib/questionnaire-types.js +0 -0
- /package/dist/server/{src → apps/web/src}/lib/runtime-paths.js +0 -0
- /package/dist/server/{src → apps/web/src}/lib/schemas.js +0 -0
- /package/dist/server/{src → apps/web/src}/lib/snapshot-normalizer.js +0 -0
- /package/dist/server/{src → apps/web/src}/lib/theme-system.js +0 -0
- /package/dist/server/{src → apps/web/src}/lib/types.js +0 -0
- /package/dist/server/{src → apps/web/src}/lib/utils.js +0 -0
- /package/dist/server/{src → apps/web/src}/lib/weight-loss-energy-model.js +0 -0
- /package/dist/server/{src → apps/web/src}/lib/weight-loss-types.js +0 -0
- /package/dist/server/{src → apps/web/src}/lib/workbench/boxes.js +0 -0
- /package/dist/server/{src → apps/web/src}/lib/workbench/contracts.js +0 -0
- /package/dist/server/{src → apps/web/src}/lib/workbench/nodes.js +0 -0
- /package/dist/server/{src → apps/web/src}/lib/workbench/registry.js +0 -0
- /package/dist/server/{src → apps/web/src}/lib/workbench/runtime.js +0 -0
- /package/dist/server/{src → apps/web/src}/lib/workbench/tool-catalog.js +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: forge-openclaw-plugin
|
|
3
|
-
description: use when the user wants to save, search, update, review, start, stop, reward, explain, compare, or run Forge records, or when the conversation is clearly about a Forge entity or domain surface such as a goal, project, strategy, task, habit, note, wiki_page, calendar_event, calendar_connection, work_block_template, task_timebox, task_run, work_adjustment, insight, preference item, preference context, preference catalog, preference judgment, preference signal, questionnaire instrument, questionnaire run, self observation, movement, life_force, workbench, psyche_value, behavior_pattern, behavior, belief_entry, mode_profile, mode_guide_session, flashcard, trigger_report, event_type, emotion_definition, sleep_session,
|
|
3
|
+
description: use when the user wants to save, search, update, review, start, stop, reward, explain, compare, or run Forge records, or when the conversation is clearly about a Forge entity or domain surface such as a goal, project, strategy, task, habit, note, wiki_page, calendar_event, calendar_connection, work_block_template, task_timebox, task_run, work_adjustment, insight, preference item, preference context, preference catalog, preference judgment, preference signal, questionnaire instrument, questionnaire run, self observation, operator_overview, operator_context, calendar_overview, sleep_overview, sports_overview, training_load, weight_loss, movement, life_force, workbench, psyche_value, behavior_pattern, behavior, belief_entry, mode_profile, mode_guide_session, flashcard, trigger_report, event_type, emotion_definition, sleep_session, or workout_session. identify the exact Forge object or specialized surface, keep the main conversation natural, guide psyche intake with active listening before storing it, and for psyche issues that need understanding first usually begin with one exploratory question before any formulation or save suggestion.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
Forge is the user's structured system for planning work, doing work, reflecting on patterns, and keeping a truthful record of what is happening. Use it when the user is clearly working inside that system, or when they are describing something that naturally belongs there and would benefit from being stored, updated, reviewed, or acted on in Forge. Keep the conversation natural first. Do not turn every message into intake. When a real Forge entity is clearly present, name the exact entity type plainly, help with the substance of the conversation, and then offer Forge once, lightly, if storing it would genuinely help.
|
|
@@ -59,7 +59,7 @@ PM surface rule:
|
|
|
59
59
|
human/bot ownership filters.
|
|
60
60
|
- Guided modal flows handle create, edit, move, link, and closeout actions.
|
|
61
61
|
|
|
62
|
-
Forge has four major stored-entity surfaces and three specialized domain surfaces. The planning side covers goals, projects, strategies, tasks, habits, notes, calendar events, recurring work blocks, task timeboxes, live work sessions, and agent-authored insights. The Health side covers sleep sessions, sports and workout sessions, the read-only training-load surface for cardiovascular load and HR zone review, companion pairing, and habit-generated workout records that should still stay linked to the broader Forge graph. The Preferences side covers contextual taste modeling, pairwise comparisons, direct signals, editable concept libraries, and preference items that can come from Forge entities or seeded concept domains such as food, activities, places, countries, fashion, people, media, and tools. The Psyche side covers values, patterns, behaviors, beliefs, modes, guided mode sessions, flashcards, trigger reports, event types,
|
|
62
|
+
Forge has four major stored-entity surfaces, read-model surfaces, and three specialized domain surfaces. The planning side covers goals, projects, strategies, tasks, habits, notes, calendar events, recurring work blocks, task timeboxes, live work sessions, and agent-authored insights. The Health side covers sleep sessions, sports and workout sessions, the read-only training-load surface for cardiovascular load and HR zone review, the weight-loss and nutrition workflow, companion pairing, and habit-generated workout records that should still stay linked to the broader Forge graph. The Preferences side covers contextual taste modeling, pairwise comparisons, direct signals, editable concept libraries, and preference items that can come from Forge entities or seeded concept domains such as food, activities, places, countries, fashion, people, media, and tools. The Psyche side covers values, patterns, behaviors, beliefs, modes, guided mode sessions, flashcards, trigger reports, event types, reusable emotion definitions, questionnaire instruments, questionnaire runs, and the note-backed self-observation calendar. Read-model surfaces include `operator_overview`, `operator_context`, `calendar_overview`, `sleep_overview`, `sports_overview`, `training_load`, `weight_loss`, and the self-observation calendar; ask what practical decision the read should support before adding write-shaped questions. The specialized domain surfaces are Movement, Life Force, and Workbench; agents must use their dedicated route families instead of forcing them through batch CRUD. Forge also has a SQLite-backed Wiki memory layer with explicit spaces, Markdown content in database rows, backlinks, optional embeddings, and structured links back to Forge entities. Forge is also multi-user: every entity can belong to a typed `human` or `bot` user through `userId`, and read routes can scope to one or many users with `userId` or repeated `userIds`. The current access posture is configurable through a directional user graph, but the live default is still permissive: Forge can list users directly, every relationship edge starts open, and a user can read or affect another user's linked records when the route explicitly asks for them. Use `forge_get_user_directory` when owner identity or cross-user access matters. Strategies can also be locked into a contract with `isLocked`; once locked, do not mutate the graph or target structure unless the user explicitly wants the strategy unlocked first. The model should use the real entity names, not vague substitutes. Say `project`, not “initiative”. Say `behavior_pattern`, not “theme”. Say `trigger_report`, not “incident note”.
|
|
63
63
|
Habits are a first-class recurring entity in the planning side.
|
|
64
64
|
NEGATIVE HABIT CHECK-IN RULE: for a `negative` habit, the correct aligned/resisted outcome is `missed`. `missed` means the bad habit was resisted, the user stayed aligned, and the habit should award its XP bonus.
|
|
65
65
|
|
|
@@ -103,12 +103,25 @@ any route-key or endpoint detail.
|
|
|
103
103
|
route-key-to-`METHOD /api/v1/...` source of truth when checking specialized
|
|
104
104
|
methods, especially POST aggregate reads such as Movement `selection` and DELETE
|
|
105
105
|
repair paths. When a route key's exact path contains placeholders such as `:id`,
|
|
106
|
-
`:weekday`, `:runId`, or `:
|
|
107
|
-
placeholder names exactly. Do not place IDs inside
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
guess a nearby
|
|
106
|
+
`:weekday`, `:slug`, `:runId`, `:nodeId`, or `:pointId`, pass those values in
|
|
107
|
+
`pathParams` using the placeholder names exactly. Do not place IDs inside
|
|
108
|
+
`routeKey`, `query`, or `body`, invent a raw route string, or ask the user to
|
|
109
|
+
choose an endpoint when the lane already selects one. If that schema and live
|
|
110
|
+
onboarding disagree, trust the live onboarding for the current call and treat the
|
|
111
|
+
disagreement as a Forge contract bug to fix, not as a reason to guess a nearby
|
|
112
|
+
route.
|
|
113
|
+
- If a specialized route-key tool is unavailable, stale, or missing the needed route
|
|
114
|
+
key, do not fall back to generic batch CRUD and do not invent a nearby raw path. Read
|
|
115
|
+
live onboarding, use the exact `methodRoutes` entry for the selected Movement, Life
|
|
116
|
+
Force, or Workbench lane, and cross-check OpenAPI only to confirm the same method
|
|
117
|
+
and path.
|
|
118
|
+
- Before every Movement, Life Force, or Workbench call, run a route-contract
|
|
119
|
+
handshake internally: select the product lane in plain language, verify the matching
|
|
120
|
+
`routeKey` against live onboarding `routeKeys` and `methodRoutes`, fill any
|
|
121
|
+
placeholders through `pathParams`, and ask the user only for the missing product
|
|
122
|
+
noun that fills the placeholder. If the contract is missing a lane the product
|
|
123
|
+
clearly supports, report a contract bug instead of silently using generic batch
|
|
124
|
+
CRUD or a nearby route.
|
|
112
125
|
|
|
113
126
|
Concrete route-key examples for internal use:
|
|
114
127
|
|
|
@@ -239,12 +252,12 @@ Health rule:
|
|
|
239
252
|
`forge_parse_food_log_with_chatgpt` must use Forge's configured `openai-codex`
|
|
240
253
|
ChatGPT subscription connection, not a metered OpenAI Platform API path.
|
|
241
254
|
- In `forge_get_agent_onboarding.entityRouteModel.readModelOnlySurfaces`, operator,
|
|
242
|
-
calendar, self-observation, sleep, sports,
|
|
255
|
+
calendar, self-observation, sleep, sports, training-load, and weight-loss read models are published with
|
|
243
256
|
both camelCase names and entity-style aliases where useful, including
|
|
244
257
|
`operatorOverview`, `operatorContext`, `calendarOverview`, `sleepOverview`,
|
|
245
|
-
`sportsOverview`, `trainingLoad`, `operator_overview`, `operator_context`,
|
|
258
|
+
`sportsOverview`, `trainingLoad`, `weightLoss`, `operator_overview`, `operator_context`,
|
|
246
259
|
`calendar_overview`, `self_observation`, `sleep_overview`,
|
|
247
|
-
`sports_overview`, and `
|
|
260
|
+
`sports_overview`, `training_load`, and `weight_loss`. Treat those as read-only surfaces,
|
|
248
261
|
not batch CRUD entities.
|
|
249
262
|
- Use `forge_get_operator_overview` for a broad Forge status read, `forge_get_operator_context`
|
|
250
263
|
for current work and risk, and `forge_get_calendar_overview` before calendar-aware
|
|
@@ -258,12 +271,24 @@ Write to Forge only with clear user consent. If the user is just thinking aloud,
|
|
|
258
271
|
Entity conversation rule:
|
|
259
272
|
|
|
260
273
|
- For all entity creation or update flows, first use [`entity_conversation_playbooks.md`](./entity_conversation_playbooks.md) to decide the next best question.
|
|
274
|
+
- Calibrate depth before deepening: choose quick capture, guided formulation,
|
|
275
|
+
review-first, or action-first. For quick capture, use the user's supplied wording,
|
|
276
|
+
ask only the one structural, accuracy, or consent detail that changes the write, and
|
|
277
|
+
do not force full exploration. For guided formulation, use active listening and
|
|
278
|
+
Psyche hypotheses when the user is trying to understand or name charged material.
|
|
279
|
+
For review-first, read before write-shaped questions. For action-first, act or ask
|
|
280
|
+
only for the missing target, span, weekday, flow, run, node, correction, or consent.
|
|
261
281
|
- Ask only for what is missing or unclear. Do not walk through every schema field.
|
|
262
282
|
- Before asking another question, run the playbook's minimum save-readiness
|
|
263
283
|
checkpoint: if accepted wording, meaningful body, route lane, target object or
|
|
264
284
|
time scope, and any ownership/placement that changes later use are already clear,
|
|
265
285
|
summarize once and write, read, run, or update instead of collecting optional
|
|
266
286
|
fields.
|
|
287
|
+
- Run the no-question gate before every follow-up: ask only if the answer can change
|
|
288
|
+
record type, accepted wording, hierarchy placement, owner/accountability, timing,
|
|
289
|
+
route lane, target object, correction, link, verification read, run/publish/preserve
|
|
290
|
+
action, or consent. If the question would only add warmth, completeness, optional
|
|
291
|
+
metadata, or form polish, skip it, summarize what is clear, and act or close.
|
|
267
292
|
- Treat partial answers as progress. Before another follow-up, identify what is
|
|
268
293
|
already usable: operation, entity or surface, target record or time span, working
|
|
269
294
|
wording, owner or placement, route lane, and consent. Ask only for the first missing
|
|
@@ -276,8 +301,14 @@ Entity conversation rule:
|
|
|
276
301
|
most directly supported by what was learned and ask only for the missing detail
|
|
277
302
|
that would permit that action. Do not hand the user a broad menu after the read has
|
|
278
303
|
already narrowed the work.
|
|
304
|
+
- Make the read's decision value explicit before any follow-up: what the read rules
|
|
305
|
+
in, what it rules out, and what one uncertainty remains. If no answer-changing
|
|
306
|
+
uncertainty remains, close cleanly instead of asking another question.
|
|
279
307
|
- Let each question have one job. Know what you are trying to clarify before you ask it.
|
|
280
|
-
- Before you ask, decide the exact missing thing you need and how that answer will
|
|
308
|
+
- Before you ask, decide the exact missing thing you need and how that answer will
|
|
309
|
+
help you save, update, review, link, schedule, correct, run, publish, preserve,
|
|
310
|
+
enrich, open the UI, or stop. If you cannot name what the user's answer would
|
|
311
|
+
change, summarize and act instead of asking.
|
|
281
312
|
- Prefer a progression of:
|
|
282
313
|
concrete example or intent -> working name -> purpose or meaning -> placement in Forge -> operational details -> linked context.
|
|
283
314
|
- Use those same playbooks for action-heavy non-Psyche flows such as `work_adjustment`, `preference_judgment`, `preference_signal`, and specialized `movement`, `life_force`, or `workbench` requests so the conversation starts from what the user is trying to understand, change, add, update, link, or run before you choose the route.
|
|
@@ -292,6 +323,14 @@ Entity conversation rule:
|
|
|
292
323
|
- When the operation is not already explicit, identify the job first:
|
|
293
324
|
add, update, review, compare, navigate, link, or run. Skip that meta question
|
|
294
325
|
when the action is already obvious from the user's wording.
|
|
326
|
+
- Keep the operation lane explicit across every entity family. Normal stored entities
|
|
327
|
+
can be added, updated, reviewed/navigated, linked, or placed; action workflows use
|
|
328
|
+
verbs such as start, continue, complete, adjust, judge, signal, publish, sync, or
|
|
329
|
+
observe; specialized CRUD uses lifecycle verbs; read models need a practical read
|
|
330
|
+
question and scope; Movement, Life Force, and Workbench use review, correct,
|
|
331
|
+
repair, run, inspect, publish, or preserve lanes through their dedicated route keys;
|
|
332
|
+
and Psyche entities need formulation before storage when the user wants
|
|
333
|
+
understanding rather than direct save.
|
|
295
334
|
- For emotionally meaningful non-Psyche records such as goals, habits, and notes, reflect the meaning before you ask for structure.
|
|
296
335
|
- When the user is vague, ask for one small concrete example, stake, or desired outcome before you ask them to name the record.
|
|
297
336
|
- When the user is clear, say what the record seems to be becoming and ask only for the last missing detail.
|
|
@@ -347,6 +386,10 @@ Psyche interview rule:
|
|
|
347
386
|
- Do not minimize functional analysis, trigger chains, behavior patterns, modes, beliefs, or schema themes. Once at least one concrete example is clear, offer one careful interpretive hypothesis when it would help the user understand the function, protection, cost, belief, mode, or schema theme.
|
|
348
387
|
- Phrase interpretive hypotheses as collaborative and testable, not as verdicts. A good hypothesis says what the reaction may be protecting, predicting, relieving, or costing, then asks whether that lands or needs correction.
|
|
349
388
|
- For Psyche hypotheses, reduce the formulation burden. After one concrete example, offer one tentative function, danger, protection, payoff, or cost hypothesis and ask one fit-or-correction question. Do not make the user prove the experience, list evidence, or design repair before the wording feels held.
|
|
389
|
+
- Use the Psyche hypothesis examples when one concrete episode, belief sentence,
|
|
390
|
+
behavior, or mode voice is visible and another broad question would make the user do
|
|
391
|
+
all the interpretation alone. Offer one testable formulation, ask one correction
|
|
392
|
+
question, and then bridge to the saveable record if it lands.
|
|
350
393
|
- Do not keep asking broad exploratory Psyche questions after the cue, meaning, protection, payoff, or cost is already visible. For `behavior_pattern`, `belief_entry`, `mode_profile`, `mode_guide_session`, and `trigger_report`, the next helpful move is usually one active formulation plus one correction question, not another passive reflection.
|
|
351
394
|
- Do not leave the user with interpretation alone. Once the hypothesis lands or is
|
|
352
395
|
corrected, name the primary Forge record it becomes and ask one accuracy or consent
|
|
@@ -374,6 +417,9 @@ Psyche interview rule:
|
|
|
374
417
|
trigger episode, value phrase, event kind, emotion signature, or flashcard message,
|
|
375
418
|
treat it as real data and ask one accuracy or consent question instead of reopening
|
|
376
419
|
origin, evidence, or repair.
|
|
420
|
+
- For direct Psyche saves, do not reopen origin, evidence, or repair when the user
|
|
421
|
+
already supplied usable wording and asked to save it. Reflect the wording, ask one
|
|
422
|
+
accuracy or consent question, and save when accepted.
|
|
377
423
|
- When the conversation reveals an adjacent entity such as a linked belief, mode, value, pattern, or note, name that gently and ask whether the user wants to map it too.
|
|
378
424
|
- If nuance matters, preserve it in a linked Markdown `note` instead of forcing every detail into normalized fields.
|
|
379
425
|
- If the user shows imminent risk of self-harm, suicide, violence, inability to stay safe, or severe disorientation, stop normal intake and prioritize urgent human support or emergency help instead.
|
|
@@ -438,7 +484,7 @@ Use these exact entity meanings when deciding what the user is describing.
|
|
|
438
484
|
|
|
439
485
|
`flashcard` is a small therapeutic reminder card. Use it when the user wants a sentence or short message that can be shown back during an urge, trigger, mode activation, belief activation, or values-based pivot. The message is the main content; title is optional and compact. Tags, trigger sentence, trigger situation, and Psyche links matter most for retrieval. Styling fields such as colors, typography, layout, visual tone, and image make the card easier to recognize but should come after the therapeutic sentence is clear.
|
|
440
486
|
|
|
441
|
-
When a user says something like "I feel the urge to drink" or "help me not do this", search existing `flashcard` records first with `forge_search_entities` using `entityTypes: ["flashcard"]` and the user's urge, trigger words, tags, and situation language. If a matching card exists, show the flashcard message first, then add brief psychotherapy-informed support around it: grounding, urge surfing, cognitive defusion, schema/mode-aware reflection, or a values pivot.
|
|
487
|
+
When a user says something like "I feel the urge to drink" or "help me not do this", search existing `flashcard` records first with `forge_search_entities` using `entityTypes: ["flashcard"]` and the user's urge, trigger words, tags, and situation language. If a matching card exists, show the flashcard message first, then add brief psychotherapy-informed support around it: grounding, urge surfing, cognitive defusion, schema/mode-aware reflection, or a values pivot. If no card fits and the user wants one, create only after the cue or urge sentence and the short message are clear; postpone visual style, colors, tags, and optional links until the intervention sentence works.
|
|
442
488
|
|
|
443
489
|
`trigger_report` is one specific emotionally meaningful episode described as what happened, what was felt, what was thought, what was done, what happened next, and what would help next time.
|
|
444
490
|
|
|
@@ -110,6 +110,29 @@ Forge correctly, and gather only the structure that still matters.
|
|
|
110
110
|
- When the record is already clear enough to save, save it instead of performing a
|
|
111
111
|
ceremonial extra question.
|
|
112
112
|
|
|
113
|
+
## Depth calibration
|
|
114
|
+
|
|
115
|
+
Use this before choosing how much to ask. The goal is to match the user's actual job,
|
|
116
|
+
not to make every entity feel equally deep.
|
|
117
|
+
|
|
118
|
+
- Quick capture: the user already gave usable wording and says "save this", "remember
|
|
119
|
+
this", "log this", or otherwise makes storage the job. Reflect the working shape
|
|
120
|
+
once, ask only the one structural, accuracy, or consent detail that changes the
|
|
121
|
+
write, and do not force a full exploration.
|
|
122
|
+
- Guided formulation: the user wants to understand, name, map, decide, or work
|
|
123
|
+
through unclear or charged material. Use active listening, one lane at a time, and
|
|
124
|
+
Psyche hypotheses when appropriate before saving.
|
|
125
|
+
- Review-first: the user wants to inspect, compare, navigate, or understand something
|
|
126
|
+
already in Forge. Read the relevant stored entity, overview, or specialized surface
|
|
127
|
+
before asking write-shaped questions.
|
|
128
|
+
- Action-first: the target task run, work adjustment, preference judgment or signal,
|
|
129
|
+
questionnaire run, Movement correction, Life Force signal/template, or Workbench
|
|
130
|
+
run/output is already clear. Act, or ask only for the missing target, span, weekday,
|
|
131
|
+
flow, run, node, correction, or consent.
|
|
132
|
+
- Do not downgrade psychologically meaningful material into quick capture when the
|
|
133
|
+
user is asking to understand it. Do not expand a simple storage request into therapy
|
|
134
|
+
or project planning when a concise save is enough.
|
|
135
|
+
|
|
113
136
|
## Plain-language rule
|
|
114
137
|
|
|
115
138
|
Keep API and architecture nouns inside your own reasoning. Do not ask the user about
|
|
@@ -160,6 +183,50 @@ choice is an internal classification step, not a user-facing menu.
|
|
|
160
183
|
- Once the lane is selected, use the exact route key internally and do not invent a
|
|
161
184
|
friendlier path.
|
|
162
185
|
|
|
186
|
+
## Dedicated surface route fallback
|
|
187
|
+
|
|
188
|
+
Use this when the adapter tool surface is missing, stale, or narrower than live Forge
|
|
189
|
+
onboarding.
|
|
190
|
+
|
|
191
|
+
- First prefer the route-key tools when they exist:
|
|
192
|
+
`forge_call_movement_route`, `forge_call_life_force_route`, or
|
|
193
|
+
`forge_call_workbench_route`.
|
|
194
|
+
- If a route-key tool is unavailable, stale, or lacks the needed route key, read live
|
|
195
|
+
onboarding and use the exact `methodRoutes` entry for the selected lane. Cross-check
|
|
196
|
+
OpenAPI only to confirm the same method and path.
|
|
197
|
+
- Do not fall back to generic batch CRUD for Movement, Life Force, or Workbench just
|
|
198
|
+
because a route-key tool is missing. They remain specialized domain surfaces.
|
|
199
|
+
- Do not invent a nearby raw path, put IDs into the route key, or ask the user to pick
|
|
200
|
+
an endpoint. Ask only for the missing product identifier or span that fills the
|
|
201
|
+
published path.
|
|
202
|
+
- Before calling a specialized route, check the selected `methodRoutes` entry for
|
|
203
|
+
placeholders such as `:id`, `:weekday`, `:slug`, `:runId`, `:nodeId`, or
|
|
204
|
+
`:pointId`. Every placeholder must be filled through `pathParams` with the same
|
|
205
|
+
name before the call; never hide one inside `query`, `body`, or `routeKey`.
|
|
206
|
+
- If a required placeholder is missing, ask for the product noun that fills it: the
|
|
207
|
+
saved place, movement box, trip, weekday, flow, slug, run, node, or trip point.
|
|
208
|
+
- If tool schema, live onboarding, and OpenAPI disagree, trust live onboarding for the
|
|
209
|
+
immediate call when it names the exact route, then treat the disagreement as a Forge
|
|
210
|
+
contract bug to fix.
|
|
211
|
+
|
|
212
|
+
## Specialized route-contract handshake
|
|
213
|
+
|
|
214
|
+
Use this before every Movement, Life Force, or Workbench call so the route path is
|
|
215
|
+
truthful without turning the user's turn into implementation talk.
|
|
216
|
+
|
|
217
|
+
- Select the product lane first in plain language: movement span or repair, energy
|
|
218
|
+
assumption or signal, saved flow/run/node/output, or published artifact.
|
|
219
|
+
- Then verify the matching `routeKey` against live onboarding `routeKeys` and
|
|
220
|
+
`methodRoutes`. The route key and method/path must come from that contract, not from
|
|
221
|
+
memory or a guessed URL.
|
|
222
|
+
- If `methodRoutes` contains placeholders, fill every placeholder through
|
|
223
|
+
`pathParams` with the exact placeholder name before the call. Ask the user only for
|
|
224
|
+
the missing product noun that fills the placeholder.
|
|
225
|
+
- Cross-check OpenAPI when you are debugging or when a route-key tool looks stale; do
|
|
226
|
+
not make the user choose between endpoint names.
|
|
227
|
+
- If the contract is missing a lane the product clearly supports, stop and report a
|
|
228
|
+
contract bug instead of silently using generic batch CRUD or a nearby route.
|
|
229
|
+
|
|
163
230
|
## Dedicated surface verification loop
|
|
164
231
|
|
|
165
232
|
Use this after a Movement, Life Force, or Workbench mutation or result-producing run.
|
|
@@ -226,6 +293,9 @@ worked.
|
|
|
226
293
|
answers the user's practical question and ask only for the missing detail that would
|
|
227
294
|
permit that action. Do not hand the user a broad menu after you just learned enough
|
|
228
295
|
to narrow the next move.
|
|
296
|
+
- Make the read's decision value explicit before any follow-up: what the read rules
|
|
297
|
+
in, what it rules out, and what one uncertainty remains. If there is no
|
|
298
|
+
answer-changing uncertainty, do not ask another question.
|
|
229
299
|
- For Movement, Life Force, Workbench, calendar, health, and operator overviews,
|
|
230
300
|
keep the follow-up anchored to the read result: the span that is missing, the
|
|
231
301
|
weekday curve that needs correction, the failed run or node, the overloaded day, or
|
|
@@ -483,6 +553,33 @@ Use this before you choose an API path or ask for more structure.
|
|
|
483
553
|
- For Movement, Life Force, and Workbench, use the lane
|
|
484
554
|
to choose the dedicated route family before you ask for lower-level details.
|
|
485
555
|
|
|
556
|
+
## Operation coverage checkpoint
|
|
557
|
+
|
|
558
|
+
Use this as a live handling and simulation check so every entity family is exercised
|
|
559
|
+
as real work, not only as a create form.
|
|
560
|
+
|
|
561
|
+
- Normal stored entities need four possible lanes in the agent's head: add a new
|
|
562
|
+
record, update an existing record, review or navigate existing records, and link or
|
|
563
|
+
place the record in Forge. Ask the lane only when the user's verb does not already
|
|
564
|
+
choose it.
|
|
565
|
+
- Action workflows need action verbs instead of CRUD verbs: start, continue, complete,
|
|
566
|
+
adjust, judge, signal, publish, sync, or observe. Once the action verb is clear,
|
|
567
|
+
ask only for the missing target, answer, comparison, minutes, or consent.
|
|
568
|
+
- Specialized CRUD surfaces need lifecycle verbs: create, read, update, sync,
|
|
569
|
+
reconnect, delete, or browse. For wiki pages, ask about the durable page or evidence
|
|
570
|
+
source; for calendar connections, ask about the provider workflow and lifecycle
|
|
571
|
+
action.
|
|
572
|
+
- Read-model surfaces need a practical read question plus scope. Do not ask
|
|
573
|
+
write-shaped questions until the read creates a concrete follow-up.
|
|
574
|
+
- Movement, Life Force, and Workbench need their dedicated operation lanes: review,
|
|
575
|
+
correct, repair, run, inspect, publish, or preserve. After the lane is clear, use
|
|
576
|
+
the exact dedicated route key internally and ask only for the span, place, weekday,
|
|
577
|
+
flow, run, node, output, correction, or preservation choice that is still missing.
|
|
578
|
+
- Psyche entities need a formulation lane before the storage lane when the user wants
|
|
579
|
+
understanding. Direct saves can move to one accuracy or consent question; guided
|
|
580
|
+
formulation should stay with one lived example, one hypothesis when useful, and one
|
|
581
|
+
corrected saveable shape.
|
|
582
|
+
|
|
486
583
|
## Route posture checkpoint
|
|
487
584
|
|
|
488
585
|
Use this quick split before the conversation gets too detailed.
|
|
@@ -666,9 +763,12 @@ of those things, stop asking, summarize the working record, and act with consent
|
|
|
666
763
|
|
|
667
764
|
Do not drift into vague reflection or internal route language. Replace "that sounds
|
|
668
765
|
important" with the specific stake you heard, and replace API words such as surface,
|
|
669
|
-
CRUD, payload, mutation path, or endpoint with product nouns
|
|
670
|
-
belief, pattern, note, wiki page, timeline, overlay,
|
|
671
|
-
node result, or published output.
|
|
766
|
+
CRUD, payload, mutation path, route key, batch route, or endpoint with product nouns
|
|
767
|
+
the user recognizes: belief, pattern, note, wiki page, timeline, overlay, missing
|
|
768
|
+
stay, weekday template, flow, run, node result, or published output. If you cannot
|
|
769
|
+
name the product noun yet, ask one grounding question about the real span, place,
|
|
770
|
+
weekday, flow, run, node, belief sentence, parent record, or save confirmation
|
|
771
|
+
instead of adding reflective filler.
|
|
672
772
|
|
|
673
773
|
## Steering moves
|
|
674
774
|
|
|
@@ -754,8 +854,10 @@ Use this quick internal check before every follow-up question.
|
|
|
754
854
|
operational detail?
|
|
755
855
|
3. Does it affect the API posture: batch CRUD, specialized CRUD, action workflow, or
|
|
756
856
|
specialized domain route?
|
|
757
|
-
4. What
|
|
758
|
-
|
|
857
|
+
4. What concrete action would a possible answer enable: save, update, review, link,
|
|
858
|
+
schedule, correct, run, publish, preserve, or stop?
|
|
859
|
+
5. What is the smallest question that would answer that unknown?
|
|
860
|
+
6. If the user already gave enough to act, stop asking and move to a short summary or
|
|
759
861
|
the write.
|
|
760
862
|
|
|
761
863
|
Useful calibration heuristics:
|
|
@@ -772,6 +874,38 @@ Useful calibration heuristics:
|
|
|
772
874
|
skip it.
|
|
773
875
|
- If the next question would not change the API path, write shape, wording, timing, or
|
|
774
876
|
useful links, skip it.
|
|
877
|
+
- If you cannot say what the user's answer would change, do not ask the question.
|
|
878
|
+
Summarize what is already clear, take the read/write/run action, or close cleanly.
|
|
879
|
+
- For review-first work, the follow-up must point to one action enabled by the read:
|
|
880
|
+
no change, save, update, correct, link, schedule, run, publish, preserve, enrich, or
|
|
881
|
+
open the UI. Do not ask a generic "what do you want to do with this?" after the read
|
|
882
|
+
already narrowed the practical next move.
|
|
883
|
+
- For Movement, Life Force, and Workbench, the same rule applies through the product
|
|
884
|
+
object: missing span, place boundary, weekday curve, profile assumption, flow, run,
|
|
885
|
+
node, output, or preservation choice.
|
|
886
|
+
|
|
887
|
+
## No-question gate
|
|
888
|
+
|
|
889
|
+
Use this before every follow-up, especially after partial answers, reads, writes,
|
|
890
|
+
repairs, and Psyche-adjacent material. A polished extra question is still a bad
|
|
891
|
+
question when it cannot change the next action.
|
|
892
|
+
|
|
893
|
+
- Ask only if the answer can change one of these: record type, accepted wording,
|
|
894
|
+
hierarchy placement, owner/accountability, timing, route lane, target object,
|
|
895
|
+
correction, link, verification read, run/publish/preserve action, or consent.
|
|
896
|
+
- Do not ask for optional tags, colors, priority, assignees, dates, aliases, visual
|
|
897
|
+
style, or related links when the user already gave enough to save, read, run,
|
|
898
|
+
correct, or close.
|
|
899
|
+
- If the next question would only make the conversation feel warmer, more complete, or
|
|
900
|
+
more like a form, skip it. Summarize what is clear and act, or close cleanly.
|
|
901
|
+
- For review-first work, answer the practical question first. Ask another question
|
|
902
|
+
only when the read exposes an answer-changing uncertainty or a concrete action the
|
|
903
|
+
user has not yet authorized.
|
|
904
|
+
- For specialized domains, do not ask a reflective "why" after the route lane and
|
|
905
|
+
target are already known; ask only for the span, place, weekday, flow, run, node,
|
|
906
|
+
output, correction, or preservation choice that permits the action.
|
|
907
|
+
- For Psyche-adjacent work, do not keep exploring once the user has accepted a
|
|
908
|
+
formulation. Ask one accuracy or consent question, then save or stop.
|
|
775
909
|
|
|
776
910
|
## Abstract And Reusable Record Moves
|
|
777
911
|
|
|
@@ -2009,6 +2143,10 @@ Direct action rules:
|
|
|
2009
2143
|
- Treat day, month, all-time, timeline, trip detail, and selection as internal read
|
|
2010
2144
|
lanes. With the user, ask for the useful time window, place, selected span, stay, or
|
|
2011
2145
|
trip instead of listing route choices.
|
|
2146
|
+
- For route keys with placeholders, identify the product object before calling:
|
|
2147
|
+
`boxDetail`, `tripDetail`, `placeUpdate`, `userBoxUpdate`, `userBoxDelete`,
|
|
2148
|
+
`automaticBoxInvalidate`, `stayUpdate`, `stayDelete`, `tripUpdate`, `tripDelete`,
|
|
2149
|
+
`tripPointUpdate`, and `tripPointDelete` all need exact saved IDs in `pathParams`.
|
|
2012
2150
|
- Treat settings as a separate movement lane for passive capture, publish mode, and
|
|
2013
2151
|
retention behavior. Ask what operating behavior should change instead of routing it
|
|
2014
2152
|
through a place, stay, or trip edit.
|
|
@@ -2157,6 +2295,8 @@ Direct action rules:
|
|
|
2157
2295
|
`GET /api/v1/life-force`. Do not invent `/api/v1/life-force/overview`.
|
|
2158
2296
|
- If the user is describing a durable baseline such as work capacity, recovery style,
|
|
2159
2297
|
or action-point assumptions, patch the profile instead of logging a fatigue signal.
|
|
2298
|
+
- For the weekday-template route, fill `pathParams.weekday` from the real weekday name
|
|
2299
|
+
or number before sending the update; do not bury the weekday only in the body.
|
|
2160
2300
|
- If the user is describing a repeatable weekday rhythm, update that weekday template
|
|
2161
2301
|
instead of treating it as a one-off right-now feeling.
|
|
2162
2302
|
- If the user is describing how one weekday should usually feel, update that weekday
|
|
@@ -2261,6 +2401,11 @@ Direct action rules:
|
|
|
2261
2401
|
|
|
2262
2402
|
- If the user needs the stable public contract of a flow, prefer the flow detail or
|
|
2263
2403
|
published-output routes before a run-history read.
|
|
2404
|
+
- For Workbench route keys with placeholders, identify the saved flow, slug, run, and
|
|
2405
|
+
node explicitly before calling. `flowDetail`, `flowById`, `flowBySlug`,
|
|
2406
|
+
`publishedOutput`, `runHistory`, `runs`, `runDetail`, `runNodes`, `nodeResult`,
|
|
2407
|
+
`latestNodeOutput`, `updateFlow`, `deleteFlow`, `runFlow`, and `chatFlow` all
|
|
2408
|
+
depend on exact `pathParams`.
|
|
2264
2409
|
- Treat saved-flow catalog, box catalog, run history, run detail, node result, latest
|
|
2265
2410
|
node output, and published output as internal read lanes. With the user, ask whether
|
|
2266
2411
|
they need the saved flow, its input contract, one run, one node, or the public
|
|
@@ -83,6 +83,29 @@ Forge without turning the conversation into a worksheet.
|
|
|
83
83
|
- Do not reopen the full origin story when the update is really about one changed
|
|
84
84
|
meaning, one newly visible protection, or one new sentence the user can already say.
|
|
85
85
|
|
|
86
|
+
## Psyche depth calibration
|
|
87
|
+
|
|
88
|
+
Use depth calibration without minimizing the material.
|
|
89
|
+
|
|
90
|
+
- Direct save: if the user offers a belief sentence, functional loop, part voice,
|
|
91
|
+
trigger episode, value phrase, event kind, emotion signature, or flashcard message
|
|
92
|
+
and asks to save or remember it, treat that as real data. Reflect the formulation,
|
|
93
|
+
ask one accuracy or consent question, then save through shared batch CRUD when the
|
|
94
|
+
wording is accepted.
|
|
95
|
+
- Guided formulation: if the user is trying to understand the pattern, mode, belief,
|
|
96
|
+
schema theme, trigger chain, or emotional meaning, stay with the experience. Ask one
|
|
97
|
+
concrete question at a time, then offer a testable hypothesis once one example is
|
|
98
|
+
visible.
|
|
99
|
+
- Review-first: if the user asks whether an existing Psyche record still fits, read
|
|
100
|
+
the record first and ask about the smallest part that feels newly wrong or newly
|
|
101
|
+
visible.
|
|
102
|
+
- Support action: if a Psyche formulation already landed and the user asks for a
|
|
103
|
+
flashcard, task, habit, note, or link, derive it from the accepted wording instead
|
|
104
|
+
of reopening the origin story.
|
|
105
|
+
- Do not use quick capture to minimize functional analysis, triggers, behavior
|
|
106
|
+
patterns, modes, beliefs, or schemas. Do not turn a simple accepted save into a
|
|
107
|
+
therapy session when the user is asking for storage.
|
|
108
|
+
|
|
86
109
|
## First reflection menu
|
|
87
110
|
|
|
88
111
|
Use one brief reflection that matches the center of the moment before you deepen.
|
|
@@ -256,6 +279,38 @@ example makes the hypothesis plausible, then let the user correct the danger,
|
|
|
256
279
|
protection, payoff, cost, or wording. If the correction is usable, revise once and move
|
|
257
280
|
toward the record shape instead of asking for another broad story.
|
|
258
281
|
|
|
282
|
+
## Psyche hypothesis examples
|
|
283
|
+
|
|
284
|
+
These are examples of active formulation, not scripts to recite. Use them when a
|
|
285
|
+
concrete example is visible and another broad question would make the user do all the
|
|
286
|
+
interpretive work alone.
|
|
287
|
+
|
|
288
|
+
- `behavior_pattern`: "When the feedback arrives, your body seems to read exposure
|
|
289
|
+
before you can evaluate the actual content. One hypothesis is that the over-editing
|
|
290
|
+
protects you from the feared cost of being seen as unserious, while also keeping the
|
|
291
|
+
work from reaching people. Does that fit, or is the protection somewhere else?"
|
|
292
|
+
- `belief_entry`: "The sentence seems less like 'I need to improve this' and more
|
|
293
|
+
like 'If this is seen, they will discover I am not legitimate.' Is that the belief,
|
|
294
|
+
or is there a sharper wording?"
|
|
295
|
+
- `mode_profile`: "This part sounds like it takes control by tightening standards so
|
|
296
|
+
no one else gets a chance to judge first. Is its job mainly protection from shame,
|
|
297
|
+
or from losing control?"
|
|
298
|
+
- `mode_guide_session`: "Right now the active part seems to be trying to stop
|
|
299
|
+
exposure immediately, not solve the whole project. Does it want you to hide, fix,
|
|
300
|
+
attack, freeze, or ask for help?"
|
|
301
|
+
- `trigger_report`: "The meeting itself may be the trigger, but the charged moment
|
|
302
|
+
seems to be when silence started meaning danger. Is that the sequence to preserve,
|
|
303
|
+
or did the reaction begin earlier?"
|
|
304
|
+
- `event_type`: "This sounds like a recurring 'feedback becomes danger' moment rather
|
|
305
|
+
than a generic meeting event. Would future reports recognize that category?"
|
|
306
|
+
- `emotion_definition`: "This dread seems to include a body brake, a prediction of
|
|
307
|
+
exposure, and an urge to disappear. Is that what distinguishes it from ordinary
|
|
308
|
+
anxiety?"
|
|
309
|
+
|
|
310
|
+
After using an example-shaped hypothesis, ask exactly one correction question. If the
|
|
311
|
+
user accepts or corrects it, bridge to the saveable record instead of asking for a new
|
|
312
|
+
origin story.
|
|
313
|
+
|
|
259
314
|
## Hypothesis Without Cross-Examination
|
|
260
315
|
|
|
261
316
|
A hypothesis is meant to reduce the user's burden of formulation, not make them prove
|
|
@@ -301,6 +356,25 @@ of leaving it as warm reflective prose.
|
|
|
301
356
|
corrected, name the primary Forge record it becomes and ask one accuracy or consent
|
|
302
357
|
question that moves toward that save.
|
|
303
358
|
|
|
359
|
+
## Flashcard support sequence
|
|
360
|
+
|
|
361
|
+
Use this when the user reports an urge, trigger, belief activation, mode activation,
|
|
362
|
+
or asks for a card they can use in the hard moment.
|
|
363
|
+
|
|
364
|
+
- Search existing `flashcard` records first using the user's exact urge sentence,
|
|
365
|
+
trigger situation, tags, and nearby Psyche wording.
|
|
366
|
+
- If a matching card exists, show the card's message first before adding your own
|
|
367
|
+
support. The card is the intervention; the therapist-like wrapper should be brief.
|
|
368
|
+
- If no card fits and the user wants one, formulate the cue or urge sentence and the
|
|
369
|
+
smallest usable message before asking about visual style, colors, tags, or optional
|
|
370
|
+
links.
|
|
371
|
+
- When creating a new card from a belief, mode, trigger report, value, behavior, or
|
|
372
|
+
behavior pattern, preserve the accepted primary formulation first, then derive the
|
|
373
|
+
card from it. Do not turn card creation into a second broad Psyche interview.
|
|
374
|
+
- Ready-to-save minimum: cue or urge sentence, one message the user can recognize
|
|
375
|
+
while activated, and at least one retrieval cue such as a tag, trigger situation, or
|
|
376
|
+
linked Psyche record.
|
|
377
|
+
|
|
304
378
|
## Psyche progressive disclosure
|
|
305
379
|
|
|
306
380
|
Use this when the user has already supplied meaningful Psyche material. The next move
|
|
@@ -1096,6 +1170,9 @@ Arc:
|
|
|
1096
1170
|
the message and retrieval cues are clear.
|
|
1097
1171
|
6. If the user is in an urge right now, search existing flashcards first, show the
|
|
1098
1172
|
matching message first, then support it with brief psychotherapy-informed guidance.
|
|
1173
|
+
7. If no matching card exists, create only after the cue or urge sentence and the
|
|
1174
|
+
short message are clear; postpone visual styling until the intervention wording
|
|
1175
|
+
works.
|
|
1099
1176
|
|
|
1100
1177
|
Helpful follow-up lanes:
|
|
1101
1178
|
|
|
Binary file
|
|
Binary file
|