# Byte-compiled / optimized / DLL files
__pycache__/
*.py[codz]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# PyInstaller
#  Usually these files are written by a python script from a template
#  before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py.cover
.hypothesis/
.pytest_cache/
cover/

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
.pybuilder/
target/

# Jupyter Notebook
.ipynb_checkpoints

# IPython
profile_default/
ipython_config.py

# pyenv
#   For a library or package, you might want to ignore these files since the code is
#   intended to run in multiple environments; otherwise, check them in:
# .python-version

# pipenv
#   According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
#   However, in case of collaboration, if having platform-specific dependencies or dependencies
#   having no cross-platform support, pipenv may install dependencies that don't work, or not
#   install all needed dependencies.
#Pipfile.lock

# UV
#   Similar to Pipfile.lock, it is generally recommended to include uv.lock in version control.
#   This is especially recommended for binary packages to ensure reproducibility, and is more
#   commonly ignored for libraries.
#uv.lock

# poetry
#   Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
#   This is especially recommended for binary packages to ensure reproducibility, and is more
#   commonly ignored for libraries.
#   https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
#poetry.lock
#poetry.toml

# pdm
#   Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
#   pdm recommends including project-wide configuration in pdm.toml, but excluding .pdm-python.
#   https://pdm-project.org/en/latest/usage/project/#working-with-version-control
#pdm.lock
#pdm.toml
.pdm-python
.pdm-build/

# pixi
#   Similar to Pipfile.lock, it is generally recommended to include pixi.lock in version control.
#pixi.lock
#   Pixi creates a virtual environment in the .pixi directory, just like venv module creates one
#   in the .venv directory. It is recommended not to include this directory in version control.
.pixi

# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
__pypackages__/

# Celery stuff
celerybeat-schedule
celerybeat.pid

# SageMath parsed files
*.sage.py

# Environments
.env
.env.example
.envrc
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# mkdocs documentation
/site

# mypy
.mypy_cache/
.dmypy.json
dmypy.json

# Pyre type checker
.pyre/

# pytype static type analyzer
.pytype/

# Cython debug symbols
cython_debug/

# PyCharm
#  JetBrains specific template is maintained in a separate JetBrains.gitignore that can
#  be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
#  and can be added to the global gitignore or merged into this file.  For a more nuclear
#  option (not recommended) you can uncomment the following to ignore the entire idea folder.
#.idea/

# Abstra
# Abstra is an AI-powered process automation framework.
# Ignore directories containing user credentials, local state, and settings.
# Learn more at https://abstra.io/docs
.abstra/

# Visual Studio Code
#  Visual Studio Code specific template is maintained in a separate VisualStudioCode.gitignore 
#  that can be found at https://github.com/github/gitignore/blob/main/Global/VisualStudioCode.gitignore
#  and can be added to the global gitignore or merged into this file. However, if you prefer, 
#  you could uncomment the following to ignore the entire vscode folder
# .vscode/

# Ruff stuff:
.ruff_cache/

# PyPI configuration file
.pypirc

# Cursor
#  Cursor is an AI-powered code editor. `.cursorignore` specifies files/directories to
#  exclude from AI features like autocomplete and code analysis. Recommended for sensitive data
#  refer to https://docs.cursor.com/context/ignore-files
.cursorignore
.cursorindexingignore

# Marimo
marimo/_static/
marimo/_lsp/
__marimo__/


# Platform (Next.js)
platform/web/node_modules/
platform/web/.next/
platform/web/.next-*/
platform/web/.build-performance/
platform/web/.env.local
platform/web/tsconfig.tsbuildinfo
!platform/web/lib/

# Platform (SDKs)
platform/sdk/node/node_modules/

# Clients (installer)
clients/installer/node_modules/

# Platform (Capture Engine local dev artifacts)
platform/api/.venv/
platform/api/.local_storage/

# Engines (processing) — generated ONNX exports and caches, never source
engines/processing/_onnx_*/
# ~2.3GB BGE-M3 ONNX weights, downloaded via infra/DEPLOY.md step 5 (hf download), not committed
engines/processing/onnx-bge-m3/
engines/processing/.venv/
engines/processing/__pycache__/
engines/processing/experiments/__pycache__/

# Clients (hooks) — compiled Go binary, regenerable via `go build`, not source
clients/hooks/claude-code-hook.exe

# Build temp
.build-tmp/

