# sigil — Project Reference

## What This Is
(No description found — add one based on README or pyproject.toml)

## Repo Layout
```
attestation.json
config/core.yaml
config/micro.yaml
config/ml.yaml
config/pump.yaml
config/risk.yaml
db/migrations/0004_audit_log_rejection_events.sql
docker-compose.yml
Dockerfile
docs/HLD.md                                             # doc
docs/ROADMAP.md                                         # doc
docs/sweep-2026-04.md                                   # doc
docs/work-breakdown-paper-breakout.md                   # doc
.gitignore
.gitleaksignore
grid-configs/aggressive/grid-overlay.yaml
grid-configs/super-aggressive/grid-overlay.yaml
grid-configs/unhinged/grid-overlay.yaml
grid-overlays/aggressive.yaml
grid-overlays/baseline.yaml
grid-overlays/moderate.yaml
grid-overlays/unhinged.yaml
.kimi-out/diff-manifest.json
.kimi-out/patch-proposals.jsonl
Makefile                                                # build automation
micro-scanner/Dockerfile
micro-scanner/micro_scanner/antispoof.py
micro-scanner/micro_scanner/capital.py
micro-scanner/micro_scanner/circuit_breaker.py
micro-scanner/micro_scanner/config.py
micro-scanner/micro_scanner/contracts.py
micro-scanner/micro_scanner/database.py
micro-scanner/micro_scanner/draft_executor.py
micro-scanner/micro_scanner/executor.py
micro-scanner/micro_scanner/exit_manager.py
micro-scanner/micro_scanner/health.py
micro-scanner/micro_scanner/indicators.py
micro-scanner/micro_scanner/__init__.py
micro-scanner/micro_scanner/logging_setup.py
micro-scanner/micro_scanner/__main__.py
micro-scanner/micro_scanner/main.py
micro-scanner/micro_scanner/metrics.py
micro-scanner/micro_scanner/reconciliation.py
micro-scanner/micro_scanner/risk_gates.py
micro-scanner/micro_scanner/scoring.py
micro-scanner/micro_scanner/signal_engine.py
micro-scanner/micro_scanner/symbols.py
micro-scanner/micro_scanner/universe.py
micro-scanner/micro_scanner/watchlist.py
micro-scanner/pytest.ini
micro-scanner/requirements.txt
micro-scanner/tests/conftest.py
micro-scanner/tests/__init__.py
micro-scanner/tests/test_antispoof.py
micro-scanner/tests/test_capital.py
micro-scanner/tests/test_circuit_breaker.py
micro-scanner/tests/test_executor.py
micro-scanner/tests/test_exit_manager.py
micro-scanner/tests/test_indicators.py
micro-scanner/tests/test_reconciliation.py
micro-scanner/tests/test_risk_gates.py
micro-scanner/tests/test_scoring.py
micro-scanner/tests/test_signal_engine.py
micro-scanner/tests/test_universe.py
micro-scanner/tests/test_watchlist.py
migrations/001_initial_down.sql
migrations/001_initial_up.sql
migrations/001_pg_schema.sql
migrations/002_micro_tier.sql
migrations/002_micro_trading_down.sql
migrations/002_micro_trading_up.sql
migrations/003_ml_pipeline_down.sql
migrations/003_ml_pipeline_up.sql
migrations/004_paper_trading.sql
migrations/005_last_price.sql
migrations/006_bigmover_down.sql
migrations/006_bigmover_up.sql
migrations/007_execution_events_down.sql
migrations/007_execution_events_up.sql
migrations/008_symbol_protections_down.sql
migrations/008_symbol_protections_up.sql
migrations/009_system_state_down.sql
migrations/009_system_state_up.sql
migrations/010_decision_candle_down.sql
migrations/010_decision_candle_up.sql
migrations/011_paper_meta_down.sql
migrations/011_paper_meta_up.sql
migrations/012_execution_events_variant_down.sql
migrations/012_execution_events_variant_up.sql
migrations/013_fix_text_columns_down.sql
migrations/013_fix_text_columns_up.sql
migrations/rollback_sigil_to_sqlite.sh
migrations/verify_migration.py
PROJECT_REFERENCE.md
pump-ttl-worker/Dockerfile
pump-ttl-worker/main.py
pump-ttl-worker/requirements.txt
pyproject.toml                                          # project config
pytest.ini
.repomixignore
requirements.txt
runbook.md
scripts/calibrate_breakout.py
scripts/collect_history.py
scripts/deploy-all.sh
scripts/deploy-to-lxc.sh
scripts/train_model.py
secrets.env
secrets.env.template
secrets-micro.env.template
secrets-ttl-worker.env
secrets-ttl-worker.env.template
src/config.py
src/contracts.py
src/executor/draft_trader.py
src/executor/__init__.py
src/executor/order_manager.py
src/executor/position_tracker.py
src/executor/risk_manager.py
src/__init__.py
src/lifecycle.py
src/main.py
src/micro_scanner/antispoof.py
src/micro_scanner/breakout_detector.py
src/micro_scanner/capital.py
src/micro_scanner/circuit_breaker.py
src/micro_scanner/composite_observer.py
src/micro_scanner/config.py
src/micro_scanner/contracts.py
src/micro_scanner/database.py
src/micro_scanner/draft_executor.py
src/micro_scanner/executor.py
src/micro_scanner/exit_manager.py
src/micro_scanner/exit_precedence.py
src/micro_scanner/health.py
src/micro_scanner/indicators.py
src/micro_scanner/__init__.py
src/micro_scanner/logging_setup.py
src/micro_scanner/__main__.py
src/micro_scanner/main.py
src/micro_scanner/metrics.py
src/micro_scanner/paper_portfolio.py
src/micro_scanner/reconciliation.py
src/micro_scanner/regime.py
src/micro_scanner/risk_gates.py
src/micro_scanner/scoring.py
src/micro_scanner/signal_engine.py
src/micro_scanner/symbol_protections.py
src/micro_scanner/symbols.py
src/micro_scanner/token_metadata.py
src/micro_scanner/universe.py
src/micro_scanner/watchlist.py
src/micro_trading.py
src/ml/backtester.py
src/ml/data_collector.py
src/ml/features.py
src/ml/__init__.py
src/ml/labeler.py
src/ml/security.py
src/ml/trainer.py
src/observability/dashboard.py
src/observability/email_digest.py
src/observability/health.py
src/observability/__init__.py
src/observability/logging.py
src/observability/metrics.py
src/observer/coingecko_extended.py
src/observer/coinglass_client.py
src/observer/defillama_client.py
src/observer/event_monitor.py
src/observer/__init__.py
src/observer/market_feed.py
src/observer/pump_detector.py
src/observer/validators.py
src/sigilctl.py
src/signals/aggregator.py
src/signals/drift_monitor.py
src/signals/engine.py
src/signals/__init__.py
src/signals/llm_advisor.py
src/signals/ml_strategy.py
src/signals/rules_strategy.py
src/storage/database.py
src/storage/__init__.py
src/symbols.py
tests/conftest.py                                       # test
tests/__init__.py                                       # test
tests/test_bigmover_gates.py                            # test
tests/test_composite_observer.py                        # test
tests/test_dry_run.py                                   # test
tests/test_micro_config.py                              # test
tests/test_micro_config_sync.py                         # test
tests/test_micro_trading_v2.py                          # test
tests/test_regime.py                                    # test
tests/test_signal_engine_v2.py                          # test
tests/test_watchlist_config.py                          # test
tests/test_wu2_universe_watchlist.py                    # test
tests/unit/__init__.py                                  # test
tests/unit/test_aggregator.py                           # test
tests/unit/test_backtester.py                           # test
tests/unit/test_bigmover_clients.py                     # test
tests/unit/test_calibrate_breakout.py                   # test
tests/unit/test_config.py                               # test
tests/unit/test_contracts.py                            # test
tests/unit/test_data_collector.py                       # test
tests/unit/test_draft_gate.py                           # test
tests/unit/test_email_digest.py                         # test
tests/unit/test_exit_precedence.py                      # test
tests/unit/test_features.py                             # test
tests/unit/test_integration_ml.py                       # test
tests/unit/test_labeler.py                              # test
tests/unit/test_migration_003.py                        # test
tests/unit/test_migration.py                            # test
tests/unit/test_ml_strategy.py                          # test
tests/unit/test_observer.py                             # test
tests/unit/test_paper_portfolio_wiring.py               # test
tests/unit/test_risk_manager.py                         # test
tests/unit/test_rules_strategy.py                       # test
tests/unit/test_security.py                             # test
tests/unit/test_sigilctl.py                             # test
tests/unit/test_signals.py                              # test
tests/unit/test_symbol_protections.py                   # test
tests/unit/test_symbols.py                              # test
tests/unit/test_trainer.py                              # test
tests/unit/test_ttl_worker_micro.py                     # test
```

## Test Setup
```bash
# Run CI
make ci
# Or directly:
pytest tests/ -q
```
Fixtures defined in conftest.py:
- _truncate_sigil_test_db()
- _reset_structlog()
- pg_dsn()
- db_conn()
Environment variables referenced in conftest.py: CASCADE,IDENTITY,RESTART,SIGIL_TEST_DATABASE_URL,TRUNCATE
DSN pattern detected: DATABASE_URL

## Key Conventions
- Language: Python
- Test framework: pytest
- Import style: src-layout (packages under src/)
- Python version requirement: >=3.12
- Database migrations: alembic/migrations directory found

## Active Pyright Suppressions
None (add with justification if needed)

## Gotchas
- None known (add as discovered)
