@1aboveio/skills 0.15.0 → 0.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -2
- package/package.json +1 -1
- package/runtime/skills/distribution/generated/recipes.json +178 -34
- package/runtime/skills/distribution/scripts/bundles.mjs +11 -3
- package/runtime/skills/engineering/engineering-runtime/scripts/workflow-policy.mjs +1 -1
- package/skills/data-science/pyspark/SKILL.md +126 -0
- package/skills/{backend → data-science}/pyspark/assets/templates/etl.py +51 -0
- package/skills/{backend → data-science}/pyspark/references/diagnosis-and-profiling.md +38 -14
- package/skills/{backend → data-science}/pyspark/references/etl-contract.md +19 -0
- package/skills/data-science/pyspark/references/production-validation.md +131 -0
- package/skills/data-science/pyspark/references/reconciliation.md +38 -0
- package/skills/{backend → data-science}/pyspark/references/transformation-design.md +30 -2
- package/skills/engineering/engineering-runtime/coherence/workflow.json +14 -14
- package/skills/engineering/engineering-runtime/scripts/workflow-policy.mjs +1 -1
- package/skills/engineering/resolve-issues/generated/workflow-repair-policy.json +11 -11
- package/skills/engineering/resolve-issues/scripts/run-state.mjs +1 -1
- package/skills/payment/fraud-analysis/LICENSE +3 -0
- package/skills/payment/fraud-analysis/SKILL.md +113 -0
- package/skills/payment/fraud-analysis/evals/evals.json +40 -0
- package/skills/payment/fraud-analysis/references/archetypes/authorized-payment-scam.md +41 -0
- package/skills/payment/fraud-analysis/references/archetypes/first-party-fraud.md +44 -0
- package/skills/payment/fraud-analysis/references/archetypes/third-party-fraud.md +27 -0
- package/skills/payment/fraud-analysis/references/contexts/bank-transfer.md +24 -0
- package/skills/payment/fraud-analysis/references/contexts/card-payment.md +30 -0
- package/skills/payment/fraud-analysis/references/contexts/payment-collection.md +20 -0
- package/skills/payment/fraud-analysis/references/contexts/payout.md +20 -0
- package/skills/payment/fraud-analysis/references/feature-engineering.md +158 -0
- package/skills/payment/fraud-analysis/references/mechanisms/account-takeover.md +36 -0
- package/skills/payment/fraud-analysis/references/report-rationale.md +45 -0
- package/skills/payment/fraud-analysis/references/report-template.md +190 -0
- package/skills/payment/fraud-analysis/references/review-checklist.md +175 -0
- package/skills/payment/fraud-analysis/references/taxonomy.md +79 -0
- package/skills/payment/fraud-analysis/references/terminology.md +108 -0
- package/skills/payment/fraud-analysis/references/workflow.md +175 -0
- package/skills/payment/payment-analysis/LICENSE +3 -0
- package/skills/payment/payment-analysis/SKILL.md +127 -0
- package/skills/payment/payment-analysis/references/auth-rate-actions.md +30 -0
- package/skills/payment/payment-analysis/references/chargebacks.md +88 -0
- package/skills/payment/payment-analysis/references/event-layers.md +79 -0
- package/skills/payment/payment-analysis/references/fx.md +59 -0
- package/skills/payment/payment-analysis/references/journey.md +78 -0
- package/skills/payment/payment-analysis/references/metrics.md +62 -0
- package/skills/payment/payment-analysis/references/report-template.md +98 -0
- package/skills/payment/payment-analysis/references/terminology.md +85 -0
- package/skills/payment/payment-analysis/references/visualization.md +47 -0
- package/skills/backend/pyspark/SKILL.md +0 -116
- package/skills/backend/pyspark/references/parity-testing.md +0 -83
- package/skills/backend/pyspark/references/production-validation.md +0 -166
- /package/skills/{backend → data-science}/airflow-dag-develop/LICENSE +0 -0
- /package/skills/{backend → data-science}/airflow-dag-develop/SKILL.md +0 -0
- /package/skills/{backend → data-science}/pyspark/LICENSE +0 -0
- /package/skills/{backend → data-science}/pyspark/assets/templates/utils/__init__.py +0 -0
- /package/skills/{backend → data-science}/pyspark/assets/templates/utils/hudi_metadata.py +0 -0
- /package/skills/{backend → data-science}/pyspark/references/velocity-feature-calculation.md +0 -0
- /package/skills/{backend → data-science}/pyspark/scripts/spark_eventlog_summary.py +0 -0
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
# Business report contract
|
|
2
|
+
|
|
3
|
+
Read this in Step 8 with the selected profile packs and
|
|
4
|
+
[terminology.md](terminology.md). This file owns common reader order and metric
|
|
5
|
+
presentation. Profile packs own domain-specific actions, sections, denominators,
|
|
6
|
+
and impact measures.
|
|
7
|
+
|
|
8
|
+
## Required chapter order
|
|
9
|
+
|
|
10
|
+
1. 执行摘要
|
|
11
|
+
2. 抽样、分析画像与标签定义
|
|
12
|
+
3. 规则发现
|
|
13
|
+
4. 策略整体影响
|
|
14
|
+
5. 特征
|
|
15
|
+
6. 附录
|
|
16
|
+
|
|
17
|
+
Do not title chapters as analysis steps. Keep review details out of the report.
|
|
18
|
+
|
|
19
|
+
## 1. 执行摘要
|
|
20
|
+
|
|
21
|
+
Use no more than five top-level findings:
|
|
22
|
+
|
|
23
|
+
1. Analysis profile, sample span, and positive-label baseline
|
|
24
|
+
2. Adopted rule classes and domain-appropriate actions
|
|
25
|
+
3. Adopted strategy package impact
|
|
26
|
+
4. Material attribution or validation limitation, only when decision-critical
|
|
27
|
+
|
|
28
|
+
For strategy impact, report triggered count/rate and amount/share, followed by
|
|
29
|
+
precision and recall. Add the selected contexts' main customer, operations,
|
|
30
|
+
conversion, delay, exposure, or loss measure.
|
|
31
|
+
|
|
32
|
+
Nested numbered lists use three-space indentation and `1.`, `2.`, `3.` markers.
|
|
33
|
+
Do not use Markdown bold markers in the report body.
|
|
34
|
+
|
|
35
|
+
## 2. 抽样、分析画像与标签定义
|
|
36
|
+
|
|
37
|
+
### 2.1 样本范围
|
|
38
|
+
|
|
39
|
+
Data source, event grains, time span, currencies, and portfolio constants.
|
|
40
|
+
|
|
41
|
+
### 2.2 分析画像与归因
|
|
42
|
+
|
|
43
|
+
Use a compact table:
|
|
44
|
+
|
|
45
|
+
| Field | Value |
|
|
46
|
+
|---|---|
|
|
47
|
+
| Archetype | Third-party fraud / First-party fraud / Authorized payment scam / Unclassified |
|
|
48
|
+
| Customer role | Victim / Perpetrator / Knowing participant / Facilitator / Unknown |
|
|
49
|
+
| Customer consent | Present / Absent / Disputed / Unknown |
|
|
50
|
+
| Technical authentication | Passed / Failed / Not applicable / Unknown |
|
|
51
|
+
| Mechanism | e.g. Account takeover |
|
|
52
|
+
| Context | Card payment / Collection / Bank transfer / Payout |
|
|
53
|
+
| Attribution confidence | Confirmed / Probable / Proxy / Unknown |
|
|
54
|
+
| Decision point | Exact operational point |
|
|
55
|
+
|
|
56
|
+
Explain unresolved attribution. Do not imply consent from authentication.
|
|
57
|
+
|
|
58
|
+
### 2.3 标签定义
|
|
59
|
+
|
|
60
|
+
State label provenance (`file-column` or `user-defined`), confirmed versus proxy,
|
|
61
|
+
and maturity window. Define and count all three populations:
|
|
62
|
+
|
|
63
|
+
| Population | Required content |
|
|
64
|
+
|---|---|
|
|
65
|
+
| Positive | Exact values/conditions and count |
|
|
66
|
+
| Negative | Exact values/conditions and count |
|
|
67
|
+
| Unlabeled | Pending, immature, unknown, overlapping, or out-of-scope conditions and count |
|
|
68
|
+
|
|
69
|
+
Report the positive base rate among labeled rows and its denominator. If an
|
|
70
|
+
existing outcome column supplies the positive label, disclose the assumption
|
|
71
|
+
that its other mature, non-explicitly-unlabeled values are negative. If the user
|
|
72
|
+
defined the positive condition, show the separately supplied negative condition.
|
|
73
|
+
Separate labels for separate archetypes.
|
|
74
|
+
|
|
75
|
+
### 2.4 时间切分
|
|
76
|
+
|
|
77
|
+
State cut and train/holdout sizes, or state that metrics are in-sample and
|
|
78
|
+
unvalidated. Name the decision point again in one line.
|
|
79
|
+
|
|
80
|
+
## 3. 规则发现
|
|
81
|
+
|
|
82
|
+
### 3.1 规则清单与验证集指标
|
|
83
|
+
|
|
84
|
+
Suggested columns:
|
|
85
|
+
|
|
86
|
+
```text
|
|
87
|
+
规则类 | 事件与决策时点 | 条件 | 触发率 | 精准率 | 召回率 | lift | 建议动作
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
- Group conditions into a few operational rule classes.
|
|
91
|
+
- State explicit windows, units, currency, and frozen-list versions.
|
|
92
|
+
- Use actions supplied by selected context packs.
|
|
93
|
+
- List rules once. Multi-rule unions belong to strategy packages in chapter 4.
|
|
94
|
+
|
|
95
|
+
### 3.2 稳定性与归因
|
|
96
|
+
|
|
97
|
+
Report temporal instability, small support, weak identity links, proxy outcomes,
|
|
98
|
+
and actor-attribution uncertainty that change action severity.
|
|
99
|
+
|
|
100
|
+
### 3.3 可落地运营建议
|
|
101
|
+
|
|
102
|
+
Describe the default package and optional higher-coverage package. Identify
|
|
103
|
+
policy, legal, rail, and operational dependencies for severe interventions.
|
|
104
|
+
|
|
105
|
+
## 4. 策略整体影响
|
|
106
|
+
|
|
107
|
+
This is always a standalone chapter.
|
|
108
|
+
|
|
109
|
+
### 4.1 触发覆盖与标签效果
|
|
110
|
+
|
|
111
|
+
For every package/action row, report in this order:
|
|
112
|
+
|
|
113
|
+
1. Triggered count and rate
|
|
114
|
+
2. Triggered amount and amount share, with currency
|
|
115
|
+
3. Precision
|
|
116
|
+
4. Recall
|
|
117
|
+
|
|
118
|
+
Suggested columns:
|
|
119
|
+
|
|
120
|
+
```text
|
|
121
|
+
方案 | 动作 | 触发笔数 | 触发率 | 金额 | 金额占比 | 精准率 | 召回率
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
For mixed currencies without FX conversion, do not sum unlike currencies; show
|
|
125
|
+
separate currency rows or explicitly label any supplied reporting currency.
|
|
126
|
+
|
|
127
|
+
### 4.2 Domain impact
|
|
128
|
+
|
|
129
|
+
Use only measures required by selected context packs:
|
|
130
|
+
|
|
131
|
+
| Context | Typical measures |
|
|
132
|
+
|---|---|
|
|
133
|
+
| Card payment | 3DS/block coverage, authorization success, approval count |
|
|
134
|
+
| Collection | availability delay, return/loss exposure, accepted value |
|
|
135
|
+
| Bank transfer | completion/abandonment, warning/review load, delay, reimbursement exposure |
|
|
136
|
+
| Payout | completion/release, hold duration, review load, exposure |
|
|
137
|
+
|
|
138
|
+
Separate observed measures from scenario estimates. State every scenario
|
|
139
|
+
assumption and denominator. Do not claim loss prevented from proxy labels.
|
|
140
|
+
|
|
141
|
+
### 4.3 方案比较(optional)
|
|
142
|
+
|
|
143
|
+
Compare one recommended and one higher-coverage package under identical
|
|
144
|
+
assumptions. Keep stricter non-default actions visibly separate.
|
|
145
|
+
|
|
146
|
+
## 5. 特征
|
|
147
|
+
|
|
148
|
+
### 5.1 入选短名单
|
|
149
|
+
### 5.2 候选特征集
|
|
150
|
+
### 5.3 训练拟合的观察名单或图谱特征(when applicable)
|
|
151
|
+
|
|
152
|
+
Keep this shorter than rule findings. Name point-in-time construction and weak
|
|
153
|
+
links where material.
|
|
154
|
+
|
|
155
|
+
## 6. 附录
|
|
156
|
+
|
|
157
|
+
### A. 决策时点与字段排除
|
|
158
|
+
### B. 标签成熟度、时间切分与训练指标
|
|
159
|
+
### C. 仅描述性信号与未入选候选
|
|
160
|
+
### D. 假设、限制与政策依赖
|
|
161
|
+
|
|
162
|
+
## Skeleton
|
|
163
|
+
|
|
164
|
+
```markdown
|
|
165
|
+
# 风险规则分析 — <scope>
|
|
166
|
+
|
|
167
|
+
数据源:`…`
|
|
168
|
+
分析画像:<archetype> / <mechanism> / <contexts>
|
|
169
|
+
决策时点:<event and point>
|
|
170
|
+
|
|
171
|
+
## 1. 执行摘要
|
|
172
|
+
## 2. 抽样、分析画像与标签定义
|
|
173
|
+
### 2.1 样本范围
|
|
174
|
+
### 2.2 分析画像与归因
|
|
175
|
+
### 2.3 标签定义
|
|
176
|
+
### 2.4 时间切分
|
|
177
|
+
## 3. 规则发现
|
|
178
|
+
### 3.1 规则清单与验证集指标
|
|
179
|
+
### 3.2 稳定性与归因
|
|
180
|
+
### 3.3 可落地运营建议
|
|
181
|
+
## 4. 策略整体影响
|
|
182
|
+
### 4.1 触发覆盖与标签效果
|
|
183
|
+
### 4.2 <selected context impact>
|
|
184
|
+
### 4.3 方案比较
|
|
185
|
+
## 5. 特征
|
|
186
|
+
### 5.1 入选短名单
|
|
187
|
+
### 5.2 候选特征集
|
|
188
|
+
### 5.3 观察名单或图谱特征
|
|
189
|
+
## 6. 附录
|
|
190
|
+
```
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
# Independent review checklist
|
|
2
|
+
|
|
3
|
+
Use after the report is written. Review the common contract below plus every
|
|
4
|
+
selected archetype, mechanism, and context pack. Do not re-mine features unless
|
|
5
|
+
a fatal issue requires a user-approved restart.
|
|
6
|
+
|
|
7
|
+
## Inputs
|
|
8
|
+
|
|
9
|
+
- Draft report and source paths
|
|
10
|
+
- Analysis profile, event grain, and decision point
|
|
11
|
+
- Label definition, maturity window, and attribution confidence
|
|
12
|
+
- Time cut and train/holdout sizes, or explicit in-sample status
|
|
13
|
+
- Allowed and excluded fields
|
|
14
|
+
- Rule definitions and metrics with evaluation window
|
|
15
|
+
- Strategy actions, impact measures, denominators, and assumptions
|
|
16
|
+
- Selected profile pack paths
|
|
17
|
+
|
|
18
|
+
## Verdicts and severity
|
|
19
|
+
|
|
20
|
+
| Verdict | Meaning |
|
|
21
|
+
|---|---|
|
|
22
|
+
| PASS | Common and profile checks clear |
|
|
23
|
+
| PASS_WITH_FLAGS | Valid with residual monitoring or judgment issues |
|
|
24
|
+
| NEEDS_CHANGES | Mechanical or substantive issues require repair |
|
|
25
|
+
| BLOCKED | Label, attribution, timing, or data foundation is unusable |
|
|
26
|
+
|
|
27
|
+
| Severity | Response |
|
|
28
|
+
|---|---|
|
|
29
|
+
| mechanical | Auto-fix and recheck |
|
|
30
|
+
| judgment | Surface; do not silently change attribution or action |
|
|
31
|
+
| fatal | Stop and ask the user |
|
|
32
|
+
|
|
33
|
+
## Common method checks
|
|
34
|
+
|
|
35
|
+
### Pre-flight
|
|
36
|
+
|
|
37
|
+
- [ ] Pre-flight status passed before supervised analysis began
|
|
38
|
+
- [ ] Input readability, row grain, time field, and label provenance were checked
|
|
39
|
+
- [ ] File-column positives map remaining mature rows to negative only after
|
|
40
|
+
preserving explicit missing/pending/unknown/unlabeled states
|
|
41
|
+
- [ ] User-defined positives received an explicit user-defined negative condition
|
|
42
|
+
during pre-flight; `NOT positive` was not silently assumed
|
|
43
|
+
- [ ] Both/neither/immature rows are unlabeled, or their absence is demonstrated
|
|
44
|
+
- [ ] Descriptive-only analysis is clearly separated from supervised metrics when
|
|
45
|
+
pre-flight could not establish both classes
|
|
46
|
+
|
|
47
|
+
### Analysis profile and attribution
|
|
48
|
+
|
|
49
|
+
- [ ] Exactly one primary archetype, or separate analyses for multiple archetypes
|
|
50
|
+
- [ ] Customer role, consent, technical authentication, mechanism, context,
|
|
51
|
+
attribution confidence, event grain, and decision point are stated
|
|
52
|
+
- [ ] Technical authentication is not used as proof of genuine-customer consent
|
|
53
|
+
- [ ] First-party means knowing participation; authorized-payment scam means a
|
|
54
|
+
deceived victim; third-party means absent genuine-customer consent
|
|
55
|
+
- [ ] APP terminology is limited to authorized push payments
|
|
56
|
+
- [ ] Unresolved victim/participant attribution remains unclassified
|
|
57
|
+
|
|
58
|
+
### Label and maturity
|
|
59
|
+
|
|
60
|
+
- [ ] Label provenance is stated as file-column or user-defined
|
|
61
|
+
- [ ] Exact positive, negative, and unlabeled definitions and counts are stated
|
|
62
|
+
- [ ] Existing outcome-column labels disclose the assumption used to map other
|
|
63
|
+
mature values to negative and preserve explicit pending/unknown states
|
|
64
|
+
- [ ] User-defined positive labels have a separately user-defined negative class;
|
|
65
|
+
all other rows are not automatically treated as negative
|
|
66
|
+
- [ ] Positive and negative conditions are disjoint; neither/both rows are unlabeled
|
|
67
|
+
- [ ] Confirmed versus proxy status is honest
|
|
68
|
+
- [ ] Positive base rate is factual and uses labeled rows as denominator
|
|
69
|
+
- [ ] Outcome maturity window is defined; immature rows are not clean negatives
|
|
70
|
+
- [ ] Separate archetypes are not blended into one target
|
|
71
|
+
- [ ] Label, synonyms, actions, and later investigation outcomes are excluded
|
|
72
|
+
|
|
73
|
+
### Temporal validation
|
|
74
|
+
|
|
75
|
+
- [ ] Earlier train and later holdout cut is stated, or metrics are unvalidated
|
|
76
|
+
- [ ] No random split is presented as temporal validation
|
|
77
|
+
- [ ] Headline metrics come from the claimed window
|
|
78
|
+
- [ ] Thresholds, rate lists, graph lists, and watchlists are fit on train only
|
|
79
|
+
- [ ] Holdout rows may use only history known before each row
|
|
80
|
+
|
|
81
|
+
### Decision-time validity
|
|
82
|
+
|
|
83
|
+
- [ ] Every rule field exists at the stated decision point
|
|
84
|
+
- [ ] Current response, settlement, return, recall, dispute, reimbursement,
|
|
85
|
+
restriction, and investigation fields do not leak backward
|
|
86
|
+
- [ ] History uses prior events and defines timestamp ties
|
|
87
|
+
- [ ] Graph features are point-in-time snapshots
|
|
88
|
+
- [ ] Zero-variance, timing, leakage, and context-only exclusions are listed
|
|
89
|
+
- [ ] Weak entity links are not presented as unique identities
|
|
90
|
+
|
|
91
|
+
### Metrics and actions
|
|
92
|
+
|
|
93
|
+
- [ ] Rule metrics use occurrence → precision → recall
|
|
94
|
+
- [ ] Count metrics remain present when value metrics are added
|
|
95
|
+
- [ ] Small-N, unstable, or attribution-uncertain segments are monitored or dropped
|
|
96
|
+
- [ ] Actions come from selected contexts and match precision/evidence severity
|
|
97
|
+
- [ ] Holds, freezes, rejects, restrictions, and reporting state policy/legal
|
|
98
|
+
dependencies where applicable
|
|
99
|
+
|
|
100
|
+
## Common report checks
|
|
101
|
+
|
|
102
|
+
- [ ] Reader order is executive summary → sample/profile/label → rules →
|
|
103
|
+
strategy impact → features → appendix
|
|
104
|
+
- [ ] Analysis profile and attribution table appears near the start
|
|
105
|
+
- [ ] Strategy impact is a standalone chapter
|
|
106
|
+
- [ ] Every package/action has triggered count/rate and amount/share with currency,
|
|
107
|
+
followed by precision and recall
|
|
108
|
+
- [ ] Mixed currencies are not summed without documented FX conversion
|
|
109
|
+
- [ ] Domain impact measures and denominators come from selected context packs
|
|
110
|
+
- [ ] Observed results are distinct from scenario estimates
|
|
111
|
+
- [ ] Proxy labels are not translated into measured loss prevented
|
|
112
|
+
- [ ] Executive summary has no more than five top-level findings
|
|
113
|
+
- [ ] No Markdown bold markers or review-process details in the report
|
|
114
|
+
- [ ] Fixed terminology is consistent with `terminology.md`
|
|
115
|
+
- [ ] Banned strings in `terminology.md` have no unexplained hits
|
|
116
|
+
|
|
117
|
+
## Required profile overlays
|
|
118
|
+
|
|
119
|
+
Read and check each selected pack. At minimum:
|
|
120
|
+
|
|
121
|
+
### Third-party fraud
|
|
122
|
+
|
|
123
|
+
- Unauthorized outcome is supported; not every decline/dispute is fraud.
|
|
124
|
+
- Behavioral deviation uses the genuine customer's prior history.
|
|
125
|
+
|
|
126
|
+
### First-party fraud
|
|
127
|
+
|
|
128
|
+
- Evidence supports knowing participation, not merely unusual behavior.
|
|
129
|
+
- Mule/facilitator attribution is not inferred from money flow alone.
|
|
130
|
+
- Restrictions and reporting identify policy/legal dependencies.
|
|
131
|
+
|
|
132
|
+
### Authorized payment scam
|
|
133
|
+
|
|
134
|
+
- Consent and deception are both supported.
|
|
135
|
+
- Civil dispute and knowing participation are not mislabeled as scams.
|
|
136
|
+
- Warnings/holds include customer and vulnerability impact.
|
|
137
|
+
|
|
138
|
+
### Account takeover
|
|
139
|
+
|
|
140
|
+
- Authentication success is separate from customer consent.
|
|
141
|
+
- Profile/recovery changes and device novelty are point-in-time.
|
|
142
|
+
- Shared IP/device infrastructure is not identity proof.
|
|
143
|
+
|
|
144
|
+
### Card payment
|
|
145
|
+
|
|
146
|
+
- Current CVV, AVS, authorization response, and 3DS result respect timing.
|
|
147
|
+
- BIN lists are train-fit; issuer name is live-operable if used.
|
|
148
|
+
- 3DS failures are outside subsequent authorization denominator.
|
|
149
|
+
|
|
150
|
+
### Collection, transfer, and payout
|
|
151
|
+
|
|
152
|
+
- Settlement, reversibility, completion, return, and recall timing are correct.
|
|
153
|
+
- Sequence and graph features are point-in-time.
|
|
154
|
+
- Completion, abandonment, delay, workload, and exposure denominators are stated.
|
|
155
|
+
|
|
156
|
+
## Finding format
|
|
157
|
+
|
|
158
|
+
```text
|
|
159
|
+
- severity: mechanical | judgment | fatal
|
|
160
|
+
- axis: profile | label | time | decision-time | metrics | actions | report | claims
|
|
161
|
+
- item: <short title>
|
|
162
|
+
- evidence: <specific report location or missing artifact>
|
|
163
|
+
- required_fix: <concrete repair or ask user>
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
End with:
|
|
167
|
+
|
|
168
|
+
```text
|
|
169
|
+
VERDICT: PASS | PASS_WITH_FLAGS | NEEDS_CHANGES | BLOCKED
|
|
170
|
+
REVIEWER_MODEL: <id or fallback note>
|
|
171
|
+
AXES: method=…; profile=…; presentation=…
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
After mechanical fixes, recheck all mechanical items and ensure the repair did
|
|
175
|
+
not alter attribution, introduce leakage, or change action severity silently.
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# Fraud analysis taxonomy
|
|
2
|
+
|
|
3
|
+
Read this before defining a label. The dimensions are independent: an archetype
|
|
4
|
+
describes the genuine customer's relationship to the fraud, a mechanism explains
|
|
5
|
+
how it happened, and a context identifies where a control operates.
|
|
6
|
+
|
|
7
|
+
## Archetype router
|
|
8
|
+
|
|
9
|
+
| Customer consent | Customer participation | Deceived about recipient or purpose | Archetype |
|
|
10
|
+
|---|---|---|---|
|
|
11
|
+
| absent | no | no / unknown | `third-party-fraud` |
|
|
12
|
+
| present | knowing | no | `first-party-fraud` |
|
|
13
|
+
| present | no | yes | `authorized-payment-scam` |
|
|
14
|
+
| disputed / unknown | unknown | unknown | `unclassified` |
|
|
15
|
+
|
|
16
|
+
Ask:
|
|
17
|
+
|
|
18
|
+
1. Did the genuine customer consent to this transaction?
|
|
19
|
+
2. Did the customer knowingly participate in the abuse?
|
|
20
|
+
3. Was the customer deceived about the recipient or payment purpose?
|
|
21
|
+
|
|
22
|
+
Authorization language is overloaded. Record both:
|
|
23
|
+
|
|
24
|
+
- **Customer consent** — whether the genuine customer intended the transaction.
|
|
25
|
+
- **Technical authentication** — whether credentials, device, session, MFA, or
|
|
26
|
+
payment authentication passed.
|
|
27
|
+
|
|
28
|
+
A technically authenticated transaction can still be unauthorized by the
|
|
29
|
+
genuine customer after account takeover.
|
|
30
|
+
|
|
31
|
+
## Archetypes
|
|
32
|
+
|
|
33
|
+
### Third-party fraud
|
|
34
|
+
|
|
35
|
+
An external actor uses another person's account, credentials, instrument, or
|
|
36
|
+
identity without genuine-customer consent. Examples: stolen card, stolen token,
|
|
37
|
+
credential theft, account takeover.
|
|
38
|
+
|
|
39
|
+
### First-party fraud
|
|
40
|
+
|
|
41
|
+
The genuine customer or account holder is the perpetrator or a knowing
|
|
42
|
+
participant and misrepresents, manipulates, or deliberately misuses their own
|
|
43
|
+
account for gain. Examples: deliberate collection abuse, false non-receipt or
|
|
44
|
+
refund claims, knowing mule activity, deliberate payout abuse.
|
|
45
|
+
|
|
46
|
+
Do not call this `first-party scam`: scam usually implies a deceived victim.
|
|
47
|
+
|
|
48
|
+
### Authorized payment scam
|
|
49
|
+
|
|
50
|
+
The genuine customer authorizes a payment but is deceived about its recipient or
|
|
51
|
+
purpose. The customer is the victim, not a knowing participant.
|
|
52
|
+
|
|
53
|
+
`APP scam` is a subtype for a victim-deceived push payment, normally in a bank
|
|
54
|
+
transfer context. Do not apply APP terminology to all authorized payment scams.
|
|
55
|
+
|
|
56
|
+
### Unclassified
|
|
57
|
+
|
|
58
|
+
Use when consent, deception, or knowing participation cannot yet be established.
|
|
59
|
+
Analyze observable risk signals, but do not claim archetype-specific loss or use
|
|
60
|
+
the unresolved class as confirmed ground truth.
|
|
61
|
+
|
|
62
|
+
## Mechanisms and contexts
|
|
63
|
+
|
|
64
|
+
Mechanisms may include `account-takeover`, stolen payment credential, social
|
|
65
|
+
engineering, synthetic identity, or deliberate account misuse. Add a mechanism
|
|
66
|
+
pack only when its data and controls require specialized guidance.
|
|
67
|
+
|
|
68
|
+
Supported contexts are `card-payment`, `payment-collection`, `bank-transfer`,
|
|
69
|
+
and `payout`. Select all relevant contexts for linked money-flow analysis, but
|
|
70
|
+
name the event grain and decision point for every rule.
|
|
71
|
+
|
|
72
|
+
## Mixed cases
|
|
73
|
+
|
|
74
|
+
- Separate confirmed archetypes into separate targets and metrics.
|
|
75
|
+
- A mule may be a knowing participant (first-party fraud), a coerced or deceived
|
|
76
|
+
victim (authorized payment scam or unclassified), or an account-takeover victim
|
|
77
|
+
(third-party fraud). Do not infer the role from rapid movement alone.
|
|
78
|
+
- A customer claim is evidence, not automatic proof of consent or attribution.
|
|
79
|
+
- Civil disputes and service dissatisfaction are not automatically fraud.
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
# Terminology and plain language
|
|
2
|
+
|
|
3
|
+
Use fixed terms consistently in business reports. Selected profile packs may add
|
|
4
|
+
domain terms but must not replace common metric definitions. Read this file
|
|
5
|
+
before writing. After writing, run the proofread in `SKILL.md` step 8.
|
|
6
|
+
|
|
7
|
+
## Analysis terms
|
|
8
|
+
|
|
9
|
+
| English | Chinese | Do not write |
|
|
10
|
+
|---|---|---|
|
|
11
|
+
| archetype | 欺诈类型 / 分析类型 | |
|
|
12
|
+
| mechanism | 作案机制 | |
|
|
13
|
+
| context | 业务场景 | |
|
|
14
|
+
| customer consent | 客户真实授权 / 客户同意 | 用技术认证代替真实授权 |
|
|
15
|
+
| technical authentication | 技术认证 | 当成持卡人同意的证据 |
|
|
16
|
+
| label | 标签 | |
|
|
17
|
+
| label provenance | 标签来源 | |
|
|
18
|
+
| positive class | 正样本 | 正例 |
|
|
19
|
+
| negative class | 负样本 | |
|
|
20
|
+
| unlabeled | 未标注样本 | |
|
|
21
|
+
| proxy label | 近似标签 | 代理标签 |
|
|
22
|
+
| confirmed outcome | 已确认结果 | |
|
|
23
|
+
| base rate | 正样本基线率 | |
|
|
24
|
+
| occurrence | 触发率 | |
|
|
25
|
+
| precision | 精准率 | 精确率(作指标名时) |
|
|
26
|
+
| recall | 召回率 | |
|
|
27
|
+
| lift | 首次写「相对基线倍数(lift)」 | 只写英文且从不解释 |
|
|
28
|
+
| train set | 训练集 | |
|
|
29
|
+
| holdout | 留出集(holdout) | 与「验证集」来回换;正文首次后可简称留出集 |
|
|
30
|
+
| zero-variance | 零方差字段 | |
|
|
31
|
+
| condition | 条件 | 谓词(对业务读者) |
|
|
32
|
+
| outcome maturity | 标签成熟度 | |
|
|
33
|
+
| attribution confidence | 归因置信度 | |
|
|
34
|
+
| attempt | 授权尝试 | |
|
|
35
|
+
| auth rate | 授权成功率 | 转化率;3DS 转化(指授权成功率时) |
|
|
36
|
+
| hard decline | 硬性拒绝(hard decline) | hard 拦截(指拒绝类型时) |
|
|
37
|
+
| chargeback | 拒付(chargeback) | 与清算混用;正文首次后可简称拒付 |
|
|
38
|
+
| insufficient funds | 余额不足 | 余额 |
|
|
39
|
+
| clerical | 文书错误 | 文书 |
|
|
40
|
+
| quality | 质量争议 | 质量 |
|
|
41
|
+
| weak identity | 弱身份线索 | 弱身份键;永久黑箱 |
|
|
42
|
+
| point-in-time | 截至授权时点 | 不经解释的 point-in-time |
|
|
43
|
+
| headline metrics | 主指标 | 不经解释的 headline |
|
|
44
|
+
| before / after (strategy) | 策略前 / 策略后 | after 分母(单独出现) |
|
|
45
|
+
| false hit on good traffic | 误伤 | |
|
|
46
|
+
|
|
47
|
+
Keep proper nouns: Visa Debit, MasterCard Prepaid, D102, BIN, IIN, PAN, MID,
|
|
48
|
+
MCC, Worldpay, Pazien, Order ID, 3DS, Timestamp.
|
|
49
|
+
|
|
50
|
+
## Archetypes
|
|
51
|
+
|
|
52
|
+
| ID | English | Chinese guidance |
|
|
53
|
+
|---|---|---|
|
|
54
|
+
| `third-party-fraud` | Third-party fraud | 第三方欺诈;客户未真实授权 |
|
|
55
|
+
| `first-party-fraud` | First-party fraud | 第一方欺诈;客户本人实施或知情参与 |
|
|
56
|
+
| `authorized-payment-scam` | Authorized payment scam | 授权付款诈骗;客户受骗后真实授权 |
|
|
57
|
+
| `unclassified` | Unclassified | 待归因;不强行归类 |
|
|
58
|
+
| `app-scam` | APP scam | 授权推送付款诈骗,仅用于 push payment |
|
|
59
|
+
| `account-takeover` | Account takeover (ATO) | 账户接管;机制,不是独立欺诈类型 |
|
|
60
|
+
|
|
61
|
+
Avoid `first-party scam`: it confuses knowing participation with victim
|
|
62
|
+
deception. Do not translate technical authentication as proof of customer
|
|
63
|
+
consent.
|
|
64
|
+
|
|
65
|
+
## Actions
|
|
66
|
+
|
|
67
|
+
Use only actions that exist in the selected context:
|
|
68
|
+
|
|
69
|
+
| English | Chinese |
|
|
70
|
+
|---|---|
|
|
71
|
+
| block / reject | 拦截 / 拒绝 |
|
|
72
|
+
| require 3DS | 要求 3DS |
|
|
73
|
+
| reauthenticate | 要求重新认证 |
|
|
74
|
+
| warn / confirm | 风险提示 / 要求确认 |
|
|
75
|
+
| manual review | 人工审核 |
|
|
76
|
+
| delay / cooling-off | 延迟处理 / 冷静期 |
|
|
77
|
+
| hold | 暂缓 / 冻结处理(按实际政策) |
|
|
78
|
+
| restrict account | 限制账户(按实际政策) |
|
|
79
|
+
| monitor | 仅监控 |
|
|
80
|
+
|
|
81
|
+
Do not use `冻结` casually when the implemented action is only a review hold.
|
|
82
|
+
State policy or legal dependencies for severe actions.
|
|
83
|
+
|
|
84
|
+
## Presentation contract
|
|
85
|
+
|
|
86
|
+
- No Markdown `**bold**` or `__bold__` in report body.
|
|
87
|
+
- Metrics use occurrence → precision → recall.
|
|
88
|
+
- Strategy coverage pairs count/rate and amount/share; money has currency.
|
|
89
|
+
- AND joins co-required conditions; `+` joins package components.
|
|
90
|
+
- Headings and tables provide structure; avoid agent/process language.
|
|
91
|
+
- Keep reviewer verdict, model, and repair logs out of the report.
|
|
92
|
+
- Prefer 留出集 after the first gloss `留出集(holdout)`. Do not bounce
|
|
93
|
+
between 验证集 and holdout in the same report unless quoting a column name.
|
|
94
|
+
|
|
95
|
+
## Banned strings (grep after writing)
|
|
96
|
+
|
|
97
|
+
Chinese: `正例`, `代理标签`, `精确率`, `转化率`, `3DS 转化`, `弱身份键`,
|
|
98
|
+
`永久黑箱`, `方案侧证据`, `偏热`, `变冷`, `赋能`, `抓手`, `闭环`
|
|
99
|
+
|
|
100
|
+
English leftovers in Chinese reports: `headline`, `uplift` without a Chinese
|
|
101
|
+
gloss, `after 分母`, `hard 拦截` (when meaning decline class), `point-in-time`
|
|
102
|
+
without 截至授权时点.
|
|
103
|
+
|
|
104
|
+
## Proofread
|
|
105
|
+
|
|
106
|
+
1. Apply this glossary to headings, tables, and body.
|
|
107
|
+
2. Grep the report for banned strings.
|
|
108
|
+
3. Fix language only. Do not change numbers, BIN lists, thresholds, or paths.
|