<type>(<scope>): <summary>

Why:
-

What:
-

Notes:
-

Refs:
# Types:
#   feat     = new feature (minor version bump)
#   fix      = bug fix (patch version bump)
#   docs     = documentation only changes
#   perf     = performance improvement
#   refactor = code change that neither fixes a bug nor adds a feature
#   test     = adding or updating tests
#   chore    = maintenance, tooling, formatting, packaging
#   style    = formatting only
# ----------------------------
# Scopes (sanikey):
#   bootstrap  = environment bootstrap commands and checks
#   build      = Prepare for export in PyPI
#   ci         = CI / GitHub Actions
#   cli        = command-line interface
#   config     = repository and tool configuration
#   core       = central part of the code
#   coverage   = canonical source coverage audit
#   curation   = medical data manual enrichment
#   decision   = Architecture Decision Record (ADR)
#   dev        = development scripts and local workflow helpers
#   docs       = README, MkDocs, and process documentation
#   enrichment = medical data through AI
#   generation = Generation of images and writing on external memory (USB)
#   git        = Git aliases, hooks, templates, and release flow wiring
#   ingestion  = medical data ingestion
#   process    = migration notes, issue plans, and governance records
#   release    = semantic-release, tags, changelog, and release audit
#   scaffold   = structure of the repo
#   schema     = JSON schemas and schema validation
#   template   = html and markdown templates
#   tests      = test-only changes
#   validation = formal control of medical data and of outputs
#   version    = version reporting and setuptools_scm integration
# ----------------------------
# Rules:
# - Subject line max 72 characters
# - Use imperative mood ("add", "fix", "document")
# - No trailing period
# - Body is optional but encouraged for non-trivial changes
#
# Breaking changes:
#   Add "!" after the type or include "BREAKING CHANGE:" in the body.
#
#   feat!(contracts): change analyzer protocol
#
# Body (optional):
#   Explain WHY, not WHAT.
#
# Footer (optional):
#   BREAKING CHANGE: <description>
# ----------------------------
# Examples:
#   fix(ci): fetch tags for editable package versions
#   docs(process): record release workflow rules
#   feat(query): add graph context producer
#   chore(git): enforce local commit scopes
