From bf854d08e1ba92e06e722da5e3e73b56077d1e67 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=B4me=20Benoit?= Date: Wed, 28 Jan 2026 16:20:54 +0100 Subject: [PATCH] docs(openspec): add project context to config --- openspec/config.yaml | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 openspec/config.yaml diff --git a/openspec/config.yaml b/openspec/config.yaml new file mode 100644 index 0000000..959fbeb --- /dev/null +++ b/openspec/config.yaml @@ -0,0 +1,41 @@ +schema: spec-driven + +context: | + Tech stack: Python 3.11+, FreqAI (Freqtrade), Docker + ML libraries: XGBoost, LightGBM, CatBoost, NGBoost, scikit-learn, NumPy, pandas + Reinforcement learning: Stable-Baselines3 (ReforceXY strategy) + Testing: pytest + Domain: Algorithmic crypto trading strategies with machine learning + + Key strategies: + - QuickAdapter: Regression-based strategy with zigzag labeling and adaptive thresholds + - ReforceXY: Reinforcement learning strategy with customizable reward functions + + Conventions from .github/copilot-instructions.md: + - Prefer established design patterns (factory, singleton, strategy) + - DRY: avoid duplication of logic, data, and naming + - Single source of truth: maintain canonical defaults for configuration tunables + - Naming coherence: semantically accurate names, avoid ambiguous synonyms + - English-only: code, tests, logs, comments, documentation + - Tests-first mindset: add or update tests before refactoring or feature changes + - Conventional Commits format for PR titles and commit messages + + Configuration guidelines: + - Dynamic generation: derive CLI/config options from canonical defaults + - Merge precedence: defaults < user options < explicit overrides + - Validation: enforce constraints (choices, ranges, types) at the option layer + + Statistical conventions: + - Report effect sizes alongside test statistics and p-values + - Document divergence metric direction explicitly + - Use confidence intervals when feasible + +# Per-artifact rules (optional) +# Add custom rules for specific artifacts. +# Example: +# rules: +# proposal: +# - Keep proposals under 500 words +# - Always include a "Non-goals" section +# tasks: +# - Break tasks into chunks of max 2 hours -- 2.43.0