## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
##
## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore

# User-specific files
*.rsuser
*.suo
*.user
*.userosscache
*.sln.docstates

# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs

# Mono auto generated files
mono_crash.*

# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
[Ww][Ii][Nn]32/
[Aa][Rr][Mm]/
[Aa][Rr][Mm]64/
bld/
[Bb]in/
[Oo]bj/
[Oo]ut/
[Ll]og/
[Ll]ogs/

# Visual Studio 2015/2017 cache/options directory
.vs/
# Uncomment if you have tasks that create the project's static files in wwwroot
#wwwroot/

# Visual Studio 2017 auto generated files
Generated\ Files/

# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*

# NUnit
*.VisualState.xml
TestResult.xml
nunit-*.xml

# Build Results of an ATL Project
[Dd]ebugPS/
[Rr]eleasePS/
dlldata.c

# Benchmark Results
BenchmarkDotNet.Artifacts/

# .NET Core
project.lock.json
project.fragment.lock.json
artifacts/

# ASP.NET Scaffolding
ScaffoldingReadMe.txt

# StyleCop
StyleCopReport.xml

# Files built by Visual Studio
*_i.c
*_p.c
*_h.h
*.ilk
*.meta
*.obj
*.iobj
*.pch
*.pdb
*.ipdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*_wpftmp.csproj
*.log
*.vspscc
*.vssscc
.builds
*.pidb
*.svclog
*.scc

# Chutzpah Test files
_Chutzpah*

# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opendb
*.opensdf
*.sdf
*.cachefile
*.VC.db
*.VC.VC.opendb

# Visual Studio profiler
*.psess
*.vsp
*.vspx
*.sap

# Visual Studio Trace Files
*.e2e

# TFS 2012 Local Workspace
$tf/

# Guidance Automation Toolkit
*.gpState

# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user

# TeamCity is a build add-in
_TeamCity*

# DotCover is a Code Coverage Tool
*.dotCover

# AxoCover is a Code Coverage Tool
.axoCover/*
!.axoCover/settings.json

# Coverlet is a free, cross platform Code Coverage Tool
coverage*.json
coverage*.xml
coverage*.info

# Visual Studio code coverage results
*.coverage
*.coveragexml

# NCrunch
_NCrunch_*
.*crunch*.local.xml
nCrunchTemp_*

# MightyMoose
*.mm.*
AutoTest.Net/

# Web workbench (sass)
.sass-cache/

# Installshield output folder
[Ee]xpress/

# DocProject is a documentation generator add-in
DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html

# Click-Once directory
publish/

# Publish Web Output
*.[Pp]ublish.xml
*.azurePubxml
# Note: Comment the next line if you want to checkin your web deploy settings,
# but database connection strings (with potential passwords) will be unencrypted
*.pubxml
*.publishproj

# Microsoft Azure Web App publish settings. Comment the next line if you want to
# checkin your Azure Web App publish settings, but sensitive information contained
# in these scripts will be unencrypted
PublishScripts/

# NuGet Packages
*.nupkg
# NuGet Symbol Packages
*.snupkg
# The packages folder can be ignored because of Package Restore
**/[Pp]ackages/*
# except build/, which is used as an MSBuild target.
!**/[Pp]ackages/build/
# Uncomment if necessary however generally it will be regenerated when needed
#!**/[Pp]ackages/repositories.config
# NuGet v3's project.json files produces more ignorable files
*.nuget.props
*.nuget.targets

# Microsoft Azure Build Output
csx/
*.build.csdef

# Microsoft Azure Emulator
ecf/
rcf/

# Windows Store app package directories and files
AppPackages/
BundleArtifacts/
Package.StoreAssociation.xml
_pkginfo.txt
*.appx
*.appxbundle
*.appxupload

# Visual Studio cache files
# files ending in .cache can be ignored
*.[Cc]ache
# but keep track of directories ending in .cache
!?*.[Cc]ache/

# Others
ClientBin/
~$*
*~
*.dbmdl
*.dbproj.schemaview
*.jfm
*.pfx
*.publishsettings
orleans.codegen.cs

# Including strong name files can present a security risk
# (https://github.com/github/gitignore/pull/2483#issue-259490424)
#*.snk

