agent-safety-oss 1.5.0 โ†’ 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/CHANGELOG.md +43 -200
  2. package/README.md +29 -27
  3. package/build/capability-registry.js +2 -2
  4. package/build/capability-registry.js.map +1 -1
  5. package/build/cli.js +12 -2
  6. package/build/cli.js.map +1 -1
  7. package/build/lib/api-client.js +1 -1
  8. package/build/lib/api-client.js.map +1 -1
  9. package/build/lib/article-iri-map.d.ts.map +1 -1
  10. package/build/lib/article-iri-map.js +56 -8
  11. package/build/lib/article-iri-map.js.map +1 -1
  12. package/build/lib/graph-nodes-loader.js +2 -2
  13. package/build/lib/graph-nodes-loader.js.map +1 -1
  14. package/build/lib/input-validator.js +1 -1
  15. package/build/lib/input-validator.js.map +1 -1
  16. package/build/lib/law-body-extractor.js +3 -3
  17. package/build/lib/law-body-extractor.js.map +1 -1
  18. package/build/lib/safety-laws-loader.d.ts.map +1 -1
  19. package/build/lib/safety-laws-loader.js +45 -14
  20. package/build/lib/safety-laws-loader.js.map +1 -1
  21. package/build/lib/site-profile.js +1 -1
  22. package/build/lib/site-profile.js.map +1 -1
  23. package/build/ontology/graph/nodes/activities/chemical_handling.jsonld +1 -1
  24. package/build/ontology/graph/nodes/activities/contractor_management.jsonld +1 -1
  25. package/build/ontology/graph/nodes/activities/hazardous_chemical_work.jsonld +1 -1
  26. package/build/ontology/graph/nodes/applicabilities/hazard_factor_exposed.jsonld +1 -1
  27. package/build/ontology/graph/nodes/penalties//354/202/260/354/225/210/353/262/225-/302/247167.jsonld +1 -1
  28. package/build/ontology/graph/nodes/sources/msds.jsonld +1 -1
  29. package/build/ontology/safety-laws//352/261/264/354/204/244/352/270/260/354/210/240/354/247/204/355/235/245/353/262/225-/354/213/234/355/226/211/352/267/234/354/271/231.md +45 -0
  30. package/build/ontology/safety-laws//352/261/264/354/204/244/352/270/260/354/210/240/354/247/204/355/235/245/353/262/225-/354/213/234/355/226/211/353/240/271.md +40 -0
  31. package/build/ontology/safety-laws//352/261/264/354/204/244/352/270/260/354/210/240/354/247/204/355/235/245/353/262/225.md +46 -0
  32. package/build/ontology/skeleton/skeleton.jsonld +8 -8
  33. package/build/tool-registry.js +3 -3
  34. package/build/tool-registry.js.map +1 -1
  35. package/build/tools/analyze-work-context.js +2 -2
  36. package/build/tools/analyze-work-context.js.map +1 -1
  37. package/build/tools/assemble-doc-context.d.ts.map +1 -1
  38. package/build/tools/assemble-doc-context.js +4 -1
  39. package/build/tools/assemble-doc-context.js.map +1 -1
  40. package/build/tools/generate-safety-document.d.ts.map +1 -1
  41. package/build/tools/generate-safety-document.js +106 -18
  42. package/build/tools/generate-safety-document.js.map +1 -1
  43. package/build/tools/list-core-safety-laws.js +1 -1
  44. package/build/tools/list-core-safety-laws.js.map +1 -1
  45. package/build/tools/preview-review.js +2 -2
  46. package/build/tools/preview-review.js.map +1 -1
  47. package/build/tools/query-delegation-chain.js +2 -2
  48. package/build/tools/query-delegation-chain.js.map +1 -1
  49. package/build/tools/query-legal-basis.js +1 -1
  50. package/build/tools/query-legal-basis.js.map +1 -1
  51. package/build/tools/render-a2ui-form.js +20 -20
  52. package/build/tools/render-a2ui-form.js.map +1 -1
  53. package/build/tools/request-field-help.js +2 -2
  54. package/build/tools/request-field-help.js.map +1 -1
  55. package/build/tools/review-safety-document.d.ts.map +1 -1
  56. package/build/tools/review-safety-document.js +81 -95
  57. package/build/tools/review-safety-document.js.map +1 -1
  58. package/build/tools/suggest-controls-for-hazard.js +2 -2
  59. package/build/tools/suggest-controls-for-hazard.js.map +1 -1
  60. package/build/tools/verify-safety-basis.js +1 -1
  61. package/build/tools/verify-safety-basis.js.map +1 -1
  62. package/build/viewer.d.ts +6 -0
  63. package/build/viewer.d.ts.map +1 -0
  64. package/build/viewer.js +1949 -0
  65. package/build/viewer.js.map +1 -0
  66. package/docs/ARCHITECTURE.md +89 -92
  67. package/docs/DATA_SOURCES.md +1 -1
  68. package/docs/IDENTITY.md +2 -2
  69. package/docs/INVENTORY.md +5 -3
  70. package/docs/JSONLD-AUTHORING-GUIDE.md +2 -2
  71. package/docs/OPERATIONAL-ONTOLOGY.md +1 -1
  72. package/docs/SETUP_CLAUDE_DESKTOP.md +4 -4
  73. package/docs/SETUP_CODEX.md +1 -1
  74. package/examples/README.md +6 -2
  75. package/package.json +4 -4
  76. package/README-EN.md +0 -220
package/CHANGELOG.md CHANGED
@@ -5,240 +5,83 @@ All notable changes to `agent-safety-oss` are documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
- ## [1.5.0] โ€” 2026-05-24
9
-
10
- **๐ŸŽฏ ์–‘๋ฐฉํ–ฅ ์˜จํ†จ๋กœ์ง€ ๊ทธ๋ž˜ํ”„ ํ†ตํ•ฉ โ€” ์‹ค๋ฌด ๊ฐ€์šฉ ์ˆ˜์ค€ ๋‹ฌ์„ฑ**. ์‚ฌ์šฉ์ž ๋ณธ์งˆ ๊ธฐํš ("ํŠธ๋ฆฌ โ†’ ๊ทธ๋ž˜ํ”„ โ†’ LLM ๋„๋ฉ”์ธ ์ „๋ฌธ์„ฑ ์ž๋™ ํ™œ์šฉ") ์˜ ๊ฒฐ์ •์  ์ง„์ „.
11
-
12
- ### Added โ€” 3-๋‹จ๊ณ„ ์–‘๋ฐฉํ–ฅ ๊ทธ๋ž˜ํ”„ enrichment (ADR 004)
13
-
14
- - **Stage 1** `scripts/etl/enrich-guide-legal-edges.ts` โ€” 1,039 KOSHA Guide ๋ณธ๋ฌธ ์ „์ˆ˜ ์ •๊ทœ์‹ ํŒŒ์‹ฑ โ†’ art:* IRI ๋งคํ•‘ โ†’ `legalBasis` edge ์ž๋™ ๋ฐ•์ œ. **+1,550 ์‹ ๊ทœ edge** (legalBasis ์•ฝ 400 โ†’ 1,967). dangling 0 (๊ฐ€์ง€ ์กฐ๋ฌธ 29๊ฑด skip โ€” audit:strict ํšŒ๊ท€ ์ฐจ๋‹จ).
15
- - **Stage 2** `scripts/etl/enrich-article-reverse-edges.ts` โ€” Stage 1 ๊ฒฐ๊ณผ ์—ญ๋ฐฉํ–ฅ ์ธ๋ฑ์‹ฑ โ†’ ๊ฐ art:* ๋…ธ๋“œ์˜ `legalBasisOf` edge ๋ฐ•์ œ. **+1,550 ์‹ ๊ทœ edge** / ๋ฒ•๋ น ์กฐ๋ฌธ โ†’ ๊ฐ€์ด๋“œ ๋ฐœ๊ฒฌ ๊ฐ€๋Šฅ ๋น„์œจ **0% โ†’ 29.6%** (387/1,306).
16
- - **Stage 3** `scripts/etl/enrich-document-guidedby.ts` โ€” ๋ฒ•์ •๋ฌธ์„œ 45๊ฐœ (guidedBy ๋ฏธ๋ณด์œ ) โ†” KOSHA Guide ์ž๋™ ๋งคํ•‘. legalBasis traversal (์˜๋ฏธ์  ์ •ํ™•์„ฑ) + docId ํ‚ค์›Œ๋“œ fallback. **+131 ์‹ ๊ทœ guidedBy edge** / ๋ฒ•์ •๋ฌธ์„œ guidedBy ๋ณด์œ ์œจ **53% โ†’ 100%** (51/96 โ†’ 96/96).
17
- - **Stage 4** `src/tools/assemble-doc-context.ts` ๊ฐ•ํ™” โ€” `koshaGuides` ๊ฒฐ๊ณผ ํ•„๋“œ ์‹ ์„ค. docNode.guidedBy traversal โ†’ ๊ฐ ๊ฐ€์ด๋“œ ๋ฉ”ํƒ€ (guideNo / title / category / bodyAvailable) ์ž๋™ ๋…ธ์ถœ. LLM ์ด ์ž์—ฐ์–ด ์š”์ฒญ๋งŒ์œผ๋กœ ์ ์šฉ ๊ฐ€์ด๋“œ ์ฆ‰์‹œ ๋ฐœ๊ฒฌ.
18
- - **ADR** `decisions/004-bidirectional-graph-enrichment.md` โ€” ๊ฒฐ์ •/๋Œ€์•ˆ/๊ฒฐ๊ณผ ๋ฐ•์ œ.
19
-
20
- ### Verification โ€” ์‹œ๋‚˜๋ฆฌ์˜ค๋ณ„ KOSHA Guide ์ž๋™ ๋ฐœ๊ฒฌ (assemble_doc_context ํ˜ธ์ถœ)
21
-
22
- | ์‹œ๋‚˜๋ฆฌ์˜ค (์‚ฌ์šฉ์ž ์ž์—ฐ์–ด ์š”์ฒญ ๋งคํ•‘) | ๊ฐ•ํ™” ์ „ | ๊ฐ•ํ™” ํ›„ |
23
- |---|:---:|:---:|
24
- | daily_tbm (์˜ค๋Š˜ TBM ๋งŒ๋“ค์–ด์ค˜) | 0 | **5** |
25
- | ad_hoc_risk_assessment (์ˆ˜์‹œ ์œ„ํ—˜์„ฑํ‰๊ฐ€) | 0 | **14** |
26
- | industrial_accident_report (์‚ฐ์žฌ๋ณด๊ณ ) | 0 | **4** |
27
- | ppe_register (๋ณดํ˜ธ๊ตฌ ๋Œ€์žฅ) | 0 | **5** |
28
- | monthly_education_log (์›”๊ฐ„ ๊ต์œก) | 0 | **5** |
29
-
30
- - ๊ทธ๋ž˜ํ”„ ์ด ์—ฃ์ง€: 29,730 โ†’ **32,961** (+3,231 ์‹ ๊ทœ ์˜๋ฏธ edge)
31
- - audit:strict / verify-graph: โœ… PASS (dangling 0, DAG cycle 0, critical ๋ˆ„๋ฝ 0)
32
- - mcp:test:smoke 22/22 PASS, mcp:test:graph reasoning/consistency/effect PASS
33
- - docs:check 16๊ฐœ ๋ฌธ์„œ ์ •ํ•ฉ (์ž๋™ marker ๊ฐฑ์‹ )
34
-
35
- ### Impact (์‚ฌ์šฉ์ž ๋ณธ์งˆ ๊ธฐํš ๋‹ฌ์„ฑ)
36
-
37
- - **A2UI ํผ ๋นˆ์นธ ์ž๋™ ์ฑ„์›€ 100%** โ€” ์•ˆ์ „๊ด€๋ฆฌ์ž๊ฐ€ ํผ ์—ด๋ฉด ๊ฐ€์ด๋“œ/๋ฒ•๋ น/์œ„ํ—˜/ํ†ต์ œ ๋ชจ๋‘ ์ž๋™ ํ‘œ์‹œ (CLI ๋ฏธ์ˆ™๋ จ ์‚ฌ์šฉ์ž ๋ถ€๋‹ด ํ•ด์†Œ).
38
- - **LLM ํ™˜๊ฐ ์ฐจ๋‹จ ๊ฐ•ํ™”** โ€” ๊ทธ๋ž˜ํ”„ SSoT ์—์„œ ๊ฐ€์ด๋“œ IRI ์ธ์šฉ โ†’ ์ž„์˜ ๊ฐ€์ด๋“œ๋ช… ์ƒ์„ฑ ์ฐจ๋‹จ.
39
- - **ํŠธ๋ฆฌ โ†’ ๊ทธ๋ž˜ํ”„ ๋ณ€ํ™˜ ๋ณธ์งˆ ํšจ๊ณผ ์‹คํ˜„** โ€” LLM ์ด ๋„๋ฉ”์ธ ์ „๋ฌธ์„ฑ์„ ๊ทธ๋ž˜ํ”„ traversal ๋กœ ์ž๋™ ํ™œ์šฉ.
40
-
41
- ---
42
-
43
- ## [1.4.2] โ€” 2026-05-23
44
-
45
- `inspect` CLI ์‹ ์„ค (`doctor` ์˜ ์ •์‹ ์ด๋ฆ„) + KOSHA Guide ๋ณธ๋ฌธ ์ „์ˆ˜ ํšŒ๋ณต (1,037 โ†’ 1,039) + ADR 003 Doc Drift Prevention (marker + sync-docs + docs:check + pre-commit).
46
-
47
- ### Added โ€” ADR 003 (Doc Drift Prevention)
48
-
49
- 3-Layer Defense ๋กœ 9๊ฐœ ๋ฌธ์„œ์˜ ์นด์šดํŠธ โ†” ์ฝ”๋“œ drift ๋ฅผ ๊ตฌ์กฐ์ ์œผ๋กœ ์ฐจ๋‹จ:
50
-
51
- - **L1 (์ด๋ฏธ v1.4.1)**: `docs/INVENTORY.md` ์ž๋™ ์ƒ์„ฑ. `inventory-data.ts` ๋ถ„๋ฆฌ๋กœ ์นด์šดํŠธ ์‚ฐ์ถœ ๋‹จ์ผ ์ง„์›์ง€ ํ™•๋ณด.
52
- - **L2 ์‹ ๊ทœ**: `scripts/build/sync-docs.ts` โ€” 9๊ฐœ ๋ฌธ์„œ์˜ `<!-- INV:ํ‚ค -->๊ฐ’<!-- /INV:ํ‚ค -->` marker ์˜์—ญ์„ INVENTORY ์‚ฐ์ถœ๊ฐ’์œผ๋กœ ์ž๋™ ๊ฐฑ์‹ . `npm run build` ์‹œ generate-inventory ์งํ›„ ์ž๋™ ์‹คํ–‰. (์‹ค์ œ marker ํ‚ค 13์ข…์€ `inventory-data.ts` ์˜ MARKER_MAP ์ฐธ์กฐ)
53
- - **L3 ์‹ ๊ทœ**: `scripts/build/sync-docs.ts --check` (= `npm run docs:check`) ๊ฐ€ marker ๊ฐ’๊ณผ INVENTORY ์‚ฐ์ถœ๊ฐ’์„ ๋น„๊ต โ†’ ๋ถˆ์ผ์น˜ ์‹œ exit 1.
54
- - `.githooks/pre-commit` (husky ๋ฏธ์‚ฌ์šฉ, native git hook + `prepare` script ๊ฐ€ `core.hooksPath` ์ž๋™ ์„ค์ •)
55
- - `.github/workflows/ci.yml` CI step ์ถ”๊ฐ€
56
- - `npm test` ์™€ `prepublishOnly` ์— ํฌํ•จ
57
- - **ADR**: `decisions/003-doc-drift-prevention.md` โ€” alternatives 4์ข… ๋น„๊ต ํ›„ marker ๋ฐฉ์‹ ์ฑ„ํƒ ์‚ฌ์œ  ๋ฐ•์ œ.
58
- - **marker ํ‚ค 13์ข…**: `KOSHA_BODY`/`KOSHA_META`/`KOSHA_FAILURES` ยท `TOOLS_TOTAL`/`KEYLESS`/`KEYREQ`/`PLACEHOLDER`/`ACTIVE` ยท `LAW_LAST_SYNC`/`LAW_ARTICLES` ยท `GRAPH_TOTAL`/`DOCUMENTS_TOTAL` ยท `VERSION`.
59
-
60
- ### Added โ€” `inspect` CLI
61
-
62
- - **`node build/cli.js inspect`** โ€” ์‹œ์Šคํ…œ ์ •ํ•ฉ์„ฑ ์ ๊ฒ€์˜ ์ •์‹ ๋ช…๋ น. `doctor` ๋Š” v1.4.1 backward-compat alias ๋กœ ์œ ์ง€. (`docker inspect` / `kubectl inspect` ์™€ ๊ฐ™์€ "๋‚ด๋ถ€ ๊ตฌ์กฐ ์ ๊ฒ€" ์–ดํœ˜ ์ฑ„ํƒ โ€” "doctor" ๊ฐ€ ์˜๋ฃŒ ๋ฉ”ํƒ€ํฌ๋กœ ์˜๋ฏธ๊ฐ€ ๋ถ€์ •ํ™•ํ•˜๋‹ค๋Š” ์  ์ •์ •)
63
- - **KOSHA Guide ๋ณธ๋ฌธ โ†” ๋ฉ”ํƒ€ ์ฐจ์ด ์ž๋™ ๊ฒ€์ฆ** โ€” `inspect` ์™€ `INVENTORY.md` ๊ฐ€ `src/ontology/graph/nodes/documents/guides/` (๋ฉ”ํƒ€ 1,039) ์™€ `src/ontology/kosha-guides/` (๋ณธ๋ฌธ 1,039) ์˜ ์ฐจ์ด๋ฅผ ์ž๋™ ๊ฒ€์ถœ. v1.4.2 ์—์„œ ๋ณธ๋ฌธ = ๋ฉ”ํƒ€ ์ผ์น˜ ํšŒ๋ณต.
64
- - **`scripts/audit/audit-kosha-guide-gaps.ts`** โ€” KOSHA Guide ์นดํ…Œ๊ณ ๋ฆฌ๋ณ„ ๋ฒˆํ˜ธ ์‹œํ€€์Šค ๊ฐญ ์ž๋™ audit. KOSHA ๋ฐœํ–‰ ํŒจํ„ด ์ง„๋‹จ์šฉ.
8
+ ## [1.6.0] โ€” 2026-05-30
65
9
 
