# 04_Industrial Safety — DEVONthink DB 상세 설계서 > 메인 아키텍처: [mac-mini-pkm-architecture.md](computer:///sessions/amazing-vigilant-hypatia/mnt/outputs/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에도 확장 적용