Skip to content

Changelog

The canonical changelog lives in the repository root:

CHANGELOG.md

Every user-visible change should be recorded there before release. Capability changes, optional runtime behavior, provider documentation, evaluation semantics, benchmark semantics, and release process changes are user-visible.

For release review, generate a draft from the changelog and release evidence:

uv run python scripts/generate_release_notes.py \
  --release-evidence .worldforge/release-evidence/release-evidence.json

The draft is maintainer-editable source material. Review and edit it before publishing a GitHub release, and do not treat missing validation evidence, host-owned optional runtime rows, or generated wording as final release approval. Draft inputs are sanitized before Markdown rendering so token assignments, bearer headers, signed URLs, and host-local paths do not leak into release notes.

When changing release-process text in the changelog, rehearse the evidence path before drafting notes:

uv run python scripts/release_readiness_drill.py

The drill is non-publishing. It shows how clean-pass evidence, controlled failures, host-owned optional-runtime skips, and first-triage commands should appear before maintainers run the real release evidence gates.