kjh2064
c1e84a387c
chore: 워크플로우 및 클라우드 가이드 내 잔여 시놀로지(Synology) 참조 제거
WBS-9.3 - NULL Policy CI Gate / NULL Policy Validation (pull_request) Failing after 4s
Quant Engine CI/CD Pipeline / validate-core (pull_request) Failing after 2m14s
Quant Engine CI/CD Pipeline / validate-ui-and-storage (pull_request) Has been skipped
2026-06-26 11:12:50 +09:00
kjh2064
1690510999
Merge pull request '[CHORE] Gitea CI 워크플로우 runs-on 라벨 수정' ( #5 ) from feature/ci-runner-update into main
...
Quant Engine CI/CD Pipeline / validate-core (push) Failing after 2m14s
Quant Engine CI/CD Pipeline / validate-ui-and-storage (push) Has been skipped
Reviewed-on: http://178.104.200.7/kjh2064/QuantEngineByItz/pulls/5
2026-06-25 15:27:16 +09:00
kjh2064
7cce836cc6
chore(ci): update workflow runs-on label to ubuntu-latest
Quant Engine CI/CD Pipeline / validate-core (pull_request) Failing after 2m33s
Quant Engine CI/CD Pipeline / validate-ui-and-storage (pull_request) Has been cancelled
WBS-9.3 - NULL Policy CI Gate / NULL Policy Validation (pull_request) Failing after 37s
2026-06-25 15:24:57 +09:00
kjh2064
27730704ae
test(validation): 토큰 위생 및 플랫폼 통합 검증 체계 고도화
Snapshot Admin Web Validation / validate-snapshot-admin-smoke (push) Has been cancelled
Snapshot Admin Web Validation / validate-snapshot-admin-full (push) Has been cancelled
Quant Engine CI/CD Pipeline / validate-core (pull_request) Has been cancelled
Quant Engine CI/CD Pipeline / validate-ui-and-storage (pull_request) Has been cancelled
WBS-9.3 - NULL Policy CI Gate / NULL Policy Validation (pull_request) Has been cancelled
2026-06-24 18:06:05 +09:00
kjh2064
2af3681fb9
WBS-7.9: keep push CI on core validation only
2026-06-22 01:47:57 +09:00
kjh2064
cfcf65f822
WBS-7.9: split CI core and ui/storage validation jobs
2026-06-22 01:42:38 +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
3002149fce
fix: dry-run mock KIS validation in workflows
2026-06-21 23:22:22 +09:00
kjh2064
610b9b1330
fix: reinstall workflow deps on cached venvs
2026-06-21 23:17:57 +09:00
kjh2064
febd85d95e
fix: synology py38 compatibility and KIS validation deps
2026-06-21 23:09:55 +09:00
kjh2064
4c00229442
KIS·정성매도·스냅샷어드민·캘리브레이션을 CI/npm/문서에 통합 배선
...
이전 커밋들에서 추가한 기능을 실제로 동작시키는 배선 작업.
- .gitea/workflows/ci.yml: No Direct API Trading 게이트, KIS 자격증명
검증(mock), 캘리브레이션 백로그 빌드, 정성매도 파이프라인 검증,
Gitea secrets 계약 검증, snapshot admin 워크플로/웹 검증 단계 추가
- package.json: ops:data-collect, ops:sell-*, ops:snapshot-*,
ops:calibration-* npm 스크립트 추가
- src/gas/core/gas_lib.gs doPost(): "trigger_run_all" action 추가 —
Gitea CI가 공유 비밀키로 run_all()을 원격 트리거(주문 실행 없음,
governance/rules/06·07과 동일 원칙)
- tools/trigger_gas_run_all_v1.py: 위 GAS 엔드포인트를 호출하는 CLI
- AGENTS.md/README.md: 신규 파일 인덱스 및 사용 가이드 갱신
2026-06-21 20:11:26 +09:00
kjh2064
0823d1b5a8
fix: CI venv hash-cache + sector exposure renderer + auditor registration
...
- ci.yml: venv 해시 기반 캐싱 적용 (validate_specs.py md5 기준), requirements.txt 불필요 스텝 제거
- harness_coverage_auditor.py: sector_trend_analysis.py, etf_representative_monitor.py PY_FILES 등록
- render_operational_report.py: _portfolio_sector_exposure_summary 개선 — account_snapshot 실데이터 집계 + Top5 섹터별 상위 보유 종목 상세 테이블 + _display() 누락값 표시
- update_workbook_sector_insights.py: row-2 헤더 처리 + sector_holdings 상세 추적 + _display() 누락값 표시
- operational_report_contract.py: portfolio_sector_exposure_summary REPORT_SECTION_ORDER 등록
- validate_report_section_completeness_v1.py: 동일 섹션 추가
- build_architecture_boundaries_v2.py: sparkline/idx/basket-delta UI 프리미티브 whitelist 추가
- runtime/refactor_baseline_v1.yaml: 엔트로피 베이스라인 갱신 (1692 files, gate=PASS)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-14 21:16:32 +09:00
kjh2064
ea172633bb
fix(ci): Notify PR Result 에서 always() 제거 — act_runner v0.2.11 job failure 오보 수정
...
Synology act_runner v0.2.11에서 push 이벤트 시
'if: always() && github.event_name == pull_request'
조건이 스텝을 failure로 잘못 처리해 job conclusion이 failure로 오보됨.
실제 CI는 모든 검증 단계 통과(Job succeeded) 했으나 API가 failure 반환.
always() 제거로 push 이벤트에서 스텝이 정상적으로 skip 처리됨.
PR 이벤트에서만 알림 발송 (실패 시 알림 없음은 허용 가능한 트레이드오프).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-14 09:57:34 +09:00
kjh2064
d20e6dce35
ci: Validate Behavioral Coverage 스텝 제거
...
B03(run_formula_golden_cases_v2.py, numpy 필요)과
B04(run_gas_golden_parity.js, Node.js 필요)의 결과물이
CI 환경(ARMv7l, numpy 불가)에 존재하지 않아 항상 FAIL.
로컬에서만 실행 가능한 스텝이므로 CI에서 제거.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-13 22:37:48 +09:00
kjh2064
fb8833b66e
ci: node_modules 영구 캐시 추가 (package-lock.json 해시 기반)
...
매 CI 실행마다 npm install 5분 소요 문제 해결:
- /volume1/gitea/node_cache/<lock-hash>/node_modules 에 캐시 저장
- 캐시 히트 시 symlink로 즉시 연결 (~1초)
- package-lock.json 변경 시에만 재설치
- 오래된 캐시 자동 정리 (최근 3개 유지)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-13 22:12:48 +09:00
kjh2064
30f6814fcf
ci: ARMv7l 제약 반영 — 순수Python 검증 게이트로 재편
...
DS216j 32-bit ARM 환경 제약:
- numpy/pandas: 공식 휠 없음(PyPI/piwheels/conda-forge 모두)
- gcc: 미설치, 소스 빌드 불가
CI 역할 재정의:
- 코드 구조 검증 게이트 (pyyaml, openpyxl만 설치)
- validate_specs / formula_registry / golden_coverage / behavioral_coverage / harness_auditor
- numpy 의존 스텝(ingest, release_dag, bundle) 제거 → 로컬 실행
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-13 21:54:10 +09:00
kjh2064
393e4df27c
ci: numpy/pandas ARM 설치를 micromamba(conda-forge)로 전환
...
32-bit ARM(armv7l) + Python 3.8 조합은 공식 pip 휠 없음:
- PyPI: manylinux aarch64만 제공 (64-bit)
- piwheels: cp38 armv7l 휠 없음 (cp311+ 만 제공)
- 소스 빌드: gcc 미설치로 불가
해결: micromamba(linux-32) + conda-forge
- conda-forge는 armv7l 네이티브 바이너리 제공
- /volume1/gitea/micromamba, /volume1/gitea/conda_py38 영구 저장
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-13 21:50:36 +09:00
kjh2064
d5121753e3
ci: ARM venv 설치 piwheels 사용 및 설치 완료 체크 강화
...
- numpy 먼저 설치 → pandas oldest-supported-numpy 1.17.3 소스빌드 방지
- piwheels.org ARM 사전빌드 휠로 소스 컴파일 없이 설치
- 버전 핀 완화: numpy>=1.20 / pandas>=1.5 (ARM 휠 가용 버전 수용)
- venv 체크: pip 존재 여부 → numpy/pandas import 가능 여부로 변경
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-13 21:39:31 +09:00
kjh2064
acc279d69e
ci: Configure Runtime Paths 스텝 내 PATH 인라인 export 추가
...
npm shebang(#!/usr/bin/env node)이 현재 스텝 PATH를 참조하므로
$GITHUB_PATH 외에 export PATH=/usr/local/bin:$PATH 인라인 추가
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-13 21:34:31 +09:00
kjh2064
1fda3ca0d2
ci: 시놀로지 설치 경로 직접 참조로 변경 (설치 단계 제거)
...
- Python: /usr/bin/python3 (3.8.12) 고정 사용
- Node.js: /usr/local/bin 을 PATH에 추가 (v18.18.2 appstore 설치)
- Python deps: /volume1/gitea/python_venv 영구 venv로 최초 1회만 설치
- 이후 CI 실행은 venv 재사용 → pip 재설치 단계 불필요
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-13 21:27:25 +09:00
kjh2064
b6ef6dfd74
ci: numpy 빌드 호환성을 위해 Cython<3.0 으로 버전 제한 추가
2026-06-13 20:56:27 +09:00
kjh2064
d8a8917c55
ci: 파이프라인에서 인라인 stub 생성을 제거하고 환경 레벨 가이드로 우회
2026-06-13 20:46:51 +09:00
kjh2064
692ae74010
ci: distutils stub 파일에 CygwinCCompiler, MSVCCompiler mock 클래스 정의 추가
2026-06-13 20:42:26 +09:00
kjh2064
4c01393891
ci: 표준 라이브러리 distutils에 cygwinccompiler.py, msvccompiler.py stub 생성 추가
2026-06-13 20:40:48 +09:00
kjh2064
db3a19800d
ci: setuptools==59.6.0 강제 재설치로 빌드 격리 해제 컴파일 호환성 확보
2026-06-13 20:39:14 +09:00
kjh2064
05a2056a3a
ci: armv7l 환경의 numpy, pandas 빌드를 위해 --no-build-isolation 및 의존성 사전설치 추가
2026-06-13 20:37:59 +09:00
kjh2064
9e23f0a65a
ci: 파이프라인에서 numpy 빌드 오류 해결을 위해 setuptools 60 미만 다운그레이드 추가
2026-06-13 20:34:56 +09:00
kjh2064
4151cd2345
Fix: 빌드 격리로 인한 numpy 재컴파일을 원천 차단하기 위해 --no-build-isolation 추가 및 SETUPTOOLS_USE_DISTUTILS=stdlib 구성
2026-06-13 20:33:11 +09:00
kjh2064
d0e38cd864
Fix: 파이썬 3.8 컴파일 예방을 위해 의존성 버전을 3.8 최적 버전으로 고정 구성
2026-06-13 20:30:42 +09:00
kjh2064
4535033746
Fix: 파이썬 3.8 환경의 소스 컴파일 원천 차단을 위해 --prefer-binary 옵션 복구 및 추가
2026-06-13 20:29:15 +09:00
kjh2064
7a4ce3842f
Fix: 파이썬 3.8 컴파일 환경 호환을 위한 setuptools<60.0 다운그레이드 추가
2026-06-13 20:27:08 +09:00
kjh2064
d367c272da
Fix: 파이썬 3.8 컴파일 방지를 위해 pip install에 --prefer-binary 옵션 추가
2026-06-13 20:24:22 +09:00
kjh2064
784388adeb
Fix: 파이썬 3.8 컴파일 에러 방지를 위해 numpy pre-compiled 버전을 선 설치하도록 구성
2026-06-13 20:23:04 +09:00
kjh2064
2626a0e4a3
Fix: 파이썬 3.8 환경에 호환되는 get-pip.py 다운로드 URL로 교체
2026-06-13 20:16:57 +09:00
kjh2064
3fc43367b9
Fix: 시놀로지 CI 러너의 pip 부재 오류 해결 및 --user 영역 설치 구성
2026-06-13 20:12:02 +09:00
kjh2064
5f619186ae
Fix: 시놀로지 CI 러너의 node 부재 해결을 위해 Checkout 단계를 수동 git 명령으로 대체
2026-06-13 20:05:39 +09:00
kjh2064
5eaf4fb931
feat: add PR CI result notification comment
...
CI 완료(성공/실패) 시 PR에 자동 코멘트 추가.
Gitea 구독 알림과 연동 -> kjh2064@gmail.com 이메일 알림 발송.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-13 18:05:22 +09:00
kjh2064
25f771cc77
feat: WBS-4.4 evaluation_dashboard + CI fix + Synology Gitea 최적화
...
[WBS-4.4] 일별 성과 모니터링 대시보드 구현
- updateEvaluationDashboard_(): gdf_04_execution_quality.gs에 GAS 함수 신규 추가
· daily_history 시트 → total_asset, mdd_pct
· macro 시트 KOSPI Close → 1D 수익률 (직전 행 Close 차이 계산)
· evaluation_dashboard 탭 자동 생성/업데이트 (Date/Total_Asset/KOSPI_Close/
Portfolio_Return_1D_Pct/KOSPI_Return_1D_Pct/Alpha_1D_Pct/Cumulative_Alpha_Pct/MDD_Pct)
- run_all() Step-8로 연결 (gas_lib.gs), runRebalanceSheet_ 이후 실행
[CI/CD] validate_formula_registry.py 수정 (WBS-5.1 완성)
- spec/formulas/manifest.yaml 신규 생성 (domains/manifest.yaml 동일 내용)
- RetirementAssetPortfolio.yaml에 formula_registry_manifest 등록
- validate_specs.py PASS 복원 → run_release_dag_v3 gate=PASS step_count=55
[CI/CD] Synology Gitea act_runner 환경 최적화
- runs-on: ubuntu-latest → self-hosted (NAS host-based runner)
- actions/setup-python / actions/setup-node 제거 (NAS에 직접 설치)
- python → python3 명시
- actions/checkout@v3 → v4
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-13 16:46:44 +09:00
kjh2064
08f4fa2293
[Sprint-3] Complete WBS-2.1, 3.2, 4.1, 5.1 - Fundamental V2, Engine V2, Performance Ledger, and CI/CD
2026-06-13 15:54:14 +09:00
kjh2064
eabacde438
feat: Sprint-3 (펀더멘털 피드 완성, MDD 모니터링 구축, Gitea CI/CD 파이프라인 추가) (2026-06-13)
...
주요 변경 사항:
- tools/ingest_fundamental_raw.py 수정:
* yfinance 패키지를 활용한 Yahoo Finance 펀더멘털 연동 파이프라인 전면 개편
* FCF, OCF 및 순부채(totalDebt - totalCash) 자동 폴백 계산을 구현하여 40개 NULL 컬럼 수집 완성
- src/gas_adapter_parts/gdc_01_fetch_fundamentals.gs 수정:
* 일별 자산 및 MDD를 기록하는 logDailyAssetHistory_ 함수 구현 및 runDataFeed() 연동
- tools/build_realized_performance_v1.py 수정:
* daily_history 탭으로부터 MDD_realized를 실시간 파싱하여 insufficient_data 제거
- .gitea/workflows/ci.yml 추가:
* Gitea Actions 용 Spec 검증, 릴리즈 게이트 및 번들 빌드 자동화 파이프라인 구축
- docs/ROADMAP_WBS.md 수정:
* WBS-2.1, WBS-3.4, WBS-5.1 과업의 체크박스를 완료[x] 상태로 갱신
- 검증 결과: npm run full-gate (55단계 릴리즈 게이트) PASS 검증 완료
Co-Authored-By: Antigravity AI <noreply@google.com >
2026-06-13 14:31:40 +09:00