Files
hyungi_document_server/docs/industrial-safety-blueprint.md
Hyungi Ahn bec9579a8a chore: 프로젝트 구조 + 설계 문서 초기 커밋
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-26 11:22:04 +09:00

32 KiB

04_Industrial Safety — DEVONthink DB 상세 설계서

메인 아키텍처: mac-mini-pkm-architecture.md 참조


1. DB 그룹 구조

04_Industrial Safety/
├── 00_Inbox                          ← 2차 분류 대기
├── 10_Legislation                    ← 법령, 고시, 행정규칙
│   ├── Act                           ← 산업안전보건법 등 법률 원문
│   ├── Decree                        ← 시행령, 시행규칙
│   ├── Notice                        ← 고시, 지침, 예규, 가이드라인
│   ├── SAPA                          ← 중대재해처벌법 (별도 법 체계)
│   ├── KR_Archive                    ← 개정 이력 자동 수집 (법령 API)
│   └── Foreign                       ← 해외 법령 (참고용)
│       ├── US                        ← OSHA Standards, CFR Title 29
│       ├── JP                        ← 労働安全衛生法
│       └── EU                        ← EU-OSHA Directives, REACH
├── 20_Theory                         ← 이론서, 교과서, 학습 자료
├── 30_Papers                         ← 학술 논문, 연구 보고서
├── 40_Cases                          ← 사고 사례, 재해 분석
│   ├── Domestic                      ← 국내 사례
│   └── International                 ← 해외 사례
├── 50_Practice                       ← 실무 문서 (현장 업무)
│   ├── Risk_Assessment               ← 위험성평가
│   ├── Patrol_Inspection             ← 순회점검
│   ├── Safety_Plan                   ← 안전관리계획서
│   ├── Education                     ← 안전교육 자료
│   ├── Checklist                     ← 점검표, 체크리스트
│   ├── Contractor_Management         ← 도급/수급업체 안전관리
│   ├── Permit_to_Work                ← 작업허가서 (화기, 밀폐, 고소 등)
│   ├── Emergency_Plan                ← 비상조치계획, 대피/소방훈련
│   └── PPE                           ← 보호구 관리, 선정 기준, 지급 대장
├── 60_Compliance                     ← 신고, 보고, 감독 (실제 행정 문서)
│   ├── Report                        ← 산재 신고, 중대재해 보고
│   ├── Audit                         ← 감독 결과, 시정명령
│   └── Certification                 ← 자격증, 인증 관련
├── 70_Safety_Manager                 ← 안전관리자 직무 전용
│   ├── Appointment                   ← 선임 서류, 자격 관련
│   ├── Duty_Record                   ← 직무수행 기록, 월간/분기 보고
│   ├── Meeting                       ← 산업안전보건위원회, 회의록
│   ├── Inspection                    ← 안전관리자 점검 기록
│   └── Improvement                   ← 개선 요청, 시정 조치 이력
├── 75_Health_Manager                 ← 보건관리자 직무 전용
│   ├── Appointment                   ← 선임 서류, 자격 관련
│   ├── Duty_Record                   ← 직무수행 기록, 월간/분기 보고
│   ├── Work_Environment              ← 작업환경측정, 유해인자 관리
│   ├── Health_Checkup                ← 건강검진 관리, 사후관리
│   ├── MSDS                          ← 물질안전보건자료 관리
│   ├── Ergonomics                    ← 근골격계 유해요인조사, 직업병 예방
│   └── Mental_Health                 ← 직무스트레스 평가, 감정노동, 심리상담
├── 80_Reference                      ← 규격, 기준, 매뉴얼
│   ├── Standards                     ← KS, ISO, KOSHA Guide
│   └── Manual                        ← 장비 매뉴얼, 작업 지침서
└── 90_Archive                        ← 폐기 법령, 구버전 자료

2. AI 2차 분류 라우팅 (태그 → 그룹 매핑)

Inbox에서 1차 분류로 이 DB에 도착한 문서를, AI가 태그와 본문 키워드를 보고 하위 그룹까지 자동 이동시킵니다.

태그 조합                                → 이동 대상 그룹
──────────────────────────────────────────────────────────
$유형/법령                               → 10_Legislation/
$유형/법령 + #주제/산업안전/법령           → 10_Legislation/
  ├── 텍스트에 "법률" "법" 포함           →   Act/
  ├── 텍스트에 "시행령" "시행규칙" 포함    →   Decree/
  ├── 텍스트에 "고시" "지침" "예규" 포함   →   Notice/
  └── 텍스트에 "중대재해처벌" 포함         →   SAPA/

