Files
QuantEngineByItz/docs/WBS_7_9_EVIDENCE_PACKET_FINAL.md
kjh2064 af1236202d WBS-7.3: GAS→Python 마이그레이션 5개 항목 완료 (F14, F02-F06)
- F14: late_chase_risk_score 검증
  * GAS가 유일한 생산처 (Python canonical 없음)
  * migration_action: KEEP_IN_GAS로 정정, status: DONE

- F02/F03/F04/F06: priceBasis 로직 포팅
  * formulas/price_basis_v1.py: select_price_basis_tier2/tier1 구현
  * tests/parity/test_price_basis_parity_v1.py: 8 parity 테스트 (모두 PASS)
  * GAS Number.isFinite() 의미론 정확히 재현 (math.isfinite 사용)
  * 모든 테스트 112/112 PASS

남은 작업 (4개):
- F05: decision_logic (action assignment)
- F07: score_logic (threshold addition)
- F10: routing decision
- F15: late_chase_gate

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-06-22 22:45:00 +09:00

3.7 KiB

WBS-7.9 Evidence Packet Final

Scope

WBS-7.9 is the Synology external-service POC for snapshot_admin_server_v1.py. The implementation is ready for deployment, but the final external live verification on the NAS is still pending.

Current artifact set

  • src/quant_engine/snapshot_admin_server_v1.py
  • tools/run_snapshot_admin_server_v1.py
  • tools/run_snapshot_admin_synology.sh
  • tests/unit/test_snapshot_admin_web_v1.py
  • docs/SYNOLOGY_SNAPSHOT_ADMIN_POC.md
  • docs/SYNOLOGY_SNAPSHOT_ADMIN_DEPLOYMENT_CHECKLIST.md
  • docs/SYNOLOGY_SNAPSHOT_ADMIN_DEPLOYMENT_CHECKLIST_FILLED.md
  • docs/SYNOLOGY_SNAPSHOT_ADMIN_FIREWALL_PROXY_TABLE.md
  • docs/SYNOLOGY_SNAPSHOT_ADMIN_FIREWALL_PROXY_COPYPASTE.md
  • docs/SYNOLOGY_SNAPSHOT_ADMIN_FINAL_PREFLIGHT_10.md
  • Temp/snapshot_admin_approval_packet_v1.json
  • Temp/snapshot_admin_approval_packet_v1.md
  • Temp/snapshot_admin_export_v1.json
  • Temp/snapshot_admin_web_validation.json

Local validation evidence

  • python -m pytest tests/unit/test_snapshot_admin_web_v1.py -q
    • Result: 10 passed
  • python tools/validate_snapshot_admin_web_v1.py
    • Result: PASS
  • python tools/validate_snapshot_admin_workflow_v1.py
    • Result: PASS

Local HTTP verification evidence

The following loopback checks were executed against a real server process started from tools/run_snapshot_admin_server_v1.py with Basic Auth enabled:

  • Unauthenticated GET /api/state
    • Result: 401 Unauthorized
    • WWW-Authenticate: Basic realm="Snapshot Admin", charset="UTF-8"
  • Authenticated GET /api/state
    • Result: 200 OK
    • version.app = snapshot-admin-web-v7
  • Authenticated GET /tables
    • Result: 200 OK
    • Tabler grid surface present

This confirms the localhost-side service path, auth gate, and /tables route work as expected in the workspace. It does not replace the NAS-side reverse proxy verification.

Workflow deploy success evidence

The Synology deploy workflow was executed against the NAS-hosted act_runner and the job-level log showed a successful local readiness cycle:

  • healthcheck failed: http://127.0.0.1:8787/api/state
  • [deploy] healthcheck retry 1/30
  • [deploy] healthcheck retry 2/30
  • healthcheck ok: http://127.0.0.1:8787/api/state
  • snapshot-admin-web-v6
  • [deploy] snapshot admin deploy verification complete
  • Job succeeded

This is workflow-level success evidence only. It confirms the deploy job can start the service, wait for readiness, and pass verification on the NAS runner. It does not by itself satisfy the full external reverse-proxy/browser evidence required to close WBS-7.9.

Workspace topology evidence

From Temp/snapshot_admin_approval_packet_v1.json:

  • workspace_db = C:\\Temp\\data_feed\\Temp\\snapshot_admin_web_validation.db
  • collector_db = C:\\Temp\\data_feed\\outputs\\kis_data_collection\\kis_data_collection.db
  • settings_rows = 31
  • account_snapshot_rows = 40
  • settings_and_snapshot_share_db = true
  • collector_separate_db = true

Live verification still required

The NAS-side POC is not complete until these are observed on the real Synology host:

  1. curl -i http://127.0.0.1:8787/api/state returns 200 OK
  2. curl -i https://<public-host>/api/state returns 401 Unauthorized without credentials
  3. curl -u '<user>:<password>' https://<public-host>/api/state returns 200 OK
  4. Browser access to https://<public-host>/ and https://<public-host>/tables works after Basic Auth
  5. DSM reverse proxy and firewall values are recorded as evidence

Final disposition

  • Implementation status: ready
  • Deployment guide: ready
  • External live verification: pending
  • Promote to 실배포 검증 완료 only after the NAS curl evidence and browser screenshot are archived