@thinkingai/ae-cli 6.1.9 → 6.1.11

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 (232) hide show
  1. package/README.md +25 -3
  2. package/README.zh.md +25 -3
  3. package/dist/{auth-56Z45UVR.js → auth-GDV3H5I4.js} +18 -8
  4. package/dist/{auth-ENM3FE6L.js → auth-NN55553T.js} +3 -3
  5. package/dist/{capability-2H6PAOA3.js → capability-TPORIKRQ.js} +19 -15
  6. package/dist/{capability-YPOQX6PL.js → capability-VQNC5CF7.js} +19 -15
  7. package/dist/chunk-4NN5IWVN.js +26 -0
  8. package/dist/{chunk-DB4Q3ANU.js → chunk-6A2FUCIS.js} +3 -3
  9. package/dist/{chunk-PVBYJWC2.js → chunk-7KQWSBSL.js} +4 -4
  10. package/dist/{chunk-24BAVOX3.js → chunk-AXDXJTPC.js} +3 -1
  11. package/dist/{chunk-CPVTECJ3.js → chunk-DT6Y3TD7.js} +5 -5
  12. package/dist/{chunk-EGEIXA2Z.js → chunk-DWO43OIB.js} +0 -248
  13. package/dist/{chunk-V6FR6WTW.js → chunk-GJJA4CQZ.js} +34 -2
  14. package/dist/{chunk-RGXCNC4N.js → chunk-GS2P7LFD.js} +50 -17
  15. package/dist/{chunk-LYVNONC4.js → chunk-JHENBQ5B.js} +35 -0
  16. package/dist/{chunk-3P3562ZX.js → chunk-MVDZ7DBQ.js} +5 -5
  17. package/dist/{chunk-LCXU3AAT.js → chunk-NBPKWKRA.js} +2 -2
  18. package/dist/{chunk-HQ2A7ITL.js → chunk-RBNKI5ZW.js} +50 -17
  19. package/dist/{chunk-LHVM35J4.js → chunk-TS6BUGUY.js} +4 -4
  20. package/dist/chunk-TUKQZTMI.js +250 -0
  21. package/dist/{chunk-J7MZHDHQ.js → chunk-VKD5WQKN.js} +5 -5
  22. package/dist/{chunk-3KI3RRXX.js → chunk-VTXHDCBW.js} +3 -3
  23. package/dist/{chunk-KTYR3U6D.js → chunk-YTG6Q75E.js} +10 -6
  24. package/dist/{chunk-IR4ZLVPW.js → chunk-YV52FB5G.js} +25 -3
  25. package/dist/{chunk-E7UXXHO3.js → chunk-Z3OXWCIA.js} +3 -3
  26. package/dist/{cli-token-4SBMXAUK.js → cli-token-GL5MS5FK.js} +4 -4
  27. package/dist/{client-PP5FETMW.js → client-DAIPF7XN.js} +4 -4
  28. package/dist/{community-report-client-KK2QBANO.js → community-report-client-M2RW4MXD.js} +2 -2
  29. package/dist/config-4VZNLBKF.js +489 -0
  30. package/dist/index.js +94 -35
  31. package/dist/memory-RWJW4XFO.js +892 -0
  32. package/dist/memory-VO2ZJCRT.js +892 -0
  33. package/dist/{metadata-JIQ77HFY.js → metadata-YGTHR2XJ.js} +8 -8
  34. package/dist/{metadata-AN3YFZEV.js → metadata-ZRN2GHPN.js} +8 -8
  35. package/dist/{model-JASQVOFD.js → model-CLUIK3K5.js} +7 -5
  36. package/dist/{raw-XJCAT3HX.js → raw-52B4UKO4.js} +8 -7
  37. package/dist/sync-3REDHGY6.js +10259 -0
  38. package/dist/{te-agent-JHUG6DVV.js → te-agent-XNPELAKX.js} +580 -84
  39. package/dist/{te-analysis-IWQZO423.js → te-analysis-GJI5FZUL.js} +1611 -25
  40. package/dist/{te-analysis-X222IRYR.js → te-analysis-N2BRDJZ5.js} +1611 -25
  41. package/dist/{te-community-QOYIYEJI.js → te-community-SQXKE5OO.js} +7 -7
  42. package/dist/{te-community-UFKI6ONP.js → te-community-TYSNU3NQ.js} +7 -7
  43. package/dist/{te-dataops-PZQ5NQLY.js → te-dataops-5TM7WZDI.js} +370 -189
  44. package/dist/{te-dataops-XTWVTJCA.js → te-dataops-OWIADNSM.js} +370 -189
  45. package/dist/{te-engage-NLZUPSBK.js → te-engage-F7V55KVW.js} +333 -105
  46. package/dist/{te-engage-E7F4HTXU.js → te-engage-FMYAYCNV.js} +333 -105
  47. package/dist/{te-experiment-N63WF7XA.js → te-experiment-JWXOYJ3W.js} +83 -10
  48. package/dist/{te-experiment-D32TB6ZB.js → te-experiment-UPDMHCAJ.js} +83 -10
  49. package/dist/{te-kb-E7NSCBRB.js → te-kb-VRMEY3D4.js} +6 -6
  50. package/dist/{te-meta-GBDTMPEL.js → te-meta-53BVXPFI.js} +7 -7
  51. package/dist/{te-meta-ZTLTSHXC.js → te-meta-TOCBPBXI.js} +7 -7
  52. package/dist/{te-system-AH7DMCAQ.js → te-system-XGS5EQIQ.js} +4 -4
  53. package/dist/{te-team-BQ3SKSZV.js → te-team-BZRDV2CM.js} +7 -7
  54. package/dist/{update-DKG6UXEM.js → update-HEDXGOJH.js} +8 -6
  55. package/package.json +5 -2
  56. package/skills/ae-agent/SKILL.md +178 -16
  57. package/skills/ae-agent/references/add-skill.md +22 -10
  58. package/skills/ae-agent/references/edit-skill.md +24 -14
  59. package/skills/ae-agent/references/find-archived-conversations.md +82 -0
  60. package/skills/ae-agent/references/restore-conversation.md +54 -0
  61. package/skills/ae-agent/references/upload-skill.md +24 -14
  62. package/skills/ae-analysis/SKILL.md +1 -1
  63. package/skills/ae-analysis/references/command_index.md +109 -42
  64. package/skills/ae-analysis/references/debug_data_list.md +28 -0
  65. package/skills/ae-analysis/references/debug_device_add.md +23 -0
  66. package/skills/ae-analysis/references/debug_device_list.md +19 -0
  67. package/skills/ae-analysis/references/debug_device_select.md +22 -0
  68. package/skills/ae-analysis/references/entity_id_import_options.md +1 -1
  69. package/skills/ae-analysis/references/plan_sync_display_names.md +28 -0
  70. package/skills/ae-analysis/references/project_access_detail_get.md +3 -3
  71. package/skills/ae-analysis/references/project_data_power_delete.md +3 -3
  72. package/skills/ae-analysis/references/project_data_power_get.md +3 -3
  73. package/skills/ae-analysis/references/project_data_power_list.md +3 -3
  74. package/skills/ae-analysis/references/project_data_power_upsert.md +3 -3
  75. package/skills/ae-analysis/references/project_entity_create.md +3 -3
  76. package/skills/ae-analysis/references/project_entity_delete.md +3 -3
  77. package/skills/ae-analysis/references/project_entity_event_list.md +3 -3
  78. package/skills/ae-analysis/references/project_entity_get.md +3 -3
  79. package/skills/ae-analysis/references/project_entity_list.md +3 -3
  80. package/skills/ae-analysis/references/project_entity_update.md +3 -3
  81. package/skills/ae-analysis/references/project_function_list.md +3 -3
  82. package/skills/ae-analysis/references/project_info_create.md +25 -0
  83. package/skills/ae-analysis/references/project_info_delete.md +24 -0
  84. package/skills/ae-analysis/references/project_info_get.md +3 -3
  85. package/skills/ae-analysis/references/project_info_list.md +3 -3
  86. package/skills/ae-analysis/references/project_info_update.md +3 -3
  87. package/skills/ae-analysis/references/project_mark_time_create.md +3 -3
  88. package/skills/ae-analysis/references/project_mark_time_delete.md +3 -3
  89. package/skills/ae-analysis/references/project_mark_time_list.md +3 -3
  90. package/skills/ae-analysis/references/project_mark_time_update.md +3 -3
  91. package/skills/ae-analysis/references/project_member_add.md +3 -3
  92. package/skills/ae-analysis/references/project_member_batch_update.md +3 -3
  93. package/skills/ae-analysis/references/project_member_candidate_list.md +3 -3
  94. package/skills/ae-analysis/references/project_member_handover_export.md +3 -3
  95. package/skills/ae-analysis/references/project_member_handover_run.md +3 -3
  96. package/skills/ae-analysis/references/project_member_import.md +3 -3
  97. package/skills/ae-analysis/references/project_member_list.md +3 -3
  98. package/skills/ae-analysis/references/project_member_receiver_list.md +3 -3
  99. package/skills/ae-analysis/references/project_member_remove.md +3 -3
  100. package/skills/ae-analysis/references/project_member_update.md +3 -3
  101. package/skills/ae-analysis/references/project_owner_update.md +3 -3
  102. package/skills/ae-analysis/references/project_permission_binding_list.md +3 -3
  103. package/skills/ae-analysis/references/project_receive_status_update.md +3 -3
  104. package/skills/ae-analysis/references/project_role_delete.md +3 -3
  105. package/skills/ae-analysis/references/project_role_function_list.md +3 -3
  106. package/skills/ae-analysis/references/project_role_get.md +3 -3
  107. package/skills/ae-analysis/references/project_role_list.md +3 -3
  108. package/skills/ae-analysis/references/project_role_upsert.md +3 -3
  109. package/skills/ae-analysis/references/project_role_user_list.md +3 -3
  110. package/skills/ae-analysis/references/project_space_list.md +1 -1
  111. package/skills/ae-analysis/references/project_timezone_get.md +3 -3
  112. package/skills/ae-analysis/references/project_timezone_overview.md +3 -3
  113. package/skills/ae-analysis/references/project_timezone_update.md +3 -3
  114. package/skills/ae-analysis/references/project_user_id_items_update.md +3 -3
  115. package/skills/ae-analysis/references/system_admin_function_list.md +22 -0
  116. package/skills/ae-analysis/references/system_admin_function_update.md +26 -0
  117. package/skills/ae-analysis/references/system_admin_list.md +21 -0
  118. package/skills/ae-analysis/references/system_admin_remove.md +25 -0
  119. package/skills/ae-analysis/references/system_admin_upsert.md +25 -0
  120. package/skills/ae-analysis/references/system_function_list.md +21 -0
  121. package/skills/ae-analysis/references/system_member_add.md +25 -0
  122. package/skills/ae-analysis/references/system_member_candidate_list.md +22 -0
  123. package/skills/ae-analysis/references/system_member_delete.md +25 -0
  124. package/skills/ae-analysis/references/system_member_list.md +24 -0
  125. package/skills/ae-analysis/references/system_member_mfa_unbind.md +25 -0
  126. package/skills/ae-analysis/references/system_member_password_reset.md +32 -0
  127. package/skills/ae-analysis/references/system_member_project_batch_update.md +27 -0
  128. package/skills/ae-analysis/references/system_member_status_update.md +26 -0
  129. package/skills/ae-analysis/references/system_member_update.md +23 -0
  130. package/skills/ae-analysis/references/system_mfa_get.md +21 -0
  131. package/skills/ae-analysis/references/system_mfa_update.md +25 -0
  132. package/skills/ae-analysis/references/system_node_monitor_list.md +24 -0
  133. package/skills/ae-analysis/references/system_oauth2_update.md +22 -0
  134. package/skills/ae-analysis/references/system_ops_alert_contact_delete.md +25 -0
  135. package/skills/ae-analysis/references/system_ops_alert_contact_list.md +23 -0
  136. package/skills/ae-analysis/references/system_ops_alert_contact_test.md +29 -0
  137. package/skills/ae-analysis/references/system_ops_alert_contact_upsert.md +39 -0
  138. package/skills/ae-analysis/references/system_preference_get.md +21 -0
  139. package/skills/ae-analysis/references/system_preference_update.md +22 -0
  140. package/skills/ae-analysis/references/system_project_usage_list.md +28 -0
  141. package/skills/ae-analysis/references/system_query_alert_rule_list.md +21 -0
  142. package/skills/ae-analysis/references/system_query_alert_rule_update.md +26 -0
  143. package/skills/ae-analysis/references/system_query_monitor_overview.md +26 -0
  144. package/skills/ae-analysis/references/system_query_task_cancel.md +25 -0
  145. package/skills/ae-analysis/references/system_query_task_export.md +49 -0
  146. package/skills/ae-analysis/references/system_query_task_get.md +23 -0
  147. package/skills/ae-analysis/references/system_query_task_list.md +35 -0
  148. package/skills/ae-analysis/references/system_query_task_options.md +27 -0
  149. package/skills/ae-analysis/references/system_receiver_address_delete.md +26 -0
  150. package/skills/ae-analysis/references/system_receiver_address_overview.md +21 -0
  151. package/skills/ae-analysis/references/system_receiver_address_project_list.md +21 -0
  152. package/skills/ae-analysis/references/system_receiver_address_promote.md +24 -0
  153. package/skills/ae-analysis/references/system_receiver_address_upsert.md +27 -0
  154. package/skills/ae-analysis/references/system_receiver_detection_get.md +22 -0
  155. package/skills/ae-analysis/references/system_receiver_detection_run.md +22 -0
  156. package/skills/ae-analysis/references/system_receiver_detection_update.md +25 -0
  157. package/skills/ae-analysis/references/system_role_delete.md +26 -0
  158. package/skills/ae-analysis/references/system_role_function_list.md +22 -0
  159. package/skills/ae-analysis/references/system_role_get.md +22 -0
  160. package/skills/ae-analysis/references/system_role_list.md +24 -0
  161. package/skills/ae-analysis/references/system_role_upsert.md +27 -0
  162. package/skills/ae-analysis/references/system_role_user_list.md +22 -0
  163. package/skills/ae-analysis/references/system_seat_list.md +25 -0
  164. package/skills/ae-analysis/references/system_seat_update.md +26 -0
  165. package/skills/ae-analysis/references/system_smtp_delete.md +24 -0
  166. package/skills/ae-analysis/references/system_smtp_get.md +21 -0
  167. package/skills/ae-analysis/references/system_smtp_test.md +22 -0
  168. package/skills/ae-analysis/references/system_smtp_upsert.md +31 -0
  169. package/skills/ae-analysis/references/system_third_party_login_disable.md +25 -0
  170. package/skills/ae-analysis/references/system_third_party_login_list.md +21 -0
  171. package/skills/ae-analysis/references/system_third_party_login_upsert.md +33 -0
  172. package/skills/ae-analysis/references/system_usage_overview.md +21 -0
  173. package/skills/ae-analysis/references/system_usage_trend_export.md +44 -0
  174. package/skills/ae-analysis/references/system_usage_trend_query.md +28 -0
  175. package/skills/ae-dataops/SKILL.md +1 -1
  176. package/skills/ae-dataops/references/dataops-flow-create.md +51 -16
  177. package/skills/ae-engage/SKILL.md +56 -26
  178. package/skills/ae-engage/references/activity-activity.md +3 -0
  179. package/skills/ae-engage/references/activity-approval.md +12 -4
  180. package/skills/ae-engage/references/activity-task.md +21 -6
  181. package/skills/ae-engage/references/activity-topic.md +31 -13
  182. package/skills/ae-engage/references/add-channel.md +170 -41
  183. package/skills/ae-engage/references/build-task-save-guide.md +40 -27
  184. package/skills/ae-engage/references/channel-update-config.md +3 -2
  185. package/skills/ae-engage/references/common-metric.md +48 -120
  186. package/skills/ae-engage/references/flow-detail.md +13 -0
  187. package/skills/ae-engage/references/preset-event.md +12 -32
  188. package/skills/ae-engage/references/save-flow.md +127 -64
  189. package/skills/ae-engage/references/save-task.md +197 -59
  190. package/skills/ae-engage/references/scene-config-metric.md +3 -0
  191. package/skills/ae-engage/references/scene-preset-metric.md +8 -37
  192. package/skills/ae-engage/references/scene-strategy-audience.md +51 -643
  193. package/skills/ae-engage/references/scene-strategy.md +6 -6
  194. package/skills/ae-engage/references/task-detail.md +10 -0
  195. package/skills/ae-engage/references/task-submit-approval.md +45 -0
  196. package/skills/ae-engage/references/validate-flow-node-config.md +1 -1
  197. package/skills/ae-experiment/SKILL.md +21 -1
  198. package/skills/ae-experiment/references/check_experiment_ready.md +2 -0
  199. package/skills/ae-experiment/references/query_experiment_detail.md +6 -0
  200. package/skills/ae-experiment/references/query_experiment_list.md +4 -0
  201. package/skills/ae-experiment/references/query_experiment_list_archived.md +3 -0
  202. package/skills/ae-experiment/references/query_metric_detail.md +5 -0
  203. package/skills/ae-experiment/references/query_metric_list.md +3 -0
  204. package/skills/ae-experiment/references/save_experiment.md +46 -3
  205. package/skills/ae-experiment/references/save_metric.md +62 -0
  206. package/skills/ae-experiment/references/save_submit_experiment.md +3 -0
  207. package/skills/ae-experiment-design/SKILL.md +149 -0
  208. package/skills/ae-experiment-design/agents/openai.yaml +4 -0
  209. package/skills/ae-experiment-design/references/client-experiment-sdk.md +147 -0
  210. package/skills/ae-experiment-design/references/experiment-creation.md +108 -0
  211. package/skills/ae-experiment-design/references/experiment-sdk-contract.md +100 -0
  212. package/skills/ae-experiment-design/references/exposure-contract.md +91 -0
  213. package/skills/ae-experiment-design/references/hybrid-experiment-sdk.md +74 -0
  214. package/skills/ae-experiment-design/references/metric-readiness.md +143 -0
  215. package/skills/ae-experiment-design/references/platform-operations.md +99 -0
  216. package/skills/ae-experiment-design/references/sdk-index.md +76 -0
  217. package/skills/ae-experiment-design/references/sdk-integration.md +114 -0
  218. package/skills/ae-experiment-design/references/sdk-troubleshooting.md +139 -0
  219. package/skills/ae-experiment-design/references/server-experiment-sdk.md +78 -0
  220. package/skills/ae-experiment-design/scripts/calculate_experiment_plan.py +450 -0
  221. package/skills/ae-experiment-insight/SKILL.md +149 -0
  222. package/skills/ae-experiment-insight/agents/openai.yaml +4 -0
  223. package/skills/ae-experiment-insight/references/decision-framework.md +69 -0
  224. package/skills/ae-experiment-insight/references/diagnostic-playbook.md +225 -0
  225. package/skills/ae-experiment-insight/references/platform-operations.md +76 -0
  226. package/skills/ae-experiment-insight/scripts/analyze_experiment.py +478 -0
  227. package/skills/ae-generate-tracking-code/SKILL.md +24 -8
  228. package/skills/ae-generate-tracking-code/references/debug-script.md +46 -37
  229. package/skills/ae-generate-tracking-plan/SKILL.md +26 -1
  230. package/skills/ae-metadata/SKILL.md +1 -1
  231. package/dist/config-BSSALXEN.js +0 -128
  232. package/dist/sync-QFP4XFN3.js +0 -485
