# Changelog

All notable changes to `agent-safety-oss` are documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [1.6.1] — 2026-06-10

문서를 처음 보는 분 기준으로 다시 정리하고, 도구가 표시하는 버전 오류를 바로잡았습니다.

### 수정

- 런타임이 표시하는 버전(`src/version.ts`)이 v1.5.0 으로 남아 있던 문제를 바로잡았습니다. MCP 서버 선언·CLI 배너·프로젝트 정보 조회가 이제 실제 패키지 버전을 표시합니다. 재발하지 않도록 release 전 자동 검사에 버전 일치 항목을 추가했습니다.

### 개선

- README 를 처음 보는 분 기준으로 다시 정리했습니다 — 목차 추가, 여러 곳에 흩어져 있던 시작 방법·구성 요소 안내를 한 곳으로 통합, 브라우저 입력 폼 화면 캡처 추가.
- 공공 데이터 source 상세 매핑과 향후 추가 후보를 [docs/DATA_SOURCES.md](./docs/DATA_SOURCES.md) 로 정리했습니다.
- AI 코딩 도구(Claude Code·Codex CLI·Cursor 등) 공통 안내 파일 `AGENTS.md` 를 추가했습니다 — 외부 기여자가 어떤 도구를 쓰든 같은 규칙을 안내받습니다.

## [1.6.0] — 2026-05-30

브라우저 입력 폼을 명령어 한 줄로 띄울 수 있습니다 — 설치도 빌드도 필요 없습니다.

### 추가

- **브라우저 입력 폼을 `npx` 한 줄로** — `npx -y agent-safety-oss viewer` 만 입력하면 안전문서 입력 폼이 브라우저에 바로 열립니다. 이전엔 소스를 내려받아 빌드해야 했지만, 이제 Node.js 만 있으면 됩니다. AI 비서(Claude·Codex)나 명령어가 익숙하지 않은 안전관리자·현장소장을 위한 가장 쉬운 경로입니다.
- **자동 브라우저 열기가 Windows·Linux 에서도 동작** — 폼 화면이 운영체제에 맞게 자동으로 열립니다 (이전 macOS 전용 → 전 OS 지원).

### 개선

- 포트가 이미 사용 중일 때 다른 포트로 실행하는 방법을 안내합니다.
- Claude Desktop·Codex 설정 가이드의 옛 버전 표기를 정리했습니다.

## [1.5.0] — 2026-05-24

안전 문서를 작성하면 관련 KOSHA 가이드와 법령 조항이 자동으로 따라붙습니다 — 일일이 찾을 필요가 없습니다.

### 추가

- **가이드·법령 자동 연결** — 문서(TBM·위험성평가·산업재해보고 등)를 작성하면 관련 KOSHA 안전 가이드와 법령 근거를 자동으로 찾아 붙여줍니다.
- **양식 자동 채움** — 문서 양식을 열면 관련 가이드·법령·위험요인·대책이 미리 채워진 상태로 시작합니다(빈 양식이 아니라).

### 개선

- **근거 없는 인용 차단 강화** — 가이드·법령은 내장 지식에서 가져오므로, 존재하지 않는 가이드명·조문을 지어내지 않습니다.

---

## [1.4.2] — 2026-05-23

빠졌던 KOSHA 가이드 2건을 채우고, 문서·예제의 잘못된 명령어를 바로잡았습니다.

### 추가

- **`inspect` 명령** — 설치한 시스템이 제대로 동작하는지(번들된 가이드·법령·도구가 온전한지) 한 번에 점검합니다. 기존 `doctor` 명령도 계속 쓸 수 있습니다.

### 수정

- **빠졌던 KOSHA 가이드 2건 채움** — "디에탄올아민에 대한 작업환경측정 분석 기술지침", "시험동물 조직 전처리 및 포매 지침" 본문이 이제 포함됩니다.
- **예제 스크립트 실행 오류 수정** — 예제(TBM 생성·도구 목록·법령 검색)에 적힌 명령어가 옛 이름이라 그대로 실행하면 실패하던 문제를 바로잡았습니다.
- **문서 표기 정정** — 버전·항목 수 등 일부 문서의 오래된 표기를 실제 값으로 맞췄습니다.

