# Changelog

All notable changes to **TradingBite Platform** are documented here.

Format follows the project versioning rule (version, date, purpose, files, tests, result, rollback, limitations, deployment).

---

## VERSION: 0.1.0

**DATE:** 2026-10-02

**CHANGE:**  
Project initialization — Phase 0 safety audit, documentation structure, architecture baseline, git repository and tag `v0.1.0`. No application or chart code.

**FILES:**

- `.gitignore`
- `README.md`
- `PROJECT-RULES.md`
- `PROJECT-STATUS.md`
- `CHANGELOG.md`
- `DEPLOYMENT-LOG.md`
- `ROLLBACK.md`
- `docs/architecture/SYSTEM-OVERVIEW.md`
- `docs/decisions/ADR-001-stack-and-oanda-first.md`
- `docs/phases/README.md`
- `docs/phases/PHASE-C-SCOPE.md`
- `docs/phases/ROADMAP-A-to-Z.md`
- `docs/testing/README.md`

- `docs/data/README.md`
- `docs/data/NORMALIZED-OHLCV.md`

**Note:** `.gitignore` uses `/data/` so warehouse dir is ignored but `docs/data/` is tracked.
- `docs/legal/README.md`
- `docs/deployment/README.md`

**TESTS:**  
N/A (documentation-only release).

**RESULT:** PASS

**ROLLBACK:**  
Remove `TradingBite-Platform/` directory or `git checkout v0.1.0` after later commits.

**KNOWN LIMITATIONS:**  
No runnable application; no broker connectivity yet.

**DEPLOYMENT:** Not deployed.

**Git checkpoint:** tag `v0.1.0` → commit `2e3a315` (includes `.gitignore` fix: `/data/` only).

---

## VERSION: 0.1.0 (gitignore follow-up)

**DATE:** 2026-10-02

**CHANGE:** Root warehouse `/data/` gitignore; add tracked `docs/data/*`.

**FILES:** `.gitignore`, `docs/data/README.md`, `docs/data/NORMALIZED-OHLCV.md`, `CHANGELOG.md`, `PROJECT-STATUS.md`

**TESTS:** N/A

**RESULT:** PASS

**ROLLBACK:** `git checkout v0.1.0` or revert commit `2e3a315`.

**DEPLOYMENT:** Not deployed.

---

## Phase C start checkpoint (pre-implementation)

**DATE:** 2026-10-02  
**BASELINE:** tag `v0.1.0`, commit `bc3795f`  
**ACTION:** Pre-flight audit — working tree clean; Phase C implementation begins from this baseline.  
**VERSION BUMP:** None (inspection/transition only).  
**ROLLBACK:** `git checkout v0.1.0` before Phase C commits if aborting.

---

## VERSION: 0.2.0

**DATE:** 2026-10-02

**CHANGE:**  
Phase C — Next.js application, OANDA practice adapter, normalized EUR/USD H1 candles (100 bars), Lightweight Charts POC, server-side credentials.

**FILES (high level):**

