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,1303 +0,0 @@
|
|
|
1
|
-
# Entity Conversation Playbooks
|
|
2
|
-
|
|
3
|
-
Use this file whenever the user is creating or updating a Forge entity outside the
|
|
4
|
-
deeper Psyche exploration flow. The goal is not to walk through a form. The goal is to
|
|
5
|
-
help the user recognize what they are trying to save, name it cleanly, place it in
|
|
6
|
-
Forge correctly, and gather only the structure that still matters.
|
|
7
|
-
|
|
8
|
-
## Core stance
|
|
9
|
-
|
|
10
|
-
- Lead with what the user is trying to preserve, change, resolve, or make true, not
|
|
11
|
-
with the entity label.
|
|
12
|
-
- Start by saying what seems to matter here or what the record is becoming, then ask
|
|
13
|
-
the next useful question.
|
|
14
|
-
- Whenever you can, make the direction of the intake visible before the question by
|
|
15
|
-
naming what you think the user is trying to preserve, clarify, decide, schedule, or
|
|
16
|
-
make easier.
|
|
17
|
-
- Ask only for what is missing or still unclear.
|
|
18
|
-
- The first question should usually clarify whether the user is trying to understand,
|
|
19
|
-
preserve, decide, schedule, or change something, not just which field or provider
|
|
20
|
-
they want.
|
|
21
|
-
- First identify the user's job when the lane is not already explicit:
|
|
22
|
-
are they trying to add, update, review, compare, navigate, link, or run something?
|
|
23
|
-
- Before every question, decide the one missing thing you are trying to clarify.
|
|
24
|
-
- Ask first for the missing thing that would change the record shape, title, or next
|
|
25
|
-
action most, not just the easiest field to fill.
|
|
26
|
-
- Know where the conversation is headed before you ask the next question.
|
|
27
|
-
- Prefer one clean question to a stacked sentence with several asks.
|
|
28
|
-
- Reflect briefly when the user gives meaning, ambivalence, or emotionally loaded
|
|
29
|
-
context that matters to the record.
|
|
30
|
-
- Especially for goals, habits, notes, and updates, reflect what the user is trying to
|
|
31
|
-
preserve, change, or make true before you ask for structure.
|
|
32
|
-
- For emotionally meaningful non-Psyche records such as goals, habits, notes, and many
|
|
33
|
-
updates, use a simple rhythm:
|
|
34
|
-
brief reflection -> one orienting question.
|
|
35
|
-
- Another good shorthand for the same rhythm is:
|
|
36
|
-
short reflection -> one orienting question.
|
|
37
|
-
- When the user is vague, ask for the smallest real example, desired outcome, or stake
|
|
38
|
-
before you ask for wording.
|
|
39
|
-
- For strategic, reflective, or emotionally meaningful non-Psyche records, ask what
|
|
40
|
-
feels important to keep true before you ask for labels, dates, or taxonomy.
|
|
41
|
-
- When the user is clear, say what the record seems to be becoming and move straight to
|
|
42
|
-
the last missing structural detail.
|
|
43
|
-
- For straightforward logistical entities such as tasks, calendar events, work blocks,
|
|
44
|
-
timeboxes, and task runs, use a fast path:
|
|
45
|
-
one brief confirming sentence -> one operational question.
|
|
46
|
-
- For logistical records such as tasks, calendar events, work blocks, timeboxes, and
|
|
47
|
-
task runs, use a fast path:
|
|
48
|
-
one brief confirming sentence -> one operational question.
|
|
49
|
-
- For action-heavy flows such as work adjustments, preference judgments, preference
|
|
50
|
-
signals, and specialized surface work in Movement, Life Force, or Workbench, first
|
|
51
|
-
ask what the user is trying to understand, change, add, update, link, or run, then
|
|
52
|
-
route to the dedicated action or surface path instead of pretending it is normal
|
|
53
|
-
CRUD.
|
|
54
|
-
- For specialized surfaces, ask what would make the answer or change useful before you
|
|
55
|
-
ask route-shaped details such as provider, weekday, flow id, run id, or trip id.
|
|
56
|
-
- Do not read schema fields out loud unless the user explicitly wants a checklist.
|
|
57
|
-
- One focused question is the default. Ask two only when both questions serve the same
|
|
58
|
-
job and the user is steady enough for it.
|
|
59
|
-
- Do not ask the user to do naming work alone when the meaning is already clear. Offer
|
|
60
|
-
a tentative title or formulation and invite correction.
|
|
61
|
-
- When the meaning is clearer than the wording, offer a tentative title or summary
|
|
62
|
-
yourself and ask whether it fits.
|
|
63
|
-
- After each substantive answer, briefly say what is becoming clearer before you ask
|
|
64
|
-
for the next missing detail.
|
|
65
|
-
- Let the user feel the direction of the intake. The next question should make sense
|
|
66
|
-
because of what just became clearer, not because a hidden checklist says it is next.
|
|
67
|
-
- If the user already answered the usual opening question, do not repeat the stock
|
|
68
|
-
opener. Move straight to the next missing clarification.
|
|
69
|
-
- After a substantive answer, briefly say what is becoming clear so the user can
|
|
70
|
-
correct the direction early.
|
|
71
|
-
- Once the record is clear enough to name, stop exploring broadly and ask only for the
|
|
72
|
-
last missing structural detail.
|
|
73
|
-
- When the record is already clear enough to save, save it instead of performing a
|
|
74
|
-
ceremonial extra question.
|
|
75
|
-
|
|
76
|
-
## Conversation arc
|
|
77
|
-
|
|
78
|
-
Most good Forge intake flows follow this sequence:
|
|
79
|
-
|
|
80
|
-
1. Clarify what the user is trying to preserve, change, or make true.
|
|
81
|
-
2. Land on the right Forge shape.
|
|
82
|
-
3. Offer or confirm a working name.
|
|
83
|
-
4. Clarify the outcome, placement, timing, or cadence that will matter later.
|
|
84
|
-
5. Ask about links only when those links will make the record more useful.
|
|
85
|
-
|
|
86
|
-
That sequence is not a script. Skip steps the user already answered.
|
|
87
|
-
|
|
88
|
-
## Operation lane checkpoint
|
|
89
|
-
|
|
90
|
-
Use this before you choose an API path or ask for more structure.
|
|
91
|
-
|
|
92
|
-
- If the user has not made the operation explicit yet, clarify the job first:
|
|
93
|
-
add, update, review, compare, navigate, link, or run.
|
|
94
|
-
- Ask the lane question only when it changes the route family or the next question.
|
|
95
|
-
- Skip the meta lane question when the user already gave both the entity and the
|
|
96
|
-
action clearly, such as "pause this project", "add a home stay for that missing
|
|
97
|
-
block", or "run this flow again".
|
|
98
|
-
- For simple stored entities, once the lane is clear, fall back to the shared batch
|
|
99
|
-
CRUD flow.
|
|
100
|
-
- For specialized surfaces such as Movement, Life Force, and Workbench, use the lane
|
|
101
|
-
to choose the dedicated route family before you ask for lower-level details.
|
|
102
|
-
|
|
103
|
-
## Active-listening patterns
|
|
104
|
-
|
|
105
|
-
Use one of these shapes when the user is not yet precise.
|
|
106
|
-
|
|
107
|
-
Meaning-bearing record:
|
|
108
|
-
|
|
109
|
-
- "It sounds like you want to keep hold of something important here. What feels most
|
|
110
|
-
worth preserving about it?"
|
|
111
|
-
|
|
112
|
-
Bounded-work record:
|
|
113
|
-
|
|
114
|
-
- "So this is becoming a real piece of work, not just a passing idea. What outcome
|
|
115
|
-
would make it feel real or complete for now?"
|
|
116
|
-
|
|
117
|
-
Operational record:
|
|
118
|
-
|
|
119
|
-
- "I can save that. What is the one timing or placement detail that still needs to be
|
|
120
|
-
decided?"
|
|
121
|
-
|
|
122
|
-
Update record:
|
|
123
|
-
|
|
124
|
-
- "Before I change it, what feels newly true now, and what should stay intact?"
|
|
125
|
-
|
|
126
|
-
## Turn shapes
|
|
127
|
-
|
|
128
|
-
Use these as small conversation molds when you need the next turn to feel guided
|
|
129
|
-
rather than mechanical.
|
|
130
|
-
|
|
131
|
-
Opening turn:
|
|
132
|
-
|
|
133
|
-
- briefly reflect what seems to matter here
|
|
134
|
-
- ask the one question that clarifies shape, stake, or outcome most
|
|
135
|
-
|
|
136
|
-
Middle turn:
|
|
137
|
-
|
|
138
|
-
- say what is becoming clearer
|
|
139
|
-
- name the one thing that still needs to be known
|
|
140
|
-
- ask only for that
|
|
141
|
-
|
|
142
|
-
Closing turn:
|
|
143
|
-
|
|
144
|
-
- offer the working title, summary, or record shape in plain language
|
|
145
|
-
- ask whether it feels true enough to save or needs one correction
|
|
146
|
-
- if the user says yes, move to the write instead of reopening the intake
|
|
147
|
-
|
|
148
|
-
## Steering moves
|
|
149
|
-
|
|
150
|
-
Use these small moves to keep the intake natural and intentional.
|
|
151
|
-
|
|
152
|
-
When the user is still searching:
|
|
153
|
-
|
|
154
|
-
- reflect the stake in one sentence, then ask for the smallest concrete example or the
|
|
155
|
-
desired outcome
|
|
156
|
-
|
|
157
|
-
When the user already knows what they mean:
|
|
158
|
-
|
|
159
|
-
- offer the working formulation, then ask only for the last missing placement, timing,
|
|
160
|
-
or ownership detail
|
|
161
|
-
|
|
162
|
-
When the record carries emotion but is not Psyche:
|
|
163
|
-
|
|
164
|
-
- reflect what the user is trying to hold onto, repair, or not lose, then ask one
|
|
165
|
-
orienting question
|
|
166
|
-
|
|
167
|
-
When the user is updating an existing record:
|
|
168
|
-
|
|
169
|
-
- ask what is changing, what should remain true, and what prompted the change now only
|
|
170
|
-
if those answers would alter the record shape
|
|
171
|
-
|
|
172
|
-
When you are about to save:
|
|
173
|
-
|
|
174
|
-
- give one short working summary in the user's language and ask whether it feels true
|
|
175
|
-
enough or needs one correction
|
|
176
|
-
- if the user confirms it, stop asking and save
|
|
177
|
-
|
|
178
|
-
When an adjacent record becomes visible:
|
|
179
|
-
|
|
180
|
-
- name it gently and ask whether it should be linked now, saved separately later, or
|
|
181
|
-
left alone for now
|
|
182
|
-
|
|
183
|
-
## Review And Navigation Moves
|
|
184
|
-
|
|
185
|
-
Use this when the user wants to inspect, compare, review, or navigate existing Forge
|
|
186
|
-
records rather than create something new.
|
|
187
|
-
|
|
188
|
-
- Start by asking what they are trying to understand, decide, compare, or check.
|
|
189
|
-
- Ask only for the scoping detail that changes the read path most:
|
|
190
|
-
entity, owner, timeframe, context, or comparison target.
|
|
191
|
-
- If the record already exists and the user wants review, do not reopen a creation
|
|
192
|
-
intake. Route to search, list, overview, or detail first.
|
|
193
|
-
- For review-heavy questions, the useful progression is:
|
|
194
|
-
user goal -> scope -> read path -> interpretation -> optional follow-up write.
|
|
195
|
-
- Only drift back into create or update intake if the user actually wants the record
|
|
196
|
-
changed after the review.
|
|
197
|
-
|
|
198
|
-
## Question Calibration Loop
|
|
199
|
-
|
|
200
|
-
Use this quick internal check before every follow-up question.
|
|
201
|
-
|
|
202
|
-
1. What is the one thing still unknown?
|
|
203
|
-
2. Does that unknown affect the entity shape, the wording, the placement, or the
|
|
204
|
-
operational detail?
|
|
205
|
-
3. What is the smallest question that would answer that unknown?
|
|
206
|
-
4. If the user already gave enough to act, stop asking and move to a short summary or
|
|
207
|
-
the write.
|
|
208
|
-
|
|
209
|
-
Useful calibration heuristics:
|
|
210
|
-
|
|
211
|
-
- If the unknown changes whether this is a goal, project, task, note, or Psyche
|
|
212
|
-
record, ask that first.
|
|
213
|
-
- If the shape is already clear but the wording is soft, offer a candidate title or
|
|
214
|
-
formulation rather than asking the user to invent one from scratch.
|
|
215
|
-
- If the wording is clear but the placement is missing, ask only for the parent,
|
|
216
|
-
timing, owner, or linked context that will make the record usable later.
|
|
217
|
-
- If the user is emotionally invested but the entity is not Psyche, reflect the stake
|
|
218
|
-
once and then return to the one missing structural detail.
|
|
219
|
-
- If the next question would only decorate the record and not change its usefulness,
|
|
220
|
-
skip it.
|
|
221
|
-
|
|
222
|
-
## Abstract And Reusable Record Moves
|
|
223
|
-
|
|
224
|
-
Use this posture for tags, event types, emotion definitions, preference contexts,
|
|
225
|
-
preference catalogs, preference items, questionnaire instruments, and similar
|
|
226
|
-
reusable records.
|
|
227
|
-
|
|
228
|
-
- Start from the future use, decision, or repeated moment the record should clarify,
|
|
229
|
-
not from the label alone.
|
|
230
|
-
- Ask what distinction this record should help the user notice, compare, sort, or
|
|
231
|
-
retrieve later.
|
|
232
|
-
- For collection records, ask what they are meant to help decide before you ask what
|
|
233
|
-
belongs inside them.
|
|
234
|
-
- For vocabulary records, ask what counts as inside versus outside the term before you
|
|
235
|
-
settle the wording.
|
|
236
|
-
- If the user already proposes a label, keep it provisional until the boundary and
|
|
237
|
-
future use are clear.
|
|
238
|
-
- Once the distinction is clear, offer a candidate label yourself and invite
|
|
239
|
-
correction instead of making the user wordsmith alone.
|
|
240
|
-
|
|
241
|
-
## Opening move recipes
|
|
242
|
-
|
|
243
|
-
Use these when you want the first turn to feel more guided and less form-like.
|
|
244
|
-
|
|
245
|
-
Strategic record:
|
|
246
|
-
|
|
247
|
-
- "This sounds like something you want to hold onto directionally, not just list.
|
|
248
|
-
What would feel important to keep true here?"
|
|
249
|
-
|
|
250
|
-
Bounded-work record:
|
|
251
|
-
|
|
252
|
-
- "This sounds like it wants to become a real piece of work. What outcome would make
|
|
253
|
-
it feel meaningfully real for now?"
|
|
254
|
-
|
|
255
|
-
Reflective record:
|
|
256
|
-
|
|
257
|
-
- "There is something here you do not want to lose. What feels most worth capturing
|
|
258
|
-
before we decide where to store it?"
|
|
259
|
-
|
|
260
|
-
Reusable record:
|
|
261
|
-
|
|
262
|
-
- "Before we settle the label, what future decision, comparison, or retrieval moment
|
|
263
|
-
should this help with?"
|
|
264
|
-
|
|
265
|
-
Operational record:
|
|
266
|
-
|
|
267
|
-
- "I can turn that into a concrete Forge action. What is the one timing, owner, or
|
|
268
|
-
placement detail that still needs to be decided?"
|
|
269
|
-
|
|
270
|
-
## Name, Define, Connect
|
|
271
|
-
|
|
272
|
-
Once the core record is visible, use this short checkpoint.
|
|
273
|
-
|
|
274
|
-
Name:
|
|
275
|
-
|
|
276
|
-
- offer a working title or label if the user has the meaning but not the wording yet
|
|
277
|
-
|
|
278
|
-
Define:
|
|
279
|
-
|
|
280
|
-
- ask what belongs inside this record and what would make it stop being this record
|
|
281
|
-
|
|
282
|
-
Connect:
|
|
283
|
-
|
|
284
|
-
- ask about links only after the record itself feels named and defined enough to stay
|
|
285
|
-
stable
|
|
286
|
-
|
|
287
|
-
## Close cleanly
|
|
288
|
-
|
|
289
|
-
- Once the record has a working shape, tell the user what is now clear and what one
|
|
290
|
-
detail, if any, is still worth deciding.
|
|
291
|
-
- If no detail is still decision-relevant, summarize the record in plain language and
|
|
292
|
-
move to the save.
|
|
293
|
-
- Prefer "what I have now is..." or "what seems clear now is..." over a cold final
|
|
294
|
-
field check.
|
|
295
|
-
- If the user gives a correction, revise the working formulation once and close again
|
|
296
|
-
instead of reopening the whole intake.
|
|
297
|
-
|
|
298
|
-
## Question design rules
|
|
299
|
-
|
|
300
|
-
- Let each question have one job:
|
|
301
|
-
clarify the shape,
|
|
302
|
-
clarify the purpose,
|
|
303
|
-
clarify the placement,
|
|
304
|
-
clarify the success condition,
|
|
305
|
-
clarify the timing,
|
|
306
|
-
or clarify the links.
|
|
307
|
-
- Do not over-warm or over-therapize logistical records. For those flows, one brief
|
|
308
|
-
confirming sentence plus one question is usually enough.
|
|
309
|
-
- The first question should usually clarify lived meaning, use, stake, or timing, not
|
|
310
|
-
ask the user to invent a title from scratch.
|
|
311
|
-
- Ask the more meaning-bearing question before the more administrative one.
|
|
312
|
-
- Prefer "what", "when", and "how" before "why" when the user's meaning is still
|
|
313
|
-
forming. "Why" is often better after the experience or outcome is already clear.
|
|
314
|
-
- If the user is uncertain, ask for a recent example before asking for an abstraction.
|
|
315
|
-
- If the user is clear and decisive, confirm the working formulation and move directly
|
|
316
|
-
to the one missing structural detail.
|
|
317
|
-
- Avoid dead-form prompts such as "What should this be called?" when the user is still
|
|
318
|
-
figuring out what the thing is.
|
|
319
|
-
- For labels such as `tag`, `event_type`, and `emotion_definition`, do not open with a
|
|
320
|
-
naming question unless the meaning is already clear and only the wording is missing.
|
|
321
|
-
- For reusable records, help the user define the boundary before you settle the final
|
|
322
|
-
label.
|
|
323
|
-
- Before the final save question, it is often better to offer a candidate formulation
|
|
324
|
-
than to ask for raw wording from scratch.
|
|
325
|
-
- When useful, say what you think the record is becoming before asking the next
|
|
326
|
-
question. That helps the user correct the shape early.
|
|
327
|
-
- For reusable vocabulary or taxonomy records such as `tag`, `event_type`,
|
|
328
|
-
`emotion_definition`, `preference_catalog`, and `preference_context`, ask what
|
|
329
|
-
distinction the label should help the user notice, sort, or retrieve later before
|
|
330
|
-
you ask about naming or aliases.
|
|
331
|
-
- For emotionally meaningful vocabulary records such as `event_type`,
|
|
332
|
-
`emotion_definition`, and many `self_observation` entries, start from the lived
|
|
333
|
-
moment or felt meaning before you move to reuse or retrieval language.
|
|
334
|
-
- For collection-like records such as `preference_catalog` and
|
|
335
|
-
`questionnaire_instrument`, ask what they are for before you ask what should go
|
|
336
|
-
inside them.
|
|
337
|
-
- After the user answers, prefer "what is becoming clearer is..." over a cold jump to
|
|
338
|
-
the next field.
|
|
339
|
-
- For reusable or abstract records, it is often better to say "what this would help
|
|
340
|
-
you decide later is..." before asking for the final wording.
|
|
341
|
-
|
|
342
|
-
## Ready-to-save check
|
|
343
|
-
|
|
344
|
-
Before saving, make sure you can answer all of these in plain language:
|
|
345
|
-
|
|
346
|
-
- What is this record actually for?
|
|
347
|
-
- Why is this the right Forge entity type?
|
|
348
|
-
- What would make the record recognizable later?
|
|
349
|
-
- What one structural detail is still worth asking for, if any?
|
|
350
|
-
|
|
351
|
-
If the answer to the last question is "none", save it instead of prolonging intake.
|
|
352
|
-
|
|
353
|
-
Before the final write, it is usually worth asking one light confirmation such as:
|
|
354
|
-
|
|
355
|
-
- "That sounds like the right shape to save. Do you want to keep it that way, or is
|
|
356
|
-
there one thing you want adjusted first?"
|
|
357
|
-
|
|
358
|
-
If an adjacent goal, project, task, note, value, pattern, or tag became visible, ask
|
|
359
|
-
about linking only after the main record already feels named and steady.
|
|
360
|
-
|
|
361
|
-
## Update loop
|
|
362
|
-
|
|
363
|
-
Use this when the user is updating an existing record rather than creating a new one.
|
|
364
|
-
|
|
365
|
-
1. Ask what feels newly true, newly urgent, or newly clear.
|
|
366
|
-
2. Ask what should stay true so the record keeps its core meaning.
|
|
367
|
-
3. Ask what prompted the update now if that changes the shape of the record.
|
|
368
|
-
4. Then ask only for the missing structural detail required by the change.
|
|
369
|
-
|
|
370
|
-
If the current title or shape may no longer fit, offer one revised formulation yourself
|
|
371
|
-
before asking the user to rewrite it from scratch.
|
|
372
|
-
|
|
373
|
-
## Goal
|
|
374
|
-
|
|
375
|
-
Aim: clarify the direction and why it matters, not just produce a title.
|
|
376
|
-
|
|
377
|
-
Arc:
|
|
378
|
-
|
|
379
|
-
1. Ask what direction or outcome the user wants to keep in view.
|
|
380
|
-
2. Reflect back the deeper stake in plain language before moving on.
|
|
381
|
-
3. Ask why it matters now.
|
|
382
|
-
4. Distinguish the goal from a project or task if needed.
|
|
383
|
-
5. Clarify horizon and status only after the meaning is clear.
|
|
384
|
-
|
|
385
|
-
Helpful follow-up lanes:
|
|
386
|
-
|
|
387
|
-
- why this direction matters now
|
|
388
|
-
- what would count as movement without turning it into a task list
|
|
389
|
-
- whether it is a quarter, year, or life direction
|
|
390
|
-
|
|
391
|
-
Ready to save when:
|
|
392
|
-
|
|
393
|
-
- the goal has a stable name
|
|
394
|
-
- the direction is understandable in plain language
|
|
395
|
-
- the horizon is clear enough if it matters
|
|
396
|
-
|
|
397
|
-
Preferred opening question:
|
|
398
|
-
|
|
399
|
-
- "What direction are you trying to keep hold of here?"
|
|
400
|
-
|
|
401
|
-
## Project
|
|
402
|
-
|
|
403
|
-
Aim: turn an intention into a bounded workstream with a clear outcome.
|
|
404
|
-
|
|
405
|
-
Arc:
|
|
406
|
-
|
|
407
|
-
1. Ask what this piece of work is trying to make true.
|
|
408
|
-
2. Reflect the emerging boundary so the user can hear what is in scope.
|
|
409
|
-
3. Ask what outcome would make it feel real or complete for now.
|
|
410
|
-
4. Ask which goal it belongs under.
|
|
411
|
-
5. Land on a working name once the scope is clear.
|
|
412
|
-
6. Clarify status, owner, and notes only after the scope is clear.
|
|
413
|
-
|
|
414
|
-
Helpful follow-up lanes:
|
|
415
|
-
|
|
416
|
-
- what concrete outcome would make this project complete enough
|
|
417
|
-
- what belongs inside the boundary and what does not
|
|
418
|
-
- which goal gives the project meaning
|
|
419
|
-
|
|
420
|
-
Ready to save when:
|
|
421
|
-
|
|
422
|
-
- the project has a clear name
|
|
423
|
-
- the outcome is concrete enough to recognize later
|
|
424
|
-
- its parent goal is known or intentionally absent
|
|
425
|
-
|
|
426
|
-
Preferred opening question:
|
|
427
|
-
|
|
428
|
-
- "If this became a real project, what would you be trying to make true in your life or work?"
|
|
429
|
-
|
|
430
|
-
## Strategy
|
|
431
|
-
|
|
432
|
-
Aim: turn a vague plan into a deliberate sequence toward a real end state.
|
|
433
|
-
|
|
434
|
-
Arc:
|
|
435
|
-
|
|
436
|
-
1. Ask what future state the strategy is trying to make real.
|
|
437
|
-
2. Reflect the destination in plain language so the user can correct it early.
|
|
438
|
-
3. Ask which goals or projects are the true targets.
|
|
439
|
-
4. Ask what the major steps or phases are.
|
|
440
|
-
5. Ask about order, dependencies, and anything that must not be skipped.
|
|
441
|
-
6. Clarify links or ownership once the sequence itself makes sense.
|
|
442
|
-
|
|
443
|
-
Helpful follow-up lanes:
|
|
444
|
-
|
|
445
|
-
- what the end state looks like when it is real
|
|
446
|
-
- what the major phases are
|
|
447
|
-
- which steps must happen before others
|
|
448
|
-
- what is in scope versus out of scope
|
|
449
|
-
|
|
450
|
-
Ready to save when:
|
|
451
|
-
|
|
452
|
-
- the strategy has a stable name
|
|
453
|
-
- the end state is concrete enough to test
|
|
454
|
-
- the directed sequence is sketched clearly enough to build
|
|
455
|
-
|
|
456
|
-
Preferred opening question:
|
|
457
|
-
|
|
458
|
-
- "What future state are you actually trying to arrive at with this strategy?"
|
|
459
|
-
|
|
460
|
-
## Task
|
|
461
|
-
|
|
462
|
-
Aim: identify the next concrete move, not just capture a vague obligation.
|
|
463
|
-
|
|
464
|
-
Arc:
|
|
465
|
-
|
|
466
|
-
1. Ask what the next concrete action is.
|
|
467
|
-
2. Ask where it belongs: project, goal, both, or standalone.
|
|
468
|
-
3. Ask what would make it easier to do: due date, priority, owner, or one line of
|
|
469
|
-
context.
|
|
470
|
-
|
|
471
|
-
Helpful follow-up lanes:
|
|
472
|
-
|
|
473
|
-
- turn vague intent into an actionable verb
|
|
474
|
-
- identify parent project or goal
|
|
475
|
-
- capture the one timing or priority detail that will actually help
|
|
476
|
-
|
|
477
|
-
Ready to save when:
|
|
478
|
-
|
|
479
|
-
- the task is phrased as an actionable move
|
|
480
|
-
- placement is clear enough
|
|
481
|
-
- any crucial timing or priority is captured
|
|
482
|
-
|
|
483
|
-
Preferred opening question:
|
|
484
|
-
|
|
485
|
-
- "What is the next concrete move here?"
|
|
486
|
-
|
|
487
|
-
## Habit
|
|
488
|
-
|
|
489
|
-
Aim: define the recurring behavior and the cadence in a way that makes later check-ins
|
|
490
|
-
unambiguous.
|
|
491
|
-
|
|
492
|
-
Arc:
|
|
493
|
-
|
|
494
|
-
1. Ask what recurring move the user is trying to strengthen or loosen.
|
|
495
|
-
2. Ask whether doing it is aligned or a slip.
|
|
496
|
-
3. Ask what honest success or failure looks like in practice.
|
|
497
|
-
4. Ask about cadence and links only after the behavior is concrete.
|
|
498
|
-
|
|
499
|
-
Helpful follow-up lanes:
|
|
500
|
-
|
|
501
|
-
- what the recurring move looks like on an ordinary day
|
|
502
|
-
- whether the habit is `positive` or `negative`
|
|
503
|
-
- what counts as an honest check-in
|
|
504
|
-
- what cadence is realistic and meaningful
|
|
505
|
-
|
|
506
|
-
Ready to save when:
|
|
507
|
-
|
|
508
|
-
- the recurring behavior is specific
|
|
509
|
-
- polarity is clear
|
|
510
|
-
- the cadence and success condition are clear enough to check in honestly
|
|
511
|
-
|
|
512
|
-
Preferred opening question:
|
|
513
|
-
|
|
514
|
-
- "What recurring move are you trying to strengthen or interrupt?"
|
|
515
|
-
|
|
516
|
-
## Tag
|
|
517
|
-
|
|
518
|
-
Aim: create a label that helps future retrieval or grouping, not just another vague
|
|
519
|
-
bucket.
|
|
520
|
-
|
|
521
|
-
Arc:
|
|
522
|
-
|
|
523
|
-
1. Ask what the tag should help the user notice, group, or find later.
|
|
524
|
-
2. Ask what kinds of records should belong under it.
|
|
525
|
-
3. Offer a concise label if the meaning is clearer than the wording.
|
|
526
|
-
4. Ask about color, kind, or parent grouping only if that changes how it will be used.
|
|
527
|
-
|
|
528
|
-
Helpful follow-up lanes:
|
|
529
|
-
|
|
530
|
-
- what the tag is for later
|
|
531
|
-
- what should count as inside versus outside the label
|
|
532
|
-
- whether the user already has nearby tags that this should stay distinct from
|
|
533
|
-
|
|
534
|
-
Ready to save when:
|
|
535
|
-
|
|
536
|
-
- the tag has a stable label
|
|
537
|
-
- the grouping meaning is clear enough to reuse later
|
|
538
|
-
- any important distinction from nearby tags is clear
|
|
539
|
-
|
|
540
|
-
Preferred opening question:
|
|
541
|
-
|
|
542
|
-
- "What do you want this tag to help you notice or find again later?"
|
|
543
|
-
|
|
544
|
-
## Note
|
|
545
|
-
|
|
546
|
-
Aim: preserve the useful context and link it to the right places without turning the
|
|
547
|
-
note into a dumping ground.
|
|
548
|
-
|
|
549
|
-
Arc:
|
|
550
|
-
|
|
551
|
-
1. Ask what the note needs to preserve.
|
|
552
|
-
2. Ask what entities it should stay attached to.
|
|
553
|
-
3. Ask whether it should be durable or temporary.
|
|
554
|
-
4. Ask about tags or author only if they will help retrieval or handoff.
|
|
555
|
-
|
|
556
|
-
Helpful follow-up lanes:
|
|
557
|
-
|
|
558
|
-
- what the note is for later
|
|
559
|
-
- what should stay linked
|
|
560
|
-
- whether it is durable or should expire
|
|
561
|
-
- whether part of the detail belongs in a note while the cleaner structure belongs on
|
|
562
|
-
another entity
|
|
563
|
-
|
|
564
|
-
Ready to save when:
|
|
565
|
-
|
|
566
|
-
- the note body captures the important point
|
|
567
|
-
- the links are clear
|
|
568
|
-
- durability is clear when relevant
|
|
569
|
-
|
|
570
|
-
Preferred opening question:
|
|
571
|
-
|
|
572
|
-
- "What about this feels worth preserving in a note?"
|
|
573
|
-
|
|
574
|
-
## Wiki Page
|
|
575
|
-
|
|
576
|
-
Aim: create a durable reference page with a clear scope instead of dumping raw notes
|
|
577
|
-
into the wiki.
|
|
578
|
-
|
|
579
|
-
Arc:
|
|
580
|
-
|
|
581
|
-
1. Ask what topic this page should become the canonical place for.
|
|
582
|
-
2. Ask whether it is a durable wiki page or supporting evidence.
|
|
583
|
-
3. Ask what future lookup, decision, or collaboration this page should support.
|
|
584
|
-
4. Ask about linked entities, aliases, or tags only if they will make the page more
|
|
585
|
-
navigable later.
|
|
586
|
-
|
|
587
|
-
Helpful follow-up lanes:
|
|
588
|
-
|
|
589
|
-
- what this page should be the home for
|
|
590
|
-
- what should belong on the page versus remain linked evidence
|
|
591
|
-
- who would open this page later and what they should quickly understand
|
|
592
|
-
|
|
593
|
-
Ready to save when:
|
|
594
|
-
|
|
595
|
-
- the page scope is clear
|
|
596
|
-
- the page kind is clear enough
|
|
597
|
-
- the title is stable enough to find later
|
|
598
|
-
|
|
599
|
-
Preferred opening question:
|
|
600
|
-
|
|
601
|
-
- "What should this page become the main reference for?"
|
|
602
|
-
|
|
603
|
-
## Insight
|
|
604
|
-
|
|
605
|
-
Aim: capture one grounded observation or recommendation clearly enough that it stays
|
|
606
|
-
useful later.
|
|
607
|
-
|
|
608
|
-
Arc:
|
|
609
|
-
|
|
610
|
-
1. Ask what pattern, tension, or observation should be remembered.
|
|
611
|
-
2. Ask what entity or timeframe it belongs to, if any.
|
|
612
|
-
3. Ask what recommendation, caution, or invitation should remain explicit.
|
|
613
|
-
|
|
614
|
-
Helpful follow-up lanes:
|
|
615
|
-
|
|
616
|
-
- what the core observation is
|
|
617
|
-
- who or what it belongs to
|
|
618
|
-
- what the practical recommendation is
|
|
619
|
-
|
|
620
|
-
Ready to save when:
|
|
621
|
-
|
|
622
|
-
- the observation has a stable title or phrase
|
|
623
|
-
- the summary is clear
|
|
624
|
-
- the recommendation is explicit
|
|
625
|
-
|
|
626
|
-
Preferred opening question:
|
|
627
|
-
|
|
628
|
-
- "What is the clearest thing you want future-you or the agent to remember from this?"
|
|
629
|
-
|
|
630
|
-
## Calendar Event
|
|
631
|
-
|
|
632
|
-
Aim: make the event legible as a real commitment in time, with the right timezone and
|
|
633
|
-
links.
|
|
634
|
-
|
|
635
|
-
Arc:
|
|
636
|
-
|
|
637
|
-
1. Ask what the event is.
|
|
638
|
-
2. Ask when it starts and ends in local time.
|
|
639
|
-
3. Ask where it belongs or what it supports.
|
|
640
|
-
4. Ask whether it should stay Forge-only only if that choice matters.
|
|
641
|
-
|
|
642
|
-
Helpful follow-up lanes:
|
|
643
|
-
|
|
644
|
-
- exact start and end time
|
|
645
|
-
- local timezone if there is ambiguity
|
|
646
|
-
- linked goal, project, task, or note
|
|
647
|
-
|
|
648
|
-
Ready to save when:
|
|
649
|
-
|
|
650
|
-
- the title is clear
|
|
651
|
-
- the start and end are clear in the user's timezone
|
|
652
|
-
- any important links or storage preference are known
|
|
653
|
-
|
|
654
|
-
Preferred opening question:
|
|
655
|
-
|
|
656
|
-
- "What is the event, and when should it happen in your local time?"
|
|
657
|
-
|
|
658
|
-
## Work Block Template
|
|
659
|
-
|
|
660
|
-
Aim: define a reusable availability rule, not a one-off event.
|
|
661
|
-
|
|
662
|
-
Arc:
|
|
663
|
-
|
|
664
|
-
1. Ask what kind of block it is and what it should be called.
|
|
665
|
-
2. Ask on which days and at what local times it should repeat.
|
|
666
|
-
3. Ask whether it allows or blocks work.
|
|
667
|
-
4. Ask whether it has a start or end date.
|
|
668
|
-
|
|
669
|
-
Helpful follow-up lanes:
|
|
670
|
-
|
|
671
|
-
- what the block is for
|
|
672
|
-
- recurrence timing
|
|
673
|
-
- blocking state
|
|
674
|
-
- optional date bounds
|
|
675
|
-
|
|
676
|
-
Ready to save when:
|
|
677
|
-
|
|
678
|
-
- the block has a clear purpose
|
|
679
|
-
- recurrence timing is clear
|
|
680
|
-
- blocking state is clear
|
|
681
|
-
|
|
682
|
-
Preferred opening question:
|
|
683
|
-
|
|
684
|
-
- "What recurring block do you want to set up, and when should it repeat?"
|
|
685
|
-
|
|
686
|
-
## Task Timebox
|
|
687
|
-
|
|
688
|
-
Aim: reserve real time for one task without confusing planned work with completed work.
|
|
689
|
-
|
|
690
|
-
Arc:
|
|
691
|
-
|
|
692
|
-
1. Ask which task the slot belongs to.
|
|
693
|
-
2. Ask when the slot should start and end.
|
|
694
|
-
3. Ask whether this is a manual reservation, a suggestion, or live-run alignment only
|
|
695
|
-
if relevant.
|
|
696
|
-
4. Ask about override reason only if calendar rules are being bypassed.
|
|
697
|
-
|
|
698
|
-
Helpful follow-up lanes:
|
|
699
|
-
|
|
700
|
-
- attached task
|
|
701
|
-
- exact time window
|
|
702
|
-
- scheduling context only if it changes the action
|
|
703
|
-
|
|
704
|
-
Ready to save when:
|
|
705
|
-
|
|
706
|
-
- the task is known
|
|
707
|
-
- the time window is clear
|
|
708
|
-
- any special scheduling context is explicit
|
|
709
|
-
|
|
710
|
-
Preferred opening question:
|
|
711
|
-
|
|
712
|
-
- "Which task are you trying to make time for, and when should the slot be?"
|
|
713
|
-
|
|
714
|
-
## Task Run
|
|
715
|
-
|
|
716
|
-
Aim: start truthful live work with as little friction as possible while still knowing
|
|
717
|
-
what is being worked on and by whom.
|
|
718
|
-
|
|
719
|
-
Arc:
|
|
720
|
-
|
|
721
|
-
1. Confirm the task.
|
|
722
|
-
2. Confirm the actor only if it is not already obvious.
|
|
723
|
-
3. Ask whether the run should be planned or unlimited only if that changes the action.
|
|
724
|
-
4. Start the run instead of turning it into intake.
|
|
725
|
-
|
|
726
|
-
Ready to start when:
|
|
727
|
-
|
|
728
|
-
- the task is identified clearly enough
|
|
729
|
-
- the actor is clear enough
|
|
730
|
-
- any timer mode choice that matters is explicit
|
|
731
|
-
|
|
732
|
-
Preferred opening question:
|
|
733
|
-
|
|
734
|
-
- "Which task should I start?"
|
|
735
|
-
|
|
736
|
-
## Work Adjustment
|
|
737
|
-
|
|
738
|
-
Aim: correct tracked minutes truthfully without pretending a live run happened.
|
|
739
|
-
|
|
740
|
-
Arc:
|
|
741
|
-
|
|
742
|
-
1. Ask what existing task or project the minutes belong to.
|
|
743
|
-
2. Ask whether time should be added or removed.
|
|
744
|
-
3. Ask what real work or correction the adjustment is meant to capture.
|
|
745
|
-
4. Ask for a short audit note only if the reason would otherwise be unclear later.
|
|
746
|
-
|
|
747
|
-
Helpful follow-up lanes:
|
|
748
|
-
|
|
749
|
-
- what record the correction belongs to
|
|
750
|
-
- whether the adjustment is positive or negative
|
|
751
|
-
- what truthful reason should stay attached to the correction
|
|
752
|
-
|
|
753
|
-
Ready to act when:
|
|
754
|
-
|
|
755
|
-
- the target task or project is clear
|
|
756
|
-
- the minute delta is clear
|
|
757
|
-
- the note is clear enough when an audit trail matters
|
|
758
|
-
|
|
759
|
-
Preferred opening question:
|
|
760
|
-
|
|
761
|
-
- "Which task or project should this time correction belong to?"
|
|
762
|
-
|
|
763
|
-
## Self Observation
|
|
764
|
-
|
|
765
|
-
Aim: capture one observation clearly enough that it can support later reflection
|
|
766
|
-
without pretending it is already a full interpretation.
|
|
767
|
-
|
|
768
|
-
Arc:
|
|
769
|
-
|
|
770
|
-
1. Ask what was observed.
|
|
771
|
-
2. Reflect the moment without pretending it is already a finished interpretation.
|
|
772
|
-
3. Ask what felt most important to name before it gets smoothed over or forgotten.
|
|
773
|
-
4. Ask when it happened or became noticeable.
|
|
774
|
-
5. Ask what it may connect to: pattern, belief, value, mode, task, project, or note.
|
|
775
|
-
6. Ask for tags or extra context only if that will help later review.
|
|
776
|
-
|
|
777
|
-
If the user already gave the moment or timing, move straight to what they noticed most
|
|
778
|
-
clearly instead of re-asking when.
|
|
779
|
-
|
|
780
|
-
Ready to save when:
|
|
781
|
-
|
|
782
|
-
- the observation itself is clear
|
|
783
|
-
- the lived point of the observation is clear enough to revisit later
|
|
784
|
-
- timing is clear enough
|
|
785
|
-
- any useful links are captured
|
|
786
|
-
|
|
787
|
-
Preferred opening question:
|
|
788
|
-
|
|
789
|
-
- "What did you notice most clearly in that moment?"
|
|
790
|
-
|
|
791
|
-
## Sleep Session
|
|
792
|
-
|
|
793
|
-
Aim: enrich one night's record with reflective context instead of treating it like a
|
|
794
|
-
generic note.
|
|
795
|
-
|
|
796
|
-
Arc:
|
|
797
|
-
|
|
798
|
-
1. Ask what about this night feels worth capturing.
|
|
799
|
-
2. Ask whether the main point is quality, pattern, context, meaning, or links.
|
|
800
|
-
3. Ask what goal, project, task, habit, or Psyche record it should stay connected to.
|
|
801
|
-
4. Ask about tags only if they will help later review.
|
|
802
|
-
|
|
803
|
-
Ready to update when:
|
|
804
|
-
|
|
805
|
-
- the reflective takeaway is clear
|
|
806
|
-
- the relevant links or tags are clear when needed
|
|
807
|
-
|
|
808
|
-
Preferred opening question:
|
|
809
|
-
|
|
810
|
-
- "What about this night feels important enough to remember or connect?"
|
|
811
|
-
|
|
812
|
-
## Workout Session
|
|
813
|
-
|
|
814
|
-
Aim: enrich one workout with subjective effort, mood, meaning, or linked context.
|
|
815
|
-
|
|
816
|
-
Arc:
|
|
817
|
-
|
|
818
|
-
1. Ask what about the session the user wants to preserve.
|
|
819
|
-
2. Ask whether the key layer is effort, mood, meaning, social context, or links.
|
|
820
|
-
3. Ask what it connects to in Forge if links matter.
|
|
821
|
-
4. Ask about tags only if they help later retrieval.
|
|
822
|
-
|
|
823
|
-
Ready to update when:
|
|
824
|
-
|
|
825
|
-
- the reflective point is clear
|
|
826
|
-
- the key mood, effort, meaning, or links are clear when needed
|
|
827
|
-
|
|
828
|
-
Preferred opening question:
|
|
829
|
-
|
|
830
|
-
- "What about this workout feels most worth remembering or connecting?"
|
|
831
|
-
|
|
832
|
-
## Calendar Connection
|
|
833
|
-
|
|
834
|
-
Aim: connect the right provider deliberately without turning setup into a credential
|
|
835
|
-
dump.
|
|
836
|
-
|
|
837
|
-
Arc:
|
|
838
|
-
|
|
839
|
-
1. Ask which provider the user wants to connect and what they want Forge to do with
|
|
840
|
-
it.
|
|
841
|
-
2. Ask whether the goal is read-only visibility, writable planning, or both.
|
|
842
|
-
3. Ask what workflow they are trying to unlock so the connection stays grounded in a
|
|
843
|
-
real use case.
|
|
844
|
-
4. Ask only for the next provider-specific step that still matters, such as auth flow,
|
|
845
|
-
label, or calendar selection.
|
|
846
|
-
5. Move into the actual connection flow once the setup goal is clear.
|
|
847
|
-
|
|
848
|
-
Helpful follow-up lanes:
|
|
849
|
-
|
|
850
|
-
- what calendar workflow the user wants to unlock
|
|
851
|
-
- whether writable projection matters
|
|
852
|
-
- whether the provider requires a local sign-in step instead of manual fields
|
|
853
|
-
|
|
854
|
-
Ready to act when:
|
|
855
|
-
|
|
856
|
-
- the provider is clear
|
|
857
|
-
- the intended sync behavior is clear enough
|
|
858
|
-
- the user-facing workflow that depends on the connection is clear enough
|
|
859
|
-
- the next setup step is obvious
|
|
860
|
-
|
|
861
|
-
Preferred opening question:
|
|
862
|
-
|
|
863
|
-
- "Which calendar provider are you trying to connect, and what do you want Forge to do with it?"
|
|
864
|
-
|
|
865
|
-
## Preference Judgment
|
|
866
|
-
|
|
867
|
-
Aim: capture one pairwise preference decision with the right context, not just log a
|
|
868
|
-
left-versus-right click.
|
|
869
|
-
|
|
870
|
-
Arc:
|
|
871
|
-
|
|
872
|
-
1. Ask what comparison the user is actually trying to settle.
|
|
873
|
-
2. Ask which context or domain this judgment belongs to.
|
|
874
|
-
3. Ask whether the result is left, right, tie, or skip.
|
|
875
|
-
4. Ask for reason tags or strength only if they will improve later interpretation.
|
|
876
|
-
|
|
877
|
-
Helpful follow-up lanes:
|
|
878
|
-
|
|
879
|
-
- what the comparison is really about
|
|
880
|
-
- which preference context should own the signal
|
|
881
|
-
- whether the choice feels decisive, weak, tied, or not ready
|
|
882
|
-
|
|
883
|
-
Ready to act when:
|
|
884
|
-
|
|
885
|
-
- the left and right items are clear
|
|
886
|
-
- the outcome is clear
|
|
887
|
-
- the relevant context or profile is clear enough
|
|
888
|
-
|
|
889
|
-
Preferred opening question:
|
|
890
|
-
|
|
891
|
-
- "What comparison are you actually trying to settle here?"
|
|
892
|
-
|
|
893
|
-
## Preference Signal
|
|
894
|
-
|
|
895
|
-
Aim: store a direct preference signal such as favorite, veto, bookmark, or
|
|
896
|
-
compare-later with the context that makes it interpretable later.
|
|
897
|
-
|
|
898
|
-
Arc:
|
|
899
|
-
|
|
900
|
-
1. Ask what item the user wants to mark.
|
|
901
|
-
2. Ask what signal they want to give it.
|
|
902
|
-
3. Ask what domain or context this belongs to if that is still unclear.
|
|
903
|
-
4. Ask about strength only if the user is expressing a gradient rather than a simple mark.
|
|
904
|
-
|
|
905
|
-
Helpful follow-up lanes:
|
|
906
|
-
|
|
907
|
-
- what item is being marked
|
|
908
|
-
- whether this is a favorite, veto, bookmark, neutral, or compare-later signal
|
|
909
|
-
- what context makes the signal meaningful
|
|
910
|
-
|
|
911
|
-
Ready to act when:
|
|
912
|
-
|
|
913
|
-
- the item is clear
|
|
914
|
-
- the signal type is clear
|
|
915
|
-
- the context is clear enough if it changes interpretation
|
|
916
|
-
|
|
917
|
-
Preferred opening question:
|
|
918
|
-
|
|
919
|
-
- "What do you want Forge to remember about this item right now?"
|
|
920
|
-
|
|
921
|
-
## Movement
|
|
922
|
-
|
|
923
|
-
Aim: clarify whether the user wants to understand time in place, review travel
|
|
924
|
-
behavior, add or update a stay or trip, inspect one place, or link movement context to
|
|
925
|
-
another Forge record before choosing the dedicated route family.
|
|
926
|
-
|
|
927
|
-
Arc:
|
|
928
|
-
|
|
929
|
-
1. Ask whether the user is trying to query behavior, add something manually, update an existing movement item, or link movement to another Forge entity.
|
|
930
|
-
2. Ask whether the focus is a stay, a trip, a place, a timeline window, or a selected span.
|
|
931
|
-
3. Ask for the time window, place, or movement item that makes the question concrete.
|
|
932
|
-
4. Ask what they are trying to notice, preserve, or answer through that movement context.
|
|
933
|
-
5. Route to the dedicated movement read or write path once the surface is clear.
|
|
934
|
-
|
|
935
|
-
Direct action rules:
|
|
936
|
-
|
|
937
|
-
- If the user is clearly talking about a missing-data gap that should become a stay or
|
|
938
|
-
trip, use a user-defined movement box.
|
|
939
|
-
- Preflight with `/api/v1/movement/user-boxes/preflight` when overlap or exact timing
|
|
940
|
-
is unclear, then create the overlay with `/api/v1/movement/user-boxes`.
|
|
941
|
-
- Use `kind: "stay"` when the user stayed in one place and `kind: "trip"` when they
|
|
942
|
-
traveled.
|
|
943
|
-
- Use raw `PATCH /api/v1/movement/stays/:id` or `/api/v1/movement/trips/:id` only for
|
|
944
|
-
editing an already-recorded stay or trip, not for filling a missing span.
|
|
945
|
-
- When the user has already given the real answer, for example "I stayed home during
|
|
946
|
-
that missing block", do not ask a broad review question again. Confirm only the
|
|
947
|
-
interval or place if that is still ambiguous, then act.
|
|
948
|
-
|
|
949
|
-
Helpful follow-up lanes:
|
|
950
|
-
|
|
951
|
-
- whether the user wants time-in-place, travel history, one specific stay or trip, a
|
|
952
|
-
place summary, or a link
|
|
953
|
-
- what time window, place, stay, trip, or selection is in scope
|
|
954
|
-
- whether the question is behavioral, such as time at home, travel frequency, or place
|
|
955
|
-
distribution, versus an edit
|
|
956
|
-
- whether the edit is a missing-gap overlay versus a true recorded stay/trip patch
|
|
957
|
-
- whether the user is trying to repair one recorded movement item versus fill a
|
|
958
|
-
missing span
|
|
959
|
-
|
|
960
|
-
Lane-to-route map:
|
|
961
|
-
|
|
962
|
-
- review one day or month:
|
|
963
|
-
`/api/v1/movement/day` or `/api/v1/movement/month`
|
|
964
|
-
- review long-range behavior or dominant places:
|
|
965
|
-
`/api/v1/movement/all-time`, `/api/v1/movement/places`, or `/api/v1/movement/selection`
|
|
966
|
-
- inspect the full life timeline:
|
|
967
|
-
`/api/v1/movement/timeline`
|
|
968
|
-
- inspect one trip:
|
|
969
|
-
`/api/v1/movement/trips/:id`
|
|
970
|
-
- fill a missing span:
|
|
971
|
-
`/api/v1/movement/user-boxes/preflight` then `/api/v1/movement/user-boxes`
|
|
972
|
-
- repair or revise one saved overlay:
|
|
973
|
-
`/api/v1/movement/user-boxes/:id`
|
|
974
|
-
- repair one recorded automatic box:
|
|
975
|
-
`/api/v1/movement/automatic-boxes/:id/invalidate`
|
|
976
|
-
- edit an already-recorded stay, trip, or trip point:
|
|
977
|
-
`/api/v1/movement/stays/:id`, `/api/v1/movement/trips/:id`, or `/api/v1/movement/trips/:id/points/:pointId`
|
|
978
|
-
|
|
979
|
-
Ready to act when:
|
|
980
|
-
|
|
981
|
-
- the movement surface is clear
|
|
982
|
-
- the time range, place, stay, trip, or selection is clear enough
|
|
983
|
-
- the user goal is clear enough to tell review, overlay, and repair apart
|
|
984
|
-
- the user goal is clear enough to choose the route
|
|
985
|
-
|
|
986
|
-
Preferred opening question:
|
|
987
|
-
|
|
988
|
-
- "Are you trying to understand where you stayed and traveled, change one stay or trip, or answer a question about your movement behavior?"
|
|
989
|
-
|
|
990
|
-
## Life Force
|
|
991
|
-
|
|
992
|
-
Aim: clarify whether the user wants to review current energy state, change durable
|
|
993
|
-
profile assumptions, edit weekday curves, or log a real-time fatigue signal.
|
|
994
|
-
|
|
995
|
-
Arc:
|
|
996
|
-
|
|
997
|
-
1. Ask whether the job is overview, profile change, weekday-template change, or fatigue signaling.
|
|
998
|
-
2. Ask what part of the current energy picture feels most important or inaccurate.
|
|
999
|
-
3. Ask what should stay true if they are changing profile or template assumptions.
|
|
1000
|
-
4. Route to the dedicated life-force path once the lane is clear.
|
|
1001
|
-
|
|
1002
|
-
Helpful follow-up lanes:
|
|
1003
|
-
|
|
1004
|
-
- whether the user wants explanation, editing, or signaling
|
|
1005
|
-
- what part of the energy model feels off or useful
|
|
1006
|
-
- what durable assumption versus real-time state is being changed
|
|
1007
|
-
- whether the user is describing a stable weekly shape or just how today feels
|
|
1008
|
-
|
|
1009
|
-
Lane-to-route map:
|
|
1010
|
-
|
|
1011
|
-
- understand the current energy picture:
|
|
1012
|
-
`GET /api/v1/life-force`
|
|
1013
|
-
- change durable profile assumptions:
|
|
1014
|
-
`PATCH /api/v1/life-force/profile`
|
|
1015
|
-
- change one weekday curve or template:
|
|
1016
|
-
`PUT /api/v1/life-force/templates/:weekday`
|
|
1017
|
-
- log a real-time tired or recovered signal:
|
|
1018
|
-
`POST /api/v1/life-force/fatigue-signals`
|
|
1019
|
-
|
|
1020
|
-
Ready to act when:
|
|
1021
|
-
|
|
1022
|
-
- the life-force lane is clear
|
|
1023
|
-
- the relevant weekday, profile field, or signal is clear enough
|
|
1024
|
-
- the user intent is clear enough to choose overview versus mutation
|
|
1025
|
-
|
|
1026
|
-
Preferred opening question:
|
|
1027
|
-
|
|
1028
|
-
- "Do you want to understand the current energy picture, change how Forge models it, or log how you feel right now?"
|
|
1029
|
-
|
|
1030
|
-
## Workbench
|
|
1031
|
-
|
|
1032
|
-
Aim: clarify whether the user wants to inspect a flow, edit it, run it, or inspect
|
|
1033
|
-
results so the agent uses the dedicated workbench contract instead of vague CRUD.
|
|
1034
|
-
|
|
1035
|
-
Arc:
|
|
1036
|
-
|
|
1037
|
-
1. Ask whether the job is flow discovery, one flow edit, execution, run history, published output, node-level inspection, or latest-node-output lookup.
|
|
1038
|
-
2. Ask which flow, slug, run, or node the request is about.
|
|
1039
|
-
3. Ask whether they need the flow contract, a run result, a published output, or a node result.
|
|
1040
|
-
4. Ask what the user is trying to learn, repair, or publish through that flow.
|
|
1041
|
-
5. Route to the dedicated workbench route family once the execution lane is clear.
|
|
1042
|
-
|
|
1043
|
-
Helpful follow-up lanes:
|
|
1044
|
-
|
|
1045
|
-
- whether the user wants structure, execution, or results
|
|
1046
|
-
- what exact flow or run is in scope
|
|
1047
|
-
- whether they need whole-flow output or node-level detail
|
|
1048
|
-
- whether they need a public input contract or a published output instead of a debug trace
|
|
1049
|
-
|
|
1050
|
-
Lane-to-route map:
|
|
1051
|
-
|
|
1052
|
-
- discover or inspect flows:
|
|
1053
|
-
`/api/v1/workbench/flows`, `/api/v1/workbench/flows/:id`, or `/api/v1/workbench/flows/by-slug/:slug`
|
|
1054
|
-
- create, update, or delete a flow:
|
|
1055
|
-
`POST/PATCH/DELETE /api/v1/workbench/flows`
|
|
1056
|
-
- run a known flow:
|
|
1057
|
-
`/api/v1/workbench/flows/:id/run`
|
|
1058
|
-
- run from a payload-first contract:
|
|
1059
|
-
`/api/v1/workbench/run`
|
|
1060
|
-
- inspect published output or run history:
|
|
1061
|
-
`/api/v1/workbench/flows/:id/output` or `/api/v1/workbench/flows/:id/runs`
|
|
1062
|
-
- inspect one run or node result:
|
|
1063
|
-
`/api/v1/workbench/flows/:id/runs/:runId`,
|
|
1064
|
-
`/api/v1/workbench/flows/:id/runs/:runId/nodes`,
|
|
1065
|
-
`/api/v1/workbench/flows/:id/runs/:runId/nodes/:nodeId`
|
|
1066
|
-
- inspect the latest successful node output:
|
|
1067
|
-
`/api/v1/workbench/flows/:id/nodes/:nodeId/output`
|
|
1068
|
-
- inspect available box inputs:
|
|
1069
|
-
`/api/v1/workbench/catalog/boxes`
|
|
1070
|
-
|
|
1071
|
-
Ready to act when:
|
|
1072
|
-
|
|
1073
|
-
- the workbench lane is clear
|
|
1074
|
-
- the flow, run, or node is clear enough
|
|
1075
|
-
- the requested read or mutation is clear enough to choose the route
|
|
1076
|
-
|
|
1077
|
-
Preferred opening question:
|
|
1078
|
-
|
|
1079
|
-
- "Are you trying to inspect a flow, change it, run it, or inspect one run's outputs?"
|
|
1080
|
-
|
|
1081
|
-
## Preference Catalog
|
|
1082
|
-
|
|
1083
|
-
Aim: define a useful comparison pool, not just a list with no decision purpose.
|
|
1084
|
-
|
|
1085
|
-
Arc:
|
|
1086
|
-
|
|
1087
|
-
1. Ask what preference question this catalog is meant to support.
|
|
1088
|
-
2. Ask what domain or concept area it belongs to.
|
|
1089
|
-
3. Ask what kinds of items should be included or excluded.
|
|
1090
|
-
4. Offer a working catalog name once the purpose is clear.
|
|
1091
|
-
|
|
1092
|
-
Helpful follow-up lanes:
|
|
1093
|
-
|
|
1094
|
-
- what decision or taste question this catalog should help answer
|
|
1095
|
-
- what belongs in scope
|
|
1096
|
-
- what would make the catalog immediately useful instead of bloated
|
|
1097
|
-
|
|
1098
|
-
Ready to save when:
|
|
1099
|
-
|
|
1100
|
-
- the catalog has a stable purpose
|
|
1101
|
-
- the domain is clear
|
|
1102
|
-
- the boundary of what belongs inside is clear enough
|
|
1103
|
-
|
|
1104
|
-
Preferred opening question:
|
|
1105
|
-
|
|
1106
|
-
- "What decision or taste question should this catalog help with?"
|
|
1107
|
-
|
|
1108
|
-
## Preference Catalog Item
|
|
1109
|
-
|
|
1110
|
-
Aim: add one candidate in a way that will make later comparisons feel clear and fair.
|
|
1111
|
-
|
|
1112
|
-
Arc:
|
|
1113
|
-
|
|
1114
|
-
1. Ask what makes this item worth including in the catalog.
|
|
1115
|
-
2. Ask what catalog or domain it belongs to if that is still unclear.
|
|
1116
|
-
3. Ask for a short clarifying description only if the label would be ambiguous later.
|
|
1117
|
-
4. Ask about aliases or tags only if they help retrieval.
|
|
1118
|
-
|
|
1119
|
-
Helpful follow-up lanes:
|
|
1120
|
-
|
|
1121
|
-
- why this item belongs in the comparison pool
|
|
1122
|
-
- what would distinguish it from nearby items
|
|
1123
|
-
- whether the label alone will be clear later
|
|
1124
|
-
|
|
1125
|
-
Ready to save when:
|
|
1126
|
-
|
|
1127
|
-
- the item label is clear
|
|
1128
|
-
- the parent catalog is clear
|
|
1129
|
-
- there is enough context to recognize it later if the label is ambiguous
|
|
1130
|
-
|
|
1131
|
-
Preferred opening question:
|
|
1132
|
-
|
|
1133
|
-
- "What makes this option meaningfully worth comparing?"
|
|
1134
|
-
|
|
1135
|
-
## Preference Context
|
|
1136
|
-
|
|
1137
|
-
Aim: define a real operating mode for preferences, not a decorative label.
|
|
1138
|
-
|
|
1139
|
-
Arc:
|
|
1140
|
-
|
|
1141
|
-
1. Ask what situation or mode this context is meant to represent.
|
|
1142
|
-
2. Ask what decisions or comparisons should feel different inside that context.
|
|
1143
|
-
3. Ask what should count inside that context and what should stay outside it.
|
|
1144
|
-
4. Ask whether it should be active, default, or kept separate from other evidence.
|
|
1145
|
-
5. Offer a concise name if the mode is clearer than the wording.
|
|
1146
|
-
|
|
1147
|
-
Helpful follow-up lanes:
|
|
1148
|
-
|
|
1149
|
-
- what decisions this context should shape
|
|
1150
|
-
- what belongs inside versus outside the mode
|
|
1151
|
-
- whether it should be default or explicitly separate
|
|
1152
|
-
|
|
1153
|
-
Ready to save when:
|
|
1154
|
-
|
|
1155
|
-
- the context has a stable purpose
|
|
1156
|
-
- its boundary is clear enough to use consistently
|
|
1157
|
-
- any default or sharing choice that matters is clear
|
|
1158
|
-
|
|
1159
|
-
Preferred opening question:
|
|
1160
|
-
|
|
1161
|
-
- "In what situation should Forge treat your preferences differently here?"
|
|
1162
|
-
|
|
1163
|
-
## Preference Item
|
|
1164
|
-
|
|
1165
|
-
Aim: save one concrete preference candidate or signal without losing the context that
|
|
1166
|
-
makes it meaningful.
|
|
1167
|
-
|
|
1168
|
-
Arc:
|
|
1169
|
-
|
|
1170
|
-
1. Ask what preference or taste question this item belongs to.
|
|
1171
|
-
2. Ask what domain or context it should live in.
|
|
1172
|
-
3. Ask whether the user is trying to save it as a comparison candidate or as a direct
|
|
1173
|
-
signal such as favorite, veto, or compare-later.
|
|
1174
|
-
4. Ask what makes this item distinct enough to compare usefully only if it is still a
|
|
1175
|
-
comparison candidate.
|
|
1176
|
-
5. If the user is really trying to send a direct signal, ask only for the missing
|
|
1177
|
-
detail and then act.
|
|
1178
|
-
|
|
1179
|
-
Helpful follow-up lanes:
|
|
1180
|
-
|
|
1181
|
-
- what domain this belongs to
|
|
1182
|
-
- what context makes the preference meaningful
|
|
1183
|
-
- whether this is a signal or a comparison candidate
|
|
1184
|
-
- what distinguishes the item from nearby options
|
|
1185
|
-
|
|
1186
|
-
Ready to act when:
|
|
1187
|
-
|
|
1188
|
-
- the item is clear
|
|
1189
|
-
- the domain or profile context is clear enough
|
|
1190
|
-
- any needed distinguishing detail is captured
|
|
1191
|
-
|
|
1192
|
-
Preferred opening question:
|
|
1193
|
-
|
|
1194
|
-
- "What preference are you trying to make clearer by saving this item?"
|
|
1195
|
-
|
|
1196
|
-
## Questionnaire Instrument
|
|
1197
|
-
|
|
1198
|
-
Aim: clarify whether the user is authoring a reusable questionnaire and what the
|
|
1199
|
-
instrument is for.
|
|
1200
|
-
|
|
1201
|
-
Arc:
|
|
1202
|
-
|
|
1203
|
-
1. Ask what the questionnaire is meant to measure or surface.
|
|
1204
|
-
2. Ask who it is for and when it should be used.
|
|
1205
|
-
3. Ask what kind of honest moment or decision it should help someone answer before
|
|
1206
|
-
getting into item wording.
|
|
1207
|
-
4. Reflect the practical use case back in plain language.
|
|
1208
|
-
5. Move to draft creation once the purpose is clear.
|
|
1209
|
-
|
|
1210
|
-
Helpful follow-up lanes:
|
|
1211
|
-
|
|
1212
|
-
- what honest moment, decision, or review this instrument should support
|
|
1213
|
-
- who will answer it and under what circumstances
|
|
1214
|
-
- what would make the instrument distinct instead of redundant
|
|
1215
|
-
|
|
1216
|
-
Ready to act when:
|
|
1217
|
-
|
|
1218
|
-
- the purpose is clear
|
|
1219
|
-
- the audience or use context is clear
|
|
1220
|
-
- the instrument is distinct enough to draft
|
|
1221
|
-
|
|
1222
|
-
Preferred opening question:
|
|
1223
|
-
|
|
1224
|
-
- "What would this questionnaire help someone notice or track?"
|
|
1225
|
-
|
|
1226
|
-
## Questionnaire Run
|
|
1227
|
-
|
|
1228
|
-
Aim: clarify whether the user wants to start, continue, or complete one answer session.
|
|
1229
|
-
|
|
1230
|
-
Arc:
|
|
1231
|
-
|
|
1232
|
-
1. Ask what the user wants from the run right now: start, continue, review, or finish.
|
|
1233
|
-
2. Ask which questionnaire or existing run this is about.
|
|
1234
|
-
3. Ask what feels most stuck, unfinished, or important if the run is already in progress.
|
|
1235
|
-
4. If answering is still in progress, ask only for the next answer or note that matters.
|
|
1236
|
-
|
|
1237
|
-
Helpful follow-up lanes:
|
|
1238
|
-
|
|
1239
|
-
- whether the job is to begin, resume, review, or complete
|
|
1240
|
-
- what questionnaire or run is in scope
|
|
1241
|
-
- what next answer, uncertainty, or note is actually blocking progress
|
|
1242
|
-
|
|
1243
|
-
Ready to act when:
|
|
1244
|
-
|
|
1245
|
-
- the questionnaire is identified
|
|
1246
|
-
- the user intent for the run is clear
|
|
1247
|
-
|
|
1248
|
-
Preferred opening question:
|
|
1249
|
-
|
|
1250
|
-
- "Do you want to start, continue, review, or finish a questionnaire run?"
|
|
1251
|
-
|
|
1252
|
-
## Event Type
|
|
1253
|
-
|
|
1254
|
-
Aim: create a reusable incident category that will actually help future reports stay
|
|
1255
|
-
consistent.
|
|
1256
|
-
|
|
1257
|
-
Arc:
|
|
1258
|
-
|
|
1259
|
-
1. Ask what kind of moment or incident this label should capture in lived terms.
|
|
1260
|
-
2. Reflect the repeated moment back in plain language before narrowing the wording.
|
|
1261
|
-
3. Ask how narrow or broad it should be.
|
|
1262
|
-
4. Ask what would count as inside versus outside the category if that boundary is
|
|
1263
|
-
still fuzzy.
|
|
1264
|
-
5. Offer a concise label if the lived meaning is clearer than the wording.
|
|
1265
|
-
6. Ask for a short description only if the label could be ambiguous later.
|
|
1266
|
-
|
|
1267
|
-
If the user already offered a candidate label, keep the wording provisional and ask
|
|
1268
|
-
what kinds of moments belong inside it before you ask whether the label is right.
|
|
1269
|
-
|
|
1270
|
-
Ready to save when:
|
|
1271
|
-
|
|
1272
|
-
- the label is stable
|
|
1273
|
-
- the intended category is clear enough that future reports will use it consistently
|
|
1274
|
-
|
|
1275
|
-
Preferred opening question:
|
|
1276
|
-
|
|
1277
|
-
- "What kind of moment keeps happening that you want future reports to name the same way each time?"
|
|
1278
|
-
|
|
1279
|
-
## Emotion Definition
|
|
1280
|
-
|
|
1281
|
-
Aim: define one reusable emotion entry clearly enough that future reports stay precise.
|
|
1282
|
-
|
|
1283
|
-
Arc:
|
|
1284
|
-
|
|
1285
|
-
1. Ask what this feeling is like in lived terms when the user says it.
|
|
1286
|
-
2. Reflect the felt signature back in plain language before you settle the label.
|
|
1287
|
-
3. Ask what distinguishes it from nearby emotions if that matters.
|
|
1288
|
-
4. Offer a concise label if the felt meaning is clearer than the wording.
|
|
1289
|
-
5. Ask for a short description only if later reports would benefit from it.
|
|
1290
|
-
|
|
1291
|
-
Helpful follow-up lanes:
|
|
1292
|
-
|
|
1293
|
-
- what tells the user this is that feeling and not a nearby one
|
|
1294
|
-
- what kind of moments this emotion name should be used for later
|
|
1295
|
-
|
|
1296
|
-
Ready to save when:
|
|
1297
|
-
|
|
1298
|
-
- the label is clear
|
|
1299
|
-
- the meaning is clear enough to reuse later
|
|
1300
|
-
|
|
1301
|
-
Preferred opening question:
|
|
1302
|
-
|
|
1303
|
-
- "When this feeling is present, what tells you it is this feeling and not a nearby one?"
|