Commit Graph

139 Commits

Author SHA1 Message Date
kjh2064 5ff358aa43 Merge pull request 'chore: delete stale GAS files shadowed by gas_adapter_parts (gdf_02~06, gdc_01~02, gdf_01)' (#51) from feature/gas-stale-cleanup into main
chore: delete stale GAS files shadowed by gas_adapter_parts
2026-06-14 17:38:36 +09:00
kjh2064 eabc602ef4 chore: delete stale GAS files shadowed by src/gas_adapter_parts/
src/gas/engines/gdf_02~06 and src/gas/collection/gdc_01,gdc_02,gdf_01
are all stale shadows of src/gas_adapter_parts/ versions which include
THIN_ADAPTER comments added in Phase 3 (PR#40).

deploy_gas.py _find() searches gas_adapter_parts/ first, so engines/
and collection/ duplicates were never deployed — removing dead code.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-14 17:38:03 +09:00
kjh2064 8ecf823882 Merge pull request 'fix: session15 pending fixes (blueprint checksum, EJCE warn, harness allowlist, fundamental utf8, macro ticker impact)' (#50) from feature/pending-fixes-session15 into main
fix: session15 pending fixes (blueprint checksum, EJCE warn, harness allowlist, fundamental utf8, macro ticker)
2026-06-14 17:36:17 +09:00
kjh2064 2a1a573e96 fix: 세션14 미커밋 개선사항 일괄 처리
- inject_computed_harness.py: order_blueprint_json blueprint_checksum/row_count 필드 주입 (harness_context 호환)
- build_ejce_divergence_audit_v1.py: no_data 시 gate FAIL → WARN (DAG 진행 차단 방지)
- harness_coverage_auditor.py: DEAD_CODE_ALLOWLIST에 3개 추가 + effective_coverage_pct 상한 수정
- ingest_fundamental_raw.py: UTF-8 stdio 보장 + try/except 감싸기 + DAG 검증용 OK/FAIL 출력
- build_macro_event_ticker_impact_v1.py: MACRO_EVENT_TICKER_IMPACT_V1 신규 구현

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-14 17:27:51 +09:00
kjh2064 7fd54ac731 Merge pull request 'refactor(gas): GAS 중복 함수 제거 + stale 루트 .gs 파일 정리' (#49) from feature/gas-dedup-refactor into main
Merge PR#49: GAS 중복 함수 제거 + stale .gs 정리
2026-06-14 17:26:47 +09:00
kjh2064 6697863ad0 chore(gas): auto-update gas_lib.gs Last Updated timestamp (deploy 2026-06-14 17:23:33 KST)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-14 17:24:17 +09:00
kjh2064 e911f500fa refactor(gas): GAS 중복 함수 제거 및 루트 레벨 stale .gs 파일 정리
- gas_apex_alpha_watch.gs: gas_apex_runtime_core.gs의 5개 실 구현을 shadowing하던
  stub/구버전 제거 (applyApexMacroAlphaSuiteImpl_, applyApexMacroEventSuiteImpl_,
  calcConsistencyValidatorV2Impl_, calcMacroEventSynchronizerV1Impl_,
  calcMacroRegimeAdaptiveGateV2Impl_)
- gas_lib.gs: gdf_05_alpha_engines.gs로 이전된 runAlphaFeedbackLoop_,
  getAlphaFeedbackJson_ 스테일 사본 제거
- 루트 레벨 .gs 8개 삭제: src/gas/ 구조 이전 전 구버전, 배포 경로 밖 dead code

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-14 17:23:14 +09:00
kjh2064 63b1264fdf Merge pull request 'fix: phase1 DAG missing 6 nodes + architecture boundary fix (DAG 75step)' (#48) from feature/fix-phase1-dag-nodes into main
fix: phase1 DAG nodes + arch boundary (75step)
2026-06-14 17:06:28 +09:00
kjh2064 d6287b11af fix: phase1 DAG 누락 노드 6개 추가 + 아키텍처 경계 검사 개선 (DAG 75step)
- spec/41: 6개 노드 추가 (step_count 69->75)
  wave_1: build_ejce_view_renderer, build_ratchet_trailing_general,
          build_routing_execution_log, build_value_preservation_scorer
  wave_2: build_smart_cash_recovery_v3
  wave_6: build_algorithm_guidance_proof (build_report 이후)
  build_honest_proof_gap_analyzer depends_on -> build_algorithm_guidance_proof
- tools/build_routing_execution_log_v1.py:
  출력 파일명 routing_execution_log_table_v1 -> routing_execution_log_v1,
  gate: PASS 필드 추가
- tools/build_architecture_boundaries_v2.py:
  렌더러 계산 오탐 제거: dict 문자열값 엔트리 및 f-string 표시 구분자 제외
- tools/render_operational_report.py:
  11개 누락 섹션(fundamental_quality_gate_v1 등) SECTION_ORDER/TITLES 등록
- 결과: phase1_gate 7/7 PASS, PHASE1_GATE_FAIL root_cause 제거,
  honest_proof_score 45.1->46.55

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-14 17:05:55 +09:00
kjh2064 adc3aabf37 Merge pull request 'feat: HONEST_PROOF_GAP_ANALYZER build + spec/30 audit date update (DAG 69step)' (#47) from feature/honest-proof-gap-analyzer into main
feat: HONEST_PROOF_GAP_ANALYZER_V1 + DAG 69step
2026-06-14 15:06:08 +09:00
kjh2064 c70283ea53 feat: RELEASE_GATE_TRUTH 갭 분석기 구현 + spec/30 감사일 2026-06-14 갱신
- tools/build_honest_proof_gap_analyzer_v1.py:
  honest_proof_score 45.1→70.0 달성 경로를 실측 컴포넌트로 분석
  structure×0.20 + outcome×0.40 + live×0.20 + vp×0.20
  시뮬레이션: T+20 단독 76.62(+31.52, OK) / T+20+펀더멘털 83.48(OK)
  즉시 개선 가능분: 50.14(+5.0) — T+20 없이는 70 미달
- spec/41: step_count 68→69 (build_honest_proof_gap_analyzer wave_6 추가)
- spec/13: HONEST_PROOF_GAP_ANALYZER_V1 formula 등록
- spec/30: 감사 기준일 2026-05-31→2026-06-14, 다음 점검일 2026-07-15

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-14 15:02:45 +09:00
kjh2064 cda24164cf Merge pull request 'fix: routing_gate 실측 PASS 보정 + spec/30 pass_rate 58.82% 갱신 (DAG 68step)' (#46) from feature/routing-mid-cap-fix into main 2026-06-14 14:57:15 +09:00
kjh2064 7abe8d5089 fix: routing_gate 실측 PASS 확인 + spec/30 보정 + DAG step_count 68 갱신
- spec/30: routing_gate FAIL→PASS (2026-06-14 실측: SHORT=12.5% MID=50.0% LONG=37.5%)
  pass/fail 카운트 9/8→10/7 (58.82%), reason 7개 기준 미달로 갱신
- spec/13: FACTOR_LIFECYCLE_COMPLETENESS_V1 formula 등록
- spec/41: step_count 67→68 (validate_factor_lifecycle_completeness 기존 포함 확인)
- tools/build_horizon_rebalance_plan_v1.py: docstring 갱신 (MID/LONG 상한 명시)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-14 14:56:49 +09:00
kjh2064 649d97fa0c chore(release): baseline zip hash update and tools classification adjustment 2026-06-14 13:57:57 +09:00
kjh2064 e257b49b4f chore(release): final zip package baseline hash update 2026-06-14 13:50:03 +09:00
kjh2064 b129deb63f feat(release): add REPORT_GUIDE.md for structured LLM analysis 2026-06-14 13:27:45 +09:00
kjh2064 904b7c42a4 feat(release): optimize upload zip to include only report/spec/data files 2026-06-14 13:25:33 +09:00
kjh2064 42ec277e50 chore(release): update refactor baseline zip hash after final run 2026-06-14 13:19:48 +09:00
kjh2064 7e136b7f1c fix(gas-eval-dash): resolve daily_history header mismatch and redeploy version 9 2026-06-14 13:13:01 +09:00
kjh2064 ad77c96157 feat(gas-deploy): auto-update gas_lib timestamp and enforce clasp deploy versioning 2026-06-14 13:10:33 +09:00
kjh2064 ff564392ba chore: update refactor baseline metrics after full DAG run 2026-06-14 12:50:05 +09:00
kjh2064 7b2594bdd7 chore: add validate_factor_lifecycle_completeness to release DAG 2026-06-14 12:49:32 +09:00
kjh2064 7d42a51318 feat: fix rebalance plan for MID cap 75% violation and implement validate_factor_lifecycle_completeness_v1.py 2026-06-14 12:45:37 +09:00
kjh2064 6fc58cfa45 Merge pull request 'feat: DATA_GATED 진척도 추적 + 팩터 shadow 자격 평가 + routing_gate 실측 보정 (DAG 67step)' (#45) from feature/enhance-data-gated-tracking into main
feat: DATA_GATED 진척도 추적 + 팩터 shadow 자격 평가 + routing_gate 실측 보정
2026-06-14 12:40:07 +09:00
kjh2064 ac6437b840 feat: DATA_GATED 진척도 추적 + 팩터 shadow 자격 평가 + routing_gate 실측 보정
- tools/build_data_gated_progress_v1.py: WBS-2.5/4.1~4.3/RELEASE_GATE_TRUTH 실측 진척도
  (sector_flow 21/30일, T+20 0/30건, honest_proof 45.1/70.0)
- tools/build_factor_shadow_eligibility_v1.py: 149개 팩터 shadow 자격 평가
  (eligible=24, partial=37, blocked=38)
- spec/41: DAG step_count 63→67, 신규 4노드 추가
  (build_data_gated_progress, build_factor_shadow_eligibility,
   build_strategy_routing_audit, build_horizon_rebalance_plan)
- spec/30: routing_gate 실측 보정 — SHORT 71.4%는 오류,
  실제 원인은 MID 75.0% > 50% 상한 (2026-06-14 실측)
- spec/13: DATA_GATED_PROGRESS_V1, FACTOR_SHADOW_ELIGIBILITY_V1,
  STRATEGY_ROUTING_AUDIT_V1 formula 등록

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-14 12:39:34 +09:00
kjh2064 99e0d7d73e Merge pull request 'docs(spec39): GAS_THIN_ADAPTER migration_plan DONE' (#44) from feature/gas-thin-adapter-phase3-done into main
docs(spec39): GAS_THIN_ADAPTER migration_plan DONE
2026-06-14 12:19:49 +09:00
kjh2064 8891978ed5 docs(spec39): GAS_THIN_ADAPTER migration_plan DONE — Phase3 thin_adapter 사용자 검증 완료 2026-06-14 12:18:58 +09:00
kjh2064 212680208c Merge pull request 'docs(spec/39): 문서 다이어트 — result 블록 제거, 정책/status만 유지' (#43) from feature/spec39-diet into main 2026-06-14 11:59:17 +09:00
kjh2064 a66eab771f docs(spec/39): 문서 다이어트 — result 블록 전부 제거
*_result, note, pending 등 실행 로그성 블록 제거.
spec은 정책(allowed/forbidden), phase 목록/status, exceptions만 유지.
실행 결과는 Temp/*.json(하네스 산출물)이 source of truth.
validate_gas_thin_adapter_v1 gate=PASS 유지 확인.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-14 11:58:40 +09:00
kjh2064 e871a3f8e2 Merge pull request 'fix(entropy): _iter_files .git 제외 — total_file_count 2298→1645, gate=PASS' (#42) from feature/fix-entropy-git-exclude into main 2026-06-14 11:56:10 +09:00
kjh2064 4841f7d37e fix(entropy): _iter_files에서 .git/node_modules 제외 — total_file_count 2298→1645
audit_repository_entropy_v1._iter_files가 .git(628개) 포함으로
total_file_count=2298 > budget=2200 → FAIL 발생.
.git, node_modules, __pycache__ 등 제외 → gate=PASS (1645/2200).

동시 fix: spec/39 YAML ScannerError — note 필드의 'status: DONE' 따옴표 처리.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-14 11:55:40 +09:00
kjh2064 b2a38733c8 Merge pull request 'docs(gas-thin-adapter): Phase 4 verify — gate=PASS spec/39 기록' (#41) from feature/gas-thin-adapter-phase4-verify into main
docs(gas-thin-adapter): Phase 4 verify merge
2026-06-14 11:42:41 +09:00
kjh2064 8a6a8ac32c docs(gas-thin-adapter): Phase 4 verify — gate=PASS 결과 spec/39에 기록
GAS_THIN_ADAPTER_POLICY_V1 Phase 4 (verify) 완료:
- validate_gas_thin_adapter_v1.py gate=PASS 확인
  (coverage=100%, migration_plan_exists=true, forbidden=23)
- spec/39: verify phase DONE + verify_result 블록 추가
- migration_plan.note: 사용자 GAS 검증 후 전체 DONE 처리 예정

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-14 11:39:21 +09:00
kjh2064 2a413674e2 Merge pull request 'feat(gas-thin-adapter): Phase 3 thin_adapter — 23개 forbidden 함수에 THIN_ADAPTER 위임 주석 삽입' (#40) from feature/gas-thin-adapter-phase3-annotate into main
feat(gas-thin-adapter): Phase 3 thin_adapter merge
2026-06-14 11:37:35 +09:00
kjh2064 7786e60daf feat(gas-thin-adapter): Phase 3 thin_adapter — 23개 forbidden 함수에 THIN_ADAPTER 위임 주석 삽입
GAS_THIN_ADAPTER_POLICY_V1 Phase 3 (thin_adapter) 진행:
- tools/gas_thin_adapter_phase3_annotate.py: 23개 GAS forbidden 함수에 THIN_ADAPTER 주석 자동 삽입 스크립트
- src/gas_adapter_parts 7개 파일: 각 forbidden 함수 본문 첫 줄에
  // THIN_ADAPTER: [<responsibility>] delegated to Python — <module>:<function>
  주석 추가 (기능 코드 무변경, additive-only)
- spec/39: thin_adapter phase IN_PROGRESS + thin_adapter_result 블록 추가

⚠ GAS 파일 변경됨 — GAS deploy + 사용자 검증 필요 (runDataFeed 실행)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-14 11:32:00 +09:00
kjh2064 926ea8e6b0 Merge pull request 'feat(gas-thin-adapter): Phase 2 Extract — 23개 forbidden 함수 Python 매핑 + 3개 stub' (#39) from feature/gas-thin-adapter-phase2-extract into main
feat(gas-thin-adapter): Phase 2 Extract merge
2026-06-14 11:16:21 +09:00
kjh2064 44a39a2ec1 feat(gas-thin-adapter): Phase 2 Extract — 23개 forbidden 함수 Python 매핑 + 3개 stub
GAS_THIN_ADAPTER_POLICY_V1 Phase 2 완료:
- tools/gas_thin_adapter_phase2_extract.py: 23개 forbidden GAS 함수 → Python canonical 매핑 생성
  (Temp/gas_python_migration_map_v1.json 출력)
- tools/gas_thin_adapter_stubs_v1.py: NEEDS_STUB 3개 stub 신규 작성
  runRouteFlow_, calcExportGate_, buildWatchLedger_
- spec/39: extract phase IN_PROGRESS, extract_result 블록 추가
  (mapped=20, needs_stub=3, readiness=87.0%)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-14 11:07:02 +09:00
kjh2064 7771c30b8c Merge pull request 'fix: validate_gas_thin_adapter_v1.py audit JSON 필드명 매핑 수정' (#38) from feature/validate-gas-thin-adapter-v1-fix into main 2026-06-14 10:43:43 +09:00
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