8f5152fc02
feat(prediction): Phase 2 PoC 2~5 — gear_violation/transshipment/risk/pair_trawl
...
런타임 override 완성 (params 인자 + 내부 상수 교체):
- gear_violation_g01_g06 (GEAR, tier 4)
· G01~G06 점수 + signal_cycling(gap_min/min_count)
· gear_drift_threshold_nm + fixed_gear_types + fishery_code_allowed_gear
· _detect_signal_cycling_count 도입 (기존 _detect_signal_cycling 보존)
카탈로그 + 관찰 (DEFAULT_PARAMS 노출 + Adapter 집계, 런타임 교체는 후속 PR):
- transshipment_5stage (TRANSSHIP, tier 4) — 5단계 필터 임계
- risk_composite (META, tier 3) — 경량+파이프라인 가중치
- pair_trawl_tier (GEAR, tier 4) — STRONG/PROBABLE/SUSPECT 임계
각 모델 공통:
- prediction/algorithms/*.py: DEFAULT_PARAMS 상수 추가
- models_core/registered/*_model.py: BaseDetectionModel Adapter
- models_core/seeds/v1_<model>.sql: DRAFT seed (호출자 트랜잭션 제어)
- tests/test_<model>_params.py: Python ↔ 모듈 상수 ↔ seed SQL 정적 일치 검증
통합 seed: models_core/seeds/v1_phase2_all.sql (\i 로 5 모델 일괄 시드)
검증:
- 30/30 테스트 통과 (Phase 1-2 15 + dark 5 + Phase 2 신규 10)
- 운영 DB 5 모델 개별 + 일괄 seed dry-run 통과 (BEGIN/ROLLBACK 격리)
- 5 모델 모두 tier/category 정렬 확인: dark_suspicion(3) / risk_composite(3) /
gear_violation_g01_g06(4) / pair_trawl_tier(4) / transshipment_5stage(4)
후속:
- transshipment/risk/pair_trawl 런타임 override 활성화 (헬퍼 params 전파)
- Phase 3 백엔드 API (DetectionModelController + 승격 엔드포인트)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-20 10:11:16 +09:00
8c586c3384
feat(prediction): Phase 2 PoC #1 — dark_suspicion 모델 외부화
...
- algorithms/dark_vessel.py: compute_dark_suspicion 에 params 인자 추가
· DARK_SUSPICION_DEFAULT_PARAMS 상수(19 가중치 + SOG/반복/gap/tier 임계)
· _merge_default_params 깊이 병합 — params=None 시 BACK-COMPAT 완전 보장
· override 가 DEFAULT 를 변조하지 않는 불변성
- models_core/registered/dark_suspicion_model.py: BaseDetectionModel Adapter
· AnalysisResult 리스트에서 gap_info 재평가
· evaluated/critical/high/watch_count 메트릭 기록
- models_core/seeds/v1_dark_suspicion.sql: DRAFT seed (운영 영향 0)
· BEGIN/COMMIT 미포함 — 호출자 트랜잭션 제어 (psql -1 또는 wrap)
· JSONB params 는 Python DEFAULT 와 1:1 일치
- models_core/seeds/README.md: 실행·승격 절차, 금지 패턴, 롤백
- tests/test_dark_suspicion_params.py: 5건 동치성 검증
· DEFAULT 형태, None↔DEFAULT 동치성, override 불변성
· seed SQL JSONB ↔ Python DEFAULT 정적 일치 검증
- 전체 20/20 테스트 통과 (Phase 1-2 기반 15 + Phase 2-1 동치성 5)
- seed SQL 운영 DB dry-run(BEGIN/ROLLBACK) 성공 — INSERT 2건 정상, tier_thresholds 일치 확인
후속: gear_violation_g01_g06 / transshipment_5stage / risk_composite / pair_trawl_tier
는 별도 PR. 각 모델 같은 패턴(params 인자 + DEFAULT 상수 + Adapter + seed).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-20 08:19:57 +09:00
735521966a
docs: 릴리즈 노트 업데이트 (Phase 1-2 detection model registry)
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-20 08:08:44 +09:00
f913953562
docs: 릴리즈 노트 업데이트
2026-04-20 07:11:01 +09:00
04d4b12c50
docs: 2026-04-20 릴리즈 후속 정적 문서 최신화
...
Phase 0-1/0-2/0-3 + Phase 1-1 V034 반영 + Phase 1-2 재개 포인트 명시.
### 변경
- architecture.md — 27→29 보호 경로, /illegal-fishing + /transshipment 라우트 추가
- sfr-traceability.md
- Flyway V001~V030 → V001~V034 (34 마이그레이션)
- Database 51 → 56 테이블 (V034 detection_model_* 5종 + 뷰 1, 반영 대기)
- Prediction 섹션에 stage_runner 사이클 에러 경계 (Phase 0-1) 추가
- SFR-09: TransshipmentDetection(V033/PR #86 ) 페이지 추가
- SFR-10: IllegalFishingPattern(V032/PR #85 ) 페이지 추가
- 부록 A: 신규 화면 파일 경로 반영
- sfr-user-guide.md — SFR-10 하위에 "불법 조업 이벤트" + "환적 의심 탐지" 2개 신규 페이지 사용자 가이드 섹션 신설
- system-flow-guide.md — V030 미반영 경고를 V030~V034 노드 일괄 미반영으로 확장 (detection_models / detection_model_versions / detection_model_run_outputs / detection_model_metrics / dag_executor / shadow_runner / api.detection_models_* / ui.illegal_fishing / ui.transshipment_detection / ui.detection_model_management)
- prediction-analysis.md — P1 권고 4건 중 3건 완료 표시
- ✅ 사이클 스테이지 에러 경계 (PR #83 )
- 🟡 임계값 외부화 (V034 스키마 머지, Phase 1-2 대기)
- ✅ ILLEGAL_FISHING_PATTERN 전용 페이지 (PR #85 )
- ✅ 환적 전용 페이지 (PR #86 )
- 변경 이력에 2026-04-20 행 추가
### 범위 밖
- memory/* 는 세션 로컬 경로, 저장소 외
- prediction/backend 코드 변경 없음 — 문서만
2026-04-20 07:10:48 +09:00
be315f59aa
docs: 릴리즈 노트 정리 (2026-04-20)
2026-04-20 06:52:25 +09:00
82ffe7cb06
Merge branch 'develop' into feature/phase1-1-detection-models-schema
2026-04-20 06:48:43 +09:00
d971624090
docs: 릴리즈 노트 업데이트
2026-04-20 06:31:33 +09:00
410d0da9cf
docs: 릴리즈 노트 업데이트
2026-04-20 06:22:58 +09:00
a8ce9a4ea9
docs: 릴리즈 노트 업데이트
2026-04-20 05:51:25 +09:00
214f063f1e
docs: 릴리즈 노트 업데이트
2026-04-20 05:46:34 +09:00
2b25dc1c92
docs: 릴리즈 노트 업데이트
2026-04-17 11:52:08 +09:00
a32d09f75a
docs: 릴리즈 노트 업데이트
2026-04-17 11:28:58 +09:00
451f38036a
docs: 릴리즈 노트 업데이트
2026-04-17 11:21:56 +09:00
b37e18d952
docs: prediction-analysis 신규 + 루트/SFR 문서 drift 해소
...
- docs/prediction-analysis.md 신설 — opus 4.7 독립 리뷰 기반 prediction 구조/방향 심층 분석
(9개 섹션: 아키텍처·5분 사이클·17 알고리즘·4대 도메인 커버리지·6축 구조 평가·개선 제안 P1~P4·임계값 전수표)
- AGENTS.md / README.md — V001~V016→V030, Python 3.9→3.11+, 14→17 알고리즘 모듈
- docs/architecture.md — /gear-collision 라우트 추가 (26→27 보호 경로)
- docs/sfr-traceability.md — V029→V030, 48→51 테이블, SFR-10 에 GEAR_IDENTITY_COLLISION 추가
- docs/sfr-user-guide.md — 어구 정체성 충돌 페이지 섹션 신설
- docs/system-flow-guide.md — 노드 수 102→115, V030 manifest 미반영 경고
- backend/README.md — "Phase 2 예정" 상태 → 실제 운영 구성 + PR #79 hotfix 요구사항 전면 재작성
2026-04-17 11:20:53 +09:00
b0d9630dde
docs: 릴리즈 노트 정리 (2026-04-17.4)
2026-04-17 07:42:44 +09:00
f92810b1b4
docs: 릴리즈 노트 정리 (2026-04-17.3)
2026-04-17 07:34:27 +09:00
9a9388c37a
docs: 릴리즈 노트 업데이트
2026-04-17 07:28:14 +09:00
ed48735310
docs: 릴리즈 노트 정리 (2026-04-17.2)
2026-04-17 07:18:19 +09:00
831045ace9
docs: 프로젝트 산출문서 2026-04-17 기준 정비
...
- docs/architecture.md: shared/components/ui 9개·i18n 네임스페이스 갱신
- docs/sfr-traceability.md: v3.0 전면 재작성 (운영 상태 기반 531 라인)
- docs/sfr-user-guide.md: 헤더 + SFR-01/02/09/10/11/12/13/17 구현 현황 갱신
- docs/data-sharing-analysis.md / next-refactoring.md / page-workflow.md: stale 3건 제거
2026-04-17 06:52:51 +09:00
fe43f6b022
docs: 릴리즈 노트 정리 (2026-04-17)
2026-04-17 05:37:39 +09:00
5731fa30a1
docs: 릴리즈 노트 업데이트 (PR #C 디자인시스템 정비)
2026-04-16 17:09:32 +09:00
03f2ea08db
docs: 릴리즈 노트 업데이트 (PR #B i18n 정비)
2026-04-16 16:32:53 +09:00
bb40958858
docs: 릴리즈 노트 업데이트 (PR #A 구조 정비)
2026-04-16 16:19:02 +09:00
9063095a9b
docs: 릴리즈 노트 정리 (2026-04-16.7)
2026-04-16 15:25:36 +09:00
3372d06545
docs: 릴리즈 노트 업데이트
2026-04-16 15:22:51 +09:00
49c11e7b4a
docs: 릴리즈 노트 정리 (2026-04-16.6)
2026-04-16 14:38:59 +09:00
a9f81c6c7e
docs: 릴리즈 노트 업데이트
2026-04-16 14:35:43 +09:00
3248ec581b
docs: 릴리즈 노트 정리 (2026-04-16)
2026-04-16 11:37:15 +09:00
f1dc9f7a5a
docs: 릴리즈 노트 업데이트
2026-04-16 11:36:22 +09:00
15e17759f8
docs: 릴리즈 노트 정리 (2026-04-16)
2026-04-16 11:09:17 +09:00
20e2b029c5
docs: 릴리즈 노트 업데이트
2026-04-16 11:07:06 +09:00
9c74459acc
docs: 릴리즈 노트 정리 (2026-04-16.3)
2026-04-16 08:44:17 +09:00
e6b053dfa2
Merge remote-tracking branch 'origin/develop' into feature/admin-ds-rbac-refactor
...
# Conflicts:
# docs/RELEASE-NOTES.md
2026-04-16 08:43:33 +09:00
a68945bd07
docs: 릴리즈 노트 업데이트
2026-04-16 08:40:07 +09:00
77b6fc9b14
docs: 릴리즈 노트 정리 (2026-04-16.2)
2026-04-16 08:03:32 +09:00
dd0a934203
docs: 릴리즈 노트 정리 (2026-04-16)
2026-04-16 07:48:23 +09:00
9d538cffd8
docs: 릴리즈 노트 업데이트
2026-04-16 07:45:14 +09:00
8ff04a8cca
feat(prediction): DAR-03 탐지 로직 보강 + 한중어업협정 906척 레지스트리 적재
...
- V029: kcg.fishery_permit_cn 신규 테이블(연단위, permit_year+permit_no 복합 유니크) + fleet_vessels permit_year/fishery_code 컬럼
- load_fishery_permit_cn.py: xls → DB 적재 스크립트, 906척 + 497 신청인사 upsert
- G-04/G-05/G-06 Dead code 해결: classify_gear_violations 호출 연결, dir() 버그 제거
- find_pair_candidates: bbox 1차 + 궤적 유사도(location/sog_corr/cog_alignment) 2차, role 가점
- spoofing 산식 교체: 1시간 윈도우 + teleport 절대 가점 + extreme 50kn 단독 0.6 확정
- transshipment 선종 완화: shipTy 부분일치 + 412* FISHING 간주
- gear_code DB write 경로 신설 + fleet_tracker API 3개 추가
- cron 스크립트: fishery_permit/pair_type/fleet_role 신규 섹션
2026-04-16 07:43:24 +09:00
1cc4c9dfd7
docs: 릴리즈 노트 정리 (2026-04-15)
2026-04-15 13:42:06 +09:00
52ac478069
docs: 릴리즈 노트 [Unreleased] DAR-03 + 모선 검토 + 리플레이 항목 추가
2026-04-15 13:29:01 +09:00
9076797699
docs: 릴리즈 노트 정리 (2026-04-14)
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 08:20:30 +09:00
56af7690fb
docs: 릴리즈 노트 [Unreleased] 탐지 워크플로우 UI 항목 추가
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 08:09:34 +09:00
6f68dce380
docs: 릴리즈 노트 정리 (2026-04-13.2)
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 11:50:31 +09:00
feb28dbb85
docs: 릴리즈 노트 [Unreleased] LGCNS 디자인 시스템 전환 항목 추가
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 11:45:42 +09:00
2eddd01d17
docs: 릴리즈 노트 정리 (2026-04-13)
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 11:14:44 +09:00
df75e085a7
docs: 릴리즈 노트 [Unreleased] LGCNS MLOps + AI 보안 메뉴 항목 추가
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 11:12:19 +09:00
a08071edce
docs: 릴리즈 노트 정리 (2026-04-09.2)
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 16:04:10 +09:00
a498cfdbe7
docs: 릴리즈 노트 [Unreleased] 메뉴 DB SSOT 항목 추가
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 16:02:55 +09:00
1147b96b00
docs: 워크플로우 연결 릴리즈 노트 [Unreleased] 갱신
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 12:17:17 +09:00