66
- ### Fixed โ€” KOSHA Guide ๋ณธ๋ฌธ 2๊ฑด ํšŒ๋ณต (1,037 โ†’ 1,039)
10
+ ๋ธŒ๋ผ์šฐ์ € ์ž…๋ ฅ ํผ์„ ๋ช…๋ น์–ด ํ•œ ์ค„๋กœ ๋„์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค โ€” ์„ค์น˜๋„ ๋นŒ๋“œ๋„ ํ•„์š” ์—†์Šต๋‹ˆ๋‹ค.
67
11
 
68
- - **A-142-2018** (๋””์—ํƒ„์˜ฌ์•„๋ฏผ์— ๋Œ€ํ•œ ์ž‘์—…ํ™˜๊ฒฝ์ธก์ • ๋ถ„์„ ๊ธฐ์ˆ ์ง€์นจ) + **T-25-2021** (์‹œํ—˜๋™๋ฌผ ์กฐ์ง ์ „์ฒ˜๋ฆฌ ๋ฐ ํฌ๋งค ์ง€์นจ) ๋ณธ๋ฌธ ํšŒ๋ณต.
69
- - ํšŒ๋ณต ๋ฉ”์ปค๋‹ˆ์ฆ˜ ์ •์ •: KOSHA OneAPI 15144147 ์‘๋‹ต์˜ `fileDownloadUrl` ์ด fileOrdrNo=5 (0 bytes) ๋งŒ ๊ฐ€๋ฆฌ์ผฐ๋˜ v1.4.1 ์˜ ํ•œ๊ณ„๋ฅผ v1.4.2 ์—์„œ **๋™์ผ fileId ์˜ fileOrdrNo ์ „์ˆ˜ ์‹œ๋„** ๋กœ ํ•ด์†Œ.
70
- - A-142-2018: fileOrdrNo=4 โ†’ PDF 506KB โ†’ kordoc ๋ณ€ํ™˜ โ†’ 528 line MD
71
- - T-25-2021: fileOrdrNo=4 โ†’ HWP 26KB (KOSHA portal ์ธก PDF ์ž์ฒด๊ฐ€ 0 bytes) โ†’ kordoc HWP ๋ณ€ํ™˜ โ†’ 261 line MD
72
- - `_FAILURES.json` ํ’๋ถ€ํ™” + history ๋ฐ•์ œ (failures 0๊ฑด). v1.4.1 ์‹œ์  ๋“ฑ๋ก ์‚ฌ์œ ์™€ v1.4.2 ํ•ด์†Œ ์‚ฌ์œ  ๋ชจ๋‘ ๋ณด์กด.
12
+ ### ์ถ”๊ฐ€
73
13
 
74
- ### Fixed โ€” drift 8๊ฑด ์ž๋™ ์ •์ • (marker ์ ์šฉ ์‹œ ๋ฐœ๊ฒฌ)
14
+ - **๋ธŒ๋ผ์šฐ์ € ์ž…๋ ฅ ํผ์„ `npx` ํ•œ ์ค„๋กœ** โ€” `npx -y agent-safety-oss viewer` ๋งŒ ์ž…๋ ฅํ•˜๋ฉด ์•ˆ์ „๋ฌธ์„œ ์ž…๋ ฅ ํผ์ด ๋ธŒ๋ผ์šฐ์ €์— ๋ฐ”๋กœ ์—ด๋ฆฝ๋‹ˆ๋‹ค. ์ด์ „์—” ์†Œ์Šค๋ฅผ ๋‚ด๋ ค๋ฐ›์•„ ๋นŒ๋“œํ•ด์•ผ ํ–ˆ์ง€๋งŒ, ์ด์ œ Node.js ๋งŒ ์žˆ์œผ๋ฉด ๋ฉ๋‹ˆ๋‹ค. AI ๋น„์„œ(ClaudeยทCodex)๋‚˜ ๋ช…๋ น์–ด๊ฐ€ ์ต์ˆ™ํ•˜์ง€ ์•Š์€ ์•ˆ์ „๊ด€๋ฆฌ์žยทํ˜„์žฅ์†Œ์žฅ์„ ์œ„ํ•œ ๊ฐ€์žฅ ์‰ฌ์šด ๊ฒฝ๋กœ์ž…๋‹ˆ๋‹ค.
15
+ - **์ž๋™ ๋ธŒ๋ผ์šฐ์ € ์—ด๊ธฐ๊ฐ€ WindowsยทLinux ์—์„œ๋„ ๋™์ž‘** โ€” ํผ ํ™”๋ฉด์ด ์šด์˜์ฒด์ œ์— ๋งž๊ฒŒ ์ž๋™์œผ๋กœ ์—ด๋ฆฝ๋‹ˆ๋‹ค (์ด์ „ macOS ์ „์šฉ โ†’ ์ „ OS ์ง€์›).
75
16
 
76
- | ์œ„์น˜ | ๊ธฐ์กด | ์ •์ • |
77
- |---|---|---|
78
- | README.md "ํ‚ค ์—†์ด ๋™์ž‘ 81๊ฐœ" | 81 | 85 (TOOLS_KEYLESS) |
79
- | README.md "ํŒจํ‚ค์ง€ ๋ฒ„์ „" | 1.4.1 | 1.4.2 (VERSION) |
80
- | README-EN.md "Package version" | 1.4.1 | 1.4.2 |
81
- | README-EN.md "API key for 6 KOSHA Live tools" | 6 | 7 (TOOLS_KEYREQ) |
82
- | SECURITY.md "ํ˜„์žฌ ์•ˆ์ •ํŒ" | 1.4.1 | 1.4.2 |
83
- | SECURITY.md "KOSHA Guide ๋ฉ”ํƒ€ (1,037 ๋…ธ๋“œ)" | 1,037 | 1,039 (๋ฉ”ํƒ€ ํ‘œํ˜„์ด ๋ณธ๋ฌธ ์นด์šดํŠธ๋กœ ์ž˜๋ชป ๋ฐ•ํž˜) |
84
- | OPERATIONAL-ONTOLOGY.md "release" | v1.4.1 ยท 92 tools ยท 1,037 | ๋ชจ๋‘ marker ํ™” |
85
- | ARCHITECTURE.md "documents/guides/" | 1,037 (๋ฉ”ํƒ€์ธ๋ฐ ๋ณธ๋ฌธ ์นด์šดํŠธ) | 1,039 (๋ฉ”ํƒ€) + 1,037 (๋ณธ๋ฌธ โ€” v1.4.2 ํšŒ๋ณต ํ›„ 1,039 ์ž๋™ ๊ฐฑ์‹ ) ๋ถ„๋ฆฌ |
17
+ ### ๊ฐœ์„ 
86
18
 
87
- ํ–ฅํ›„ ๋™์ผ ์ข…๋ฅ˜ drift ๋Š” pre-commit hook + CI ๊ฐ€ ์ฐจ๋‹จ.
19
+ - ํฌํŠธ๊ฐ€ ์ด๋ฏธ ์‚ฌ์šฉ ์ค‘์ผ ๋•Œ ๋‹ค๋ฅธ ํฌํŠธ๋กœ ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•ˆ๋‚ดํ•ฉ๋‹ˆ๋‹ค.
20
+ - Claude DesktopยทCodex ์„ค์ • ๊ฐ€์ด๋“œ์˜ ์˜› ๋ฒ„์ „ ํ‘œ๊ธฐ๋ฅผ ์ •๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค.
88
21
 
89
- ### Fixed โ€” ์™ธ๋ถ€ ๊ณต๊ฐœ ๊ธฐ์ค€ ์ •๋ฐ€ audit (README/examples/docs ์ „์ˆ˜)
90
-
91
- ์ถ”๊ฐ€ ๋ฐœ๊ฒฌ๋œ stale + ์ •์ •:
92
-
93
- | ์œ„์น˜ | ๊ธฐ์กด | ์ •์ • |
94
- |---|---|---|
95
- | README.md "ํ˜„์žฌ ์ƒํƒœ: v1.4.1 npm publish" | 1.4.1 (๋‘ ๊ณณ) | `VERSION` marker (ํ˜„์žฌ๊ฐ’ ์ž๋™ ๊ฐฑ์‹ ) |
96
- | README.md "12+ source, 11๊ฐœ ๋„๊ตฌ" | 11 | 13 source (์‹ค์ธก ํ‘œ row ์ˆ˜) |
97
- | README.md "์šด์˜ ๊ทธ๋ž˜ํ”„ 3,336 ๋…ธ๋“œ / 29,642 ์—ฃ์ง€" | stale | 1๋‹จ๊ณ„ 2,212 + ์žฌ๊ท€ 3,369 (KOSHA 1,039 ํฌํ•จ) / ์—ฃ์ง€ ์•ฝ 29,730 (audit ์™€ ๋™์ผ ์‚ฐ์ถœ) |
98
- | README.md "Control 45 / WorkActivity 41 / Hazard 38" | Control 45 stale | 50 ์ •์ • + marker |
99
- | README.md "๋“ค์–ด ์žˆ๋Š” ๊ฒƒ" ์„น์…˜ 8๊ฑด ์นด์šดํŠธ | ์ผ๋ถ€ stale | ๋ชจ๋‘ marker ํ™” |
100
- | README-EN.md "Current Status" ํ‘œ 5๊ฑด | ์ผ๋ถ€ stale | DOCID_MASTER/FORMS_*/GRAPH_*/CONTROLS marker |
101
- | IDENTITY.md "89๊ฐœ MCP ๋„๊ตฌ" | 89 | `TOOLS_TOTAL` marker (๋‹น์‹œ 92) |
102
- | IDENTITY.md "Control 45๊ฐœ" | 45 | 50 marker |
103
- | IDENTITY.md "์šด์˜ ๊ทธ๋ž˜ํ”„ 3,336/29,642" | stale | 3,369 (์žฌ๊ท€) / 29,730 marker |
104
- | OPERATIONAL-ONTOLOGY.md "Full graph 3,336 / edges 29,642" | stale | 3,369 / 29,730 marker + 1๋‹จ๊ณ„ ๋ถ„๋ฆฌ ๋ช…์‹œ |
105
- | ARCHITECTURE.md "132 formIds" | ํ•˜๋“œ์ฝ”๋”ฉ | `FORMS_TOTAL` marker (๋‹น์‹œ 132) |
106
- | **examples/generate-tbm.sh, mcp-list-tools.sh, search-laws.sh** | **`agent-safety-oss-mcp`** (stale binary โ€” ์™ธ๋ถ€ ์‚ฌ์šฉ์ž 100% ์‹คํ–‰ ์‹คํŒจ) | **`npx -y agent-safety-oss`** (๊ธ€๋กœ๋ฒŒ ๋ฏธ์„ค์น˜ ํ™˜๊ฒฝ๋„ ๋™์ž‘) |
107
- | examples/README.md "89๊ฐœ ์นดํƒˆ๋กœ๊ทธ ์ถœ๋ ฅ" | stale | "ํ˜„์žฌ ์ˆ˜: docs/INVENTORY.md ์ฐธ์กฐ โ€” ์ž๋™ ์‚ฐ์ถœ" |
108
- | examples/mcp-list-tools.sh "๋„๊ตฌ 70๊ฐœ" ์ฃผ์„ | stale | INVENTORY.md ์ฐธ์กฐ ์•ˆ๋‚ด |
22
+ ## [1.5.0] โ€” 2026-05-24
109
23
 
110
- ### Added โ€” Inventory marker ํ‚ค 11์ข… ํ™•์žฅ + ์‚ฐ์ถœ SSoT ๋ถ„๋ฆฌ
24
+ ์•ˆ์ „ ๋ฌธ์„œ๋ฅผ ์ž‘์„ฑํ•˜๋ฉด ๊ด€๋ จ KOSHA ๊ฐ€์ด๋“œ์™€ ๋ฒ•๋ น ์กฐํ•ญ์ด ์ž๋™์œผ๋กœ ๋”ฐ๋ผ๋ถ™์Šต๋‹ˆ๋‹ค โ€” ์ผ์ผ์ด ์ฐพ์„ ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.
111
25
 