## [1.4.1] — 2026-05-22

시스템 진단 기능을 추가하고, 번들된 법령 범위를 정확히 표기했습니다.

### 추가

- **`doctor` 명령** — 설치한 시스템이 제대로 동작하는지(도구·번들 가이드·법령 동기화 상태·내 환경 설정) 점검합니다.

### 수정

- **번들 법령 범위 정확화** — "법령 8개 본문" 표현을 "8개 법령의 핵심 조문 발췌"로 바로잡았습니다. 산업안전보건법 등의 전체 조문이 아니라 안전관리 실무에 필요한 핵심 조항만 발췌해 담았다는 점을 분명히 했습니다.
- **항목 수 표기 정정** — 번들된 KOSHA 가이드·도구 수 등 일부 문서의 오래된 표기를 실제 값으로 맞췄습니다.
- **설치 안내 갱신** — npm 공개 완료에 맞춰 "아직 공개 전" 같은 옛 안내를 제거했습니다.

## [1.4.0] — 2026-05-21

문서를 채워가는 동안 필요한 도움말·위험요인 대책·검토가 실시간으로 따라오고, MCP 프로그램 없이도 브라우저에서 바로 작성할 수 있습니다.

### 추가

- **작성 중 실시간 보조** — 항목별 작성 도움말과 흔한 실수 안내, 위험요인을 넣으면 (제거·대체·공학적·관리적·보호구 순서로) 대책을 추천, 작업명·내용·조건을 넣으면 관련 위험·대책·법령·가이드를 한 번에 정리, 결재 전 문서를 미리 점검합니다.
- **브라우저에서 바로 작성** — Claude Desktop 같은 별도 프로그램 없이도 브라우저에서 안전 문서를 작성하고, 완성 본문을 파일(.md)로 내려받을 수 있습니다. (PDF로 바꾸는 방법도 안내에 추가)

### 수정

- **새벽 시간대 날짜 오류 수정** — 자정~오전 9시 사이에 쓰면 "오늘"이 어제로 잡혀 작성일·기한이 하루 어긋나던 문제를 모든 도구에서 바로잡았습니다(한국 시각 기준).
- **자연어로 입력 가능** — "사망/중상/경상", "건설/제조/서비스", "착공전/시공중/준공", "주간/월간" 같은 한국어(또는 영문) 표현을 그대로 입력해도 알아듣습니다.
- **개인정보 보호** — 현장·인원·협력사 등록 결과 화면에 사업자등록번호·대표자명이 그대로 보이던 것을 가려서 표시합니다(저장·재사용에는 원본 유지).
- **잘못된 입력 처리 개선** — 위험요인을 비워서 대책을 요청하면 조용히 빈 결과를 주던 문제를 바로잡았고, 건설 외 작업(서비스·화학공정 등)을 넣으면 "이 도구의 적용 범위 밖"이라고 안내합니다.

### 호환성 (Breaking)

- 브라우저 작성 화면 실행 명령이 `npm run mcp:demo:viewer` → `npm run mcp:viewer` 로 바뀌었습니다.
- 정적 시연용 `a2ui-demo/` 폴더는 제거되고, 그 기능은 위 브라우저 작성 화면으로 통합되었습니다.

## [1.3.1] — 2026-05-20

**npm 첫 publish 직후 patch — version 시점 정합**

v1.3.0 npm publish 후 git tag 가 가리키는 commit 과 publish 된 commit 사이의 시점 차이를 해소하고, 외부 평가 보고서를 반영한 후속 정리를 단일 release 로 묶었습니다.

### 변경 사항

