# Changelog

## Score

- CAI 46 → 59 (+13.0)
- Rubric changed (rubric-2026.10.1 → rubric-2026.10.5) — scores are not directly comparable.

## Lenses

- Code Health 62 → 71 (+8.8)
- Architecture 75 → 97 (+21.8)
- Maturity 55 → 63 (+7.2)
- Readiness 48 → 48 (+0.0)
- Security 37 → 71 (+34.5)

## Resolved (266)

- Ambiguous method naming and potential overlap. 'ExecutePreview' suggests a specific mode of execution, but it is a sibling method to the generic 'Execute'. It is unclear if 'Execute' handles both modes via args or if they are distinct entry points. Given the distinct 'PreviewCommandOptions' type, this likely represents a split in responsibility that is not clearly reflected in the method naming convention (e.g., one should be 'Serve' and the other 'Preview', or both should be variants of a single 'Run' method).
- AtomicFile.write (cognitive 18) (src/Zest.Engine/Build/AtomicFile.fs)
- BraceParser.parseBraceBlock (cognitive 158) (src/Zest.Engine/Zcss/Parsing/BraceParser.fs)
- BraceParser.parseBraceBlock (cyclomatic 61) (src/Zest.Engine/Zcss/Parsing/BraceParser.fs)
- BuildAnimator.PrintSummary (cognitive 19) (src/Zest.Infra/Services/BuildAnimator.cs)
- BuildCache.loadCache (cognitive 42) (src/Zest.Engine/Build/BuildCache.fs)
- BuildCache.loadCache (cyclomatic 19) (src/Zest.Engine/Build/BuildCache.fs)
- BuildCache.loadDependencyFile (cognitive 21) (src/Zest.Engine/Build/BuildCache.fs)
- BuildCache.loadPageCache (cognitive 17) (src/Zest.Engine/Build/BuildCache.fs)
- BuildCache.reconcileTemplates (cognitive 17) (src/Zest.Engine/Build/BuildCache.fs)
- BuildData.loadGlobalData (cognitive 17) (src/Zest.Engine/Build/BuildData.fs)
- BuildEngine.execute (cognitive 167) (src/Zest.Engine/Build/BuildEngine.fs)
- BuildEngine.execute (cyclomatic 94) (src/Zest.Engine/Build/BuildEngine.fs)
- BuiltinFunctions.resolve (cognitive 100) (src/Zest.Engine/Zcss/Evaluation/BuiltinFunctions.fs)
- BuiltinFunctions.resolve (cyclomatic 45) (src/Zest.Engine/Zcss/Evaluation/BuiltinFunctions.fs)
- CleanController.Execute (cognitive 22) (src/Zest.App/Controllers/CleanController.cs)
- ColorPipeline.adjustHue (cognitive 20) (src/Zest.Engine/Zcss/Evaluation/ColorPipeline.fs)
- CommandParser.ParsePreview (cyclomatic 17) (src/Zest.App/CommandLine/CommandParser.cs)
- Compiler.compileCore (cognitive 176) (src/Zest.Engine/Zcss/Compilation/Compiler.fs)
- Compiler.compileCore (cyclomatic 79) (src/Zest.Engine/Zcss/Compilation/Compiler.fs)
- …and 246 more

## New (210)

- AssetWriter.copyAssets (cognitive 40) (src/Zest.Compiler/Build/AssetWriter.fs)
- AssetWriter.copyAssets (cyclomatic 18) (src/Zest.Compiler/Build/AssetWriter.fs)
- BlockCollector.collectMacroDefs (cognitive 31) (src/Zest.Compiler/Zestucks/BlockCollector.fs)
- BraceParser.parseBraceBlock (cognitive 158) (src/Zest.Compiler/Zcss/BraceParser.fs)
- BraceParser.parseBraceBlock (cyclomatic 61) (src/Zest.Compiler/Zcss/BraceParser.fs)
- BuildAnimator.PrintSummary (cognitive 19) (src/Zest.App/Runtime/BuildAnimator.cs)
- BuildRunner.execute (cognitive 79) (src/Zest.Compiler/Build/BuildRunner.fs)
- BuildRunner.execute (cyclomatic 47) (src/Zest.Compiler/Build/BuildRunner.fs)
- BuiltinFunctions.resolve (cognitive 106) (src/Zest.Compiler/Zcss/BuiltinFunctions.fs)
- BuiltinFunctions.resolve (cyclomatic 49) (src/Zest.Compiler/Zcss/BuiltinFunctions.fs)
- Cache.load (cognitive 72) (src/Zest.Compiler/Zcss/Cache.fs)
- CleanCommand.Execute (cognitive 17) (src/Zest.App/Command/CleanCommand.cs)
- CleanCommand.Execute (cyclomatic 20) (src/Zest.App/Command/CleanCommand.cs)
- CliParser.ParsePreview (cyclomatic 17) (src/Zest.App/Cli/CliParser.cs)
- ColorPipeline.adjustHue (cognitive 20) (src/Zest.Compiler/Zcss/ColorPipeline.fs)
- ConfigLoader.ParseMenus (cognitive 16) (src/Zest.App/Config/ConfigLoader.cs)
- CoreParser.parseDecl (cognitive 57) (src/Zest.Compiler/Zcss/CoreParser.fs)
- CoreParser.parseDecl (cyclomatic 27) (src/Zest.Compiler/Zcss/CoreParser.fs)
- CoreParser.resolvePipes (cognitive 19) (src/Zest.Compiler/Zcss/CoreParser.fs)
- CssWriter.compileCore (cognitive 176) (src/Zest.Compiler/Zcss/CssWriter.fs)
- …and 190 more

## Changes since last survey

- 13 commits — 12 feature/other, 1 fixes

## By area

- src/Zest.Compiler — 5 commits
- src/Zest.Markup — 4 commits
- src/Zest.App — 2 commits
- src/Zest.Engine — 2 commits

## Notable commits

- fix: Fix self-closed non-void elements in the markup DSL.
- change: Add _prebuild.fsx and _finalize.fsx hook
- change: Converge figure, details and joinWith onto the DSL layer.
- change: Fill in the missing Markup element builders and class shortcuts
- change: Refactor project to clarify naming and responsibility boundaries
- change: Rename Nunjucks compatibility layer templates to Zealucks
- change: Rename Zealucks to Zestucks while keeping Nunjucks compatibility
- change: Rename starter partials and taxonomy templates to say what they style.
- change: Set up dev tooling and project configuration
- change: Simplify and restructure project directory layout
- change: Unify DSL naming conventions
- change: Update README.md and Claude.md
- change: Update style for Zest.App.Starter

## Architecture

- 1 containers · 3 bounded contexts · 0 dependency edges (baseline)
