## 변경 내용
### DB 스키마 (Boot DDL)
- pid_prefix_rules.tag_dcs BOOLEAN NOT NULL DEFAULT FALSE 추가
- DCS prefix 시드 마킹: FIC/TIC/PIC/LIC/FY/TY/PY/LY/FV/TV/PV/LV → tag_dcs=TRUE
- pid_equipment.tag_dcs BOOLEAN NOT NULL DEFAULT FALSE 추가
- 기존 행 backfill: instrument_type LIKE prefix% StartsWith 매칭 (FICQ/FICA 자동 포함)
### C# 도메인/서비스
- PidPrefixRule: TagDcs bool 프로퍼티 추가
- PidEquipment: TagDcs bool 프로퍼티 추가
- PidPrefixRuleDto (3개 record): TagDcs 추가
- PidExtractorService:
- ResolveTagDcsAsync() 신규 — StartsWith 매칭, 가장 긴 prefix 우선
- ClassifyTagClass() 재설계 — tagDcs 우선 (hasExperionLink 제거)
- 추출 저장 시 TagDcs 채우기
- ExportToExcelAsync() col18=DCS태그 추가 (col17=id 보호)
- ImportFromExcelAsync() col18 읽기 (hasDcsCol 감지)
- ApplyCategoriesToExistingAsync() 두 루프에 tag_dcs backfill 추가
- CreatePrefixRuleAsync/UpdatePrefixRuleAsync TagDcs 저장
### Web Controller
- PidController.GetPrefixRules: tagDcs: r.TagDcs 추가
### Web UI (pid.js)
- PREFIX 그룹 각 행에 DCS/현장 배지 + 체크박스
- Add/Update body에 tagDcs 전송
### MCP/LLM
- server.py: _DCS_PREFIXES frozenset 추가
- _classify_pid_tag(): tag_dcs 반환 필드 추가
- _DB_SCHEMA: pid_equipment 테이블 설명 추가
- upsert_pid_connection: tag_dcs 파라미터 + UPDATE/INSERT SQL 수정
- sql_prompt.py: pid_equipment 테이블 추가
- prompts/plant_context.md: tag_dcs 설명 + 쿼리 예시 추가
## 설계 결정
- FT 전송기는 Experion 연결 여부와 무관하게 현장 계기 (tag_dcs=FALSE)
- tag_dcs=TRUE: prefix rule이 ground truth → system 확정
- hasExperionLink는 TagClass 결정에서 제거 (연결 정보는 ExperionTagId FK로 보존)
- compound prefix (FICQ/FICA): LIKE StartsWith 매칭으로 자동 커버
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>