@thinkingai/ae-cli 6.1.10 → 6.1.12
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 +25 -3
- package/README.zh.md +25 -3
- package/dist/{auth-56Z45UVR.js → auth-GDV3H5I4.js} +18 -8
- package/dist/{auth-ENM3FE6L.js → auth-NN55553T.js} +3 -3
- package/dist/{capability-2H6PAOA3.js → capability-DRLGDVS4.js} +24 -17
- package/dist/{capability-YPOQX6PL.js → capability-P6GK3AQH.js} +24 -17
- package/dist/chunk-4NN5IWVN.js +26 -0
- package/dist/{chunk-DB4Q3ANU.js → chunk-6A2FUCIS.js} +3 -3
- package/dist/{chunk-PVBYJWC2.js → chunk-7KQWSBSL.js} +4 -4
- package/dist/{chunk-24BAVOX3.js → chunk-AXDXJTPC.js} +3 -1
- package/dist/{chunk-CPVTECJ3.js → chunk-DT6Y3TD7.js} +5 -5
- package/dist/{chunk-EGEIXA2Z.js → chunk-DWO43OIB.js} +0 -248
- package/dist/{chunk-V6FR6WTW.js → chunk-GJJA4CQZ.js} +34 -2
- package/dist/{chunk-RGXCNC4N.js → chunk-GS2P7LFD.js} +50 -17
- package/dist/{chunk-LYVNONC4.js → chunk-JHENBQ5B.js} +35 -0
- package/dist/{chunk-3P3562ZX.js → chunk-MVDZ7DBQ.js} +5 -5
- package/dist/{chunk-LCXU3AAT.js → chunk-NBPKWKRA.js} +2 -2
- package/dist/{chunk-HQ2A7ITL.js → chunk-RBNKI5ZW.js} +50 -17
- package/dist/{chunk-LHVM35J4.js → chunk-TS6BUGUY.js} +4 -4
- package/dist/chunk-TUKQZTMI.js +250 -0
- package/dist/{chunk-J7MZHDHQ.js → chunk-VKD5WQKN.js} +5 -5
- package/dist/{chunk-3KI3RRXX.js → chunk-VTXHDCBW.js} +3 -3
- package/dist/{chunk-KTYR3U6D.js → chunk-YTG6Q75E.js} +10 -6
- package/dist/{chunk-IR4ZLVPW.js → chunk-YV52FB5G.js} +25 -3
- package/dist/{chunk-E7UXXHO3.js → chunk-Z3OXWCIA.js} +3 -3
- package/dist/{cli-token-4SBMXAUK.js → cli-token-GL5MS5FK.js} +4 -4
- package/dist/{client-PP5FETMW.js → client-DAIPF7XN.js} +4 -4
- package/dist/{community-report-client-KK2QBANO.js → community-report-client-M2RW4MXD.js} +2 -2
- package/dist/config-4VZNLBKF.js +489 -0
- package/dist/index.js +94 -35
- package/dist/memory-RWJW4XFO.js +892 -0
- package/dist/memory-VO2ZJCRT.js +892 -0
- package/dist/{metadata-JIQ77HFY.js → metadata-YGTHR2XJ.js} +8 -8
- package/dist/{metadata-AN3YFZEV.js → metadata-ZRN2GHPN.js} +8 -8
- package/dist/{model-JASQVOFD.js → model-CLUIK3K5.js} +7 -5
- package/dist/{raw-XJCAT3HX.js → raw-52B4UKO4.js} +8 -7
- package/dist/sync-3REDHGY6.js +10259 -0
- package/dist/{te-agent-JHUG6DVV.js → te-agent-XNPELAKX.js} +580 -84
- package/dist/{te-analysis-ITKTO6JS.js → te-analysis-GJI5FZUL.js} +1152 -13
- package/dist/{te-analysis-RAC67YYD.js → te-analysis-N2BRDJZ5.js} +1152 -13
- package/dist/{te-community-QOYIYEJI.js → te-community-SQXKE5OO.js} +7 -7
- package/dist/{te-community-UFKI6ONP.js → te-community-TYSNU3NQ.js} +7 -7
- package/dist/{te-dataops-PZQ5NQLY.js → te-dataops-5TM7WZDI.js} +370 -189
- package/dist/{te-dataops-XTWVTJCA.js → te-dataops-OWIADNSM.js} +370 -189
- package/dist/{te-engage-NLZUPSBK.js → te-engage-L72HWRGO.js} +716 -118
- package/dist/{te-engage-E7F4HTXU.js → te-engage-QWM4GFS7.js} +716 -118
- package/dist/{te-experiment-N63WF7XA.js → te-experiment-2T2HEZML.js} +189 -10
- package/dist/{te-experiment-D32TB6ZB.js → te-experiment-PVEY7AEZ.js} +189 -10
- package/dist/{te-kb-E7NSCBRB.js → te-kb-VRMEY3D4.js} +6 -6
- package/dist/{te-meta-GBDTMPEL.js → te-meta-53BVXPFI.js} +7 -7
- package/dist/{te-meta-ZTLTSHXC.js → te-meta-TOCBPBXI.js} +7 -7
- package/dist/{te-system-AH7DMCAQ.js → te-system-XGS5EQIQ.js} +4 -4
- package/dist/{te-team-BQ3SKSZV.js → te-team-BZRDV2CM.js} +7 -7
- package/dist/{update-DKG6UXEM.js → update-HEDXGOJH.js} +8 -6
- package/package.json +5 -2
- package/skills/ae-agent/SKILL.md +178 -16
- package/skills/ae-agent/references/add-skill.md +22 -10
- package/skills/ae-agent/references/edit-skill.md +24 -14
- package/skills/ae-agent/references/find-archived-conversations.md +82 -0
- package/skills/ae-agent/references/restore-conversation.md +54 -0
- package/skills/ae-agent/references/upload-skill.md +24 -14
- package/skills/ae-analysis/SKILL.md +1 -1
- package/skills/ae-analysis/references/command_index.md +104 -42
- package/skills/ae-analysis/references/entity_id_import_options.md +1 -1
- package/skills/ae-analysis/references/project_access_detail_get.md +3 -3
- package/skills/ae-analysis/references/project_data_power_delete.md +3 -3
- package/skills/ae-analysis/references/project_data_power_get.md +3 -3
- package/skills/ae-analysis/references/project_data_power_list.md +3 -3
- package/skills/ae-analysis/references/project_data_power_upsert.md +3 -3
- package/skills/ae-analysis/references/project_entity_create.md +3 -3
- package/skills/ae-analysis/references/project_entity_delete.md +3 -3
- package/skills/ae-analysis/references/project_entity_event_list.md +3 -3
- package/skills/ae-analysis/references/project_entity_get.md +3 -3
- package/skills/ae-analysis/references/project_entity_list.md +3 -3
- package/skills/ae-analysis/references/project_entity_update.md +3 -3
- package/skills/ae-analysis/references/project_function_list.md +3 -3
- package/skills/ae-analysis/references/project_info_create.md +25 -0
- package/skills/ae-analysis/references/project_info_delete.md +24 -0
- package/skills/ae-analysis/references/project_info_get.md +3 -3
- package/skills/ae-analysis/references/project_info_list.md +3 -3
- package/skills/ae-analysis/references/project_info_update.md +3 -3
- package/skills/ae-analysis/references/project_mark_time_create.md +3 -3
- package/skills/ae-analysis/references/project_mark_time_delete.md +3 -3
- package/skills/ae-analysis/references/project_mark_time_list.md +3 -3
- package/skills/ae-analysis/references/project_mark_time_update.md +3 -3
- package/skills/ae-analysis/references/project_member_add.md +3 -3
- package/skills/ae-analysis/references/project_member_batch_update.md +3 -3
- package/skills/ae-analysis/references/project_member_candidate_list.md +3 -3
- package/skills/ae-analysis/references/project_member_handover_export.md +3 -3
- package/skills/ae-analysis/references/project_member_handover_run.md +3 -3
- package/skills/ae-analysis/references/project_member_import.md +3 -3
- package/skills/ae-analysis/references/project_member_list.md +3 -3
- package/skills/ae-analysis/references/project_member_receiver_list.md +3 -3
- package/skills/ae-analysis/references/project_member_remove.md +3 -3
- package/skills/ae-analysis/references/project_member_update.md +3 -3
- package/skills/ae-analysis/references/project_owner_update.md +3 -3
- package/skills/ae-analysis/references/project_permission_binding_list.md +3 -3
- package/skills/ae-analysis/references/project_receive_status_update.md +3 -3
- package/skills/ae-analysis/references/project_role_delete.md +3 -3
- package/skills/ae-analysis/references/project_role_function_list.md +3 -3
- package/skills/ae-analysis/references/project_role_get.md +3 -3
- package/skills/ae-analysis/references/project_role_list.md +3 -3
- package/skills/ae-analysis/references/project_role_upsert.md +3 -3
- package/skills/ae-analysis/references/project_role_user_list.md +3 -3
- package/skills/ae-analysis/references/project_space_list.md +1 -1
- package/skills/ae-analysis/references/project_timezone_get.md +3 -3
- package/skills/ae-analysis/references/project_timezone_overview.md +3 -3
- package/skills/ae-analysis/references/project_timezone_update.md +3 -3
- package/skills/ae-analysis/references/project_user_id_items_update.md +3 -3
- package/skills/ae-analysis/references/system_admin_function_list.md +22 -0
- package/skills/ae-analysis/references/system_admin_function_update.md +26 -0
- package/skills/ae-analysis/references/system_admin_list.md +21 -0
- package/skills/ae-analysis/references/system_admin_remove.md +25 -0
- package/skills/ae-analysis/references/system_admin_upsert.md +25 -0
- package/skills/ae-analysis/references/system_function_list.md +21 -0
- package/skills/ae-analysis/references/system_member_add.md +25 -0
- package/skills/ae-analysis/references/system_member_candidate_list.md +22 -0
- package/skills/ae-analysis/references/system_member_delete.md +25 -0
- package/skills/ae-analysis/references/system_member_list.md +24 -0
- package/skills/ae-analysis/references/system_member_mfa_unbind.md +25 -0
- package/skills/ae-analysis/references/system_member_password_reset.md +32 -0
- package/skills/ae-analysis/references/system_member_project_batch_update.md +27 -0
- package/skills/ae-analysis/references/system_member_status_update.md +26 -0
- package/skills/ae-analysis/references/system_member_update.md +23 -0
- package/skills/ae-analysis/references/system_mfa_get.md +21 -0
- package/skills/ae-analysis/references/system_mfa_update.md +25 -0
- package/skills/ae-analysis/references/system_node_monitor_list.md +24 -0
- package/skills/ae-analysis/references/system_oauth2_update.md +22 -0
- package/skills/ae-analysis/references/system_ops_alert_contact_delete.md +25 -0
- package/skills/ae-analysis/references/system_ops_alert_contact_list.md +23 -0
- package/skills/ae-analysis/references/system_ops_alert_contact_test.md +29 -0
- package/skills/ae-analysis/references/system_ops_alert_contact_upsert.md +39 -0
- package/skills/ae-analysis/references/system_preference_get.md +21 -0
- package/skills/ae-analysis/references/system_preference_update.md +22 -0
- package/skills/ae-analysis/references/system_project_usage_list.md +28 -0
- package/skills/ae-analysis/references/system_query_alert_rule_list.md +21 -0
- package/skills/ae-analysis/references/system_query_alert_rule_update.md +26 -0
- package/skills/ae-analysis/references/system_query_monitor_overview.md +26 -0
- package/skills/ae-analysis/references/system_query_task_cancel.md +25 -0
- package/skills/ae-analysis/references/system_query_task_export.md +49 -0
- package/skills/ae-analysis/references/system_query_task_get.md +23 -0
- package/skills/ae-analysis/references/system_query_task_list.md +35 -0
- package/skills/ae-analysis/references/system_query_task_options.md +27 -0
- package/skills/ae-analysis/references/system_receiver_address_delete.md +26 -0
- package/skills/ae-analysis/references/system_receiver_address_overview.md +21 -0
- package/skills/ae-analysis/references/system_receiver_address_project_list.md +21 -0
- package/skills/ae-analysis/references/system_receiver_address_promote.md +24 -0
- package/skills/ae-analysis/references/system_receiver_address_upsert.md +27 -0
- package/skills/ae-analysis/references/system_receiver_detection_get.md +22 -0
- package/skills/ae-analysis/references/system_receiver_detection_run.md +22 -0
- package/skills/ae-analysis/references/system_receiver_detection_update.md +25 -0
- package/skills/ae-analysis/references/system_role_delete.md +26 -0
- package/skills/ae-analysis/references/system_role_function_list.md +22 -0
- package/skills/ae-analysis/references/system_role_get.md +22 -0
- package/skills/ae-analysis/references/system_role_list.md +24 -0
- package/skills/ae-analysis/references/system_role_upsert.md +27 -0
- package/skills/ae-analysis/references/system_role_user_list.md +22 -0
- package/skills/ae-analysis/references/system_seat_list.md +25 -0
- package/skills/ae-analysis/references/system_seat_update.md +26 -0
- package/skills/ae-analysis/references/system_smtp_delete.md +24 -0
- package/skills/ae-analysis/references/system_smtp_get.md +21 -0
- package/skills/ae-analysis/references/system_smtp_test.md +22 -0
- package/skills/ae-analysis/references/system_smtp_upsert.md +31 -0
- package/skills/ae-analysis/references/system_third_party_login_disable.md +25 -0
- package/skills/ae-analysis/references/system_third_party_login_list.md +21 -0
- package/skills/ae-analysis/references/system_third_party_login_upsert.md +33 -0
- package/skills/ae-analysis/references/system_usage_overview.md +21 -0
- package/skills/ae-analysis/references/system_usage_trend_export.md +44 -0
- package/skills/ae-analysis/references/system_usage_trend_query.md +28 -0
- package/skills/ae-dataops/SKILL.md +1 -1
- package/skills/ae-dataops/references/dataops-flow-create.md +51 -16
- package/skills/ae-engage/SKILL.md +67 -27
- package/skills/ae-engage/references/activity-activity.md +3 -0
- package/skills/ae-engage/references/activity-approval.md +12 -4
- package/skills/ae-engage/references/activity-data-detail.md +61 -0
- package/skills/ae-engage/references/activity-task.md +21 -6
- package/skills/ae-engage/references/activity-topic.md +31 -13
- package/skills/ae-engage/references/add-channel.md +170 -41
- package/skills/ae-engage/references/build-task-save-guide.md +66 -29
- package/skills/ae-engage/references/channel-update-config.md +3 -2
- package/skills/ae-engage/references/common-metric.md +88 -115
- package/skills/ae-engage/references/flow-detail.md +13 -0
- package/skills/ae-engage/references/preset-event.md +14 -32
- package/skills/ae-engage/references/save-flow.md +141 -64
- package/skills/ae-engage/references/save-task.md +231 -58
- package/skills/ae-engage/references/scene-config-metric.md +3 -0
- package/skills/ae-engage/references/scene-preset-metric.md +8 -37
- package/skills/ae-engage/references/scene-strategy-audience.md +56 -643
- package/skills/ae-engage/references/scene-strategy.md +6 -6
- package/skills/ae-engage/references/task-detail.md +10 -0
- package/skills/ae-engage/references/task-submit-approval.md +45 -0
- package/skills/ae-engage/references/validate-flow-node-config.md +1 -1
- package/skills/ae-experiment/SKILL.md +38 -5
- package/skills/ae-experiment/references/check_experiment_ready.md +2 -0
- package/skills/ae-experiment/references/delete_metric.md +2 -0
- package/skills/ae-experiment/references/query_experiment_detail.md +6 -0
- package/skills/ae-experiment/references/query_experiment_list.md +4 -0
- package/skills/ae-experiment/references/query_experiment_list_archived.md +3 -0
- package/skills/ae-experiment/references/query_experiment_metric_trend.md +5 -5
- package/skills/ae-experiment/references/query_experiment_report_summary.md +4 -3
- package/skills/ae-experiment/references/query_experiment_sample_size_report.md +6 -5
- package/skills/ae-experiment/references/query_metric_detail.md +5 -0
- package/skills/ae-experiment/references/query_metric_list.md +3 -0
- package/skills/ae-experiment/references/save_build_guide.md +39 -0
- package/skills/ae-experiment/references/save_experiment.md +53 -3
- package/skills/ae-experiment/references/save_metric.md +67 -1
- package/skills/ae-experiment/references/save_submit_experiment.md +3 -0
- package/skills/ae-experiment/references/save_validate.md +33 -0
- package/skills/ae-experiment-design/SKILL.md +149 -0
- package/skills/ae-experiment-design/agents/openai.yaml +4 -0
- package/skills/ae-experiment-design/references/client-experiment-sdk.md +147 -0
- package/skills/ae-experiment-design/references/experiment-creation.md +108 -0
- package/skills/ae-experiment-design/references/experiment-sdk-contract.md +100 -0
- package/skills/ae-experiment-design/references/exposure-contract.md +91 -0
- package/skills/ae-experiment-design/references/hybrid-experiment-sdk.md +74 -0
- package/skills/ae-experiment-design/references/metric-readiness.md +143 -0
- package/skills/ae-experiment-design/references/platform-operations.md +105 -0
- package/skills/ae-experiment-design/references/sdk-index.md +76 -0
- package/skills/ae-experiment-design/references/sdk-integration.md +114 -0
- package/skills/ae-experiment-design/references/sdk-troubleshooting.md +139 -0
- package/skills/ae-experiment-design/references/server-experiment-sdk.md +78 -0
- package/skills/ae-experiment-design/scripts/calculate_experiment_plan.py +450 -0
- package/skills/ae-experiment-insight/SKILL.md +149 -0
- package/skills/ae-experiment-insight/agents/openai.yaml +4 -0
- package/skills/ae-experiment-insight/references/decision-framework.md +69 -0
- package/skills/ae-experiment-insight/references/diagnostic-playbook.md +225 -0
- package/skills/ae-experiment-insight/references/platform-operations.md +82 -0
- package/skills/ae-experiment-insight/scripts/analyze_experiment.py +478 -0
- package/skills/ae-generate-tracking-code/SKILL.md +2 -2
- package/skills/ae-metadata/SKILL.md +1 -1
- package/dist/config-BSSALXEN.js +0 -128
- 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,82 @@
|
|
|
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>" --domain <domain> [--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
|
+
When the user supplies a project ID, resolve it directly:
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
ae-cli project info get --project-id <id>
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
When the user supplies only a project name, search and disambiguate:
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
ae-cli project info list --query "<project name>" --fields '["project_id","project_name"]' --limit 20 --offset 0
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
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.
|
|
38
|
+
|
|
39
|
+
Reuse IDs only within the same verified host and continuous conversation.
|
|
40
|
+
|
|
41
|
+
## Evidence acquisition order
|
|
42
|
+
|
|
43
|
+
Discover and inspect capabilities for:
|
|
44
|
+
|
|
45
|
+
1. experiment configuration and current state;
|
|
46
|
+
2. Feature and group values;
|
|
47
|
+
3. allocation, targeting, and layer;
|
|
48
|
+
4. configuration or lifecycle change history;
|
|
49
|
+
5. assignment and exposure summary;
|
|
50
|
+
6. primary and other requested metric reports;
|
|
51
|
+
7. sample-size or achieved-power report;
|
|
52
|
+
8. metric trends;
|
|
53
|
+
9. pre-registered or requested segments.
|
|
54
|
+
|
|
55
|
+
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.
|
|
56
|
+
|
|
57
|
+
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.
|
|
58
|
+
|
|
59
|
+
## Safe read behavior
|
|
60
|
+
|
|
61
|
+
- A successful empty response means no matching data.
|
|
62
|
+
- Preserve report time zone, attribution window, filters, metric definition, identity, and aggregation unit.
|
|
63
|
+
- Preserve request and invocation IDs with failures.
|
|
64
|
+
- Do not retry an unchanged failed query.
|
|
65
|
+
- Do not combine values from different project IDs, hosts, experiment versions, or metric definitions.
|
|
66
|
+
|
|
67
|
+
## Capability gaps
|
|
68
|
+
|
|
69
|
+
When a required read is unavailable:
|
|
70
|
+
|
|
71
|
+
1. preserve the `ae-cli` capability or permission error;
|
|
72
|
+
2. name the missing evidence and the decision it blocks;
|
|
73
|
+
3. request a platform export containing the minimum fields;
|
|
74
|
+
4. label subsequent analysis as based on user-provided data.
|
|
75
|
+
|
|
76
|
+
Do not bypass `ae-cli` with a direct platform endpoint.
|
|
77
|
+
|
|
78
|
+
## Lifecycle boundary
|
|
79
|
+
|
|
80
|
+
Insight work is read-only by default. For a lifecycle action, follow the
|
|
81
|
+
authorization boundary in `SKILL.md` and the risk contract of the inspected
|
|
82
|
+
platform capability.
|