$유형/논문                               → 30_Papers/

#주제/산업안전/사고사례                    → 40_Cases/
  ├── sourceURL에 kosha.or.kr 포함       →   Domestic/
  └── sourceURL에 osha.gov 등 포함       →   International/

#주제/산업안전/위험성평가                   → 50_Practice/Risk_Assessment/
#주제/산업안전/순회점검                    → 50_Practice/Patrol_Inspection/
#주제/산업안전/안전교육                    → 50_Practice/Education/
$유형/체크리스트                          → 50_Practice/Checklist/
키워드: "도급" "수급" "협력업체"            → 50_Practice/Contractor_Management/
키워드: "작업허가" "화기" "밀폐"            → 50_Practice/Permit_to_Work/
키워드: "비상" "대피" "소방"               → 50_Practice/Emergency_Plan/
키워드: "보호구" "안전화" "안전모"          → 50_Practice/PPE/

#주제/산업안전/신고보고                    → 60_Compliance/Report/
키워드: "감독" "시정명령"                  → 60_Compliance/Audit/
키워드: "자격증" "인증" "면허"              → 60_Compliance/Certification/

#주제/산업안전/안전관리자                   → 70_Safety_Manager/
  ├── "선임" "자격"                       →   Appointment/
  ├── "직무수행" "월간보고"                →   Duty_Record/
  ├── "위원회" "회의록"                    →   Meeting/
  ├── "점검" "순회"                       →   Inspection/
  └── "개선" "시정"                       →   Improvement/

#주제/산업안전/보건관리자                   → 75_Health_Manager/
  ├── "선임" "자격"                       →   Appointment/
  ├── "작업환경측정" "유해인자"             →   Work_Environment/
  ├── "건강검진" "사후관리"                →   Health_Checkup/
  ├── "MSDS" "물질안전"                   →   MSDS/
  ├── "근골격계" "직업병"                  →   Ergonomics/
  └── "스트레스" "감정노동"                →   Mental_Health/

#주제/산업안전/규격기준                    → 80_Reference/Standards/

분류 불가                                → 00_Inbox/ (수동 리뷰 대기)

3. 법령 자동 수집 및 변경 알림 시스템

3.1 모니터링 대상 법령

🇰🇷 한국 (필수) — 국가법령정보센터 Open API (open.law.go.kr)
─────────────────────────────────────────
· 산업안전보건법 (법률/시행령/시행규칙)
· 중대재해 처벌 등에 관한 법률 (법률/시행령)
· 건설기술 진흥법
· 화학물질관리법 / 화학물질의 등록 및 평가 등에 관한 법률
· 위험물안전관리법
· KOSHA Guide (한국산업안전보건공단 기술지침)
· 고용노동부 고시/지침 (관련 행정규칙)

🇺🇸 미국 (참고) — Federal Register API + OSHA
─────────────────────────────────────────
· OSHA Standards (29 CFR 1910 일반산업, 1926 건설)
· Federal Register: OSHA 관련 규칙 제정/개정 공지
· NIOSH 권고사항 (새 출판물)

🇯🇵 일본 (참고) — e-Gov 法令API (laws.e-gov.go.jp)
─────────────────────────────────────────
· 労働安全衛生法 (노동안전위생법)
· 労働安全衛生法施行令
· 労働安全衛生規則

🇪🇺 EU (참고) — EUR-Lex SPARQL / REST
─────────────────────────────────────────
· Framework Directive 89/391/EEC (산업안전 기본지침)
· REACH Regulation (화학물질 규정)
· CLP Regulation (분류/표시 규정)
· Machinery Directive 2006/42/EC

3.2 시스템 아키텍처

