# MarketEngine Core — PHASE 1 (extraction/parity)
Kontrata: shih `marketengine-phase0-kontrata.md` (repo i BetPulse, docs/) — e ngrire 05.10.2026.

## Çfarë eshte kjo peme
Extraction i paster i zinxhirit BetsAPI→V4 nga BetPulse (snapshot i audituar 04.10):
6 file COPY AS-IS + 2 COPY+DETACH. ASNJE permiresim parseri — scorer/qualifier/
period/quality/raw-names preken VETEM ne Phase 2, pas ketij gate-i.

## Detach-et e vetme (kundrejt origjinalit)
- `run-market-engine.js` = `bet365-hourly.js` me: hapin 4b (LOWEST_ODDS) te hequr,
  merge `--existing` → `data/bet365-existing-markets-v4.json` direkt,
  `BETPULSE_HOURLY_CHILD` → `MARKETENGINE_CHILD`, banner i riemertuar.
- `bet365-refresh-existing-markets-batch.js`: vetem riemertimi i env-it.

## GATE P1 — si riprodhohet
1. Fixture i ngrire: `fixtures/parity-v1/` (MOS e zevendeso — eshte baza e krahasimit).
2. Ne dy peme te ndara (BetPulse-i aktual dhe kjo), kopjo te njejtin
   `bet365-existing-markets-raw.json` ne `data/` dhe ekzekuto me cwd te pemes:
   `node scripts/bet365-parse-existing-markets.js && node scripts/bet365-parser-v4-existing.js`
3. `node scripts/parity-check.js <v4-bp> <v4-me>` → duhet PASS (vetem generated_at i injoruar).

## Ekzekutimi real (pas PASS)
`cp .env.example .env` + BETSAPI_TOKEN → `node scripts/run-market-engine.js --dry`
(plani, 0 HTTP) → `node scripts/run-market-engine.js --live` (cikli i plote; NUK
e prek BetPulse — state/data te vetat ne kete folder).

## Kufiri
Output-i i Phase 1 eshte byte-ekuivalent me V4-n e BetPulse (pa 4b). Formati i ri
(schema_version, provenance, quality, period) vjen ne Phase 2 me gate ADDITIVE-ONLY.
