Files
QuantEngineByItz/docs/WBS_7_9_EVIDENCE_PACKET_FINAL.md
T
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

96 lines
3.7 KiB
Markdown

# 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