┌──────────────────────────────────────────────────────────────┐
│                 법령 모니터링 시스템 (Mac mini, launchd)         │
│                                                               │
│  ┌─────────────────┐    ┌──────────────────────────────┐     │
│  │ law_monitor.py  │    │ 수집 스케줄                    │     │
│  │ · KR: law.go.kr │    │ · 한국: 매일 06:00             │     │
│  │ · US: FedReg    │    │ · 미국: 주 1회 (월)            │     │
│  │ · JP: e-Gov     │    │ · 일본: 주 1회 (수)            │     │
│  │ · EU: EUR-Lex   │    │ · EU:   월 1회 (1일)           │     │
│  └───────┬─────────┘    └──────────────────────────────┘     │
│          ▼                                                    │
│  ┌──────────────────────────────────────────────────────┐    │
│  │ 변경 감지: API → SQLite 비교 → diff 생성              │    │
│  └───────┬──────────────────────────────────────────────┘    │
│          ▼                                                    │
│  ┌──────────────────────────────────────────────────────┐    │
│  │ 알림 + 저장                                           │    │
│  │ · DEVONthink: 10_Legislation/ 자동 분류                │    │
│  │ · Synology Chat 웹훅 즉시 알림                         │    │
│  │ · OmniFocus 작업 생성 ("법령 변경 검토 필요")           │    │
│  │ · Ollama 35B: 변경 요약 + 실무 영향 브리핑              │    │
│  └──────────────────────────────────────────────────────┘    │
└──────────────────────────────────────────────────────────────┘

3.3 법적 근거 — 수집에 문제 없음

한국: 저작권법 제7조 — 법령, 조약, 판결 등은 저작권 보호 대상 아님
      + 국가법령정보센터 Open API 공공데이터 자유이용 허용
미국: 연방법/규정은 Public Domain (17 U.S.C. §105)
일본: 著作権法 第13条 — 법령은 저작권 대상 제외
EU:   EUR-Lex 자유 재사용 정책 (Decision 2011/833/EU)

3.4 저장 구조 예시

04_Industrial Safety/10_Legislation/
├── Act/
│   └── 산업안전보건법_2026-03-01_시행.pdf
├── Decree/
│   └── 산업안전보건법_시행령_2026-01-01.pdf
├── SAPA/
│   └── 중대재해처벌법_2026-01-01_시행.pdf
├── KR_Archive/
│   ├── 2026-03-24_산업안전보건법_개정_diff.md    ← 변경점 요약
│   └── 2026-03-24_산업안전보건법_개정_원문.pdf
└── Foreign/
    ├── US/
    │   └── 29CFR1910_General_Industry.pdf
    ├── JP/
    │   └── 労働安全衛生法_2026.pdf
    └── EU/
        └── Directive_89_391_EEC_Framework.pdf

4. DEVONagent 검색 세트 — 안전 분야

4.1 전체 구성

Mac mini 자동 스케줄
├── [SS-01] 🇰🇷 한국 산업안전 뉴스       매일 06:00     15~25건/주
├── [SS-02] 🇰🇷 중대재해·판례             매일 06:15     5~10건/주
├── [SS-04] 🇺🇸 미국 안전 동향            주 1회 (월)    10~15건/주
├── [SS-05] 🇯🇵 일본 안전 동향            주 1회 (수)    5~10건/주
├── [SS-06] 🇪🇺 유럽 안전 동향            월 2회         2~4건/주
├── [SS-07] 🌐 국제 안전 전문지            주 1회 (금)    5~10건/주
└── [SS-08] 📚 학술 논문 (안전공학)         주 1회 (토)    5~10건/주

안전 분야 주간 합계: ~50~85건 (하루 평균 ~8~12건)

4.2 [SS-01] 한국 산업안전 뉴스 (매일)

검색 세트: KR_Safety_News
스케줄: 매일 06:00 / 새 결과만 수집

소스:
· kosha.or.kr           — 공단 공지, 가이드, 재해사례
· portal.kosha.or.kr    — 산재예방 포털
· moel.go.kr            — 고용노동부 보도자료, 정책
· labor.moel.go.kr      — 중대재해 알림e
· safety.or.kr          — 대한산업안전협회
· safetyin.co.kr        — 안전저널
· Google News           — "산업안전" OR "산재" OR "안전보건" -채용 -구인

→ Inbox → AI 태깅 → 04_Industrial Safety 하위 그룹 자동 분류

4.3 [SS-02] 중대재해·판례 (매일)

검색 세트: KR_SAPA_Cases
스케줄: 매일 06:15 / 새 결과만 수집

소스:
· labor.moel.go.kr      — 중대재해 알림e 공시
· nosanjae.kr           — 중대재해 기업 검색
· law.go.kr             — 판례 검색 (산업안전 관련)
· Google News           — "중대재해" OR "중대재해처벌" OR "산재 사망" -채용