- 외부 평가 보고서 (2026-05-20) 반영 — P0/P1 6건 해소
  - tool-registry.ts 의 stale 주석 ("80 도구") 을 TOOLS.length SSoT 표기로 정정
  - ensureGraphBuilt 가 buildIndex 만 호출하던 결함 → buildIndex + buildGraph 통합
  - loadArchivedDocument 의 path traversal 가드 (`..` / `/` / `\\` / 정상화 prefix 검증)
  - assemble_doc_context excerpt 가 article 전체 description 노출 → `slice(0, 500)` 발췌
  - 로컬 저장소 경로 SSoT — `src/config/paths.ts` 신규 + local-storage / trace-recorder 통합
  - link_company_key · get_company_info text content PII 기본 마스킹 + `reveal: true` 명시 옵션
- 회귀 정정 — trace-recorder 가 SAFETY_LOCAL_DIR 미반영하던 결함 해소
- .env.example · 코드 주석의 옛 이름 (`agent-safety-oss-mcp`) 잔여 정정

### 외부 사용자 영향

- npm `npm update agent-safety-oss` 또는 `npm install -g agent-safety-oss@latest` 로 즉시 받기 가능
- 입력 호환성 변화 없음 (모든 도구 동일 schema · 동일 출력 구조)
- 단 PII 기본 마스킹 도입 — `link_company_key` / `get_company_info` text 본문이 마스킹 표시. 평문 확인은 `reveal: true` 명시.

## [1.3.0] — 2026-05-19

**첫 PUBLIC release — 한국 건설안전 작성 보조 MCP**

안전관리자·현장소장이 매일·매주·매월 작성하는 19종 법정 안전관리 문서
(TBM·작업계획서·위험성평가·MSDS·작업허가서·산재조사표 등) 를 정확하고
빠르게 작성하도록 옆에서 돕는 작성 보조 MCP 서버.

### 안전관리자가 받는 실질 가치

- **88개 도구** 모두 작성 보조 직접 동작
- **1,037 KOSHA Guide 본문 번들** (offline, keyless — 인터넷 없이 가이드 발췌)
- **8개 법령 본문 번들** (산안법·시행령·시행규칙·기준규칙·중처법·중처법 시행령·위험성평가 고시·건진법 §62 영역)
- **19종 법정문서 그래프 추론 14/14** (100%)
- **도구별 결과 일관성 보장** (같은 docId 어느 도구로 호출해도 결과 같음)
- **API 키 발급 3 경로 명확화** (라텔웍스 무료 · 자체 data.go.kr · 사내 RELAY)
- **LLM 환각 차단 자동 검증** (강제 표현 시 법령 IRI 인용 자동 검증)
- **외국인 13개국어 자료 링크** (E-9 비자 노동자 안전교육)

### 5초 진입

Claude Desktop / OpenAI Codex CLI 두 host 메인 지원. `npm` 한 줄.

설정 파일에 다음 한 블록만 추가:

```json
{
  "mcpServers": {
    "agent-safety-oss": {
      "command": "npx",
      "args": ["-y", "agent-safety-oss", "serve"]
    }
  }
}
```

자세히는 [README](./README.md).

### 핵심 자료

- 88 MCP tools
- 1,037 KOSHA Guide 본문 (offline, MD 형식)
- 8개 법령 본문 (offline)
- 94 docId 마스터 + 132 form index
- 3,336 노드 운영 그래프 (작업·위험·통제·법령·문서·증빙·조치·보고)
- 19종 법정문서 양식 + 결재선 + 보존기간

### 책임 경계

본 OSS 는 **법적 강제 효력이 없는 작성 보조 도구**입니다.
작성된 양식의 법적 검토·승인·정부 제출·사고 책임은 안전관리자·현장소장에게 있습니다.

### 라이선스

- 코드: MIT
- 안전관리 법령 본문: 저작권법 §7 비보호 (자유 인용)
- KOSHA Guide 본문 (1,037건): 공공누리 출처표시·변경금지

### 제공·개발

- 주식회사 라텔웍스 (Ratelworks Inc.) — <alphamale@ratelworks.co.kr>
