@thinkingai/ae-cli 6.1.24 → 6.1.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (195) hide show
  1. package/README.md +35 -10
  2. package/README.zh.md +32 -10
  3. package/bin/ae-cli.js +6 -1
  4. package/cli-installation-guide.md +91 -0
  5. package/dist/{auth-XZNXFRJS.js → auth-YHMC3GDH.js} +168 -10
  6. package/dist/automation-NWWVLWG2.js +459 -0
  7. package/dist/{capability-FYTU3X6L.js → capability-3QLLIVFB.js} +11 -6
  8. package/dist/chunk-4655PUNX.js +43 -0
  9. package/dist/{chunk-4NRCTUZJ.js → chunk-5XJYLEVC.js} +4 -4
  10. package/dist/{chunk-JOCDD4ON.js → chunk-7QXISROD.js} +1 -1
  11. package/dist/{chunk-EQ255HKO.js → chunk-AP7YP2NX.js} +2 -2
  12. package/dist/{chunk-DVMLWQD4.js → chunk-CT7QDJS6.js} +2 -2
  13. package/dist/chunk-D6ACFILC.js +56 -0
  14. package/dist/{chunk-HFGZGYCG.js → chunk-EOYSKMXN.js} +264 -10
  15. package/dist/{chunk-57RRFUEZ.js → chunk-FMNNGNYO.js} +43 -8
  16. package/dist/{chunk-7XGFSUOM.js → chunk-GIK6EDUG.js} +291 -84
  17. package/dist/chunk-HVHR4SCP.js +133 -0
  18. package/dist/{chunk-CCS66K4K.js → chunk-KAEHZZH4.js} +3 -3
  19. package/dist/{chunk-DX5CDO34.js → chunk-KFNMQTZI.js} +580 -214
  20. package/dist/{chunk-HBGADCKA.js → chunk-PLE722AJ.js} +28 -11
  21. package/dist/chunk-RK6GLDGI.js +27 -0
  22. package/dist/{chunk-V2NUHPXF.js → chunk-S6M42KND.js} +1 -1
  23. package/dist/{chunk-7FTTULED.js → chunk-UQ77JXYH.js} +7 -3
  24. package/dist/{chunk-MAPZ7VB6.js → chunk-WNGFSIOB.js} +20 -1
  25. package/dist/{chunk-VYXXOKYS.js → chunk-XCHAYMSF.js} +7 -4
  26. package/dist/{community-report-client-CU22W53K.js → community-report-client-PEERQCX2.js} +1 -1
  27. package/dist/{config-XO3LI3SA.js → config-AHPMEW5A.js} +25 -6
  28. package/dist/context-YAE3QXP3.js +136 -0
  29. package/dist/{data-integration-HNGUKFIC.js → data-integration-HESZET7E.js} +6 -6
  30. package/dist/index.js +167 -53
  31. package/dist/{local-data-upload-client-GTRIT64F.js → local-data-upload-client-TWMHFLUA.js} +1 -1
  32. package/dist/memory-62BJOULV.js +580 -0
  33. package/dist/{metadata-DI5BMYFU.js → metadata-C7CEDHOJ.js} +7 -7
  34. package/dist/{model-RNPQXIBI.js → model-SBV2JFJI.js} +9 -5
  35. package/dist/{personal-semantic-preference-5C3WUXFI.js → personal-semantic-preference-QECDPHND.js} +119 -11
  36. package/dist/project-semantic-Z4QAMBWF.js +356 -0
  37. package/dist/{sync-O45NXEQY.js → sync-SU33KYX7.js} +12 -8
  38. package/dist/{te-agent-K5MSPNHJ.js → te-agent-F5QBZSQA.js} +423 -494
  39. package/dist/{te-analysis-AISWCOOZ.js → te-analysis-2ECAAIFK.js} +1227 -154
  40. package/dist/{te-community-4OYU3BDA.js → te-community-PFLDLPP4.js} +3 -3
  41. package/dist/{te-dataops-NFIPB6FX.js → te-dataops-FOQSRIAZ.js} +644 -276
  42. package/dist/{te-engage-BAM3GBFX.js → te-engage-QKUGIWSR.js} +6 -6
  43. package/dist/{te-experiment-GUTZXZ5Z.js → te-experiment-26PXR2UO.js} +6 -6
  44. package/dist/{te-kb-3TS73NO6.js → te-kb-MHDOST62.js} +666 -244
  45. package/dist/{te-system-STMHLS5J.js → te-system-J2FQF5ER.js} +6 -6
  46. package/dist/{te-team-3I5AOX3N.js → te-team-5UOZPTU3.js} +6 -6
  47. package/dist/things-VPPXXLHB.js +1091 -0
  48. package/dist/{update-RZXLPCRH.js → update-EEUTEI6R.js} +59 -51
  49. package/dist/workspace-O3EEIYQM.js +554 -0
  50. package/package.json +30 -11
  51. package/skills/ae-agent/SKILL.md +95 -140
  52. package/skills/ae-agent/references/add-model.md +1 -1
  53. package/skills/ae-agent/references/create-agent.md +1 -1
  54. package/skills/ae-agent/references/find-archived-conversations.md +12 -5
  55. package/skills/ae-agent/references/get-agent.md +1 -1
  56. package/skills/ae-agent/references/list-agents.md +2 -2
  57. package/skills/ae-agent/references/list-models.md +2 -2
  58. package/skills/ae-agent/references/notification.md +40 -0
  59. package/skills/ae-agent/references/restore-conversation.md +3 -1
  60. package/skills/ae-analysis/SKILL.md +55 -23
  61. package/skills/ae-analysis/references/adhoc_export.md +1 -1
  62. package/skills/ae-analysis/references/adhoc_run.md +1 -1
  63. package/skills/ae-analysis/references/agent_review_submit_to_page.md +2 -0
  64. package/skills/ae-analysis/references/ai_models/event.md +6 -1
  65. package/skills/ae-analysis/references/ai_models/funnel.md +12 -4
  66. package/skills/ae-analysis/references/ai_models/heat_map.md +23 -0
  67. package/skills/ae-analysis/references/ai_models/interval.md +24 -0
  68. package/skills/ae-analysis/references/ai_models/path.md +20 -0
  69. package/skills/ae-analysis/references/ai_models/prop_analysis.md +2 -0
  70. package/skills/ae-analysis/references/ai_models/rank_list.md +30 -0
  71. package/skills/ae-analysis/references/ai_models/retention.md +45 -1
  72. package/skills/ae-analysis/references/ai_models/revenue.md +20 -2
  73. package/skills/ae-analysis/references/ai_models/session.md +76 -0
  74. package/skills/ae-analysis/references/ai_models/tag.md +2 -0
  75. package/skills/ae-analysis/references/ai_models.md +100 -3
  76. package/skills/ae-analysis/references/analysis_data_retrieval.md +4 -0
  77. package/skills/ae-analysis/references/analysis_drilldown_contract.md +4 -1
  78. package/skills/ae-analysis/references/asset_batch_info_export.md +10 -0
  79. package/skills/ae-analysis/references/asset_batch_sql_export.md +13 -1
  80. package/skills/ae-analysis/references/asset_export.md +12 -1
  81. package/skills/ae-analysis/references/asset_list.md +1 -0
  82. package/skills/ae-analysis/references/asset_search.md +11 -5
  83. package/skills/ae-analysis/references/bi_panel_list.md +1 -1
  84. package/skills/ae-analysis/references/catalog_list.md +1 -1
  85. package/skills/ae-analysis/references/collaboration.md +48 -0
  86. package/skills/ae-analysis/references/command_index.md +29 -19
  87. package/skills/ae-analysis/references/dashboard_list.md +4 -4
  88. package/skills/ae-analysis/references/dashboard_move.md +21 -0
  89. package/skills/ae-analysis/references/dashboard_report_add.md +2 -0
  90. package/skills/ae-analysis/references/dashboard_report_data_export.md +2 -0
  91. package/skills/ae-analysis/references/dashboard_report_get.md +19 -0
  92. package/skills/ae-analysis/references/dashboard_report_update.md +27 -0
  93. package/skills/ae-analysis/references/dashboard_update.md +1 -1
  94. package/skills/ae-analysis/references/drilldown_session_details_run.md +41 -0
  95. package/skills/ae-analysis/references/event_export.md +3 -1
  96. package/skills/ae-analysis/references/event_report_presentation.md +76 -0
  97. package/skills/ae-analysis/references/feedback_submit.md +37 -0
  98. package/skills/ae-analysis/references/governance_recommendation_auto_review.md +77 -0
  99. package/skills/ae-analysis/references/governance_recommendation_export.md +11 -0
  100. package/skills/ae-analysis/references/metadata_resolution.md +18 -3
  101. package/skills/ae-analysis/references/metric_export.md +3 -1
  102. package/skills/ae-analysis/references/metric_list.md +1 -1
  103. package/skills/ae-analysis/references/operation_record_export.md +10 -0
  104. package/skills/ae-analysis/references/personal_semantic_preference_add.md +2 -2
  105. package/skills/ae-analysis/references/personal_semantic_preference_get.md +4 -4
  106. package/skills/ae-analysis/references/personal_semantic_preference_list.md +4 -4
  107. package/skills/ae-analysis/references/personal_semantic_preference_review.md +9 -0
  108. package/skills/ae-analysis/references/personal_semantic_preference_review_list.md +7 -0
  109. package/skills/ae-analysis/references/personal_semantic_preference_submit.md +7 -0
  110. package/skills/ae-analysis/references/project_semantic_knowledge_wiki.md +91 -32
  111. package/skills/ae-analysis/references/project_semantic_knowledge_wiki_plan_schema.md +99 -1
  112. package/skills/ae-analysis/references/property_export.md +3 -1
  113. package/skills/ae-analysis/references/report_create.md +18 -4
  114. package/skills/ae-analysis/references/report_data_export.md +6 -0
  115. package/skills/ae-analysis/references/report_get.md +7 -1
  116. package/skills/ae-analysis/references/report_list.md +5 -5
  117. package/skills/ae-analysis/references/report_update.md +21 -4
  118. package/skills/ae-analysis/references/sql_table_columns.md +4 -4
  119. package/skills/ae-analysis/references/sql_table_list.md +5 -5
  120. package/skills/ae-analysis/references/system_query_monitor_overview.md +2 -0
  121. package/skills/ae-analysis/references/system_query_task_cancel.md +2 -0
  122. package/skills/ae-analysis/references/system_query_task_export.md +6 -2
  123. package/skills/ae-analysis/references/system_query_task_get.md +2 -0
  124. package/skills/ae-analysis/references/system_query_task_list.md +7 -3
  125. package/skills/ae-analysis/references/system_query_task_options.md +2 -2
  126. package/skills/ae-analysis/references/system_query_task_realtime_list.md +15 -0
  127. package/skills/ae-analysis/references/user_cluster_models.md +8 -0
  128. package/skills/ae-analysis/references/user_tag_create.md +7 -1
  129. package/skills/ae-analysis/references/user_tag_get.md +1 -1
  130. package/skills/ae-analysis/references/user_tag_models.md +20 -2
  131. package/skills/ae-analysis/references/user_tag_refresh.md +1 -1
  132. package/skills/ae-analysis/references/user_tag_update.md +2 -2
  133. package/skills/ae-analysis/scripts/project-semantic-knowledge-wiki/build-empty-skeleton.mjs +105 -0
  134. package/skills/ae-analysis/scripts/project-semantic-knowledge-wiki/build-project-semantic-wiki.mjs +669 -29
  135. package/skills/ae-analysis/scripts/project-semantic-knowledge-wiki/company-kb.mjs +21 -8
  136. package/skills/ae-analysis/scripts/project-semantic-knowledge-wiki/default-compile-rules.md +28 -10
  137. package/skills/ae-analysis/scripts/project-semantic-knowledge-wiki/default-compile-schema.md +66 -0
  138. package/skills/ae-analysis/scripts/project-semantic-knowledge-wiki/generate-build-ir.mjs +285 -24
  139. package/skills/ae-analysis/scripts/project-semantic-knowledge-wiki/package-wiki-source-zip.mjs +262 -30
  140. package/skills/ae-analysis/scripts/project-semantic-knowledge-wiki/plan-kb-source-sync.mjs +1 -1
  141. package/skills/ae-analysis/scripts/project-semantic-knowledge-wiki/precompiled-source.mjs +46 -2
  142. package/skills/ae-analysis/scripts/project-semantic-knowledge-wiki/prepare-compile-schema.mjs +64 -0
  143. package/skills/ae-analysis/scripts/project-semantic-knowledge-wiki/refresh-state-parts.mjs +91 -0
  144. package/skills/ae-automation/SKILL.md +16 -0
  145. package/skills/ae-automation/references/cli.md +53 -0
  146. package/skills/ae-automation/references/command_index.md +17 -0
  147. package/skills/ae-capability/SKILL.md +73 -2
  148. package/skills/ae-capability/references/collaboration.md +48 -0
  149. package/skills/ae-community/SKILL.md +5 -1
  150. package/skills/ae-community/references/collaboration.md +48 -0
  151. package/skills/ae-current-context/SKILL.md +3 -2
  152. package/skills/ae-data-integration/SKILL.md +4 -0
  153. package/skills/ae-data-integration/references/collaboration.md +48 -0
  154. package/skills/ae-dataops/SKILL.md +54 -74
  155. package/skills/ae-dataops/references/collaboration.md +48 -0
  156. package/skills/ae-dataops/references/dataops-backfill.md +23 -18
  157. package/skills/ae-dataops/references/dataops-flow-create.md +74 -23
  158. package/skills/ae-dataops/references/dataops-flow-monitor.md +45 -13
  159. package/skills/ae-dataops/references/dataops-integration.md +57 -30
  160. package/skills/ae-dataops/references/dataops-query.md +21 -4
  161. package/skills/ae-dataops/references/dataops-table.md +143 -11
  162. package/skills/ae-engage/SKILL.md +21 -6
  163. package/skills/ae-engage/references/channel-mgmt.md +3 -3
  164. package/skills/ae-engage/references/collaboration.md +48 -0
  165. package/skills/ae-engage/references/scene-config-channel.md +4 -4
  166. package/skills/ae-generate-tracking-plan/SKILL.md +4 -0
  167. package/skills/ae-generate-tracking-plan/references/collaboration.md +48 -0
  168. package/skills/ae-kb/SKILL.md +70 -12
  169. package/skills/ae-kb/references/analysis-workflow.md +73 -36
  170. package/skills/ae-kb/references/collaboration.md +48 -0
  171. package/skills/ae-kb/references/query-workflow.md +67 -33
  172. package/skills/ae-kb/references/schema-import.md +32 -0
  173. package/skills/ae-kb/references/source-mutations.md +6 -4
  174. package/skills/ae-kb/references/text-sources.md +53 -0
  175. package/skills/ae-kb-discovery/SKILL.md +8 -3
  176. package/skills/ae-kb-discovery/references/collaboration.md +48 -0
  177. package/skills/ae-metadata/SKILL.md +20 -12
  178. package/skills/ae-metadata/references/collaboration.md +48 -0
  179. package/skills/ae-team/SKILL.md +23 -17
  180. package/skills/ae-things/SKILL.md +85 -0
  181. package/skills/ae-things/references/cli.md +103 -0
  182. package/skills/ae-things-progress/SKILL.md +43 -0
  183. package/skills/ae-things-review/SKILL.md +42 -0
  184. package/skills/ae-workspace/SKILL.md +43 -0
  185. package/skills/ae-workspace/references/commands.md +51 -0
  186. package/dist/chunk-E2JKXMVO.js +0 -29
  187. package/dist/context-IFJI3LIT.js +0 -46
  188. package/dist/memory-QGPSNCQS.js +0 -892
  189. package/dist/project-semantic-3LF6Q6JZ.js +0 -1119
  190. package/skills/ae-agent/references/create-automation.md +0 -125
  191. package/skills/ae-agent/references/list-automations.md +0 -56
  192. package/skills/ae-agent/references/update-automation.md +0 -107
  193. package/skills/ae-project-semantic/SKILL.md +0 -193
  194. package/skills/ae-project-semantic/references/query-routing-v5.md +0 -165
  195. package/skills/ae-project-semantic/references/recommendation-quality.md +0 -68