→ Inbox → AI 태깅 → 40_Cases/Domestic/ 또는 60_Compliance/

4.4 [SS-04] 🇺🇸 미국 안전 동향 (주 1회)

검색 세트: US_Safety
스케줄: 월요일 07:00 / 최대 15건

소스:
· osha.gov/rss                — OSHA 보도자료, 벌금 부과, 규칙     (주 3~5건)
· osha.gov/quicktakes         — OSHA QuickTakes 뉴스레터           (격주 1건)
· federalregister.gov         — OSHA final rule / proposed         (주 1~3건)
· ehstoday.com                — EHS Today 산업안전 전문지            (주 3~5건)

쿼리: ("OSHA" OR "workplace fatality" OR "safety violation") -job -hiring

→ Inbox → 10_Legislation/Foreign/US/ 또는 40_Cases/International/

4.5 [SS-05] 🇯🇵 일본 안전 동향 (주 1회)

검색 세트: JP_Safety
스케줄: 수요일 07:00 / 최대 10건

소스:
· mhlw.go.jp/rss              — 厚生労働省 보도자료               (주 2~4건)
· anzeninfo.mhlw.go.jp        — 職場のあんぜんサイト (재해사례)    (주 2~3건)
· jaish.gr.jp                 — 安全衛生情報センター (통달/지침)    (주 1~2건)

쿼리: ("労働安全" OR "労働災害" OR "安全衛生" OR "重大災害")

→ Inbox → 10_Legislation/Foreign/JP/
→ AI 자동 처리: Ollama로 일본어 → 한국어 1줄 요약 생성

4.6 [SS-06] 🇪🇺 유럽 안전 동향 (월 2회)

검색 세트: EU_Safety
스케줄: 1일·15일 07:00 / 최대 10건

소스:
· osha.europa.eu RSS          — EU-OSHA 발간물, 뉴스, 지침       (월 3~5건)
· eur-lex.europa.eu           — 산업안전 관련 신규 지침/규정         (월 1~3건)
· hse.gov.uk                  — UK Health & Safety Executive     (월 2~3건)

쿼리: ("EU-OSHA" OR "workplace safety directive" OR "REACH" OR "safety at work")
      -vacancy -recruitment

→ Inbox → 10_Legislation/Foreign/EU/

4.7 [SS-07] 🌐 국제 안전 전문지 (주 1회)

검색 세트: Global_Safety_Magazines
스케줄: 금요일 07:00 / 최대 10건

소스:
· ishn.com/rss                — Industrial Safety & Hygiene News   (주 3~5건)
· ohsonline.com               — Occupational Health & Safety        (주 2~3건)
· safetyandhealthmagazine.com — NSC Safety+Health Magazine          (주 1~2건)

쿼리: ("industrial safety" OR "process safety" OR "workplace accident"
       OR "safety management" OR "risk assessment")

→ Inbox → AI 태깅 후 주제별 자동 분류

4.8 [SS-08] 학술 논문 — 안전공학 (주 1회)

검색 세트: Safety_Academic
스케줄: 토요일 08:00 / 최대 10건

소스:
· Google Scholar              — 한국어: "산업안전" "위험성평가" "안전공학"
· Google Scholar              — 영어: "occupational safety" "risk assessment"
· oshri.kosha.or.kr           — 산업안전보건연구원 발간물
· dbpia.co.kr                 — 한국 학술논문
· sciencedirect.com           — Safety Science 저널

→ Inbox → 30_Papers/

5. 양 조절 전략

5.1 주간 예상 유입량

검색 세트                  주간 예상   빈도
──────────────────────────────────────────
SS-01 한국 안전뉴스         15~25건    매일
SS-02 중대재해/판례         5~10건     매일
SS-04 🇺🇸 미국              10~15건    주 1회
SS-05 🇯🇵 일본              5~10건     주 1회
SS-06 🇪🇺 유럽              2~4건      월 2회
SS-07 🌐 전문지             5~10건     주 1회
SS-08 학술 논문             5~10건     주 1회
──────────────────────────────────────────
안전 분야 합계             ~50~85건    /주
하루 평균                  ~8~12건

5.2 과다 유입 방지 장치

1단계: DEVONagent "새 결과만" — 이전 수집분 자동 제외
2단계: 검색 세트별 최대 수집량 캡 (Max Results)
3단계: AI 관련도 필터 — Ollama가 관련도 판단
       → 낮으면 @상태/아카이브 → 90_Archive 이동
       → 높으면 @상태/검토필요 → 해당 그룹에 유지
