# ── The disclosure boundary ──────────────────────────────────────────────────
# This repository is PUBLIC. The corpus holds real team sizes, client names,
# internal project names and unverified figures; a generated kit embeds that
# same content in a rendered CV. Neither may ever be committed — and neither is
# un-leaked by a later deletion, since the history keeps it.
#
# This file is deliberately the FIRST commit in the repository, before any
# other file exists, so there is no window in which the ignore rules are absent.
career-corpus.yaml
career-corpus.*.yaml
!career-corpus.example.yaml
# Leading slash = repository ROOT only. Without it, `corpus/` matches a
# directory of that name at ANY depth — and it silently swallowed
# src/cv_consultant_pro/corpus/, so the schema, loader and validator were never
# committed. Everything passed locally, where the files exist on disk, while CI
# failed importing a module that was not in the repository at all.
/corpus/
/kits/
/out/
*.linkedin.zip
Profile.pdf

# ── Python ───────────────────────────────────────────────────────────────────
__pycache__/
*.py[cod]
.venv/
venv/
*.egg-info/
dist/
build/
.pytest_cache/
.ruff_cache/
.mypy_cache/
.coverage
htmlcov/

# ── Editors / OS ─────────────────────────────────────────────────────────────
.DS_Store
Thumbs.db
.idea/
.vscode/
.devswarm-temp/

# Generated by the audit workflow
requirements.audit.txt

# Job postings you paste in to work on. Someone else's text, often a private or
# expiring listing, and never ours to redistribute under this repo's licence —
# one was tracked and shipped inside an sdist before this rule existed.
/jd-*.txt
/apple-*.json

# Scratch output from running the five simulated professions end to end. The
# corpora are derived from tests/fixtures (already committed) and the kits are
# generated, so tracking either would duplicate a source or commit build output.
/sim/
