③ 파일명 stem 충돌: 다른 폴더의 같은 이름 파일이 한 건으로 합쳐져 둘째가 조용히 미심사였다. id 는 재유도하지 않고(기존 판정 보존) id_collisions() 로 탐지해 bootstrap.intakeConflicts 와 파일당 1회 감사로 남기고, 콘솔 투입 상태줄에 경고 목록을 띄운다. ④ 행 버튼 '미사용' 이 false_positive 로 가 대표 근거 하나를 고르면 나머지 점수가 지워졌다 → '사용'/'무관', 사용 재클릭은 pending(표시 해제, 점수 유지). ⑤ 분모 0 비율은 None → '측정 불가'. 외부 검색이 꺼진 케이스는 점수 0 유지, 한 줄 요약에 '외부 검색 꺼짐'. 부채: operator-review-workflow 13px 넘침 해소(겹치지 않는 레인 병합) → 다이어그램 5종 첫 REBUILD OK, v6 이전 카드 문구 교정. tests/conftest.py 로 로컬 Ollama 격리(가동 중에도 통과). 루트 VERSION 0.1.0 단일 출처, /health 와 기동 로그에 버전·스코어러 버전. verify.ps1 (Ollama 가동 중, override 없음): ruff clean, 680 passed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BStHFrjQj2VypecSG9ex1V
100 lines
2.2 KiB
JavaScript
100 lines
2.2 KiB
JavaScript
(function attachOperatorLabels(global) {
|
|
const riskLabels = {
|
|
high: "높음",
|
|
medium: "중간",
|
|
low: "낮음",
|
|
failed: "실패",
|
|
pending: "대기",
|
|
};
|
|
|
|
const decisionLabels = {
|
|
unreviewed: "미심사",
|
|
held: "보류",
|
|
rejected: "반려",
|
|
approved: "승인",
|
|
corrected: "보정됨",
|
|
};
|
|
|
|
const providerLabels = {
|
|
internal: "내부 분석",
|
|
naver: "네이버 검색",
|
|
naver_blog: "네이버 블로그 검색",
|
|
naver_web: "네이버 웹문서 검색",
|
|
google: "구글 이미지",
|
|
google_search: "구글 근거 검색",
|
|
llm: "내부 요약",
|
|
};
|
|
|
|
const sourceLabels = {
|
|
internal: "내부",
|
|
fingerprint: "이미지 유사도",
|
|
face: "얼굴/인물 감지",
|
|
provenance: "출처 표기",
|
|
naver: "네이버",
|
|
google: "구글",
|
|
llm: "내부 요약",
|
|
failure: "실패",
|
|
};
|
|
|
|
const providerStatusLabels = {
|
|
ok: "정상",
|
|
covered: "근거 있음",
|
|
empty: "결과 없음",
|
|
failed: "실패",
|
|
disabled: "중지",
|
|
skipped: "건너뜀",
|
|
pending: "미실행",
|
|
not_run: "미실행",
|
|
};
|
|
|
|
const candidateStatusLabels = {
|
|
candidate: "후보",
|
|
promoted: "반영됨",
|
|
};
|
|
|
|
const evidenceStatusLabels = {
|
|
used_for_judgment: "판단에 사용",
|
|
irrelevant: "무관",
|
|
false_positive: "오탐",
|
|
ignored: "무관",
|
|
pending: "보류",
|
|
};
|
|
|
|
const knowledgeStatusLabels = {
|
|
confirmed: "확정 DB",
|
|
watchlist: "주의 후보",
|
|
excluded: "제외됨",
|
|
};
|
|
|
|
const provenanceLabels = {
|
|
manual: "수동 등록",
|
|
automatic: "자동 등록",
|
|
external_evidence: "외부 근거",
|
|
};
|
|
|
|
const knowledgeTypeLabels = {
|
|
celebrity: "연예인/유명인",
|
|
public_figure: "연예인/유명인",
|
|
work: "작품",
|
|
character: "캐릭터",
|
|
game: "게임",
|
|
rejected_image: "반려 이미지",
|
|
rejected_reference: "반려 이미지",
|
|
cleared_reference: "클리어 기준",
|
|
trusted_host: "신뢰 출처",
|
|
other: "기타",
|
|
};
|
|
|
|
global.OperatorLabels = {
|
|
riskLabels,
|
|
decisionLabels,
|
|
providerLabels,
|
|
sourceLabels,
|
|
providerStatusLabels,
|
|
candidateStatusLabels,
|
|
evidenceStatusLabels,
|
|
knowledgeStatusLabels,
|
|
provenanceLabels,
|
|
knowledgeTypeLabels,
|
|
};
|
|
})(window);
|