# Core/Satellite Collector v4 은퇴자산용 코어/위성 후보 데이터 수집기입니다. ## v4 기본 정책 - 파라미터 없이 실행 - 1차 유니버스: KOSPI 160개 + KOSDAQ 40개 - 최종 후보: 100개 - 최종 후보 내 KOSDAQ: 최대 20개 - 1차 탐색 총량은 v3와 동일한 200개로 유지하여 호출 수 증가를 막습니다. ## 설치 ```powershell npm install node core_satellite_collector.js ``` OpenDART 공시까지 확인하려면: ```powershell $env:DART_API_KEY="발급받은키" node core_satellite_collector.js ``` ## 운영 표준 하네스/보고서/동기화까지 포함한 최종 게이트는 아래 순서를 사용합니다. ```powershell npm run full-gate ``` 이 스크립트는 아래를 직렬로 수행합니다. - `convert-data-json` - `validate-gas-call-arity` - `validate-proposal-reference` - `validate-harness-context` - `validate-operational-report-contract` - `audit-coverage` - `validate-harness-coverage-auditor` - `validate-strategy-tests-contract` - `validate-breakout-gate` - `validate-anti-whipsaw` - `validate-cash-raise-route` - `validate-brt-harness` - `validate-determinism` - `validate-alpha-execution-harness:strict` - `render-report-json` - `validate-report-json` - `validate-report-quality` - `validate-report-sync` spec와 데이터 샘플 검증까지 포함한 전체 엄격 검증은 아래를 사용합니다. ```powershell npm run validate-engine-strict ``` proposal 평가 이력까지 갱신하는 일일 실행은 아래를 사용합니다. ```powershell npm run daily-feedback-report ``` 백필 누적 원장(`backdata_feature_bank`) 상태를 즉시 검증하려면 아래를 사용합니다. ```powershell npm run validate-backdata-migration-state ``` Outcome/Evaluation 복구 파이프라인(YOLO)을 한 번에 실행하려면 아래를 사용합니다. ```powershell npm run yolo-outcome-recovery ``` GAS 함수 정의/호출 인자 수 불일치만 단독 점검하려면 아래를 사용합니다. ```powershell npm run validate-gas-call-arity ``` 사용자 판단용 제안표 하네스 출력이 실제로 존재하는지 점검하려면 아래를 사용합니다. ```powershell npm run validate-proposal-reference ``` GAS `runHarnessRefresh_()` 반영 후에는 아래 강제 검증으로 올릴 수 있습니다. ```powershell npm run validate-proposal-reference:strict ``` GAS 반영 후 `proposal_reference_json`까지 포함한 최종 엄격 게이트는 아래를 사용합니다. ```powershell npm run full-gate:proposal-strict ``` spec/데이터 샘플까지 포함한 전체 엄격 검증은 아래를 사용합니다. ```powershell npm run validate-engine-proposal-strict ``` ## GAS 반영 체크리스트 `proposal_reference_json`을 실제 하네스 출력으로 승격하려면 아래 순서를 따릅니다. 1. Apps Script에 최신 [gas_harness_rows.gs](/C:/Temp/data_feed/gas_harness_rows.gs:73) 반영 2. Apps Script에서 `runHarnessRefresh_()` 실행 3. Google Sheets `harness_context` 시트에 아래 키 생성 확인 - `proposal_reference_json` - `proposal_reference_lock` 4. 로컬에서 `npm run convert-data-json` 실행 5. `npm run validate-proposal-reference:strict` 실행 6. `npm run full-gate:proposal-strict` 실행 7. 최종 운영 전환 시 `npm run validate-engine-proposal-strict` 기준으로 사용 ## 운영 리포트 계약 운영 리포트는 사람이 읽는 `Temp/operational_report.md`와 기계 검증용 `Temp/operational_report.json`을 함께 생성합니다. - `operational_report.json`이 canonical 계약입니다. - `operational_report.md`는 표시용 렌더입니다. - JSON 스키마는 `schemas/operational_report.schema.json`을 사용합니다. - 계약 드리프트 검사는 `npm run validate-operational-report-contract`로 수행합니다. - 전체 게이트에는 `render-report-json -> validate-report-json -> validate-report-quality -> validate-report-sync` 순서가 포함됩니다. 전환 기준: - `validate-proposal-reference`가 `SKIP`이면 아직 GAS 산출물 미반영 상태 - `validate-proposal-reference:strict`가 `PASS`여야 proposal 하네스 strict 전환 완료