# Since there are multiple workflows, uncomment next line to ignore bower_components
# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
#bower_components/

# RIA/Silverlight projects
Generated_Code/

# Backup & report files from converting an old project file
# to a newer Visual Studio version. Backup files are not needed,
# because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm
ServiceFabricBackup/
*.rptproj.bak

# SQL Server files
*.mdf
*.ldf
*.ndf

# Business Intelligence projects
*.rdl.data
*.bim.layout
*.bim_*.settings
*.rptproj.rsuser
*- [Bb]ackup.rdl
*- [Bb]ackup ([0-9]).rdl
*- [Bb]ackup ([0-9][0-9]).rdl

# Microsoft Fakes
FakesAssemblies/

# GhostDoc plugin setting file
*.GhostDoc.xml

# Node.js Tools for Visual Studio
.ntvs_analysis.dat
# Node.js dev/test habitat (Playwright E2E only — NOT a runtime dependency).
# The NSE Web UI is a buildless vanilla-JS SPA served by FastAPI; there is no
# package.json / bundler / committed node_modules. See agents/decisions/DEC-0002.
node_modules/playwright*
node_modules/.bin/playwright*
# (there is no other node_modules in this repo; do NOT add a blanket node_modules/)

# Alternative React UI (frontend/): Node is a BUILD/DEV-ONLY dependency there
# (same DEC-0002 principle). The compiled dist/ artifact and node_modules are
# never committed; source (src/, package.json, vite.config.ts) is.
frontend/node_modules/
frontend/dist/
frontend/*.log
frontend/tsconfig.tsbuildinfo

# Visual Studio 6 build log
*.plg

# Visual Studio 6 workspace options file
*.opt

# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
*.vbw

# Visual Studio LightSwitch build output
**/*.HTMLClient/GeneratedArtifacts
**/*.DesktopClient/GeneratedArtifacts
**/*.DesktopClient/ModelManifest.xml
**/*.Server/GeneratedArtifacts
**/*.Server/ModelManifest.xml
_Pvt_Extensions

# Paket dependency manager
.paket/paket.exe
paket-files/

# FAKE - F# Make
.fake/

# CodeRush personal settings
.cr/personal

# Python Tools for Visual Studio (PTVS)
__pycache__/
*.pyc

# Cake - Uncomment if you are using it
# tools/**
# !tools/packages.config

# Tabs Studio
*.tss

# Telerik's JustMock configuration file
*.jmconfig

# BizTalk build output
*.btp.cs
*.btm.cs
*.odx.cs
*.xsd.cs

# OpenCover UI analysis results
OpenCover/

# Azure Stream Analytics local run output
ASALocalRun/

# MSBuild Binary and Structured Log
*.binlog

# NVidia Nsight GPU debugger configuration file
*.nvuser

# MFractors (Xamarin productivity tool) working folder
.mfractor/

# Local History for Visual Studio
.localhistory/

# BeatPulse healthcheck temp database
healthchecksdb

# Backup folder for Package Reference Convert tool in Visual Studio 2017
MigrationBackup/

# Ionide (cross platform F# VS Code tools) working folder
.ionide/

# Fody - auto-generated XML schema
FodyWeavers.xsd
# ==============================================================================
# NEXUS SCALP ENGINE (NSE) - PRODUCTION GITIGNORE
# ==============================================================================
# Security-hardened version control exclusions for institutional quantitative trading.
# Covers Python 3.11+, PyTorch, Polars, SQLite WAL, MT5, Visual Studio 2022, and Docker.

# ==============================================================================
# 1. SECURITY & SENSITIVE CONFIGURATIONS (ZERO LEAKAGE GUARD)
# ==============================================================================
# Exclude raw environment files containing secrets/tokens
.env
.env.*
!.env.example

# Exclude live broker credentials, accounts, and Telegram bot keys
configs/live.yaml
configs/live.yml
configs/secrets.yaml
configs/secrets.yml
configs/credentials.json

# Explicitly track base configuration templates
!configs/base.yaml

# ==============================================================================
# 2. PYTHON & VIRTUAL ENVIRONMENTS
# ==============================================================================
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# Virtual environments
.venv/
venv/
env/
ENV/
env.bak/
venv.bak/
training-env/

