{
  "updatedAt": "2026-08-21T21:56:46.760Z",
  "configVersion": "v10.9",
  "modes": {
    "best": {
      "state": "live",
      "since": "2026-08-12T00:00:00.000Z",
      "reason": "Catalogue réduit à 5 modes le 2026-08-12 : best remplace les six paniers scriptés.",
      "acceptsNewEntries": true,
      "exitsOnly": false,
      "forceLiquidate": false,
      "publiclyVisible": true,
      "tradingMode": "real",
      "nextReviewAt": null
    },
    "turbo": {
      "state": "live",
      "since": "2026-02-26T00:00:00Z",
      "reason": null,
      "acceptsNewEntries": true,
      "exitsOnly": false,
      "forceLiquidate": false,
      "publiclyVisible": true,
      "tradingMode": "real",
      "nextReviewAt": null
    },
    "dynamic": {
      "state": "live",
      "since": "2026-02-26T00:00:00Z",
      "reason": null,
      "acceptsNewEntries": true,
      "exitsOnly": false,
      "forceLiquidate": false,
      "publiclyVisible": true,
      "tradingMode": "real",
      "nextReviewAt": null
    },
    "balanced": {
      "state": "live",
      "since": "2026-02-26T00:00:00Z",
      "reason": "Balanced P4 (GO): stop non-capé + FIXED sizing = root cause du sous-perf. atrStopMult 0→1.8, maxStopPct 5→7, +trailing 2R/grace3, sizingMethod inverse_atr, targetRiskPct 1. Valid: full +18.35% vs -13.95%, MaxDD -4.16%, PF 2.09, OOS +6.7%, tous régimes améliorés.",
      "acceptsNewEntries": true,
      "exitsOnly": false,
      "forceLiquidate": false,
      "publiclyVisible": true,
      "tradingMode": "real",
      "nextReviewAt": null
    },
    "fortress": {
      "state": "live",
      "since": "2026-02-26T00:00:00Z",
      "reason": "Rollback to pre-April-20 winning config — 12 SL streak was caused by post-April config churn, not market",
      "acceptsNewEntries": true,
      "exitsOnly": false,
      "forceLiquidate": false,
      "publiclyVisible": true,
      "tradingMode": "real",
      "nextReviewAt": null
    }
  },
  "recentTransitions": [
    {
      "mode": "bull",
      "from": "live",
      "to": "pausing",
      "at": "2026-07-03T14:19:37.519Z",
      "reason": "AmericanBulls/candlestick = artefact survivorship/look-ahead (honest backtest +435%→-10%, absent du scorecard Go 5Y gate-ON, filtre liquidité mort dans le code). Wind-down per mission fiabilisation backtest.",
      "by": "claude-code",
      "nextReviewAt": "2026-08-03"
    },
    {
      "mode": "momentum",
      "from": "live",
      "to": "pausing",
      "at": "2026-07-02T06:25:02.105Z",
      "reason": "Backtest Go 5y US momentum-rotation NÉGATIF (config/experimental/portfolio_us_momentum_rotation.yaml): CAGR -5.31%, MaxDD 67.15%, PF 0.921, WR 34.1%, n=566 vs SPY +12.98% même fenêtre. Edge de sélection négatif (proxy worst-case — sizing/horizon live plus stricts, mais PF<1 = propriété de la sélection). Premier backtest réel de ce mode. Décision auto conservatrice (user AFK), réversible: pausing → live si re-validation des params live exacts positive.",
      "by": "manual",
      "nextReviewAt": "2026-07-16"
    },
    {
      "mode": "trendline",
      "from": "test",
      "to": "live",
      "at": "2026-07-01T14:27:19.838Z",
      "reason": "Promotion normale (user request 2026-07-01)",
      "by": "manual",
      "nextReviewAt": "2026-08-01"
    },
    {
      "mode": "momentum",
      "from": "test",
      "to": "live",
      "at": "2026-07-01T14:27:19.430Z",
      "reason": "Promotion normale (user request 2026-07-01)",
      "by": "manual",
      "nextReviewAt": "2026-08-01"
    },
    {
      "mode": "casablanca",
      "from": "test",
      "to": "live",
      "at": "2026-07-01T14:27:19.297Z",
      "reason": "Promotion normale (user request 2026-07-01)",
      "by": "manual",
      "nextReviewAt": "2026-08-01"
    },
    {
      "mode": "bull",
      "from": "deploying",
      "to": "live",
      "at": "2026-07-01T14:27:18.945Z",
      "reason": "Promotion normale (user request 2026-07-01)",
      "by": "manual",
      "nextReviewAt": "2026-08-01"
    },
    {
      "mode": "fortress",
      "from": "paused",
      "to": "live",
      "at": "2026-06-29T21:15:33.284Z",
      "reason": "Resume trading — pausing blocked all entries since 2026-06-17",
      "by": "manual",
      "nextReviewAt": "2026-07-15"
    },
    {
      "mode": "fortress",
      "from": "pausing",
      "to": "paused",
      "at": "2026-06-29T21:15:33.217Z",
      "reason": "Transition to resume",
      "by": "manual",
      "nextReviewAt": null
    },
    {
      "mode": "metals",
      "from": "test",
      "to": "stopped",
      "at": "2026-06-29T21:12:20.707Z",
      "reason": "Negative return -10.96%, non-viable",
      "by": "manual",
      "nextReviewAt": "2026-09-01"
    },
    {
      "mode": "crypto",
      "from": "test",
      "to": "stopped",
      "at": "2026-06-29T21:12:20.636Z",
      "reason": "Negative return -33.71%, non-viable",
      "by": "manual",
      "nextReviewAt": "2026-09-01"
    },
    {
      "mode": "crypto",
      "from": "draft",
      "to": "test",
      "at": "2026-06-29T20:54:18.557Z",
      "reason": "Universe defined, no active trading",
      "by": "manual",
      "nextReviewAt": "2026-07-29"
    },
    {
      "mode": "metals",
      "from": "draft",
      "to": "test",
      "at": "2026-06-29T20:54:18.411Z",
      "reason": "Scanner ported, needs backtest validation",
      "by": "manual",
      "nextReviewAt": "2026-07-29"
    },
    {
      "mode": "trendline",
      "from": "draft",
      "to": "test",
      "at": "2026-06-29T20:54:13.121Z",
      "reason": "Initial backtest validation",
      "by": "manual",
      "nextReviewAt": "2026-07-29"
    },
    {
      "mode": "momentum",
      "from": "draft",
      "to": "test",
      "at": "2026-06-29T20:54:12.980Z",
      "reason": "Initial backtest validation",
      "by": "manual",
      "nextReviewAt": "2026-07-29"
    },
    {
      "mode": "casablanca",
      "from": "draft",
      "to": "test",
      "at": "2026-06-29T20:54:12.906Z",
      "reason": "Initial backtest validation",
      "by": "manual",
      "nextReviewAt": "2026-07-29"
    },
    {
      "mode": "fortress",
      "from": "live",
      "to": "pausing",
      "at": "2026-06-18T06:15:38.415Z",
      "reason": "12 consecutive SL losses (Jun 1-17), -46% impact. CB bug + regime detection failure.",
      "by": "manual",
      "nextReviewAt": "2026-07-02"
    },
    {
      "mode": "bull",
      "from": "draft",
      "to": "deploying",
      "at": "2026-06-12T00:00:00Z",
      "reason": "Bull mode (ex-americanbull) deploying after 5-year backtest parity (0 sell price diffs). Paper-ramp from June 5.",
      "by": "manual",
      "nextReviewAt": "2026-07-12"
    }
  ]
}