112
- `scripts/build/inventory-data.ts` ์‹ ์„ค โ€” `generate-inventory.ts` + `sync-docs.ts` ์–‘์ชฝ์ด ๋™์ผ ์‚ฐ์ถœ ๋กœ์ง ์‚ฌ์šฉ. ์‹ ๊ทœ marker ํ‚ค:
26
+ ### ์ถ”๊ฐ€
113
27
 
114
- - ๊ทธ๋ž˜ํ”„ ๋…ธ๋“œ (1๋‹จ๊ณ„ vs ์žฌ๊ท€ ๋ถ„๋ฆฌ): `GRAPH_TOTAL` (์žฌ๊ท€, KOSHA 1,039 ํฌํ•จ) ยท `GRAPH_TOPLEVEL` (์นดํ…Œ๊ณ ๋ฆฌ ์ง์†) ยท `GRAPH_EDGES` (audit-graph-health EDGE_PROPS 31๊ฐœ ์™€ 1:1 ์ผ์น˜)
115
- - ํ•ต์‹ฌ ๊ทธ๋ž˜ํ”„ ๊ฐ์ฒด: `GRAPH_ACTIVITIES` / `GRAPH_HAZARDS` / `GRAPH_CONTROLS`
116
- - ๋ฒ•์ •๋ฌธ์„œ: `DOCID_MASTER` (legal-duty-master.json documents ์นด์šดํŠธ)
117
- - ์–‘์‹: `FORMS_TOTAL` / `FORMS_HWP` / `FORMS_PDF` / `FORMS_XLSX` / `FORMS_MD`
118
- - ๋ฒ•๋ น: `LAW_BUNDLE_COUNT`
28
+ - **๊ฐ€์ด๋“œยท๋ฒ•๋ น ์ž๋™ ์—ฐ๊ฒฐ** โ€” ๋ฌธ์„œ(TBMยท์œ„ํ—˜์„ฑํ‰๊ฐ€ยท์‚ฐ์—…์žฌํ•ด๋ณด๊ณ  ๋“ฑ)๋ฅผ ์ž‘์„ฑํ•˜๋ฉด ๊ด€๋ จ KOSHA ์•ˆ์ „ ๊ฐ€์ด๋“œ์™€ ๋ฒ•๋ น ๊ทผ๊ฑฐ๋ฅผ ์ž๋™์œผ๋กœ ์ฐพ์•„ ๋ถ™์—ฌ์ค๋‹ˆ๋‹ค.
29
+ - **์–‘์‹ ์ž๋™ ์ฑ„์›€** โ€” ๋ฌธ์„œ ์–‘์‹์„ ์—ด๋ฉด ๊ด€๋ จ ๊ฐ€์ด๋“œยท๋ฒ•๋ นยท์œ„ํ—˜์š”์ธยท๋Œ€์ฑ…์ด ๋ฏธ๋ฆฌ ์ฑ„์›Œ์ง„ ์ƒํƒœ๋กœ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค(๋นˆ ์–‘์‹์ด ์•„๋‹ˆ๋ผ).
119
30
 
120
- `countGraphEdges` ๊ฐ€ ์ •๊ทœ์‹ ์ถ”์ • (5,164) โ†’ audit-graph-health ์™€ ๋™์ผํ•œ JSON parse + EDGE_PROPS ์นด์šดํŠธ (29,730) ๋กœ ์ •ํ™•ํ™”.
31
+ ### ๊ฐœ์„ 
121
32
 
122
- ### Verification
33
+ - **๊ทผ๊ฑฐ ์—†๋Š” ์ธ์šฉ ์ฐจ๋‹จ ๊ฐ•ํ™”** โ€” ๊ฐ€์ด๋“œยท๋ฒ•๋ น์€ ๋‚ด์žฅ ์ง€์‹์—์„œ ๊ฐ€์ ธ์˜ค๋ฏ€๋กœ, ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๊ฐ€์ด๋“œ๋ช…ยท์กฐ๋ฌธ์„ ์ง€์–ด๋‚ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
123
34
 
124
- - `inspect` ์ถœ๋ ฅ: ๋ณธ๋ฌธ 1039 ยท ๋ฉ”ํƒ€ 1039 (๋ณธ๋ฌธ = ๋ฉ”ํƒ€ ์ผ์น˜) ยท verified 14 / partial 960 / raw 65 / failed 0
125
- - TOOLS = CAPABILITY_REGISTRY = .jsonld = 92/92/92
126
- - `npm run docs:check` PASS (9๊ฐœ ๋ฌธ์„œ ์ •ํ•ฉ, 0 drift)
127
- - `npm run build` PASS (generate-inventory + sync-docs ํ†ตํ•ฉ)
128
- - pre-commit hook ์ฐจ๋‹จ ๋™์ž‘ ๊ฒ€์ฆ (drift ์‹œ๋ฎฌ๋ ˆ์ด์…˜ โ†’ exit 1 โ†’ `docs:sync` ์ž๋™ ์ •์ •)
129
- - mcp:test:smoke 29/29 PASS
35
+ ---
130
36
 
131
- ### Added
37
+ ## [1.4.2] โ€” 2026-05-23
132
38
 
133
- - **`node build/cli.js inspect`** โ€” ์‹œ์Šคํ…œ ์ •ํ•ฉ์„ฑ ์ ๊ฒ€์˜ ์ •์‹ ๋ช…๋ น. `doctor` ๋Š” v1.4.1 backward-compat alias ๋กœ ์œ ์ง€. (`docker inspect` / `kubectl inspect` ์™€ ๊ฐ™์€ "๋‚ด๋ถ€ ๊ตฌ์กฐ ์ ๊ฒ€" ์–ดํœ˜ ์ฑ„ํƒ โ€” "doctor" ๊ฐ€ ์˜๋ฃŒ ๋ฉ”ํƒ€ํฌ๋กœ ์˜๋ฏธ๊ฐ€ ๋ถ€์ •ํ™•ํ•˜๋‹ค๋Š” ์  ์ •์ •)
134
- - **KOSHA Guide ๋ณธ๋ฌธ โ†” ๋ฉ”ํƒ€ ์ฐจ์ด ์ž๋™ ๊ฒ€์ฆ** โ€” `inspect` ์™€ `INVENTORY.md` ๊ฐ€ `src/ontology/graph/nodes/documents/guides/` (๋ฉ”ํƒ€ 1,039) ์™€ `src/ontology/kosha-guides/` (๋ณธ๋ฌธ 1,037) ์˜ ์ฐจ์ด๋ฅผ ์ž๋™ ๊ฒ€์ถœํ•˜๊ณ  `_FAILURES.json` ๊ณผ์˜ ์ •ํ•ฉ๋„ ๊ฒ€์ฆ. drift ๋ฐœ์ƒ ์‹œ โš ๏ธ ๊ฒฝ๊ณ .
135
- - **`_FAILURES.json` ํ’๋ถ€ํ™”** โ€” ๋ฏธ์ˆ˜์ง‘ ๊ฐ€์ด๋“œ 2๊ฑด์˜ ์ œ๋ชฉ ยท ์นดํ…Œ๊ณ ๋ฆฌ ยท KOSHA OneAPI ์ธก ์‚ฌ์œ  ยท ์‚ฌ์šฉ์ž ์šฐํšŒ ๊ฒฝ๋กœ (KOSHA ์ž๋ฃŒ๋งˆ๋‹น ์ง์ ‘ ๊ฒ€์ƒ‰) ๋ช…์‹œ.
136
- - **`scripts/audit/audit-kosha-guide-gaps.ts`** โ€” KOSHA Guide ์นดํ…Œ๊ณ ๋ฆฌ๋ณ„ ๋ฒˆํ˜ธ ์‹œํ€€์Šค ๊ฐญ ์ž๋™ audit. KOSHA ๋ฐœํ–‰ ํŒจํ„ด ์ง„๋‹จ์šฉ.
39
+ ๋น ์กŒ๋˜ KOSHA ๊ฐ€์ด๋“œ 2๊ฑด์„ ์ฑ„์šฐ๊ณ , ๋ฌธ์„œยท์˜ˆ์ œ์˜ ์ž˜๋ชป๋œ ๋ช…๋ น์–ด๋ฅผ ๋ฐ”๋กœ์žก์•˜์Šต๋‹ˆ๋‹ค.
137
40
 
138
- ### Fixed
41
+ ### ์ถ”๊ฐ€
139
42
 
140
- - README/README-EN ์˜ KOSHA Guide ํ‘œ๊ธฐ โ€” `1,037 ๋ณธ๋ฌธ` ๋‹จ์ผ ํ‘œ๊ธฐ์—์„œ `๋ณธ๋ฌธ 1,037 + ๋ฉ”ํƒ€ 1,039 (PDF ๋ฏธ์ œ๊ณต 2๊ฑด ๋ช…์‹œ)` ๋กœ ์ •์ •. ๋ฉ”ํƒ€์™€ ๋ณธ๋ฌธ์ด ๋‹ค๋ฅด๋‹ค๋Š” ์‚ฌ์‹ค์„ ์ •์ง ๊ณต๊ฐœ.
141
- - `_FAILURES.json` ์˜ "ํ๊ธฐ ํŒ์ •" ํ‘œํ˜„ ์ •์ • โ€” ์‹ค์ œ๋Š” KOSHA OneAPI ์ธก PDF ์‘๋‹ต ๋ถ€์žฌ (๊ฐ€์ด๋“œ ์ž์ฒด๋Š” KOSHA ์ž๋ฃŒ๋งˆ๋‹น์— ์กด์žฌ). ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ๋‹ค์šด๋กœ๋“œ ๊ฐ€๋Šฅํ•œ ๊ฒฝ๋กœ ๋ช…์‹œ.
142
- - ๋ฏธ์ˆ˜์ง‘ ๊ฐ€์ด๋“œ์˜ ์‹ค์ฒด ๋ฐ•์ œ โ€” A-142-2018 "๋””์—ํƒ„์˜ฌ์•„๋ฏผ์— ๋Œ€ํ•œ ์ž‘์—…ํ™˜๊ฒฝ์ธก์ • ๋ถ„์„ ๊ธฐ์ˆ ์ง€์นจ" ยท T-25-2021 "์‹œํ—˜๋™๋ฌผ ์กฐ์ง ์ „์ฒ˜๋ฆฌ ๋ฐ ํฌ๋งค ์ง€์นจ".
43
+ - **`inspect` ๋ช…๋ น** โ€” ์„ค์น˜ํ•œ ์‹œ์Šคํ…œ์ด ์ œ๋Œ€๋กœ ๋™์ž‘ํ•˜๋Š”์ง€(๋ฒˆ๋“ค๋œ ๊ฐ€์ด๋“œยท๋ฒ•๋ นยท๋„๊ตฌ๊ฐ€ ์˜จ์ „ํ•œ์ง€) ํ•œ ๋ฒˆ์— ์ ๊ฒ€ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ์กด `doctor` ๋ช…๋ น๋„ ๊ณ„์† ์“ธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
143
44
 
144
- ### Verification
45
+ ### ์ˆ˜์ •
145
46
 
146
- - `inspect` ์ถœ๋ ฅ: ๋ณธ๋ฌธ 1037 ยท ๋ฉ”ํƒ€ 1039 (๋ณธ๋ฌธ ๋ฏธ์ˆ˜์ง‘ 2: A-142-2018, T-25-2021) โ€” `_FAILURES.json` ๋“ฑ๋ก ์™„๋ฃŒ
147
- - TOOLS = CAPABILITY_REGISTRY = .jsonld = 92/92/92
148
- - mcp:test:smoke 29/29 PASS
47
+ - **๋น ์กŒ๋˜ KOSHA ๊ฐ€์ด๋“œ 2๊ฑด ์ฑ„์›€** โ€” "๋””์—ํƒ„์˜ฌ์•„๋ฏผ์— ๋Œ€ํ•œ ์ž‘์—…ํ™˜๊ฒฝ์ธก์ • ๋ถ„์„ ๊ธฐ์ˆ ์ง€์นจ", "์‹œํ—˜๋™๋ฌผ ์กฐ์ง ์ „์ฒ˜๋ฆฌ ๋ฐ ํฌ๋งค ์ง€์นจ" ๋ณธ๋ฌธ์ด ์ด์ œ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.
48
+ - **์˜ˆ์ œ ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰ ์˜ค๋ฅ˜ ์ˆ˜์ •** โ€” ์˜ˆ์ œ(TBM ์ƒ์„ฑยท๋„๊ตฌ ๋ชฉ๋กยท๋ฒ•๋ น ๊ฒ€์ƒ‰)์— ์ ํžŒ ๋ช…๋ น์–ด๊ฐ€ ์˜› ์ด๋ฆ„์ด๋ผ ๊ทธ๋Œ€๋กœ ์‹คํ–‰ํ•˜๋ฉด ์‹คํŒจํ•˜๋˜ ๋ฌธ์ œ๋ฅผ ๋ฐ”๋กœ์žก์•˜์Šต๋‹ˆ๋‹ค.
49
+ - **๋ฌธ์„œ ํ‘œ๊ธฐ ์ •์ •** โ€” ๋ฒ„์ „ยทํ•ญ๋ชฉ ์ˆ˜ ๋“ฑ ์ผ๋ถ€ ๋ฌธ์„œ์˜ ์˜ค๋ž˜๋œ ํ‘œ๊ธฐ๋ฅผ ์‹ค์ œ ๊ฐ’์œผ๋กœ ๋งž์ท„์Šต๋‹ˆ๋‹ค.
149
50
 
150
51
  ## [1.4.1] โ€” 2026-05-22
151
52
 
152
- ์ž๋™ inventory ์ƒ์„ฑ๊ณผ doctor CLI ๋„์ž…์œผ๋กœ ๋ฌธ์„œ ์ •ํ™•๋„์™€ ์‹œ์Šคํ…œ ์ง„๋‹จ ๋Šฅ๋ ฅ ๊ฐ•ํ™”. ์นด์šดํŠธยทํ‘œํ˜„ ์ •์ • ๋ฐ ๊ฑฐ๋ฒ„๋„Œ์Šค ๋ช…์‹œ ๋™๋ฐ˜.
53
+ ์‹œ์Šคํ…œ ์ง„๋‹จ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜๊ณ , ๋ฒˆ๋“ค๋œ ๋ฒ•๋ น ๋ฒ”์œ„๋ฅผ ์ •ํ™•ํžˆ ํ‘œ๊ธฐํ–ˆ์Šต๋‹ˆ๋‹ค.
153
54
 
154
- ### Added
55
+ ### ์ถ”๊ฐ€
155
56
 
