kjh2064
d35e8311d6
fix: validate_gas_thin_adapter_v1.py — audit JSON 필드명 매핑 수정
...
audit_gas_thin_adapter_v1.py(Phase-1) 출력 형식(summary.forbidden_count,
summary.total_functions)을 올바르게 읽도록 elif audit 브랜치 수정.
수정 전: forbidden=0, coverage=0.0 → gate=FAIL
수정 후: forbidden=23, coverage=100.0, migration_plan=true → gate=PASS
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-14 10:39:37 +09:00
kjh2064
2c6c5ffc11
Merge pull request 'docs: B1_gas_backdata_feature_bank spec/16 PLANNED → DONE' ( #37 ) from feature/backdata-feature-bank-done into main
2026-06-14 10:35:14 +09:00
kjh2064
81727918b3
docs: B1_gas_backdata_feature_bank 구현 완료 확인 — spec/16 PLANNED → DONE
...
GAS 쪽: syncBackdataFeatureBank_() gdf_02_harness_assembly.gs:146에서 호출 중
Python 쪽: synthesize_backdata_feature_bank(), normalize_backdata_harness_payload(),
_backdata_feature_bank_table(), validate_harness_context backdata 검증 모두 구현됨
implementation_plan 4개 스텝 전부 DONE으로 갱신.
T+20 데이터 누적 후 ML 패턴 학습 품질 자동 향상.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-14 10:34:21 +09:00
kjh2064
f2b7989e88
Merge pull request 'feat: GAS_THIN_ADAPTER_POLICY_V1 Phase-1 Inventory' ( #36 ) from feature/gas-thin-adapter-phase1-inventory into main
...
feat: GAS_THIN_ADAPTER_POLICY_V1 Phase-1 Inventory (#36 )
2026-06-14 10:31:54 +09:00
kjh2064
09dea9452d
feat: GAS_THIN_ADAPTER_POLICY_V1 Phase-1 Inventory 완료
...
tools/audit_gas_thin_adapter_v1.py 신규 작성:
- src/gas_adapter_parts/*.gs 9개 파일, 총 273개 함수 스캔
- allowed/forbidden/mixed/unknown 키워드 기반 분류
- Temp/gas_business_logic_audit_v1.json 출력 (gitignored)
- 이전 후보(forbidden) 23개 확인: sizing/stop_loss/take_profit/risk_score/decision
결과 요약:
- compliance_pct: 38.1% (allowed 104 / 273)
- forbidden: 23 (calcPrices_, calcTpQuantityLadder_, buildOrderBlueprint_ 등)
- mixed: 15 (collect + forbidden 겸용)
spec/39_gas_thin_adapter_policy.yaml 업데이트:
- migration_plan.status: PLANNED → IN_PROGRESS
- inventory_result 필드 추가 (수치 기록)
- inventory phase status: DONE
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-14 10:25:30 +09:00
kjh2064
7ae7f918aa
Merge pull request 'chore: add package-lock.json for reproducible npm cache' ( #35 ) from feature/add-package-lock into main
2026-06-14 10:13:37 +09:00
kjh2064
8948c2a6fc
chore: package-lock.json 추가 (npm 의존성 재현성 확보)
...
node_modules 캐시 해시를 no-lock에서 실제 lock 파일 해시로 전환.
222개 패키지, 플랫폼 의존 바이너리 없음 (ARMv7l 호환).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-14 10:13:07 +09:00
kjh2064
fe5c7f43a9
Merge pull request 'chore: gitignore runtime/lineage_events.jsonl' ( #34 ) from feature/gitignore-lineage-events into main
...
chore: gitignore runtime/lineage_events.jsonl
2026-06-14 10:12:33 +09:00
kjh2064
a9d4400831
chore: runtime/lineage_events.jsonl .gitignore 추가 및 추적 해제
...
append-only 런타임 감사 로그는 매 DAG 실행마다 증가하며
merge conflict를 유발하는 런타임 아티팩트 — git 추적 불필요.
파일은 로컬에서 그대로 유지됨.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-14 10:11:46 +09:00
kjh2064
1d3cb8fe67
Merge pull request 'fix(ci): always() 제거 + Synology venv pip fallback + LOCK_HASH 빈값 처리' ( #33 ) from feature/fix-ci-notify-always-condition into main
...
Reviewed-on: http://192.168.123.100:8418/KimJaeHyun/myfinance/pulls/33
2026-06-14 09:59:58 +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
40409c5785
Merge pull request 'ci: remove Validate Behavioral Coverage (requires B03/B04 artifacts, not available in CI)' ( #31 ) from feature/fix-ci-pip-3.8-url into main
2026-06-13 22:38:37 +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
0dcb7632c7
Merge pull request 'ci: node_modules cache (package-lock.json hash-based)' ( #30 ) from feature/fix-ci-pip-3.8-url into main
2026-06-13 22:29:04 +09:00
kjh2064
4aa8f54279
fix: build_yaml_code_coverage_v1 Temp 디렉토리 없을 때 FileNotFoundError 수정
...
CI checkout에 Temp/ 디렉토리가 없어서 json 출력 실패.
write_text 전에 mkdir(parents=True) 추가.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-13 22:24:16 +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
3316d022f7
Merge pull request 'fix: validate_specs Temp/ 런타임 아티팩트 CI 파일 존재 체크 스킵' ( #29 ) from feature/fix-ci-pip-3.8-url into main
2026-06-13 22:11:11 +09:00
kjh2064
44141ecbee
fix(validate_specs): Temp/ 런타임 아티팩트 파일 존재 체크 CI 스킵
...
load_sequence / bundle_profiles 파일 존재 검증 시
Temp/ 경로는 런타임 생성 아티팩트이므로 CI 체크아웃 환경에서
존재하지 않음 → 파일명이 Temp/로 시작하면 체크 스킵
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-13 22:04:24 +09:00
kjh2064
9d72eb73ee
Merge pull request 'ci: numpy/pandas ARM 설치를 micromamba(conda-forge)로 전환' ( #28 ) from feature/fix-ci-pip-3.8-url into main
2026-06-13 21:55:08 +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
29a087dde1
Merge pull request 'ci: npm PATH 인라인 export 추가 (Configure Runtime Paths 스텝 수정)' ( #27 ) from feature/fix-ci-pip-3.8-url into main
2026-06-13 21:42:22 +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
db85a83650
Merge pull request 'ci: 시놀로지 설치 경로 직접 참조로 변경 (설치 단계 제거)' ( #26 ) from feature/fix-ci-pip-3.8-url into main
...
ci: 시놀로지 설치 경로 직접 참조로 변경 (설치 단계 제거)
2026-06-13 21:33:20 +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
7144b259a3
ci: 시놀로지 distutils msvccompiler get_build_version stub 함수 추가 완료에 따른 빌드 재실행
2026-06-13 20:51:55 +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
c38e719dd0
Merge branch 'main' into feature/fix-ci-pip-3.8-url
2026-06-13 20:25:23 +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
2c5454d288
Merge pull request 'Fix: 시놀로지 CI 러너 Python 3.8 호환 get-pip URL 적용' ( #25 ) from feature/fix-ci-pip-3.8-url into main
...
Reviewed-on: http://192.168.123.100:8418/KimJaeHyun/myfinance/pulls/25
2026-06-13 20:22:46 +09:00
kjh2064
2626a0e4a3
Fix: 파이썬 3.8 환경에 호환되는 get-pip.py 다운로드 URL로 교체
2026-06-13 20:16:57 +09:00
kjh2064
98cb256a7a
Merge pull request 'Fix: 시놀로지 CI 러너의 pip 부재 오류 해결' ( #24 ) from feature/fix-ci-node-missing into main
...
Reviewed-on: http://192.168.123.100:8418/KimJaeHyun/myfinance/pulls/24
2026-06-13 20:13:42 +09:00
kjh2064
3fc43367b9
Fix: 시놀로지 CI 러너의 pip 부재 오류 해결 및 --user 영역 설치 구성
2026-06-13 20:12:02 +09:00
kjh2064
7c0dbf0d9b
Merge pull request 'Fix: 시놀로지 CI 러너의 node 부재로 인한 Checkout 실패 우회' ( #23 ) from feature/fix-ci-node-missing into main
...
Reviewed-on: http://192.168.123.100:8418/KimJaeHyun/myfinance/pulls/23
2026-06-13 20:08:31 +09:00
kjh2064
5f619186ae
Fix: 시놀로지 CI 러너의 node 부재 해결을 위해 Checkout 단계를 수동 git 명령으로 대체
2026-06-13 20:05:39 +09:00
kjh2064
a37ee5dab4
Merge pull request 'Fix: PyYAML 5.x composer 에러 해결 (유니코드 가로선 제거)' ( #22 ) from feature/wbs-gas-lib-versioning into main
...
Reviewed-on: http://192.168.123.100:8418/KimJaeHyun/myfinance/pulls/22
2026-06-13 19:15:54 +09:00
kjh2064
d39e6a034d
Fix: PyYAML 5.x composer 에러 해결을 위해 13b_harness_formulas.yaml 내 유니코드 가로선 제거
2026-06-13 19:04:54 +09:00
kjh2064
a3073ab498
Merge pull request 'WBS: gas_lib.gs 일시 버저닝 주석 추가' ( #21 ) from feature/wbs-gas-lib-versioning into main
...
Reviewed-on: http://192.168.123.100:8418/KimJaeHyun/myfinance/pulls/21
2026-06-13 18:59:47 +09:00