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

Forensics Account Trace Ledger

매출, CFO, 매출채권, 재고, 매입채무 같은 포렌식 핵심 metric이 어떤 raw statement row에서 왔는지 추적해 엔진 승격 전 계정 매핑 품질을 검증한다. 트리거 — '계정 trace ledger', 'raw 계정 매핑 검산'.

이 스킬

Forensics Account Trace Ledger

매출, CFO, 매출채권, 재고, 매입채무 같은 포렌식 핵심 metric이 어떤 raw statement row에서 왔는지 추적해 엔진 승격 전 계정 매핑 품질을 검증한다. 트리거 — '계정 trace ledger', 'raw 계정 매핑 검산'.

Recipes observed recipes.fundamental.quality.forensics.accountTraceLedger

이어 가기

절차

실행 순서

  1. 1

    trace missing metric을 사용하는 후속 표는 `status=limited`로 낮춘다.

  2. 2

    계정 trace 결과 자체를 engineCandidateMemo의 reference 보강 후보로 남긴다.

예시

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

  • 삼성전자 raw 계정 trace
  • CFO와 매출채권 source row 확인

출력

기대 결과

  • metric별 mapped/missing 상태
  • sourceTopic/sourceColumn/sourceLabel
  • aliasesTried

공개 호출 방식

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"]["accountTraceLedger"],
    values={"target": target, "mappedCount": sum(1 for row in memo["tables"]["accountTraceLedger"] if row["status"] == "mapped")},
    date=memo["asOf"],
    sources=memo["sources"],
)

호출 동작

1. 결론 도출

핵심 metric의 mapped/missing 현황을 먼저 보여준다. 이 결과는 후속 bridge의 신뢰도를 결정하는 계정 lineage다.

2. 핵심 근거 수집

IS/BS/CF 원표의 snakeId, 항목, account, label 컬럼을 순서대로 확인하고 표준 alias와 매칭한다.

3. 메커니즘 분석

계정 trace는 분석값보다 중요하다. 같은 receivables라도 매출채권, 기타채권, 장기채권이 섞이면 DSO가 왜곡된다.

4. 반례·한계

은행·보험은 대출채권과 예수부채가 일반 제조업 receivables/payables와 다르다. 이 경우 missing이 정상이며 별도 금융업 모델 후보로 보낸다.

5. 후속 모니터링

missing metric은 reference alias 후보로 남기고, 반복적으로 등장하면 L1.5 reference mapping 보강 후보가 된다.

대표 반환 형태

column의미
metric표준 metric id
statusmapped 또는 missing
sourceTopicIS/BS/CF
sourceColumn매칭된 label 컬럼
sourceLabelraw row label
aliasesTried시도한 alias

연계 절차

  1. recipes.fundamental.quality.forensics.dataCoverageAudit - 원표 coverage를 먼저 확인한다.
  2. recipes.fundamental.quality.forensics.revenueToCashBridge - revenue, receivables, CFO, netIncome이 mapped이면 실행한다.
  3. recipes.fundamental.quality.forensics.workingCapitalPressureMap - receivables, inventories, payables가 mapped이면 실행한다.

기본 검증

  • trace missing metric을 사용하는 후속 표는 status=limited로 낮춘다.
  • 계정 trace 결과 자체를 engineCandidateMemo의 reference 보강 후보로 남긴다.

런타임

실행 환경별 호환성

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

실패 회피

흔한 실패 · 절대 금지

흔한 실패
  • 회사별 snakeId alias가 달라 매출채권/매입채무 매핑 실패
  • 연결과 별도 재무제표 row가 섞임
절대 금지
  • 계정명 substring만 보고 단위를 확인하지 않은 채 결론화하지 않는다.
  • missing metric을 0으로 처리하지 않는다.