@@ -1,125 +0,0 @@
1
- # agent +create-automation (Create Automation)
2
-
3
- > **Prerequisite:** Follow the Global AE CLI Rules in [`../SKILL.md`](../SKILL.md).
4
-
5
- Domain: **Automations / write**
6
-
7
- ```text
8
- Transition status: transitional
9
- Owning module: te-claude automation
10
- Current transport: POST /api/sandbox/agent/automations
11
- Gateway target: TBD (no equivalent Gateway capability is currently registered)
12
- Review after: 2026-10-07
13
- Exit condition: Migrate when the Gateway exposes equivalent workspace-scoped automation creation.
14
- ```
15
-
16
- ## Use Cases
17
- - Create an Agent automation task that runs on a schedule (hourly / daily / weekly / monthly or cron).
18
- - Returns the newly created automation object including its `id` and initial `status`.
19
- - Automations are **enabled by default**; pass `--enabled false` only when the user explicitly asks to create the task without enabling it.
20
- - Automations create a new conversation for every run by default. Pass `--reuse-conversation true` only when the user explicitly wants future runs to continue in one conversation.
21
-
22
- ## Mandatory Rules (MUST)
23
- - `--name` and `--message` are required.
24
- - A schedule is required: provide either `--cron` or a `--schedule-kind` (with its time/day fields). `--cron` and `--schedule-kind` are mutually exclusive.
25
- - `--agent-id` and `--agent-name` are mutually exclusive. Obtain a real Agent ID via `+list-agents` — do not guess.
26
- - In a chat runtime, omitted `--conversation-id`, `--agent-id`, and `--model` values fall back to `TE_AGENT_CONVERSATION_ID`, `TE_AGENT_CURRENT_AGENT_ID`, and `TE_AGENT_CURRENT_MODEL_ID`. Explicit flags always take precedence; `--agent-name` intentionally suppresses the current Agent ID fallback.
27
- - Workspace selection is independent of Agent selection: `--agent-space-id` explicitly selects the workspace. If omitted, the server inherits the accessible conversation's workspace when available, otherwise the personal default workspace. The CLI intentionally omits `agentSpaceId` in this case to preserve inheritance and compatibility with earlier servers.
28
- - Workspace-aware servers return `automation.agentSpaceId`. Pass that ID to subsequent `+list-automations` and `+update-automation` calls; those commands otherwise use the personal default workspace, even when invoked from a conversation.
29
- - On servers without workspace support, omit `--agent-space-id` and keep the original creation flow. If the response lacks `agentSpaceId`, omit the flag in later calls rather than inventing an ID. Older servers may ignore the new parameter; it does not add workspace isolation to them.
30
- - This command creates Agent automations only. It does not create Agent Team scheduled tasks.
31
- - JSON flags must be valid JSON strings, usually wrapped in single quotes in shell.
32
- - This is an ordinary `write` operation and does not require CLI confirmation.
33
- - Do not surface raw automation IDs, raw JSON, or concrete detail paths in user-facing replies.
34
-
35
- ## Schedule Kinds
36
- | `--schedule-kind` | Required fields | Notes |
37
- |---|---|---|
38
- | `hourly` | `--minute` (optional, 0–59) | Runs every hour at the given minute |
39
- | `daily` | `--time HH:mm` | Runs once a day at the given time |
40
- | `weekly` | `--time HH:mm`, `--weekday 0-6` | `0` = Sunday |
41
- | `monthly` | `--time HH:mm`, `--day-of-month 1-28` | Day 1–28 only |
42
-
43
- ## Command
44
- ```bash
45
- # Enabled daily automation (default)
46
- ae-cli agent +create-automation \
47
- --name "Daily AI Brief" \
48
- --schedule-kind daily \
49
- --time 09:00 \
50
- --message "Summarize yesterday's AI news"
51
-
52
- # Create but keep paused when the user explicitly asks not to enable it
53
- ae-cli agent +create-automation \
54
- --name "Daily AI Brief" \
55
- --schedule-kind daily \
56
- --time 09:00 \
57
- --message "Summarize yesterday's AI news" \
58
- --enabled false
59
-
60
- # Keep future runs in one visible conversation
61
- ae-cli agent +create-automation \
62
- --name "Daily AI Brief" \
63
- --schedule-kind daily \
64
- --time 09:00 \
65
- --message "Summarize yesterday's AI news" \
66
- --reuse-conversation true
67
-
68
- # Weekly schedule on Sunday
69
- ae-cli agent +create-automation \
70
- --name "Weekly Report" \
71
- --schedule-kind weekly \
72
- --time 10:00 \
73
- --weekday 0 \
74
- --message "Generate the weekly report"
75
-
76
- # Cron expression
77
- ae-cli agent +create-automation \
78
- --name "Cron Task" \
79
- --cron "0 9 * * 1-5" \
80
- --message "Weekday morning brief"
81
-
82
- # Dry-run to inspect the request before executing
83
- ae-cli agent +create-automation --dry-run --name "Test" --message "x" --schedule-kind daily --time 09:00
84
-
85
- # Select a workspace explicitly
86
- ae-cli agent +create-automation --name "Daily Report" --message "Prepare the report" \
87
- --agent-id <agent-id> --agent-space-id <workspace-id> --schedule-kind daily --time 09:00
88
- ```
89
-
90
- ## Parameters
91
- | Parameter | Required | Description |
92
- |---|---|---|
93
- | `--name` | Yes | Automation task name |
94
- | `--message` | Yes | Instruction sent to the Agent |
95
- | `--cron` | No* | Cron expression (mutually exclusive with `--schedule-kind`) |
96
- | `--schedule-kind` | No* | `hourly` \| `daily` \| `weekly` \| `monthly` |
97
- | `--time` | No | Time in `HH:mm` for daily/weekly/monthly |
98
- | `--minute` | No | Minute 0–59 for hourly schedules |
99
- | `--weekday` | No | Weekday 0–6 for weekly schedules; `0` is Sunday |
100
- | `--day-of-month` | No | Day 1–28 for monthly schedules |
101
- | `--agent-id` | No | Agent ID; defaults to current conversation Agent |
102
- | `--agent-name` | No | Agent name; use only after `+list-agents` discovery |
103
- | `--model` | No | Model record ID; defaults to current selected model |
104
- | `--enabled` | No | `true` (default) \| `false` |
105
- | `--reuse-conversation` | No | `true` to continue in one conversation; `false` (default) to create one per run |
106
- | `--conversation-id` | No | Conversation ID fallback for resolving the Agent and workspace |
107
- | `--agent-space-id` | No | Explicit workspace ID; omit to inherit the conversation's workspace, otherwise use the personal default workspace |
108
-
109
- \* One of `--cron` or `--schedule-kind` is required.
110
-
111
- ## Decision Rules
112
- - If the user provides a natural-language schedule ("every day at 9am"), translate it to `--schedule-kind daily --time 09:00`.
113
- - If the user wants a cron-only schedule not covered by the kinds, use `--cron`.
114
- - If no Agent is specified, the automation targets the current conversation's Agent; verify with `+list-agents` when in doubt.
115
- - Set `--reuse-conversation true` only when the user explicitly requests continuity across runs. The platform may rotate the underlying provider session while retaining the visible conversation history.
116
- - Use `--dry-run` first to verify the request shape before executing.
117
-
118
- ## Next Steps on Failure
119
- - `必须提供 --cron 或 --schedule-kind`: provide one of the schedule flags.
120
- - `--time 格式必须是 HH:mm`: use 24-hour `HH:mm` (e.g. `09:00`).
121
- - `--agent-id 与 --agent-name 只能二选一`: pick one and remove the other.
122
- - After success, capture the returned `automation.id` and, when present, `automation.agentSpaceId` for subsequent list/update calls. Omit the workspace flag when the ID is `null` or absent.
123
-
124
- ## Recommended Chaining
125
- - `+list-agents` → `+create-automation` → `+list-automations` (verify) → `+update-automation` (edit)
@@ -1,56 +0,0 @@
1
- # agent +list-automations (List Automations)
2
-
3
- > **Prerequisite:** Follow the Global AE CLI Rules in [`../SKILL.md`](../SKILL.md).
4
-
5
- Domain: **Automations / read**
6
-
7
- ```text
8
- Transition status: transitional
9
- Owning module: te-claude automation
10
- Current transport: GET /api/sandbox/agent/automations
11
- Gateway target: TBD (no equivalent Gateway capability is currently registered)
12
- Review after: 2026-10-07
13
- Exit condition: Migrate when the Gateway exposes equivalent workspace-scoped automation listing.
14
- ```
15
-
16
- ## Use Cases
17
- - List the current user's Agent automation tasks in one workspace.
18
- - Returns `items` containing automation summaries; key fields include `id`, `name`, `status`, `cronExpression`, `agentSpaceId`, and `agentSpaceName`.
19
- - Agent Team scheduled tasks shown alongside automations in the workspace UI are a separate resource and are not returned by this command.
20
- - Use this to discover a real automation ID before `+update-automation`.
21
-
22
- ## Mandatory Rules (MUST)
23
- - Do not guess automation IDs. Always call `+list-automations` first when an automation ID is needed.
24
- - Pass `--agent-space-id` for a non-default workspace. Omitting it lists the personal default workspace, including legacy tasks without a workspace ID; it does not list all workspaces or infer the current conversation's workspace.
25
- - Keep the same workspace ID when calling `+update-automation`. An automation created from a conversation may belong to a non-default workspace; use the returned `automation.agentSpaceId` when verifying creation.
26
- - On servers without workspace support, omit `--agent-space-id`. Listing retains its original user-scoped behavior and responses may lack `agentSpaceId`/`agentSpaceName`; neither field is required by the CLI. Older servers do not enforce the new workspace filter.
27
- - Do not surface raw automation IDs, raw JSON, or concrete detail paths in user-facing replies — use the ID only internally for subsequent commands.
28
-
29
- ## Command
30
- ```bash
31
- ae-cli agent +list-automations
32
- ae-cli agent +list-automations --status active
33
- ae-cli agent +list-automations --q "daily" --limit 20 --format table
34
- ae-cli agent +list-automations --agent-space-id <workspace-id>
35
- ae-cli agent +list-automations --dry-run
36
- ```
37
-
38
- ## Parameters
39
- | Parameter | Required | Description |
40
- |---|---|---|
41
- | `--agent-space-id` | No | Workspace ID; omitted means the personal default workspace |
42
- | `--q` | No | Keyword for automation name or instruction |
43
- | `--status` | No | `active` \| `paused` |
44
- | `--limit` | No | Maximum number of automations to return, 1–10000 |
45
-
46
- ## Decision Rules
47
- - When the user wants to pause, resume, rename, or edit an automation, call this first to find the target ID.
48
- - `--status active` lists only enabled automations; `--status paused` lists paused ones.
49
- - If many automations are returned, summarize by `name` and `status` to help the user pick the right one.
50
-
51
- ## Next Steps on Failure
52
- - Empty result: check the active AE host and workspace ID before concluding there are no automations. This command does not include Agent Team scheduled tasks.
53
- - Auth error: run `ae-cli auth login`.
54
-
55
- ## Recommended Chaining
56
- - `+list-automations` → confirm `id` → `+update-automation`
@@ -1,107 +0,0 @@
1
- # agent +update-automation (Update Automation)
2
-
3
- > **Prerequisite:** Follow the Global AE CLI Rules in [`../SKILL.md`](../SKILL.md).
4
-
5
- Domain: **Automations / write**
6
-
7
- ```text
8
- Transition status: transitional
9
- Owning module: te-claude automation
10
- Current transport: PATCH /api/sandbox/agent/automations/:id
11
- Gateway target: TBD (no equivalent Gateway capability is currently registered)
12
- Review after: 2026-10-07
13
- Exit condition: Migrate when the Gateway exposes equivalent workspace-scoped automation updates.
14
- ```
15
-
16
- ## Use Cases
17
- - Update an existing Agent automation task's name, instruction, schedule, enabled state, or conversation mode.
18
- - Used to pause (`--enabled false`) or resume (`--enabled true`) an automation, or to change its schedule/message.
19
- - Obtain the automation `id` via `+list-automations` — never guess.
20
-
21
- ## Mandatory Rules (MUST)
22
- - `--id` is required. Obtain the real ID via `+list-automations` — do not guess.
23
- - Pass the same `--agent-space-id` used to discover the task, or the `automation.agentSpaceId` returned by creation. Omitting it targets the personal default workspace, including legacy tasks with no workspace ID.
24
- - The workspace ID is sent as a query parameter to select the task's existing workspace. It is not an update field and cannot move an automation between workspaces; providing it alone is not a valid update.
25
- - On servers without workspace support, omit `--agent-space-id` and update by the original task ID. Missing workspace fields in older responses do not prevent updates; do not invent an ID or rely on older servers to enforce the new workspace query parameter.
26
- - Agent Team scheduled task IDs are not automation IDs and cannot be used with this command.
27
- - At least one update field must be provided (`--name`, `--message`, `--enabled`, `--reuse-conversation`, `--cron`, or a `--schedule-kind` with its time/day fields).
28
- - `--cron` and `--schedule-kind` are mutually exclusive.
29
- - This is an ordinary `write` operation and does not require CLI confirmation.
30
- - Do not surface raw automation IDs, raw JSON, or concrete detail paths in user-facing replies.
31
-
32
- ## Schedule Kinds (when updating schedule)
33
- | `--schedule-kind` | Required fields | Notes |
34
- |---|---|---|
35
- | `hourly` | `--minute` (optional, 0–59) | Runs every hour at the given minute |
36
- | `daily` | `--time HH:mm` | Runs once a day at the given time |
37
- | `weekly` | `--time HH:mm`, `--weekday 0-6` | `0` = Sunday |
38
- | `monthly` | `--time HH:mm`, `--day-of-month 1-28` | Day 1–28 only |
39
-
40
- ## Command
41
- ```bash
42
- # Pause an automation
43
- ae-cli agent +update-automation --id <automation-id> --enabled false
44
-
45
- # Pause an automation in a specific workspace
46
- ae-cli agent +update-automation --id <automation-id> --agent-space-id <workspace-id> --enabled false
47
-
48
- # Resume an automation
49
- ae-cli agent +update-automation --id <automation-id> --enabled true
50
-
51
- # Reuse the most recent valid conversation on future runs
52
- ae-cli agent +update-automation --id <automation-id> --reuse-conversation true
53
-
54
- # Return to creating a new conversation for every run
55
- ae-cli agent +update-automation --id <automation-id> --reuse-conversation false
56
-
57
- # Rename and change the instruction
58
- ae-cli agent +update-automation \
59
- --id <automation-id> \
60
- --name "Daily AI Brief v2" \
61
- --message "Summarize yesterday's AI news and trends"
62
-
63
- # Change the schedule to weekly on Sunday
64
- ae-cli agent +update-automation \
65
- --id <automation-id> \
66
- --schedule-kind weekly \
67
- --time 10:00 \
68
- --weekday 0
69
-
70
- # Switch to a cron expression
71
- ae-cli agent +update-automation --id <automation-id> --cron "0 9 * * 1-5"
72
-
73
- # Dry-run to inspect the request before executing
74
- ae-cli agent +update-automation --dry-run --id <automation-id> --enabled false
75
- ```
76
-
77
- ## Parameters
78
- | Parameter | Required | Description |
79
- |---|---|---|
80
- | `--id` | Yes | Automation task ID from `+list-automations` |
81
- | `--agent-space-id` | No | Existing workspace ID; omitted means the personal default workspace. Does not move the task |
82
- | `--name` | No | New automation task name |
83
- | `--message` | No | New instruction sent to the Agent |
84
- | `--enabled` | No | `true` to enable, `false` to pause |
85
- | `--reuse-conversation` | No | `true` to reuse one conversation, `false` to create one per run; omit to keep unchanged |
86
- | `--cron` | No | Cron expression (mutually exclusive with `--schedule-kind`) |
87
- | `--schedule-kind` | No | `hourly` \| `daily` \| `weekly` \| `monthly` |
88
- | `--time` | No | Time in `HH:mm` for daily/weekly/monthly |
89
- | `--minute` | No | Minute 0–59 for hourly schedules |
90
- | `--weekday` | No | Weekday 0–6 for weekly schedules; `0` is Sunday |
91
- | `--day-of-month` | No | Day 1–28 for monthly schedules |
92
-
93
- ## Decision Rules
94
- - If the user wants to pause/resume, use `--enabled false` / `--enabled true` (no other fields needed).
95
- - If the user wants future runs to share one conversation, use `--reuse-conversation true`; use `false` to restore one conversation per run.
96
- - If the user wants to change the schedule, provide `--schedule-kind` with its required time/day fields, or `--cron`.
97
- - At least one update field is required; a bare `--id` is rejected.
98
- - Use `--dry-run` first to verify the request shape before executing.
99
-
100
- ## Next Steps on Failure
101
- - `AUTOMATION_NOT_FOUND`: verify the task ID and workspace ID together. Do not retry across other workspaces automatically.
102
- - `至少提供一个更新字段`: add at least one of `--name` / `--message` / `--enabled` / `--reuse-conversation` / `--cron` / `--schedule-kind`.
103
- - `必须提供 --cron 或 --schedule-kind`: if schedule detail flags (`--time` / `--minute` / `--weekday` / `--day-of-month`) are present, a `--schedule-kind` (or `--cron`) must accompany them.
104
- - `--time 格式必须是 HH:mm`: use 24-hour `HH:mm` (e.g. `09:00`).
105
-
106
- ## Recommended Chaining
107
- - `+list-automations` → `+update-automation`
@@ -1,193 +0,0 @@
1
- ---
2
- name: ae-project-semantic
3
- description: "Use when generating, testing, submitting, reviewing, or publishing governed project semantic candidates from AE project asset packages. This skill owns progressive asset-scope consent, recommendation quality gates, evidence authority, topic-domain grouping, candidate JSON generation, CLI closed-loop validation, and frontend review acceptance. Do not use it for ordinary analysis questions that only consume already published semantics."
4
- ---
5
-
6
- # ae-project-semantic
7
-
8
- Project semantics are governed L2 project-wide business concepts, rules, calculation conventions, and default asset-selection methods. They sit above dashboards and reports. Dashboards, reports, events, properties, and metrics are L1 evidence and execution assets; they are not project semantics by themselves.
9
-
10
- Use `ae-cli` only. Do not write the database directly for recommendations, approvals, or releases.
11
-
12
- ## Boundary
13
-
14
- - Use this skill to generate or evaluate project semantic recommendations.
15
- - Use `ae-analysis` to consume already published project semantics during analysis tasks.
16
- - Frontend can review, edit, approve, reject, and publish candidates; it must not generate recommendations.
17
- - Start with governed authenticated dashboards/reports. Broader project assets may be inspected only after explicit user consent and must retain their lower authority in evidence and confidence. Events, properties, metrics, background documents, and notes can provide supporting evidence only, never the primary L2 candidate subject.
18
-
19
- ## Required Workflow
20
-
21
- 1. Resolve the project and host.
22
- 2. Read both recommendation references before inspecting candidates:
23
- - [`references/recommendation-quality.md`](references/recommendation-quality.md) for the governed L2 quality bar;
24
- - [`references/query-routing-v5.md`](references/query-routing-v5.md) for the current query-routing, recall-shortcut, and analysis-playbook discovery protocol.
25
- 3. Check existing published project semantics:
26
-
27
- ```bash
28
- ae-cli project-semantic list --project-id <project_id>
29
- ```
30
-
31
- 4. Export governed authenticated project assets and semantic snapshot context by default:
32
-
33
- ```bash
34
- ae-cli project-semantic asset-package export --project-id <project_id> --asset-scope governed --output <tmp>/project-semantic-assets --force
35
- ```
36
-
37
- When `--host` points directly to a locally started Common service instead of the deployed analysis gateway, scope the empty gateway domain to that command so the request uses Common's native `/api/cli/v1` route. Do not export this override globally:
38
-
39
- ```bash
40
- AE_CLI_CAPABILITY_GATEWAY_DOMAIN= ae-cli project-semantic asset-package export --project-id <project_id> --asset-scope governed --output <tmp>/project-semantic-assets --force --host http://127.0.0.1:8992
41
- ```
42
-
43
- 5. Inspect `asset_scope`, `exported_asset_count`, `authenticated_asset_count`, `unauthenticated_asset_count`, `truncated`, work-unit count, and definition-family count before scanning. If `truncated=true`, warn that the package hit a compatibility limit. If the governed package is too sparse to support useful problem frames, report the actual counts and ask whether to re-export active collaborative assets. Do not broaden automatically:
44
-
45
- ```bash
46
- ae-cli project-semantic asset-package export --project-id <project_id> --asset-scope collaborative --output <tmp>/project-semantic-assets --force
47
- ```
48
-
49
- If that package is still too sparse, report its counts and ask separately whether to export all valid project dashboards/reports and their referenced metadata:
50
-
51
- ```bash
52
- ae-cli project-semantic asset-package export --project-id <project_id> --asset-scope all_visible --output <tmp>/project-semantic-assets --force
53
- ```
54
-
55
- `governed` is authenticated + collaborative + active in the recent 90-day window. `collaborative` removes only the authentication requirement. `all_visible` removes authentication, collaboration, and recency filters while still excluding deleted, frozen, hidden, offline, or otherwise invalid assets. Export is project-administrator-only; no per-user visibility filtering is required inside `all_visible`. Asset authentication is a separate governance write and must never be changed implicitly by scanning.
56
-
57
- 6. Read the package in this order:
58
- - `manifest.json`, `.asset-package.json`, `catalog/published.jsonl`, `catalog/disabled.jsonl` when present, `catalog/active-candidates.jsonl`, and `catalog/rejected-candidates.jsonl` to build the exclusion and revision context;
59
- - `indexes/work-units.jsonl` as the dashboard-first investigation queue, preserving its usage-priority order while rotating across distinct business themes;
60
- - `indexes/definition-families.jsonl` and compact dashboard/report records to compare reusable definition variants;
61
- - `indexes/asset-directory.jsonl` and `indexes/governance-coverage.jsonl` for supporting evidence;
62
- - `details/normalized/**` only for candidate-bearing or conflicting families, and `details/raw/**` only when the normalized definition is insufficient.
63
-
64
- The service owns deterministic parsing, key-field normalization, definition signatures, usage ordering, and catalog assembly. The Agent owns business topic discovery, evidence interpretation, counterexample review, and candidate wording. Display names, descriptions, and notes remain evidence for interpretation, but they never make two otherwise identical definitions distinct. Do not load every detail file into context up front or delegate business judgment to a project-specific keyword table or deterministic template generator.
65
-
66
- 7. Compare the proposed behavior against published, disabled, active-candidate, and rejected catalogs. Disabled semantics are suppression context: do not consume, recreate, or update them through recommendation generation. A project administrator can explicitly enable them later. Produce `CREATE` only for a genuinely new semantic, `UPDATE` when an active semantic needs a material revision, and no candidate when the package is already covered. Zero new candidates is a valid successful recommendation result.
67
-
68
- 8. Validate the Agent-authored file against the exact exported package. This command checks only deterministic contract rules such as required fields, supported enums, catalog conflicts, duplicate fingerprints, and resolvable evidence references. `passed=true` is not a semantic-quality approval:
69
-
70
- ```bash
71
- ae-cli project-semantic candidate validate --asset-package <tmp>/project-semantic-assets --submit-file <tmp>/project-semantic-candidates.json
72
- ```
73
-
74
- 9. Perform a separate Agent quality-review pass over the unchanged candidate file and the evidence it cites. Apply the Hard Quality Bar and `references/recommendation-quality.md`; do not rely on the generation pass to approve its own wording. For every candidate, record `PASS`, `REVISE`, or `INSUFFICIENT_EVIDENCE` with concrete findings and evidence references. Revise and repeat both deterministic validation and Agent review until every submitted candidate is `PASS`. A successful empty recommendation is preferable to weak filler.
75
-
76
- 10. Submit the unchanged validated and Agent-reviewed file. Use `.asset-package.json.snapshot_hash`, or the `snapshot_hash` returned by `candidate validate`:
77
-
78
- ```bash
79
- ae-cli project-semantic candidate submit --project-id <project_id> --submit-file <tmp>/project-semantic-candidates.json --snapshot-hash <snapshot_hash>
80
- ```
81
-
82
- 11. Review and enable through CLI when validating the full closed loop:
83
-
84
- ```bash
85
- ae-cli project-semantic candidate list --project-id <project_id>
86
- ae-cli project-semantic candidate get --project-id <project_id> --candidate-id <candidate_id>
87
- ae-cli project-semantic candidate enable --project-id <project_id> --candidate-ids '["candidate_1"]'
88
- ae-cli project-semantic get --project-id <project_id> --id <semantic_id> --mark-used
89
- ```
90
-
91
- Lifecycle management is deliberately separate from recommendation review:
92
-
93
- ```bash
94
- ae-cli project-semantic disable --project-id <project_id> --semantic-id <semantic_id> --expected-version <version> --reason <reason>
95
- ae-cli project-semantic list --project-id <project_id> --status disabled
96
- ae-cli project-semantic delete-impact --project-id <project_id> --semantic-id <semantic_id>
97
- ae-cli project-semantic delete --project-id <project_id> --semantic-id <semantic_id> --expected-version <version> --reason <reason>
98
- ae-cli project-semantic enable --project-id <project_id> --semantic-id <semantic_id> --expected-version <version> --reason <reason>
99
- ```
100
-
101
- Disable means “do not consume and do not recommend again.” From disabled state, either enable the same semantic or inspect impact and physically delete it. Physical deletion means the semantic is absent and may be rediscovered by a future scan. Never delete merely to regenerate recommendations.
102
-
103
- ## Hard Quality Bar
104
-
105
- A candidate file is not acceptable unless all of these are true:
106
-
107
- - It starts from governed evidence, or records the explicitly approved broader scope and lowers confidence for claims that depend on unauthenticated assets.
108
- - It groups by L2 business topic domain before generating candidates.
109
- - Every topic group includes the submit-contract fields `topic_domain_key`, `topic_domain_title`, `topic_group_key`, and `topic_group_title`.
110
- - It does not create one candidate per asset.
111
- - It does not promote an event/property/metric name into a project semantic title.
112
- - Each candidate binds `resource_refs` with real asset names/types/ids or names from the package.
113
- - Each candidate explains what it means, where it applies, how to use it, and what it excludes.
114
- - Each candidate body covers business definition, applicable questions, decision or calculation rules, Agent usage, and boundaries or exceptions in the project's natural language. Exact headings are not a machine contract.
115
- - The concrete business judgment belongs in the decision or calculation content; asset names and counts belong in `resource_refs`, `evidence`, and `recommendation_reason`, not in the semantic body.
116
- - A batch fails review when candidates reuse the same body with only asset names or counts changed.
117
- - Each candidate includes evidence excerpts or source titles that show why it was recommended.
118
- - Each candidate changes how the Agent interprets a business question, selects default assets, or applies a project-wide rule.
119
- - Each candidate declares one of the evidence-backed recommendation kinds in `query-routing-v5.md`: `QUERY_ROUTING`, `RECALL_SHORTCUT`, or `ANALYSIS_PLAYBOOK`.
120
- - A formula, threshold, state, event, property, report, or asset name is supporting L1 evidence, never a standalone candidate.
121
- - A route must contain a meaningful asset-choice branch; a shortcut must contain a minimal bundle plus stop and fallback; a playbook must be note-backed or explicitly labeled as a structure-inferred recommended path.
122
- - Existing published and disabled semantics are checked before submission; disabled semantics suppress recreation.
123
- - An unauthenticated asset may support a route, shortcut, or playbook only when definitions, work-unit structure, usage, or notes provide corroboration. Never present it as a certified project rule solely because it was exported.
124
- - Sparse evidence is either skipped or marked lower confidence; do not inflate weak recommendations.
125
-
126
- ## Generic Extraction Protocol
127
-
128
- The protocol must work unchanged for games, retail, finance, SaaS, operations, and unknown project domains.
129
-
130
- 1. Inventory evidence without deciding themes. Separate authenticated and unauthenticated dashboards/reports, record the export scope and selection reason, and keep existing governed semantics and supporting L1 metadata distinct.
131
- 2. Discover semantic families only from evidence that was actually read. Use these cross-domain dimensions as questions, not as prefilled answers:
132
- - business object, state, and alias;
133
- - analysis subject and deduplication grain;
134
- - measure, aggregation, numerator, denominator, and transformation;
135
- - inclusion, exclusion, and filter scope;
136
- - query range, cohort window, observation window, and freshness;
137
- - unit, currency, normalization, and attribution;
138
- - default asset selection and relationships between assets;
139
- - applicability, exception, and conflict boundaries.
140
- 3. Compare definition variants inside each family. A candidate may state a default only when evidence shows one authoritative variant. Conflicting variants require a disambiguation rule or a warning, not an invented standard.
141
- 4. Form a topic domain after the semantic families are understood. The domain title must come from the project's natural business language and explain why its candidates are reviewed together.
142
- 5. Generate a candidate only when removing it would make a future Agent more likely to choose the wrong business object, asset, grain, formula, scope, unit, window, or exception.
143
- 6. For every claim in the body, identify direct supporting evidence. Keep asset names and excerpts in `resource_refs`, `evidence`, and `recommendation_reason`; keep reusable business knowledge in `content`.
144
- 7. Compare candidates by resulting Agent behavior. Merge candidates that lead to the same interpretation and execution; split candidates that answer independently searchable questions.
145
- 8. Run a counterexample pass: inspect minority definitions and assets that may violate the proposed rule. Narrow or drop unsupported conclusions.
146
- 9. Before wording candidates, form evidence-backed problem frames and assign asset roles. Use `query-routing-v5.md`; do not optimize for candidate count or one-candidate-per-asset coverage.
147
- 10. Keep a decision ledger for discovered problem frames, including routed, shortcut, playbook, definition-only, and evidence-insufficient dispositions.
148
-
149
- ## Anti-Overfitting Rule
150
-
151
- - Never encode a customer, project name, project ID, asset ID, expected topic title, expected candidate title, or expected candidate count in this skill or CLI generation code.
152
- - Never start from a fixed industry taxonomy or keyword dictionary. Keywords may locate evidence only after a semantic family is discovered; they must not determine the result.
153
- - A test package is an evaluation sample, not a source of reusable rules. Tune the protocol only when the change is defensible across unrelated domains.
154
- - Quality is measured by evidence support and changed Agent behavior, not by matching a previously approved list of topics.
155
-
156
- ## User-Facing Recommendation Display
157
-
158
- When showing CLI recommendation results to a user, never flatten candidates into a single numbered list. The user-facing answer must use the same hierarchy as the candidate JSON and frontend review UI:
159
-
160
- ```text
161
- Project semantic recommendation scan completed
162
-
163
- Summary:
164
- - Topic domains: <N>
165
- - Candidate semantics: <N>
166
- - Validation: passed | failed
167
-
168
- Topic domain: <topic_domain_title> (<candidate_count> semantics)
169
- - [<semantic_type>] <candidate title>
170
- <one-sentence summary>
171
- Evidence: <asset title 1>, <asset title 2>, ...
172
- ```
173
-
174
- Rules:
175
-
176
- - Show topic domains first, then candidates under each domain.
177
- - Include each domain's semantic count.
178
- - Include each candidate's semantic type, title, short summary, and primary evidence asset titles.
179
- - If the CLI command returns `topic_groups`, use that field directly for the display order and counts.
180
- - Keep the full JSON path or submit command separate from the human summary.
181
- - Do not present a flat list like `1. semantic A 2. semantic B ...` unless the user explicitly asks for raw candidate order.
182
-
183
- ## Output Discipline
184
-
185
- When reporting recommendation results, include:
186
-
187
- - commands run;
188
- - asset scope, exported/authenticated/unauthenticated asset counts, and snapshot hash;
189
- - topic domains, semantic counts per domain, and candidate titles grouped under each domain;
190
- - evidence assets per candidate;
191
- - quality warnings, if any;
192
- - problem-frame coverage and rejected shallow-opportunity warnings;
193
- - submit/review/release IDs after writes.
@@ -1,165 +0,0 @@
1
- # Project Semantic Query Routing V5
2
-
3
- Use this protocol when project asset packages contain asset definitions, work-unit membership, recent usage, authentication provenance, and optional notes, but do not contain historical user questions, query failures, or execution traces. Never claim that a structure-inferred path is a proven historical best practice.
4
-
5
- The only recommendation kinds are:
6
-
7
- - `QUERY_ROUTING`: choose the right dashboard/report for a question and distinguish nearby assets;
8
- - `RECALL_SHORTCUT`: reduce broad asset search to a minimal ordered bundle with stop and fallback conditions;
9
- - `ANALYSIS_PLAYBOOK`: execute a multi-step or branching analysis path supported by notes or strong complementary asset structure.
10
-
11
- Submission semantic types remain unchanged: routing and shortcuts normally use `asset_semantics`; playbooks normally use `business_rule`.
12
-
13
- ## Evidence roles
14
-
15
- - Dashboard/report membership and work units show which assets jointly address a problem.
16
- - Normalized/raw definitions determine what each asset computes, filters, groups, and returns.
17
- - Display names, descriptions, notes, and dashboard memo text explain intended questions and explicit instructions, but never make otherwise identical definitions different.
18
- - Recent usage and recency may prioritize a default entry among otherwise suitable assets; they never establish a formula, causal rule, or business priority.
19
- - Definition families and conflicts distinguish alternatives, duplicates, misleading titles, and exception variants.
20
- - Published, active, and rejected catalogs provide exclusion and revision context.
21
-
22
- ## Discover problem frames before candidates
23
-
24
- For every inspected work unit, create zero or more evidence-backed `problem_frames`. Do not require every work unit or asset to produce a candidate. Each frame records:
25
-
26
- - natural-language problem intent;
27
- - triggers and constraints;
28
- - business object and expected answer grain;
29
- - available assets and their roles;
30
- - decision points that change asset choice;
31
- - explicit note/memo guidance, when present;
32
- - usage/recency priority;
33
- - evidence gaps.
34
-
35
- Assign relevant assets one of these roles for the frame:
36
-
37
- - `DEFAULT_OVERVIEW`;
38
- - `CONDITIONAL_BRANCH`;
39
- - `DETAIL_DRILLDOWN`;
40
- - `COMPARISON_OR_COUNTEREXAMPLE`;
41
- - `FALLBACK`;
42
- - `UNSUITABLE_FOR_FRAME`.
43
-
44
- An asset may have different roles in different frames. Every role assignment must cite exact definition or note evidence.
45
-
46
- ## QUERY_ROUTING gate
47
-
48
- Generate only when all are true:
49
-
50
- 1. At least two plausible assets could be confused or selected for related questions.
51
- 2. Object, grain, formula, scope, time, parameter, or output differences determine the correct asset.
52
- 3. The candidate states:
53
- - triggering question types;
54
- - default asset or entry dashboard;
55
- - branch conditions and target assets;
56
- - assets that must not substitute for one another;
57
- - required parameters or filters;
58
- - drilldown and fallback.
59
- 4. Removing the route would materially increase wrong-asset selection.
60
-
61
- A formula may explain why a branch is selected, but it is not a routing semantic by itself.
62
-
63
- ## RECALL_SHORTCUT gate
64
-
65
- Generate only when all are true:
66
-
67
- 1. A broad work unit contains more assets than a recurring query needs.
68
- 2. Evidence supports a minimal ordered subset.
69
- 3. The candidate states the first asset, continuation conditions, stop condition, safe fallback, and unrelated asset groups that can be skipped.
70
- 4. Usage may prioritize between evidence-equivalent suitable entries, but cannot override definition fit.
71
- 5. Search-space reduction is stated from package membership only; never claim measured latency improvement without runtime evidence.
72
-
73
- ## ANALYSIS_PLAYBOOK gate
74
-
75
- ### High-confidence playbook
76
-
77
- Requires an explicit note or memo stating an analysis goal, sequence, decision, or caveat, plus executable assets supporting the steps. If any required asset is unauthenticated, label the playbook lower confidence and require project-administrator review; do not present the path as certified.
78
-
79
- ### Medium-confidence recommended analysis path
80
-
81
- Allowed without explicit notes only when all are true:
82
-
83
- - at least three complementary roles form an overview-to-branch-to-drilldown or measure-to-diagnose-to-verify path;
84
- - exact definitions establish branch conditions and prevent interchangeable use;
85
- - no causal claim, business priority, or mandatory sequence is invented;
86
- - the output is labeled `RECOMMENDED_ANALYSIS_PATH`;
87
- - boundaries state that the path is structurally inferred and requires review.
88
-
89
- Reject paths supported only by co-location, similar titles, independent metrics, or usage ranking.
90
-
91
- ## Reject shallow candidates
92
-
93
- Reject a candidate that only provides:
94
-
95
- - one formula, threshold, state, event, property, report, dashboard, or asset name;
96
- - an inventory of related assets;
97
- - a topic summary without asset-choice decisions;
98
- - a broad umbrella listing measures without branches;
99
- - an inferred maturity hierarchy, causal explanation, or best practice absent from notes;
100
- - a route that does not reduce ambiguity or search.
101
-
102
- Simple formulas and states remain evidence inside routes and playbooks. They do not become standalone project semantics.
103
-
104
- ## Candidate fields
105
-
106
- In addition to the governed submission fields, retain:
107
-
108
- - `candidate_kind`;
109
- - `problem_triggers`;
110
- - `default_route`;
111
- - `branch_rules`;
112
- - `do_not_use`;
113
- - `drilldown_path`;
114
- - `fallback`;
115
- - `asset_roles`;
116
- - `search_space_reduction`;
117
- - `evidence_strength`: `HIGH_NOTE_BACKED` or `MEDIUM_STRUCTURE_BACKED`;
118
- - `confidence_limit`;
119
- - `problem_frame_ids`.
120
-
121
- The candidate body must cover business definition, applicable questions, decision or calculation rules, Agent usage, and boundaries or exceptions. Use headings natural to the project's language when headings improve readability; exact localized wording is not part of the machine contract.
122
-
123
- Reusable decision knowledge belongs in `content`. Asset names, ids, counts, and excerpts belong in route fields, `resource_refs`, `evidence`, and `recommendation_reason`.
124
-
125
- ## Decision ledger
126
-
127
- When producing recommendation artifacts, record:
128
-
129
- - work units and notes actually inspected;
130
- - discovered problem frames;
131
- - asset-role assignments and evidence;
132
- - routing/shortcut/playbook decisions;
133
- - rejected shallow opportunities and reasons;
134
- - candidate-to-frame mappings;
135
- - dispositions: `ROUTED`, `SHORTCUT`, `PLAYBOOK`, `DEFINITION_ONLY`, or `EVIDENCE_INSUFFICIENT`.
136
-
137
- Coverage is measured over supported problem frames, not raw asset or definition-signature counts. Every discovered frame needs a disposition, but not every work unit or asset needs a candidate.
138
-
139
- ## Acceptance
140
-
141
- Candidate count and average prose score are not success metrics. Evaluate with evidence-grounded future-query probes and report:
142
-
143
- - primary asset or entry selection;
144
- - conditional branch selection;
145
- - prevention of plausible wrong-asset substitution;
146
- - minimal asset bundle;
147
- - stop and fallback completeness;
148
- - search-space reduction versus the work unit;
149
- - playbook step support;
150
- - unsupported causal or order claims;
151
- - problem-frame coverage;
152
- - formula-only or inventory-only candidate count, which must be zero.
153
-
154
- Before submit, require:
155
-
156
- - CLI validator `passed=true`;
157
- - no shallow formula/state-only candidate;
158
- - every route has a meaningful branch;
159
- - every shortcut has stop and fallback;
160
- - every playbook is note-backed or explicitly labeled structure-backed;
161
- - candidates materially choose or narrow assets better than an undifferentiated work-unit scan.
162
-
163
- ## Anti-overfitting
164
-
165
- Never encode project names, project ids, asset ids, event names, expected topics, expected titles, expected routes, expected counts, or fixed industry dictionaries. The reusable mechanism is problem framing, asset-role classification, decision branching, minimal bundles, and evidence-bounded paths.