docs: Major documentation reorganization + ENV variable reference

**Documentation Structure:**
- Created docs/ subdirectory organization (analysis/, architecture/, bugs/,
  cluster/, deployments/, roadmaps/, setup/, archived/)
- Moved 68 root markdown files to appropriate categories
- Root directory now clean (only README.md remains)
- Total: 83 markdown files now organized by purpose

**New Content:**
- Added comprehensive Environment Variable Reference to copilot-instructions.md
- 100+ ENV variables documented with types, defaults, purpose, notes
- Organized by category: Required (Drift/RPC/Pyth), Trading Config (quality/
  leverage/sizing), ATR System, Runner System, Risk Limits, Notifications, etc.
- Includes usage examples (correct vs wrong patterns)

**File Distribution:**
- docs/analysis/ - Performance analyses, blocked signals, profit projections
- docs/architecture/ - Adaptive leverage, ATR trailing, indicator tracking
- docs/bugs/ - CRITICAL_*.md, FIXES_*.md bug reports (7 files)
- docs/cluster/ - EPYC setup, distributed computing docs (3 files)
- docs/deployments/ - *_COMPLETE.md, DEPLOYMENT_*.md status (12 files)
- docs/roadmaps/ - All *ROADMAP*.md strategic planning files (7 files)
- docs/setup/ - TradingView guides, signal quality, n8n setup (8 files)
- docs/archived/2025_pre_nov/ - Obsolete verification checklist (1 file)

**Key Improvements:**
- ENV variable reference: Single source of truth for all configuration
- Common Pitfalls #68-71: Already complete, verified during audit
- Better findability: Category-based navigation vs 68 files in root
- Preserves history: All files git mv (rename), not copy/delete
- Zero broken functionality: Only documentation moved, no code changes

**Verification:**
- 83 markdown files now in docs/ subdirectories
- Root directory cleaned: 68 files → 0 files (except README.md)
- Git history preserved for all moved files
- Container running: trading-bot-v4 (no restart needed)

**Next Steps:**
- Create README.md files in each docs subdirectory
- Add navigation index
- Update main README.md with new structure
- Consolidate duplicate deployment docs
- Archive truly obsolete files (old SQL backups)

See: docs/analysis/CLEANUP_PLAN.md for complete reorganization strategy
This commit is contained in:
mindesbunister
2025-12-04 08:29:59 +01:00
parent e48332e347
commit 4c36fa2bc3
61 changed files with 520 additions and 37 deletions

View File