156
- - **`docs/INVENTORY.md` ์ž๋™ ์ƒ์„ฑ** (`scripts/build/generate-inventory.ts`) โ€” `npm run build` ์‹œ TOOLS ยท capability ยท KOSHA Guide ยท ๋ฒ•๋ น ์กฐ๋ฌธ ยท ์–‘์‹ ยท ๊ทธ๋ž˜ํ”„ ๋…ธ๋“œ ์นด์šดํŠธ๋ฅผ ์ฝ”๋“œ/๋ฐ์ดํ„ฐ์—์„œ ์ง์ ‘ ์‚ฐ์ถœ. ์ˆ˜๋™ ํ‘œ๊ธฐ drift ์ฐจ๋‹จ.
157
- - **`doctor` CLI ๋ช…๋ น** (`node build/cli.js doctor`) โ€” ์‹œ์Šคํ…œ ๋ฌด๊ฒฐ์„ฑ ์ง„๋‹จ. ๋„๊ตฌยทCapability SSoT ์ •ํ•ฉ / ๊ทธ๋ž˜ํ”„ ๋…ธ๋“œ / KOSHA Guide ์ถ”์ถœ ํ’ˆ์งˆ / ๋ฒ•๋ น ๋™๊ธฐํ™” stale ๊ฒฝ๊ณ  / ์‚ฌ์šฉ์ž ํ™˜๊ฒฝ (profile + API ํ‚ค) ์ ๊ฒ€. `--json` ์˜ต์…˜.
158
- - **KOSHA Guide ์ถ”์ถœ ํ’ˆ์งˆ ๋“ฑ๊ธ‰ ์ž๋™ ๋ถ„๋ฅ˜** โ€” verified / partial / raw (๋นˆ `<table>` ์ž”์žฌ ๊ธฐ์ค€).
159
- - **`SECURITY.md ยง6.1`** โ€” AgentHQ ํ‚ค vs `DATA_GO_KR_KEY` ๊ฑฐ๋ฒ„๋„Œ์Šค ์ฐจ์ด ๋น„๊ตํ‘œ + ๋ผํ…”์›์Šค relay ์šด์˜ ์ •์ฑ… 4ํ•ญ (์˜๊ตฌ ๋ณด๊ด€ X / ๋กœ๊ทธ redaction / ์ˆ˜์ตํ™” ํšŒ์ˆ˜ ์—†์Œ / ํšŒ์ˆ˜ ์‚ฌ์œ  ํ•œ์ •) ๋ช…์‹œ.
57
+ - **`doctor` ๋ช…๋ น** โ€” ์„ค์น˜ํ•œ ์‹œ์Šคํ…œ์ด ์ œ๋Œ€๋กœ ๋™์ž‘ํ•˜๋Š”์ง€(๋„๊ตฌยท๋ฒˆ๋“ค ๊ฐ€์ด๋“œยท๋ฒ•๋ น ๋™๊ธฐํ™” ์ƒํƒœยท๋‚ด ํ™˜๊ฒฝ ์„ค์ •) ์ ๊ฒ€ํ•ฉ๋‹ˆ๋‹ค.
160
58
 
161
- ### Fixed
59
+ ### ์ˆ˜์ •
162
60
 
163
- - **KOSHA Guide ๋ณธ๋ฌธ ์นด์šดํŠธ ์ •์ •** โ€” 9๊ฐœ ๋ฌธ์„œ (`README` / `CHANGELOG` / `SECURITY` / `ARCHITECTURE` / `IDENTITY` / `DATA_SOURCES` / `CONTRIBUTING` / `README-EN` / `OPERATIONAL-ONTOLOGY`) ์˜ `1,039` โ†’ ์‹ค์ธก **`1,037`** (`kosha-guides/*.md` ์ง์ ‘ ์นด์šดํŠธ + `_FAILURES.json` 2๊ฑด ๋ถ„๋ฆฌ). ํ–ฅํ›„ ์ž๋™ inventory ๊ฐ€ SSoT.
164
- - **๋ฒ•๋ น ๋ณธ๋ฌธ ํ‘œํ˜„ ์ •ํ™•ํ™”** โ€” `"์•ˆ์ „๊ด€๋ฆฌ ๋ฒ•๋ น 8๊ฐœ ๋ณธ๋ฌธ"` โ†’ `"8๊ฑด ํ•ต์‹ฌ ์กฐ๋ฌธ ๋ฐœ์ทŒ (์‚ฐ์•ˆ๋ฒ• 10์กฐ / ์‹œํ–‰๋ น 3์กฐ / ์‹œํ–‰๊ทœ์น™ 4์กฐ / ๊ธฐ์ค€๊ทœ์น™ 10์กฐ / ์ค‘์ฒ˜๋ฒ• 7์กฐ / ์ค‘์ฒ˜๋ฒ•์‹œํ–‰๋ น 13์กฐ / ์œ„ํ‰๊ณ ์‹œ 23์กฐ ์ „๋ฌธ / ๊ฑด์ง„๋ฒ• ยง62 ์˜์—ญ 4์กฐ โ€” ํ•ฉ๊ณ„ ์•ฝ 77์กฐ, ์ „์ฒด ๋ฒ•๋ น ์•„๋‹˜)"`. ์‚ฐ์•ˆ๋ฒ• 175์กฐ ไธญ 5.7% ๋งŒ ์ˆ˜๋ก์ž„์„ ๋ช…์‹œ. ๊ฐœ๋ณ„ `safety-laws/*.md` ํ—ค๋”๋Š” ์ด๋ฏธ ์ •์ง ๋ช…์‹œ, ์ตœ์ƒ์œ„ README/IDENTITY ๋งŒ ์ •์ •.
165
- - **๋ผ์ด์„ ์Šค placeholder ๋„๊ตฌ ๋ช…์‹œ** โ€” `search_sif_archive` / `list_construction_subtasks` ๊ฐ€ ๊ณต๊ณต๋ˆ„๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ ๋ผ์ด์„ ์Šค ์ค€์ˆ˜์šฉ ์˜๋„๋œ placeholder ์ž„์„ INVENTORY ์™€ README 5์ดˆ ์ง„์ž… ์นด๋“œ์— ๋ช…์‹œ. **์‹ค์งˆ ํ™œ์„ฑ ๋„๊ตฌ 90** (92 = 85 keyless + 7 ํ‚ค ํ•„์š” + 2 placeholder).
166
- - **npm publish ์ƒํƒœ ์•ˆ๋‚ด ๊ฐฑ์‹ ** โ€” `README` / `README-EN` / `SETUP_CLAUDE_DESKTOP` ์˜ "publish ์ „ (E404)" / "not yet published" ํ‘œํ˜„ ์ œ๊ฑฐ. publish ์™„๋ฃŒ ์ƒํƒœ ๋ฐ˜์˜.
167
-
168
- ### Verification
169
-
170
- - `mcp:test:smoke` 29/29 PASS
171
- - `test-active-graph-authoring-loop` 25/25 PASS
172
- - `doctor` ์ถœ๋ ฅ: TOOLS = CAPABILITY_REGISTRY = .jsonld = 92/92/92 ยท ๊ทธ๋ž˜ํ”„ 2,212 ยท KOSHA 1,037 (verified 14 ยท partial 958 ยท raw 65 ยท failed 2) ยท ๋ฒ•๋ น ์ตœ์‹  2026-05-18
173
- - INVENTORY.md ์ž๋™ ์ƒ์„ฑ (133 lines) โ€” `npm run build` ์‹œ ์ž๋™
61
+ - **๋ฒˆ๋“ค ๋ฒ•๋ น ๋ฒ”์œ„ ์ •ํ™•ํ™”** โ€” "๋ฒ•๋ น 8๊ฐœ ๋ณธ๋ฌธ" ํ‘œํ˜„์„ "8๊ฐœ ๋ฒ•๋ น์˜ ํ•ต์‹ฌ ์กฐ๋ฌธ ๋ฐœ์ทŒ"๋กœ ๋ฐ”๋กœ์žก์•˜์Šต๋‹ˆ๋‹ค. ์‚ฐ์—…์•ˆ์ „๋ณด๊ฑด๋ฒ• ๋“ฑ์˜ ์ „์ฒด ์กฐ๋ฌธ์ด ์•„๋‹ˆ๋ผ ์•ˆ์ „๊ด€๋ฆฌ ์‹ค๋ฌด์— ํ•„์š”ํ•œ ํ•ต์‹ฌ ์กฐํ•ญ๋งŒ ๋ฐœ์ทŒํ•ด ๋‹ด์•˜๋‹ค๋Š” ์ ์„ ๋ถ„๋ช…ํžˆ ํ–ˆ์Šต๋‹ˆ๋‹ค.
62
+ - **ํ•ญ๋ชฉ ์ˆ˜ ํ‘œ๊ธฐ ์ •์ •** โ€” ๋ฒˆ๋“ค๋œ KOSHA ๊ฐ€์ด๋“œยท๋„๊ตฌ ์ˆ˜ ๋“ฑ ์ผ๋ถ€ ๋ฌธ์„œ์˜ ์˜ค๋ž˜๋œ ํ‘œ๊ธฐ๋ฅผ ์‹ค์ œ ๊ฐ’์œผ๋กœ ๋งž์ท„์Šต๋‹ˆ๋‹ค.
63
+ - **์„ค์น˜ ์•ˆ๋‚ด ๊ฐฑ์‹ ** โ€” npm ๊ณต๊ฐœ ์™„๋ฃŒ์— ๋งž์ถฐ "์•„์ง ๊ณต๊ฐœ ์ „" ๊ฐ™์€ ์˜› ์•ˆ๋‚ด๋ฅผ ์ œ๊ฑฐํ–ˆ์Šต๋‹ˆ๋‹ค.
174
64
 
175
65
  ## [1.4.0] โ€” 2026-05-21
176
66
 
177
- **Active Graph Authoring Loop + a2ui-demo โ†’ viewer ๊ฒฉ์ƒ + ์‚ฌ์šฉ์ž onboarding ์ด์Šˆ 5๊ฑด fix**
178
-
179
- ๋ณธ ๋ฆด๋ฆฌ์Šค๋Š” ADR 002 (Active Graph Authoring Loop) ๋„์ž…๊ณผ ADR 001 (viewer ๊ฒฉ์ƒ) ์„ ํ•œ ๋ฒˆ์— ๋ฌถ๊ณ , ์ฒซ publish ์งํ›„ ๋ฐœ๊ฒฌ๋œ ์‚ฌ์šฉ์ž onboarding ์ด์Šˆ 5๊ฑด์„ ํ•จ๊ป˜ ํ•ด์†Œํ•œ๋‹ค.
180
-
181
- ### Added โ€” Active Graph Authoring Loop (ADR 002)
182
-
183
- **A2UI โ†” LLM โ†” Graph ์˜ ๋Šฅ๋™ ๋ฃจํ”„** ๋„์ž…. ์‚ฌ์šฉ์ž ์ž…๋ ฅ์ด LLM ์˜ ๋„๊ตฌ ์ฒด์ด๋‹์„ trigger ํ•˜๊ณ , ๊ฒฐ๊ณผ๊ฐ€ `updateComponents` ๋กœ ํผ์— ๋™์  push ๋˜๋Š” ์ž‘์„ฑ ๋ณด์กฐ ํŒจํ„ด.
184
-
185
- ์‹ ๊ทœ MCP ๋„๊ตฌ 4์ข… (์ด 88 โ†’ 92):
186
- - `request_field_help` โ€” ํ•„๋“œ ๋‹จ์œ„ ๋™์  ๋„์›€๋ง (inputGuideยทexamplesยทcheckPoints + `_meta.writingGuide.fieldHints`/`commonMistakes`/`bestPractices` ๊ฒฐ์ •๋ก  ์กฐ๋ฆฝ). `currentValue` ๊ฐ€ ์žˆ์œผ๋ฉด ์ถ”์ƒ๋ช…์‚ฌยท์„œ๋ช… ๋ˆ„๋ฝ ๋“ฑ ํŒจํ„ด ์ผ์น˜ ๊ฒฝ๊ณ .
187
- - `suggest_controls_for_hazard` โ€” ์œ„ํ—˜์š”์ธ ์ž…๋ ฅ โ†’ ERIC-PP ์œ„๊ณ„ (์ œ๊ฑฐยท๋Œ€์ฒดยท๊ณตํ•™ยท๊ด€๋ฆฌยทPPE) ์ •๋ ฌ ํ†ต์ œ๋Œ€์ฑ… ์ถ”์ฒœ (`mitigatedBy` ๊ทธ๋ž˜ํ”„ traversal).
188
- - `analyze_work_context` โ€” ์ž‘์—…๋ช…ยท๋‚ด์šฉยท์กฐ๊ฑด ์ž…๋ ฅ โ†’ ์œ„ํ—˜ยทํ†ต์ œยท๋ฒ•๋ นยทKOSHA Guide ์ข…ํ•ฉ ์ปจํ…์ŠคํŠธ. `workConditions.depthM`/`heightM`/`confinedSpace` ๋“ฑ ์กฐ๊ฑด ๊ธฐ๋ฐ˜ ยง38ยทยง42ยทยง618 ์ ์šฉ์„ฑ ๋ฃฐ ์ž๋™ ๋ฐœ๋™.
189
- - `preview_review` โ€” ์ž‘์„ฑ ์ค‘ ๋ถ€๋ถ„ ๊ฒ€ํ†  (`scope: all|required-only|hallucination-only`). ์ตœ์ข… `review_safety_document` ์™€ ์ง๊ต โ€” ๊ฐ€๋“œ๋ ˆ์ผ vs ๊ฒฐ์žฌ ์ง์ „ ๊ฒ€์ฆ.
190
-
191
- `render_a2ui_form` ๊ฐ•ํ™”:
192
- - info-card ์— ๊ทธ๋ž˜ํ”„ ์ปจํ…์ŠคํŠธ inline (hazards/controls/relatedDocs/legalArticles/koshaGuides)
193
- - `_meta.writingGuide.commonMistakes`/`bestPractices` ๋ฅผ ์‹ ๊ทœ `guide-card` ๋กœ ๋…ธ์ถœ
194
- - ํ•„๋“œ๋ณ„ `checkPoints` + `fieldHints` ๋™์‹œ ํ‘œ์‹œ (๋ผ๋ฒจ ์ •๊ทœํ™” ํ›„ ์–‘๋ฐฉํ–ฅ substring ๋งค์นญ)
195
- - actions Row ์— 6 ์•ก์…˜ ๋ฒ„ํŠผ โ€” analyze/controls/help/preview-review/assemble/submit
196
-
197
- ๋ฌธ์„œยท์ธํ”„๋ผ:
198
- - `decisions/002-active-graph-authoring-loop.md` โ€” ADR ๋ฐ•์ œ
199
- - `.specs/in-progress/2026-05-21-active-graph-authoring-loop.md` โ€” EARS ์š”๊ตฌ์‚ฌํ•ญยท๋””์ž์ธยทํƒœ์Šคํฌ
200
- - `scripts/test/test-active-graph-authoring-loop.ts` โ€” ํ†ตํ•ฉ ์‹œ๋‚˜๋ฆฌ์˜ค (daily_tbm + work_plan_excavation + ๊ทธ๋ž˜ํ”„ SSoT ์ผ๊ด€์„ฑ) 25 checks PASS
201
-
202
- ### Added โ€” viewer ๊ฒฉ์ƒ (ADR 001)
203
-
204
- ๋ฐ๋ชจ ์œ„์น˜์— ์žˆ๋˜ A2UI ํผ viewer ๋ฅผ ์šด์˜ ์ž์›์œผ๋กœ ๊ฒฉ์ƒ. ๋น„-๊ฐœ๋ฐœ์ž ์•ˆ์ „๊ด€๋ฆฌ์ž๊ฐ€ MCP host (Claude Desktop / Codex / MCP Inspector) ์—†์ด๋„ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ง์ ‘ ์‚ฌ์šฉ ๊ฐ€๋Šฅ.
205
-
206
- - ๋ณธ๋ฌธ ์ƒ์„ฑ ํ›„ **MD ํŒŒ์ผ ๋‹ค์šด๋กœ๋“œ** ๋ฒ„ํŠผ (`{docId}-{YYYY-MM-DD}.md`) โ€” ์˜์กด์„ฑ 0 (Blob URL ๋งŒ ์‚ฌ์šฉ)
207
- - `decisions/001-a2ui-viewer-promotion.md` โ€” ADR ํ‘œ์ค€ ๋„์ž…
208
- - `.specs/` ๋””๋ ‰ํ† ๋ฆฌ โ€” phase gate spec (`plans/` โ†’ `in-progress/` โ†’ `executed/`)
209
- - `render_a2ui_form` ๋„๊ตฌ description / nextActions ์— viewer ๊ฐ€ ๋™๊ธ‰ A2UI ํ˜ธํ™˜ ํด๋ผ์ด์–ธํŠธ๋กœ ๋“ฑ์žฌ
210
-
211
- ### Added โ€” CLI DX ๊ฐ•ํ™” (Issue #4)
212
-
213
- - `node build/cli.js tools --with-schema` โ€” ๊ฐ ๋„๊ตฌ์˜ `inputSchema` (properties ยท required ยท type ยท enum ยท description) JSON ์ถœ๋ ฅ
214
- - `node build/cli.js tools describe <toolName>` โ€” ๋‹จ์ผ ๋„๊ตฌ ์ƒ์„ธ (์ธํ„ฐ๋ž™ํ‹ฐ๋ธŒ ํ˜•์‹ + ํ˜ธ์ถœ ์˜ˆ์‹œ ์ž๋™ ์ƒ์„ฑ)
215
- - `tools` ์‚ฌ๋žŒ ๊ฐ€๋… ์ถœ๋ ฅ์— ๊ฐ ๋„๊ตฌ **ํ•„์ˆ˜ ํ•„๋“œ ํ•œ ์ค„** ์ถ”๊ฐ€
216
- - ์˜์กด์„ฑ 0 ์œ ์ง€ โ€” `zod-to-json-schema` ๋ฏธ์‚ฌ์šฉ, `src/lib/schema-introspection.ts` ์ž์ฒด ๋ณ€ํ™˜
67
+ ๋ฌธ์„œ๋ฅผ ์ฑ„์›Œ๊ฐ€๋Š” ๋™์•ˆ ํ•„์š”ํ•œ ๋„์›€๋งยท์œ„ํ—˜์š”์ธ ๋Œ€์ฑ…ยท๊ฒ€ํ† ๊ฐ€ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋”ฐ๋ผ์˜ค๊ณ , MCP ํ”„๋กœ๊ทธ๋žจ ์—†์ด๋„ ๋ธŒ๋ผ์šฐ์ €์—์„œ ๋ฐ”๋กœ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
217
68
 
