# Changelog

> Use after any code change (feature, fix, refactor, review fixup) to update /changelogs/YYYY-MM-DD.log and run the test suite. Mandatory post-change routine — see .cursorrules.

- Skill: `databrickslabs/changelog` (Agent Skill)
- Install (CLI): `npx skillmds@latest add databrickslabs/changelog`
- Raw SKILL.md: https://api.skillmd.com/api/skills/databrickslabs/changelog/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: databrickslabs (https://skillmd.com/u/databrickslabs)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/databrickslabs/changelog

---


# Post-change routine

The requirement is canonical in **`.cursorrules`** ("After ANY code
change…"). This skill only gives the section template, since `.cursorrules`
specifies *what* must be present but not the exact layout.

## Procedure

1. **Get today's date** — `Shell`: `date +%F` → filename `changelogs/YYYY-MM-DD.log`.
2. **Append** if the file exists, **create** if not. One file per day, multiple sections allowed.
3. **Write the section in English** (layout below). User language is irrelevant
   — `.cursor/05 §English-only artifacts`. Never write `/changelogs/` in French
   or any other language.
4. **Run tests** — `uv run --frozen pytest -q -m "not scenario"` (`--frozen` is mandatory; the `tests/e2e/scenarios/` suites are opt-in — see `.cursor/08-testing-and-deployment`; never run them here). Paste the final summary line into `Tests:`.
5. If tests fail: do **not** mark the change complete. Fix and re-run, or surface the failures explicitly.
6. **Sphinx** — see `.cursor/08-testing-and-deployment §Sphinx API Documentation` if you added/removed/renamed public Python symbols.
7. **README / docs** — update if user-visible behaviour changed.

## Section layout

```
## <Title — short, imperative>

Context: <2–6 lines: what triggered the change, what it solves. Reference
user-visible symptoms or technical drivers.>

Changes:

1. <relative/file/path.py>
   <one-line description of the change in this file>
2. <relative/file/path.js>
   <one-line description>
…

Modified files:
- <relative/file/path.py>
- <relative/file/path.js>
- …

Tests: <e.g. "uv run --frozen pytest -q -m 'not scenario' → 312 passed, 0 failed in 18.4s">
```

## Style

- Short titles. Detail goes in `Context:` and per-file lines.
- Cite Fowler refactorings by name when applicable.
- Cite the canonical rule when enforcing one (e.g. "complies with `.cursor/10 §Error Handling`").
- No diffs in the log — paths + one-liners only.
- English only for the whole section, even if the user wrote in another language
  (`.cursor/05 §English-only artifacts`). Title, Context, per-file lines, Tests.