# Distribution / Packaging / Build outputs
build/
dist/
sdist/
wheels/
share/python-wheels/
*.egg-info/
.eggs/

# Code Quality, Testing & Coverage
.pytest_cache/
.coverage
.coverage.*
nosetests.xml
coverage.xml
htmlcov/
.junit.xml
.mypy_cache/
.ruff_cache/
.pytype/
# GitHub Actions per-run results (generated fresh on every CI run; never committed)
ci-results/
# Quarantined test-suite consolidation hold (untracked; see TASK-TestConsolidation)
_cleanup_hold_20260819/

# ==============================================================================
# 3. MACHINE LEARNING & PYTORCH ARTIFACTS
# ==============================================================================
# Exclude heavy PyTorch model weights and checkpoints
*.pt
*.pth
*.ckpt
*.onnx
*.bin
*.safetensors

# Exclude compiled model artifacts while preserving directory structure
artifacts/models/**/*
!artifacts/models/.gitkeep

# ==============================================================================
# 4. DATABASES, LOCAL STATE & DATA LAKE (PARQUET)
# ==============================================================================
# Exclude SQLite database engines, WAL journals, and temporary locks
*.db
*.db-journal
*.db-wal
*.db-shm
*.sqlite
*.sqlite3

# Exclude high-throughput tick data lake files
*.parquet
data/raw/**/*
data/processed/**/*
!data/raw/.gitkeep
!data/processed/.gitkeep

