Docs / Validate documentation (push) Canceled after 0s
Docs / Deploy GitHub Pages (push) Canceled after 0s
CI Final Summary (AI) / AI Final Summary (push) Canceled after 0s
CI Final Summary (AI) / Push/PR event feed (push) Canceled after 0s
CI / CI Integrity and Change Classification (push) Canceled after 0s
CI / Code Quality & Tests (push) Canceled after 0s
Dependency Lock & Migration Safety / Dependency drift (lock vs pyproject) (push) Canceled after 0s
Dependency Lock & Migration Safety / Migration safety (fail-loud + version postconditions) (push) Canceled after 0s
JS Tests / Frontend JS Unit Tests (push) Canceled after 0s
Security / CodeQL Analysis (push) Canceled after 0s
Security / Trivy Vulnerability Scan (push) Canceled after 0s
Tests (OS Matrix) / Py Tests (macos-latest) (push) Canceled after 0s
Tests (OS Matrix) / Py Tests (windows-latest) (push) Canceled after 0s
CI / Extended Validation (Tier 2) (push) Canceled after 0s
CI / Heavy CI (database-provider) (push) Canceled after 0s
CI / Heavy CI (e2e) (push) Canceled after 0s
CI / Heavy CI (integration) (push) Canceled after 0s
CI / Heavy CI (model-validation) (push) Canceled after 0s
CI / Heavy CI (research-backtest) (push) Canceled after 0s
CI / Aggregate CI Results (push) Canceled after 0s
Full project import for the self-hosted code hosting (https://code.aifunny.ltd/gavindiaz/my-NexusTradingForexBot.git). Includes the live-freshness + scaler-hash fixes for the permanent STALE dashboard (tick_pipeline now_utc stamps; infer_probabilities computes model_input_hash on the actual scaled 70D tensor), the data-fetch default-path fix, the g29 web-auth test fixes, and a Chinese user manual (使用手册.md) for the web dashboard. Scratch diagnostic scripts (check*.py, contain a live web-auth token) and the .kilo/ agent-worktree directory are gitignored, not committed. Co-Authored-By: Claude Code <noreply@anthropic.com>
41 lines
1.5 KiB
Markdown
41 lines
1.5 KiB
Markdown
---
|
|
title: Validation
|
|
description: The validation philosophy — what "validated" means, the 12 gates, and why rejections are published.
|
|
lang: en
|
|
---
|
|
|
|
# Validation
|
|
|
|
## Philosophy
|
|
|
|
Validation is the reason the platform exists. Every layer has its own gates,
|
|
and **a failure at any gate is terminal for that candidate** — no averaging,
|
|
no "close enough".
|
|
|
|
## The gate chain
|
|
|
|
| Layer | Gates |
|
|
| :--- | :--- |
|
|
| Dataset | quality gates, fingerprinting, provenance |
|
|
| Features | schema hash, dimension, bounds, ordering |
|
|
| Model | 10-gate load gate, calibration, min-evidence |
|
|
| Research | purge/embargo walk-forward, OOS floors, robustness stress |
|
|
| Governance | 14-gate candidate verification, promotion preview + transaction |
|
|
| Runtime | deploy gate (`nexus forensic --deploy-gate`) before any release |
|
|
| Release | SHA-256 digests, manifests, SBOM, post-publish verification |
|
|
|
|
## The 12 validation gates (candidate lifecycle)
|
|
|
|
The candidate validation path runs 12 gates over a candidate (manifest
|
|
integrity, schema family, scaler identity, dataset provenance, calibration,
|
|
OOS, robustness…). Governance verification adds a 14-gate matrix on top for
|
|
promotion readiness. A candidate that fails any gate is stored as CHALLENGER
|
|
at best — and only an operator can ever promote.
|
|
|
|
## Failure handling
|
|
|
|
Rejections are recorded with evidence and stay public: the 70D OOS rejection
|
|
and the benchmark history are in [Project Status](../project/status.md). A
|
|
failed validation is a **result**, not an embarrassment — it is what makes the
|
|
passing cases meaningful.
|