mirror of
https://github.com/NomaDamas/k-skill.git
synced 2026-06-24 02:04:11 +00:00
The approved issue narrowed scope to two public-health skills: one for official MFDS drug safety lookups and one for food safety / recall lookups. This change adds both skills, bundles runnable Python helpers, locks the docs and helper behavior with TDD regressions, and updates repo docs so the interview-first safety flow is installed and verified with the rest of k-skill. Constraint: User-approved scope requires mandatory symptom follow-up before answering and forbids direct diagnosis Constraint: Live MFDS data.go.kr success paths depend on upstream key approval/status; local verification on 2026-04-08 surfaced HTTP 403 with the available key Rejected: Single generic health skill | weaker safety boundaries and less explicit user routing Confidence: medium Scope-risk: moderate Reversibility: clean Directive: Keep red-flag escalation and interview-first wording intact unless official clinical scope is expanded deliberately Tested: python3 scripts/mfds_drug_safety.py --help; python3 scripts/mfds_drug_safety.py interview --question '타이레놀이랑 판콜 같이 먹어도 되나요?' --symptoms '두드러기와 어지러움'; python3 scripts/mfds_food_safety.py --help; python3 scripts/mfds_food_safety.py interview --question '이 김밥 먹어도 되나요?' --symptoms '복통과 설사'; python3 scripts/mfds_food_safety.py search --query '대장균' --sample-recalls --limit 1; PYTHONPATH=.:scripts python3 -m unittest scripts.test_mfds_drug_safety scripts.test_mfds_food_safety; node --test scripts/skill-docs.test.js; npm run ci Not-tested: Successful authenticated MFDS live data.go.kr lookup path with a fully approved service key
13 lines
451 B
Python
13 lines
451 B
Python
from __future__ import annotations
|
|
|
|
from pathlib import Path
|
|
|
|
|
|
_BUNDLED_HELPER = (
|
|
Path(__file__).resolve().parent.parent / "mfds-food-safety" / "scripts" / "mfds_food_safety.py"
|
|
)
|
|
|
|
if not _BUNDLED_HELPER.exists(): # pragma: no cover - defensive import guard
|
|
raise FileNotFoundError(f"Bundled MFDS food helper not found: {_BUNDLED_HELPER}")
|
|
|
|
exec(compile(_BUNDLED_HELPER.read_text(encoding="utf-8"), str(_BUNDLED_HELPER), "exec"), globals())
|