recipes.fundamental.disclosure.eventRadar.engineCandidateMemo Recipes Recipe observed

Event Radar Engine Candidate Memo

이벤트 레이더에서 반복 가능한 신호를 나중에 엔진으로 환류할 후보로 정리하되, recipe 검산 경로는 계속 유지하는 L1/L1.5 절차다.

이 스킬

Event Radar Engine Candidate Memo

이벤트 레이더에서 반복 가능한 신호를 나중에 엔진으로 환류할 후보로 정리하되, recipe 검산 경로는 계속 유지하는 L1/L1.5 절차다.

Recipes observed recipes.fundamental.disclosure.eventRadar.engineCandidateMemo

이어 가기

절차

실행 순서

  1. 1

    promotionGate가 없는 후보는 실패다.

  2. 2

    단일 실행 결과는 구현 완료가 아니다.

예시

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

  • 이벤트 레이더에서 엔진 후보 정리

출력

기대 결과

  • signalId별 status
  • recommendedEngineOwner
  • promotionGate

공개 호출 방식

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

import dartlab
from dartlab.synth.eventRadar import buildEventRadarMemo

target = "005930"
c = dartlab.Company(target)

def rows(value, limit=30):
    if hasattr(value, "head") and hasattr(value, "to_dicts"):
        return value.head(limit).to_dicts()
    if isinstance(value, list):
        return value[:limit]
    return []

try:
    filings = rows(c.disclosure(), limit=50)
except Exception:
    filings = []

try:
    price_rows = rows(c.gather("price"), limit=40)
except Exception:
    price_rows = []

try:
    consensus_rows = rows(c.gather("consensus"), limit=12)
except Exception:
    consensus_rows = []

memo = buildEventRadarMemo(
    target=target,
    market=str(getattr(c, "market", "KR")),
    companyName=str(getattr(c, "corpName", target)),
    filings=filings,
    priceRows=price_rows,
    consensusRows=consensus_rows,
)

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

호출 동작

1. 결론 도출

6 signal 후보 + promotionGate 단정. 예: “engineCandidateMemo 6 row — eventInbox status=watch promotionGate=‘ledger 통과 4 회 누적’ / priceFlowReaction status=ok promotionGate=‘falsifier resolved 60%+’ / insiderOwnershipSignal status=missing (data 없음) / capitalActionMonitor status=ok promotionGate=‘action 추세 12M+’ / consensusDriftWatch status=watch / scanContext status=ok. 4 of 6 signal 승격 후보 (status=ok 또는 watch + gate 명시).”

2. 핵심 근거 수집

  • Company.disclosure() filings + gather(‘price’) + gather(‘consensus’) 3 source
  • buildEventRadarMemo() → 6 signal × (status + recommendedEngineOwner + promotionGate + keepAsSkillAfterPromotion)
  • 각 signal 별 recipe 검산 경로 유지 명시 (keepAsSkillAfterPromotion=True)

3. 메커니즘 분석

6 signal 후보 → status 분류 + promotion 조건
   signalId               status        promotionGate                    engineOwner
   eventInbox             ok/watch      ledger 통과 ≥ 4 회                Company.disclosure
   priceFlowReaction      ok            falsifier resolved 비율 ≥ 60%    Company.gather(price/flow)
   insiderOwnershipSignal ok/missing    insider rows ≥ 12 회 (12M+)      Company.gather(insider)
   capitalActionMonitor   ok            action 추세 12M+                  Company.gather(dividend)
   consensusDriftWatch    ok/watch      consensus rows ≥ 12 회            Company.gather(consensus)
   scanContext            ok            scan universe 정합 12M+           scan.market

승격 의사결정:
   status=ok + promotionGate 충족 → 엔진 환류 (구현 시작)
   status=watch + gate 부분 충족 → 검증 더 (1-2 분기 추적)
   status=missing               → 데이터 부재 (제외)

keepAsSkillAfterPromotion=True 강제:
   엔진화 이후에도 recipe 보존 — 검산 경로 유지 + dogfood 가능성

본 메모는 후보 정리 — 실제 엔진 구현 X. 단일 실행 결과를 엔진 완료처럼 표현 시 forbidden 위반.

4. 반례·한계

  • 단일 실행 결과를 엔진 구현으로 표현 → forbidden 위반.
  • promotionGate 가 없는 후보는 미완성 — 실패 처리.
  • selfRun 없이 status=ok 단정 → 데이터 미검증 위험.
  • engineOwner 정의가 너무 모호 (예: “Company”) → 실제 환류 어려움.

5. 후속 모니터링

  • promotionGate 충족 → engine 환류 plan 시작 (운영자 결정).
  • 모든 후보 status=watch → recipes.fundamental.disclosure.eventRadar.falsifierLedger 로 ledger 통과율 점검.
  • selfRun 결과 일관 → recipes.fundamental.disclosure.eventRadar.visualDecisionPack 으로 observed viz binding.

대표 반환 형태

column의미
signalId후보 축
statusmissing/ok/watch/risk
recommendedEngineOwner나중에 담당할 엔진 영역
promotionGate승격 조건
keepAsSkillAfterPromotionrecipe 보존 여부

연계 절차

  1. recipes.fundamental.disclosure.eventRadar.falsifierLedger - 반증 통과 확인.
  2. recipes.fundamental.disclosure.eventRadar.visualDecisionPack - observed viz binding 확인.

기본 검증

  • promotionGate가 없는 후보는 실패다.
  • 단일 실행 결과는 구현 완료가 아니다.

런타임

실행 환경별 호환성

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

실패 회피

흔한 실패 · 절대 금지

흔한 실패
  • selfRun 없이 엔진 승격 후보로 확정
절대 금지
  • engineCandidateMemo를 실제 엔진 구현으로 표현하지 않는다.