Files
set50-system/docs/HANDOFF.md
2026-08-23 07:41:31 +07:00

1.8 KiB
Raw Blame History

Handoff — Tourism Vertical Slice

Project

  • Path: /Users/kunthawat/Gitea/set50-alternative-data-platform
  • Mode: research + paper only
  • Frontend: Vue 3 + Vite
  • Backend: Flask
  • Current data: deterministic fixture with lineage metadata

Completed

  • Tourism snapshot schema with source, publication, retrieval and vintage fields.
  • Deterministic Tourism Pulse score: standardized surprise × exposure × confidence.
  • Ranked target weights and LONG/SHORT/NEUTRAL classification.
  • Flask endpoints for health, summary, observations, signals and paper ledger.
  • English dashboard with live API data, lineage panel, signal table and paper-entry form.
  • No external webhook or MT5 integration.

Verified commands

PYTHONPATH=backend .venv/bin/python -m unittest discover -s backend/tests -v
Ran 10 tests ... OK

Paper writes use a server-side token exchange and HttpOnly `paper_session` cookie; the token is not embedded in the frontend bundle.

npm run build
Vite build completed successfully.

GET /api/v1/health
{"mode":"research","status":"ok","version":"0.1.0"}

POST /api/v1/paper/ledger + GET /api/v1/paper/ledger
PAPER_RECORDED and readback verified.

Independent review
PASSED — no concrete security or logic blockers.

Known limitation

The data adapter is a fixture. It demonstrates the contract and calculation, not live tourism data quality. Browser visual screenshot verification was blocked by a Chrome remote-debugging permission prompt; served HTML, API response and frontend build were verified instead.

Next action

Implement one replayable Tourism source adapter without changing the snapshot contract. Add parser fixture tests, publication timestamp handling, raw snapshot hash, and a data-health failure state before adding LLM analysis.