4단계: 주간 다이제스트 — 금요일 Claude API가 주간 요약
       → "이번 주 꼭 봐야 할 5건" 브리핑 자동 생성
5단계: 30일 이상 미열람 → Smart Rule로 자동 90_Archive 이동

5.3 일본어 자료 자동 처리

수집 → Smart Rule: 일본 태그 감지
→ Ollama 35B: 일본어 → 한국어 1줄 요약
→ DEVONthink 커스텀 메타데이터 "summaryKR" 필드에 저장
→ 원문은 그대로 보존

※ 일본 산업안전 용어는 한자어 공통으로 번역 정확도 높음

6. 기존 자료 마이그레이션

현재                              → 이동 대상
───────────────────────────────────────────────
0_Theory/ (72건)                  → 20_Theory/
8_Reference/ (1건)                → 80_Reference/
9_일반자료_산업안전/ (33건)         → 내용별 분산:
                                     사고사례 → 40_Cases/Domestic/
                                     실무서식 → 50_Practice/
                                     신고관련 → 60_Compliance/
지게차 관련규칙 개정... (PDF)       → 10_Legislation/Notice/
Industrial Safety... (HTML)       → 20_Theory/ 또는 80_Reference/

7. 관련 태그 체계 (산업안전 영역)

#주제/산업안전/
├── 법령          ← 10_Legislation
├── 위험성평가     ← 50_Practice/Risk_Assessment
├── 순회점검       ← 50_Practice/Patrol_Inspection
├── 안전교육       ← 50_Practice/Education
├── 사고사례       ← 40_Cases
├── 신고보고       ← 60_Compliance
├── 안전관리자     ← 70_Safety_Manager
├── 보건관리자     ← 75_Health_Manager
└── 규격기준       ← 80_Reference

8. 유입 경로 추적 체계 (Source Tracking)

모든 문서에 유입 경로를 기록하여 "이 자료가 어디서 왔는지"를 즉시 파악할 수 있게 합니다. 실제 업무 데이터와 외부 참고자료를 명확히 구분하는 것이 핵심입니다.

8.1 유입 경로 분류

커스텀 메타데이터: sourceChannel (텍스트, 필수)

┌──────────────────────────────────────────────────────────────────┐
│ 자동 유입 (시스템)                                                 │
├────────────────┬─────────────────────────────────────────────────┤
│ tksafety       │ TKSafety API 연동 — 업무 실적 (위험성평가, 점검 등) │
│ devonagent     │ DEVONagent 검색 세트 — 뉴스/업계 동향 자동 수집      │
│ law_monitor    │ 법령 모니터링 API — 법령 제·개정 추적               │
├──────────────────────────────────────────────────────────────────┤
│ 수동/반자동 유입                                                   │
├────────────────┬─────────────────────────────────────────────────┤
│ inbox_route    │ Inbox DB → AI 분류 → 이 DB로 라우팅된 문서         │
│ email          │ MailPlus → Archive DB → 안전 관련 메일 전달        │
│ web_clip       │ DEVONthink Web Clipper로 직접 스크랩               │
│ manual         │ 드래그&드롭, 스캔, 파일 직접 추가                   │
└────────────────┴─────────────────────────────────────────────────┘

8.2 메타데이터 자동 설정 규칙

유입 경로별 자동 태그:

tksafety     → @출처/TKSafety  + sourceURL = tksafety.technicalkorea.net/...
devonagent   → @출처/뉴스수집   + sourceURL = 원본 기사 URL
law_monitor  → @출처/법령API    + sourceURL = law.go.kr/... 또는 해외 법령 URL
inbox_route  → @출처/자동분류   + (원본 sourceURL 유지)
email        → @출처/이메일     + sourceURL = mailplus 메시지 링크
web_clip     → @출처/웹스크랩   + sourceURL = 스크랩 원본 URL
manual       → @출처/수동입력   + sourceURL = 없음 (직접 기입 가능)

8.3 업무 데이터 vs 참고자료 구분

커스텀 메타데이터: dataOrigin (드롭다운, 필수)

 work     — 우리 회사 실제 업무에서 발생한 데이터
              (TKSafety 연동, 직접 작성한 보고서, 내부 회의록 등)
 external — 외부에서 수집한 참고/학습 자료
              (뉴스, 법령 원문, 타사 사례, 학술 논문 등)