218
- ### Fixed
69
+ ### ์ถ”๊ฐ€
219
70
 
220
- - **Issue #3** โ€” CLI `--key "value"` ๋”ฐ์˜ดํ‘œ string ์ด ์ž๋™ number coerce ๋˜์–ด Zod `z.string()` ๊ฑฐ๋ถ€๋˜๋˜ ํšŒ๊ท€. `src/lib/schema-introspection.ts` ๊ฐ€ inputSchema ์˜ expected type (`string`/`number`/`boolean`/`array`/`object`/`enum`) ์„ ์ถ”์ถœ, `parseKeyValueArgs` ๊ฐ€ ํ‚ค๋ณ„๋กœ coerce ๊ฒฐ์ •. ์˜ˆ: `--industryCode "41"` ์€ ์ด์ œ string `"41"` ๋กœ ๋ณด์กด๋จ.
221
- - **Issue #5** โ€” `get_incident_response_workflow` ์˜ `dueAt` ์ด UTC ์ž์ • ํŒŒ์‹ฑ์œผ๋กœ KST(+09:00) ๋Œ€๋น„ 9์‹œ๊ฐ„ ๋นจ๋ผ์ง€๋˜ ํšŒ๊ท€. ๋ชจ๋“  ์ผ์ž ์‚ฐ์ˆ ์„ `+09:00` ๊ธฐ์ค€์œผ๋กœ ๋ช…์‹œ + `2026-05-21 00:30 KST` ํ˜•์‹์œผ๋กœ ๋ช…์‹œ ํ‘œ์‹œ. ํ˜ธ์ถœ ์‹œ๊ฐ fallback ๋„ `kstToday()` ๋กœ KST ๊ธฐ์ค€ ๊ณ„์‚ฐ.
222
- - **Issue #5 lateral** โ€” ๊ฐ™์€ KST/UTC ํšŒ๊ท€๊ฐ€ ๋ฐ•ํ˜€ ์žˆ๋˜ **8๊ณณ ์ผ๊ด„ fix**. `src/lib/datetime-kst.ts` ๊ณตํ†ต ์œ ํ‹ธ ์‹ ์„ค (`kstToday`/`kstAddDays`/`kstDayDiff`/`parseKstDate`/`formatKstDate`/`kstIsoNow`). ์ ์šฉ์ฒ˜: `list_upcoming_duties` (asOf + ๋‚ด์ผ fallback), `get_retention_status` (asOf), `generate_safety_document` (planDate fallback), `site-profile` (compileDate auto-fill), `input-validator` (TODAY ๋ชจ๋“ˆ ์ƒ์ˆ˜), `master-loader.computeNextDueDate` (compileDate + P{N}{D|M|Y} ์‚ฐ์ˆ ), `trace-recorder` (ํ™œ๋™ ๋กœ๊ทธ ์ผ์ž), `local-storage.timestamp` (๋ณด๊ด€ timestamp ํŒŒ์ผ๋ช…). KST ์ƒˆ๋ฒฝ 0~9์‹œ ํ˜ธ์ถœ ์‹œ "์˜ค๋Š˜"์ด ์–ด์ œ๋กœ ์ž˜๋ชป ์‚ฐ์ •๋˜๋˜ ํšŒ๊ท€๊ฐ€ ๋ชจ๋“  ์‹œ๊ฐ„ ์˜์กด ๋„๊ตฌ์—์„œ ํ•ด์†Œ๋จ.
223
- - **Issue #6** โ€” enum/ํ•„๋“œ๋ช… ์ž์—ฐ์–ด alias ๋ฏธ์ง€์›. `src/lib/input-aliases.ts` ์˜ `aliasedEnum` / `withFieldAliases` ํ—ฌํผ ๋„์ž…. `severity: fatality|death|์‚ฌ๋ง โ†’ fatal`, `critical|major|์ค‘์ƒ โ†’ serious`, `light|slight|๊ฒฝ์ƒ โ†’ minor` ์˜๋ฌธยทํ•œ๊ตญ์–ด alias ์ง€์›. `field_safety_briefing` ๋„ `topic`/`workName`/`์ž‘์—…๋ช…` ๋“ฑ์„ `workOrTopic` ์œผ๋กœ ์ž๋™ ์ •๊ทœํ™”.
224
- - **Issue #6 lateral** โ€” ๊ฐ™์€ ํŒจํ„ด์ด ์‚ฌ์šฉ์ž ์ง„์ž…์  4๊ณณ์— ์ถ”๊ฐ€ ๋ฐ•ํž˜ โ€” ์ผ๊ด„ alias ํ™•๋Œ€. `INDUSTRY_ALIASES` (๊ฑด์„ค/๊ฑด์ถ•/ํ† ๋ชฉ/์ œ์กฐ/๊ณต์žฅ/์„œ๋น„์Šค/๊ธฐํƒ€ + ์˜๋ฌธ ๋ณ€ํ˜•) ๊ฐ€ `assess_my_obligations.industry` + `query_applicability.industry` ์— ์ ์šฉ. `STAGE_ALIASES` (์ฐฉ๊ณต์ „/์‚ฌ์ „/์‹œ๊ณต์ค‘/์ง„ํ–‰/์ค€๊ณต/์™„๊ณต + before/during/after) ๊ฐ€ `get_construction_stage_duties.stage` ์— ์ ์šฉ. `PERIOD_ALIASES` (์ฃผ/์ฃผ๊ฐ„/๋งค์ฃผ/์›”/์›”๊ฐ„/๋งค์›”) ๊ฐ€ `generate_safety_report.period` + `list_safety_reports.period` ์— ์ ์šฉ.
225
- - **Issue #7** โ€” `register_site`/`register_person`/`register_contractor` ์‘๋‹ต ํ…์ŠคํŠธ์— ์‚ฌ์—…์ž๋“ฑ๋ก๋ฒˆํ˜ธยท๋Œ€ํ‘œ์ž๋ช… ํ‰๋ฌธ ๋…ธ์ถœ. `src/lib/pii-masking.ts` ์‹ ์„ค โ€” ํ‘œ์‹œ์šฉ text ๋งŒ ๋งˆ์Šคํ‚น (`***-**-67890` / `J*** D**`), `structuredContent` ๋Š” ํ‰๋ฌธ ์œ ์ง€ (ํŒŒ์ผ ์ €์žฅยท์žฌํ˜ธ์ถœ์šฉ). `get_site_profile` ์ถœ๋ ฅ์—๋„ ์ผ๊ด„ ์ ์šฉ. (โ€ป `company-key-tools` ๋Š” ์ด๋ฏธ ์ž์ฒด `reveal=true` ๋งˆ์Šคํ‚น ๋ฉ”์ปค๋‹ˆ์ฆ˜ ๋ณด์œ  โ€” lateral ์ ๊ฒ€ ๊ฒฐ๊ณผ ์ถ”๊ฐ€ ์ž‘์—… ๋ถˆํ•„์š”.)
226
- - **๊ฒฐํ•จ #1 (๋ฆด๋ฆฌ์ฆˆ ์ „ ์ ๊ฒ€)** โ€” `suggest_controls_for_hazard` ๊ฐ€ ๋นˆ ๋ฌธ์ž์—ด / whitespace ์ž…๋ ฅ์— silent fail (isError ๋ฏธ์„ค์ •, ๊ฒฐ๊ณผ ์—†์Œ). ๋ช…์‹œ์  ๊ฑฐ๋ถ€ + `error: "empty_hazard"` + nextActions ์•ˆ๋‚ด.
227
- - **๊ฒฐํ•จ #2 (๋ฆด๋ฆฌ์ฆˆ ์ „ ์ ๊ฒ€)** โ€” `analyze_work_context` ๊ฐ€ ๋„๋ฉ”์ธ ์™ธ ์ž…๋ ฅ (์„œ๋น„์Šค/์ œ์กฐ/ํ™”ํ•™๊ณต์ • ๋“ฑ) ์—๋„ docId ์˜ ๊ธฐ๋ณธ hazard/control ์„ ๋ฐ˜ํ™˜ํ•ด ์‚ฌ์šฉ์ž๊ฐ€ ๋น„-๊ฑด์„ค ์ž‘์—…์— ๊ฑด์„ค ๋งคํ•‘์„ ์ ์šฉํ•  ์œ„ํ—˜. `domainBoundary` ์‹œ๊ทธ๋„ ์‹ ์„ค โ€” `scope.json` excluded ํ‚ค์›Œ๋“œ ๊ฐ์ง€ + `matchedActivities + matchedWorktypes` ๋ชจ๋‘ 0 ์ผ ๋•Œ ์‘๋‹ต ์ƒ๋‹จ์— โš ๏ธ ๋„๋ฉ”์ธ ๊ฒฝ๊ณ„ ์•ˆ๋‚ด + `structuredContent.domainBoundary` ๋…ธ์ถœ.
71
+ - **์ž‘์„ฑ ์ค‘ ์‹ค์‹œ๊ฐ„ ๋ณด์กฐ** โ€” ํ•ญ๋ชฉ๋ณ„ ์ž‘์„ฑ ๋„์›€๋ง๊ณผ ํ”ํ•œ ์‹ค์ˆ˜ ์•ˆ๋‚ด, ์œ„ํ—˜์š”์ธ์„ ๋„ฃ์œผ๋ฉด (์ œ๊ฑฐยท๋Œ€์ฒดยท๊ณตํ•™์ ยท๊ด€๋ฆฌ์ ยท๋ณดํ˜ธ๊ตฌ ์ˆœ์„œ๋กœ) ๋Œ€์ฑ…์„ ์ถ”์ฒœ, ์ž‘์—…๋ช…ยท๋‚ด์šฉยท์กฐ๊ฑด์„ ๋„ฃ์œผ๋ฉด ๊ด€๋ จ ์œ„ํ—˜ยท๋Œ€์ฑ…ยท๋ฒ•๋ นยท๊ฐ€์ด๋“œ๋ฅผ ํ•œ ๋ฒˆ์— ์ •๋ฆฌ, ๊ฒฐ์žฌ ์ „ ๋ฌธ์„œ๋ฅผ ๋ฏธ๋ฆฌ ์ ๊ฒ€ํ•ฉ๋‹ˆ๋‹ค.
72
+ - **๋ธŒ๋ผ์šฐ์ €์—์„œ ๋ฐ”๋กœ ์ž‘์„ฑ** โ€” Claude Desktop ๊ฐ™์€ ๋ณ„๋„ ํ”„๋กœ๊ทธ๋žจ ์—†์ด๋„ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์•ˆ์ „ ๋ฌธ์„œ๋ฅผ ์ž‘์„ฑํ•˜๊ณ , ์™„์„ฑ ๋ณธ๋ฌธ์„ ํŒŒ์ผ(.md)๋กœ ๋‚ด๋ ค๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (PDF๋กœ ๋ฐ”๊พธ๋Š” ๋ฐฉ๋ฒ•๋„ ์•ˆ๋‚ด์— ์ถ”๊ฐ€)
228
73
 
229
- ### Breaking
230
- - npm script `mcp:demo:viewer` โ†’ `mcp:viewer` ๋กœ ๋ณ€๊ฒฝ
231
- - `a2ui-demo/` ํด๋” ์ œ๊ฑฐ โ€” JSONL ์ •์  ์‹œ์—ฐ ๊ธฐ๋Šฅ์€ ์šด์˜ viewer (`npm run mcp:viewer`) ๋กœ ํ†ตํ•ฉ
232
- - `scripts/dev/demo-a2ui-viewer.ts` โ†’ `scripts/dev/viewer-server.ts` ๋กœ ๋ฆฌ๋„ค์ž„
74
+ ### ์ˆ˜์ •
233
75
 
