Skip to content

docs: phase 2 du plan réécrite (cœur + poche active + satellite, LLM/TimesFM au centre) - #104

Merged
laurentvv merged 1 commit into
mainfrom
docs/plan-phase2-reecriture
Sep 29, 2026
Merged

laurentvv merged 1 commit into
mainfrom
docs/plan-phase2-reecriture

Conversation

@laurentvv

Copy link
Copy Markdown
Owner

Intègre les décisions du 2026-09-29 : pas de stop sur le cœur, poche active 10 %, Nasdaq-100 obligatoire, cadence hebdomadaire, alerte -35 %, LLM et TimesFM au centre avec test équitable. §9 liste les points restant à confirmer. Aucun code modifié ; AGENTS.md (GO-gate 2) sera mis à jour dans la PR qui livre la couche de risque.

🤖 Generated with Claude Code

… 10 %, satellite pétrole, cadence hebdomadaire)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@laurentvv
laurentvv merged commit 24068ee into main Sep 29, 2026
2 checks passed
@laurentvv
laurentvv deleted the docs/plan-phase2-reecriture branch September 29, 2026 21:59

La barre à battre est connue. Sur 5 ans (09/2021 → 09/2026), le buy & hold fait **SXRV.DE +113 % (drawdown max −31 %)** et **CRUDP.PA +152 % (drawdown max −25 %)**. Pour justifier son existence, un système moyen/long terme doit **capter l'essentiel de cette hausse avec un drawdown plus faible**, net de frais et d'impôts. Sinon, le buy & hold l'emporte par défaut.

> **Mise à jour du 2026-09-29 (soir) : le cap a changé.** Après l'étude des stops (`docs/STOPS_ET_VISION_MOYEN_LONG_TERME_2026-09-29.md`), l'utilisateur a tranché : **cœur Nasdaq-100 conservé sans stop broker, poche active de 10 % du capital pilotée par l'ensemble de modèles (LLM et TimesFM au centre du projet), satellite pétrole tactique, décisions hebdomadaires, entrée en une fois, alerte à −35 % depuis le pic.** Les §2, phase 2, phases 3 et 4, §4, §5 et §7 ci-dessous ont été réécrits en conséquence. Les §1, phase 0 et §6 restent l'historique factuel du run démo 2 ; le mode actuel du démo (« legacy », un stop GTC par position) reste régi par le GO-gate 2 tant que la phase 2 n'est pas livrée.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

WARNING: The study this update is based on does not exist in the repository

docs/STOPS_ET_VISION_MOYEN_LONG_TERME_2026-09-29.md is not present anywhere in the repo (checked docs/, and a repo-wide grep for STOPS_ET_VISION), yet this line presents it as a completed study that justifies the whole "cap a changé" decision. A reader (or a future agent restarting from this file) cannot verify the decision's premise. Either add the document in this PR or state clearly that it is a planned/unpublished artifact.


Reply with @kilocode-bot fix it to have Kilo Code address this issue.

- **Prérequis bloquant** : une source de prix fiable (CRUDP.PA : flux Yahoo gelé à 82 %). À instruire : autre ETC/ETF pétrole coté et disponible chez T212, ou contrat de référence (CL=F, BZ=F) pour le signal et un ETC pour l'exécution (risque de base et de roll à mesurer). Décision après mesure du roll et du contango sur l'instrument réel.
- **Rôle** : tactique, exposition 0 / 50 / 100 % de sa part, décision hebdomadaire, voix = oil_bench, TimesFM sur la série pétrole, LLM vision et texte. Testé selon le §2.3.
- **Plafond** : au plus la moitié de la poche par défaut (hypothèse à confirmer : la poche de 10 % inclut-elle le pétrole ?).
- **Protection** : la décision « pas de stop » concerne le cœur. Pour le satellite, très volatil, un **stop très large** est une variante à mesurer avec `scripts/stop_study.py` ; décision à prendre sur le résultat.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

WARNING: scripts/stop_study.py does not exist and has no owner in the PR plan

scripts/ currently contains only backtest_ensemble_10y.py, backtest_hmm_10y.py and install_watchdog_task.ps1; a repo-wide grep for stop_study finds only this line. The satellite stop decision ("décision à prendre sur le résultat") therefore depends on a tool that nobody is assigned to write, and the §2.6 decomposition (PR 2-a … 2-g) does not mention it. Add it to one of the PRs (or to the phase 1 tranche B banc) so the decision is reachable.


Reply with @kilocode-bot fix it to have Kilo Code address this issue.

| R5 | **Cœur non vendable par le logiciel** (§2.2) | Test : SELL `core` refusé |
| R6 | **Réconciliation hebdomadaire** état local ↔ broker ; un écart (vente ou achat manuel) est signalé, jamais « corrigé » par un ordre automatique | Test avec broker simulé |
| R7 | **Watchdog conscient du rôle** : « position sans stop » n'est critique que pour un livre déclaré protégé ; le cœur est attendu sans stop | Test du watchdog |
| — | **Restent en vigueur** : GO-gates 1 (idempotence des ordres), 3 (fill confirmé), 4 (volatilité quotidienne), 5 (fraîcheur des données), 6 (verrou du scheduler), 7 (equity FIFO) | Suite existante |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

WARNING: GO-gate 1 is mischaracterized as "idempotence des ordres"