자동 판별 규칙:
· sourceChannel = tksafety      → dataOrigin = work (항상)
· sourceChannel = law_monitor   → dataOrigin = external (항상)
· sourceChannel = devonagent    → dataOrigin = external (항상)
· sourceChannel = manual        → dataOrigin = work (기본값, 수동 변경 가능)
· sourceChannel = inbox_route   → AI가 내용 기반으로 판별
· sourceChannel = email         → AI가 발신자/내용 기반으로 판별
· sourceChannel = web_clip      → dataOrigin = external (기본값)

8.4 Smart Rule 적용

DEVONthink Smart Rule: "소스 채널 누락 검출"

조건: custom metadata "sourceChannel" is empty
      AND database is "04_Industrial Safety"
      AND NOT in group "00_Inbox"
동작:
  1. @상태/미분류출처 태그 추가
  2. 00_Inbox으로 이동 (출처 확인 후 재분류)

→ 어떤 경로로든 출처 없이 들어온 문서는 자동 포착
→ 주간 리뷰에서 정리 (수동 입력 자료 대부분 여기 해당)

8.5 활용 시나리오

검색/필터 예시:

"올해 우리 회사가 실시한 위험성평가만 보기"
  → 50_Practice/Risk_Assessment/ + dataOrigin = work

"외부 위험성평가 사례/참고자료"
  → 50_Practice/Risk_Assessment/ + dataOrigin = external

"TKSafety에서 자동 수집된 문서 전체"
  → sourceChannel = tksafety

"직접 스크랩한 자료 중 미정리 건"
  → sourceChannel = web_clip + @상태/미분류출처

Smart Group으로 상시 모니터링:
· "출처 미기입 문서" → sourceChannel is empty
· "이번 주 업무 문서" → dataOrigin = work + 최근 7일
· "외부 수집 미읽음" → dataOrigin = external + unread

9. TKSafety 시스템 연동 (설정 대기)

현재 상태: 설계 완료, 구현 대기 API 엔드포인트 명세와 연동 구조만 확정해두고, 실제 활성화는 PKM 기본 체계가 안정된 후 진행합니다. TKSafety는 자체 개발 시스템이므로 필요 시점에 API를 추가하면 됩니다.

9.1 시스템 정보

· URL: tksafety.technicalkorea.net (Cloudflare Tunnel)
· 호스팅: Synology DS1525+ Docker
· 내부 접근: Tailscale VPN
· 개발/수정: 직접 가능
· sourceChannel 값: tksafety
· dataOrigin 값: work (항상)

9.2 연동 아키텍처 (예정)

┌──────────────────────┐         ┌────────────────────────────┐
│ TKSafety             │         │ Mac mini (PKM 허브)          │
│ (Synology Docker)    │         │                             │
│                      │  API    │  tksafety_sync.py           │
│ /api/v1/             │◄──────►│  (launchd 스케줄)            │
│  risk-assessments    │ Tailscale│                            │
│  patrol-inspections  │         │  ┌─────────────────────┐    │
│  corrective-actions  │         │  │ 데이터 가공          │    │
│  incidents           │         │  │ · JSON → PDF/MD 변환 │    │
│  education-records   │         │  │ · sourceChannel 설정  │    │
│  meeting-minutes     │         │  │ · dataOrigin = work  │    │
│                      │         │  └──────────┬──────────┘    │
└──────────────────────┘         │             ▼               │
                                 │  DEVONthink 자동 임포트       │
                                 │  → 04_Industrial Safety/     │
                                 │     하위 그룹 자동 라우팅      │
                                 │                             │
                                 │  ChromaDB 벡터 인덱싱         │
                                 │  → RAG 검색 가능              │
                                 └────────────────────────────┘

9.3 API 엔드포인트 명세 (TKSafety에 추가 예정)

GET /api/v1/risk-assessments
  ?since=2026-03-01&status=completed → 위험성평가 결과 목록
GET /api/v1/risk-assessments/{id}/report → 상세 (PDF/JSON)

GET /api/v1/patrol-inspections
  ?since=2026-03-01 → 순회점검 결과 목록
GET /api/v1/patrol-inspections/{id}/report → 상세 + 사진

GET /api/v1/corrective-actions
  ?since=2026-03-01&status=open|completed|overdue → 시정조치 내역