@@ -0,0 +1,225 @@
1
+ # Diagnostic Playbook
2
+
3
+ Validate the experiment in causal order. A downstream report cannot repair an upstream assignment or exposure failure.
4
+
5
+ ## Contents
6
+
7
+ - [Identity through report aggregation](#1-identity)
8
+ - [Seven-part diagnostic checklist](#diagnostic-checklist)
9
+ - [SRM and deterministic analysis](#srm-interpretation)
10
+ - [Diagnostic fields](#diagnostic-fields)
11
+
12
+ ## 1. Identity
13
+
14
+ Check:
15
+
16
+ - assignment identity is stable;
17
+ - anonymous and logged-in identities are reconciled as designed;
18
+ - server and client use the same subject;
19
+ - account or device switching cannot move a subject across groups;
20
+ - exposure and outcome events contain the join identity.
21
+
22
+ Evidence of identity instability invalidates naive group comparisons.
23
+
24
+ ## 2. Configuration retrieval and assignment
25
+
26
+ Check:
27
+
28
+ - eligible subjects could retrieve configuration;
29
+ - assignment was deterministic;
30
+ - one subject maps to one group;
31
+ - configured allocation matches observed assignment;
32
+ - cache or fallback behavior did not concentrate users in control.
33
+
34
+ Apply the SRM rules in checklist A to the observed assignment.
35
+
36
+ ## 3. Feature value and treatment activation
37
+
38
+ Check:
39
+
40
+ - group value matches the saved experiment configuration;
41
+ - treatment code applied the returned value;
42
+ - fallback/default behavior is observable;
43
+ - no code path fetched a value but failed to activate treatment.
44
+
45
+ ## 4. Exposure
46
+
47
+ Check:
48
+
49
+ - exposure fires when treatment becomes effective, not merely on configuration fetch;
50
+ - one subject is not counted repeatedly unless the report definition expects repeated exposures;
51
+ - exposure coverage is comparable across groups;
52
+ - exposure timestamp precedes attributed outcomes;
53
+ - exposure delay and ingestion delay are understood.
54
+
55
+ ## 5. Outcome
56
+
57
+ Check:
58
+
59
+ - source event, aggregation, analysis unit, numerator/value,
60
+ denominator/population, filters, and attribution window match the registered
61
+ metric;
62
+ - attribution window is complete;
63
+ - post-treatment filtering does not redefine the population;
64
+ - outcome identity joins exposure;
65
+ - metric instrumentation did not change mid-run.
66
+
67
+ When the metric name or description conflicts with its saved configuration,
68
+ interpret the saved configuration and flag the mismatch. Do not translate an
69
+ aggregation code into “conversion rate,” “per-user count,” or another business
70
+ meaning unless the report contract verifies its unit and denominator.
71
+
72
+ ## 6. Report aggregation
73
+
74
+ Check:
75
+
76
+ - report version, time zone, filters, identity, and experiment version match the design;
77
+ - incomplete dates are excluded when required;
78
+ - sample-ratio and deduplication rules are understood;
79
+ - a platform backfill or data delay is not mistaken for a treatment effect.
80
+
81
+ ## Diagnostic checklist
82
+
83
+ Run all seven checks when their required evidence exists. Use semantic results
84
+ equivalent to `normal`, `warning`, `failed`, or `unverified`. Do not turn a
85
+ missing input into a passing result.
86
+
87
+ ### A. SRM monitoring
88
+
89
+ - Compare true assignment counts with configured allocations using a
90
+ chi-square goodness-of-fit test.
91
+ - Use the pre-registered or platform threshold when available. Otherwise use
92
+ `alpha_srm = 0.01` as the diagnostic default.
93
+ - Treat `p < alpha_srm` as a failed allocation-quality check and downgrade the
94
+ overall conclusion.
95
+ - When assignment counts are unavailable, mark SRM as unverified; do not use
96
+ exposure, analysis, or outcome counts as substitutes.
97
+
98
+ ### B. Duration sufficiency monitoring
99
+
100
+ - Compare achieved sample per group with the pre-registered required sample
101
+ and planned duration.
102
+ - Warn prominently when achieved sample is below `80%` of the requirement;
103
+ keep `80%` to below `100%` classified as incomplete rather than sufficient.
104
+ - Treat reaching the sample target as sample sufficiency only; it does not
105
+ prove trend stability or practical significance.
106
+ - When MDE, alpha, power, variance, or the planned sample is unavailable, mark
107
+ the check as unverified instead of back-solving from the observed effect.
108
+ - When a valid traffic forecast exists, report the estimated date on which the
109
+ required sample will be reached.
110
+
111
+ ### C. Novelty-effect monitoring
112
+
113
+ - Run only after at least seven complete days of comparable trend data.
114
+ - Compare the treatment-versus-control effect in the first and second halves
115
+ of the observed period.
116
+ - Warn when the early relative lift is greater than `1.5` times the late lift
117
+ and the late-period effect continues to decline.
118
+ - Use absolute difference instead of relative lift when the control value is
119
+ zero or relative lift is not meaningful.
120
+ - Treat this rule as a diagnostic heuristic, not proof that novelty caused the
121
+ decline. Show the early/late values and the trend evidence.
122
+
123
+ ### D. Metric-conflict monitoring
124
+
125
+ - Use the verified metric contract from the Outcome check; treat any unresolved
126
+ definition mismatch as a metric-conflict warning.
127
+ - For two or more treatment groups, compare each treatment with control using
128
+ the pre-registered multiple-testing policy.
129
+ - Warn when at least one treatment is significantly positive and another is
130
+ significantly negative on the primary metric.
131
+ - Do not infer heterogeneous user response as the cause without segment or
132
+ implementation evidence.
133
+
134
+ ### E. Missing- or anomalous-data monitoring
135
+
136
+ - Inspect daily assignment, exposure, and metric sample counts for nulls,
137
+ unexpected zeros, gaps, abrupt discontinuities, and group-specific loss.
138
+ - With enough complete dates, calculate the daily mean and standard deviation;
139
+ mark dates outside `mean ± 3σ` as anomalous.
140
+ - Raise a data-anomaly warning when more than two dates are anomalous.
141
+ - Do not use the `3σ` rule on a short or structurally changing series. Mark the
142
+ check as unverified and describe the missing evidence instead.
143
+
144
+ ### F. Design-reasonableness monitoring
145
+
146
+ Verify that:
147
+
148
+ - the hypothesis names one interpretable treatment contrast and decision;
149
+ - control, treatment values, default behavior, targeting, and exclusions are
150
+ explicit;
151
+ - group allocations sum to the configured total;
152
+ - the primary metric is sensitive to the intended treatment and matches the
153
+ intended decision;
154
+ - MDE, alpha, power, planned sample or duration, and stopping rule exist when
155
+ the decision requires them;
156
+ - multiple treatments use an explicit multiple-testing policy;
157
+ - expected interactions with concurrent experiments are considered.
158
+
159
+ ### G. Overall data reliability
160
+
161
+ Synthesize the preceding checks:
162
+
163
+ - **Unreliable**: confirmed SRM, critical identity/assignment/exposure failure,
164
+ invalid primary-metric definition, or broken report aggregation prevents a
165
+ causal comparison.
166
+ - **Limited**: no critical failure is confirmed, but duration, novelty,
167
+ conflict, anomaly, design, or required evidence remains unresolved.
168
+ - **Reliable**: design and metric definitions are coherent, SRM is verified and
169
+ not triggered, achieved sample is sufficient, and no unresolved diagnostic
170
+ issue can materially change the decision.
171
+
172
+ In the user report, state the overall reliability and give one-line results
173
+ for the executed checks. Expand only failed, warning, or unverified checks.
174
+
175
+ ## SRM interpretation
176
+
177
+ An SRM alert identifies imbalance, not its root cause.
178
+
179
+ Investigate:
180
+
181
+ - targeting evaluated differently by group;
182
+ - assignment or hashing bug;
183
+ - identity migration;
184
+ - fallback concentrated in one group;
185
+ - group-specific exposure loss;
186
+ - bots, QA users, or exclusions applied after assignment;
187
+ - early stopping or staggered ramp.
188
+
189
+ ## Deterministic analysis
190
+
191
+ Use `scripts/analyze_experiment.py` for SRM and group comparisons:
192
+
193
+ ```bash
194
+ python3 scripts/analyze_experiment.py '{
195
+ "metric_type": "binary",
196
+ "control": "control",
197
+ "expected_allocations": {"control": 0.5, "treatment": 0.5},
198
+ "groups": [
199
+ {"name": "control", "assigned": 10000, "sample_size": 9200, "successes": 1104},
200
+ {"name": "treatment", "assigned": 10050, "sample_size": 9250, "successes": 1203}
201
+ ],
202
+ "alpha": 0.05,
203
+ "alpha_srm": 0.01
204
+ }'
205
+ ```
206
+
207
+ The script uses assignment-count chi-square SRM, a pooled two-proportion
208
+ z-test for binary metrics, Welch's t-test for continuous metrics, and
209
+ Bonferroni correction across treatments by default. Set `multiple_testing`
210
+ only to the pre-registered policy. It does not implement sequential tests,
211
+ CUPED, clustered variance, ratio-metric variance, or regression adjustment.
212
+
213
+ ## Diagnostic fields
214
+
215
+ Use `Stage`, `Observation`, `Source`, `Severity`, `Inference`,
216
+ `Verification`, and `Remediation` to structure the analysis. In the final
217
+ report, present only findings that affect the decision. Use a table only when
218
+ the diagnosis is detailed enough that a table materially improves clarity.
219
+
220
+ Use severity:
221
+
222
+ - `critical`: invalidates the causal comparison;
223
+ - `material`: can change the decision and must be resolved;
224
+ - `warning`: limits precision or generalization;
225
+ - `informational`: useful context without changing validity.
@@ -0,0 +1,76 @@
1
+ # Platform Operations
2
+
3
+ Read this reference before retrieving any AE/TE experiment evidence.
4
+
5
+ ## Hard boundary
6
+
7
+ All platform discovery and reads must use `ae-cli`. Do not call raw APIs, use browser automation, query a database, invoke te-mcp, or invent report values.
8
+
9
+ Use the Capability Gateway when no curated experiment command exists:
10
+
11
+ ```bash
12
+ ae-cli capability search "<terms>" [--project-id <id>]
13
+ ae-cli capability inspect <capability-id> --project-id <id>
14
+ ae-cli capability run <capability-id> --input '<json-object>'
15
+ ```
16
+
17
+ Never guess a capability ID, schema field, enum, resource ID, project ID, or experiment ID. Search, inspect, then construct input from `input_schema`.
18
+
19
+ ## Host compatibility
20
+
21
+ After every `ae-cli` invocation, inspect stderr and `_notice.host_compat`. If present, open the user-facing result with a version warning and reproduce the update command lines verbatim.
22
+
23
+ ## Resolution gates
24
+
25
+ Resolve the project first:
26
+
27
+ ```bash
28
+ ae-cli analysis project info list --query "<project name>" --fields '["project_id","project_name"]' --limit 20 --offset 0
29
+ ```
30
+
31
+ Then discover experiment list/get capabilities and resolve the exact experiment by verified ID or exact-match name. If multiple candidates remain, ask the user.
32
+
33
+ Reuse IDs only within the same verified host and continuous conversation.
34
+
35
+ ## Evidence acquisition order
36
+
37
+ Discover and inspect capabilities for:
38
+
39
+ 1. experiment configuration and current state;
40
+ 2. Feature and group values;
41
+ 3. allocation, targeting, and layer;
42
+ 4. configuration or lifecycle change history;
43
+ 5. assignment and exposure summary;
44
+ 6. primary and other requested metric reports;
45
+ 7. sample-size or achieved-power report;
46
+ 8. metric trends;
47
+ 9. pre-registered or requested segments.
48
+
49
+ Typical catalog search concepts include `experiment get`, `experiment report`, `experiment metric`, `experiment trend`, `experiment sample`, `experiment exposure`, `experiment group`, and `experiment history`. Catalog wording varies by deployment; inspected metadata is authoritative.
50
+
51
+ Use `ae-cli analysis adhoc run|export` only when the platform experiment report lacks the raw evidence needed for a diagnosis and the required events/identities are known. Follow the installed `ae-analysis` reference and preserve the exact query definition.
52
+
53
+ ## Safe read behavior
54
+
55
+ - A successful empty response means no matching data.
56
+ - Preserve report time zone, attribution window, filters, metric definition, identity, and aggregation unit.
57
+ - Preserve request and invocation IDs with failures.
58
+ - Do not retry an unchanged failed query.
59
+ - Do not combine values from different project IDs, hosts, experiment versions, or metric definitions.
60
+
61
+ ## Capability gaps
62
+
63
+ When a required read is unavailable:
64
+
65
+ 1. preserve the `ae-cli` capability or permission error;
66
+ 2. name the missing evidence and the decision it blocks;
67
+ 3. request a platform export containing the minimum fields;
68
+ 4. label subsequent analysis as based on user-provided data.
69
+
70
+ Do not bypass `ae-cli` with a direct platform endpoint.
71
+
72
+ ## Lifecycle boundary
73
+
74
+ Insight work is read-only by default. For a lifecycle action, follow the
75
+ authorization boundary in `SKILL.md` and the risk contract of the inspected
76
+ platform capability.