# ONOS Dash.V1 — Source of Truth (agents + Ask ONOS)

**Status:** Canonical for this sandbox. Ask ONOS and agent tools should prefer this file over UI copy.  
**Run:** `7ARCH-ONOS-P1-LAYOUT` · Slice 1 shell + Slice 2 origin feeds (local)  
**Updated:** 2026-08-05  
**Product law (full horizon):** `docs/architecture/PRD-ONOS-V1.md` (repo)  
**Process law:** `docs/architecture/PRD-NTWX-7ARCH-V2.md`  
**Live Block 0:** `.nightworx/block0.md` — codename `7ARCH-ONOS-P1-LAYOUT`  
**Slice 2 amend (draft, deferred promote):** `drafts/BLOCK0-AMEND-ONOS-P2-FEEDS.md`

---

## 1. What ONOS is

ONOS Dash.V1 is a **crypto macro intelligence** dashboard (ML-NIGHTWORX), sibling shell to NIGHTHAWK.  
Sandbox UI is analytics-only — **not** an execution venue. Never invent live trades or browser API keys.

## 2. Hard constraints (do not violate)

- Build path: `sandbox/onos-p1/` (+ origin API `sandbox/onos-api/`)  
- NIGHTHAWK / DOME / original repos: **read-only** (3× Commander agree to write)  
- No client secrets / browser vendor keys — secrets only in `sandbox/onos-api/.env` (gitignored)  
- Browser calls **only** origin `http://127.0.0.1:8767` (or future `onos-api…`)  
- Voice = mock FSM only (OPEN-04)  
- Sparse vendor cadence: **≤1 vendor-class pull / NY day** @ 08:30 America/New_York; Auto OFF; UI never `?force=1`

## 3. UI map

| Surface | Role |
|---------|------|
| Site nav | Dashboard → `index.html`; pages under `pages/` |
| KPI strip | Mock macro metrics from MockBus |
| 8 section cards | **4×2 grid** — top (live): Market / Commodities / Derivatives / DeFi; bottom (mock/hybrid): TA / Elliott / Sentiment / JORDI; 2-col &lt;1200px; stack &lt;700px |
| Footer | Site links + **feed widgets** (PYTH / DERIBIT / HL / DELTA) + Ask ONOS + DELTA monitor |
| `llms.txt` | Agent discovery twin of NIGHTHAWK |
| **This file** | Answers + ontology for Ask ONOS / agents |

## 4. Eight sections (Hermes M1–M4)

1. Market Overview — prices + per-coin colored hourly % lines (24h), volume, BTC dom  
2. Technical Analysis — price + EMA / RSI / MACD (mock series)  
3. Elliott Wave — procedural sine placeholder (not algorithmic detection)  
4. Derivatives — OI bars, funding, liquidations (mock)  
5. Commodities & Forex — FX / commodity grid (mock)  
6. DeFi & Tokenization — TVL / stables / DEX + doughnut  
7. Global Sentiment — F&G (alternative.me) + GDELT DOC events/categories (hybrid)  
8. JORDI Voice AI — Listening → Processing → Displaying → Ready  

## 5. Data sources (truth vs future)

| Source | Now (local Slice 2) | Still open |
|--------|---------------------|------------|
| Origin API | Python `http://127.0.0.1:8767` — `/feeds/digest` | Worker port `sandbox/onos-api-worker` → future `onos-api.ml-nightworx.io` (Phase 0 Firewall) |
| Hyperliquid | **Live** public mids via origin | — |
| PYTH | **Live** (Hermes public legacy until Douro + `PYTH_API_KEY` in `.env`) | Douro Bearer before 2026-08-18 |
| DERIBIT | **Live** public OI / funding / put-call via origin | 24h liquidations; optional Client ID/Secret |
| DefiLlama | **Live** TVL / stable MC / DEX 24h via origin (no key) | Category doughnut still mock |
| Frankfurter FX | **Live** EUR/USD · USD/JPY · GBP/USD · AUD/USD · USD/CAD | Merged into Commodities board (ranked) |
| Pyth commodities | **Live board** XAU/PAXG/XAG/WTI (+ futures when Douro key live); ranked highest→lowest | OGV6 not in Hermes catalog; BRENT/NG/Cocoa/Sugar/Wheat need Douro key on public Hermes (pub=0) |
| GDELT / DELTA | **Partial**: F&G live (alternative.me); DOC public enabled but often **429** → cached 1h | Headlines when DOC recovers or keyed `GDELT_API_BASE`+KEY |
| MockBus | Hybrid inject from `/feeds/digest` (market, derivatives, defi, FX pairs, partial TA/sentiment) | Elliott / metals / full TA |
| JORDI Voice | Mock timers | Real voice API (later Firewall) |

## 6. Sparse schedule (Path A.2)

- Timezone: `America/New_York`  
- Window: **08:30** local daily  
- Max live vendor pulls: **1 per NY day**  
- Manual mock Refresh: allowed in sandbox  
- See also: `js/schedule.js`, `drafts/onos-sparse-schedule-A2.md`  

## 7. Site pages (footer destinations)

| Page | Path | Content |
|------|------|---------|
| API Docs & Keys | `pages/api.html` | Future `onos-api.ml-nightworx.io`; no keys in Slice 1 |
| Data Vendors | `pages/vendors.html` | PYTH, DERIBIT, Hyperliquid, GDELT plan |
| Payments | `pages/payments.html` | Free / Pro / Enterprise stub |
| Terms | `pages/terms.html` | Analytics-only T&Cs stub |
| About | `pages/about.html` | Product + ML-NIGHTWORX story |
| API Status | `pages/status.html` | Mock health; future `/health` |

## 8. Ask ONOS — answer policy

When answering from this Source of Truth:

1. Prefer facts in **§2–§6** over improvisation  
2. Live footer feeds (HL / Pyth / Deribit): say **via origin API** when pulse/banner is LIVE; GDELT = stub until BASE set  
3. Never claim trading execution or browser-held vendor keys  
4. Point agents to this file + `llms.txt` + PRD for full horizon  
5. Concentration / CR4 / BTC dom: mock KPI strip unless a live digest KPI is present  
6. Run API: `python3 sandbox/onos-api/onos_api_stdlib.py` · UI: `python3 -m http.server 8787 --directory sandbox/onos-p1`

### Suggested queries

- Biggest coverage gap?  
- Explain sparse schedule  
- What do footer feed widgets show?  
- Is trading live?  
- Where is product law?

## 9. Sibling product

- NIGHTHAWK: https://nighthawk.ml-nightworx.io/ (inspiration oracle, read-only)  
- Contact: support@ml-nightworx.io  

## 10. Local serve

```bash
python3 -m http.server 8787 --directory sandbox/onos-p1
```

Open http://localhost:8787/