# Exclude local runtime state directory except .gitkeep
artifacts/*
!artifacts/.gitkeep
!artifacts/models/
!artifacts/templates/

# ==============================================================================
# 5. RUNTIME LOGS, TELEMETRY & OBSERVABILITY
# ==============================================================================
*.log
logs/
*.jsonl
structlog.json
telemetry/

# ==============================================================================
# 6. VISUAL STUDIO 2022 / C++ / PTVS / IDE SPECIFICS
# ==============================================================================
# User-specific Visual Studio options and caches
.vs/
*.suo
*.user
*.userosscache
*.sln.docstates
*.userprefs

# C++ / MSBuild outputs
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
[Ww][Ii][Nn]32/
[Aa][Rr][Mm]/
[Aa][Rr][Mm]64/
bld/
[Bb]in/
[Oo]bj/
[Oo]ut/

# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opendb
*.opensdf
*.sdf
*.cachefile
*.VC.db
*.VC.VC.opendb

# Code coverage results
*.coverage
*.coveragexml

# ==============================================================================
# RELEASE ENGINEERING OUTPUTS (never commit generated artifacts)
# ==============================================================================
# Anchored to the repo root: the bare `release/` form also matched ANY path
# segment named release — swallowing tests/release/*.py (BUG-298's contract
# battery, force-added in #235) and shadowing the tracked src/nexus_scalp/
# release/ package. The generated release OUTPUT dir is root-level only.
/release/
build-info.json
*.spec
installer/*.exe
!src/nexus_scalp/release/
!scripts/build/
!scripts/release/

# VS Code & JetBrains IDEs
.vscode/
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
.idea/
*.swp
*~

# ==============================================================================
# 7. OPERATING SYSTEM SPECIFICS
# ==============================================================================
# macOS
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes

# Windows
Thumbs.db
ehthumbs.db
desktop.ini
$RECYCLE.BIN/
archive/

# === Generated docs-site build outputs (Nexus-Docs) ===
site/_build/
site/public/
site/cache/

# === Stray venv accidentally created in scripts/ (never commit binaries) ===
scripts/python.exe
scripts/pythonw.exe
scripts/pip.exe
scripts/pip3.exe
scripts/pip3.11.exe
scripts/activate
scripts/activate.bat
scripts/deactivate.bat
scripts/Activate.ps1
scripts/pyvenv.cfg
scripts/Lib/
scripts/share/

# === Local one-off diagnostics ===
doc1.txt
end_limit
pyvenv.cfg

# === CI evidence captures, stale snapshots, forensic digests (reproducible) ===
scratch/*.zip
scratch/ci2/
scratch/ci3/
scratch/ci4/
scratch/ci5/
scratch/ci6/
scratch/ci_results/
scratch/ci_results_x/
scratch/audit_ml_ast.json
scratch/audit_ml_digest.json
scratch/om_head_now.py
scratch/om_git_view.py
scratch/ux_audit_desktop.png
scratch/task4_probe_worker_rebuild.out.txt
.worktrees/

# === One-off agent scratch probes (I6, audit 2026-09-07) ===
# scratch/ holds disposable diagnostic scripts/captures from parallel agents;
# ruff/mypy and scripts/ci/check_local.py already exclude it from all code
# quality and CI surfaces, so it is untracked to cut clone size and
# agent-confusion cost (finding I6). Files remain on disk locally.
scratch/

# === Host-leak guards (disk-leak mission, 2026-09-09) ===
# A missing uri=True on sqlite3.connect once created a literal file named
# after the in-memory URI in the CWD; and a stray shell redirect created a
# file literally named "-". Neither may ever be committed.
file::memory:*
-

# UI wave: React feature folders must never be eaten by the [Dd]ebug/ MSBuild rule
!frontend/src/features/debug/
!frontend/src/features/debug/**

# NSE master wave 2026-09-14: local ruflo/claude tool state (not shared config)
.claude/
.claude-flow/
.swarm/

# === Master-wave 2026-09-14: shell-redirect host-leak guards (same class as
# the "-" and file::memory rules above). A cmd.exe hook layer eating a bare
# '<' comparison in a command string creates a zero-byte file NAMED AFTER THE
# TOKEN. These words have appeared at the repo root; none may ever be tracked.
# EVERY entry is ROOT-ANCHORED (leading slash) on purpose: an unanchored
# single-segment pattern matches at ANY depth, and on case-insensitive
# (Windows) filesystems it silently shadows real source trees — BUG-293 hit
# exactly this: pattern 'PAPER' matched src/nexus_scalp/adapters/paper/
# directory-wide, so `git add` of the TRACKED paper_adapter.py demanded -f.
# The leaks only ever land at the repo root; root-only is all we need.
/0
/REJECT
/QUARANTINED
/CHOP
/FREEZE
/FREEZE_ALL
/TRENDING
/RANGING
/PAPER
/LIVE
/UNKNOWN
/INGEST_TIME
/FEED
/DEGRADED
/RUNNING
/weekend-suppressed
# BUG-286: second incident of the same class — 'the' and
# 'min_samples_to_reject' were COMMITTED (not just leaked) in 94ecf2c7 and
# reached main via the #199 squash. Words eaten from '<' comparisons in a
# cmd-shell command line (git add -A then sweeps them in). None may ever be
# tracked; sentinel pairs from 62920ac3 kept in place above.
/the
/min_samples_to_reject
/278)

# === ML-PHASE1-DATA-CONTRACT commit, 2026-09-22 (agent cleanup pass) ===
# Rule: every entry is ROOT-ANCHORED for the same reason as the BUG-293 block
# above (unanchored single-segment patterns shadow real trees on case-insensitive
# Windows filesystems). None of these are project content:
#  - cj.txt: libcurl cookie jar holding a live nse_web_auth token (auth material)
#  - CI, PYI, frontend/,, frontend/,+: zero-byte shell-token artifacts of the
#    same leak class as /0, /REJECT, /the above; no content
#  - *_out.txt / r.txt / *_base.txt: regenerable ruff/mypy/pytest tool captures
#  - .ms-inference-after.png: local 490KB binary capture, referenced by nothing
#  - .merge-backup-site/: emergency pre-merge backup copy of generated _site/
#  - .phase1_guard/: guard anchor + protected sha256 state (local protection)
#  - critical_suite_validation.md: CI evidence capture at stale head a33747db
# All files REMAIN ON DISK; they are only kept out of the commit history.
/cj.txt
/CI
/PYI
/frontend/,
/frontend/,+
/merge_out.txt
/mypy_out.txt
/pytest_base.txt
/pytest_full_out.txt
/pytest_out.txt
/r.txt
/ruff_out.txt
/.ms-inference-after.png
/.merge-backup-site/
/.phase1_guard/
/critical_suite_validation.md

# --- Local agent/scratch hygiene (added 2026-09-23) ---
# Diagnostic scratch scripts (may contain live web-auth tokens) — never commit.
/check*.py
# Agent worktree directory (EnterWorktree 62MB workspaces) — local only.
/.kilo/
