All notable changes to this project will be documented in this file.
The format follows Keep a Changelog and the project adheres to Semantic Versioning.
Future entries are drafted automatically by release-drafter on every merge to main. After a release tag is cut, the post-release rollup workflow (.github/workflows/changelog-rollup.yml) opens a PR that moves the [Unreleased] block under a versioned heading and bumps pyproject.toml + uv.lock to the next PATCH. Categories map to conventional-commit prefixes:
feat:→ Featuresfix:→ Fixeschore:/docs:/refactor:/test:/release:→ Housekeeping
- Initial harness scaffold (Python 3.14 + FastAPI + Pydantic v2 + OpenTelemetry; React 19.2 + Vite + TypeScript strict).
- 21 required CI status checks (lint, typecheck, tests, coverage ≥ 75 %, import-linter, pre-commit, frontend build/quality, file-length cap, version-bump, action-pinning audit, tests-required, src/ README audit, aspirational-ticket cite, security suite, two meta-gates, PR-title lint).
- Release pipeline: tag-triggered build, push to GHCR, CycloneDX SBOM, GitHub Release publish, post-release CHANGELOG rollup automation.
- Eval harness scaffold (provider-agnostic runner + LLM-judge Protocol + 1 example golden case + workflow_dispatch nightly).
.claude/agent integration (3 hooks, 6 auto-activating skills, settings example).- Container hardening: read-only root FS, tmpfs
/tmp,PYTHONDONTWRITEBYTECODE/PYTHONUNBUFFEREDenv in runtime stage.
- This template was extracted from a prior LLM-coded project and generalised. The harness is the product; the scaffold exists so every gate has something to operate on.