# Temp files for testing / Misc
bedrock_llm.py
database/
my-tests/
/docs/
tests/.tmp/
tests/.pytest_tmp/
# Local experiments (not tracked)
dev/
frontend/node_modules/
# REAL BUG FIXED 2026-09-21: this was a bare "memory/" (no leading
# slash), which matches ANY directory named "memory" anywhere in the
# repo, not just a root-level one. It silently swallowed the real,
# committed feature directories platform/web/components/memory/ and
# platform/web/app/(dashboard)/memory/ for their entire lifetime --
# never once in git history until this fix, discovered only when a
# Vercel build failed on a genuinely real, on-disk import
# (MemoryInspector.tsx -> ../memory/SourceDetails) that git had never
# tracked. Scoped to the repo root explicitly so it can never again
# collide with a legitimately-named nested directory.
/memory/
benchmarks/longmemeval/longmemeval_oracle.json 
"benchmarks/longmemeval/longmemeval_oracle/eval_results.txt" 
"benchmarks/longmemeval/longmemveal_s/longmemeval_s_cleaned.json" 
"benchmarks/longmemeval/longmemeval_oracle/eval_results.txt" 
"benchmarks/longmemeval/longmemveal_s/longmemeval_s_cleaned.json" 
benchmarks/longmemeval/longmemeval_s/*.json

Josefin_Sans

# BEAM benchmark dataset (5.4MB parquet) — data, not code
benchmarks/**/*.parquet

# Claude Code local tool-permission config — machine-specific, not project content
.claude/
# Local retrieval scratch files (kept on disk, never committed)
engines/retrieval/inspect_user_turns.py
engines/retrieval/response.json

# ─── Benchmark and eval OUTPUT (2026-09-01) ───
# Regenerable artifacts from LoCoMo/BEAM runs: predictions, scores, judged
# output, per-conversation cost logs, evidence maps. Added because 56
# untracked paths had accumulated on the VM, and a noisy `git status` is how
# a genuinely stranded file goes unnoticed (see infra/scripts/check_git_sync.sh
# and the Qdrant ulimits commit that nearly died in that noise).
#
# Deliberately NOT ignoring the harnesses, scorers or committed baselines
# (e.g. research/hardning-ctx/m8_baseline_frozen.json) — those are the record
# of what was measured and must stay in git.
benchmarks/**/m8_results/
benchmarks/**/m9_results/
benchmarks/**/m8_beam_results/
benchmarks/**/m9_beam_results/
benchmarks/**/m9_beam1m_results/
benchmarks/**/predictions*.json
benchmarks/**/*_cost_result.txt
benchmarks/**/*_probe_results.json
benchmarks/**/locomo_window_map.json
engines/processing/*_evidence_map.json
full_conv41_results.txt

# Hand-edited backups of tracked config. These are a smell rather than an
# artifact: production config belongs in git, not in a .bak beside it.
*.bak

# Large benchmark/experiment artifacts that exceed GitHub's 100MB file
# limit (real push rejections hit 2026-09-10 for all three) -- these are
# generated/downloaded data, not source, and belong on the machine that
# produced them, not in git history.
benchmarks/longmemeval_s/longmemeval_s_cleaned.json
codex-reserach/results/full/beam/beam.sqlite3
codex-reserach/results/full/locomo/locomo.sqlite3

# UNTRIAGED EXPERIMENTAL WORK (2026-09-21) -- gitignored for git-status
# hygiene ONLY, not a verdict on the work itself. Reviewed via two
# dedicated agent passes before this list was written: nothing here was
# found to be disposable scratch -- the V1 retrieval/consolidation
# rebuild (engines/retrieval/v1/, engines/processing/consolidation/) is
# real, substantial, tested alternative-architecture work with its own
# bug-fix history; its frozen baseline (61.2-61.8% LoCoMo judge accuracy,
# n=152) sits below both its own 80% launch gate and today's measured
# production number (67.7%, n=1540), but the two were never benchmarked
# head-to-head at matched scale -- that comparison is genuinely
# unfinished, not settled. Nothing here should be deleted or assumed
# dead; this entry exists so it stops cluttering `git status` while its
# real fate (commit as an alternative-architecture reference, revive,
# or formally retire) gets decided in a dedicated future pass.
engines/processing/consolidation/
engines/retrieval/v1/
benchmarks/v1_eval/
production_docs/
research/
z-bench/
z-loop-agentic/
z-multimodal-ctx/
z-ui-ux/
engines/processing/deepseek_extractor.py
engines/processing/ctx_index.py
engines/processing/test_stage3.py
engines/processing/test_stage3_scale.py
engines/processing/test_stage4.py
engines/processing/test_stage4_perf.py
engines/processing/test_conv44_comparison.py
engines/processing/test_bitemporal_repair.py
benchmarks/beam100k/build_judge_detail.py
benchmarks/beam100k/mem0_beam_answer.py
benchmarks/beam100k/mem0_nugget_judge.py
benchmarks/beam100k/run_judge_eval.py
benchmarks/locomo/deep_recall_force_test.py
benchmarks/longmemeval_s/backfill_qdrant_sync.py
benchmarks/longmemeval_s/diag_multisession_rank.py
benchmarks/longmemeval_s/m9_production_accuracy_eval_longmemeval.py
scripts/test_gemma_context_builder.py