# GAS Adapter Parts

P5-T02 GAS 역할 분리 산출물. `gas_data_feed.gs`(10302 lines)와 `gas_data_collect.gs`(4460 lines)를 각각 2500 라인 이하 파일로 분리했습니다.

GAS 프로젝트는 모든 `.gs` 파일이 동일한 글로벌 네임스페이스를 공유하므로, 이 파일들은 루트의 스텁 파일과 함께 GAS 프로젝트에 추가합니다.

## gas_data_feed.gs 분리 (10302 → 5개 파일)

| 파일 | 라인 수 | 소유 역할 | 주요 함수 |
|---|---|---|---|
| `gdf_01_price_metrics.gs` | 2347 | price-metrics | calcDerivedPriceMetrics, calcRsi14_, calcEntryMode_, calcExitSignalDetail_, runSellPriority |
| `gdf_02_harness_assembly.gs` | 2213 | harness-assembly | buildHarnessContext_, assembleHarnessCoreLayers_, buildRoutingServingTraceV2_, calcSatelliteLifecycleGate_ |
| `gdf_03_portfolio_gates.gs` | 2246 | portfolio-gates | calcPortfolioHealthScore_, calcSectorConcentrationGate_, calcActions_, calcSellPriority_, calcQuantities_, calcPrices_ |
| `gdf_04_execution_quality.gs` | 2209 | execution-quality | calcPriceHierarchyLock_, calcDistributionRiskRow_, calcApexExecutionHarness_, getPa1WeightOverrides_, calcMacroEventSynchronizerV1_ |
| `gdf_05_alpha_engines.gs` | 1287 | alpha-engines | calcAntiLateEntryGateV2_, calcConsistencyValidatorV2_, calcExportGate_, calcTradeQualityScorer_, calcAlphaFeedbackLoop_ |

## gas_data_collect.gs 분리 (4460 → 2개 파일)

| 파일 | 라인 수 | 소유 역할 | 주요 함수 |
|---|---|---|---|
| `gdc_01_fetch_fundamentals.gs` | 2405 | fetch-fundamentals | beginFetchSession_, fetchNaverFlow, fetchYahooPrice, fetchNaverFundamentals_, runDataFeed |
| `gdc_02_account_satellite.gs` | 2055 | account-satellite | readAccountSnapshotMap_, _tickerSetup_, buildTickerRowV2_, runCoreSatelliteBatch, buildDataFeedMap_ |

## Validator 연동

`src/quant_engine/refactor_master_helpers.py` 의 `collect_gas_files()` 가 이 디렉토리의 `*.gs` 파일을 자동으로 포함합니다.

## Migration Backlog

15개 GAS 실제 위반 항목은 `runtime/gas_migration_wave2_4.yaml` `action_items` 섹션에 추적됩니다.  
이 파일들이 Python canonical engine으로 이전되면 해당 함수들은 이 어댑터 파일에서도 삭제됩니다.

**Owner**: data_feed 팀  
**Created**: 2026-06-10 (QEDD P5-T02)
