Files
QuantEngineByItz/spec/39_gas_thin_adapter_policy.yaml
T
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

85 lines
3.0 KiB
YAML

schema_version: 2026-06-06-gas-thin-adapter-policy-v1
policy_id: GAS_THIN_ADAPTER_POLICY_V1
purpose: >
GAS에서 collect, normalize, export, display만 남기고 decision, sizing,
stop_loss, take_profit, risk_score 로직은 Python으로 이전하기 위한 migration plan.
allowed_responsibilities:
- collect
- normalize
- export
- display
forbidden_responsibilities:
- decision
- sizing
- stop_loss
- take_profit
- risk_score
migration_plan:
status: IN_PROGRESS
inventory_result:
tool: tools/audit_gas_thin_adapter_v1.py
output: Temp/gas_business_logic_audit_v1.json
total_functions: 273
forbidden_count: 23
mixed_count: 15
allowed_count: 104
unknown_count: 131
compliance_pct: 38.1
migration_candidate_count: 23
phases:
- phase: inventory
status: DONE
target: Temp/gas_business_logic_audit_v1.json
action: 분류된 GAS 함수 목록을 확정한다.
- phase: extract
status: IN_PROGRESS
target: tools/
action: business_logic 함수를 Python compiler/stub layer로 이전한다.
extract_result:
tool: tools/gas_thin_adapter_phase2_extract.py
output: Temp/gas_python_migration_map_v1.json
stubs_file: tools/gas_thin_adapter_stubs_v1.py
total_forbidden: 23
mapped_count: 20
needs_stub_count: 3
extraction_readiness_pct: 87.0
needs_stub:
- gas_function: runRouteFlow_
gas_file: gdf_03_portfolio_gates.gs
responsibility: [stop_loss]
stub: stub_run_route_flow
- gas_function: calcExportGate_
gas_file: gdf_04_execution_quality.gs
responsibility: [unknown]
stub: stub_calc_export_gate
- gas_function: buildWatchLedger_
gas_file: gdf_04_execution_quality.gs
responsibility: [stop_loss, take_profit]
stub: stub_build_watch_ledger
- phase: thin_adapter
status: IN_PROGRESS
target: gas_*.gs
action: collect/normalize/export/display만 남기고 나머지를 호출 위임으로 전환한다.
thin_adapter_result:
tool: tools/gas_thin_adapter_phase3_annotate.py
annotated_functions: 23
total_forbidden: 23
annotation_marker: "// THIN_ADAPTER: [<responsibility>] delegated to Python"
modified_files:
- gdc_01_fetch_fundamentals.gs
- gdc_02_account_satellite.gs
- gdf_01_price_metrics.gs
- gdf_02_harness_assembly.gs
- gdf_03_portfolio_gates.gs
- gdf_04_execution_quality.gs
- gdf_05_alpha_engines.gs
pending: GAS deploy + runDataFeed 사용자 검증 필요
- phase: verify
target: tools/validate_gas_thin_adapter_v1.py
action: forbidden_count가 줄어드는지 지속 검증한다.
exceptions:
- name: runtime_report_rendering
reason: 표 렌더링을 위한 문자열 포맷은 허용된다.
- name: data_collection_helpers
reason: 외부 JSON/시트 수집은 허용된다.