234
- ### Documentation
235
- - README / README-EN โ€” viewer ๋ณธ๊ฒฉ ์‚ฌ์šฉ๋ฒ• + PDF ๋ณ€ํ™˜ ๊ฐ€์ด๋“œ (Pandoc / ํ•œ์ปด์˜คํ”ผ์Šค / Typora ์•ˆ๋‚ด)
236
- - `viewer-server.ts` ์ฃผ์„ โ€” ๋ฐ๋ชจ ํ‘œํ˜„ ์ œ๊ฑฐ, ์šด์˜ ์œ„์น˜ ๋ช…์‹œ
237
- - README badge `tools` 88 โ†’ 92
76
+ - **์ƒˆ๋ฒฝ ์‹œ๊ฐ„๋Œ€ ๋‚ ์งœ ์˜ค๋ฅ˜ ์ˆ˜์ •** โ€” ์ž์ •~์˜ค์ „ 9์‹œ ์‚ฌ์ด์— ์“ฐ๋ฉด "์˜ค๋Š˜"์ด ์–ด์ œ๋กœ ์žกํ˜€ ์ž‘์„ฑ์ผยท๊ธฐํ•œ์ด ํ•˜๋ฃจ ์–ด๊ธ‹๋‚˜๋˜ ๋ฌธ์ œ๋ฅผ ๋ชจ๋“  ๋„๊ตฌ์—์„œ ๋ฐ”๋กœ์žก์•˜์Šต๋‹ˆ๋‹ค(ํ•œ๊ตญ ์‹œ๊ฐ ๊ธฐ์ค€).
77
+ - **์ž์—ฐ์–ด๋กœ ์ž…๋ ฅ ๊ฐ€๋Šฅ** โ€” "์‚ฌ๋ง/์ค‘์ƒ/๊ฒฝ์ƒ", "๊ฑด์„ค/์ œ์กฐ/์„œ๋น„์Šค", "์ฐฉ๊ณต์ „/์‹œ๊ณต์ค‘/์ค€๊ณต", "์ฃผ๊ฐ„/์›”๊ฐ„" ๊ฐ™์€ ํ•œ๊ตญ์–ด(๋˜๋Š” ์˜๋ฌธ) ํ‘œํ˜„์„ ๊ทธ๋Œ€๋กœ ์ž…๋ ฅํ•ด๋„ ์•Œ์•„๋“ฃ์Šต๋‹ˆ๋‹ค.
78
+ - **๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ** โ€” ํ˜„์žฅยท์ธ์›ยทํ˜‘๋ ฅ์‚ฌ ๋“ฑ๋ก ๊ฒฐ๊ณผ ํ™”๋ฉด์— ์‚ฌ์—…์ž๋“ฑ๋ก๋ฒˆํ˜ธยท๋Œ€ํ‘œ์ž๋ช…์ด ๊ทธ๋Œ€๋กœ ๋ณด์ด๋˜ ๊ฒƒ์„ ๊ฐ€๋ ค์„œ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค(์ €์žฅยท์žฌ์‚ฌ์šฉ์—๋Š” ์›๋ณธ ์œ ์ง€).
79
+ - **์ž˜๋ชป๋œ ์ž…๋ ฅ ์ฒ˜๋ฆฌ ๊ฐœ์„ ** โ€” ์œ„ํ—˜์š”์ธ์„ ๋น„์›Œ์„œ ๋Œ€์ฑ…์„ ์š”์ฒญํ•˜๋ฉด ์กฐ์šฉํžˆ ๋นˆ ๊ฒฐ๊ณผ๋ฅผ ์ฃผ๋˜ ๋ฌธ์ œ๋ฅผ ๋ฐ”๋กœ์žก์•˜๊ณ , ๊ฑด์„ค ์™ธ ์ž‘์—…(์„œ๋น„์Šคยทํ™”ํ•™๊ณต์ • ๋“ฑ)์„ ๋„ฃ์œผ๋ฉด "์ด ๋„๊ตฌ์˜ ์ ์šฉ ๋ฒ”์œ„ ๋ฐ–"์ด๋ผ๊ณ  ์•ˆ๋‚ดํ•ฉ๋‹ˆ๋‹ค.
238
80
 
239
- ### Rationale
81
+ ### ํ˜ธํ™˜์„ฑ (Breaking)
240
82
 
241
- ๋ณธ์งˆ ์šฐ์„ ์ˆœ์œ„ (์‚ฌ์šฉ์ž ํ™ฉ๋ฃก 2026-05-21 ๋ช…์‹œ): **(1) ์˜จํ†จ๋กœ์ง€ ๊ทธ๋ž˜ํ”„ ๊ธฐ๋ฐ˜ ์ž‘์„ฑ ๋ณด์กฐ์™€ ๊ฐ€์ด๋“œ๋ผ์ธ (2) ์™„์„ฑ ๋ฌธ์„œ ๊ฒ€ํ†  (3) A2UI ๊ฐ€ ์ž‘์„ฑ์ž์—๊ฒŒ ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ๋Šฅ๋™์ ์œผ๋กœ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋„๋ก LLM ๊ณผ ์—ฐ๊ฒฐ**. ADR 002 ๊ฐ€ ์„ธ ๋ณธ์งˆ์„ ๋™์‹œ ์ถฉ์กฑ. ADR 001 ์˜ viewer ๊ฒฉ์ƒ์€ 14,000 ์•ˆ์ „๊ด€๋ฆฌ์ž (SAM 5,400์‚ฌ) ๋„๋‹ฌ โ€” Agent_HQ PHILOSOPHY ยง9 ์˜ Human fallback / ์ง์› ์—ญํ•  ํ•ญ๋ชฉ ํ•ด์†Œ. ์ด์Šˆ 5๊ฑด fix ๋Š” npm ์ฒซ publish ํ›„ ์‚ฌ์šฉ์ž onboarding ๋งˆ์ฐฐ ์ง์ ‘ ํ•ด์†Œ.
83
+ - ๋ธŒ๋ผ์šฐ์ € ์ž‘์„ฑ ํ™”๋ฉด ์‹คํ–‰ ๋ช…๋ น์ด `npm run mcp:demo:viewer` โ†’ `npm run mcp:viewer` ๋กœ ๋ฐ”๋€Œ์—ˆ์Šต๋‹ˆ๋‹ค.
84
+ - ์ •์  ์‹œ์—ฐ์šฉ `a2ui-demo/` ํด๋”๋Š” ์ œ๊ฑฐ๋˜๊ณ , ๊ทธ ๊ธฐ๋Šฅ์€ ์œ„ ๋ธŒ๋ผ์šฐ์ € ์ž‘์„ฑ ํ™”๋ฉด์œผ๋กœ ํ†ตํ•ฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
242
85
 
243
86
  ## [1.3.1] โ€” 2026-05-20
244
87
 
package/README.md CHANGED
@@ -5,12 +5,12 @@
5
5
  [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](./LICENSE)
