engines.industry.taxonomyOps Engines observed

Industry — Taxonomy 운영 (taxonomyOps)

산업 분류 데이터 (taxonomy.json + nodes.json) 운영자 수동 갱신 절차서 — 신생 산업 추가 / 신규 상장 종목 매핑 / stage 분류 정합성 확인. accountMappings (mappingRefresh) 와 분리된 industry 측 SSOT.

이 스킬

Industry — Taxonomy 운영 (taxonomyOps)

산업 분류 데이터 (taxonomy.json + nodes.json) 운영자 수동 갱신 절차서 — 신생 산업 추가 / 신규 상장 종목 매핑 / stage 분류 정합성 확인. accountMappings (mappingRefresh) 와 분리된 industry 측 SSOT.

Engines observed engines.industry.taxonomyOps

이어 가기

절차

실행 순서

  1. 1

    `stages` 순서 = 밸류체인 흐름 순 (upstream → midstream → downstream).

  2. 2

    `stream` enum: `upstream` / `midstream` / `downstream` 3 종만 (engines.industry.supplyChain SSOT).

  3. 3

    stage `id` 는 camelCase 영문, 산업 내 unique.

  4. 4

    `confidence` 0~1, 0.5 미만 = 신뢰 한계 명시 (Company.industry() 답변에서 표기).

  5. 5

    `matches` 는 사업보고서·제품군에서 추출한 정성 근거.

  6. 6

    같은 종목이 여러 stage 후보 — primary 1 개만 등록 (secondary 매핑은 별도 트랙).

  7. 7

    **신규 상장 종목**: 분기 1 회 일괄 (KRX listing 변경 cron 후속).

  8. 8

    **신생 산업 추가**: 운영자 판단 시점 (산업 분류 trend 변동 시).

  9. 9

    **stage 분류 정정**: 사용자 피드백 또는 사업보고서 검토 후 즉시.

  10. 10

    `taxonomy.json` JSON 파싱 정상 + 모든 stage 의 `stream` enum 안.

  11. 11

    `nodes.json` 의 모든 `chainId` 가 `taxonomy.json` 에 정의됨.

  12. 12

    같은 stage `id` 가 산업 내 unique.

엔진 역할

industry 엔진의 taxonomy 운영 sub-axis. 산업 분류 데이터 두 파일 (taxonomy.json = 산업·stage 정의 / nodes.json = 종목→stage 매핑) 의 운영자 수동 갱신 절차서. accountMappings 측은 operation.mappingRefresh SSOT — 본 spec 은 industry 측 데이터 전용.

공개 호출 방식

import dartlab

# 갱신 후 확인 (호출 형태는 base SKILL 과 동일)
guide = dartlab.industry()
# → 신규 산업 추가 시 목록에 등장
nodes = dartlab.industry("새산업ID")
# → 신규 종목 매핑 확인

c = dartlab.Company("신규종목코드")
print(c.industry())
# → {chainId, stage, confidence, ...} 또는 None

호출 동작

본 spec 은 데이터 갱신 절차서 — 코드 호출 동작은 base SKILL engines.industry 그대로. 갱신 자체는 운영자 수동.

갱신 절차

1. 신규 산업 추가

src/dartlab/industry/taxonomy.json 직접 편집:

{
  "신규산업ID": {
    "name": "한글 산업명",
    "stages": [
      {"id": "stageId", "name": "한글 공정명", "stream": "upstream"},
      ...
    ]
  }
}
  • stages 순서 = 밸류체인 흐름 순 (upstream → midstream → downstream).
  • stream enum: upstream / midstream / downstream 3 종만 (engines.industry.supplyChain SSOT).
  • stage id 는 camelCase 영문, 산업 내 unique.

2. 종목 매핑 추가

src/dartlab/industry/nodes.json 편집:

{
  "종목코드6자리": {
    "chainId": "산업ID",
    "stage": "stageId",
    "confidence": 0.85,
    "matches": ["매칭 키워드 1", "키워드 2"],
    "products": ["주요 제품 1", "제품 2"],
    "role": "한글 역할 (제조 / 설계 / 장비 / ...)"
  }
}
  • confidence 0~1, 0.5 미만 = 신뢰 한계 명시 (Company.industry() 답변에서 표기).
  • matches 는 사업보고서·제품군에서 추출한 정성 근거.
  • 같은 종목이 여러 stage 후보 — primary 1 개만 등록 (secondary 매핑은 별도 트랙).

3. 갱신 후 확인 (운영자 수동)

# 1. taxonomy 로드 검증
uv run python -X utf8 -c "from dartlab.industry import loadTaxonomy; print(loadTaxonomy().keys())"

# 2. 신규 산업 가이드
uv run python -X utf8 -c "import dartlab; print(dartlab.industry())"

# 3. 신규 종목 매핑
uv run python -X utf8 -c "import dartlab; print(dartlab.Company('신규코드').industry())"

# 4. capability 카탈로그는 docstring 라이브 빌드 — 재생성 단계 없음 (loadCapabilities 자동 반영).
#    (Skill OS 6 JSON 동기화가 필요하면 그건 별도 generateSkills — feedback_no_skill_json_auto_build)

대표 반환 형태

본 spec 은 절차서 — 반환 형태는 base SKILL engines.industry 참조. 갱신 후 동작은 동일.

갱신 빈도

  • 신규 상장 종목: 분기 1 회 일괄 (KRX listing 변경 cron 후속).
  • 신생 산업 추가: 운영자 판단 시점 (산업 분류 trend 변동 시).
  • stage 분류 정정: 사용자 피드백 또는 사업보고서 검토 후 즉시.

자동 매핑 도구·LLM 추론 매핑 금지 (feedback_no_docstring_auto_sweep 동일 사상 — 사람 작성 SSOT).

기본 검증

  • taxonomy.json JSON 파싱 정상 + 모든 stage 의 stream enum 안.
  • nodes.json 의 모든 chainIdtaxonomy.json 에 정의됨.
  • 같은 stage id 가 산업 내 unique.
  • 모든 종목코드 6 자리 string.

관련

런타임

실행 환경별 호환성

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