Skip to content
This repository was archived by the owner on May 11, 2026. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
a6c80cf
feat(risk): Add Risk Management core models (Block A - Step 1)
Feb 17, 2026
e603ab6
feat(risk): Integrate Risk Management into Trade Execution (Block A -…
Feb 17, 2026
c7dc542
feat(resilience): Add Circuit Breaker and Retry Handler (Block B)
Feb 17, 2026
090ce50
feat(telemetry): Add Metrics Collection and HTTP Endpoint (Block C)
Feb 17, 2026
ad3edcb
feat(llm): Add Model Selection and Fallback Handler (Block D)
Feb 17, 2026
7191057
feat(integration): Integrate A-D into trading flow (Step 1)
Feb 17, 2026
8e401a0
test(integration): Add unit tests for A-D components (Step 2)
Feb 17, 2026
338031d
docs: Add README with ENV vars and how-to (Step 3)
Feb 17, 2026
65e47c2
fix(telemetry): Add missing Optional import in server.py
Feb 17, 2026
b65f9b3
chore: Add .gitignore and CI workflow
Feb 17, 2026
5393ca9
feat(market-data): Add WebSocket client + health endpoint (Block E)
Feb 17, 2026
9c1d4a6
feat(orderbook): Add CLOB Level-2 + Liquidity Gate (Block F)
Feb 17, 2026
760436d
feat(execution): Add Execution Engine with pre/post-trade checks (Blo…
Feb 17, 2026
66222bb
feat(trader): Add market data integration (E/F/G) + tests + docs
Feb 17, 2026
1f74dfe
fix(tests): Fix all failing tests (52 passing)
Feb 17, 2026
399e69b
fix: Replace bare except: with except Exception:
Feb 17, 2026
69e7366
fix: Remove infinite recursion in error handling
Feb 17, 2026
570df40
fix: Make singleton thread-safe (double-checked locking)
Feb 17, 2026
3c8144c
fix: Limit _latest_quotes memory usage in WebSocket client
Feb 17, 2026
8cefb3f
fix: Add division by zero protection in risk manager
Feb 17, 2026
fe3e765
fix: WebSocket connection improvements
Feb 17, 2026
0b59198
fix: Fix race conditions in WebSocket client
Feb 17, 2026
1965b92
Add n8n + Postgres quickstart (compose, schema, docs)
Feb 17, 2026
45c6614
Update README with Master Orchestrator workflow and setup instructions
Feb 17, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 22 additions & 4 deletions .env.example
Original file line number Diff line number Diff line change
@@ -1,4 +1,22 @@
POLYGON_WALLET_PRIVATE_KEY=""
OPENAI_API_KEY=""
TAVILY_API_KEY=""
NEWSAPI_API_KEY=""
# n8n Content Automation Environment
N8N_BASIC_AUTH_USER=admin
N8N_BASIC_AUTH_PASSWORD=changeme

# Database
DB_HOST=postgres
DB_PORT=5432
DB_NAME=content_automation
DB_USER=content
DB_PASSWORD=content_pass

# OpenAI
OPENAI_API_KEY=sk-your-key-here

# APIs (optional)
YOUTUBE_API_KEY=AIza...
TELEGRAM_BOT_TOKEN=xxxxxx:xxxxxxxxxxxx
TELEGRAM_CHAT_ID=123456789

# Content Settings
NICHE=entrepreneurship
TARGET_AUDIENCE="aspiring entrepreneurs aged 25-35"
38 changes: 38 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: CI

on:
push:
branches: [ main, feat/* ]
pull_request:
branches: [ main, feat/* ]

jobs:
test:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3

- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.12'

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install pytest
pip install -r requirements.txt || true

- name: Run tests
run: |
pytest tests/test_integration.py -v --tb=short
env:
RISK_ENABLED: 1
RESILIENCE_ENABLED: 1
TELEMETRY_ENABLED: 1

- name: Check for secrets
run: |
echo "Checking for potential secrets..."
! git grep -nE "BEGIN PRIVATE KEY|BEGIN RSA PRIVATE KEY|sk-[a-zA-Z0-9]{20,}" -- '*.py' '*.json' || echo "Warning: Potential secrets found"
121 changes: 99 additions & 22 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,29 +1,106 @@
# Python
**/__pycache__/
*.py[cod]
*$py.class
*.so
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg

# Virtual environments
venv/
ENV/
env/
.venv
env3.*

# Environment variables
.env
.idea
.env.local
.env.*.local

# Credentials and secrets
**/gdrive_credentials.json
**/oauth_credentials.json
**/oauth_token.pickle
**/token.pickle
**/credentials.json
**/service-account*.json
**/*secret*.json
**/*key*.json

# Logs
logs/
*.log
log.txt
paper_trades*.jsonl
pending_confirmations.json
trades.jsonl

# Local databases
local_db*/
*.db
test.db
*.sqlite
*.sqlite3

# IDE
.vscode/
.idea/
*.swp
*.swo
*~
.*.sw?
.ipynb_checkpoints
.mypy_cache
.vscode
__pycache__
.pytest_cache
htmlcov
dist
site

# OS
.DS_Store
Thumbs.db

# Temporary files
tmp/
temp/
*.tmp
*.bak
*.cache
.cache

# Coverage/testing
.coverage
coverage.xml
.netlify
test.db
log.txt
Pipfile.lock
env3.*
env
docs_build
site_build
venv
htmlcov
.pytest_cache

# Documentation builds
docs_build/
site_build/
docs.zip
archive.zip
*~
.*.sw?
.cache
.DS_Store
local_db*

# Ad-Scout specific
ad-scout/output/
ad-scout/config/*.json
!ad-scout/config/schema.sql
!ad-scout/config/*.template
ad-scout/config/auth_*.txt

# Node (for edge-tts skill)
node_modules/
package-lock.json

# Other
Pipfile.lock
.netlify
Loading