kjh2064
b1bb40c384
WBS-7.5: 임시 하드코딩 폴백 정규화 (3개 항목)
...
모든 hardcoding을 calibration_registry.yaml에 threshold로 등록:
1. MRS_CIRCUIT_BREAKER_ADJUSTMENT_PTS = 2 (pts)
- 위치: spec/risk/circuit_breakers.yaml:192 (이전: "MRS +2점 (임시)")
- 용도: sector_crash_intraday_protocol tier_B 조치에서 현금 보수성 강화
- 정규화: spec/risk/circuit_breakers.yaml에서 threshold 참조로 변경
2. CLUSTER_CAP_CLA_REGIME_PER = 60 (%)
- 위치: spec/risk/portfolio_exposure.yaml:403 (이전: "O2 상한 임시 해제")
- 용도: CLA 레짐 발동 시 cluster 결합 노출 상한 일시 상향
- 정규화: spec/risk/portfolio_exposure.yaml에서 threshold 참조로 변경
3. OVERHANG_PRESSURE_V1_FALLBACK_MULT = 1.5 (배수)
- 위치: spec/13_formula_registry.yaml:1223
- 상태: 이미 정규화됨 (절대값 -500000 → 평균거래량 비례식)
모든 threshold: EXPERT_PRIOR 등록, 실거래 표본 부재
- sunset_date: 2026-12-31
- 칼리브레이션 조건: sample_n 10+ (MRS) / 5+ (CLUSTER) 확보 후 실측 효과 검증
테스트: 135/135 PASS
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com >
2026-06-22 22:57:32 +09:00
kjh2064
2eaa981b61
WBS-7.3: GAS→Python 마이그레이션 4개 항목 추가 완료 (F15, F07, F14 재검증)
...
새로 완료된 항목:
- F15: late_chase_gate 로직 포팅
* formulas/late_chase_gate_v1.py: is_late_chase_blocked() 구현
* tests/parity/test_late_chase_gate_parity_v1.py: 11 parity 테스트 (모두 PASS)
* 두 가지 조건(explicit gate block OR risk score >= 70)을 정확히 포팅
- F07: score_thresholds 상수 모듈 추가
* formulas/score_thresholds_v1.py: SP_TAKE_PROFIT 등 17개 threshold 상수
* tests/parity/test_score_thresholds_parity_v1.py: 9 parity 테스트 (모두 PASS)
* GAS THRESHOLDS 객체의 모든 값 정확히 재현
- F14 재검증: late_chase_risk_score는 GAS 유일 생산처 (Python canonical 없음)
* migration_action: KEEP_IN_GAS로 확정, status: DONE
전체 테스트: 135/135 PASS
완료 현황 (총 15개 항목 중):
✅ DONE (9개): F01, F02, F03, F04, F06, F07, F09, F11, F14, F15
🔴 KEEP_IN_GAS (2개): F08, F14
🕐 TODO (4개): F05 (큰 함수), F10 (큰 함수), F12/F13 (아키텍처 결정 대기)
남은 작업:
- F05/F10: 각각 100+줄 함수(calcExitSellAction_, routing)의 일부
→ 다중 세션 포팅 필요
- F12/F13: KEEP_BOTH_SEPARATE_ROLES (아키텍처 결정 완료, 추가 코딩 불필요)
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com >
2026-06-22 22:49:48 +09:00
kjh2064
af1236202d
WBS-7.3: GAS→Python 마이그레이션 5개 항목 완료 (F14, F02-F06)
...
- F14: late_chase_risk_score 검증
* GAS가 유일한 생산처 (Python canonical 없음)
* migration_action: KEEP_IN_GAS로 정정, status: DONE
- F02/F03/F04/F06: priceBasis 로직 포팅
* formulas/price_basis_v1.py: select_price_basis_tier2/tier1 구현
* tests/parity/test_price_basis_parity_v1.py: 8 parity 테스트 (모두 PASS)
* GAS Number.isFinite() 의미론 정확히 재현 (math.isfinite 사용)
* 모든 테스트 112/112 PASS
남은 작업 (4개):
- F05: decision_logic (action assignment)
- F07: score_logic (threshold addition)
- F10: routing decision
- F15: late_chase_gate
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com >
2026-06-22 22:45:00 +09:00
kjh2064
a419330157
Merge pull request 'Merge feature/kis-collection-enhancements into main' ( #74 ) from feature/kis-collection-enhancements into main
...
Reviewed-on: http://kjh2064.synology.me:8418/kjh2064/myfinance/pulls/74
2026-06-22 19:02:31 +09:00
kjh2064
5bda54c7ba
test(snapshot-admin): stabilize web validation seeds
Snapshot Admin Web Validation / validate-snapshot-admin-smoke (push) Has been cancelled
Snapshot Admin Web Validation / validate-snapshot-admin-full (push) Has been cancelled
2026-06-22 18:59:09 +09:00
kjh2064
4c8048358a
chore(gitea): add PR harness validator
2026-06-22 18:56:30 +09:00
kjh2064
6c549b7bdc
feat(kis-collection): finalize sqlite migration, add fallback resilience, and update WBS documentation
2026-06-22 18:55:59 +09:00
kjh2064
c576138829
Merge pull request 'Merge feature/kis-token-db-cache into main' ( #73 ) from feature/kis-token-db-cache into main
...
Reviewed-on: http://kjh2064.synology.me:8418/kjh2064/myfinance/pulls/73
2026-06-22 18:44:18 +09:00
kjh2064
4624292b50
test(kis-token): add unit tests for SQLite-based OAuth2 token database caching and expiration
2026-06-22 18:40:12 +09:00
kjh2064
00e428f94f
feat(kis-token): transition OAuth2 token cache from JSON files to SQLite database
2026-06-22 18:40:12 +09:00
kjh2064
3456f58d63
WBS-7.11: Extend spec-to-code mapping to 20% coverage and pass all validations
2026-06-22 18:40:12 +09:00
kjh2064
4f6341184b
feat(kis-token): transition OAuth2 token cache from JSON files to SQLite database
2026-06-22 18:14:45 +09:00
kjh2064
712b16bc73
Merge pull request 'data_feed/macro 원자료 Python/SQLite 수집 확장 + distribution_risk 역할분리' ( #72 ) from codex/roadmap-publish into main
...
Reviewed-on: http://kjh2064.synology.me:8418/KimJaeHyun/myfinance/pulls/72
2026-06-22 14:57:57 +09:00
kjh2064
514b54433b
Merge origin/main into codex/roadmap-publish
2026-06-22 14:55:43 +09:00
kjh2064
e4be187973
WBS-7.11: Extend spec-to-code mapping to 20% coverage and pass all validations
2026-06-22 12:34:30 +09:00
kjh2064
f90fc0afb3
WBS-7.3: Complete GAS-to-Python parity checks for take-profit pricing basis, decision routing and scoring thresholds (F02-F07) with test suite expansion
2026-06-22 11:41:40 +09:00
kjh2064
e8d9912cfc
WBS-7.3.6: Verify stop_loss_gate (F11) and late_chase_gate (F15) decisions parity via test expansion
2026-06-22 11:27:55 +09:00
kjh2064
84df6e1f7e
Refactor unit tests to remove pytest dependency and use unittest.TestCase
2026-06-22 11:18:57 +09:00
kjh2064
dcd73de05f
WBS-7.3.4: Updated migration ledger status to DONE for F12, F13, F14 findings after establishing parity
2026-06-22 10:55:47 +09:00
kjh2064
bdaa0173f2
WBS-7.13: Implemented late_chase_risk_score parity unit tests to verify algorithm correctness
2026-06-22 10:54:06 +09:00
kjh2064
2701721d4b
WBS-7.12: Implemented stop_loss_gate parity unit tests to verify stop loss logic matches specification
2026-06-22 10:51:53 +09:00
kjh2064
39ee9c620f
WBS-7.3.1: Upgraded distribution_risk_score algorithm to match GAS and implemented parity tests
2026-06-22 10:42:00 +09:00
kjh2064
b5ef2017a2
WBS-7.11: PostgreSQL polymorphic store driver & placeholder mapping in data_collection_store_v1.py
2026-06-22 10:28:07 +09:00
kjh2064
93f046c76c
WBS-7.9, WBS-7.10: KIS data collection fallback resiliency & deploy_gas.py pre-deploy thin-adapter lint integration
2026-06-22 10:25:23 +09:00
kjh2064
4266039d1c
snapshot admin workbook inventory
2026-06-22 02:43:58 +09:00
kjh2064
6d4ee39e04
WBS-7.3 F12/F13: distribution_risk 두 공식 역할 분리 확정(KEEP_BOTH)
...
GAS calcDistributionRiskRow_의 "THIN_ADAPTER: delegated to Python" 주석이
틀린 주석이었음을 발견 — GAS(DISTRIBUTION_RISK_SCORE_V1, 점수식 BUY 차단
게이트)와 Python calc_distribution_detector_per_ticker(DISTRIBUTION_SELL_DETECTOR_V1,
6신호 카운트, PRE_DISTRIBUTION_EARLY_WARNING 정밀도 보완)는 이미 spec에
서로 다른 고유 formula_id로 등록된 독립 공식이었다. "GAS가 Python의 중복"
이라는 ledger 전제가 거짓이었을 뿐, 코드는 원래부터 올바르게 분리돼 있었다.
사용자 결정(둘 다 유지, 역할 분리)에 따라:
- GAS 소스의 잘못된 주석 정정(gdf_03_portfolio_gates.gs) + 번들 재생성
- 양쪽 formula_registry에 상호 related_formula 참조 추가(향후 혼동 방지)
- governance/gas_logic_migration_ledger_v1.yaml: migration_action을
DELETE_DISTRIBUTION_RISK_GAS → KEEP_BOTH_SEPARATE_ROLES로 변경, DONE
2026-06-22 02:29:50 +09:00
kjh2064
2af3681fb9
WBS-7.9: keep push CI on core validation only
2026-06-22 01:47:57 +09:00
kjh2064
5c94564c9f
Gitea Act Runner — Synology 기동 스크립트 + 토큰 홈 검증 도구
...
로컬 워크스페이스에서 Gitea Actions를 검증·디스패치할 수 있는
GITEA_TOKEN_HOME API 토큰 계약과, Synology에서 act_runner를
기동하는 스크립트를 추가한다.
- validate_gitea_token_home_v1.py: 저장소 메타데이터 조회, 워크플로
접근 확인, workflow_dispatch 트리거 + 최신 실행 결과 폴링
- start_act_runner_synology.sh: Synology 환경에서 act_runner 기동
- setup_act_runner.sh: 기동 절차 갱신
2026-06-22 01:44:22 +09:00
kjh2064
cfcf65f822
WBS-7.9: split CI core and ui/storage validation jobs
2026-06-22 01:42:38 +09:00
kjh2064
89b4c118d1
GAS 번들 빌드/동기화 파이프라인 추가
...
src/gas/core/, src/gas_adapter_parts/의 모듈 소스를 clasp push 대상인
루트 .gs 번들(gas_lib.gs, gas_data_collect.gs, gas_data_feed.gs)로
해시 검증과 함께 생성한다. 번들 파일에는 "GENERATED — DO NOT EDIT
MANUALLY" 헤더와 소스 해시를 새겨 수동 편집 드리프트를 방지한다.
- build_gas_bundle_v1.py: 소스→번들 생성, 해시 헤더 삽입
- validate_gas_bundle_sync_v1.py: 번들이 현재 소스 해시와 일치하는지 검증
- audit_tools_thin_wrapper_v1.py: tools/ CLI가 핵심 로직 없이 thin
wrapper로만 동작하는지 감사
- deploy_gas.py: 번들 빌드 파이프라인과 연동
2026-06-22 01:42:36 +09:00
kjh2064
530cb5f47a
WBS-7.9: 로컬 loopback에서 Basic Auth 게이트 실측 검증
...
Synology 실배포는 검증 불가하지만, 인증 게이트 자체(401/wrong-401/correct-200,
WWW-Authenticate 헤더)는 로컬에서 --auth-user/--auth-password로 재현해 문서의
실측 절차 1)·3) 기대값과 정확히 일치함을 확인했다. 2)/5)/6)은 실제 NAS·공개
호스트명이 필요해 사용자가 직접 수행해야 함을 명시했다.
2026-06-22 01:39:47 +09:00
kjh2064
47184a2f25
WBS-7.9: trim CI cache-hit overhead and wait for deploy readiness
2026-06-22 01:38:11 +09:00
kjh2064
4b1a33ba48
WBS-7.11 2차 확장: spec-코드 동기화 태깅 12→20개 (7.5%→12.5%)
...
이미 harness_file:/python_tool:/validator: 필드로 1:1 코드 매핑을
스스로 명시하고 있던 H001~H008 결정론적 하네스 계약 7개(spec/52~58)와
spec/32(canonical_artifact_resolver), spec/37(evaluation_dashboard_contract)에
has_code_implementation/code_path를 추가했다. 모든 대상 파일의 code_path
실존을 사전 확인했다.
governance/rules/00~05, spec/40·45·46·gas_adapter_contract 등 다중 구현체에
걸친 계약은 단일 code_path로 환원하면 거짓 1:1 매핑이 되므로 의도적으로
제외했다(WBS-7.11 핵심 원칙 유지).
2026-06-22 01:36:55 +09:00
kjh2064
6ed2da7a9d
WBS-7.9: wait for snapshot admin readiness before verify
2026-06-22 01:30:14 +09:00
kjh2064
32716ec15e
fix: Gitea secrets 계약 테스트를 vars.* 키 네이밍으로 동기화
...
tools/validate_gitea_secrets_contract_v1.py가 secrets.KIS_APP_KEY에서
vars.KIS_APP_KEY로 검증 키를 변경했으나 테스트가 갱신되지 않아 회귀.
2026-06-22 01:29:47 +09:00
kjh2064
744372f75c
WBS-7.9: target snapshot admin deploy host runner
2026-06-22 01:07:39 +09:00
kjh2064
05ee10079d
WBS-7.9: improve snapshot admin run clarity
2026-06-22 01:02:17 +09:00
kjh2064
ae10512170
Merge remote-tracking branch 'origin/main' into codex/roadmap-publish
2026-06-22 00:58:55 +09:00
kjh2064
316e1fd08c
WBS-7.9: clarify snapshot admin smoke gate
2026-06-22 00:58:21 +09:00
kjh2064
d280ef8e69
WBS-7.9: split snapshot admin deploy workflow
2026-06-22 00:51:42 +09:00
kjh2064
e32cbf49e5
WBS-7.9: wire snapshot admin CI deploy
2026-06-22 00:42:02 +09:00
kjh2064
f2e304a508
fix: clarify platform transition wbs failure notes
2026-06-21 23:40:53 +09:00
kjh2064
e1ce6b3d88
Merge pull request 'Make mock KIS validation dry-run only' ( #70 ) from codex/roadmap-publish into main
2026-06-21 23:23:16 +09:00
kjh2064
3002149fce
fix: dry-run mock KIS validation in workflows
2026-06-21 23:22:22 +09:00
kjh2064
640b83080b
Merge pull request 'Reinstall cached workflow deps and add snapshot admin pyyaml setup' ( #69 ) from codex/roadmap-publish into main
2026-06-21 23:18:45 +09:00
kjh2064
610b9b1330
fix: reinstall workflow deps on cached venvs
2026-06-21 23:17:57 +09:00
kjh2064
08e43567a3
Merge pull request 'Fix Synology Python 3.8 compatibility and KIS validation deps' ( #68 ) from codex/roadmap-publish into main
2026-06-21 23:11:31 +09:00
kjh2064
febd85d95e
fix: synology py38 compatibility and KIS validation deps
2026-06-21 23:09:55 +09:00
kjh2064
c76f763e64
docs: snapshot WBS-4 gated status
2026-06-21 22:50:42 +09:00
kjh2064
3c49b2d712
Merge pull request 'Synology KIS workflow recovery, branch checkout fix, and seed JSON tracking' ( #67 ) from codex/roadmap-publish into main
...
Reviewed-on: http://192.168.123.100:8418/KimJaeHyun/myfinance/pulls/67
2026-06-21 22:49:14 +09:00