Skip to content

Changelog

Synced verbatim from the repo on every site build. Edit the source file on GitHub (link in the page footer); do not edit the rendered copy here. All notable changes to ai-standards. This file captures milestones, not every commit.

The project follows Semantic Versioning with pre-1.0 semantics: while on 0.x, minor bumps may include breaking changes (called out explicitly in the Breaking section). A 1.0.0 release will signal a stable public surface.

0.51.0 (2026-05-09)

Added

  • framework: codify CORS allow_headers + Tailwind 4 dark + toast async + tester preflight rules (a0dfafa)
  • framework: codify CORS allow_headers + Tailwind 4 dark + toast async + tester preflight rules (3733768)

0.50.0 (2026-05-09)

⚠ BREAKING CHANGES

  • Tester handoffs whose ## Files Modified contains a path outside the test-path allowlist declared in standards/test-ownership.md § “Test path allowlist” are now overwritten to Status: blocked and routed back to the matching Developer phase. The 2026-05-08 catalog-publish-actions-ui precedent (Tester edited EntityPresenter.php to fix a missing-field gap) would have been caught by this gate.

Added

  • Tester is read-only over production code (#141) (ccd4a48)

0.49.1 (2026-05-08)

Documentation

  • update skill catalog (16→24) + skill counts in ARCHITECTURE (#139) (24616a5)

0.49.0 (2026-05-08)

Added

  • harden the spec-analyzer upstream contract (specs/plan/task structural shape) (#137) (d46b82a)

0.48.0 (2026-05-08)

Added

  • bound the developer↔reviewer iteration loop in /build-plan (#135) (9a27f1c)

0.47.0 (2026-05-08)

Added

  • smoke check that prevents decoupling regression in agents/commands/templates (#133) (b44eda9)

0.46.3 (2026-05-08)

Changed

  • decouple iteration discipline, build-plan prompts, and templates from concrete tool names (#131) (411322b)

0.46.2 (2026-05-07)

Changed

  • decouple agent prose from concrete tool names (Vue/Symfony/PHPStan/etc.) (#129) (c52e31c)

0.46.1 (2026-05-07)

Changed

  • split iteration discipline into its own standard (#127) (3ea08ef)

0.46.0 (2026-05-07)

Added

  • quality-gate iteration discipline (batch-fix, cache, cascade ceiling, memory) (#125) (bbf3773)

0.45.1 (2026-05-07)

Changed

  • extract docker-test-execution + test-ownership standards, document multi-dev limits, add Haiku tier to model doctrine (#123) (be5467c)

0.45.0 (2026-05-03)

Added

  • partitioned task DoD + ⚠️ Tester scope mark to remove Dev/Tester test duplication (#121) (7c6a3e1)

0.44.0 (2026-05-02)

Added

  • orchestrator: handoff Abstract + selective routing + lazy lessons + overhead instrumentation (#119) (44ea9f4)

0.43.0 (2026-05-02)

Added

  • docs: public Astro Starlight site with auto-sync from repo sources (#117) (70b8f1d)

0.42.0 (2026-05-02)

Added

  • pass-4 audit recommendations (re-attribution for release-please) (#115) (537c877)

0.41.7 (2026-05-02)

Fixed

  • tester: refine production-vs-test classification in re-execution policy (#113) (422c530)

0.41.6 (2026-05-02)

Changed

  • build-plan: use real total_tokens from <usage> blocks instead of lines×8 estimate (e62da8b)
  • build-plan: use real total_tokens instead of lines×8 estimate (973e6b8)

0.41.5 (2026-05-01)

Fixed

  • audit-pass-3: close 8 coherence gaps surfaced by third-pass review (#108) (f778644)

0.41.4 (2026-05-01)

Fixed

  • coverage-map: declare hard blockers + align public docs counts (#106) (c2932b9)

0.41.3 (2026-05-01)

Fixed

  • reviewer: close coverage-aware checklist loading leaks (#104) (b41714f)

0.41.2 (2026-05-01)

Changed

  • reviewer: coverage-aware checklist loading + sharpened path triggers (#102) (1f2368b)

0.41.1 (2026-05-01)

Changed

  • build-plan: tighten dev/tester bundle + DoD-checker tool-call budget (#100) (be34f3e)

0.41.0 (2026-04-30)

Added

  • checks: static smoke for v0.40.0 patterns (5 new checks) (#98) (2aedee4)

0.40.0 (2026-04-30)

Added

  • agents: add DoD-checker agent for mechanical task-DoD verification (2052099)

Changed

  • build-plan: add DoD verification gate to developer agents (dfe9713)
  • build-plan: add fast re-review mode to reviewer agents (69dc1c8)
  • build-plan: join two consecutive blockquotes (MD028) (63d942d)
  • build-plan: split bundle per phase + wire DoD-checker into flows (d8a57ab)
  • build-plan: structural token-overhead reduction (5 changes) (87a69c9)
  • build-plan: trust developer quality gates in Tester (ae20b7e)

0.39.1 (2026-04-29)

Fixed

  • standards: expand BE-065 to cover Domain services (be93c45)

0.39.0 (2026-04-27)

Added

  • commands: switch post-feature merge to PR-first flow (6be1261)
  • commands: switch post-feature merge to PR-first flow (e3d5466)

0.38.0 (2026-04-27)

Added

  • audit: add /check-web manual UI auditor (Web Auditor agent + Playwright walker) (#91) (18597d1)

0.37.0 (2026-04-26)

Added

  • standards: add async-handler critical path + BE-069/070/071/072 (#89) (131eae7)

0.36.2 (2026-04-26)

Fixed

  • backend-reference: make PHPUnit example CI-compatible (no force on DATABASE_URL, .env-guarded bootstrap) (#87) (2825c10)

0.36.1 (2026-04-25)

Changed

  • orchestrator: cache-friendly ordering of context bundle + subagent prompts (P6) (#85) (d7b7dab)

0.36.0 (2026-04-25)

Added

  • perf: auto-detect missing indexes + N+1 queries (P1 + P2) (#83) (f9d9737)

0.35.1 (2026-04-25)

Fixed

  • ci: bump markdownlint-cli2-action to v23 (Node 24) + use fail_level on reviewdog (#81) (7340338)

0.35.0 (2026-04-25)

Added

  • scaffolds: canonical patterns for the 13 generalist standards + Currency enum (#79) (276c2ae)

0.34.0 (2026-04-25)

Added

  • tech-stack: bump minimums to 2026-04 versions (PHP 8.5, Vite 7, PostgreSQL 18, Docker 28, Vue 3.6, TS 5.7, PostGIS 3.5) (#77) (1bc0632)

0.33.0 (2026-04-25)

Added

  • standards: add attack-surface-hardening standard (CSP/HSTS/CSRF/SSRF/SBOM/DAST/etc.) (#75) (4b8c43b)

0.32.0 (2026-04-25)

Added

  • critical-paths: per-feature-kind sub-checklists for reviewer focusing (D1) (#73) (c757465)

0.31.0 (2026-04-25)

Added

  • checks: drift validators + cross-rule reference smoke (S1) (#71) (d1a4f00)

0.30.0 (2026-04-25)

Added

  • standards: add digital-signature-integration standard (gateway, modality, templates, retention) (#69) (5cfee5d)

0.29.0 (2026-04-25)

Added

  • standards: add pwa-offline standard (4-level adoption, SW + manifest + push) (#67) (cb42309)

0.28.0 (2026-04-25)

Added

  • standards: add analytics-readonly-projection standard (T1-T4 tier model, privacy preserved) (#65) (570274c)

0.27.0 (2026-04-25)

Added

  • standards: add audit-log standard (append-only trail, projector wiring, denial entries) (#62) (889c6a2)
  • standards: add feature-flags standard (taxonomy, registry, gateway, removal) (#64) (3b82e13)

0.26.0 (2026-04-25)

Added

  • standards: add geo-search standard (PostGIS, FTS, MatchScoreCalculator, label translation) (#60) (f0985a9)

0.25.0 (2026-04-25)

Added

  • standards: add file-and-media-storage standard (buckets, presigned URLs, video pipeline) (#58) (7e93aeb)

0.24.0 (2026-04-25)

Added

  • standards: add payments-and-money standard (Money VO, ledger, webhooks, reconciliation) (#56) (e988b3c)

0.23.0 (2026-04-25)

Added

  • standards: add llm-integration standard (gateway seam, prompts, cost, PII guard) (#54) (b715df5)

0.22.0 (2026-04-25)

Added

  • standards: add gdpr-pii standard (classification, encryption, DSAR/RTBF, consent) (#52) (c36d404)

0.21.0 (2026-04-25)

Added

  • standards: add i18n standard (locale negotiation, translations, formatting) (#50) (b292473)

0.20.0 (2026-04-25)

Added

  • standards: add authorization standard (Voter pattern + tenant scoping) (#48) (5ba1d84)

0.19.0 (2026-04-24)

Added

  • checklist: add BE-068 — prefer const-array lookup over match for VO ranks (#46) (dabf250)

0.18.0 (2026-04-24)

Added

  • standards: minimal ADR framework — format, lifecycle, template (#44) (75beb02)

0.17.0 (2026-04-24)

Added

  • tests: retry-on-flake wrapper for the dynamic smoke harness (L2.2) (#42) (f0bda91)

0.16.0 (2026-04-24)

Added

  • tests: add full-pipeline smoke mode with real subagents (L2.1) (#40) (cfc36bf)

0.15.1 (2026-04-23)

Documentation

  • standards: expand tech-stack for oficios-construcción — PostGIS, search strategy, payment provider guidance (#38) (8e6b402)

0.15.0 (2026-04-23)

Added

  • tests,ci: expand dynamic smoke to 3 complexity fixtures + staleness reminder (#36) (4186c75)

0.14.0 (2026-04-23)

Added

  • tests: add dynamic smoke harness for /build-plan orchestrator (#34) (88ecc01)

0.13.0 (2026-04-22)

Added

  • standards,ci,agents: stable rule IDs for reviewer-checklist citations (#32) (2858fc2)

0.12.1 (2026-04-22)

Fixed

  • standards,ci: close silent-orphan gaps for new standards (#30) (f19f529)

0.12.0 (2026-04-22)

Added

  • ci: add static smoke tests for framework consistency (#28) (8b947db)

0.11.0 (2026-04-22)

Added

  • skills: add openapi-controller-docs, empty-loading-error-states, pinia-store-pattern (#26) (6bc7bf0)

0.10.2 (2026-04-22)

Documentation

  • readme: split into short README + ARCHITECTURE.md (#24) (0249065)

0.10.1 (2026-04-21)

Fixed

  • standards,usage: sync standards index and correct secrets-manifest path (#22) (2a47bb2)

0.10.0 (2026-04-21)

Added

  • standards: add secrets and data-migrations standards, decouple ADR refs (#20) (6cef1cf)

0.9.0 (2026-04-21)

Added

  • agents: declare per-agent model tier (opus/sonnet) (a413bde)
  • init-project: install Agent model-tier enforcement hook (92d51c9)

Documentation

  • standards,usage: document Agent model-tier enforcement hook (6d25d18)

0.8.0 (2026-04-20)

Added

  • standards: caching, observability, contracts, async resilience (#16) (c757e55)

0.7.0 (2026-04-20)

⚠ BREAKING CHANGES

  • standards: standards/lessons-learned.md is deleted. The framework no longer maintains a registry of its own mistakes — recurring cross-project lessons must be promoted directly to the relevant standard, command doc, agent definition or review checklist in the same commit. Per-project lessons continue to live in {project-name}-docs/lessons-learned/.

Changed

  • standards: remove framework lessons-learned registry (8e4e285)

0.6.1 (2026-04-20)

Documentation

  • lessons-learned: reviewer guidance on CS-Fixer vs style guide + DBAL placement signal (51106ab)
  • standards: promote PHPUnit method casing rule to backend.md and reviewer checklist (b622b43)

0.6.0 (2026-04-19)

⚠ BREAKING CHANGES

  • standards: every service under src/Application/Service/ that is a pure domain rule (finders, authorizers, validators, calculators) must be relocated to src/Domain/Service/{Aggregate}/. Existing final class *Service declarations must be changed to readonly class. The updated backend-review-checklist.md enforces both rules as [critical]; non-compliant services will fail review.

Added

  • standards: codify Domain vs Application service placement (7e3b02f)

0.5.3 (2026-04-19)

Documentation

  • lessons-learned: note PHPUnit 13 vs final application service conflict (f981e48)

0.5.2 (2026-04-19)

Documentation

  • commands: refine-specs step 7b enforces one-public-method rule (9011aac)

0.5.1 (2026-04-19)

Documentation

  • standards: reinforce one-public-method rule for services (9eb1cea)

0.5.0 (2026-04-19)

⚠ BREAKING CHANGES

  • a finder class may host only one throw-on-miss lookup (execute). Multi-method finders must split into one class per key shape.

Changed

  • one finder, one lookup, one execute() — no exceptions (6880dae)

0.4.0 (2026-04-19)

⚠ BREAKING CHANGES

  • repository interfaces must not expose throw-on-miss lookups; throw-on-miss lives in {Aggregate}FinderService.

Changed

  • repositories stay nullable; FinderService owns throw-on-miss (d991fb4)

0.3.2 (2026-04-19)

Fixed

  • ci: use RELEASE_PLEASE_TOKEN for auto-merge so release-please re-runs on merge (#6) (41a760e)

0.3.1 (2026-04-19)

Fixed

  • commands: gate context loading on argument presence (24e134a)

0.3.0 (2026-04-19)

Added

  • standards: define service extraction criteria and naming patterns (7184677)

0.2.1 (2026-04-19)

Changed

  • build-plan: scope browser verification to Tester only (56f8454)

0.2.0 (2026-04-19)

Added

  • commands: retire plan/task on update-specs with as-built distillation (041e63a)

Documentation

  • lessons-learned: capture Playwright MCP lacks HAR export (7467e7e)
  • readme: add Author section crediting the maintainer (65ff4c4)
  • readme: add prior-knowledge and spec-lifecycle sections (7632621)
  • readme: add release, CI and license badges + MIT LICENSE file (4f430fb)
  • readme: use static MIT badge instead of flaky dynamic license badge (3a7460c)

[Unreleased]

[0.1.0] — 2026-04-18

Initial versioned release. The framework is still a work-in-progress — expect breaking changes in subsequent 0.x releases.

Framework capabilities

  • Seven-agent pipeline running in isolated contexts: Spec Analyzer, Backend Developer, Frontend Developer, Backend Reviewer, Frontend Reviewer, Tester, DevOps. Backend and Frontend run in parallel; reviewers loop up to 3 iterations per side.
  • Four slash commands covering the full feature loop: /create-specs, /refine-specs, /build-plan, /update-specs.
  • On-demand skills (~13) for narrow playbooks — CORS, Docker env reload, safe migrations, JWT lifecycle, Messenger logging, Vitest patterns, quality-gate setup, and more. Claude Code auto-loads each only when the active task matches.
  • Architecture enforced by standards: Hexagonal + DDD + CQRS + event-driven. Every agent validates against them; reviewer agents consume closed-list checklists extracted from the standards.
  • Token-conscious execution: per-feature context bundle distills ~1,000+ lines of standards into a 200–400 line briefing. Reviewers read checklists instead of standards. Skills load only on match.
  • Spec-first discipline: no agent writes code without a validated spec. Specs, plans and task files live in the project docs repo and are version-controlled.
  • Scaffolds and templates: production-ready PHP classes (AppController, ApiExceptionSubscriber, LoggingMiddleware, SecurityHeadersSubscriber), GitHub Actions CI templates, pre-commit hook templates, Makefile quality snippets.
  • Playwright MCP integration: the Tester drives a real browser to verify visual / interactive DoD items (viewport sizes, dark-mode parity, rendered error copy, form flows). Falls back to “requires human verification” only when MCP is unavailable.
  • Lessons-learned loop: agent mistakes captured during a feature become warnings injected into future builds. Recurring patterns graduate to permanent standards.
  • Quality gates enforced: pre-commit hook + per-service make quality + GitHub Actions CI. PHPStan level 9, vue-tsc --noEmit strict, PHP-CS-Fixer, ESLint + Prettier, full test suite, composer audit / npm audit.
  • Git workflow baked into /build-plan: pre-flight master check before branching, post-feature merge prompt, consistent feature/{aggregate}/{name} branch naming.

Added in the final stretch before v0.1.0

  • Project-neutral layout — workspace.md and workspace.mk live in {project-docs}/, located via the gitignored .workspace-config-path pointer file inside ai-standards/. The public framework repo no longer stores project-specific names, ports or paths.
  • Per-project lessons-learned/ directory split by back.md / front.md / infra.md / general.md. Framework-level lessons stay in ai-standards/standards/lessons-learned.md.
  • /build-plan pre-flight master branch check and post-feature merge prompt.
  • handoffs/ directory moved to the workspace root — ephemeral, never committed, shared across service repos.
  • Playwright MCP install step documented in USAGE.

Breaking (compared to unversioned history)

  • Workspace config relocation: workspace.md and workspace.mk moved from ai-standards/ to {project-name}-docs/. The ai-standards/Makefile and every agent now resolve the docs directory from ai-standards/.workspace-config-path (created by /init-project).
  • Lessons-learned split: project-specific entries moved from ai-standards/standards/lessons-learned.md to {project-name}-docs/lessons-learned/. The framework file is now reserved for framework-level mistakes only.
  • Handoffs relocation: handoffs/ moved from ai-standards/handoffs/ to the workspace root, so it is shared across service repos and lives outside any git tree.

Existing workspaces must re-run /init-project (or apply the moves manually) to pick up the new layout.