| name | causal-check |
| description | TRIGGER when: a sigma analyst proposes a feedback change and causal validity
needs verification before Tier 2 auto-application; distinguishing correlation
from causation in team metric changes.
SKIP: Tier 0/1 observation-only runs, data ingestion, non-sigma contexts.
|
| version | 0.2.0 |
| license | MIT |
causal_check
Elixir ๋ชจ๋: Sigma.V2.Skill.CausalCheck
MCP ์ด๋ฆ: causal_check
๋ฒ์ : v2 (Phase 5)
Before You Start
- ์๊ด๊ด๊ณ๋ง์ผ๋ก ์ธ๊ณผ๊ด๊ณ๋ฅผ ์ฃผ์ฅํ๋ ํผ๋๋ฐฑ์ ์ ์ฉ ์ ์ ๋ฐ๋์ ํต๊ณผ์ํฌ ๊ฒ.
correlation > 0.7์ด๊ณ controls๊ฐ ๋น์ด์์ผ๋ฉด ์๋์ผ๋ก high risk ํ์ .
sample_size < 30์ด๋ฉด ํต๊ณ์ ์ ๋ขฐ๋ ๋ถ์กฑ flag ์ถ๊ฐ.
- ์ด ์คํฌ์ ํผ๋๋ฐฑ ์ ์ฉ ์ ๊ฒ์ฆ์ฉ. ํผ๋๋ฐฑ์ด ์ด๋ฏธ ์ ์ฉ๋ ํ์๋ ์๋ฏธ ์์.
claim์ ๋น ๋ฌธ์์ด๋ก ๋ณด๋ด๋ฉด ๋ชจ๋ ์ฒดํฌ๋ฅผ ์ฐํํ์ง ์์ โ ๊ธฐํ ํ๋ผ๋ฏธํฐ๋ก ๋
๋ฆฝ ํ๊ฐ.
Input Schema
{
"type": "object",
"properties": {
"claim": {
"type": "string",
"default": "",
"description": "๊ฒ์ฆํ ์ธ๊ณผ ์ฃผ์ฅ (์: '๋ธ๋ก๊ทธ ๋ฐํ๋ ์ฆ๊ฐ โ ๋งค์ถ ์์น')"
},
"correlation": {
"type": "number",
"default": 0.0,
"description": "๊ด์ธก๋ Pearson ์๊ด๊ณ์ (-1.0 ~ 1.0)"
},
"controls": {
"type": "array",
"items": { "type": "string" },
"default": [],
"description": "ํต์ ๋ ๋ณ์ ๋ชฉ๋ก (์ ์์๋ก ์ํ)"
},
"confounders": {
"type": "array",
"items": { "type": "string" },
"default": [],
"description": "์๋ ค์ง ํผ์ฌ๋ณ์ (์์ผ๋ฉด ์ํ๋ ์์น)"
},
"sample_size": {
"type": "integer",
"default": 0,
"description": "๋ถ์์ ์ฌ์ฉ๋ ์ํ ์"
}
}
}
Process
- ์๊ด ๊ฐ๋ + ํต์ ์ฒดํฌ:
|correlation| > 0.7 AND controls ๋น์ด์์ผ๋ฉด strong_correlation_no_controls flag.
- ์ํ๋ณธ ์ฒดํฌ:
sample_size > 0 AND sample_size < 30 ์ด๋ฉด insufficient_sample_size flag.
- ํผ์ฌ๋ณ์ ์ฒดํฌ:
confounders ๋น์ด์์ง ์์ผ๋ฉด known_confounders_present flag.
- ์ํ๋ ์ ์ ์ฐ์ถ: flag ์ ร 2. 6 ์ด์ โ
high, 35 โ medium, 02 โ low.
- ๊ถ๊ณ ์ฌํญ ์์ฑ: ๊ฐ flag์ ๋์ํ๋ ๊ตฌ์ฒด์ ๊ฐ์ ๊ถ๊ณ ๋ชฉ๋ก ๋ฐํ.
- ๊ฒฐ๊ณผ ๋ฐํ:
causal_risk, flags, recommendations, risk_score.
Defaults
| ํ๋ผ๋ฏธํฐ | ๊ธฐ๋ณธ๊ฐ | ์กฐ์ ๊ธฐ์ค |
|---|
correlation | 0.0 | ์ค์ ํต๊ณ๊ฐ ์ฌ์ฉ. ์ถ์ ์น๋ ๊ฐ๋ฅ |
controls | [] | ๋ถ์ ์ ํต์ ํ ๋ณ์ ๋ชจ๋ ๋์ด |
sample_size | 0 | 0์ด๋ฉด ์ํ๋ณธ ์ฒดํฌ ์คํต |
Integration
์๊ทธ๋ง ๋ด ํธ์ถ ์ง์ :
Sigma.V2.Commander โ Directive ์์ฑ ์ ์ธ๊ณผ์ฑ ๊ฒ์ฆ ๋จ๊ณ์์ ํธ์ถ
Sigma.V2.Skill.ExperimentDesign โ ์คํ ์ค๊ณ ์ ์ ํ ์ธ๊ณผ ๊ฐ์ ๊ฒ์ฆ ์ ์ฐ๊ณ
- MCP ์๋ํฌ์ธํธ:
POST /mcp/sigma/tools/causal_check/call
Examples
Good โ ์ ํต์ ๋ ๋ถ์:
{
"claim": "๋ธ๋ก๊ทธ SEO ๊ฐ์ โ ์ค๊ฐ๋ ํธ๋ํฝ ์ฆ๊ฐ",
"correlation": 0.82,
"controls": ["๊ณ์ ์ฑ", "๊ด๊ณ ๋น", "๊ฒฝ์์ฌ ์กํฐ๋นํฐ"],
"confounders": [],
"sample_size": 180
}
Bad โ ํต์ ์๋ ๊ฐํ ์๊ด:
{
"claim": "ํฌ์ ์์ต๋ฅ โ ํ์ ์ฌ๊ธฐ ํฅ์",
"correlation": 0.91,
"controls": [],
"confounders": ["์์ฅ ์ํฉ", "ํ ์ด๋ฒคํธ"],
"sample_size": 12
}
Edge โ ํ๋ผ๋ฏธํฐ ์ต์ํ:
{ "correlation": 0.5 }
Failure Modes
| ํจํด | ์์ธ | ๋์ฒ |
|---|
| ํญ์ low risk ๋ฐํ | correlation 0.7 ๋ฏธ๋ง + controls ์์ | ์๊ด๊ณ์ ์ฌํ์ธ. ์ค์ correlation ๊ฐ ์ ๋ฌ |
high risk์ธ๋ฐ ์ ์ฉ ๊ฐํ | Commander์ Principle.Loader ์ฐ์ ์ฒดํฌ ๊ฑด๋๋ | self_critique โ causal_check ์์ ๋ณด์ฅ ํ์ธ |
| flag ์๋๋ฐ ์ค์ ๋ฌธ์ | confounders ๋ชฉ๋ก ๋๋ฝ | ๋๋ฉ์ธ ์ ๋ฌธ๊ฐ ๋ฆฌ๋ทฐ ํ confounders ๋ช
์ |