GET /api/v1/incidents?since=2026-03-01 → 사고/아차사고 보고서

GET /api/v1/education-records?since=2026-03-01 → 안전교육 기록

GET /api/v1/meetings?type=safety-committee&since=2026-03-01 → 회의록

GET /api/v1/sync-status → 마지막 동기화 시점, 대기 건수

9.4 라우팅 매핑 (활성화 시 적용)

TKSafety 데이터        → DEVONthink 그룹               → 파일 형식
────────────────────────────────────────────────────────────────
risk-assessments       → 50_Practice/Risk_Assessment/   → PDF
patrol-inspections     → 50_Practice/Patrol_Inspection/ → MD + 사진
corrective-actions     → 70_Safety_Manager/Improvement/ → MD
incidents              → 40_Cases/Domestic/             → PDF
education-records      → 50_Practice/Education/         → MD
meetings (safety-comm) → 70_Safety_Manager/Meeting/     → MD

파일명 규칙:
  RA_2026-03-24_[작업명]_[위험등급].pdf
  PI_2026-03-24_[구역명].md
  CA_2026-03-24_[조치내용]_[상태].md
  INC_2026-03-24_[사고유형]_[심각도].pdf

9.5 동기화 스케줄 (활성화 시 적용)

· 위험성평가, 순회점검    → 매일 07:00
· 시정조치               → 매일 07:00 + 18:00
· 사고/아차사고           → 1시간마다 (긴급성)
· 교육기록, 회의록        → 주 1회 (월요일 07:00)
· overdue 시정조치       → OmniFocus 작업 자동 생성

9.6 활성화 단계

지금 할 것:
  ✓ API 명세 확정 (이 문서)
  ✓ sourceChannel/dataOrigin 체계 설계
  ○ TKSafety에 /api/v1/ 엔드포인트 뼈대만 추가 (빈 응답 OK)

PKM 안정화 후:
  Phase 1: API 실제 데이터 응답 구현
  Phase 2: tksafety_sync.py 개발 + DEVONthink 임포트
  Phase 3: 시정조치 → OmniFocus 연동
  Phase 4: 양방향 확장 (DEVONthink → TKSafety 상태 업데이트)

10. 산업안전 Daily Digest 기여 항목

Daily Digest는 전체 PKM 차원에서 운영되지만 (메인 아키텍처 참조), 이 DB는 특히 다음 항목을 다이제스트에 공급합니다.

04_Industrial Safety → Daily Digest 공급 항목:

■ 문서 변동
  · 오늘 추가된 문서 수 (sourceChannel별 구분)
    예: "산업안전 +5 (뉴스3, 법령1, 업무1)"
  · 분류 실패 → 00_Inbox 잔류 건수

■ 법령 변경 (law_monitor 연동)
  · 한국 법령 제·개정 감지 → ⚠ 마크로 강조
  · 해외 법령 변경 → 참고 표시
  · OmniFocus 액션: "법령 변경 검토: [법령명]" 자동 생성

■ 뉴스/동향 (DEVONagent 연동)
  · 오늘 수집된 안전 뉴스 건수 (국내/해외 구분)
  · 상위 3건 자동 요약 (Ollama 35B)

■ 업무 데이터 (TKSafety 연동, 활성화 시)
  · 위험성평가/순회점검 신규 건수
  · 시정조치 overdue → ⚠ OmniFocus 긴급 액션

■ OmniFocus 액션 자동 생성 조건 (이 DB 관련):
  · 법령 변경 감지          → "법령 변경 검토: [법령명]"
  · 시정조치 기한초과        → "시정조치 기한초과: [내용]" (긴급)
  · 안전 뉴스 중대 키워드    → "뉴스 확인: [제목]"
    (키워드: 중대재해, 사망, 작업중지, 과태료)
  · Inbox 미처리 5건 이상   → "산업안전 Inbox 정리 필요"

11. 향후 확장 계획

  • 나머지 도메인 DB(03_Engineering, 05_Programming 등)도 동일한 넘버링 패턴으로 그룹 구조 설계 예정
  • 각 DB별 DEVONagent 검색 세트 추가
  • DB 간 크로스 레퍼런스 (예: 산업안전 + 공학 문서 연결)
  • TKSafety 양방향 연동 확장 (Section 9.6 참조)
  • sourceChannel/dataOrigin 체계를 다른 도메인 DB에도 확장 적용