recipes.fundamental.quality.forensics.falsifierLedger Recipes Recipe observed

Forensics Falsifier Ledger

revenue-to-cash, working capital, note signal, event match에서 나온 의심 신호마다 반대 설명과 추가 확인 항목을 열어 스킬이 과잉 결론으로 흐르지 않게 한다. 트리거 — '포렌식 반증 ledger', '의심 신호 반례'.

이 스킬

Forensics Falsifier Ledger

revenue-to-cash, working capital, note signal, event match에서 나온 의심 신호마다 반대 설명과 추가 확인 항목을 열어 스킬이 과잉 결론으로 흐르지 않게 한다. 트리거 — '포렌식 반증 ledger', '의심 신호 반례'.

Recipes observed recipes.fundamental.quality.forensics.falsifierLedger

이어 가기

절차

실행 순서

  1. 1

    open falsifier는 답변에 그대로 노출한다.

  2. 2

    반증 조건이 없는 신호는 engineCandidateMemo에 승격하지 않는다.

예시

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

  • 매출채권 괴리의 반증 조건 열어줘
  • 포렌식 신호 false positive 점검

출력

기대 결과

  • 신호별 반증 조건
  • open/notTriggered 상태
  • 다음 확인 데이터

공개 호출 방식

import dartlab
from dartlab.synth.evidenceForensics import buildEvidenceForensicsMemo

target = "005930"
c = dartlab.Company(target)
statements = {}
for topic in ("IS", "BS", "CF"):
    try:
        statements[topic] = c.show(topic, freq="Y")
    except TypeError:
        statements[topic] = c.show(topic)
    except Exception:
        pass

memo = buildEvidenceForensicsMemo(
    target=target,
    market=str(getattr(c, "market", "KR")),
    companyName=str(getattr(c, "corpName", target)),
    statements=statements,
)

emit_result(
    table=memo["tables"]["falsifierLedger"],
    values={"target": target, "openFalsifiers": sum(1 for row in memo["tables"]["falsifierLedger"] if row["status"] == "open")},
    date=memo["asOf"],
    sources=memo["sources"],
)

호출 동작

1. 결론 도출

각 claim을 open 또는 notTriggered로 둔다. open은 위험 확정이 아니라 확인해야 할 반례가 있다는 뜻이다.

2. 핵심 근거 수집

revenue bridge, working capital, note signal, event match의 status를 모아 claim별 반증 요구사항을 만든다.

3. 메커니즘 분석

포렌식 신호의 핵심은 탐지보다 반증이다. 같은 수치라도 신규 고객, 수주잔고, 계절성, boilerplate 공시로 설명되면 엔진 후보에서 제외해야 한다.

4. 반례·한계

반증 조건은 완전 자동 판정이 아니다. ask 답변 품질 점검에서 사람이 반증 조건이 구체적인지 읽어야 한다.

5. 후속 모니터링

open falsifier가 2개 이상이면 다음 ask/selfRun에서 추가 데이터 또는 원문 본문 확인이 필요하다.

대표 반환 형태

column의미
claim의심 신호
supportingEvidence신호 status
counterEvidenceNeeded필요한 반증 데이터
statusopen/notTriggered

연계 절차

  1. recipes.fundamental.quality.forensics.eventToStatementMatcher - claim을 열 이벤트와 원표 신호를 확보한다.
  2. recipes.fundamental.quality.forensics.engineCandidateMemo - 반증을 통과한 신호만 후보로 남김.
  3. recipes.fundamental.quality.forensics.deepDive - 최종 ledger에 포함.

기본 검증

  • open falsifier는 답변에 그대로 노출한다.
  • 반증 조건이 없는 신호는 engineCandidateMemo에 승격하지 않는다.

런타임

실행 환경별 호환성

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

실패 회피

흔한 실패 · 절대 금지

흔한 실패
  • 반증 조건이 추상적이라 다음 데이터 확인으로 이어지지 않음
  • false positive 사례가 누적되지 않음
절대 금지
  • supportingEvidence만 쓰고 counterEvidenceNeeded를 누락하지 않는다.
  • open falsifier가 있는데 결론을 확정하지 않는다.