6
6
  [![Node](https://img.shields.io/badge/node-%3E%3D20.19-brightgreen)](https://nodejs.org)
7
7
  [![MCP](https://img.shields.io/badge/MCP-1.x-purple)](https://modelcontextprotocol.io)
8
- [![Release](https://img.shields.io/badge/release-v1.5.0-blue.svg)](./CHANGELOG.md)
8
+ [![Release](https://img.shields.io/badge/release-v1.6.0-blue.svg)](./CHANGELOG.md)
9
9
  [![Tools](https://img.shields.io/badge/MCP%20tools-92-orange.svg)](./docs/IDENTITY.md)
10
10
 
11
11
  **๊ฑด์„คํ˜„์žฅ์˜ ๋ฒ•์ • ์•ˆ์ „๋ฌธ์„œ ์ž‘์„ฑ์„ ๋” ๋น ๋ฅด๊ณ  ์ •ํ™•ํ•˜๊ฒŒ.** ์‚ฐ์•ˆ๋ฒ•ยท๊ธฐ์ค€๊ทœ์น™ยท์ค‘์ฒ˜๋ฒ•ยทKOSHA ๊ธฐ์ˆ ์ง€์›๊ทœ์ •(๊ฐ€์ด๋“œ)์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์•ˆ์ „๊ด€๋ฆฌ์ž์™€ ํ˜„์žฅ์†Œ์žฅ์˜ ๋ฌธ์„œ ์ž‘์„ฑ๊ณผ ๊ฒ€ํ† ๋ฅผ ๋•๋Š” ์˜คํ”ˆ์†Œ์Šค ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.
12
12
 
13
- [English](./README-EN.md) ยท [์ •์ฒด์„ฑ](./docs/IDENTITY.md) ยท [Claude Desktop ์„ค์ •](./docs/SETUP_CLAUDE_DESKTOP.md) ยท [Codex CLI ์„ค์ •](./docs/SETUP_CODEX.md) ยท [๊ธฐ์ˆ  ์ƒ์„ธ (์šด์˜ ์˜จํ†จ๋กœ์ง€)](./docs/OPERATIONAL-ONTOLOGY.md)
13
+ [์ •์ฒด์„ฑ](./docs/IDENTITY.md) ยท [Claude Desktop ์„ค์ •](./docs/SETUP_CLAUDE_DESKTOP.md) ยท [Codex CLI ์„ค์ •](./docs/SETUP_CODEX.md) ยท [๊ธฐ์ˆ  ์ƒ์„ธ (์šด์˜ ์˜จํ†จ๋กœ์ง€)](./docs/OPERATIONAL-ONTOLOGY.md)
14
14
 
15
15
  ---
16
16
 
@@ -33,7 +33,7 @@
33
33
  | ์˜์—ญ | ๋‚ด์šฉ |
34
34
  |---|---|
35
35
  | **<!-- INV:DOCUMENTS_TOTAL -->19<!-- /INV:DOCUMENTS_TOTAL -->์ข… ๋ฒ•์ • ์•ˆ์ „๊ด€๋ฆฌ ๋ฌธ์„œ** | TBM ยท ์ž‘์—…๊ณ„ํš์„œ ยท ์œ„ํ—˜์„ฑํ‰๊ฐ€ ยท MSDS ยท ์‚ฐ์žฌ์กฐ์‚ฌํ‘œ ๋“ฑ ๋งค์ผยท๋งค์ฃผยท๋งค์›” ์ž‘์„ฑํ•˜๋Š” ์–‘์‹ |
36
- | **๋ฒ•๋ น <!-- INV:LAW_BUNDLE_COUNT -->8<!-- /INV:LAW_BUNDLE_COUNT -->๊ฑด ํ•ต์‹ฌ ์กฐ๋ฌธ** | ์‚ฐ์•ˆ๋ฒ• ยท ์‹œํ–‰๋ น ยท ์‹œํ–‰๊ทœ์น™ ยท ๊ธฐ์ค€๊ทœ์น™ ยท ์ค‘์ฒ˜๋ฒ• ยท ์œ„ํ—˜์„ฑํ‰๊ฐ€ ๊ณ ์‹œ ๋“ฑ ํ•ฉ๊ณ„ <!-- INV:LAW_ARTICLES -->76<!-- /INV:LAW_ARTICLES -->์กฐ (์ „์ฒด 1,310์กฐ ์ค‘ ๊ฑด์„ค์•ˆ์ „ ์‹ค๋ฌด ํ•ต์‹ฌ๋งŒ ๋ฐœ์ทŒ. ์ „์ฒด ๋ฒ•๋ น์€ [๋ฒ•์ œ์ฒ˜](https://www.law.go.kr) ์ง์ ‘ ์ฐธ์กฐ) |
36
+ | **๋ฒ•๋ น <!-- INV:LAW_BUNDLE_COUNT -->10<!-- /INV:LAW_BUNDLE_COUNT -->๊ฑด ํ•ต์‹ฌ ์กฐ๋ฌธ** | ์‚ฐ์•ˆ๋ฒ• ยท ์‹œํ–‰๋ น ยท ์‹œํ–‰๊ทœ์น™ ยท ๊ธฐ์ค€๊ทœ์น™ ยท ์ค‘์ฒ˜๋ฒ• ยท ์ค‘์ฒ˜๋ฒ• ์‹œํ–‰๋ น ยท ์œ„ํ—˜์„ฑํ‰๊ฐ€ ๊ณ ์‹œ ยท ๊ฑด์ง„๋ฒ• ๋“ฑ ํ•ฉ๊ณ„ <!-- INV:LAW_ARTICLES -->76<!-- /INV:LAW_ARTICLES -->์กฐ (์ „์ฒด 1,310์กฐ ์ค‘ ๊ฑด์„ค์•ˆ์ „ ์‹ค๋ฌด ํ•ต์‹ฌ๋งŒ ๋ฐœ์ทŒ. ์ „์ฒด ๋ฒ•๋ น์€ [๋ฒ•์ œ์ฒ˜](https://www.law.go.kr) ์ง์ ‘ ์ฐธ์กฐ) |
37
37
  | **KOSHA ๊ธฐ์ˆ ์ง€์›๊ทœ์ • (๊ฐ€์ด๋“œ) <!-- INV:KOSHA_BODY -->1,039<!-- /INV:KOSHA_BODY -->๊ฑด** | ํ•œ๊ตญ์‚ฐ์—…์•ˆ์ „๋ณด๊ฑด๊ณต๋‹จ ๋ฐœํ–‰ ๊ธฐ์ˆ ์ง€์นจ ์ „์ฒด ๋ณธ๋ฌธ (์ธํ„ฐ๋„ท ์—†์ด ์ฆ‰์‹œ ๊ฒ€์ƒ‰ยท์ธ์šฉ) |
38
38
  | **์–‘์‹ <!-- INV:FORMS_TOTAL -->132<!-- /INV:FORMS_TOTAL -->๊ฐœ** | ๊ณ ์šฉ๋…ธ๋™๋ถ€ยทKOSHA ๊ณต์‹ HWP / PDF / XLSX ์›๋ณธ + ์ž๋™ ์ƒ์„ฑ Markdown ์–‘์‹ |
39
39
  | **์œ„ํ—˜ยทํ†ต์ œ ์ •๋ณด๋ง** | ์ž‘์—… โ†’ ์œ„ํ—˜์š”์ธ โ†’ ํ†ต์ œ๋Œ€์ฑ… โ†’ ๋ฒ•๋ น ๊ทผ๊ฑฐ โ†’ ๋ฌธ์„œ ์ž๋™ ์—ฐ๊ฒฐ ("์˜๋ฏธ ์—ฐ๊ฒฐ๋ง" โ€” ์ž์„ธํžˆ๋Š” [๊ธฐ์ˆ  ์ƒ์„ธ](./docs/OPERATIONAL-ONTOLOGY.md)) |
@@ -48,7 +48,7 @@
48
48
  |---|---|:---:|
49
49
  | **Claude Desktop / OpenAI Codex CLI ์ด๋ฏธ ์“ฐ๋Š” ๋ถ„** (๊ฐœ๋ฐœ์ž ยท IT ์ต์ˆ™) | ์•„๋ž˜ "5์ดˆ ์ง„์ž…" ์นด๋“œ ๊ทธ๋Œ€๋กœ ๋ณต์‚ฌ โ†’ AI ๋น„์„œ๊ฐ€ ๋ณธ ๋„๊ตฌ ํ˜ธ์ถœ | โญ 5์ดˆ |
50
50
  | **AI ๋น„์„œ๊ฐ€ ๋ญ”์ง€ ๋ชจ๋ฅด๋Š” ๋ถ„** (์•ˆ์ „๊ด€๋ฆฌ์ž ยท ํ˜„์žฅ์†Œ์žฅ) | [๐Ÿ“– Claude Desktop ์„ค์ • ๊ฐ€์ด๋“œ](./docs/SETUP_CLAUDE_DESKTOP.md) โ†’ ๊ทธ๋ฆผ ๋”ฐ๋ผํ•˜๊ธฐ | โญโญ 5๋ถ„ |
51
- | **๋ธŒ๋ผ์šฐ์ € ํผ๋งŒ ์“ฐ๊ณ  ์‹ถ์€ ๋ถ„** (CLI ์•ˆ ์ต์ˆ™) | `npm install -g agent-safety-oss && agent-safety-oss serve` โ†’ ๋ณ„๋„ viewer ์‹คํ–‰ โ†’ ํผ ํ™”๋ฉด์—์„œ ์ž…๋ ฅ โ†’ ๋ณธ๋ฌธ ์ž๋™ ์ƒ์„ฑ โ†’ MD ๋‹ค์šด๋กœ๋“œ (์•„๋ž˜ "A2UI ํผ" ์„น์…˜ ์ฐธ๊ณ ) | โญโญโญ 10๋ถ„ |
51
+ | **๋ธŒ๋ผ์šฐ์ € ํผ๋งŒ ์“ฐ๊ณ  ์‹ถ์€ ๋ถ„** (AI ๋น„์„œยทCLI ๋ชจ๋‘ ๋ถˆํ•„์š”) | `npx -y agent-safety-oss viewer` ํ•œ ์ค„ โ†’ ๋ธŒ๋ผ์šฐ์ €์— ์ž…๋ ฅ ํผ ์ž๋™ ํ‘œ์‹œ โ†’ ๋นˆ ์นธ๋งŒ ์ฑ„์šฐ๋ฉด ๋ณธ๋ฌธ ์ž๋™ ์ƒ์„ฑ โ†’ MD ๋‹ค์šด๋กœ๋“œ (์•„๋ž˜ "๋ธŒ๋ผ์šฐ์ € ์ž…๋ ฅ ํผ" ์„น์…˜) | โญ 10์ดˆ |
52
52
 
53
53
  ---
54
54
 
@@ -203,20 +203,18 @@ archive_safety_document
203
203
 
204
204
  > **CLI(๋ช…๋ น์–ด ์ž…๋ ฅ)๊ฐ€ ์ต์ˆ™ํ•˜์ง€ ์•Š์€ ์•ˆ์ „๊ด€๋ฆฌ์žยทํ˜„์žฅ์†Œ์žฅ์ด ๊ฐ€์žฅ ํŽธํ•˜๊ฒŒ ์“ฐ๋Š” ๋ฐฉ๋ฒ•.** ๋ธŒ๋ผ์šฐ์ € ํ™”๋ฉด์— ์ž…๋ ฅ ์–‘์‹์ด ๋œจ๊ณ , ๋ฒ•๋ น ๊ทผ๊ฑฐยทKOSHA ๊ฐ€์ด๋“œยท์œ„ํ—˜์š”์ธยทํ†ต์ œ๋Œ€์ฑ…์ด ๋ฏธ๋ฆฌ ์ฑ„์›Œ์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ๋นˆ ์นธ๋งŒ ์ฑ„์šฐ๋ฉด ๊ฒฐ์žฌ ๊ฐ€๋Šฅํ•œ ๋ฌธ์„œ๊ฐ€ ์ž๋™ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.
205
205
 
206
- ์„ค์น˜ ๋ฐ ์‹คํ–‰ (์•ˆ์ „๊ด€๋ฆฌ์ž๊ฐ€ ํ•œ ๋ฒˆ๋งŒ):
206
+ ์‹คํ–‰ โ€” **ํ•œ ์ค„์ด๋ฉด ๋ฉ๋‹ˆ๋‹ค** (์„ค์น˜ยท๋นŒ๋“œยทgit clone ๋ชจ๋‘ ๋ถˆํ•„์š”):
207
207
 
208
208
  ```bash
209
- # 1. Node.js 20.19+ ์„ค์น˜ (https://nodejs.org)
210
- # 2. ๋ณธ ๋„๊ตฌ ์„ค์น˜ + ๋นŒ๋“œ
211
- npm install -g agent-safety-oss
212
- git clone https://github.com/ratelworks/agent-safety-oss.git
213
- cd agent-safety-oss
214
- npm install && npm run build
215
- # 3. ๋ธŒ๋ผ์šฐ์ € ์ž…๋ ฅ ํผ ์‹œ์ž‘
216
- npm run mcp:viewer
209
+ # Node.js 20.19+ ๋งŒ ๋ฏธ๋ฆฌ ์„ค์น˜ (https://nodejs.org). ๊ทธ ์™ธ ์ค€๋น„ ์—†์Œ.
210
+ npx -y agent-safety-oss viewer
217
211
  # โ†’ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ž๋™์œผ๋กœ http://localhost:5174 ์—ด๋ฆผ
212
+ # (์ž๋™์œผ๋กœ ์•ˆ ์—ด๋ฆฌ๋ฉด ์œ„ ์ฃผ์†Œ๋ฅผ ๋ธŒ๋ผ์šฐ์ € ์ฃผ์†Œ์ฐฝ์— ์ง์ ‘ ์ž…๋ ฅ)
213
+ # ๋‹ค๋ฅธ ํฌํŠธ๋กœ ์—ด๋ ค๋ฉด: PORT=5180 npx -y agent-safety-oss viewer
218
214
  ```
219
215
 
216
+ > ์†Œ์Šค๋ฅผ ์ง์ ‘ ๋ฐ›์•„ ๊ฐœ๋ฐœยท์ˆ˜์ •ํ•˜๋Š” ๊ฒฝ์šฐ์—” `git clone` ํ›„ `npm install && npm run build && npm run mcp:viewer` ๋กœ๋„ ๊ฐ™์€ ํ™”๋ฉด์ด ๋œน๋‹ˆ๋‹ค.
217
+
220
218
  ๋ธŒ๋ผ์šฐ์ €์—์„œ ๋ณด์ด๋Š” ํ™”๋ฉด:
221
219
 
222
220
  1. **ํผ ์ข…๋ฅ˜ ์„ ํƒ** (TBM ํšŒ์˜๋ก / ๊ตด์ฐฉ ์ž‘์—…๊ณ„ํš์„œ / ์ •๊ธฐ ์œ„ํ—˜์„ฑํ‰๊ฐ€ / MSDS ๋น„์น˜๋Œ€์žฅ ๋“ฑ <!-- INV:DOCUMENTS_TOTAL -->19<!-- /INV:DOCUMENTS_TOTAL -->์ข…)
@@ -235,13 +233,11 @@ npm run mcp:viewer
235
233
 
236
234
  ## ๋น ๋ฅธ ์‹œ์ž‘
237
235
 
238
- Node.js 20.19 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜ ๋‘ ํŠธ๋ž™ ์ค‘ ๋ณธ์ธ ํ™˜๊ฒฝ์— ๋งž๋Š” ๊ฒƒ์„ ์„ ํƒํ•˜์„ธ์š”.
239
-
240
- ### Track A โ€” Claude Desktop ์‚ฌ์šฉ์ž (์•ˆ์ „๊ด€๋ฆฌ์žยทํ˜„์žฅ์†Œ์žฅ ๊ถŒ์žฅ)
236
+ Node.js 20.19 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์œ„ "์–ด๋–ป๊ฒŒ ์‹œ์ž‘ํ•˜๋‚˜?" ํ‘œ์˜ ์„ธ ๊ฒฝ๋กœ์— ๋งž์ถฐ ๊ณ ๋ฅด์„ธ์š”.
241
237
 
242
- ์œ„ "5์ดˆ ์ง„์ž…" ์นด๋“œ ์ฐธ๊ณ . `npx` ๊ฐ€ ์ž๋™์œผ๋กœ ํŒจํ‚ค์ง€๋ฅผ ๋ฐ›์•„ ์‹คํ–‰ํ•˜๋ฏ€๋กœ ๋ณ„๋„ ์„ค์น˜ ๋ช…๋ น์ด ํ•„์š” ์—†์Šต๋‹ˆ๋‹ค.
238
+ ### A. AI ๋น„์„œ (Claude Desktop ยท OpenAI Codex CLI) โ€” ์•ˆ์ „๊ด€๋ฆฌ์žยทํ˜„์žฅ์†Œ์žฅ ๊ถŒ์žฅ
243
239
 
244
- ์†Œ์Šค ๋นŒ๋“œ๋ณธ์„ ์ง์ ‘ ์—ฐ๊ฒฐํ•  ๋•Œ๋Š” ๋‹ค์Œ์ฒ˜๋Ÿผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
240
+ ์œ„ "5์ดˆ ์ง„์ž…" ์นด๋“œ์˜ ์„ค์ • ํ•œ ๋ธ”๋ก์ด๋ฉด ๋์ž…๋‹ˆ๋‹ค (`npx` ๊ฐ€ ํŒจํ‚ค์ง€๋ฅผ ์ž๋™์œผ๋กœ ๋ฐ›์•„ ์‹คํ–‰ โ†’ ๋ณ„๋„ ์„ค์น˜ ๋ถˆํ•„์š”). ์†Œ์Šค ๋นŒ๋“œ๋ณธ์„ ์ง์ ‘ ์—ฐ๊ฒฐํ•  ๋•Œ๋Š”:
245
241
 
246
242
  ```json
247
243
  {
@@ -254,12 +250,18 @@ Node.js 20.19 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜ ๋‘ ํŠธ๋ž™ ์ค‘ ๋ณธ์ธ ํ™˜๊ฒฝ์—
254
250
  }
255
251
  ```
256
252
 
257
- ### Track B โ€” ํ„ฐ๋ฏธ๋„ / CI / ๊ฐœ๋ฐœ์ž
253
+ ### B. ๋ธŒ๋ผ์šฐ์ € ์ž…๋ ฅ ํผ โ€” AI ๋น„์„œยทCLI ์—†์ด
254
+
255
+ ```bash
256
+ npx -y agent-safety-oss viewer # ๋ธŒ๋ผ์šฐ์ €์— ์ž…๋ ฅ ํผ ์ž๋™ ํ‘œ์‹œ (์œ„ "๋ธŒ๋ผ์šฐ์ € ์ž…๋ ฅ ํผ" ์„น์…˜)
257
+ ```
258
+
259
+ ### C. ํ„ฐ๋ฏธ๋„ ยท CI ยท ๊ฐœ๋ฐœ์ž
258
260
 
259
- > **ํ˜„์žฌ ์ƒํƒœ**: v<!-- INV:VERSION -->1.5.0<!-- /INV:VERSION --> npm publish ์™„๋ฃŒ (`npm view agent-safety-oss version` โ†’ `<!-- INV:VERSION -->1.5.0<!-- /INV:VERSION -->`). ์•„๋ž˜ ๋‘ ๊ฒฝ๋กœ ๋ชจ๋‘ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.
261
+ npm ์— publish ๋˜์–ด ์žˆ์–ด ๋ณ„๋„ ์„ค์น˜ ์—†์ด `npx` ๋กœ ๋ฐ”๋กœ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค (์„ค์น˜๋œ ์ตœ์‹  ๋ฒ„์ „์€ `npm view agent-safety-oss version` ์œผ๋กœ ํ™•์ธ).
260
262
 
261
263
  ```bash
262
- # ๊ถŒ์žฅ โ€” npm publish ๋ณธ (์ฆ‰์‹œ ์‹คํ–‰)
264
+ # npm publish ๋ณธ (์ฆ‰์‹œ ์‹คํ–‰)
263
265
  npx -y agent-safety-oss tools
264
266
  npx -y agent-safety-oss serve
265
267
  # ๋˜๋Š” ์ „์—ญ ์„ค์น˜
@@ -295,10 +297,10 @@ CLI ์‚ฌ์šฉ ์˜ˆ์‹œ๋Š” [`examples/`](./examples/) ํด๋”์˜ `mcp-list-tools.sh`, `
295
297
  | KOSHA OneAPI 15116595 | ๊ณต์ข… โ†” KOSHA Guide ๋งคํ•‘ | `analyze_construction_work_risks` (fallback) |
296
298
  | KOSHA OneAPI 15140383 | SIF ์•„์นด์ด๋ธŒ (์‚ฌ๋ง ๊ณ ์œ„ํ—˜์š”์ธ) | `search_sif_archive` |
297
299
  | KOSHA portal24 | ์•ˆ์ „๋ณด๊ฑด์ž๋ฃŒ์‹ค 8,976๊ฑด (OPSยท๋™์˜์ƒยท๊ต์•ˆ) | `search_kosha_archive` ยท `list_kosha_archive_facets` ยท `get_kosha_archive_files` |
298
- | ๋ฒ•์ œ์ฒ˜ OpenAPI (law.go.kr) | ์•ˆ์ „๊ด€๋ฆฌ ๋ฒ•๋ น 8๊ฑด ํ•ต์‹ฌ ์กฐ๋ฌธ ๋ฐœ์ทŒ (์ „๋ฌธ ์•„๋‹˜) | (offline ๋ฒˆ๋“ค + ํ–ฅํ›„ ๋™์  ํ™•์žฅ) |
300
+ | ๋ฒ•์ œ์ฒ˜ OpenAPI (law.go.kr) | ์•ˆ์ „๊ด€๋ฆฌ ๋ฒ•๋ น 10๊ฑด ํ•ต์‹ฌ ์กฐ๋ฌธ ๋ฐœ์ทŒ (์ „๋ฌธ ์•„๋‹˜) | (offline ๋ฒˆ๋“ค + ํ–ฅํ›„ ๋™์  ํ™•์žฅ) |
299
301
 
300
302
  **ํ‚ค ์—†์ด ์ฆ‰์‹œ ๋™์ž‘ โ€” <!-- INV:TOOLS_KEYLESS -->85<!-- /INV:TOOLS_KEYLESS -->๊ฐœ ๋„๊ตฌ**:
301
- - <!-- INV:LAW_BUNDLE_COUNT -->8<!-- /INV:LAW_BUNDLE_COUNT --> ๋ฒ•๋ น ๋ณธ๋ฌธ ๋ฒˆ๋“ค ๊ฒ€์ƒ‰ (`search_safety_laws`, `get_safety_law_article`, `list_core_safety_laws`)
303
+ - <!-- INV:LAW_BUNDLE_COUNT -->10<!-- /INV:LAW_BUNDLE_COUNT --> ๋ฒ•๋ น ๋ณธ๋ฌธ ๋ฒˆ๋“ค ๊ฒ€์ƒ‰ (`search_safety_laws`, `get_safety_law_article`, `list_core_safety_laws`)
302
304
  - <!-- INV:KOSHA_BODY -->1,039<!-- /INV:KOSHA_BODY --> KOSHA Guide ๋ณธ๋ฌธ offline ์กฐํšŒ (`get_kosha_guide_md`)
303
305
  - ๊ทธ๋ž˜ํ”„ traversal (`assemble_doc_context`, `generate_safety_document`, `review_safety_document`)
304
306
  - 19์ข… ๋ฒ•์ •๋ฌธ์„œ ์ž‘์„ฑ ๋ณด์กฐ (์œ„ํ—˜์„ฑํ‰๊ฐ€ยท์ž‘์—…๊ณ„ํš์„œยทTBMยทMSDSยท์ž‘์—…ํ—ˆ๊ฐ€์„œ ๋“ฑ)
@@ -327,7 +329,7 @@ CLI ์‚ฌ์šฉ ์˜ˆ์‹œ๋Š” [`examples/`](./examples/) ํด๋”์˜ `mcp-list-tools.sh`, `
327
329
 
328
330
  #### ํ–ฅํ›„ ์ถ”๊ฐ€ ๊ฐ€๋Šฅ ๊ณต๊ณต ๋ฐ์ดํ„ฐ
329
331
 
330
- ๋ณธ OSS ๋Š” ํ˜„์žฌ 12+ source ๋ฅผ ํ†ตํ•ฉํ–ˆ์œผ๋‚˜, ๋‹ค์Œ ๊ณต๊ณต ๋ฐ์ดํ„ฐ๋„ ๊ทธ๋ž˜ํ”„ ํ†ตํ•ฉ ํ›„๋ณด์ž…๋‹ˆ๋‹ค (contributor ํ™˜์˜):
332
+ ๋ณธ OSS ๋Š” ํ˜„์žฌ 13 source ๋ฅผ ํ†ตํ•ฉํ–ˆ์œผ๋‚˜, ๋‹ค์Œ ๊ณต๊ณต ๋ฐ์ดํ„ฐ๋„ ๊ทธ๋ž˜ํ”„ ํ†ตํ•ฉ ํ›„๋ณด์ž…๋‹ˆ๋‹ค (contributor ํ™˜์˜):
331
333
 
332
334
  - **๋ฒ•์ œ์ฒ˜ OpenAPI** ๋™์  ํ™•์žฅ (์•ˆ์ „ ์™ธ ์ธ์ ‘ ๋ฒ•๋ น โ€” ์‚ฐ์—…์•ˆ์ „๊ธฐ์ค€์— ๊ด€ํ•œ ๊ทœ์น™ ์™ธ)
333
335
  - **KOSHA-MS** ์•ˆ์ „๋ณด๊ฑด๊ฒฝ์˜์‹œ์Šคํ…œ ์ธ์ฆ ์‚ฌ์—…์žฅ ๋ช…๋ถ€
@@ -458,14 +460,14 @@ generate_safety_report
458
460
 
459
461
  ## ๋“ค์–ด ์žˆ๋Š” ๊ฒƒ
460
462
 
461
- - ํŒจํ‚ค์ง€ ๋ฒ„์ „: <!-- INV:VERSION -->1.5.0<!-- /INV:VERSION -->
462
- - MCP ๋„๊ตฌ: <!-- INV:TOOLS_TOTAL -->92<!-- /INV:TOOLS_TOTAL -->๊ฐœ (keyless <!-- INV:TOOLS_KEYLESS -->85<!-- /INV:TOOLS_KEYLESS --> ยท ํ‚ค ํ•„์š” <!-- INV:TOOLS_KEYREQ -->7<!-- /INV:TOOLS_KEYREQ --> ยท ๋ผ์ด์„ ์Šค placeholder <!-- INV:TOOLS_PLACEHOLDER -->2<!-- /INV:TOOLS_PLACEHOLDER -->)
463
+ - ํŒจํ‚ค์ง€ ๋ฒ„์ „: <!-- INV:VERSION -->1.6.0<!-- /INV:VERSION -->
464
+ - MCP ๋„๊ตฌ: <!-- INV:TOOLS_TOTAL -->92<!-- /INV:TOOLS_TOTAL -->๊ฐœ = ํ‚ค ์—†์ด ๋ฐ”๋กœ ์“ฐ๋Š” <!-- INV:TOOLS_KEYLESS -->85<!-- /INV:TOOLS_KEYLESS -->๊ฐœ + ๊ณต๊ณต API ํ‚ค ํ•„์š” <!-- INV:TOOLS_KEYREQ -->7<!-- /INV:TOOLS_KEYREQ -->๊ฐœ (๊ทธ์ค‘ <!-- INV:TOOLS_PLACEHOLDER -->2<!-- /INV:TOOLS_PLACEHOLDER -->๊ฐœ๋Š” ๊ณต๊ณต๋ˆ„๋ฆฌ ๋ผ์ด์„ ์Šค ์‚ฌ์œ ๋กœ ๋‹ค์šด๋กœ๋“œ URL ์•ˆ๋‚ด๋งŒ ํ•˜๋Š” placeholder)
463
465
  - 19์ข… ๋ฒ•์ • ์•ˆ์ „๊ด€๋ฆฌ ๋ฌธ์„œ: <!-- INV:DOCUMENTS_TOTAL -->19<!-- /INV:DOCUMENTS_TOTAL --> (TBMยท์ž‘์—…๊ณ„ํš์„œยท์œ„ํ—˜์„ฑํ‰๊ฐ€ยทMSDSยท์‚ฐ์žฌ์กฐ์‚ฌํ‘œ ๋“ฑ)
464
466
  - ๋ฒ•์ •์˜๋ฌด ๋ฌธ์„œ ๋งˆ์Šคํ„ฐ (`legal-duty-master.json`): <!-- INV:DOCID_MASTER -->94<!-- /INV:DOCID_MASTER --> docId (19์ข… + ์‚ฌ์ดํดยท๋ฒ”์œ„ยท๋ฐœ์ฃผ์ฒ˜๋ณ„ ๋ณ€ํ˜•)
465
467
  - ์–‘์‹ ์ธ๋ฑ์Šค (`forms-map.json`): <!-- INV:FORMS_TOTAL -->132<!-- /INV:FORMS_TOTAL --> formId โ€” HWP <!-- INV:FORMS_HWP -->14<!-- /INV:FORMS_HWP --> / PDF <!-- INV:FORMS_PDF -->23<!-- /INV:FORMS_PDF --> / XLSX <!-- INV:FORMS_XLSX -->1<!-- /INV:FORMS_XLSX --> (๊ณต์‹ ์–‘์‹) + ์ž๋™ ์ƒ์„ฑ MD <!-- INV:FORMS_MD -->94<!-- /INV:FORMS_MD -->๊ฐœ. HWP/PDF/XLSX ์ค‘ ์ผ๋ถ€๋Š” ๋ผ์ด์„ ์Šค์ƒ ๊ณต์‹ ๋‹ค์šด๋กœ๋“œ URL ์•ˆ๋‚ด๋กœ ๋Œ€์ฒด.
466
468
  - ๊ทธ๋ž˜ํ”„ ๋…ธ๋“œ: ์นดํ…Œ๊ณ ๋ฆฌ 1๋‹จ๊ณ„ <!-- INV:GRAPH_TOPLEVEL -->2,212<!-- /INV:GRAPH_TOPLEVEL --> + KOSHA Guide 1,039 (์„œ๋ธŒ๋””๋ ‰ํ† ๋ฆฌ ํฌํ•จ ์žฌ๊ท€) = ์ „์ฒด **<!-- INV:GRAPH_TOTAL -->3,369<!-- /INV:GRAPH_TOTAL -->** ยท ์—ฃ์ง€ ์•ฝ <!-- INV:GRAPH_EDGES -->32,963<!-- /INV:GRAPH_EDGES --> (์ •ํ™• ์นด์šดํŠธ๋Š” `npm run audit:strict`)
467
469
  - ํ•ต์‹ฌ ์ž‘์—…/์œ„ํ—˜/ํ†ต์ œ: WorkActivity <!-- INV:GRAPH_ACTIVITIES -->41<!-- /INV:GRAPH_ACTIVITIES --> / Hazard <!-- INV:GRAPH_HAZARDS -->38<!-- /INV:GRAPH_HAZARDS --> / Control <!-- INV:GRAPH_CONTROLS -->50<!-- /INV:GRAPH_CONTROLS -->
468
- - ๋ฒ•๋ น ๋ณธ๋ฌธ ๋ฒˆ๋“ค: **<!-- INV:LAW_BUNDLE_COUNT -->8<!-- /INV:LAW_BUNDLE_COUNT -->๊ฐœ MD** โ€” ์‚ฐ์•ˆ๋ฒ•ยท์‹œํ–‰๋ นยท์‹œํ–‰๊ทœ์น™ยท๊ธฐ์ค€๊ทœ์น™ยท์ค‘์ฒ˜๋ฒ•ยท์ค‘์ฒ˜๋ฒ• ์‹œํ–‰๋ นยท์œ„ํ—˜์„ฑํ‰๊ฐ€ ๊ณ ์‹œยท๊ฑด์ง„๋ฒ• ยง62 ์˜์—ญ (ํ•ฉ๊ณ„ ์•ฝ <!-- INV:LAW_ARTICLES -->76<!-- /INV:LAW_ARTICLES -->์กฐ). ๋งˆ์ง€๋ง‰ ๋™๊ธฐํ™”: <!-- INV:LAW_LAST_SYNC -->2026-05-18<!-- /INV:LAW_LAST_SYNC --> (`src/ontology/safety-laws/*.md`)
470
+ - ๋ฒ•๋ น ๋ณธ๋ฌธ ๋ฒˆ๋“ค: **<!-- INV:LAW_BUNDLE_COUNT -->10<!-- /INV:LAW_BUNDLE_COUNT -->๊ฐœ MD** โ€” ์‚ฐ์•ˆ๋ฒ•ยท์‹œํ–‰๋ นยท์‹œํ–‰๊ทœ์น™ยท๊ธฐ์ค€๊ทœ์น™ยท์ค‘์ฒ˜๋ฒ•ยท์ค‘์ฒ˜๋ฒ• ์‹œํ–‰๋ นยท์œ„ํ—˜์„ฑํ‰๊ฐ€ ๊ณ ์‹œยท๊ฑด์ง„๋ฒ•ยท๊ฑด์ง„๋ฒ• ์‹œํ–‰๋ นยท๊ฑด์ง„๋ฒ• ์‹œํ–‰๊ทœ์น™ (ํ•ฉ๊ณ„ ์•ฝ <!-- INV:LAW_ARTICLES -->76<!-- /INV:LAW_ARTICLES -->์กฐ). ๋งˆ์ง€๋ง‰ ๋™๊ธฐํ™”: <!-- INV:LAW_LAST_SYNC -->2026-05-18<!-- /INV:LAW_LAST_SYNC --> (`src/ontology/safety-laws/*.md`)
469
471
 
470
472
  ## (๊ธฐ์ˆ  ์ƒ์„ธ) ์˜จํ†จ๋กœ์ง€ ์„ค๊ณ„ โ€” ๊ฐœ๋ฐœ์žยท์—ฐ๊ตฌ์ž์šฉ
471
473
 
@@ -67,7 +67,7 @@ export const CAPABILITY_REGISTRY_ENTRIES = [
67
67
  ["export_drafted_document", { capabilityIRI: "safety:capability/export_drafted_document", category: "safety_doc" }],
68
68
  ["assemble_doc_context", { capabilityIRI: "safety:capability/assemble_doc_context", category: "safety_doc" }],
69
69
  ["render_a2ui_form", { capabilityIRI: "safety:capability/render_a2ui_form", category: "meta" }],
70
- // ADR 002 Active Graph Authoring Loop โ€” 4 ์‹ ๊ทœ ๋„๊ตฌ (v1.4.0)
70
+ // decision 002 Active Graph Authoring Loop โ€” 4 ์‹ ๊ทœ ๋„๊ตฌ (v1.4.0)
71
71
  ["request_field_help", { capabilityIRI: "safety:capability/request_field_help", category: "safety_doc" }],
72
72
  ["suggest_controls_for_hazard", { capabilityIRI: "safety:capability/suggest_controls_for_hazard", category: "safety_doc" }],
73
73
  ["analyze_work_context", { capabilityIRI: "safety:capability/analyze_work_context", category: "construction" }],
@@ -170,7 +170,7 @@ export const CAPABILITY_CATEGORY_BY_TOOL = new Map([
170
170
  ["export_drafted_document", "safety_doc"],
171
171
  ["assemble_doc_context", "safety_doc"],
172
172
  ["render_a2ui_form", "meta"],
173
- // ADR 002 Active Graph Authoring Loop โ€” 4 ์‹ ๊ทœ ๋„๊ตฌ (v1.4.0)
173
+ // decision 002 Active Graph Authoring Loop โ€” 4 ์‹ ๊ทœ ๋„๊ตฌ (v1.4.0)
174
174
  ["request_field_help", "safety_doc"],
175
175
  ["suggest_controls_for_hazard", "safety_doc"],
176
176
  ["analyze_work_context", "construction"],
@@ -1 +1 @@
1
- {"version":3,"file":"capability-registry.js","sourceRoot":"","sources":["../src/capability-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capability-registry.js","sourceRoot":"","sources":["../src/capability-registry.ts"],"names":[],"mappings":"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"}
package/build/cli.js CHANGED
@@ -7,11 +7,12 @@ import { toolInputToMeta, getFieldKind, getObjectShape } from "./lib/schema-intr
7
7
  // ํŒŒ์ผ ์ตœ์ƒ๋‹จ ์ƒ์ˆ˜ โ€” CLI ์„œ๋ธŒ์ปค๋งจ๋“œ ๋ผ๋ฒจ
8
8
  const CMD = {
9
9
  SERVE: "serve",
10
+ VIEWER: "viewer",
10
11
  TOOLS: "tools",
11
12
  CALL: "call",
12
13
  DESCRIBE: "describe",
13
14
  INSPECT: "inspect",
14
- DOCTOR: "doctor", // v1.4.1 backward-compat โ€” inspect ์˜ alias
15
+ DOCTOR: "doctor", // inspect ์˜ alias (๊ตฌ๋ฒ„์ „ ํ˜ธํ™˜)
15
16
  };
16
17
  const program = new Command();
17
18
  program
@@ -29,6 +30,15 @@ program
29
30
  .action(async () => {
30
31
  await import("./index.js");
31
32
  });
33
+ // ๋ธŒ๋ผ์šฐ์ € ์ž…๋ ฅ ํผ โ€” CLI(๋ช…๋ น์–ด)ยทAI ๋น„์„œ ์—†์ด ๋น„๊ฐœ๋ฐœ์ž๊ฐ€ ์ง์ ‘ ์“ฐ๋Š” ์‚ฌ์šฉ์ž ํ‘œ๋ฉด.
34
+ // `npx -y agent-safety-oss viewer` ํ•œ ์ค„๋กœ ๋กœ์ปฌ ํผ ์„œ๋ฒ„ ๊ธฐ๋™ (์ž๋™ ๋ธŒ๋ผ์šฐ์ € ์˜คํ”ˆ).
35
+ program
36
+ .command(CMD.VIEWER)
37
+ .description("Start the browser input-form viewer (A2UI) at http://localhost:5174")
38
+ .action(async () => {
39
+ const { startViewer } = await import("./viewer.js");
40
+ startViewer();
41
+ });
32
42
  // ์‹œ์Šคํ…œ ์ •ํ•ฉ์„ฑ ์ ๊ฒ€ โ€” `inspect` (๊ถŒ์žฅ) + `doctor` (v1.4.1 backward-compat alias)
33
43
  async function runInspectCommand(opts) {
34
44
  const { runInspect } = await import("./tools-meta/inspect.js");
@@ -43,7 +53,7 @@ program
43
53
  .action(runInspectCommand);
44
54
  program
45
55
  .command(CMD.DOCTOR)
46
- .description("alias of `inspect` (kept for v1.4.1 backward compatibility)")
56
+ .description("alias of `inspect`")
47
57
  .option("--json", "JSON ์ถœ๋ ฅ (์‚ฌ๋žŒ ๊ฐ€๋… markdown ๋Œ€์‹ )")
48
58
  .action(runInspectCommand);
49
59
  const toolsCmd = program