From 195e4a84e9af1b850ee9c1416166ff92ce83018a Mon Sep 17 00:00:00 2001 From: "Jung Hyun, Nam" Date: Sat, 18 Jul 2026 17:03:48 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=ED=86=B5=ED=8F=90=ED=95=A9=20=EA=B0=90?= =?UTF-8?q?=EC=8B=9C=EC=97=90=20=EB=B3=B4=ED=97=98=EC=82=AC=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80=20+=20=ED=99=98=EA=B0=81=20=EB=B0=A9=EC=A7=80=20?= =?UTF-8?q?=ED=95=98=EB=93=9C=EB=8B=9D=20(=EC=9B=8C=ED=81=AC=ED=94=8C?= =?UTF-8?q?=EB=A1=9C=20rename)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 저축은행 외에 보험사도 통폐합 리서치 대상에 포함하도록 보강. - 저축은행: 이름 기반("저축은행"), 보험사: Category="Insurance" 기반 (생명·손해보험 모두 포함, 정부 건강/무역보험 제외). 로컬 검증 79/39건. - savings-bank-merger-watch.yml -> financial-merger-watch.yml 로 rename(범위 확장 반영). - 환각 방지: GitHub Copilot 코딩 에이전트는 2025-10부터 웹 검색을 지원하나 조직 정책/방화벽에 따라 꺼져 있을 수 있으므로, 이슈 본문에 출처 URL 강제 · 검색 불가 시 날조 금지 · "확인 불가" 표기 지침을 명시. - README / CATALOG_QUALITY_WORKFLOW.md 갱신. Co-Authored-By: Claude Opus 4.8 (1M context) --- .github/workflows/financial-merger-watch.yml | 160 ++++++++++++++++++ .../workflows/savings-bank-merger-watch.yml | 134 --------------- README.md | 2 +- docs/CATALOG_QUALITY_WORKFLOW.md | 15 +- 4 files changed, 173 insertions(+), 138 deletions(-) create mode 100644 .github/workflows/financial-merger-watch.yml delete mode 100644 .github/workflows/savings-bank-merger-watch.yml diff --git a/.github/workflows/financial-merger-watch.yml b/.github/workflows/financial-merger-watch.yml new file mode 100644 index 0000000..4f7b85e --- /dev/null +++ b/.github/workflows/financial-merger-watch.yml @@ -0,0 +1,160 @@ +name: Financial Institution Merger Watch (AI Agent Assisted) + +# 통폐합이 잦은 금융기관(저축은행)과 종종 통폐합이 일어나는 보험사를 대상으로, +# 주기적으로 AI 에이전트에게 "최근 통폐합/명칭변경/폐업 뉴스"를 조사하도록 위임하는 +# 이슈를 자동 생성/갱신합니다. +# - 기본 작업 주체는 GitHub Copilot 코딩 에이전트(자동 배정)이며, +# Claude Code 등 다른 AI 어시스턴트나 사람이 대신 처리해도 됩니다. +# - 실제 뉴스 검색·판정은 AI 에이전트가 수행하고, 카탈로그 반영(merge)은 사람이 최종 검토합니다. +# - 추적 부담을 줄이기 위해 열린 조사 이슈는 라벨 기준 항상 최대 1건입니다(단일 상시 이슈). +# +# ※ 환각 방지: 이 조사는 "실제 웹 검색이 가능한" 어시스턴트를 전제로 합니다. Copilot 코딩 +# 에이전트는 2025-10부터 웹 검색을 지원하지만, 조직/엔터프라이즈에서 "Copilot can search +# the web" 정책과 방화벽 허용이 켜져 있어야 합니다(기본 제한). 이슈 본문에 "검색 불가 시 +# 날조 금지·출처 URL 강제" 지침을 명시합니다. + +on: + schedule: + # 매주 수요일 00:00 UTC (한국시간 수요일 09:00) — 품질 리포트(월)와 요일을 분리. + - cron: '0 0 * * 3' + workflow_dispatch: + inputs: + assign_copilot: + description: '조사 이슈를 GitHub Copilot 코딩 에이전트에 배정합니다(기본 작업 주체).' + type: boolean + default: true + +permissions: + contents: read + issues: write + +concurrency: + group: financial-merger-watch + cancel-in-progress: false + +jobs: + merger-watch: + runs-on: ubuntu-latest + env: + GH_TOKEN: ${{ github.token }} + ISSUE_LABEL: financial-merger-watch + steps: + - uses: actions/checkout@v4 + + - name: Extract financial institution entries from catalog + id: extract + run: | + set -euo pipefail + + # 매칭된 태그 목록을 마크다운 불릿으로 변환하는 헬퍼. + to_bullets() { + local infile="$1" outfile="$2" + : > "$outfile" + local n=0 + while IFS= read -r line; do + local id name url + id=$(printf '%s' "$line" | grep -oP 'Id="\K[^"]*' | head -n1 || true) + name=$(printf '%s' "$line" | grep -oP 'DisplayName="\K[^"]*' | head -n1 || true) + url=$(printf '%s' "$line" | grep -oP 'Url="\K[^"]*' | head -n1 || true) + [ -z "$id" ] && continue + echo "- \`$id\` — $name (<$url>)" >> "$outfile" + n=$((n + 1)) + done < "$infile" + echo "$n" + } + + # 저축은행: DisplayName에 "저축은행" 포함(이름 기반). + grep -oP ']*DisplayName="[^"]*저축은행[^"]*"[^>]*Url="[^"]*"' \ + docs/Catalog.xml > sb-matches.txt || true + SB_COUNT=$(to_bullets sb-matches.txt sb.md) + + # 보험사: Category="Insurance"(카테고리 기반). 생명·손해보험을 모두 포함하고, + # 정부 성격의 건강보험/무역보험공사 등은 제외됩니다. + grep -oP ']*Category="Insurance"[^>]*Url="[^"]*"' \ + docs/Catalog.xml > ins-matches.txt || true + INS_COUNT=$(to_bullets ins-matches.txt ins.md) + + echo "sb_count=$SB_COUNT" >> "$GITHUB_OUTPUT" + echo "ins_count=$INS_COUNT" >> "$GITHUB_OUTPUT" + echo "저축은행 $SB_COUNT건 / 보험사 $INS_COUNT건 추출." + + - name: Build research issue body + run: | + set -euo pipefail + STAMP=$(date -u '+%Y-%m-%d') + { + echo "" + echo "## 금융기관(저축은행·보험) 통폐합 점검 요청 (${STAMP} 기준)" + echo + echo "저축은행은 인수합병·통폐합·명칭변경이 잦고, 보험사도 자주는 아니지만 통폐합이 종종 일어납니다." + echo "이 이슈는 주 1회 자동 생성/갱신되며, **AI 에이전트가 최근 업계 뉴스를 조사하여 카탈로그에**" + echo "**반영이 필요한 변경을 식별**하도록 위임합니다." + echo + echo "> **작업 주체**: 기본 배정은 GitHub Copilot 코딩 에이전트입니다. Claude Code 등 다른 AI" + echo "> 어시스턴트나 사람이 대신 처리해도 됩니다. 검출·조사는 AI가, 카탈로그 반영(merge)은 사람이 최종 판정합니다." + echo + echo "> ⚠️ **환각 방지(반드시 준수)**: 이 작업은 **실제 웹 검색이 가능한** 어시스턴트를 전제로 합니다." + echo "> GitHub Copilot 코딩 에이전트는 웹 검색을 지원하나 조직 정책/방화벽 설정에 따라 꺼져 있을 수 있습니다." + echo "> - **검색이 불가하거나 출처를 확인할 수 없으면 추정하지 말고 \`확인 불가\`로 남기세요.**" + echo "> - **모든 변경 주장에는 반드시 공식 출처 URL을 첨부**하세요. 근거 없는 통폐합 주장은 절대 생성 금지." + echo "> - 검색 도구가 없다면, 그 사실을 코멘트로 밝히고 검색 가능한 어시스턴트/사람에게 넘기세요." + echo + echo "### AI 에이전트 작업 지침" + echo + echo "1. 아래 카탈로그 목록을 기준으로, **최근(대략 지난 6~12개월) 국내 저축은행·보험사의 통폐합/인수합병/명칭변경/영업정지·폐업** 뉴스를 검색하세요." + echo " - 저축은행 참고 출처: 금융위원회·금융감독원, 저축은행중앙회()." + echo " - 보험사 참고 출처: 금융위원회·금융감독원, 생명보험협회(), 손해보험협회()." + echo "2. 확인된 변경 건마다: 대상 기관(현재 카탈로그 \`Id\`/\`DisplayName\`), 변경 유형, **공식 발표·뉴스 출처 URL**, 시점, 반영 방향(\`Url\` 교체 / \`DisplayName\`·\`Id\` 갱신 / 항목 삭제 / 신규 추가)." + echo "3. **검증**: 변경 후보 기관의 현재 사이트 접속 상태를 확인하세요." + echo + echo '```bash' + echo "dotnet run --file src/checksites.cs -- probe ./docs/ ./health-report/ --only " + echo '```' + echo + echo "4. 실제 반영이 필요한 건은 이 이슈에 코멘트로 근거(출처 URL 포함)와 함께 제안하고, 승인 후 PR로 처리하세요." + echo " - **자동 삭제 금지**: 폐업·통폐합으로 삭제가 필요한 항목은 반드시 사람의 승인을 받으세요." + echo "5. 반영할 변경이 없으면 확인한 범위를 코멘트로 남기고 이 이슈를 닫아도 됩니다. (다음 주 새 조사 이슈가 열립니다.)" + echo + echo "### 현재 카탈로그의 저축은행 목록 (${{ steps.extract.outputs.sb_count }}건)" + echo + if [ -s sb.md ]; then cat sb.md; else echo "_(추출된 항목이 없습니다. 추출 로직을 확인하세요.)_"; fi + echo + echo "### 현재 카탈로그의 보험사 목록 (${{ steps.extract.outputs.ins_count }}건)" + echo + if [ -s ins.md ]; then cat ins.md; else echo "_(추출된 항목이 없습니다. 추출 로직을 확인하세요.)_"; fi + echo + echo "---" + echo "*generated by \`.github/workflows/financial-merger-watch.yml\`*" + } > issue-body.md + + - name: Create or refresh research issue (single open issue) + env: + ASSIGN_COPILOT: ${{ github.event.inputs.assign_copilot }} + run: | + set -euo pipefail + + gh label create "$ISSUE_LABEL" \ + --description "금융기관(저축은행·보험) 통폐합 AI 점검 요청" --color D4C5F9 --force >/dev/null 2>&1 || true + + # 추적 부담 최소화: 열려 있는 조사 이슈는 라벨 기준 최대 1건. + EXISTING=$(gh issue list --state open --label "$ISSUE_LABEL" \ + --limit 1 --json number --jq '.[0].number // empty') + + TITLE="[금융기관 통폐합 점검] 저축은행·보험 업계 통폐합 뉴스 조사 요청" + + if [ -n "${EXISTING}" ]; then + echo "열린 조사 이슈 #$EXISTING 를 최신 목록으로 갱신합니다." + gh issue edit "$EXISTING" --body-file issue-body.md + NUM="$EXISTING" + else + echo "새 조사 이슈를 생성합니다." + ISSUE_URL=$(gh issue create --title "$TITLE" --body-file issue-body.md --label "$ISSUE_LABEL") + echo "생성됨: $ISSUE_URL" + NUM=$(basename "$ISSUE_URL") + fi + + # GitHub Copilot을 기본 작업 주체로 배정(스케줄 실행 포함). + if [ "${ASSIGN_COPILOT:-true}" != "false" ] && [ -n "${NUM:-}" ]; then + gh issue edit "$NUM" --add-assignee "@copilot" \ + || echo "Copilot 배정 실패 — Claude Code 등 다른 AI 어시스턴트/사람이 처리 가능." + fi diff --git a/.github/workflows/savings-bank-merger-watch.yml b/.github/workflows/savings-bank-merger-watch.yml deleted file mode 100644 index d8f4e7f..0000000 --- a/.github/workflows/savings-bank-merger-watch.yml +++ /dev/null @@ -1,134 +0,0 @@ -name: Savings Bank Merger Watch (AI Agent Assisted) - -# 기관 통폐합이 잦은 저축은행 업계 특성을 감안하여, 주기적으로 AI 에이전트에게 -# "최근 저축은행 통폐합/명칭변경/폐업 뉴스"를 조사하도록 위임하는 이슈를 자동 생성합니다. -# - 기본 작업 주체는 GitHub Copilot 코딩 에이전트(자동 배정)이며, -# Claude Code 등 다른 AI 어시스턴트나 사람이 대신 처리해도 됩니다. -# - 실제 뉴스 검색·판정은 AI 에이전트가 수행하고, 카탈로그 반영(merge)은 사람이 최종 검토합니다. -# - 추적 부담을 줄이기 위해 열린 조사 이슈는 라벨 기준 항상 최대 1건입니다(단일 상시 이슈). - -on: - schedule: - # 매주 수요일 00:00 UTC (한국시간 수요일 09:00) — 품질 리포트(월)와 요일을 분리. - - cron: '0 0 * * 3' - workflow_dispatch: - inputs: - assign_copilot: - description: '조사 이슈를 GitHub Copilot 코딩 에이전트에 배정합니다(기본 작업 주체).' - type: boolean - default: true - -permissions: - contents: read - issues: write - -concurrency: - group: savings-bank-merger-watch - cancel-in-progress: false - -jobs: - merger-watch: - runs-on: ubuntu-latest - env: - GH_TOKEN: ${{ github.token }} - ISSUE_LABEL: savings-bank-merger-watch - steps: - - uses: actions/checkout@v4 - - - name: Extract savings bank entries from catalog - id: extract - run: | - set -euo pipefail - - # Catalog.xml에서 DisplayName에 "저축은행"이 포함된 Service 항목을 추출합니다. - grep -oP ']*DisplayName="[^"]*저축은행[^"]*"[^>]*Url="[^"]*"' \ - docs/Catalog.xml > matches.txt || true - - : > entries.md - COUNT=0 - while IFS= read -r line; do - ID=$(printf '%s' "$line" | grep -oP 'Id="\K[^"]*' | head -n1 || true) - NAME=$(printf '%s' "$line" | grep -oP 'DisplayName="\K[^"]*' | head -n1 || true) - URL=$(printf '%s' "$line" | grep -oP 'Url="\K[^"]*' | head -n1 || true) - [ -z "$ID" ] && continue - echo "- \`$ID\` — $NAME (<$URL>)" >> entries.md - COUNT=$((COUNT + 1)) - done < matches.txt - - echo "count=$COUNT" >> "$GITHUB_OUTPUT" - echo "저축은행 항목 $COUNT건을 추출했습니다." - - - name: Build research issue body - run: | - set -euo pipefail - STAMP=$(date -u '+%Y-%m-%d') - { - echo "" - echo "## 저축은행 통폐합 점검 요청 (${STAMP} 기준)" - echo - echo "저축은행 업계는 인수합병·통폐합·명칭변경이 잦습니다. 이 이슈는 주 1회 자동 생성/갱신되며," - echo "**AI 에이전트가 최근 업계 뉴스를 조사하여 카탈로그에 반영이 필요한 변경을 식별**하도록 위임합니다." - echo - echo "> **작업 주체**: 기본 배정은 GitHub Copilot 코딩 에이전트입니다. Claude Code 등 다른 AI" - echo "> 어시스턴트나 사람이 대신 처리해도 됩니다. 검출·조사는 AI가, 카탈로그 반영(merge)은 사람이 최종 판정합니다." - echo - echo "### AI 에이전트 작업 지침" - echo - echo "1. 아래 카탈로그에 등록된 저축은행 목록을 기준으로, **최근(대략 지난 3~6개월) 국내 저축은행의 통폐합/인수합병/명칭변경/영업정지·폐업** 관련 뉴스를 검색하세요." - echo " - 참고 출처: 금융감독원, 저축은행중앙회(), 주요 경제 뉴스." - echo "2. 확인된 변경 건마다 다음을 정리하세요." - echo " - 대상 기관(현재 카탈로그 \`Id\`/\`DisplayName\`), 변경 유형(통폐합/명칭변경/폐업), 공식 발표·뉴스 **출처 URL**, 시점." - echo " - 카탈로그 반영 방향 제안: \`Url\` 교체 / \`DisplayName\`·\`Id\` 갱신 / 항목 삭제 / 신규 항목 추가." - echo "3. **검증**: 변경 후보 기관의 현재 사이트 접속 상태를 확인하세요." - echo - echo '```bash' - echo "dotnet run --file src/checksites.cs -- probe ./docs/ ./health-report/ --only " - echo '```' - echo - echo "4. 실제 반영이 필요한 건은 이 이슈에 코멘트로 근거(출처 URL 포함)와 함께 제안하고, 승인 후 PR로 처리하세요." - echo " - **자동 삭제 금지**: 폐업·통폐합으로 삭제가 필요한 항목은 반드시 사람의 승인을 받으세요." - echo "5. 조사 결과 반영할 변경이 없으면, 확인한 범위를 코멘트로 남기고 이 이슈를 닫아도 됩니다. (다음 주 자동으로 새 조사 이슈가 열립니다.)" - echo - echo "### 현재 카탈로그의 저축은행 목록 (${{ steps.extract.outputs.count }}건)" - echo - if [ -s entries.md ]; then - cat entries.md - else - echo "_(추출된 항목이 없습니다. 추출 로직을 확인하세요.)_" - fi - echo - echo "---" - echo "*generated by \`.github/workflows/savings-bank-merger-watch.yml\`*" - } > issue-body.md - - - name: Create or refresh research issue (single open issue) - env: - ASSIGN_COPILOT: ${{ github.event.inputs.assign_copilot }} - run: | - set -euo pipefail - - gh label create "$ISSUE_LABEL" \ - --description "저축은행 통폐합 AI 점검 요청" --color D4C5F9 --force >/dev/null 2>&1 || true - - # 추적 부담 최소화: 열려 있는 조사 이슈는 라벨 기준 최대 1건. - EXISTING=$(gh issue list --state open --label "$ISSUE_LABEL" \ - --limit 1 --json number --jq '.[0].number // empty') - - TITLE="[저축은행 통폐합 점검] 업계 통폐합 뉴스 조사 요청" - - if [ -n "${EXISTING}" ]; then - echo "열린 조사 이슈 #$EXISTING 를 최신 목록으로 갱신합니다." - gh issue edit "$EXISTING" --body-file issue-body.md - NUM="$EXISTING" - else - echo "새 조사 이슈를 생성합니다." - ISSUE_URL=$(gh issue create --title "$TITLE" --body-file issue-body.md --label "$ISSUE_LABEL") - echo "생성됨: $ISSUE_URL" - NUM=$(basename "$ISSUE_URL") - fi - - # GitHub Copilot을 기본 작업 주체로 배정(스케줄 실행 포함). - if [ "${ASSIGN_COPILOT:-true}" != "false" ] && [ -n "${NUM:-}" ]; then - gh issue edit "$NUM" --add-assignee "@copilot" \ - || echo "Copilot 배정 실패 — Claude Code 등 다른 AI 어시스턴트/사람이 처리 가능." - fi diff --git a/README.md b/README.md index a883c40..7e790dc 100644 --- a/README.md +++ b/README.md @@ -130,7 +130,7 @@ dotnet run .\src\checksites.cs issue .\health-report\\ 카탈로그 검사 도구의 결과를 **개별 이슈로 쪼개지 않고**, 주 1회 **하나의 진화형 품질 리포트**로 모아 관리하는 워크플로가 준비되어 있습니다. 이전 리포트와 병합하여 **신규/지속(경과 주차)/해결**을 추적하므로 관리 추적 부담이 적습니다. 리포트 본문은 단일 이슈(대시보드)로, 상태·이력은 `quality/` 커밋 파일로 남는 하이브리드 구조입니다. 생성된 이슈는 **기본적으로 GitHub Copilot 코딩 에이전트에 배정**되며, Claude Code 등 다른 AI 어시스턴트나 사람이 처리해도 됩니다. * **[`.github/workflows/catalog-quality.yml`](.github/workflows/catalog-quality.yml)**: 매주 `checkimages.cs`·`catalogutil.cs`를 실행하여 [`src/qualityreport.cs`](src/qualityreport.cs)로 리포트를 생성/병합하고, 단일 리포트 이슈를 갱신합니다. 문제가 없으면 AI 어시스턴트에게 검증 후 종료를 위임하고, 문제가 재발하면 자동으로 다시 엽니다. -* **[`.github/workflows/savings-bank-merger-watch.yml`](.github/workflows/savings-bank-merger-watch.yml)**: 통폐합이 잦은 저축은행 업계를 대상으로, 매주 AI 에이전트에게 업계 통폐합 뉴스 조사를 위임하는 단일 상시 이슈를 생성/갱신합니다. +* **[`.github/workflows/financial-merger-watch.yml`](.github/workflows/financial-merger-watch.yml)**: 통폐합이 잦은 저축은행과 종종 통폐합이 일어나는 보험사를 대상으로, 매주 AI 에이전트에게 업계 통폐합 뉴스 조사를 위임하는 단일 상시 이슈를 생성/갱신합니다. (환각 방지를 위해 출처 URL 강제·검색 불가 시 날조 금지 지침 포함) 전체 흐름과 이슈 개폐 정책은 [docs/CATALOG_QUALITY_WORKFLOW.md](docs/CATALOG_QUALITY_WORKFLOW.md)를 참고하세요. diff --git a/docs/CATALOG_QUALITY_WORKFLOW.md b/docs/CATALOG_QUALITY_WORKFLOW.md index 6fdbcd8..4780ac4 100644 --- a/docs/CATALOG_QUALITY_WORKFLOW.md +++ b/docs/CATALOG_QUALITY_WORKFLOW.md @@ -66,12 +66,21 @@ dotnet run --file src/catalogutil.cs -- ./docs/ ./outputs/ > **자동 삭제 금지**: 항목 삭제·`Id` 변경·통폐합 반영은 반드시 사람의 승인을 받으세요. 리포트는 worklist가 아니라 dashboard이며, PR 병합은 사람이 최종 판정합니다. -## 저축은행 통폐합 점검 (`savings-bank-merger-watch.yml`) +## 금융기관 통폐합 점검 (`financial-merger-watch.yml`) -저축은행 업계는 인수합병·통폐합·명칭변경·영업정지가 잦습니다. 이 워크플로는 **주 1회(매주 수요일)** AI 에이전트에게 "최근 저축은행 통폐합 뉴스"를 조사하도록 위임하는 이슈를 자동 생성/갱신합니다. +저축은행은 인수합병·통폐합·명칭변경이 잦고, 보험사도 자주는 아니지만 통폐합이 종종 일어납니다. 이 워크플로는 **주 1회(매주 수요일)** AI 에이전트에게 "최근 저축은행·보험사 통폐합 뉴스"를 조사하도록 위임하는 이슈를 자동 생성/갱신합니다. - **작업 주체**: 품질 리포트와 동일하게 **기본 배정은 GitHub Copilot**이며, Claude Code 등 다른 AI 어시스턴트나 사람이 처리해도 됩니다. - **단일 상시 이슈**: 추적 부담을 줄이기 위해 열린 조사 이슈는 라벨 기준 최대 1건입니다. 이미 열려 있으면 카탈로그 목록만 갱신하고, 조사가 끝나 닫히면 다음 주에 새 이슈가 열립니다. -- **동작**: `Catalog.xml`에서 이름에 "저축은행"이 포함된 서비스를 모두 추출 → 조사 지침과 함께 이슈 본문에 담습니다. 확인된 변경 건은 근거(출처 URL)와 함께 코멘트로 제안하고, 승인 후 PR로 처리합니다. +- **추출 방식**: 저축은행은 이름에 "저축은행"이 포함된 서비스(이름 기반), 보험사는 `Category="Insurance"`(카테고리 기반 — 생명·손해보험 모두 포함, 정부 성격의 건강/무역보험은 제외)로 추출합니다. + +### 환각 방지 (웹 검색 전제) + +이 조사는 **실제 웹 검색이 가능한** 어시스턴트를 전제로 합니다. GitHub Copilot 코딩 에이전트는 [2025-10부터 웹 검색을 지원](https://github.blog/changelog/2025-10-16-copilot-coding-agent-can-now-search-the-web/)하지만, 조직/엔터프라이즈에서 **"Copilot can search the web" 정책**과 **방화벽 허용**이 켜져 있어야 합니다(기본은 인터넷 접근 제한). 이 전제가 깨지면 근거 없는 통폐합 정보를 지어낼 위험이 있으므로, 이슈 본문에 다음을 강제합니다. + +- **모든 변경 주장에 공식 출처 URL 첨부** (금융위/금감원, 저축은행중앙회, 생명보험협회, 손해보험협회 등). +- **검색 불가·출처 미확인 시 추정 금지** → `확인 불가`로 남기고, 검색 가능한 어시스턴트/사람에게 인계. + +**권장 설정**: Copilot을 이 작업의 주체로 쓰려면 저장소/조직에서 **코딩 에이전트 + 웹 검색 정책**과 필요한 **방화벽 허용 목록**을 활성화하세요. > **자동 삭제 금지**: 폐업·통폐합으로 항목 삭제가 필요한 경우 반드시 사람의 승인을 받으세요.