- `package.json`, `package-lock.json`, `tsconfig.json`, `next.config.ts`, `eslint.config.mjs`, `vitest.config.ts`
- `app/` (layout, page, globals.css, `api/candles/route.ts`)
- `components/EurUsdChart.tsx`
- `lib/` (api errors, market types/validation/service, brokers/oanda/*)
- `tests/*.test.ts`
- `.env.example`
- Updated `docs/phases/PHASE-C-SCOPE.md`, `docs/architecture/SYSTEM-OVERVIEW.md`, `README.md`, `PROJECT-STATUS.md`, `ROLLBACK.md`

**TESTS:**

- `npm test` — 9 passed (normalization, validation, API mock + token leak check)
- `npm run typecheck` — PASS
- `npm run lint` — PASS
- `npm run build` — PASS
- Manual: `npm run start` — `/` 200; `/api/candles` 503 CONFIG_MISSING without `.env`; validation 400 for GBP_USD

**RESULT:** PASS (live OANDA chart requires local practice token — see known limitations)

**ROLLBACK:** `git checkout v0.1.0` (removes Phase C application; tag v0.1.0 preserved)

**KNOWN LIMITATIONS:**

- Phase C fetch size fixed at 100 complete H1 bars
- No `.env` in repository; live broker test is manual on developer machine
- Incomplete OANDA candles filtered out

**DEPLOYMENT:** Not deployed.

---

## LIVE OANDA PRACTICE VERIFICATION (v0.2.0 — documentation only)

**DATE:** 2026-10-02  
**CODE CHANGES:** None (implementation remains commit `70c6e80`, tag `v0.2.0`)

**CHANGE:** Recorded successful live verification against OANDA Practice with local `.env` (token not recorded).

**VERIFICATION:**

```text
Environment: OANDA Practice
Symbol: EUR_USD
Timeframe: H1
Live API: PASS (99 bars)
Normalization: PASS (source=oanda, volumeType=tick, OHLC+time)
Chart rendering: PASS
Interaction: PASS (visual)
Credential exposure: PASS
```

**FILES:** `docs/phases/PHASE-C-SCOPE.md`, `PROJECT-STATUS.md`, `CHANGELOG.md`

**DEPLOYMENT:** Not deployed.

---

## Phase D start checkpoint

**DATE:** 2026-10-02  
**BASELINE:** v0.2.0 @ `70c6e80` (tag preserved)  
**NOTE:** Pre-audit uncommitted Phase C UX fixes incorporated into Phase D.

---

## VERSION: 0.3.0

**DATE:** 2026-10-02  
**COMMIT:** `ad66fc1`  
**TAG:** `v0.3.0`

**CHANGE:** Phase D Chart MVP — symbols, timeframes, count limits, cache, TradingChart UI.

**TESTS:** 15/15; build/lint/typecheck PASS  
**LIVE OANDA:** 42/42 symbol×timeframe API combinations PASS (practice)  
**ROLLBACK:** `git checkout v0.2.0`  
**DEPLOYMENT:** Not deployed.

---

## Phase E start checkpoint

**DATE:** 2026-10-02  
**BASELINE:** v0.3.0 preserved  
**NOTE:** Uncommitted `PROJECT-RULES.md` + `docs/communication/` included in Phase E commit.

---

## VERSION: 0.4.0

**DATE:** 2026-10-02

**CHANGE:** Phase E historical warehouse — SQLite, OANDA historical importer, validation, query API, backup, EUR_USD M15 ~1y dataset.

**TESTS:** 21/21 PASS; build/typecheck PASS

**DATASET:** EUR_USD M15 — 24,863 rows — UTC 2025-10-02T20:45:00Z → 2026-10-02T20:15:00Z — volumeType tick

**ROLLBACK:** `git checkout v0.3.0`

**DEPLOYMENT:** Not deployed.

---

## Phase F1 start checkpoint

**DATE:** 2026-10-02  
**BASELINE:** v0.4.0 @ 4580f70 preserved  

---

## VERSION: 0.5.0

**DATE:** 2026-10-02

**CHANGE:** Phase F1 indicator framework — contract, registry, engine, reference SMA overlay, tests, ADR-004.

**TESTS:** 29/29 PASS; build/lint/typecheck PASS

**ROLLBACK:** `git checkout v0.4.0`

**DEPLOYMENT:** Not deployed.

---

## Phase F2 start checkpoint

**DATE:** 2026-10-02  
**BASELINE:** v0.5.0 @ 8220b44 preserved  

---

## VERSION: 0.6.0

**DATE:** 2026-10-02

**CHANGE:** Phase F2 — TradingBite Support & Resistance Finder 2.1 Pine → TypeScript port; golden tests; chart overlay.

**TESTS:** 36/36 PASS; build/lint PASS

**ROLLBACK:** `git checkout v0.5.0`

**DEPLOYMENT:** Not deployed.

---

## Phase F3 start checkpoint

**DATE:** 2026-10-02  
**BASELINE:** v0.6.0 @ 139b922 preserved  

---

## VERSION: 0.7.0

**DATE:** 2026-10-02

**CHANGE:** Phase F3 multi-asset data foundation — instruments, Binance/OANDA historical adapters, warehouse v2, bounded queries.

**TESTS:** 43/43 PASS; build/lint PASS

**EUR_USD:** 24,863 rows preserved

**ROLLBACK:** `git checkout v0.6.0`

**DEPLOYMENT:** Not deployed.

---

## VERSION: 0.10.0

**DATE:** 2026-10-03

**CHANGE:** Phase F5 — live market engine (OANDA live snapshot + Binance kline WS), historical→live handoff, volume pane, alert domain foundation, incremental chart updates.

**TESTS:** 68/68 PASS; typecheck/build/lint PASS.

**ROLLBACK:** `git checkout v0.9.0`

**DEPLOYMENT:** Not deployed.

---

## VERSION: 0.9.0

**DATE:** 2026-10-03

**CHANGE:** Phase F4.1 — TradingView-style drawing foundation (21 tools), drawing model v2 (`alertKey`), scope-safe persistence, chart wrap interaction, historical load threshold fix, alert-ready `chart-state` stub (no alert engine).

**FILES:** `useDrawingStore`, `ChartDrawingLayer`, `DrawingToolbar`, `TradingChart`, `lib/chart/drawings/*`, `chart-state.ts`, `PHASE-F4.1-SCOPE.md`, tests.

**TESTS:** 59/59 vitest PASS; `next build` PASS; eslint PASS (1 react-hooks exhaustive-deps warning in `useDrawingStore`).

**VERIFICATION:** Temp Puppeteer acceptance — persistence/move/delete/symbol/multi-asset/SMA/SR PASS; timeframe **storage isolation** PASS (`m15InH1Store: false`); EUR/USD H1 warehouse missing (404) blocks H1 draw step; historical pan PARTIAL in harness (automation).

**ROLLBACK:** `git checkout v0.8.0` (tag `v0.8.0` @ `4a8a8e5`).

**DEPLOYMENT:** Not deployed.

---

## VERSION: 0.8.0

**DATE:** 2026-10-03

**CHANGE:** Phase F4 — warehouse latest-window chart loading, pan-back chunks, drawing tools (8 types), localStorage persistence, ADR-006.

**TESTS:** 53/53 PASS; build/lint/typecheck PASS

**ROLLBACK:** `git checkout v0.7.0`

**DEPLOYMENT:** Not deployed.
