recipes.meta.thesisKillChain.triggerCatalog Recipes Recipe observed

Thesis Kill-Chain Trigger Catalog

fragilityMap, filings, scan primitive에서 thesis를 흔드는 촉발 조건을 모으는 L1/L1.5 절차다.

이 스킬

Thesis Kill-Chain Trigger Catalog

fragilityMap, filings, scan primitive에서 thesis를 흔드는 촉발 조건을 모으는 L1/L1.5 절차다.

Recipes observed recipes.meta.thesisKillChain.triggerCatalog

이어 가기

절차

실행 순서

  1. 1

    triggerId가 없으면 실패다.

  2. 2

    filing trigger는 routine filing 반증을 남긴다.

예시

이런 질문이 들어오면 이 skill 을 쓴다

  • thesis를 흔드는 trigger catalog

출력

기대 결과

  • triggerId trigger source status evidence

공개 호출 방식

AI 도구 실행 순서는 EngineCall 우선이다. 아래 Python 블록은 확보한 L1/L1.5 근거를 buildThesisKillChainMemo로 묶는 RunPython fallback 절차다.

import dartlab
from dartlab.synth.thesisKillChain import buildThesisKillChainMemo

target = "005930"
thesis = "매출 성장과 현금 전환이 유지되어 valuation discount가 해소된다"
c = dartlab.Company(target)
try:
    filings = c.disclosure().head(50).to_dicts()
except Exception:
    filings = []

memo = buildThesisKillChainMemo(target=target, thesis=thesis, filings=filings)

emit_result(
    table=memo["tables"]["triggerCatalog"],
    values=memo["headline"],
    date=memo["asOf"],
    sources=memo["sources"],
)

호출 동작

1. 결론 도출

triggerId × source 별 trigger catalog 단정. 예: “catalog 8 row — T1=opmCompression source=fragilityMap status=risk evidence=‘OPM -2%p 5y trend’ / T2=consensusDownRevision source=fragilityMap status=risk / T3=marginCompressionFiling source=filing status=watch evidence=‘3Q 컨퍼런스콜 비용 가속’ / T4=peerStress source=scan status=watch / T5-T8 routine missing → 3 risk trigger + 2 watch + 3 routine. 진성 trigger 5 종 (filing routine 제외).”

2. 핵심 근거 수집

  • fragilityMap watch/risk metric → triggerId 변환
  • Company.disclosure() filings risk keyword (구조조정 / 감액 / 정정신고 등)
  • scan primitive score (peer 동조 / 시장 stress)
  • buildThesisKillChainMemo() → triggerCatalog table

3. 메커니즘 분석

3 source → trigger row 변환
   fragilityMap risk/watch metric → triggerId = metricId
     status 그대로 보존
     evidence = metric 값 + thesisBreak
   filing risk keyword 매칭:
     "감액 / 정정 / 구조조정 / 감리"  → status=risk
     "신규계약 / 자사주" 일부 호재    → status=watch
     "분기보고서 / 정기" → routine 제외
   scan primitive:
     peer 동조 stress 신호  → status=watch
     market-wide vol expand → status=watch

trigger 의 의미:
   *시나리오 시작점* — propagationPath 의 root 노드
   1 trigger = 결론 아님 (assumption ledger 와 결합 필요)

filing trigger 처리:
   routine (정기보고서 / 8.01) → catalog 제외
   비정기 (5.02 / 1.01 / 8.01 중 risk) → catalog 포함

trigger 는 균열의 시작점 — 결론 아님. 공시 제목만으로 thesis 파괴 확정 X (forbidden). routine filing 을 risk trigger 로 오인 시 false positive (failureMode 발동).

4. 반례·한계

  • 공시 제목만으로 thesis 파괴 확정 → forbidden.
  • 정기 공시를 risk trigger 로 오인 (예: 분기보고서를 catalog 에 포함) → false positive.
  • scan primitive score 임계가 산업/시장별 다름 — 일관 적용 어려움.
  • triggerId 없는 row → 실패.

5. 후속 모니터링

  • risk ≥ 3 → recipes.meta.thesisKillChain.propagationPath 로 assumption 에 연결.
  • filing trigger → recipes.meta.thesisKillChain.falsifierLedger 로 counter-evidence 작성.
  • scan trigger → recipes.industry.sectorMomentumLeadership 으로 peer 동조성 확인.

대표 반환 형태

column의미
triggerId촉발 조건 id
trigger지표 또는 공시 제목
sourcefragilityMap/filing/scan
statuswatch/risk/missing
evidencetrigger 근거

연계 절차

  1. recipes.meta.thesisKillChain.propagationPath - trigger를 assumption에 연결.
  2. recipes.meta.thesisKillChain.falsifierLedger - counter-evidence 작성.

기본 검증

  • triggerId가 없으면 실패다.
  • filing trigger는 routine filing 반증을 남긴다.

런타임

실행 환경별 호환성

환경상태비고 / 제한
Local Python supported
Server supported
MCP supported
Web AI supported
Pyodide limited

실패 회피

흔한 실패 · 절대 금지

흔한 실패
  • 정기 공시를 risk trigger로 오인
절대 금지
  • 공시 제목만으로 thesis 파괴를 확정하지 않는다.