Per AGENTS.md §2.2, GO-gate 1 exists precisely because the market-order endpoint is not idempotent: POSTs must go through post_order_market and the broker position is re-checked before any retry, because a blind retry double-posts. Labelling the gate "idempotence des ordres" (also in progress.md:20, but this line is the one the new risk layer will be implemented against) risks an implementer reading it as "order POSTs are safe to retry" and reintroducing the exact double-order the gate forbids.

Suggested change
| — | **Restent en vigueur** : GO-gates 1 (idempotence des ordres), 3 (fill confirmé), 4 (volatilité quotidienne), 5 (fraîcheur des données), 6 (verrou du scheduler), 7 (equity FIFO) | Suite existante |
| — | **Restent en vigueur** : GO-gates 1 (POST par `post_order_market` + réconciliation broker, **jamais de retry aveugle**), 3 (fill confirmé), 4 (volatilité quotidienne), 5 (fraîcheur des données), 6 (verrou du scheduler), 7 (equity FIFO) | Suite existante |

Reply with @kilocode-bot fix it to have Kilo Code address this issue.


- **Cœur (≈ 90 %)** : Nasdaq-100 acheté en une fois et conservé. **Aucun stop broker, aucune vente décidée par un modèle.** Le filtre MA200 et le momentum ne pilotent pas le cœur : ils servent de **comparateurs** que la poche active doit battre.
- **Poche active (10 % du capital, soit 3 000 €)** : c'est ici que vivent les modèles. L'ensemble décide chaque semaine son niveau d'exposition (0 / 50 / 100 % de la poche). Elle n'est adoptée que si elle bat, hors échantillon et nette de frais et d'impôt, à la fois le buy & hold et la règle MA200. Sinon elle reste passive, et le cœur n'en souffre pas.
- **Satellite pétrole** : tactique, jugé séparément, prélevé **dans** la poche (hypothèse à confirmer, voir §2.4). Bloqué tant qu'il n'y a pas de source de prix fiable.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SUGGESTION: Dead cross-reference: the §2.x subsections live in section 3

Subsections 2.1 … 2.7 are defined under ## 3. Plan par phases → Phase 2, not under ## 2. Principe directeur. So references like voir §2.4 (line 97), coupe-poche (§2.5) (line 147), §2.7 (line 176) and §2.2 (line 146) point to a section that does not exist; only line 134 uses the correct §3, phase 2.3 form. Suggest normalizing to §3 phase 2.x so the links resolve.


Reply with @kilocode-bot fix it to have Kilo Code address this issue.

Comment thread memory-bank/log.md
- Restent à la main du propriétaire : canal d'alerte + installation de la tâche watchdog, exécution du runbook PROD/DEV, accord pour la sonde `check_t212_stops.py`, revue et fusion des PR.


## [2026-09-29] gen | Plan de passage en réel : phase 2 réécrite (cœur Nasdaq-100 + poche active 10 % + satellite pétrole)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SUGGESTION: progress.md not synced with the phase 2 rewrite

AGENTS.md §1.2 (sync phase) requires the sprint dashboard to be updated when the state files change. progress.md "Prochaine Action Immédiate" (lines 106-107) still announces the superseded order — "Phase 2 refonte moyen terme → Phase 4 réel progressif" — and knows nothing about the new mode core_sleeve, the 10 % sleeve, the weekly cadence or the −35 % alert. An agent restarting from progress.md would resume the old plan. A one-line addition pointing to the new §2 / §9 would keep the four files consistent.


Reply with @kilocode-bot fix it to have Kilo Code address this issue.

@kilo-code-bot

kilo-code-bot Bot commented Sep 29, 2026 •

Copy link
Copy Markdown

Code Review Summary

Status: 5 Issues Found | Recommendation: Address before merge

Overview

Severity Count
CRITICAL 0
WARNING 3
SUGGESTION 2
Issue Details (click to expand)

WARNING

File Line Issue
docs/PLAN_AMELIORATION_PASSAGE_REEL_2026-09-29.md 21 The update note is based on docs/STOPS_ET_VISION_MOYEN_LONG_TERME_2026-09-29.md, which does not exist in the repository (verified by docs/ listing and repo-wide grep)
docs/PLAN_AMELIORATION_PASSAGE_REEL_2026-09-29.md 185 scripts/stop_study.py does not exist and is not assigned to any PR in the §2.6 decomposition, so the satellite stop decision has no reachable tool
docs/PLAN_AMELIORATION_PASSAGE_REEL_2026-09-29.md 198 GO-gate 1 restated as "idempotence des ordres"; AGENTS.md §2.2 states the market-order endpoint is not idempotent (blind retry double-posts) — risk of reintroducing the forbidden retry

SUGGESTION

File Line Issue
docs/PLAN_AMELIORATION_PASSAGE_REEL_2026-09-29.md 97 Cross-references §2.2/§2.4/§2.5/§2.7 point to section 2, but those subsections are defined under ## 3. Plan par phases → Phase 2
memory-bank/log.md 473 progress.md not synced (AGENTS.md §1.2): its "Prochaine Action Immédiate" still lists the superseded Phase 2 / Phase 4 plan and does not mention the new core_sleeve mode, 10 % sleeve, weekly cadence or −35 % alert
Files Reviewed (2 files)
  • docs/PLAN_AMELIORATION_PASSAGE_REEL_2026-09-29.md - 4 issues
  • memory-bank/log.md - 1 issue

Fix these issues in Kilo Cloud


Reviewed by free · Input: 0 · Output: 0 · Cached: 0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant