# BTC 6H frozen observation

**Update:** after reviewing the replacement chart export, prospective observation
uses [revision 2](mlp_observation_revision_2026_09_24.md). The original bundle and
the historical account below remain preserved; use the revision 2 command for
future exports.

The August export is enough to finish the historical checks and freeze the next
experiment. It contains no observations after this freeze. The user will supply
new exports later; no additional data is required to finish this implementation.

## What changed

The sweep now tests whether small threshold changes actually harm results, using
the [predeclared protocol](mlp_validation_upgrade_2026_09_24.md). It retains raw
score proximity as a diagnostic. Each assessed configuration receives twelve
replays across nine historical windows. Missing or stale evidence cannot qualify.
The existing trade/drawdown, subperiod, WFO, incumbent comparison and conditional
OOS protection gates remain. This work ran fixed candidates, not a new search.

| Frozen policy | Historical return | Drawdown magnitude | Calmar | Sensitivity |
|---|---:|---:|---:|---|
| Incumbent | 2846.94% | 50.50% | 1.0045 | Pass |
| Original hybrid9090 | 1037.79% | 31.87% | 1.0760 | Pass |
| Incumbent with higher-low width 3 | 1596.66% | 37.21% | 1.1010 | Pass |

These are historical IS measurements, not forward results. The original hybrid
now clears the historical promotion checks that raw proximity had blocked. Its
confirmation threshold remains **-730**. Higher-low width 3 still lacks sufficient
qualifying WFO folds, as recorded in the
[prior assessment](mlp_revisit_results_2026_09_21.md). Passing sensitivity alone
does not establish eligibility. Nothing was promoted or installed.

## Frozen bundle and next data

Local bundle: `results/mlp_observation/btc6h_20260924`.

- Frozen at `2026-09-24T18:57:33.802195+00:00`.
- First eligible observation bar: `2026-09-25T00:00:00+00:00`.
- Existing export ends August 21 at 12:00 UTC. Its final candle is excluded;
  the last retained bar is August 21 at 06:00 UTC.
- All three observation states are `awaiting_data`, with null performance metrics.
- The historical export has one gap; future observation bars must be continuous.

When a new BTC 6H chart export is available, retain the original file and run:

```bash
.venv/bin/python tools/mlp_observation.py observe \
  --bundle results/mlp_observation/btc6h_20260924 \
  --data "/path/to/new/COINBASE_BTCUSD, 360.csv"
```

The export must include the captured historical rows unchanged and all bars from
the observation boundary. The command excludes the last candle, rejects altered
history or missing forward bars, and appends a receipt with input and output
hashes. Repeating identical data returns the existing report. All policies begin
flat, use historical indicator warm-up and retain positions across updates.
Open holdings are marked to market. No retuning or automatic promotion occurs.

At least 180 days and ten completed trades per policy permit review; they do not
prove robustness. Obtain matching TradingView chart and trade-list exports for
parity checks before any eventual live change. Later downloaded historical values
alone cannot establish when each feature was available in real time.

The bundle pins models, parameters and evaluator source hashes. Source drift
stops observation. Use the pinned commit or its `source_snapshot` in an isolated
checkout to continue the original experiment; do not edit the seal to accept new
code. If historical values change, preserve both exports for a revision review.

## Verification and preservation

Parameter and Pine preflights passed. Fast suite: **253 passed, 2 skipped**, with
three existing legacy-feature warnings. Tests cover harmful/harmless threshold
changes, unchanged promotion hurdles, stale evidence, frozen artifact tampering,
unclosed bars, historical revisions, idempotence, coverage and continuous position
accounting including entry fees. Synthetic forward data tests exercise plumbing
only. The real August-data observation was repeated without creating another
receipt. All **941** protected configuration/model/winner/Pine files retained
their hashes.

The checkpoint in `results/research_checkpoint_2026_09_24` contains the sealed
bundle, initial observation, fixed-candidate evaluation, test log and review
receipt. Its manifest hashes every archive member and the archive itself. The
raw chart export remains in the existing data directory; its hash and row hashes
are recorded. Future local observations are ignored by Git and should be archived
at later checkpoints.