@@ -282,30 +282,38 @@ export default function ClusterPage() {
{/* Exploration Progress */}
<div className="border border-blue-500 bg-blue-900/20 rounded-lg p-6 mb-6">
<h2 className="text-xl font-semibold mb-4">📊 Parameter Exploration</h2>
<div className="grid grid-cols-2 md:grid-cols-4 gap-4 mb-4">
<div>
<div className="text-gray-400 text-sm">Total Combinations</div>
<div className="text-lg font-bold">{status.exploration.totalCombinations.toLocaleString()}</div>
{/* Main Stats Grid */}
<div className="grid grid-cols-1 md:grid-cols-4 gap-6 mb-6">
<div className="bg-gray-800/50 rounded-lg p-4 border border-gray-700">
<div className="text-gray-400 text-sm mb-1">Total Combinations</div>
<div className="text-3xl font-bold text-blue-400">
{status.exploration.totalCombinations.toLocaleString()}
</div>
<div className="text-xs text-gray-500 mt-1">v9 comprehensive sweep</div>
</div>
<div>
<div className="text-gray-400 text-sm">Tested</div>
<div className="text-lg font-bold">{status.exploration.testedCombinations.toLocaleString()}</div>
<div className="bg-gray-800/50 rounded-lg p-4 border border-gray-700">
<div className="text-gray-400 text-sm mb-1">Tested</div>
<div className="text-3xl font-bold text-purple-400">
{status.exploration.testedCombinations.toLocaleString()}
</div>
<div className="text-xs text-gray-500 mt-1">strategies evaluated</div>
</div>
<div>
<div className="text-gray-400 text-sm">Chunks</div>
<div className="text-lg font-bold">
{status.exploration.chunks.completed} / {status.exploration.chunks.total}
{status.exploration.chunks.running > 0 && (
<span className="text-yellow-400 ml-2">({status.exploration.chunks.running} running)</span>
)}
{status.exploration.chunks.pending > 0 && status.exploration.chunks.running === 0 && (
<span className="text-gray-400 ml-2">({status.exploration.chunks.pending} pending)</span>
)}
<div className="bg-gray-800/50 rounded-lg p-4 border border-gray-700">
<div className="text-gray-400 text-sm mb-1">Chunks Progress</div>
<div className="text-3xl font-bold text-green-400">
{status.exploration.chunks.completed}
</div>
<div className="text-xs text-gray-500 mt-1">
of {status.exploration.chunks.total.toLocaleString()} completed
</div>
</div>
<div>
<div className="text-gray-400 text-sm">Status</div>
<div className="text-lg font-bold">
<div className="bg-gray-800/50 rounded-lg p-4 border border-gray-700">
<div className="text-gray-400 text-sm mb-1">Status</div>
<div className="text-2xl font-bold">
{status.exploration.chunks.running > 0 ? (
<span className="text-yellow-400"> Processing</span>
) : status.exploration.chunks.pending > 0 ? (
@@ -316,19 +324,61 @@ export default function ClusterPage() {
<span className="text-gray-400"> Idle</span>
)}
</div>
<div className="text-xs text-gray-500 mt-1">
{status.exploration.chunks.running > 0 && `${status.exploration.chunks.running} chunks running`}
{status.exploration.chunks.running === 0 && status.exploration.chunks.pending > 0 && `${status.exploration.chunks.pending.toLocaleString()} chunks pending`}
</div>
</div>
</div>
<div className="w-full bg-gray-700 rounded-full h-4">
<div
className="bg-blue-500 h-4 rounded-full transition-all"
style={{ width: `${status.exploration.progress}%` }}
/>
{/* Chunk Status Breakdown */}
<div className="grid grid-cols-3 gap-4 mb-6">
<div className="bg-green-900/30 border border-green-500/30 rounded-lg p-4 text-center">
<div className="text-green-400 text-2xl font-bold">
{status.exploration.chunks.completed}
</div>
<div className="text-green-300 text-sm mt-1"> Completed</div>
</div>
<div className="bg-yellow-900/30 border border-yellow-500/30 rounded-lg p-4 text-center">
<div className="text-yellow-400 text-2xl font-bold">
{status.exploration.chunks.running}
</div>
<div className="text-yellow-300 text-sm mt-1"> Running</div>
</div>
<div className="bg-gray-800 border border-gray-600 rounded-lg p-4 text-center">
<div className="text-gray-400 text-2xl font-bold">
{status.exploration.chunks.pending.toLocaleString()}
</div>
<div className="text-gray-500 text-sm mt-1"> Pending</div>
</div>
</div>
<div className="text-right text-sm text-gray-400 mt-1">
{status.exploration.progress.toFixed(2)}% complete
{status.exploration.testedCombinations > 0 && (
<span className="ml-3">({status.exploration.testedCombinations.toLocaleString()} strategies tested)</span>
)}
{/* Progress Bar */}
<div className="space-y-2">
<div className="flex justify-between text-sm">
<span className="text-gray-400">Overall Progress</span>
<span className="text-gray-300 font-semibold">
{status.exploration.progress > 0 ? status.exploration.progress.toFixed(2) : '0.00'}%
</span>
</div>
<div className="w-full bg-gray-700 rounded-full h-5 overflow-hidden">
<div
className="bg-gradient-to-r from-blue-500 to-purple-500 h-5 rounded-full transition-all duration-500 flex items-center justify-end pr-2"
style={{ width: `${Math.max(status.exploration.progress, 0.5)}%` }}
>
{status.exploration.progress > 2 && (
<span className="text-xs text-white font-semibold">
{status.exploration.progress.toFixed(1)}%
</span>
)}
</div>
</div>
<div className="text-xs text-gray-500 text-right">
{status.exploration.chunks.completed.toLocaleString()} / {status.exploration.chunks.total.toLocaleString()} chunks processed
{status.exploration.testedCombinations > 0 && (
<span className="ml-3"> {status.exploration.testedCombinations.toLocaleString()} strategies evaluated</span>
)}
</div>
</div>
</div>