sovrium 0.0.2 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md DELETED
@@ -1,3497 +0,0 @@
1
- ## [0.0.2](https://github.com/sovrium/sovrium/compare/v0.0.1...v0.0.2) (2026-03-03)
2
-
3
-
4
- * refactor(i18n)!: completely remove per-component i18n infrastructure ([0fc7c4c](https://github.com/sovrium/sovrium/commit/0fc7c4cde35db2c9a6625b5ce71534714f7abe67))
5
-
6
-
7
- ### Bug Fixes
8
-
9
- * accept app/github-actions as valid bot login in Claude workflow ([b094942](https://github.com/sovrium/sovrium/commit/b094942f2ee55520d75d757c25effe96a1b97a83)), closes [#1248](https://github.com/sovrium/sovrium/issues/1248)
10
- * activate API-AUTH-ADMIN-ASSIGN-003 test ([#6500](https://github.com/sovrium/sovrium/issues/6500)) ([9819ed5](https://github.com/sovrium/sovrium/commit/9819ed5b72e862d1a49fe8cce2df1f5e0ca15fc5))
11
- * activate API-AUTH-ADMIN-REVOKE-003 and correct test-002 authentication flow ([d39c085](https://github.com/sovrium/sovrium/commit/d39c08557cc44283d38380ff0bc88076f7d61da7))
12
- * activate API-AUTH-ADMIN-STOP-IMPERSONATING-007 regression test ([#6578](https://github.com/sovrium/sovrium/issues/6578)) ([df99818](https://github.com/sovrium/sovrium/commit/df998187d9cef04bea41263c6a1137ffb5d80127))
13
- * activate APP-TABLES-001 spec test ([#4735](https://github.com/sovrium/sovrium/issues/4735)) ([79855ae](https://github.com/sovrium/sovrium/commit/79855aeb79f583095fbb5a0e4f5cd6b838a85b5b))
14
- * activate APP-TABLES-FIELD-EMAIL-002 test ([#4783](https://github.com/sovrium/sovrium/issues/4783)) ([685b14c](https://github.com/sovrium/sovrium/commit/685b14cf6af6c2494f3dce5d87d42c13cf6db5c9))
15
- * activate APP-TABLES-FIELD-EMAIL-003 test ([#4784](https://github.com/sovrium/sovrium/issues/4784)) ([1512d59](https://github.com/sovrium/sovrium/commit/1512d594f694108c2c8f2fa192dceee24518f2f5))
16
- * activate APP-TABLES-FIELD-INDEXED-005 test for prefix search with indexed fields ([#4794](https://github.com/sovrium/sovrium/issues/4794)) ([746ed02](https://github.com/sovrium/sovrium/commit/746ed02858101507d0e5d12e1a065deca7727954))
17
- * activate APP-TABLES-FIELD-SINGLE-LINE-TEXT-005 test ([#4821](https://github.com/sovrium/sovrium/issues/4821)) ([d648103](https://github.com/sovrium/sovrium/commit/d6481033e3284269c70653d290bc1e540c52794a))
18
- * activate APP-TABLES-FIELD-SINGLE-LINE-TEXT-005 test ([#4822](https://github.com/sovrium/sovrium/issues/4822)) ([aeb1906](https://github.com/sovrium/sovrium/commit/aeb19063d19a4d238d42fb58f2586958965a8aa9))
19
- * activate APP-TABLES-FIELD-SINGLE-LINE-TEXT-006 test ([#4823](https://github.com/sovrium/sovrium/issues/4823)) ([89a0dbc](https://github.com/sovrium/sovrium/commit/89a0dbcd0518d71e1c02b574579da253bb53216a))
20
- * activate APP-TABLES-FIELD-TYPES-FORMULA-024 CAST function test ([#5424](https://github.com/sovrium/sovrium/issues/5424)) ([b310d8b](https://github.com/sovrium/sovrium/commit/b310d8b41331e45cbc0339f01245f203494a3de2))
21
- * activate APP-TABLES-FIELD-TYPES-FORMULA-077 (unique array elements) ([#5484](https://github.com/sovrium/sovrium/issues/5484)) ([d5ab545](https://github.com/sovrium/sovrium/commit/d5ab545c3272274b0782019ffeab91918466f7f3))
22
- * activate APP-TABLES-FIELD-TYPES-FORMULA-086 regex match extraction ([#5494](https://github.com/sovrium/sovrium/issues/5494)) ([a0ee591](https://github.com/sovrium/sovrium/commit/a0ee59113aca981bd4ea61ac9dfcb1032d5ee149))
23
- * activate APP-TABLES-FIELD-TYPES-FORMULA-086 regex match extraction ([#5495](https://github.com/sovrium/sovrium/issues/5495)) ([8964338](https://github.com/sovrium/sovrium/commit/8964338dfb9831189ee16e9d2632867e6faae054))
24
- * activate CASCADE UPDATE test for relationship fields ([#5648](https://github.com/sovrium/sovrium/issues/5648)) ([68a7e62](https://github.com/sovrium/sovrium/commit/68a7e622226deb8b9765b3468f3e5a00776ffa56))
25
- * activate deleted-at field tests (APP-TABLES-FIELD-TYPES-DELETED-AT-005 & 006) ([#5711](https://github.com/sovrium/sovrium/issues/5711)) ([8dec3a9](https://github.com/sovrium/sovrium/commit/8dec3a9616b9d28da8d5edbbb6957c67e34e5e10))
26
- * activate email field required validation test (APP-TABLES-FIELD-EMAIL-004) ([#4785](https://github.com/sovrium/sovrium/issues/4785)) ([0f92157](https://github.com/sovrium/sovrium/commit/0f92157c695ed1fd8fac28f513e0fa8522fb0d37))
27
- * activate MIGRATION-ALTER-REMOVE-005 regression test ([#5752](https://github.com/sovrium/sovrium/issues/5752)) ([b11e79c](https://github.com/sovrium/sovrium/commit/b11e79cea6946ec615e7da1b78b8d96cabb799c5))
28
- * activate MIGRATION-CHECKSUM-003 test (checksum system already implemented) ([#5764](https://github.com/sovrium/sovrium/issues/5764)) ([565a1bd](https://github.com/sovrium/sovrium/commit/565a1bd0bdd82dcfc1a6ee6507c5cca1c11a87bd))
29
- * activate MIGRATION-CHECKSUM-005 test ([#5765](https://github.com/sovrium/sovrium/issues/5765)) ([29f81c9](https://github.com/sovrium/sovrium/commit/29f81c9b0b1d7a715c457b817ad1a6c23f0784e1))
30
- * activate MIGRATION-MODIFY-OPTIONS-001 test ([#6153](https://github.com/sovrium/sovrium/issues/6153)) ([8ce51bd](https://github.com/sovrium/sovrium/commit/8ce51bd7aa00fe6024fd7700738372f46994e274))
31
- * activate MIGRATION-MODIFY-TYPE-004 test (TEXT to INTEGER conversion) ([#6166](https://github.com/sovrium/sovrium/issues/6166)) ([0980cf5](https://github.com/sovrium/sovrium/commit/0980cf57369f923e0654520814eb715dde7b8d54))
32
- * activate MIGRATION-MODIFY-UNIQUE-006 regression test ([#6175](https://github.com/sovrium/sovrium/issues/6175)) ([4eb89c3](https://github.com/sovrium/sovrium/commit/4eb89c341f0e3ca054ccf821d9c996dcfaa64fe0))
33
- * activate regression test APP-BLOCKS-BLOCK-REGRESSION-001 ([#2257](https://github.com/sovrium/sovrium/issues/2257)) ([fa09346](https://github.com/sovrium/sovrium/commit/fa09346eabae21a95bf4b0480f6c0b787f243944))
34
- * activate reset-password API tests (API-AUTH-RESET-PASSWORD-001 to 005) ([6c5f829](https://github.com/sovrium/sovrium/commit/6c5f829e0018e566ad83014b7bd72a5c5a78979b))
35
- * activate test API-AUTH-API-KEYS-CREATE-002 for API key expiresIn parameter ([#6214](https://github.com/sovrium/sovrium/issues/6214)) ([9a90d37](https://github.com/sovrium/sovrium/commit/9a90d37a59a74a179c9b9aedb0524077864045c9))
36
- * activate test API-TABLES-PERMISSIONS-CHECK-006 for viewer permissions ([#6750](https://github.com/sovrium/sovrium/issues/6750)) ([1ab0be2](https://github.com/sovrium/sovrium/commit/1ab0be288fbbc1dff92bd06856a73f9379f2e844))
37
- * activate test APP-PAGES-META-008 for rich social sharing ([#2718](https://github.com/sovrium/sovrium/issues/2718)) ([28386d1](https://github.com/sovrium/sovrium/commit/28386d1c41153de1d88a5c2fb0fa46834cd1d23c))
38
- * activate test APP-PAGES-RESPONSIVE-005 ([#2948](https://github.com/sovrium/sovrium/issues/2948)) ([c001fa2](https://github.com/sovrium/sovrium/commit/c001fa29a6f90cc9d7f3213bb2caa98657dcf8a7))
39
- * activate test APP-PAGES-RESPONSIVE-005 ([#2950](https://github.com/sovrium/sovrium/issues/2950)) ([18a0b5a](https://github.com/sovrium/sovrium/commit/18a0b5ab92d4b80ee0abbbc42ae89f6331ac5281))
40
- * activate test APP-TABLES-FIELD-TYPES-RELATIONSHIP-009 for indexed relationship fields ([#5646](https://github.com/sovrium/sovrium/issues/5646)) ([6e3e754](https://github.com/sovrium/sovrium/commit/6e3e75474b87905fff3c2203353ec7ff8ddf9243))
41
- * activate test APP-TABLES-FIELD-TYPES-RELATIONSHIP-012 for single-link relationship validation ([#5652](https://github.com/sovrium/sovrium/issues/5652)) ([4388a05](https://github.com/sovrium/sovrium/commit/4388a057ecdb607db80f9b688a243973a3325db5))
42
- * activate test APP-TABLES-FIELD-TYPES-RELATIONSHIP-012 for single-link relationship validation ([#5653](https://github.com/sovrium/sovrium/issues/5653)) ([5957c83](https://github.com/sovrium/sovrium/commit/5957c830df96e4cf2c54429e9469e79abe2c99da))
43
- * activate test APP-TABLES-FIELD-TYPES-SINGLE-SELECT-001 ([#4867](https://github.com/sovrium/sovrium/issues/4867)) ([2ef40f5](https://github.com/sovrium/sovrium/commit/2ef40f5c33ef5cae2d39d1c80bbee5b31138b629))
44
- * activate test MIGRATION-MODIFY-TYPE-006 - verify type conversion error handling ([#6168](https://github.com/sovrium/sovrium/issues/6168)) ([cce5862](https://github.com/sovrium/sovrium/commit/cce5862155f27db8941be69a75c24ff9b3127e80))
45
- * activate view empty name validation test ([#5597](https://github.com/sovrium/sovrium/issues/5597)) ([44c1d0c](https://github.com/sovrium/sovrium/commit/44c1d0c1d998a0fcc6547e90f910ef120189dc7b))
46
- * adapt role-based access tests 001-002 to Better Auth behavior ([08791e4](https://github.com/sovrium/sovrium/commit/08791e456eece0d26dc6074f883b757dcb8c9767))
47
- * add --allow-unrelated-histories to merge command ([f5c3813](https://github.com/sovrium/sovrium/commit/f5c3813e719122acc8ec56771be80deea778f663))
48
- * add --auto-approve flag to allow Claude Code tool uses in GitHub Actions ([93a47ac](https://github.com/sovrium/sovrium/commit/93a47ac6b4549f6905cb80aadb0c857d8742b4aa)), closes [#1465](https://github.com/sovrium/sovrium/issues/1465)
49
- * add --repo flag to gh commands in handle-retry and verify-success jobs ([fd59422](https://github.com/sovrium/sovrium/commit/fd5942243f33ca224b4053778f71e43cb023f8b0))
50
- * add [@claude](https://github.com/claude) mention to TDD spec issue template to auto-trigger workflow ([c117264](https://github.com/sovrium/sovrium/commit/c117264bb9672db4c8215d12b7910d11e912a746)), closes [#1273](https://github.com/sovrium/sovrium/issues/1273)
51
- * add [@claude](https://github.com/claude) mention to TDD spec issue template to auto-trigger workflow ([5ce7c84](https://github.com/sovrium/sovrium/commit/5ce7c84da2d89535d17ad64f8b8df681a8f80d2a)), closes [#1273](https://github.com/sovrium/sovrium/issues/1273)
52
- * add actions:write permission to queue processor for workflow_dispatch ([a29a7ae](https://github.com/sovrium/sovrium/commit/a29a7ae7f6fa710974a5a2e90d2f3ca064a78ed3))
53
- * add activity logging for soft-deleted records ([#6792](https://github.com/sovrium/sovrium/issues/6792)) ([74e3d43](https://github.com/sovrium/sovrium/commit/74e3d43728633bb83a38f5657b3f527423e2279a))
54
- * add auth config to 401 Unauthorized E2E tests ([301158e](https://github.com/sovrium/sovrium/commit/301158e3d594a42b664dea5b8307d2872c1743d6))
55
- * add auth configuration to DELETE record tests ([0889532](https://github.com/sovrium/sovrium/commit/0889532a07ef8f67a6c9e83fb7eae2022f996377))
56
- * add btn-{variant} and btn-{size} class names to Navigation CTA buttons ([40fdbc1](https://github.com/sovrium/sovrium/commit/40fdbc13da02baaee15eb3b1cb916cc3fc683c77))
57
- * add button sections to APP-THEME-007 test for theme consistency validation ([72f55d7](https://github.com/sovrium/sovrium/commit/72f55d7d7030a996563bb709901354da8c17bafb))
58
- * add CASCADE to DROP COLUMN statements in schema migrations ([8e942a2](https://github.com/sovrium/sovrium/commit/8e942a23d6bef078d83eeda065ca0296925c331b))
59
- * add conditional prompt for workflow_dispatch to trigger Claude Code ([4e2576a](https://github.com/sovrium/sovrium/commit/4e2576a1d9556813de08ebf0ed532db752f874ea))
60
- * add data-color attribute and fallback data-testid to icon renderer ([7d754c5](https://github.com/sovrium/sovrium/commit/7d754c55e25178c097e2ff35649776f64f3665ab))
61
- * add data-field attribute to table cells for datetime timezone test ([#5398](https://github.com/sovrium/sovrium/issues/5398)) ([21ef32a](https://github.com/sovrium/sovrium/commit/21ef32a819de7054a075bf478ea6340553d93170))
62
- * add demonstration sections to APP-THEME-001 and APP-THEME-002 ([fd9ee19](https://github.com/sovrium/sovrium/commit/fd9ee1903236c9276f36d56c88a245713164d02c))
63
- * add demonstration sections to APP-THEME-COLORS-001 and 002 ([793fbd8](https://github.com/sovrium/sovrium/commit/793fbd873149ab4b316f4c2a1d273f0d52c597f8))
64
- * add demonstration sections to theme integration tests ([03c7f1e](https://github.com/sovrium/sovrium/commit/03c7f1eb4493579a2a526327697de93225acb80a))
65
- * add early exit and triple pre-PR check to prevent duplicate PRs ([2deacf4](https://github.com/sovrium/sovrium/commit/2deacf451cd13884eae4f90874da922abdaf630e)), closes [#5999](https://github.com/sovrium/sovrium/issues/5999) [#6096](https://github.com/sovrium/sovrium/issues/6096) [#6097](https://github.com/sovrium/sovrium/issues/6097)
66
- * add ESLint disable comments for unused parameters in .fixme() tests ([89e3086](https://github.com/sovrium/sovrium/commit/89e308679aabd3c09e66127da3b1f720bcf665ad))
67
- * add expect.poll() to flaky analytics collect specs (COLLECT-007 to 010) ([0611fb4](https://github.com/sovrium/sovrium/commit/0611fb467b4d3fe37da9e2621d40cda15241bf95))
68
- * add explicit direction property to language configs ([e884115](https://github.com/sovrium/sovrium/commit/e884115cd03cd951c2bdb0fc0c32337421936e0a))
69
- * add explicit field permissions to test configs and remove invalid authorship test ([24c2d90](https://github.com/sovrium/sovrium/commit/24c2d90651208cca5ed0f7be0756b600faf91ba5))
70
- * add explicit FP rules to TDD agents to prevent ESLint failures ([514f4f6](https://github.com/sovrium/sovrium/commit/514f4f6757994fbbaaf4ea3fc863aff8b083bfbf))
71
- * add explicit prompt to execute-refactor-auditor to prevent Phase 1 replay ([d8e1e99](https://github.com/sovrium/sovrium/commit/d8e1e992aeb3c8d6faf561a8a1b450636693b906))
72
- * add explicit self-trigger for tdd-dispatch after pre-validation ([2af1b22](https://github.com/sovrium/sovrium/commit/2af1b2270361bb9dbec0a06194a97f4a7839a7c2))
73
- * add formula syntax validation for invalid operators ([#5542](https://github.com/sovrium/sovrium/issues/5542)) ([20582b8](https://github.com/sovrium/sovrium/commit/20582b889d18b88338994c1f3b48e13a418d0063))
74
- * add GH_REPO env var to Close TDD Issue workflow ([ac3d398](https://github.com/sovrium/sovrium/commit/ac3d398d93cc7cb08328a3e2a7aff6a4e73c0495))
75
- * add id-token write permission to daily refactor workflow ([16ee189](https://github.com/sovrium/sovrium/commit/16ee189c13ea6a14c061b214f2b8a52710eed427))
76
- * add infrastructure retry logic to prevent flaky E2E test failures ([99a2fa2](https://github.com/sovrium/sovrium/commit/99a2fa2c2c70538b2136e17c3222aaa674abd63c))
77
- * add language-switcher blocks to APP-LANGUAGES-005 through 008 ([bfe150c](https://github.com/sovrium/sovrium/commit/bfe150cd536bbf510fdd2ae6eff33bcaa0c58f16))
78
- * add language-switcher blocks to remaining language tests ([00d8147](https://github.com/sovrium/sovrium/commit/00d81478a382e5d6224541690e759ac9fd590d11))
79
- * add missing auto-merge instruction to TDD workflow ([58df0a7](https://github.com/sovrium/sovrium/commit/58df0a76f337d305ef60641af95abaf7a3978196))
80
- * add missing click to open dropdown in language-switcher test (retry 1/3) ([#2674](https://github.com/sovrium/sovrium/issues/2674)) ([dd17c0f](https://github.com/sovrium/sovrium/commit/dd17c0f802c4e868900c4c71032d3f4b388ba211))
81
- * add missing formula keywords and special field support ([e2d1003](https://github.com/sovrium/sovrium/commit/e2d1003a8879a5b4c3429e5fff797b67f40f076e))
82
- * add missing GIVEN/WHEN comments to progress-field spec tests ([38cb093](https://github.com/sovrium/sovrium/commit/38cb093201ed2debf7c531d36892929b8dd9f98d))
83
- * add missing indexed property to field schemas ([8ca00d6](https://github.com/sovrium/sovrium/commit/8ca00d6e9d5b5809152330799d6804719d569633))
84
- * add missing prettier-plugin-tailwindcss dependency ([5cc79fc](https://github.com/sovrium/sovrium/commit/5cc79fc771acdf397f4e5ec37e0cbf9f402ccc00))
85
- * add missing WHEN/THEN comments to CLI-START-FORMAT-005 ([9388371](https://github.com/sovrium/sovrium/commit/9388371cd0530b1c8970121bd78eb03d2a834450))
86
- * add mock.restore() to prevent test pollution across files ([8b6325f](https://github.com/sovrium/sovrium/commit/8b6325f089f8e1fa37ea74c6a8119d906608ec87))
87
- * add organization isolation to RLS policies and session context ([#6789](https://github.com/sovrium/sovrium/issues/6789)) ([14e96f5](https://github.com/sovrium/sovrium/commit/14e96f57171dd88dbce4d996f32fe92a78b02ea6))
88
- * add PR body validation to prevent orphaned TDD issues ([4c0b443](https://github.com/sovrium/sovrium/commit/4c0b44384201322c277b589ae16945b6abb60718)), closes [#5987](https://github.com/sovrium/sovrium/issues/5987)
89
- * add proper test data for APP-THEME-SHADOWS-002 ([5e4d6e0](https://github.com/sovrium/sovrium/commit/5e4d6e0102b684d1e911829a55fede749b27e17e))
90
- * add PUBLIC role for public table permissions ([#5061](https://github.com/sovrium/sovrium/issues/5061)) ([6cf16c1](https://github.com/sovrium/sovrium/commit/6cf16c19c7dbfe95619e20408d98de29b1827a08))
91
- * add push verification to TDD workflow to prevent silent failures ([62b652c](https://github.com/sovrium/sovrium/commit/62b652c4088a7d2af28afeb8a8ba8e9051ef1863)), closes [#5662](https://github.com/sovrium/sovrium/issues/5662)
92
- * add race condition protections to TDD conflict resolution ([c2c822c](https://github.com/sovrium/sovrium/commit/c2c822cfd394dde190e10463cb280fe12c6a0ad5)), closes [#6073](https://github.com/sovrium/sovrium/issues/6073)
93
- * add resilience improvements to TDD workflows ([0607856](https://github.com/sovrium/sovrium/commit/060785636f5df318801e9282eec87545cfe5a6d8))
94
- * add retry logic to health check in E2E test fixtures ([00dad4c](https://github.com/sovrium/sovrium/commit/00dad4c87c58a16fab945733562b552d80b4b763))
95
- * add role=group to blocks with children for proper ARIA nesting ([25163ea](https://github.com/sovrium/sovrium/commit/25163eab80caa264285895f74a2193436c98d05e))
96
- * add safety measures for duplicate issue prevention in TDD queue ([851c4e9](https://github.com/sovrium/sovrium/commit/851c4e98fcb67a712ba749d07414bdd6521ad6e2))
97
- * add self-healing safeguards to prevent TDD automation pipeline blocking ([5abefb5](https://github.com/sovrium/sovrium/commit/5abefb5c858ad2e76ab84065e02d9fade5b4da36)), closes [#1541](https://github.com/sovrium/sovrium/issues/1541) [#1546](https://github.com/sovrium/sovrium/issues/1546) [#1545](https://github.com/sovrium/sovrium/issues/1545) [#1545](https://github.com/sovrium/sovrium/issues/1545)
98
- * add self-healing safeguards to prevent TDD automation pipeline blocking ([#1547](https://github.com/sovrium/sovrium/issues/1547)) ([9227994](https://github.com/sovrium/sovrium/commit/9227994274d4ec9079f456aac425f0eb1c867080)), closes [#1541](https://github.com/sovrium/sovrium/issues/1541) [#1546](https://github.com/sovrium/sovrium/issues/1546) [#1545](https://github.com/sovrium/sovrium/issues/1545) [#1545](https://github.com/sovrium/sovrium/issues/1545)
99
- * add semantic section wrapper for theme spacing tokens ([1b23c51](https://github.com/sovrium/sovrium/commit/1b23c5119421f0c3b27752f685458863319b13f5))
100
- * add SET ROLE app_user to author queries in permissions test ([40e4d12](https://github.com/sovrium/sovrium/commit/40e4d129ec4f08c0fbd6712e25a3407396115970))
101
- * add spec IDs to all regression tests ([11031dd](https://github.com/sovrium/sovrium/commit/11031ddce78084a03fc195febd01223678fa8842))
102
- * add spec IDs to regression tests in tables, id, and name ([836350a](https://github.com/sovrium/sovrium/commit/836350add7db0d61d62b9b229c86de1e79c9215a))
103
- * add special fields support to ALTER TABLE migrations ([bc8afa8](https://github.com/sovrium/sovrium/commit/bc8afa8019a5e3ecf4c406f97be675cdf31ace11))
104
- * add timeout parameters to all concurrency tests ([d1e3720](https://github.com/sovrium/sovrium/commit/d1e37205349f88602364c58c32bfa97b5b15290e))
105
- * add UI integration to languages x-specs and fix test coherence ([9e020f2](https://github.com/sovrium/sovrium/commit/9e020f21264745c5806f4b0c7b11c7318bb91a9f))
106
- * add verify-issue-closed job to prevent queue blocking ([b82bc34](https://github.com/sovrium/sovrium/commit/b82bc34e3f51b69e3ed749e6326539230e1d2e75)), closes [#1317](https://github.com/sovrium/sovrium/issues/1317) [#1317](https://github.com/sovrium/sovrium/issues/1317) [#1513](https://github.com/sovrium/sovrium/issues/1513) [#1317](https://github.com/sovrium/sovrium/issues/1317)
107
- * adopt Better Auth 1.5 native email enumeration protection and fix quality warnings ([8966e95](https://github.com/sovrium/sovrium/commit/8966e95daf9c47587c9af6424bee1cb9efeb76b3))
108
- * **agents:** apply self-review improvements to agent-maintainer ([271202d](https://github.com/sovrium/sovrium/commit/271202dab5686cd863257c422906087fd8b7c81e))
109
- * **agents:** e2e-test-fixer must review working tests before implementing fixes ([4af64a3](https://github.com/sovrium/sovrium/commit/4af64a3510f093df2284b75c05f177d980445aa7))
110
- * **agents:** elevate spec-editor to gold standard CREATIVE agent (8.5→9.5/10) ([8257aed](https://github.com/sovrium/sovrium/commit/8257aed3a83ed25889cead01d32ca6e54280880c)), closes [hi#quality](https://github.com/hi/issues/quality)
111
- * **agents:** enhance codebase-refactor-auditor with CREATIVE agent guidance and best practices ([97da7d4](https://github.com/sovrium/sovrium/commit/97da7d498759122f18d7806e705c4e091b838184))
112
- * **agents:** enhance e2e-test-translator with deterministic protocols and blocking error handling ([f7dbaeb](https://github.com/sovrium/sovrium/commit/f7dbaeb51d3f08380f54794145081efd193f0f23))
113
- * **agents:** refactor effect-schema-translator for clarity and conciseness ([8291a5f](https://github.com/sovrium/sovrium/commit/8291a5f1a6f10aabf0893f01fe3e56f85a43bb94))
114
- * **agents:** resolve role identity crisis in effect-schema-translator ([b52a6f1](https://github.com/sovrium/sovrium/commit/b52a6f190a213a536aec6b3641c36eb35430d17d))
115
- * **agents:** upgrade architecture-docs-maintainer to CREATIVE agent compliance ([9c730f3](https://github.com/sovrium/sovrium/commit/9c730f3c6e4f5030631f59d9541439eb6746b5c8))
116
- * align [@claude](https://github.com/claude) comment instructions with split-job architecture ([3dc7553](https://github.com/sovrium/sovrium/commit/3dc7553b767309e9ff3292640b7c923e9d6b0468))
117
- * align auth specs with native Better Auth endpoints ([c7d869f](https://github.com/sovrium/sovrium/commit/c7d869f3c7c87b5a532dd9d6f0c83bef0b73a922))
118
- * align forbidden error messages and auth response format for E2E tests ([054ac84](https://github.com/sovrium/sovrium/commit/054ac8460e5384714088373552047472e67b2368))
119
- * align property names in TDD automation scripts ([6593be3](https://github.com/sovrium/sovrium/commit/6593be3e12f75b6a8adf41b68b491c424b04b112))
120
- * align set-active-organization endpoint with Better Auth API ([768004a](https://github.com/sovrium/sovrium/commit/768004ac3b6845f74c215a44cbb35804ba186e3c))
121
- * align TDD workflow and agent tool configurations ([9e0f9f7](https://github.com/sovrium/sovrium/commit/9e0f9f7039535eb4a400509360f49c39d6c25f37))
122
- * align test assertions with sanitized error message for INTERNAL_ERROR ([2b34650](https://github.com/sovrium/sovrium/commit/2b3465062808398917ec27ea3d58ce5511847ab9))
123
- * align theme color tests with x-spec requirements ([982a7a3](https://github.com/sovrium/sovrium/commit/982a7a3207b44d88a85e97044cd654f3cca23c5d))
124
- * align unit test mocks with Promise-based helper signatures ([dece4fc](https://github.com/sovrium/sovrium/commit/dece4fcfbd4bb8bde9543ab176d7967419cf8d63))
125
- * align verify-email test with Better Auth's idempotent behavior ([8f5d956](https://github.com/sovrium/sovrium/commit/8f5d9560746b1387a18ead3eb5e4f59808bda017))
126
- * allow 'github-actions' user to trigger Claude Code workflow ([738ab50](https://github.com/sovrium/sovrium/commit/738ab50dd1245c19bc79840d3b00dca2ec63f464)), closes [#1273](https://github.com/sovrium/sovrium/issues/1273)
127
- * allow admin role-based read permissions to bypass ownership checks ([bd62955](https://github.com/sovrium/sovrium/commit/bd629558604a5c60375d45e9fbc5a8ae1ae1fcfb))
128
- * allow app_user role to bypass RESTRICTIVE RLS policies ([a5ac566](https://github.com/sovrium/sovrium/commit/a5ac56692c072f18b5938ea1460bc29f120e969a))
129
- * allow formulas to reference special fields without explicit field definitions ([#6083](https://github.com/sovrium/sovrium/issues/6083)) ([6f73d21](https://github.com/sovrium/sovrium/commit/6f73d21c0ac8cbb37ba63668588c71cc1efac4c8))
130
- * allow github-actions to trigger Claude workflows on issue creation ([4908b84](https://github.com/sovrium/sovrium/commit/4908b8482e5e3837e3ed4795248fcdf96b153ce0))
131
- * allow github-actions[bot] comments to trigger Claude workflows ([e922bec](https://github.com/sovrium/sovrium/commit/e922bec2d31862769c20e34795d48c63289b0932))
132
- * allow partial field updates based on write permissions ([#6623](https://github.com/sovrium/sovrium/issues/6623)) ([2219bcc](https://github.com/sovrium/sovrium/commit/2219bcca3839cc5ccbdff6fed3a62a1e6fd7e101))
133
- * allow spec progress updates on push to main ([c472b1f](https://github.com/sovrium/sovrium/commit/c472b1f3ef4beb6d230f153b2cdf72b52e761e7c))
134
- * **analytics:** move analytics entirely to head section ([29ce29e](https://github.com/sovrium/sovrium/commit/29ce29eaa601f5007ec45fd00574d54cba220198))
135
- * **analytics:** split analytics rendering into head and body components ([#1684](https://github.com/sovrium/sovrium/issues/1684)) ([3014c62](https://github.com/sovrium/sovrium/commit/3014c62fb22a522cc908c0e9cffa8c360f0a6478))
136
- * **analyze-specs:** fix MISSING_WHEN warning and skip coverage gaps for 100% domains ([904ff9c](https://github.com/sovrium/sovrium/commit/904ff9c68f935725370913141b55ed5db88764ae))
137
- * **analyze-specs:** support REGRESSION suffix in git grep patterns ([c0a7f9f](https://github.com/sovrium/sovrium/commit/c0a7f9ff88f7acf1f3b7b483fcdd70b9d2c29489))
138
- * **api:** coerce numeric field types to JavaScript numbers in API responses ([1892398](https://github.com/sovrium/sovrium/commit/189239801cf965e5c4cff1bc30a35282696c1b76))
139
- * **api:** correct error messages and status codes after middleware refactor ([f5e7719](https://github.com/sovrium/sovrium/commit/f5e77195d57bf094ce51a7050199827cb4cd83a3))
140
- * **api:** extract nested fields format in route handlers ([ff9207a](https://github.com/sovrium/sovrium/commit/ff9207a80e0b8da1c1d7cf96b79b4d676ef1b5da))
141
- * apply component type CSS classes automatically for card and badge ([66fa80b](https://github.com/sovrium/sovrium/commit/66fa80b701374fc109c682d0a01f8f0bdb25e7b6))
142
- * apply FORCE ROW LEVEL SECURITY to enforce RLS policies even for superusers ([542d665](https://github.com/sovrium/sovrium/commit/542d6653a492b1a8dd4db9abf5e7bcab5578d38d))
143
- * apply theme border-radius to badge component ([5284d1d](https://github.com/sovrium/sovrium/commit/5284d1da20b89ff2489bff037c16f4e40c9f0de0))
144
- * **auth:** add baseURL configuration to Better Auth ([2950854](https://github.com/sovrium/sovrium/commit/29508541ea58b8b42b4e4e53092b357f6ae51550))
145
- * **auth:** enable 44 auth E2E tests, mark 23 email-related as fixme ([4d91d3a](https://github.com/sovrium/sovrium/commit/4d91d3a3820ee576800a2fcec8276a15683dfb3e))
146
- * **auth:** prevent organization enumeration in set-active endpoint ([#6581](https://github.com/sovrium/sovrium/issues/6581)) ([6a39fae](https://github.com/sovrium/sovrium/commit/6a39fae5101678e2faa0e243ed39da2ee1b8dad7))
147
- * **auth:** resolve Better Auth drizzle adapter compatibility issues ([3a6bedc](https://github.com/sovrium/sovrium/commit/3a6bedc70335c6f72d86fd53db87486bae9d0f9d))
148
- * **auth:** resolve Better Auth integration issues causing E2E test failures ([6755a4e](https://github.com/sovrium/sovrium/commit/6755a4e9b2c268db889fa439706727cb23355313))
149
- * **auth:** update Better Auth organization invitation handler signature ([5051c52](https://github.com/sovrium/sovrium/commit/5051c5237b3fd768f726a1ea0b94306603beba55))
150
- * auto-resolve merge conflicts using -X theirs strategy ([a9b46d6](https://github.com/sovrium/sovrium/commit/a9b46d65a1fc99388fba11390e4aa4e7f6440c32))
151
- * automatically generate SELECT policy for INSERT...RETURNING ([d7b6126](https://github.com/sovrium/sovrium/commit/d7b6126c48ceeb6c35ce08216bb3b3ada1624b77))
152
- * **blocks:** enable single-line-text and long-text component rendering ([c9ccf83](https://github.com/sovrium/sovrium/commit/c9ccf83d1c339f9aa31b0b2d2282db14c8688f20))
153
- * break barrel import chain to fix CI unit test failures ([641bb7a](https://github.com/sovrium/sovrium/commit/641bb7a2c6c57cec916f68a50d25ba6fdcc0bb3f))
154
- * bypass Effect DI in user-role test to prevent mock contamination ([2049939](https://github.com/sovrium/sovrium/commit/2049939b31b184558a926e395269988a26fa5a05))
155
- * change created-at/updated-at fields from TIMESTAMPTZ to TIMESTAMP ([0a555dc](https://github.com/sovrium/sovrium/commit/0a555dc3d3a15a3cd82528296428482bbdc5c215))
156
- * change single-line-text VARCHAR length from 50 to 255 ([1ef1f31](https://github.com/sovrium/sovrium/commit/1ef1f316f5de33109ea3e0406a0dd5f31a0632b6))
157
- * checkout main from remote to avoid unrelated histories error ([4bcb2f2](https://github.com/sovrium/sovrium/commit/4bcb2f228eeb80a18b9cb573c912cbe8803772ed))
158
- * **ci:** add always() to job conditions for push event compatibility ([016710a](https://github.com/sovrium/sovrium/commit/016710a0c42274c0bb01c186231807d225c86c4d))
159
- * **ci:** add retry logic for Docker image pulls to handle registry outages ([99c5896](https://github.com/sovrium/sovrium/commit/99c58966892ff07a7593d9fc77902e79ac2a4fd9))
160
- * **ci:** add retry logic to checkout steps for GitHub API rate limits ([daf6129](https://github.com/sovrium/sovrium/commit/daf612975ed6cb055ef27581f88f5f306c461c20))
161
- * **ci:** add rollup 'Test' job for branch protection compatibility ([f803c58](https://github.com/sovrium/sovrium/commit/f803c584c42d0a16c5a6c624879a2f9cc422259a)), closes [#6064](https://github.com/sovrium/sovrium/issues/6064)
162
- * **ci:** apply budget-based limit to tdd-refactor.yml ([06fa127](https://github.com/sovrium/sovrium/commit/06fa1277a560e6d4052a5c84594471b25a341a86))
163
- * **ci:** correct analyze:spec → analyze:specs script name in test workflow ([df4b7d8](https://github.com/sovrium/sovrium/commit/df4b7d828dfc65b2b7ddcf90370bd4d50ae43329))
164
- * **ci:** correct tw-animate-css validation for CSS-only package ([f180f90](https://github.com/sovrium/sovrium/commit/f180f9007a03d709c0512aaa2399ae77ee7a3337))
165
- * **ci:** ensure E2E Results job fails when tests fail for TDD PRs ([fbd47ca](https://github.com/sovrium/sovrium/commit/fbd47caa7f081e4c8b7742246d2e208477eaed47))
166
- * **ci:** ensure update-spec-progress job runs after successful tests ([1af4484](https://github.com/sovrium/sovrium/commit/1af4484ff159cfbaee8cbf817b8f387275e77fdb))
167
- * **ci:** improve tdd-dispatch reliability with 2 fixes ([8c79212](https://github.com/sovrium/sovrium/commit/8c792122ec7067b8dabcd9cb170c92cd10a0c0c6))
168
- * **ci:** increase TDD automation timeout for complex specs ([8cbfd96](https://github.com/sovrium/sovrium/commit/8cbfd963f0248353de8466cfa2da1b51ec5e0a64)), closes [#6112](https://github.com/sovrium/sovrium/issues/6112)
169
- * **ci:** prevent duplicate PRs in TDD automation with 4 safeguards ([3a40f5e](https://github.com/sovrium/sovrium/commit/3a40f5ea04084506d096626a55363c726df57d94)), closes [#6067](https://github.com/sovrium/sovrium/issues/6067)
170
- * **ci:** prevent TDD monitor comment loop with correct cooldown check ([0b43188](https://github.com/sovrium/sovrium/commit/0b43188408959526d937b2ffe0123321701b4627))
171
- * circuit breaker permissions and retry count query ([1d1d0af](https://github.com/sovrium/sovrium/commit/1d1d0afbcc78445a71ce4a9acf8b2a40dae63fe8))
172
- * **ci:** replace max-turns with max-budget-usd for TDD execution ([84ff300](https://github.com/sovrium/sovrium/commit/84ff300fd3b44bc3fc3f28aabcd61001cc2accc1))
173
- * **ci:** use printf for safe commit message handling in shell ([4dac52b](https://github.com/sovrium/sovrium/commit/4dac52be1392d4a9e7b1c04d3e4191a53e6aceb8))
174
- * Claude Code must validate before pushing ([7a4a0d1](https://github.com/sovrium/sovrium/commit/7a4a0d1160b388b1e4c77440d315fed9acfd5f10))
175
- * complete all 760 incomplete test specifications ([c95c439](https://github.com/sovrium/sovrium/commit/c95c4390616e596b6e00b4574595af5efd200a09))
176
- * complete Better Auth spec files with GIVEN-WHEN-THEN structure ([b1e527f](https://github.com/sovrium/sovrium/commit/b1e527f7c69c3dd720317da9be085ed5da11ebea))
177
- * complete quality fixes for API-TABLES-RECORDS-UPSERT-003 ([458c1fb](https://github.com/sovrium/sovrium/commit/458c1fb7180162adaa4c9ff498f77085c398c5e7))
178
- * comprehensive documentation and quality improvements ([a7dbaf3](https://github.com/sovrium/sovrium/commit/a7dbaf347f2c82603647a24295eddd5f5de77321))
179
- * comprehensive TDD pipeline workflow fixes (4 critical errors) ([67f3bda](https://github.com/sovrium/sovrium/commit/67f3bda6ac8f70e428fe6b8b0f5356ecfbdecabb))
180
- * conflict ([2381ba4](https://github.com/sovrium/sovrium/commit/2381ba4fa04f5079b54446c75c16ba55969123ef))
181
- * correct analytics table name in specs and add sessionTimeout to tracking script ([ad02913](https://github.com/sovrium/sovrium/commit/ad029130f22c70b050cfe9a7d15cb1f1c1e049aa))
182
- * correct API feature ordering test expectation ([113113a](https://github.com/sovrium/sovrium/commit/113113a0f958e7322dba8e9e386c1753349c9e7f))
183
- * correct ARIA snapshot assertion for APP-THEME-BREAKPOINTS-REGRESSION-001 ([#2241](https://github.com/sovrium/sovrium/issues/2241)) ([91a7283](https://github.com/sovrium/sovrium/commit/91a7283a68582cfd145d09000262cce17b2f1a71))
184
- * correct ARIA snapshot format in APP-PAGES-008 ([c07d4cb](https://github.com/sovrium/sovrium/commit/c07d4cbef3ca05de82c17df2724a9006790ca575))
185
- * correct assertions for APP-PAGES-INTERACTION-HOVER-006 ([#2612](https://github.com/sovrium/sovrium/issues/2612)) ([6232aac](https://github.com/sovrium/sovrium/commit/6232aaccea63ae93f9d8fca626c237222157abdd))
186
- * correct auth session and field permission behaviors ([9c8a00c](https://github.com/sovrium/sovrium/commit/9c8a00c9d0408f8110f8aee63e89ca3e786ec27a))
187
- * correct Better Auth table names in E2E tests ([5d54fff](https://github.com/sovrium/sovrium/commit/5d54ffffeaa502d3900b74c29380848332373f62)), closes [#database-table-naming](https://github.com/sovrium/sovrium/issues/database-table-naming)
188
- * correct claude_args flag from --agent to --agents ([f182fac](https://github.com/sovrium/sovrium/commit/f182facdce47f36704dff7411392a285495c3949))
189
- * correct currency value type and error message format ([7a70eff](https://github.com/sovrium/sovrium/commit/7a70eff7dd1aad2ea9d26c18b9e8d1768d0cef3c))
190
- * correct disabled-tables tests to require auth and use proper fixtures ([f8973a9](https://github.com/sovrium/sovrium/commit/f8973a9fa715df5d19eba9c47e536d3e9c796af2))
191
- * correct email isolation and VARCHAR(255) expectations in tests ([85219b2](https://github.com/sovrium/sovrium/commit/85219b2f0350a7cd1677034b9b45bab50f9e249e))
192
- * correct executeQuery assertions for multi-select field test APP-TABLES-FIELD-TYPES-MULTI-SELECT-002 ([#4891](https://github.com/sovrium/sovrium/issues/4891)) ([3c689f1](https://github.com/sovrium/sovrium/commit/3c689f167830555c004d944b1c31f708b38455fd))
193
- * correct gh workflow status check in circuit breaker ([91f7155](https://github.com/sovrium/sovrium/commit/91f715550a6499ed75c6e51fc4f092d43270fcbc))
194
- * correct hero section background gradient rendering ([ec49dfc](https://github.com/sovrium/sovrium/commit/ec49dfc9c5633ea27f1bf971c44eee713a13184d)), closes [#ffffff](https://github.com/sovrium/sovrium/issues/ffffff)
195
- * correct jq label access in TDD workflows ([6149267](https://github.com/sovrium/sovrium/commit/6149267e2d28c9873833c9a7aeaf65bcd4c633ce))
196
- * correct localStorage assertion in language switcher regression test ([cd18669](https://github.com/sovrium/sovrium/commit/cd186695298e596fb3b68d9cec9797edb3903d7f))
197
- * correct OpenAPI $ref paths and add missing response components ([4623ad0](https://github.com/sovrium/sovrium/commit/4623ad0e5a017cab1bbed28d85000ec0e185fe25))
198
- * correct organizationRoles column name from 'permissions' to 'permission' ([b505732](https://github.com/sovrium/sovrium/commit/b505732fefdaf649638842f66f7e664c36b09c57))
199
- * correct Playwright JSON parsing in validate-specs batch mode ([5928195](https://github.com/sovrium/sovrium/commit/5928195066ac25d8d81126b9bf3e1d29b88a24b4))
200
- * correct retry workflow reference from claude-tdd-with-retry.yml to claude-tdd.yml ([47b8e5e](https://github.com/sovrium/sovrium/commit/47b8e5ed26d54a1fd0a50d2da91fdf33595473bc)), closes [#1379](https://github.com/sovrium/sovrium/issues/1379)
201
- * correct RLS policy generation for tables with no permissions configured ([dc41f18](https://github.com/sovrium/sovrium/commit/dc41f18bcfd3b5861b1c2aa3ffde43e3cfaa5ed9))
202
- * correct Spec Count back to 12 (12 [@spec](https://github.com/spec) + 1 [@regression](https://github.com/regression)) ([53578e9](https://github.com/sovrium/sovrium/commit/53578e9a1646435546b66c4846e389d80ca49b7f))
203
- * correct spec count headers in API key test files ([f47f0a1](https://github.com/sovrium/sovrium/commit/f47f0a13c73246e0b678c6cf3bf1a378e43063a7))
204
- * correct Spec Count headers to match [@spec](https://github.com/spec) test counts ([307a130](https://github.com/sovrium/sovrium/commit/307a130c0412fc7292876236abb7f28a3dfef2d5))
205
- * correct spec count in role-based-access.spec.ts ([90d2f76](https://github.com/sovrium/sovrium/commit/90d2f76d2eff984777712427bb0029af51b21525))
206
- * correct spec IDs to use hyphens instead of underscores ([fe58f59](https://github.com/sovrium/sovrium/commit/fe58f593062ade685478d72b096bd713fee3821d))
207
- * correct table ID mismatches in E2E spec tests ([a57862d](https://github.com/sovrium/sovrium/commit/a57862da728d349a36a6aee99abd05c38a07cf4d))
208
- * correct test assertion for APP-PAGES-INTERACTION-SCROLL-009 ([#2635](https://github.com/sovrium/sovrium/issues/2635)) ([66bde06](https://github.com/sovrium/sovrium/commit/66bde06fb70aa4bd02021db7dfa492cf502f59f5))
209
- * correct test assertion pattern in APP-TABLES-FIELD-URL-005 ([#4914](https://github.com/sovrium/sovrium/issues/4914)) ([6923030](https://github.com/sovrium/sovrium/commit/69230305de5935af11dde66425ab5d5e7003be7f))
210
- * correct test assertion pattern in APP-TABLES-FIELD-URL-005 ([#4915](https://github.com/sovrium/sovrium/issues/4915)) ([f31d3ea](https://github.com/sovrium/sovrium/commit/f31d3ea6653aa27c2cf7721cc1a6db83f2edf0cb))
211
- * correct test assertions for APP-TABLES-FIELD-REQUIRED-004 ([#4813](https://github.com/sovrium/sovrium/issues/4813)) ([f336373](https://github.com/sovrium/sovrium/commit/f33637300efee772c27d8bff9be17cfb7f5545d1))
212
- * correct test assertions for inline script content verification (APP-PAGES-SCRIPTS-004) ([#2961](https://github.com/sovrium/sovrium/issues/2961)) ([fc2f6cf](https://github.com/sovrium/sovrium/commit/fc2f6cfae4a5e62cc261900257916742b60c65c6))
213
- * correct test assertions for table name validation ([#5041](https://github.com/sovrium/sovrium/issues/5041)) ([1d90907](https://github.com/sovrium/sovrium/commit/1d90907f9c0ffe0b20a7db8f11a0c53aaca00524))
214
- * correct test data in migration specs to use automatic id columns ([e43a604](https://github.com/sovrium/sovrium/commit/e43a604cbbf72d4f54c87e6a3816c3f332c0907f))
215
- * correct type assertion in dependency graph parsing ([7cd7a89](https://github.com/sovrium/sovrium/commit/7cd7a890bb8ba93519409b6d0464d14f39267722))
216
- * correct TypeScript types for session token in two-factor auth specs ([ad33b05](https://github.com/sovrium/sovrium/commit/ad33b0552631a6b7c829eeae77a895aa1bd814a0))
217
- * correct YAML syntax in TDD queue monitor workflow ([3d4dd31](https://github.com/sovrium/sovrium/commit/3d4dd31618b488a602f960ac0a8754ed6bc6f6d8))
218
- * correct YAML syntax in workflow files ([027a702](https://github.com/sovrium/sovrium/commit/027a702ad9c7f33369c755bbb1c8b67e3c465c05))
219
- * create Better Auth tables automatically on server startup ([19a4da5](https://github.com/sovrium/sovrium/commit/19a4da5ec646815be3eabb5544f483d02e00a6fb))
220
- * create claude-tdd.yml to bypass GitHub Actions cache issue ([00fe345](https://github.com/sovrium/sovrium/commit/00fe345cdd25c24ff5e4567990877ad42a96146e))
221
- * create placeholder language-switcher block to resolve validation error ([642237f](https://github.com/sovrium/sovrium/commit/642237f56277d52e14fdac7fa52ddc3e07290089))
222
- * create required labels before using them in conflict resolver ([4121c62](https://github.com/sovrium/sovrium/commit/4121c624087579cc69b551e201b0c97889938f0c))
223
- * defer attempt increment until Claude Code is actually triggered ([0a15f55](https://github.com/sovrium/sovrium/commit/0a15f553dbeb6beba26a87477bb3c1785909a2ba))
224
- * define TEST_ROLES locally in rls-grants.ts ([e9e79e2](https://github.com/sovrium/sovrium/commit/e9e79e226b6834f793670219c00ed265523acd3f))
225
- * detach HEAD before claude-code-action to prevent git fetch conflict ([109bc82](https://github.com/sovrium/sovrium/commit/109bc823ae68a0a30b2504159be68e0bf41d66e4))
226
- * detect SDK crash after Claude success to prevent wasteful retries ([7d45829](https://github.com/sovrium/sovrium/commit/7d458297d6e9fef52375c96bff7b2a928223f07f))
227
- * detect success-without-branch as failure and enforce push in agent ([87a26a4](https://github.com/sovrium/sovrium/commit/87a26a4a70506040e1ef260d79580514b7266073))
228
- * disable Better Auth apiKey plugin due to schema merging bug ([357b235](https://github.com/sovrium/sovrium/commit/357b2358d6bbb337d6b34415c883e43339509822))
229
- * disable Happy DOM global preload to prevent URL resolution issues ([a8199f6](https://github.com/sovrium/sovrium/commit/a8199f60a8f71b439073756e377b50f8e7d090ed))
230
- * distinguish undefined vs empty permissions for RLS policy generation ([293fbd6](https://github.com/sovrium/sovrium/commit/293fbd6d7062b0906d578e3954087020771db0e6))
231
- * document APP-PAGES-RESPONSIVE-004 architectural limitation ([#2945](https://github.com/sovrium/sovrium/issues/2945)) ([45035fa](https://github.com/sovrium/sovrium/commit/45035fa1b6816f647b7a19d8f6f4f568645d193f))
232
- * downgrade model escalation to Opus 4.5 for pinned SDK compatibility ([85660b8](https://github.com/sovrium/sovrium/commit/85660b89f9a4d5fbe4f2107bf3be869c846a5194))
233
- * **e2e:** add progress logging and diagnostics for Mailpit container startup ([c5ed80d](https://github.com/sovrium/sovrium/commit/c5ed80d61c3f4a1e31ab72e54fd3faabea226741))
234
- * **e2e:** configure Better Auth and fix test infrastructure for E2E suite ([97ea44d](https://github.com/sovrium/sovrium/commit/97ea44d08e6af55ec0b77d955615128b1d1f3d39))
235
- * **e2e:** fix auth API test failures by disabling CSRF for testing ([5d08b7f](https://github.com/sovrium/sovrium/commit/5d08b7f613ad417ff08188737629ee4e2bfb6ff7))
236
- * **e2e:** prevent race condition in database drop operations ([e380f77](https://github.com/sovrium/sovrium/commit/e380f77dd9d1a799088c958441ea1262873a3653)), closes [#2](https://github.com/sovrium/sovrium/issues/2) [#1](https://github.com/sovrium/sovrium/issues/1) [#2](https://github.com/sovrium/sovrium/issues/2)
237
- * **e2e:** use PostgreSQL FORCE drop to handle reused containers ([3de6e7c](https://github.com/sovrium/sovrium/commit/3de6e7c6e0269f9f39b98f7b30597d65d001a0fa))
238
- * **effect:** resolve 9 Effect diagnostics warnings ([c859366](https://github.com/sovrium/sovrium/commit/c85936624999d7950b4fa7d1e86286dd85b53186))
239
- * eliminate all progress script warnings with Schema.Unknown detection and YAML fixes ([c69d7a0](https://github.com/sovrium/sovrium/commit/c69d7a07ac001913d63f04bb4689d92475908d90))
240
- * eliminate mock.module() cache contamination causing 24 CI test failures ([d78d5b8](https://github.com/sovrium/sovrium/commit/d78d5b8bd6aeafaa3d9b648d8e90f44a513e9e74))
241
- * **email:** resolve IPv6/IPv4 SMTP connection issue for email verification ([14537ed](https://github.com/sovrium/sovrium/commit/14537ed9dcfc386b00b414b1f9472f7136369920))
242
- * enable admin plugin for field-level permissions test (INT-004) ([eb09bca](https://github.com/sovrium/sovrium/commit/eb09bca90a89dc05e15329ac6cc8d9841ff5bec0))
243
- * enable API-TABLES-LIST-006 regression test with proper auth flow ([#6600](https://github.com/sovrium/sovrium/issues/6600)) ([43b2ff1](https://github.com/sovrium/sovrium/commit/43b2ff111552194e58374801208e3902ee4ef9bf))
244
- * enable APP-TABLES-FK-015 regression test (feature already implemented) ([#6081](https://github.com/sovrium/sovrium/issues/6081)) ([ae0206a](https://github.com/sovrium/sovrium/commit/ae0206a3a84b954b490d0caf976c0c247f3b9bc8))
245
- * enable auto-merge on existing PRs in TDD workflow ([8beeda0](https://github.com/sovrium/sovrium/commit/8beeda023a50b09cd6ca1e7c4e6171b4e732745e)), closes [#6574](https://github.com/sovrium/sovrium/issues/6574)
246
- * enable RLS enforcement in API routes via session context integration ([266bd98](https://github.com/sovrium/sovrium/commit/266bd98dd10c2eda99d88232fe35de2309f91667))
247
- * enable RLS enforcement in E2E tests with non-superuser role ([cf0df03](https://github.com/sovrium/sovrium/commit/cf0df035648322b24815f19e02da8d8e091fb9a9))
248
- * enable TDD validation for Claude Code branches ([5c9fa4b](https://github.com/sovrium/sovrium/commit/5c9fa4bf271127cee043427d539905bea2740bb2)), closes [#1454](https://github.com/sovrium/sovrium/issues/1454)
249
- * enable test API-AUTH-ADMIN-OPT-DEFAULT-ROLE-002 for custom default role ([#6530](https://github.com/sovrium/sovrium/issues/6530)) ([67083a0](https://github.com/sovrium/sovrium/commit/67083a065993fc654c6883ff13dceb286a73ebe2))
250
- * enable test APP-TABLES-FIELD-TYPES-CREATED-AT-002 ([#4879](https://github.com/sovrium/sovrium/issues/4879)) ([40f1d4e](https://github.com/sovrium/sovrium/commit/40f1d4e7193ff3d858427f44c11dae10ddb7414a))
251
- * enforce field-level permissions on filter operations ([b44a7af](https://github.com/sovrium/sovrium/commit/b44a7af5fdd00d7cb1a8305b635b797a24ba943e))
252
- * enforce mandatory PR creation in TDD automation pipeline ([5d938cd](https://github.com/sovrium/sovrium/commit/5d938cd2faa5d3ebbec16bd2821d57ca0fa175ee)), closes [#1319](https://github.com/sovrium/sovrium/issues/1319)
253
- * enforce PR creation in TDD automation to prevent pipeline blocks ([479f378](https://github.com/sovrium/sovrium/commit/479f37857d9c631520ffb920a56fbb951f8b3e49)), closes [#1250](https://github.com/sovrium/sovrium/issues/1250) [#1250](https://github.com/sovrium/sovrium/issues/1250)
254
- * enforce single-use tokens for email verification (API-AUTH-VERIFY-EMAIL-005) ([354b03f](https://github.com/sovrium/sovrium/commit/354b03ff331a461a4efc69a3552849dea00dc49b))
255
- * enforce strict TypeScript exit codes in quality check and fix type errors in spec fixtures ([9457ad7](https://github.com/sovrium/sovrium/commit/9457ad751819d9f2082c89abf795272719c5cc9c))
256
- * enhance useBreakpoint hook with multiple detection methods ([#2940](https://github.com/sovrium/sovrium/issues/2940)) ([76ff444](https://github.com/sovrium/sovrium/commit/76ff444b8c50af9b54be4f4a8dd30b806eecc110))
257
- * enhance x-specs schema validation and reference syntax documentation ([84c15be](https://github.com/sovrium/sovrium/commit/84c15becdc9170f7125d1466aaf34bc980a34df3))
258
- * ensure executeQuery always returns consistent structure ([0cde0cb](https://github.com/sovrium/sovrium/commit/0cde0cbd2a6a7bdca13ac8abe6d2515819cbc8bb))
259
- * ensure GitHub CLI (gh) is found in PATH for Bun scripts ([5b4d473](https://github.com/sovrium/sovrium/commit/5b4d4739b564a8339494c0f505c9ce19282c2e74))
260
- * ensure populate workflow checks closed issues to prevent duplicates ([d68db9e](https://github.com/sovrium/sovrium/commit/d68db9e9b54b8d36944803b4be419d5c39dc60db))
261
- * ensure schema-based priority calculator groups sub-features correctly ([f389d8c](https://github.com/sovrium/sovrium/commit/f389d8cfbd886ddad34ae7cf41e8242e9c1b11bd))
262
- * ensure TDD automation PRs include Closes # syntax ([1737415](https://github.com/sovrium/sovrium/commit/1737415bb0903aa0b356b393d51beb84918cd4e6))
263
- * **eslint:** disable unicorn/no-nested-ternary to resolve Prettier conflict ([8843777](https://github.com/sovrium/sovrium/commit/8843777e872623127c1dbe1cb36cce9fc863c7e4))
264
- * exclude automated retries from TDD cooldown check ([3a32a2a](https://github.com/sovrium/sovrium/commit/3a32a2abec81628a3acac474d19c0ff1ea2a660e)), closes [#5663](https://github.com/sovrium/sovrium/issues/5663)
265
- * exclude fixme tests from GIVEN/WHEN/THEN validation ([2f4703a](https://github.com/sovrium/sovrium/commit/2f4703abc23f997deb5dce334954785d16d99125))
266
- * exclude manual [@claude](https://github.com/claude) from automated recovery cooldowns in tdd-monitor ([6f63745](https://github.com/sovrium/sovrium/commit/6f6374573944981ef50d19b85cb1127598655900))
267
- * exclude scripts/ and intentional patterns from Effect diagnostics ([29bf6ce](https://github.com/sovrium/sovrium/commit/29bf6ce081cefa12169ae0ac3ccbfa16d2cdb6f2))
268
- * expand Recent Fixes to capture all spec-related commits ([3cbf482](https://github.com/sovrium/sovrium/commit/3cbf482fe574c43ef27ae69f77439255c2e10650))
269
- * **field-types:** add descriptions to [@ts-expect-error](https://github.com/ts-expect-error) directives ([7f32362](https://github.com/sovrium/sovrium/commit/7f3236276d170b38470d02f24f6238c11ed6b424))
270
- * filter spurious claude-code.yml runs by verifying active execute job ([b32f237](https://github.com/sovrium/sovrium/commit/b32f2372bc5548146224b3e76f8005e7d8eb1dbc))
271
- * fix YAML indentation in claude-tdd.yml multiline strings ([ceb07b6](https://github.com/sovrium/sovrium/commit/ceb07b67f7df4f514f9a5d2fbf199895dfb568f2))
272
- * format ([c29b0db](https://github.com/sovrium/sovrium/commit/c29b0db8634ad9874d9ffdaf2cd717b22c8b8d5c))
273
- * **formula:** prevent EXTRACT keywords from being qualified as column references ([cbb06b9](https://github.com/sovrium/sovrium/commit/cbb06b9b7ce08a3907833dd74407dd1d7f52a4c3))
274
- * generate E2E tests for 3 migration specs with Pattern G ([e005d17](https://github.com/sovrium/sovrium/commit/e005d174c0d463961da11e219bbe695ffe612d20))
275
- * generate remove-field migration E2E tests (MIG-ALTER-REMOVE-001 to 004) ([752cd50](https://github.com/sovrium/sovrium/commit/752cd50c836f86af1e45fd77306b0ed94d682dae))
276
- * generate rename-field migration E2E tests (MIG-ALTER-RENAME-001 to 004) ([0fccd31](https://github.com/sovrium/sovrium/commit/0fccd31b281fa78dc5fcf47557c1a1e296cb4fed))
277
- * generate scaffold E2E tests for 11 remaining migration specs ([f26d3c2](https://github.com/sovrium/sovrium/commit/f26d3c28dc0664bd1a5b7ce4639abde01c56a0dd))
278
- * gracefully skip branch sync when remote branch no longer exists ([5abf26f](https://github.com/sovrium/sovrium/commit/5abf26f9dacb9b54402fb04640a3d80a54778be0))
279
- * handle boolean attributes in custom script elements (APP-PAGES-CUSTOM-003) ([7c26fa1](https://github.com/sovrium/sovrium/commit/7c26fa1c17f3d9c7e91804ebc6bb5ff0bc0182c5))
280
- * handle ISSUE_NUMBER correctly for issue_comment events in claude-tdd workflow ([c5875bf](https://github.com/sovrium/sovrium/commit/c5875bf306b77f343e2134c04a00b4847cea6449)), closes [#1083](https://github.com/sovrium/sovrium/issues/1083)
281
- * handle jq parse errors in retry verification ([e15a1b5](https://github.com/sovrium/sovrium/commit/e15a1b55c4fef6ba16fc371f6837bedab1579c22)), closes [#898](https://github.com/sovrium/sovrium/issues/898)
282
- * handle non-language nested paths in /:lang/* route ([73ec58f](https://github.com/sovrium/sovrium/commit/73ec58f554769dd606f803bc86c421138f688314))
283
- * handle optional locale in translation token replacement ([083223e](https://github.com/sovrium/sovrium/commit/083223ed095d423123d70c7e58a5090ee072ea5f))
284
- * handle PostgreSQL role creation race condition in parallel tests ([b801d0b](https://github.com/sovrium/sovrium/commit/b801d0bd9a23054ede26c670b76ed7d9b678ca19))
285
- * handle PR context in TDD workflow branch detection ([20a05c5](https://github.com/sovrium/sovrium/commit/20a05c582a3a03352bf3aa337460ea1515c8ed8b)), closes [#6590](https://github.com/sovrium/sovrium/issues/6590) [#4598](https://github.com/sovrium/sovrium/issues/4598)
286
- * handle regression tests with -REGRESSION-NNN pattern in priority calculator ([c3a4a18](https://github.com/sovrium/sovrium/commit/c3a4a188c43e747e7a72fe8df2177b2a8d78d10b))
287
- * implement --no-error flag for check-progress to prevent CI failures ([8ad5bc2](https://github.com/sovrium/sovrium/commit/8ad5bc2b8d5f9a45a4e2ca77e06fb5360ac525cd))
288
- * implement all 11 sidebar tests (APP-PAGES-SIDEBAR-002 through 012) ([4b5e30a](https://github.com/sovrium/sovrium/commit/4b5e30a8892423b0e81d16cdebab6ffd295ed107))
289
- * implement API-ACTIVITY-AUTH-001 - activity logs API with authentication ([#6200](https://github.com/sovrium/sovrium/issues/6200)) ([dbef11e](https://github.com/sovrium/sovrium/commit/dbef11e0b748ef713dc98f7f20e010411d55bd17))
290
- * implement API-ACTIVITY-AUTH-002 ([#6202](https://github.com/sovrium/sovrium/issues/6202)) ([1c7d7fb](https://github.com/sovrium/sovrium/commit/1c7d7fb50134a36c483ff59d808d759eee3de467))
291
- * implement API-ACTIVITY-AUTH-003 ([#6206](https://github.com/sovrium/sovrium/issues/6206)) ([731b88a](https://github.com/sovrium/sovrium/commit/731b88ace435fde2bb7b0913667a4b22938cb03f))
292
- * implement API-ACTIVITY-AUTH-005 ([#6207](https://github.com/sovrium/sovrium/issues/6207)) ([7674def](https://github.com/sovrium/sovrium/commit/7674def425069f66f8dd588e8c69c7493386a7a0))
293
- * implement API-ACTIVITY-LIST-002 ([a1ab5af](https://github.com/sovrium/sovrium/commit/a1ab5afbe2aa542c7540d996dca93c158174f064))
294
- * implement API-ACTIVITY-RECORD-HISTORY-002 ([78a6cd6](https://github.com/sovrium/sovrium/commit/78a6cd6c0fe3296050ff552cc0a994b88dc5a0da))
295
- * implement API-ACTIVITY-RECORD-HISTORY-005 ([28c9c9d](https://github.com/sovrium/sovrium/commit/28c9c9d4b187115642d034745099b6876fa1609e))
296
- * implement API-ANALYTICS-COLLECT-007 ([ffe917c](https://github.com/sovrium/sovrium/commit/ffe917c399882e13090f421c7b07fe0bd9fb5cc8))
297
- * implement API-ANALYTICS-DEVICES-002 ([49feaa1](https://github.com/sovrium/sovrium/commit/49feaa1cac3e18d20913aa2bce34fd68d184ee75))
298
- * implement API-ANALYTICS-OVERVIEW-002 ([864a6cc](https://github.com/sovrium/sovrium/commit/864a6cc4737549f7146685c2ced9069c0c6201fb))
299
- * implement API-ANALYTICS-PAGES-002 ([8c4d0f7](https://github.com/sovrium/sovrium/commit/8c4d0f720ecba47258dd89d535cf306ab619602c))
300
- * implement API-ANALYTICS-SOURCES-002 ([2813c11](https://github.com/sovrium/sovrium/commit/2813c111d645dcb2e363db81f21c1c23d6fd5d38))
301
- * implement API-AUTH-ADMIN-ASSIGN-001 ([#6503](https://github.com/sovrium/sovrium/issues/6503)) ([fa86ff5](https://github.com/sovrium/sovrium/commit/fa86ff5058257f0ca44faa53a898e2eba0a6b0a8))
302
- * implement API-AUTH-ADMIN-ASSIGN-002 ([#6499](https://github.com/sovrium/sovrium/issues/6499)) ([a5893ee](https://github.com/sovrium/sovrium/commit/a5893ee3ccf4d19fa56817fb02f6f8c19f09ccc3))
303
- * implement API-AUTH-ADMIN-ASSIGN-004 ([#6502](https://github.com/sovrium/sovrium/issues/6502)) ([2495539](https://github.com/sovrium/sovrium/commit/2495539d6eaa1a79f412d3c5f6a616b5c9fab91e))
304
- * implement API-AUTH-ADMIN-ASSIGN-005 - prevent self-assignment without permission ([#6504](https://github.com/sovrium/sovrium/issues/6504)) ([6c91efa](https://github.com/sovrium/sovrium/commit/6c91efa032264b336e2ab515a75228b36a0665b0))
305
- * implement API-AUTH-ADMIN-ASSIGN-006 ([#6505](https://github.com/sovrium/sovrium/issues/6505)) ([1b46be1](https://github.com/sovrium/sovrium/commit/1b46be1481031ec1ed2afe051d461214a5efa3b3))
306
- * implement API-AUTH-ADMIN-ASSIGN-007 ([#6506](https://github.com/sovrium/sovrium/issues/6506)) ([188f839](https://github.com/sovrium/sovrium/commit/188f8391b6e0d1aba59ebc155f7da25f55cd9c86))
307
- * implement API-AUTH-ADMIN-ASSIGN-007 ([#6507](https://github.com/sovrium/sovrium/issues/6507)) ([27980e9](https://github.com/sovrium/sovrium/commit/27980e9f87426ebd55e6355853e01e5fb05bde08))
308
- * implement API-AUTH-ADMIN-CREATE-USER-003 ([50b0ca4](https://github.com/sovrium/sovrium/commit/50b0ca4d9e0b4468ffea02d94253838e69e1f049))
309
- * implement API-AUTH-ADMIN-GET-USER-002 ([73432ad](https://github.com/sovrium/sovrium/commit/73432ad55dde5465e4caa50548d513989bf8edd2))
310
- * implement API-AUTH-ADMIN-IMPERSONATE-USER-003 ([8cb4313](https://github.com/sovrium/sovrium/commit/8cb43136d931540429d615491ff9f1d0003327f9))
311
- * implement API-AUTH-ADMIN-LIST-USER-SESSIONS-005 ([605828f](https://github.com/sovrium/sovrium/commit/605828f49f529d149fee3741500eb9beb7eb8abe))
312
- * implement API-AUTH-ADMIN-LIST-USERS-004 ([f9ca7de](https://github.com/sovrium/sovrium/commit/f9ca7de207827362ae4a836ceb3896b53bd2c5fc))
313
- * implement API-AUTH-ADMIN-OPT-DEFAULT-ROLE-001 ([#6529](https://github.com/sovrium/sovrium/issues/6529)) ([2d14e76](https://github.com/sovrium/sovrium/commit/2d14e76f941e6b62ab3b1af2ce3ccaedc8add5bc))
314
- * implement API-AUTH-ADMIN-OPT-DEFAULT-ROLE-003 ([#6531](https://github.com/sovrium/sovrium/issues/6531)) ([f39d33b](https://github.com/sovrium/sovrium/commit/f39d33bf8ab15cfa56de9a0fadbcdeadf4fbdc94))
315
- * implement API-AUTH-ADMIN-OPT-DEFAULT-ROLE-006 ([#6535](https://github.com/sovrium/sovrium/issues/6535)) ([a972241](https://github.com/sovrium/sovrium/commit/a9722412889c587563f92ac0b1b2e210ce7e297c))
316
- * implement API-AUTH-ADMIN-OPT-DEFAULT-ROLE-007 ([#6536](https://github.com/sovrium/sovrium/issues/6536)) ([8617684](https://github.com/sovrium/sovrium/commit/86176842523696d30b608e21dd2f70fd8254d802))
317
- * implement API-AUTH-ADMIN-OPT-FIRST-USER-002 - assign default role to subsequent users ([#6546](https://github.com/sovrium/sovrium/issues/6546)) ([796dbcf](https://github.com/sovrium/sovrium/commit/796dbcfd1a162ba542220015377b48c42726d577))
318
- * implement API-AUTH-ADMIN-OPT-LIST-001 ([#6562](https://github.com/sovrium/sovrium/issues/6562)) ([74c611c](https://github.com/sovrium/sovrium/commit/74c611c36530c03f918278911fe16b43ce3c9377))
319
- * implement API-AUTH-ADMIN-REVOKE-001 ([#6510](https://github.com/sovrium/sovrium/issues/6510)) ([d646c81](https://github.com/sovrium/sovrium/commit/d646c8190c089a3c5a5487ac55ab6a2eb4a8b070))
320
- * implement API-AUTH-ADMIN-REVOKE-002 ([#6509](https://github.com/sovrium/sovrium/issues/6509)) ([944c856](https://github.com/sovrium/sovrium/commit/944c85687231f866dc6ad2c8f895992a25eb3f54))
321
- * implement API-AUTH-ADMIN-REVOKE-004 ([#6511](https://github.com/sovrium/sovrium/issues/6511)) ([dc1afaa](https://github.com/sovrium/sovrium/commit/dc1afaae8038890d338e20fb9fb6775c4b15ffc4))
322
- * implement API-AUTH-ADMIN-REVOKE-005 ([#6517](https://github.com/sovrium/sovrium/issues/6517)) ([24eafba](https://github.com/sovrium/sovrium/commit/24eafba2dc76eee78958b2c5e702f51373e4c5a9))
323
- * implement API-AUTH-ADMIN-REVOKE-006 ([#6518](https://github.com/sovrium/sovrium/issues/6518)) ([4402c20](https://github.com/sovrium/sovrium/commit/4402c20e5ae851dd8085ba02d3cbc0e4577af241))
324
- * implement API-AUTH-ADMIN-REVOKE-007 ([#6519](https://github.com/sovrium/sovrium/issues/6519)) ([bc46dfd](https://github.com/sovrium/sovrium/commit/bc46dfd971f0b6486639419cede7755f3ae4c15a))
325
- * implement API-AUTH-ADMIN-REVOKE-USER-SESSION-002 ([f2aa0bf](https://github.com/sovrium/sovrium/commit/f2aa0bffa2f32294fbffa79ecb67635299bbe582))
326
- * implement API-AUTH-ADMIN-SET-ROLE-001 ([821b0ed](https://github.com/sovrium/sovrium/commit/821b0ed1c5d0d61e3b191bdc6c3df41631484a47))
327
- * implement API-AUTH-ADMIN-SET-USER-PASSWORD-003 ([8e1018e](https://github.com/sovrium/sovrium/commit/8e1018e99143bd222fd5da8ab5ce196bcb6f40d0))
328
- * implement API-AUTH-ADMIN-STOP-IMPERSONATING-001 test ([8d2d8c8](https://github.com/sovrium/sovrium/commit/8d2d8c878af32e87e78673dda919dcf2cb9eed89))
329
- * implement API-AUTH-ADMIN-STOP-IMPERSONATING-002 ([0f3ad03](https://github.com/sovrium/sovrium/commit/0f3ad032598ba5852757091bec1fcccee1484948))
330
- * implement API-AUTH-ADMIN-STOP-IMPERSONATING-002 - enable firstUserAdmin for reliable admin role assignment ([#6574](https://github.com/sovrium/sovrium/issues/6574)) ([1e93b5b](https://github.com/sovrium/sovrium/commit/1e93b5bd867bc43e84b6cb23929223f8b879071e))
331
- * implement API-AUTH-ADMIN-STOP-IMPERSONATING-002 - enable firstUserAdmin for reliable admin role assignment ([#6576](https://github.com/sovrium/sovrium/issues/6576)) ([f1d4003](https://github.com/sovrium/sovrium/commit/f1d40035577287e2eae8acf5330bd9f96ab35387))
332
- * implement API-AUTH-ADMIN-STOP-IMPERSONATING-003 ([#6575](https://github.com/sovrium/sovrium/issues/6575)) ([90911db](https://github.com/sovrium/sovrium/commit/90911db87d9fc9ee886ab2754b6b4dfc4375a99d))
333
- * implement API-AUTH-ADMIN-STOP-IMPERSONATING-004 ([91b62f3](https://github.com/sovrium/sovrium/commit/91b62f3e152a019b0a8fbe7907109b48be2f6815))
334
- * implement API-AUTH-ADMIN-STOP-IMPERSONATING-005 ([#6577](https://github.com/sovrium/sovrium/issues/6577)) ([03c16bd](https://github.com/sovrium/sovrium/commit/03c16bdf591c598bf6489c0e733d683b6d7a9630))
335
- * implement API-AUTH-API-KEYS-CREATE-001 ([#6213](https://github.com/sovrium/sovrium/issues/6213)) ([8d2e7f6](https://github.com/sovrium/sovrium/commit/8d2e7f675b763edbea52505b855e9bd9b1891546))
336
- * implement API-AUTH-API-KEYS-CREATE-004 ([#6216](https://github.com/sovrium/sovrium/issues/6216)) ([c979c10](https://github.com/sovrium/sovrium/commit/c979c104a38a22ef49ded7d81b4ab053d86f1150))
337
- * implement API-AUTH-API-KEYS-CREATE-005 ([#6217](https://github.com/sovrium/sovrium/issues/6217)) ([e4b92fc](https://github.com/sovrium/sovrium/commit/e4b92fca065139a0b7be3850dfbde86d2e663aa8))
338
- * implement API-AUTH-API-KEYS-DELETE-001 ([#6229](https://github.com/sovrium/sovrium/issues/6229)) ([de13a27](https://github.com/sovrium/sovrium/commit/de13a2762a4a01123f14a3d1933feb63460da20e))
339
- * implement API-AUTH-API-KEYS-DELETE-003 ([#6231](https://github.com/sovrium/sovrium/issues/6231)) ([0592be5](https://github.com/sovrium/sovrium/commit/0592be51fab7238940ad7643c238372dd874a9bb))
340
- * implement API-AUTH-API-KEYS-DELETE-004 ([#6232](https://github.com/sovrium/sovrium/issues/6232)) ([d460251](https://github.com/sovrium/sovrium/commit/d4602516ab0498170a4435fe06129dff8c91a1c5))
341
- * implement API-AUTH-API-KEYS-DELETE-005 ([#6233](https://github.com/sovrium/sovrium/issues/6233)) ([6227104](https://github.com/sovrium/sovrium/commit/622710472018daf8175afea97c55102afefc5452))
342
- * implement API-AUTH-API-KEYS-DELETE-006 ([#6234](https://github.com/sovrium/sovrium/issues/6234)) ([ff77057](https://github.com/sovrium/sovrium/commit/ff7705770c1cab05f3cefe1d356d799cbcfd1ceb))
343
- * implement API-AUTH-API-KEYS-DELETE-EXPIRED-002 ([#6236](https://github.com/sovrium/sovrium/issues/6236)) ([a05c514](https://github.com/sovrium/sovrium/commit/a05c5143688a22428f26e624887d4381edeb38d1))
344
- * implement API-AUTH-API-KEYS-DELETE-EXPIRED-003 ([#6237](https://github.com/sovrium/sovrium/issues/6237)) ([4e4f284](https://github.com/sovrium/sovrium/commit/4e4f284cd0baf6483ace7efdb07e1bde3295c4ec))
345
- * implement API-AUTH-API-KEYS-DELETE-EXPIRED-004 - return 401 when not authenticated ([#6238](https://github.com/sovrium/sovrium/issues/6238)) ([5606df7](https://github.com/sovrium/sovrium/commit/5606df7649f8b23dc0d07a4e7cbaa454cb66ba01))
346
- * implement API-AUTH-CHANGE-PASSWORD-002 and API-AUTH-REVOKE-SESSION-001 ([9e6889e](https://github.com/sovrium/sovrium/commit/9e6889ee5bf675f1001d0cc6b628d031c0952383))
347
- * implement API-AUTH-DISABLED-001 ([#6208](https://github.com/sovrium/sovrium/issues/6208)) ([3735a61](https://github.com/sovrium/sovrium/commit/3735a615f87ee8c2faecccb72128a1ae04c539bd))
348
- * implement API-AUTH-DISABLED-004 - conditional auth plugin registration ([#6211](https://github.com/sovrium/sovrium/issues/6211)) ([2b6bed5](https://github.com/sovrium/sovrium/commit/2b6bed5ebf1893cce2a69aab3bf36e17494f9907))
349
- * implement API-AUTH-ENFORCE-ADMIN-003 ([#6225](https://github.com/sovrium/sovrium/issues/6225)) ([e6a2d04](https://github.com/sovrium/sovrium/commit/e6a2d04c91a289699d00404a4655091bbc6e2f52))
350
- * implement API-AUTH-ENFORCE-ADMIN-004 ([#6222](https://github.com/sovrium/sovrium/issues/6222)) ([283fd29](https://github.com/sovrium/sovrium/commit/283fd29c6df12699887ae881be26670df287909a))
351
- * implement API-AUTH-ENFORCE-ADMIN-004 ([#6223](https://github.com/sovrium/sovrium/issues/6223)) ([6288c31](https://github.com/sovrium/sovrium/commit/6288c318967fbbd8210e4f21b6dd50772d5ffd43))
352
- * implement API-AUTH-ENFORCE-ADMIN-007 - prevent banned admin from accessing admin endpoints ([#6226](https://github.com/sovrium/sovrium/issues/6226)) ([8e9f8b3](https://github.com/sovrium/sovrium/commit/8e9f8b37a801f80bcb87806ed55105f979b39ccb))
353
- * implement API-AUTH-ENFORCE-ADMIN-008 ([#6227](https://github.com/sovrium/sovrium/issues/6227)) ([1b024c1](https://github.com/sovrium/sovrium/commit/1b024c10569e6e010a035bff8f63ac012dc56ca9))
354
- * implement API-AUTH-ENFORCE-ADMIN-009 ([#6228](https://github.com/sovrium/sovrium/issues/6228)) ([f5de6e4](https://github.com/sovrium/sovrium/commit/f5de6e4ef51a30404e0ab17ca05924dc44fbf2b0))
355
- * implement API-AUTH-ENFORCE-AUTHZ-001 - prevent horizontal privilege escalation ([#6520](https://github.com/sovrium/sovrium/issues/6520)) ([80fdc9d](https://github.com/sovrium/sovrium/commit/80fdc9d2006d1cff4f96a892c268cc65a45f2263))
356
- * implement API-AUTH-ENFORCE-AUTHZ-003 - organization isolation enforcement ([#6522](https://github.com/sovrium/sovrium/issues/6522)) ([4e65d29](https://github.com/sovrium/sovrium/commit/4e65d2999ce8861dc98c210b5cb7e803fbf00915))
357
- * implement API-AUTH-ENFORCE-AUTHZ-006 - prevent access via modified JWT claims ([#6524](https://github.com/sovrium/sovrium/issues/6524)) ([fbfbedb](https://github.com/sovrium/sovrium/commit/fbfbedba1ef2a620831a940d9a859360984e25bf))
358
- * implement API-AUTH-ENFORCE-AUTHZ-007 ([#6525](https://github.com/sovrium/sovrium/issues/6525)) ([ada7700](https://github.com/sovrium/sovrium/commit/ada770098f26bb6aede6bf245494654140e96791))
359
- * implement API-AUTH-ENFORCE-AUTHZ-008 ([5400995](https://github.com/sovrium/sovrium/commit/5400995d43d7dfb9349c3de50a863cee5f148d53))
360
- * implement API-AUTH-ENFORCE-AUTHZ-008 ([#6528](https://github.com/sovrium/sovrium/issues/6528)) ([70d92a5](https://github.com/sovrium/sovrium/commit/70d92a540b87399fe02d00e6382440715b2ff150))
361
- * implement API-AUTH-ENFORCE-AUTHZ-009 - prevent cross-organization access to table records ([#6527](https://github.com/sovrium/sovrium/issues/6527)) ([6992360](https://github.com/sovrium/sovrium/commit/69923602eb6dce45ef9d3dd059f8512575fabab8))
362
- * implement API-AUTH-ENFORCE-AUTHZ-010 ([#6533](https://github.com/sovrium/sovrium/issues/6533)) ([cef1d31](https://github.com/sovrium/sovrium/commit/cef1d3164c5adf170a170941e575fc7bc52e55c0))
363
- * implement API-AUTH-ENFORCE-SESSION-001 session isolation ([#6537](https://github.com/sovrium/sovrium/issues/6537)) ([c83b061](https://github.com/sovrium/sovrium/commit/c83b061e314e3c336f101003957cde96e40d449e))
364
- * implement API-AUTH-ENFORCE-SESSION-002 ([#6538](https://github.com/sovrium/sovrium/issues/6538)) ([ab0da88](https://github.com/sovrium/sovrium/commit/ab0da887960468709609cdef287b4fee05ae6500))
365
- * implement API-AUTH-ENFORCE-SESSION-003 ([#6539](https://github.com/sovrium/sovrium/issues/6539)) ([751e287](https://github.com/sovrium/sovrium/commit/751e2876f482a56ede2100621a0e6db5223a0f77))
366
- * implement API-AUTH-ENFORCE-SESSION-004 ([#6540](https://github.com/sovrium/sovrium/issues/6540)) ([1d078d6](https://github.com/sovrium/sovrium/commit/1d078d64a35466a5928a545fda0c565b7431713b))
367
- * implement API-AUTH-ENFORCE-SESSION-005 ([#6541](https://github.com/sovrium/sovrium/issues/6541)) ([bd49c19](https://github.com/sovrium/sovrium/commit/bd49c198e89151f4c21bd4532c5fc70089299d2e))
368
- * implement API-AUTH-ENFORCE-SESSION-006 ([#6542](https://github.com/sovrium/sovrium/issues/6542)) ([e554498](https://github.com/sovrium/sovrium/commit/e5544981945d98efd90a435627385d7b2c3381c3))
369
- * implement API-AUTH-ENFORCE-SESSION-007 ([#6543](https://github.com/sovrium/sovrium/issues/6543)) ([033c5fb](https://github.com/sovrium/sovrium/commit/033c5fb6eb2548887f0535a6e323a8fb0121fd23))
370
- * implement API-AUTH-FORGET-PASSWORD-001 ([1f0c350](https://github.com/sovrium/sovrium/commit/1f0c350adabaef284b69d36edc7d87253d584eb9))
371
- * implement API-AUTH-MAGIC-LINK-SEND-005 ([175a9c0](https://github.com/sovrium/sovrium/commit/175a9c08b2704275e28e967898967a0607f98d67))
372
- * implement API-AUTH-MAGIC-LINK-VERIFY-005 ([bc77ee7](https://github.com/sovrium/sovrium/commit/bc77ee75b30f36963e19e916538dc0886334521e))
373
- * implement API-AUTH-ORG-ACCEPT-INVITATION-001 ([2298871](https://github.com/sovrium/sovrium/commit/2298871b356ef5d67cbe20ae8bb1add6acb666c1))
374
- * implement API-AUTH-ORG-DYNAMIC-ROLE-DELETE-005 ([6a5ff6f](https://github.com/sovrium/sovrium/commit/6a5ff6fcd1798a5babb7a44b5b70b397dace849f))
375
- * implement API-AUTH-ORG-DYNAMIC-ROLE-UPDATE-005 ([cd31e83](https://github.com/sovrium/sovrium/commit/cd31e8365c15c5d0cf009eba66c3204054331b49))
376
- * implement API-AUTH-ORG-GET-ORGANIZATION-001 ([10f42dd](https://github.com/sovrium/sovrium/commit/10f42ddac4421341ebaec0fd19eb17be22390306))
377
- * implement API-AUTH-ORG-INVITE-MEMBER-002 ([a629695](https://github.com/sovrium/sovrium/commit/a62969540d9e504bcfa961e92d966de56a0e1569))
378
- * implement API-AUTH-ORG-LIST-INVITATIONS-003 ([f3b8c73](https://github.com/sovrium/sovrium/commit/f3b8c738e09a530a76fc85f10052c688fd9c3aab))
379
- * implement API-AUTH-ORG-LIST-MEMBERS-001 ([c140121](https://github.com/sovrium/sovrium/commit/c140121c9267791cec776d4619962b2a32ef14f7))
380
- * implement API-AUTH-ORG-LIST-ORGANIZATIONS-002 ([60e5508](https://github.com/sovrium/sovrium/commit/60e55080a400e6e29af6a8e0d3cf4c23285639ee))
381
- * implement API-AUTH-ORG-OPT-LEAVE-002 ([65ec24d](https://github.com/sovrium/sovrium/commit/65ec24d36cfaf2c896b3edab3b082ae660353782))
382
- * implement API-AUTH-ORG-REJECT-INVITATION-002 ([9b3725f](https://github.com/sovrium/sovrium/commit/9b3725f2f9b62ecd57adc9c33b16b7af013842de))
383
- * implement API-AUTH-ORG-SET-ACTIVE-ORGANIZATION-001 ([#6564](https://github.com/sovrium/sovrium/issues/6564)) ([6035af2](https://github.com/sovrium/sovrium/commit/6035af2e784dc44c39bd79769fa14df9ee31577b))
384
- * implement API-AUTH-ORG-SET-ACTIVE-ORGANIZATION-003 ([7b76ce7](https://github.com/sovrium/sovrium/commit/7b76ce7857d7402787029f2bac6c847dfb6ba07e))
385
- * implement API-AUTH-ORG-SET-ACTIVE-ORGANIZATION-004 ([#6579](https://github.com/sovrium/sovrium/issues/6579)) ([a723d42](https://github.com/sovrium/sovrium/commit/a723d423e1b7372d28425705562d2d4b49d8e645))
386
- * implement API-AUTH-ORG-TEAMS-ADD-MEMBER-001 ([#6589](https://github.com/sovrium/sovrium/issues/6589)) ([24b274d](https://github.com/sovrium/sovrium/commit/24b274da3cc54c2e0eb057e9d0ff3aba81e38932))
387
- * implement API-AUTH-ORG-TEAMS-ADD-MEMBER-002 ([#6583](https://github.com/sovrium/sovrium/issues/6583)) ([62800b8](https://github.com/sovrium/sovrium/commit/62800b82209e7bd205a39bff7d7c851e2a3b3c11))
388
- * implement API-AUTH-ORG-TEAMS-ADD-MEMBER-003 ([#6585](https://github.com/sovrium/sovrium/issues/6585)) ([db5b9ae](https://github.com/sovrium/sovrium/commit/db5b9aeba49ce9ddc1c3a4932bac171b4278b6d9))
389
- * implement API-AUTH-ORG-TEAMS-ADD-MEMBER-004 ([#6584](https://github.com/sovrium/sovrium/issues/6584)) ([b8ca8b2](https://github.com/sovrium/sovrium/commit/b8ca8b27b2202c5369b4527e286cac9542c0302f))
390
- * implement API-AUTH-ORG-TEAMS-ADD-MEMBER-005 ([#6588](https://github.com/sovrium/sovrium/issues/6588)) ([ac630f3](https://github.com/sovrium/sovrium/commit/ac630f3648f5cbd6973f99953ab73d98c0bbfea6))
391
- * implement API-AUTH-ORG-TEAMS-ADD-MEMBER-006 ([#6586](https://github.com/sovrium/sovrium/issues/6586)) ([ca825fe](https://github.com/sovrium/sovrium/commit/ca825fe475a61099368cdd08bdcfce3be222ece4)), closes [#6292](https://github.com/sovrium/sovrium/issues/6292)
392
- * implement API-AUTH-ORG-TEAMS-GET-ACTIVE-005 ([3bc0243](https://github.com/sovrium/sovrium/commit/3bc0243edc4d6b8295e9680d3496b568b7db2bc6))
393
- * implement API-AUTH-ORG-TEAMS-LIST-MEMBERS-004 ([e8940b8](https://github.com/sovrium/sovrium/commit/e8940b86d433f9a250989af8721e63b872dac53a))
394
- * implement API-AUTH-ORG-TEAMS-LIST-MEMBERS-006 ([a38fb17](https://github.com/sovrium/sovrium/commit/a38fb176145108f822817c3fb374a1c6de2355f8))
395
- * implement API-AUTH-ORG-TEAMS-REMOVE-MEMBER-004 ([b0b4554](https://github.com/sovrium/sovrium/commit/b0b4554737830a601f7003b7d6b25b4be95f3c8a))
396
- * implement API-AUTH-ORG-TEAMS-SET-ACTIVE-004 ([dd517b3](https://github.com/sovrium/sovrium/commit/dd517b319be5f1e9a012ca692e3c0645454b02da))
397
- * implement API-AUTH-ORG-TEAMS-SET-ACTIVE-006 ([9089cb5](https://github.com/sovrium/sovrium/commit/9089cb571f59114fa6aa499db66619cc7701be26))
398
- * implement API-AUTH-REVOKE-OTHER-SESSIONS-006 ([43a43a4](https://github.com/sovrium/sovrium/commit/43a43a438cf4e50796d219b756b828cfcf8cf496))
399
- * implement API-AUTH-SIGN-UP-EMAIL-014 ([5269d8b](https://github.com/sovrium/sovrium/commit/5269d8bdc978484366eb1a1eb51f4d87fb58d538))
400
- * implement API-AUTH-TABLES-ROLE-005 ([5b67109](https://github.com/sovrium/sovrium/commit/5b67109117c2f134df2c78089396b81df3be7223))
401
- * implement API-AUTH-TWO-FACTOR-ENABLE-005 ([8e4d4ad](https://github.com/sovrium/sovrium/commit/8e4d4ad237e8e5b44d3b71a59a63573f27ae873f))
402
- * implement API-SECURITY-HEADERS-006 ([c375ba8](https://github.com/sovrium/sovrium/commit/c375ba8fe2b09e2ef1564f0cf7bb7964283eae61))
403
- * implement API-SECURITY-SESSION-001 ([c68dda5](https://github.com/sovrium/sovrium/commit/c68dda5d7abccc8a58a3ec7178a05cb849ee3eb4))
404
- * implement API-SECURITY-SQLI-001 ([28b96ce](https://github.com/sovrium/sovrium/commit/28b96ce73d2ae016fe276b53daa3d8df6ffa1df0))
405
- * implement API-SECURITY-XSS-003 ([b6c3be6](https://github.com/sovrium/sovrium/commit/b6c3be655bb49c74f91bf92c47f587ea9d47e284))
406
- * implement API-TABLES-DISABLED-001 - conditional tables routes ([#6590](https://github.com/sovrium/sovrium/issues/6590)) ([3bb30b5](https://github.com/sovrium/sovrium/commit/3bb30b5d82c722731a87f62f7d0565fb42118888))
407
- * implement API-TABLES-GET-001 ([33ac617](https://github.com/sovrium/sovrium/commit/33ac6175644e32cd4e8b51559fbe9c0b41eb2d96))
408
- * implement API-TABLES-GET-003 ([#6743](https://github.com/sovrium/sovrium/issues/6743)) ([8889b04](https://github.com/sovrium/sovrium/commit/8889b0494ccc30041180f6a61fcd82d86962a6c1))
409
- * implement API-TABLES-GET-004 - table-level read permission check ([#6595](https://github.com/sovrium/sovrium/issues/6595)) ([33b43e7](https://github.com/sovrium/sovrium/commit/33b43e71653f8a7cfc1d4e10adbea73a4d60bc6a))
410
- * implement API-TABLES-GET-005 ([#6596](https://github.com/sovrium/sovrium/issues/6596)) ([85e67de](https://github.com/sovrium/sovrium/commit/85e67de35998d43edcf7d4ecb1e3a3de72e962f1))
411
- * implement API-TABLES-GET-006 ([#6597](https://github.com/sovrium/sovrium/issues/6597)) ([43a337a](https://github.com/sovrium/sovrium/commit/43a337ae65033efed65c4d8e407b8ced0e84d3f3))
412
- * implement API-TABLES-LIST-001 ([#6744](https://github.com/sovrium/sovrium/issues/6744)) ([8749e93](https://github.com/sovrium/sovrium/commit/8749e9301603b762d989542fb4b9a1339bc7a2c8))
413
- * implement API-TABLES-LIST-002 ([6b0caeb](https://github.com/sovrium/sovrium/commit/6b0caebd75b3d5de94c3aa161e3e0fc76952ce98))
414
- * implement API-TABLES-LIST-003 ([6cb22f9](https://github.com/sovrium/sovrium/commit/6cb22f96e820b2aa469a1dc535308ddfcf4aa3c6))
415
- * implement API-TABLES-LIST-004 - return 403 when user lacks list-tables permission ([#6598](https://github.com/sovrium/sovrium/issues/6598)) ([f56dfe8](https://github.com/sovrium/sovrium/commit/f56dfe8944fe0c2111c5079a4781baed5e03df6e))
416
- * implement API-TABLES-LIST-005 ([#6599](https://github.com/sovrium/sovrium/issues/6599)) ([5664d95](https://github.com/sovrium/sovrium/commit/5664d95690b0e462c5c486ed6ff11c205bb2fb14))
417
- * implement API-TABLES-PERMISSIONS-BULK-001 ([#6603](https://github.com/sovrium/sovrium/issues/6603)) ([1272199](https://github.com/sovrium/sovrium/commit/12721995d7b73b368b102ce7a4cdc6d6f64c6cd0))
418
- * implement API-TABLES-PERMISSIONS-BULK-002 ([#6601](https://github.com/sovrium/sovrium/issues/6601)) ([177d288](https://github.com/sovrium/sovrium/commit/177d28885661163d31cac454c1ddfa5b1692df8e))
419
- * implement API-TABLES-PERMISSIONS-BULK-003 ([#6602](https://github.com/sovrium/sovrium/issues/6602)) ([566c709](https://github.com/sovrium/sovrium/commit/566c70940e4ee2956675280f4887afa1aec02e89))
420
- * implement API-TABLES-PERMISSIONS-BULK-004 ([#6605](https://github.com/sovrium/sovrium/issues/6605)) ([26ed048](https://github.com/sovrium/sovrium/commit/26ed048947792903fd5e7a4b636ec876a446b023))
421
- * implement API-TABLES-PERMISSIONS-BULK-005 ([#6604](https://github.com/sovrium/sovrium/issues/6604)) ([24a1ef3](https://github.com/sovrium/sovrium/commit/24a1ef3368d68831c81c8f1178d9d8c7139784e5))
422
- * implement API-TABLES-PERMISSIONS-BULK-006 ([#6607](https://github.com/sovrium/sovrium/issues/6607)) ([42fb697](https://github.com/sovrium/sovrium/commit/42fb69766b36307ffd82faee62258261e3921ab2))
423
- * implement API-TABLES-PERMISSIONS-BULK-007 - bulk update with permissions ([#6606](https://github.com/sovrium/sovrium/issues/6606)) ([50f752c](https://github.com/sovrium/sovrium/commit/50f752c7cd3b2fb16415a2f996fcf7b91b31ece2))
424
- * implement API-TABLES-PERMISSIONS-CHECK-001 ([#6745](https://github.com/sovrium/sovrium/issues/6745)) ([29b9b48](https://github.com/sovrium/sovrium/commit/29b9b48842ccd0979f08e83e78df3ec6d87a5e23))
425
- * implement API-TABLES-PERMISSIONS-CHECK-002 ([#6746](https://github.com/sovrium/sovrium/issues/6746)) ([39e4fad](https://github.com/sovrium/sovrium/commit/39e4faddaf835e44b9de077958df67581d74c98b))
426
- * implement API-TABLES-PERMISSIONS-CHECK-003 ([8cb291f](https://github.com/sovrium/sovrium/commit/8cb291fd2cbf9550956ece0e4be493ce1ae1347c))
427
- * implement API-TABLES-PERMISSIONS-CHECK-004 ([#6747](https://github.com/sovrium/sovrium/issues/6747)) ([d1d87ca](https://github.com/sovrium/sovrium/commit/d1d87ca0e626c844d7853326f0703d8b5ffcbfd4))
428
- * implement API-TABLES-PERMISSIONS-CHECK-005 ([#6748](https://github.com/sovrium/sovrium/issues/6748)) ([1e7285a](https://github.com/sovrium/sovrium/commit/1e7285a8692bc679e160d651700061601bdca488))
429
- * implement API-TABLES-PERMISSIONS-CONDITIONS-001 ([#6608](https://github.com/sovrium/sovrium/issues/6608)) ([392e3f7](https://github.com/sovrium/sovrium/commit/392e3f7c4f91f2d5a8e642ca2f347abaf6ef4d94))
430
- * implement API-TABLES-PERMISSIONS-CONDITIONS-004 ([#6613](https://github.com/sovrium/sovrium/issues/6613)) ([1213260](https://github.com/sovrium/sovrium/commit/1213260dd35dfb1bdd4a21cd4c1034cb20ba2f2a))
431
- * implement API-TABLES-PERMISSIONS-CONDITIONS-005 ([#6614](https://github.com/sovrium/sovrium/issues/6614)) ([4550cf4](https://github.com/sovrium/sovrium/commit/4550cf4d733e63e9d691415ace2eaac026ef74bd))
432
- * implement API-TABLES-PERMISSIONS-CONDITIONS-006 (custom condition with NULL handling) ([#6615](https://github.com/sovrium/sovrium/issues/6615)) ([5a06432](https://github.com/sovrium/sovrium/commit/5a06432b34dd984f92ccaa8660077453839cb361))
433
- * implement API-TABLES-PERMISSIONS-CONDITIONS-007 ([#6616](https://github.com/sovrium/sovrium/issues/6616)) ([cac2f04](https://github.com/sovrium/sovrium/commit/cac2f040c1aaae2ef7b635cbbeca3d60619859f4))
434
- * implement API-TABLES-PERMISSIONS-FIELD-001 ([#6618](https://github.com/sovrium/sovrium/issues/6618)) ([cb956a1](https://github.com/sovrium/sovrium/commit/cb956a1bf1300466b1b72d10e12d361683c5d521))
435
- * implement API-TABLES-PERMISSIONS-FIELD-002 ([#6620](https://github.com/sovrium/sovrium/issues/6620)) ([a34da69](https://github.com/sovrium/sovrium/commit/a34da69d8b9941294fdf7e67440e434e1abd536f))
436
- * implement API-TABLES-PERMISSIONS-FIELD-003 ([#6622](https://github.com/sovrium/sovrium/issues/6622)) ([72cf892](https://github.com/sovrium/sovrium/commit/72cf892209be95be78d390c688a70e227ba20864))
437
- * implement API-TABLES-PERMISSIONS-FIELD-REGRESSION ([#6727](https://github.com/sovrium/sovrium/issues/6727)) ([19039de](https://github.com/sovrium/sovrium/commit/19039de98cff37661e6d22c672b8c25b39f75595))
438
- * implement API-TABLES-PERMISSIONS-INHERIT-003 ([#6723](https://github.com/sovrium/sovrium/issues/6723)) ([9a83057](https://github.com/sovrium/sovrium/commit/9a830578a111ff584ca18e8502ad9ef28106139b))
439
- * implement API-TABLES-PERMISSIONS-INHERIT-005 ([dc9f991](https://github.com/sovrium/sovrium/commit/dc9f991547068041aba9b0785e60e45d9b51480c))
440
- * implement API-TABLES-PERMISSIONS-INHERIT-006 ([#6741](https://github.com/sovrium/sovrium/issues/6741)) ([1d357c8](https://github.com/sovrium/sovrium/commit/1d357c83d205c31168169d260785aec95d4c1490))
441
- * implement API-TABLES-PERMISSIONS-INHERIT-REGRESSION ([#6756](https://github.com/sovrium/sovrium/issues/6756)) ([8494ee4](https://github.com/sovrium/sovrium/commit/8494ee4ff8d0140b438bf984da5d7334b3ad3222))
442
- * implement API-TABLES-PERMISSIONS-ORG-001 ([#6729](https://github.com/sovrium/sovrium/issues/6729)) ([baa3753](https://github.com/sovrium/sovrium/commit/baa3753cd3e52a013eff3bbca8cf3ec5f1c1529d))
443
- * implement API-TABLES-PERMISSIONS-ORG-002 ([9104dff](https://github.com/sovrium/sovrium/commit/9104dff1804546324c33d58969595b5bb5c4a292))
444
- * implement API-TABLES-PERMISSIONS-ORG-003 ([#6752](https://github.com/sovrium/sovrium/issues/6752)) ([bdcd27a](https://github.com/sovrium/sovrium/commit/bdcd27a771a7120ffdda1cd15145af11838bde33))
445
- * implement API-TABLES-PERMISSIONS-ORG-004 ([#6728](https://github.com/sovrium/sovrium/issues/6728)) ([822b558](https://github.com/sovrium/sovrium/commit/822b558dfd36586fbc457fd339976662687a26dd))
446
- * implement API-TABLES-PERMISSIONS-ORG-005 ([#6753](https://github.com/sovrium/sovrium/issues/6753)) ([b03564f](https://github.com/sovrium/sovrium/commit/b03564f4db8739333cd7c04424a75004deb8dea9))
447
- * implement API-TABLES-PERMISSIONS-RECORD-001 owner-based record filtering ([#6757](https://github.com/sovrium/sovrium/issues/6757)) ([f4a3981](https://github.com/sovrium/sovrium/commit/f4a3981a873a15147083c7268d77bb5004672156))
448
- * implement API-TABLES-PERMISSIONS-RECORD-002 ([#6758](https://github.com/sovrium/sovrium/issues/6758)) ([398e1e2](https://github.com/sovrium/sovrium/commit/398e1e2924ebd3fa73bbdbb61516542e2fc072f3))
449
- * implement API-TABLES-PERMISSIONS-RECORD-003 ([#6761](https://github.com/sovrium/sovrium/issues/6761)) ([be4bbc8](https://github.com/sovrium/sovrium/commit/be4bbc8466fa5ca99462bca832972f4e564c98a9))
450
- * implement API-TABLES-RECORDS-AUTHORSHIP-007 ([da7cc61](https://github.com/sovrium/sovrium/commit/da7cc613b1fd4641fb2b0d4999ac88d7893e8463))
451
- * implement API-TABLES-RECORDS-BATCH-DELETE-002 ([0fbd99d](https://github.com/sovrium/sovrium/commit/0fbd99d1e85633a7fda3e4db6bd292f3eea957f8))
452
- * implement API-TABLES-RECORDS-BATCH-DELETE-004 ([5edac3a](https://github.com/sovrium/sovrium/commit/5edac3acf4b8ae94d0e87521daf7c0c832d420b2))
453
- * implement API-TABLES-RECORDS-BATCH-PATCH-004 ([ed76c34](https://github.com/sovrium/sovrium/commit/ed76c346d32cdda1b8f732aebae558dd4214472a))
454
- * implement API-TABLES-RECORDS-BATCH-POST-004 ([14ce48d](https://github.com/sovrium/sovrium/commit/14ce48d981715e65ff33db5a7da3e095a93caa03))
455
- * implement API-TABLES-RECORDS-COMMENTS-CREATE-005 ([a54e44f](https://github.com/sovrium/sovrium/commit/a54e44f88257f32db70cd12a2b6c73bfe3f0ed08))
456
- * implement API-TABLES-RECORDS-COMMENTS-LIST-003 ([8513958](https://github.com/sovrium/sovrium/commit/85139589bd45ff63bb02621ac25508e430c21538))
457
- * implement API-TABLES-RECORDS-CREATE-001 ([#6768](https://github.com/sovrium/sovrium/issues/6768)) ([44f5111](https://github.com/sovrium/sovrium/commit/44f5111557dd38f82684e0a1d22100f2b89b8a52))
458
- * implement API-TABLES-RECORDS-CREATE-003 ([#6770](https://github.com/sovrium/sovrium/issues/6770)) ([9754875](https://github.com/sovrium/sovrium/commit/9754875147e5acf64240ebca824b4968492e058b))
459
- * implement API-TABLES-RECORDS-CREATE-004 ([#6771](https://github.com/sovrium/sovrium/issues/6771)) ([74ec82f](https://github.com/sovrium/sovrium/commit/74ec82fc7cb00dcfec03f504ca4a830f6bc8549c))
460
- * implement API-TABLES-RECORDS-CREATE-005 ([6330293](https://github.com/sovrium/sovrium/commit/6330293fc51f9b469772d6b17289fb8f1796b9db))
461
- * implement API-TABLES-RECORDS-CREATE-006 ([#6772](https://github.com/sovrium/sovrium/issues/6772)) ([bd03154](https://github.com/sovrium/sovrium/commit/bd03154a6d170a3cc65998964906d9599ab33e06))
462
- * implement API-TABLES-RECORDS-CREATE-007 ([#6773](https://github.com/sovrium/sovrium/issues/6773)) ([aa6847f](https://github.com/sovrium/sovrium/commit/aa6847f23a32e4dd426e80b37b2e2a9e54b8b465))
463
- * implement API-TABLES-RECORDS-CREATE-008 ([#6774](https://github.com/sovrium/sovrium/issues/6774)) ([37b1351](https://github.com/sovrium/sovrium/commit/37b135199aa12502dd32cbf211c67160a466656d))
464
- * implement API-TABLES-RECORDS-CREATE-009 ([#6775](https://github.com/sovrium/sovrium/issues/6775)) ([4075a6a](https://github.com/sovrium/sovrium/commit/4075a6ab7b1f1cbc06811481c291b8112cd598d8))
465
- * implement API-TABLES-RECORDS-CREATE-011 ([#6777](https://github.com/sovrium/sovrium/issues/6777)) ([fe1447d](https://github.com/sovrium/sovrium/commit/fe1447d3b5c0a4ab60cf6acc1689d8090f6a01bf))
466
- * implement API-TABLES-RECORDS-CREATE-012 ([#6778](https://github.com/sovrium/sovrium/issues/6778)) ([f19e21c](https://github.com/sovrium/sovrium/commit/f19e21c6c2096d9d7edb72ef4e2da016c1b80492))
467
- * implement API-TABLES-RECORDS-CREATE-013 ([#6779](https://github.com/sovrium/sovrium/issues/6779)) ([277df52](https://github.com/sovrium/sovrium/commit/277df528dcdb39d5eba533115e708dd228a3a4c3))
468
- * implement API-TABLES-RECORDS-CREATE-014 ([#6780](https://github.com/sovrium/sovrium/issues/6780)) ([ffebfb1](https://github.com/sovrium/sovrium/commit/ffebfb191b61b029fab289c5a20848d8b11ca9ae))
469
- * implement API-TABLES-RECORDS-CREATE-015 ([#6781](https://github.com/sovrium/sovrium/issues/6781)) ([65dc0de](https://github.com/sovrium/sovrium/commit/65dc0defa4ffcf12a0a1296fb6301265500cc482))
470
- * implement API-TABLES-RECORDS-CREATE-016 ([#6782](https://github.com/sovrium/sovrium/issues/6782)) ([0598e4b](https://github.com/sovrium/sovrium/commit/0598e4bf238273b80fedf41b4a1d37ae2bcd4079))
471
- * implement API-TABLES-RECORDS-DELETE-004 ([#6784](https://github.com/sovrium/sovrium/issues/6784)) ([a334d1b](https://github.com/sovrium/sovrium/commit/a334d1ba0bc8811a28cd088d8f19f78c797ebbb3))
472
- * implement API-TABLES-RECORDS-DELETE-005 ([#6785](https://github.com/sovrium/sovrium/issues/6785)) ([df3acdc](https://github.com/sovrium/sovrium/commit/df3acdc507d2fa6bed484b8455706160b2baf22e))
473
- * implement API-TABLES-RECORDS-DELETE-007 ([#6787](https://github.com/sovrium/sovrium/issues/6787)) ([b029938](https://github.com/sovrium/sovrium/commit/b029938514bf90b91e23b2863c2731e2f54538e5))
474
- * implement API-TABLES-RECORDS-DELETE-008 ([#6788](https://github.com/sovrium/sovrium/issues/6788)) ([b80f516](https://github.com/sovrium/sovrium/commit/b80f5160d0b34bb9b5ff7d9d6dbdec208ed41e26))
475
- * implement API-TABLES-RECORDS-DELETE-011 ([1493299](https://github.com/sovrium/sovrium/commit/14932992b5fe49bd042a978d5ffe741cba582558))
476
- * implement API-TABLES-RECORDS-DELETE-011 ([#6791](https://github.com/sovrium/sovrium/issues/6791)) ([53ce37c](https://github.com/sovrium/sovrium/commit/53ce37c7ac8491b0c26e997983d4ad18ff826ea5))
477
- * implement API-TABLES-RECORDS-DELETE-014 ([#6793](https://github.com/sovrium/sovrium/issues/6793)) ([cc0114b](https://github.com/sovrium/sovrium/commit/cc0114b47dffea83986cdac68dbe95413d1be060))
478
- * implement API-TABLES-RECORDS-DELETE-015 ([#6794](https://github.com/sovrium/sovrium/issues/6794)) ([af3758b](https://github.com/sovrium/sovrium/commit/af3758bf69a809b7c430f36dec5b3984f826423f))
479
- * implement API-TABLES-RECORDS-FORMAT-001 currency field display formatting ([#6795](https://github.com/sovrium/sovrium/issues/6795)) ([175df54](https://github.com/sovrium/sovrium/commit/175df54c07e9623c78cb8244fa87d1358400ec97))
480
- * implement API-TABLES-RECORDS-FORMAT-003 - currency formatting with decimal precision ([b9fba91](https://github.com/sovrium/sovrium/commit/b9fba91d9e8ea83b5c29ec7791a2a80eb7ab79e0))
481
- * implement API-TABLES-RECORDS-GET-002 ([766e9ed](https://github.com/sovrium/sovrium/commit/766e9edc4c7a3c06a98568d7fb55d9143a5b76a1))
482
- * implement API-TABLES-RECORDS-GET-003 ([287bceb](https://github.com/sovrium/sovrium/commit/287bcebe04019bb4ac9604447d4e5795a41c1ec2))
483
- * implement API-TABLES-RECORDS-GET-005 ([e0f6b9f](https://github.com/sovrium/sovrium/commit/e0f6b9f79b5449d34eb39ea69941785bf29d7d93))
484
- * implement API-TABLES-RECORDS-LIST-001 ([910e4ce](https://github.com/sovrium/sovrium/commit/910e4ceb0654c3d9c4956b430a4eae1f26e83f99))
485
- * implement API-TABLES-RECORDS-LIST-003 ([737353c](https://github.com/sovrium/sovrium/commit/737353c7182722358ecdcb7c1256414d90f3dd14))
486
- * implement API-TABLES-RECORDS-LIST-013 ([5e0a744](https://github.com/sovrium/sovrium/commit/5e0a7445fdbb85f61faa816c1549f1d11d96042a))
487
- * implement API-TABLES-RECORDS-RESTORE-002 ([e3ef19e](https://github.com/sovrium/sovrium/commit/e3ef19ea3fe9be361d02d4747ba724c5b49bf075))
488
- * implement API-TABLES-RECORDS-RESTORE-004 ([39f3868](https://github.com/sovrium/sovrium/commit/39f3868f0ae7865df1bb332543f053f4fdc94ee9))
489
- * implement API-TABLES-RECORDS-UPDATE-002 ([e1adb67](https://github.com/sovrium/sovrium/commit/e1adb676af3550ffa7b98e5f49d0bef8aca5a736))
490
- * implement API-TABLES-RECORDS-UPDATE-003 ([0f0e110](https://github.com/sovrium/sovrium/commit/0f0e1101ec7ba0e93c4b1b8fe7b4ed4be25f62bd))
491
- * implement API-TABLES-RECORDS-UPSERT-003 ([6df2f3f](https://github.com/sovrium/sovrium/commit/6df2f3f0e3d3b08b6bd9efee9d6db231b437c26c))
492
- * implement API-TABLES-RECORDS-UPSERT-003 ([f721f86](https://github.com/sovrium/sovrium/commit/f721f86bd7472078487b1961f87208f7490c7bca))
493
- * implement API-TABLES-RECORDS-UPSERT-004 ([30a9ccb](https://github.com/sovrium/sovrium/commit/30a9ccb8c2de826fb6e95fbf272f028015788dcf))
494
- * implement API-TABLES-SESSION-CTX-INT-001 ([38971d2](https://github.com/sovrium/sovrium/commit/38971d26fcc1413b483f84450f251cf497fb8641))
495
- * implement API-TABLES-TRASH-002 ([4d6e894](https://github.com/sovrium/sovrium/commit/4d6e894f986a873f82204baf6afd81598528f05d))
496
- * implement APP-ANALYTICS-CONFIG-011 ([3dfcaf3](https://github.com/sovrium/sovrium/commit/3dfcaf3ec720189704ef3688c6e2eafb351638c9))
497
- * implement APP-ARRAY-FIELD-001 array field database schema ([6b2eb63](https://github.com/sovrium/sovrium/commit/6b2eb63a90cb4ad09807eb25f539694f217bede6))
498
- * implement APP-AUTH-ROLES-005 ([3741500](https://github.com/sovrium/sovrium/commit/3741500efe31b681ecd3c40c722c117b50efb0c1))
499
- * implement APP-AUTH-STRATEGIES-001 ([1e2e789](https://github.com/sovrium/sovrium/commit/1e2e7897d9ed0f558832addf552bd6ee5a4750ba))
500
- * implement APP-AUTONUMBER-FIELD-001 - PostgreSQL SERIAL support for autonumber fields ([b52a9c2](https://github.com/sovrium/sovrium/commit/b52a9c221eb4b61e897ecc03aa6182acca6d56ea))
501
- * implement APP-AUTONUMBER-FIELD-002 - auto-increment autonumber fields ([#3925](https://github.com/sovrium/sovrium/issues/3925)) ([9127663](https://github.com/sovrium/sovrium/commit/9127663e144a2b52ee3116f3298141a06bf40cae))
502
- * implement APP-BLOCKS-001 ([#1478](https://github.com/sovrium/sovrium/issues/1478)) ([8e6cf24](https://github.com/sovrium/sovrium/commit/8e6cf24ddc1167f5ef0ec93bd1ab2dfa9c2d8ee3))
503
- * implement APP-BLOCKS-004 test ([#1479](https://github.com/sovrium/sovrium/issues/1479)) ([4f74ca5](https://github.com/sovrium/sovrium/commit/4f74ca502ad9eeebaa3dfc7c3feffeb73a44731a))
504
- * implement APP-BLOCKS-005 - render blocks without content as visible inline-block elements ([#1480](https://github.com/sovrium/sovrium/issues/1480)) ([a17d8c6](https://github.com/sovrium/sovrium/commit/a17d8c699df5b70ac16f57dbbb7ad113a27630f1))
505
- * implement APP-BLOCKS-006 - reusable blocks across pages ([#1481](https://github.com/sovrium/sovrium/issues/1481)) ([d6487c4](https://github.com/sovrium/sovrium/commit/d6487c496743d15606e8109ae2ea0f74d1d75b70))
506
- * implement APP-BLOCKS-006 - reusable blocks across pages ([#1483](https://github.com/sovrium/sovrium/issues/1483)) ([e043858](https://github.com/sovrium/sovrium/commit/e043858d7f1497e11d03c96d26fc9b61d7b62718))
507
- * implement APP-BLOCKS-007 ([#1484](https://github.com/sovrium/sovrium/issues/1484)) ([babf016](https://github.com/sovrium/sovrium/commit/babf016e9f6ab980616d9fe9528cae7d35e60323))
508
- * implement APP-BLOCKS-008 - validate block with props ([#1485](https://github.com/sovrium/sovrium/issues/1485)) ([c2c0e63](https://github.com/sovrium/sovrium/commit/c2c0e63f323a79bd7d53a41bbd1fa4fdc8ed7539))
509
- * implement APP-BLOCKS-009 - render blocks with nested children ([#1486](https://github.com/sovrium/sovrium/issues/1486)) ([9b6778c](https://github.com/sovrium/sovrium/commit/9b6778c271233a2d402f9f1eb271cf42894a9cff))
510
- * implement APP-BLOCKS-010 ([#1487](https://github.com/sovrium/sovrium/issues/1487)) ([01b6947](https://github.com/sovrium/sovrium/commit/01b69478d378a9c42a4e7c86e361397dab594254))
511
- * implement APP-BLOCKS-011 ([#1489](https://github.com/sovrium/sovrium/issues/1489)) ([59e9a33](https://github.com/sovrium/sovrium/commit/59e9a33887c919e4056a2d3129c7f94616ced707))
512
- * implement APP-BLOCKS-012 - theme token substitution in blocks ([#1490](https://github.com/sovrium/sovrium/issues/1490)) ([35e8bfd](https://github.com/sovrium/sovrium/commit/35e8bfd9c6541f0cd98429874ab94c60125672f3))
513
- * implement APP-BLOCKS-BLOCK-001 ([#1642](https://github.com/sovrium/sovrium/issues/1642)) ([f545aa0](https://github.com/sovrium/sovrium/commit/f545aa0f6a6bc236e82628f594e5d9e72cc896de))
514
- * implement APP-BLOCKS-BLOCK-002 ([#1643](https://github.com/sovrium/sovrium/issues/1643)) ([1c3092c](https://github.com/sovrium/sovrium/commit/1c3092c1a26a124ba5933f717ce9d0220bbb865a))
515
- * implement APP-BLOCKS-BLOCK-003 ([#1644](https://github.com/sovrium/sovrium/issues/1644)) ([582f91e](https://github.com/sovrium/sovrium/commit/582f91eef5b28d65235a04ac2b22b3d1c0067fe9))
516
- * implement APP-BLOCKS-BLOCK-004 ([#1645](https://github.com/sovrium/sovrium/issues/1645)) ([7cee60b](https://github.com/sovrium/sovrium/commit/7cee60b539f2b6b47e90e81d5cacf30d1235213e))
517
- * implement APP-BLOCKS-BLOCK-005 ([#1646](https://github.com/sovrium/sovrium/issues/1646)) ([d37f8e4](https://github.com/sovrium/sovrium/commit/d37f8e48653cf7b78760d0197e9079189332cf36))
518
- * implement APP-BLOCKS-BLOCK-006 ([#1647](https://github.com/sovrium/sovrium/issues/1647)) ([3094448](https://github.com/sovrium/sovrium/commit/3094448eb93c620683c4c0343118f37cfd64f3bd))
519
- * implement APP-BLOCKS-BLOCK-006 ([#1648](https://github.com/sovrium/sovrium/issues/1648)) ([0c6ac58](https://github.com/sovrium/sovrium/commit/0c6ac580a0dd784844557e83326548dfd85e841a))
520
- * implement APP-BLOCKS-BLOCK-007 ([#1649](https://github.com/sovrium/sovrium/issues/1649)) ([2aebb96](https://github.com/sovrium/sovrium/commit/2aebb963b0300d0122ca4144c8316a14f82cb8e6))
521
- * implement APP-BLOCKS-BLOCK-007 ([#1650](https://github.com/sovrium/sovrium/issues/1650)) ([f98d385](https://github.com/sovrium/sovrium/commit/f98d385bf51ef6a9facb57efef0ebb7178a92990))
522
- * implement APP-BLOCKS-BLOCK-008 ([#1651](https://github.com/sovrium/sovrium/issues/1651)) ([2a46b63](https://github.com/sovrium/sovrium/commit/2a46b63cfc8c3e28e816fe752ea67655f8a66910))
523
- * implement APP-BLOCKS-BLOCK-009 ([#1652](https://github.com/sovrium/sovrium/issues/1652)) ([49ac39f](https://github.com/sovrium/sovrium/commit/49ac39f6279ec4f7899a29541240345469c4d8fa))
524
- * implement APP-BLOCKS-BLOCK-010 ([#1653](https://github.com/sovrium/sovrium/issues/1653)) ([1c36be0](https://github.com/sovrium/sovrium/commit/1c36be0f57deaafdaed0c904643402da91e3421e))
525
- * implement APP-BLOCKS-BLOCK-011 - pass blockName to ComponentRenderer for block references ([#1654](https://github.com/sovrium/sovrium/issues/1654)) ([7e52117](https://github.com/sovrium/sovrium/commit/7e521172e567b571a727dddb2de5516d5cfea2ec))
526
- * implement APP-BLOCKS-BLOCK-011 - pass blockName to ComponentRenderer for block references ([#1655](https://github.com/sovrium/sovrium/issues/1655)) ([605285c](https://github.com/sovrium/sovrium/commit/605285cd04067d4895f3418a4c53b99150e3c5cb))
527
- * implement APP-BLOCKS-BLOCK-012 - support partial variable substitution in block content ([#1656](https://github.com/sovrium/sovrium/issues/1656)) ([34d9efa](https://github.com/sovrium/sovrium/commit/34d9efac07659efc040c5abf9793e1525bbe8c6d))
528
- * implement APP-BLOCKS-BLOCK-REFERENCE-REGRESSION-001 ([#2255](https://github.com/sovrium/sovrium/issues/2255)) ([62a6bcc](https://github.com/sovrium/sovrium/commit/62a6bcc5fae403379c6a1feb061987ee6faad991))
529
- * implement APP-BLOCKS-CHILDREN-002 - render child element based on type ([#2262](https://github.com/sovrium/sovrium/issues/2262)) ([4aacee7](https://github.com/sovrium/sovrium/commit/4aacee7e504aea1bcfaa4ca7961ee085c1233946))
530
- * implement APP-BLOCKS-CHILDREN-003 ([#2263](https://github.com/sovrium/sovrium/issues/2263)) ([5a3157f](https://github.com/sovrium/sovrium/commit/5a3157fc902c75db7d3a440bd5a143b0b77467d5))
531
- * implement APP-BLOCKS-CHILDREN-004 ([#2264](https://github.com/sovrium/sovrium/issues/2264)) ([9ae36e0](https://github.com/sovrium/sovrium/commit/9ae36e069b43bfe33a3787f63bdebfa1303bb24f))
532
- * implement APP-BLOCKS-CHILDREN-005 ([#2265](https://github.com/sovrium/sovrium/issues/2265)) ([b2c9465](https://github.com/sovrium/sovrium/commit/b2c9465d9c31eefac4d1e1423fb1c142e7384643))
533
- * implement APP-BLOCKS-CHILDREN-006 ([#2275](https://github.com/sovrium/sovrium/issues/2275)) ([d0b847a](https://github.com/sovrium/sovrium/commit/d0b847a004f35dac51980f436b4b314bde45239e))
534
- * implement APP-BLOCKS-INTEGRATION-003 ([#2648](https://github.com/sovrium/sovrium/issues/2648)) ([4f9a298](https://github.com/sovrium/sovrium/commit/4f9a29851731f8b145ad03966abed844789318c2))
535
- * implement APP-BLOCKS-LANGUAGE-SWITCHER-001 ([4c6eb39](https://github.com/sovrium/sovrium/commit/4c6eb3991e71b30ab63d1cd1fb6a3fad7ff64f6f))
536
- * implement APP-BLOCKS-LANGUAGE-SWITCHER-001 ([#2658](https://github.com/sovrium/sovrium/issues/2658)) ([2143bb7](https://github.com/sovrium/sovrium/commit/2143bb70140b1c0a21f0911f79ff2ee983fba177))
537
- * implement APP-BLOCKS-LANGUAGE-SWITCHER-001 ([#2659](https://github.com/sovrium/sovrium/issues/2659)) ([f4cc3ab](https://github.com/sovrium/sovrium/commit/f4cc3ab101fa2669544cf078e1160544e7d70347))
538
- * implement APP-BLOCKS-LANGUAGE-SWITCHER-002 ([#2660](https://github.com/sovrium/sovrium/issues/2660)) ([29ce09b](https://github.com/sovrium/sovrium/commit/29ce09bc0e4994434297de125ea36312e90130e6))
539
- * implement APP-BLOCKS-LANGUAGE-SWITCHER-002 ([#2662](https://github.com/sovrium/sovrium/issues/2662)) ([1276fb5](https://github.com/sovrium/sovrium/commit/1276fb5f93bd681890040a495f14c1acdb2bc017))
540
- * implement APP-BLOCKS-LANGUAGE-SWITCHER-003 ([#2663](https://github.com/sovrium/sovrium/issues/2663)) ([3f76a3a](https://github.com/sovrium/sovrium/commit/3f76a3af509a53610e38cbe0daf312aa75c56d53))
541
- * implement APP-BLOCKS-LANGUAGE-SWITCHER-REGRESSION-001 ([#2664](https://github.com/sovrium/sovrium/issues/2664)) ([446c39f](https://github.com/sovrium/sovrium/commit/446c39f3adb7cd93cffec716bb8777f7c5f2b6e0))
542
- * implement APP-BLOCKS-LANGUAGE-SWITCHER-REGRESSION-001 ([#2666](https://github.com/sovrium/sovrium/issues/2666)) ([d4b29af](https://github.com/sovrium/sovrium/commit/d4b29afed4d30f418bb30a27ed707de3902d6d35))
543
- * implement APP-BLOCKS-PROPS-004 ([#2912](https://github.com/sovrium/sovrium/issues/2912)) ([6aae130](https://github.com/sovrium/sovrium/commit/6aae130b0cf94024f02c84a29205b94b02cdf508))
544
- * implement APP-BLOCKS-PROPS-006 ([#2913](https://github.com/sovrium/sovrium/issues/2913)) ([e151fef](https://github.com/sovrium/sovrium/commit/e151fefb066e36361727cc1466d498d3e2781d60))
545
- * implement APP-BLOCKS-PROPS-006 ([#2914](https://github.com/sovrium/sovrium/issues/2914)) ([b288d10](https://github.com/sovrium/sovrium/commit/b288d10626bbf2537270f0d76e5bdad599c981a7))
546
- * implement APP-BLOCKS-PROPS-007 ([#2915](https://github.com/sovrium/sovrium/issues/2915)) ([a0f85ec](https://github.com/sovrium/sovrium/commit/a0f85ecddac42470af9a192c24cfbee1c3048f99))
547
- * implement APP-BLOCKS-PROPS-012 - translation tokens in block children ([#2918](https://github.com/sovrium/sovrium/issues/2918)) ([26bac77](https://github.com/sovrium/sovrium/commit/26bac77955b042259100d1fac3de0e170fcfd08a))
548
- * implement APP-BLOCKS-PROPS-013 ([#2919](https://github.com/sovrium/sovrium/issues/2919)) ([5a155a9](https://github.com/sovrium/sovrium/commit/5a155a9402922c8e398c5f07f461b9ffd6352907))
549
- * implement APP-BLOCKS-PROPS-014 ([#2920](https://github.com/sovrium/sovrium/issues/2920)) ([ae65489](https://github.com/sovrium/sovrium/commit/ae654894f4a294f7495b835df1cc3cf8abc45d8b))
550
- * implement APP-BLOCKS-PROPS-014 ([#2921](https://github.com/sovrium/sovrium/issues/2921)) ([99768ec](https://github.com/sovrium/sovrium/commit/99768ec2e326d5d3ec0e6a55b2b3637dcf85a117))
551
- * implement APP-BLOCKS-REFERENCE-006 ([#2935](https://github.com/sovrium/sovrium/issues/2935)) ([c7911b4](https://github.com/sovrium/sovrium/commit/c7911b425f4d942964ee8312bc9d460b2320c29e))
552
- * implement APP-BLOCKS-REFERENCE-008 ([#2936](https://github.com/sovrium/sovrium/issues/2936)) ([3d9ad95](https://github.com/sovrium/sovrium/commit/3d9ad9593259dd9e52ec09fdc1cf270e9d1cdb5b))
553
- * implement APP-BLOCKS-REFERENCE-011 ([#2937](https://github.com/sovrium/sovrium/issues/2937)) ([bee1177](https://github.com/sovrium/sovrium/commit/bee117704045a1334b19b5699d2d793721d5bab2))
554
- * implement APP-BLOCKS-REFERENCE-011 ([#2938](https://github.com/sovrium/sovrium/issues/2938)) ([f087485](https://github.com/sovrium/sovrium/commit/f087485b0a5abb663e2a930a60e8c90376e03585))
555
- * implement APP-BLOCKS-REGRESSION-001 ([#2239](https://github.com/sovrium/sovrium/issues/2239)) ([ad3d5c7](https://github.com/sovrium/sovrium/commit/ad3d5c79fb47d0f74090d14f89f329829f76788e))
556
- * implement APP-LANGUAGES-001 - basic language switcher functionality ([#1505](https://github.com/sovrium/sovrium/issues/1505)) ([fb094d8](https://github.com/sovrium/sovrium/commit/fb094d82e326453045689c15b7e487c5d50e0b32))
557
- * implement APP-LANGUAGES-002 - enable language switching with dropdown UI ([#1507](https://github.com/sovrium/sovrium/issues/1507)) ([6eec527](https://github.com/sovrium/sovrium/commit/6eec5271563fc38168e26dfe769e0d3b846e1866))
558
- * implement APP-LANGUAGES-002 - language switcher as configurable block ([0036e4e](https://github.com/sovrium/sovrium/commit/0036e4e1516a9571f1c6677974fd772d94c9ccaf))
559
- * implement APP-LANGUAGES-003 - translation fallback support ([#2285](https://github.com/sovrium/sovrium/issues/2285)) ([1cc3568](https://github.com/sovrium/sovrium/commit/1cc356888dd213a17735ee8ea54f5fcf84c5f394))
560
- * implement APP-LANGUAGES-003 and cleanup DefaultHomePage.tsx ([9d9545d](https://github.com/sovrium/sovrium/commit/9d9545d2b66658a61b596a08964a80da48b188bc))
561
- * implement APP-LANGUAGES-004 - automatic browser language detection ([#1514](https://github.com/sovrium/sovrium/issues/1514)) ([16aeb7b](https://github.com/sovrium/sovrium/commit/16aeb7b540fa8c165f7a7a9a5d8159e312f675f5))
562
- * implement APP-LANGUAGES-005 ([#1515](https://github.com/sovrium/sovrium/issues/1515)) ([4035b84](https://github.com/sovrium/sovrium/commit/4035b8403bc08c1d924d0ddc210a1f20e4fa3335))
563
- * implement APP-LANGUAGES-007 ([#1517](https://github.com/sovrium/sovrium/issues/1517)) ([6b9f6cb](https://github.com/sovrium/sovrium/commit/6b9f6cb6055a8eccf4b560bc0924311da22d7ad2))
564
- * implement APP-LANGUAGES-008 - flip between LTR and RTL direction ([#1518](https://github.com/sovrium/sovrium/issues/1518)) ([ebbb4f9](https://github.com/sovrium/sovrium/commit/ebbb4f9835dba2bb2bd0a62cb4fd765b9677637f))
565
- * implement APP-LANGUAGES-009 - display languages with flags ([#1519](https://github.com/sovrium/sovrium/issues/1519)) ([9024e95](https://github.com/sovrium/sovrium/commit/9024e9566a118e665d23ba41ee259fa2735d02d9))
566
- * implement APP-LANGUAGES-010 - seamless multi-language UX ([#1520](https://github.com/sovrium/sovrium/issues/1520)) ([4e7ab31](https://github.com/sovrium/sovrium/commit/4e7ab319d9e2f6d9a1a1776604e9eb6fea2b1108))
567
- * implement APP-LANGUAGES-010 fallback indicator ([82a11ab](https://github.com/sovrium/sovrium/commit/82a11ab8ef4c52c90b99421f6328d862d93969d5))
568
- * implement APP-LANGUAGES-011 - validate default language in supported array ([#1521](https://github.com/sovrium/sovrium/issues/1521)) ([09e18ce](https://github.com/sovrium/sovrium/commit/09e18cec29a24faca775b1c3fe53f188ef6a83ba))
569
- * implement APP-LANGUAGES-012 ([#1522](https://github.com/sovrium/sovrium/issues/1522)) ([1269b83](https://github.com/sovrium/sovrium/commit/1269b838f7931871148127f2e38e01991ff60a40))
570
- * implement APP-LANGUAGES-013 ([#1524](https://github.com/sovrium/sovrium/issues/1524)) ([7b03532](https://github.com/sovrium/sovrium/commit/7b03532080e6beb0c42a785f714c014ad6579efe))
571
- * implement APP-LANGUAGES-014 ([#1525](https://github.com/sovrium/sovrium/issues/1525)) ([2d9d902](https://github.com/sovrium/sovrium/commit/2d9d902d1a90f204d6039ac01845be41a4c2fb60))
572
- * implement APP-LANGUAGES-014 ([#1526](https://github.com/sovrium/sovrium/issues/1526)) ([8bc547a](https://github.com/sovrium/sovrium/commit/8bc547ae26109f61d2a4e3a47ddb578b0b1123a1))
573
- * implement APP-LANGUAGES-015 ([#1527](https://github.com/sovrium/sovrium/issues/1527)) ([6f48782](https://github.com/sovrium/sovrium/commit/6f487824fd9fe46210829c18b653ad8469640774))
574
- * implement APP-LANGUAGES-016 translation fallback ([#1528](https://github.com/sovrium/sovrium/issues/1528)) ([43d9374](https://github.com/sovrium/sovrium/commit/43d9374f9cf51a432c85a255b50c8448b499a53a))
575
- * implement APP-LANGUAGES-018 namespaced translation keys ([#1529](https://github.com/sovrium/sovrium/issues/1529)) ([eb997d0](https://github.com/sovrium/sovrium/commit/eb997d07ffa4badecb44055c693e100958c5b334))
576
- * implement APP-LANGUAGES-019 ([#2296](https://github.com/sovrium/sovrium/issues/2296)) ([c61736b](https://github.com/sovrium/sovrium/commit/c61736b2ced3bae2d26d3f1a8e6fd9ffa9f20e12))
577
- * implement APP-LANGUAGES-020 - resolve translation tokens in component props during SSR ([#2297](https://github.com/sovrium/sovrium/issues/2297)) ([bf53a75](https://github.com/sovrium/sovrium/commit/bf53a7552b23c7272e29dbb32dbd33cb92813572))
578
- * implement APP-LANGUAGES-022 - resolve all translation tokens in HTML output ([#2300](https://github.com/sovrium/sovrium/issues/2300)) ([8de4e9d](https://github.com/sovrium/sovrium/commit/8de4e9dbf81ba2d5d22ca23ee1cd5fbda947494e))
579
- * implement APP-LANGUAGES-022 - resolve all translation tokens in HTML output ([#2301](https://github.com/sovrium/sovrium/issues/2301)) ([5b73fee](https://github.com/sovrium/sovrium/commit/5b73feeea2785070b98bdebd7b7eb31c79ed6f33))
580
- * implement APP-LANGUAGES-CONFIG-001 ([#2267](https://github.com/sovrium/sovrium/issues/2267)) ([abc3bec](https://github.com/sovrium/sovrium/commit/abc3becd576ae7de5423617183724eb8e3953b4c))
581
- * implement APP-LANGUAGES-CONFIG-002 RTL support ([#2268](https://github.com/sovrium/sovrium/issues/2268)) ([5f4e740](https://github.com/sovrium/sovrium/commit/5f4e740ba6210e962dd8dd52694f33d39390fa94))
582
- * implement APP-LANGUAGES-CONFIG-002 RTL support ([#2269](https://github.com/sovrium/sovrium/issues/2269)) ([90bf801](https://github.com/sovrium/sovrium/commit/90bf80102bd2b75bdddad259585dc738e8245434))
583
- * implement APP-LANGUAGES-CONFIG-003 ([ea65e39](https://github.com/sovrium/sovrium/commit/ea65e39301512934224f9f234499e90909a85ba4))
584
- * implement APP-LANGUAGES-CONFIG-003 - add language code display element ([4cee418](https://github.com/sovrium/sovrium/commit/4cee418d364a5000999ae25a7211c5a299906172))
585
- * implement APP-LANGUAGES-CONFIG-003 ([#2270](https://github.com/sovrium/sovrium/issues/2270)) ([11dc596](https://github.com/sovrium/sovrium/commit/11dc59630acbed4d5d013ca520aa2ad438843854))
586
- * implement APP-LANGUAGES-CONFIG-003 ([#2284](https://github.com/sovrium/sovrium/issues/2284)) ([65550b4](https://github.com/sovrium/sovrium/commit/65550b43e70a0a98242ed927df2cf9637600903d))
587
- * implement APP-LANGUAGES-CONFIG-004 ([#2273](https://github.com/sovrium/sovrium/issues/2273)) ([0d47f7d](https://github.com/sovrium/sovrium/commit/0d47f7dd969cbbc7f4dad95d96524dca61de8548))
588
- * implement APP-LANGUAGES-CONFIG-005 ([8f081dc](https://github.com/sovrium/sovrium/commit/8f081dc12d809d53646be187e71c15ce61aa1d19))
589
- * implement APP-LANGUAGES-CONFIG-005 ([#2274](https://github.com/sovrium/sovrium/issues/2274)) ([686043d](https://github.com/sovrium/sovrium/commit/686043db570e6f8e5e2595dca484b44f019b059f))
590
- * implement APP-LANGUAGES-CONFIG-006 ([#2271](https://github.com/sovrium/sovrium/issues/2271)) ([d782d16](https://github.com/sovrium/sovrium/commit/d782d162ff7830f6f0e16b83854ccc6866f17809))
591
- * implement APP-LANGUAGES-CONFIG-007 ([#2272](https://github.com/sovrium/sovrium/issues/2272)) ([982f376](https://github.com/sovrium/sovrium/commit/982f3762c66d3c8bc7e93df553f240e3381b6b42))
592
- * implement APP-LANGUAGES-CONFIG-008 ([#2278](https://github.com/sovrium/sovrium/issues/2278)) ([f428fab](https://github.com/sovrium/sovrium/commit/f428fabed46c3b15f7299e88c599fe401480cf9c))
593
- * implement APP-LANGUAGES-CONFIG-008 ([#2279](https://github.com/sovrium/sovrium/issues/2279)) ([a5fbace](https://github.com/sovrium/sovrium/commit/a5fbace4c4b1c7705a9ab9e340b436429886e76f))
594
- * implement APP-LANGUAGES-INTEGRATION-001 ([#2650](https://github.com/sovrium/sovrium/issues/2650)) ([563503b](https://github.com/sovrium/sovrium/commit/563503b0169429217588017ef109cd75ca901fa1))
595
- * implement APP-LANGUAGES-INTEGRATION-001 and fix language-switcher auto-injection ([#2286](https://github.com/sovrium/sovrium/issues/2286)) ([3782189](https://github.com/sovrium/sovrium/commit/3782189f8682bb9aa4fbe92a53aa8643045c283c))
596
- * implement APP-LANGUAGES-INTEGRATION-001 and remove language-switcher auto-injection ([136b0e7](https://github.com/sovrium/sovrium/commit/136b0e783bafb950de3f296b90a7cac1e17e5e61))
597
- * implement APP-LANGUAGES-INTEGRATION-002 ([fb74b48](https://github.com/sovrium/sovrium/commit/fb74b48577b70eeef65e36308af6d4b258a6de54))
598
- * implement APP-LANGUAGES-INTEGRATION-002 ([#2651](https://github.com/sovrium/sovrium/issues/2651)) ([d312ea5](https://github.com/sovrium/sovrium/commit/d312ea5612109438e876bf2b1fcfa5d46039696a))
599
- * implement APP-LANGUAGES-INTEGRATION-003 ([#2652](https://github.com/sovrium/sovrium/issues/2652)) ([086b7ab](https://github.com/sovrium/sovrium/commit/086b7ab6ae998c3751387c6ebffab17bdae93414))
600
- * implement APP-LANGUAGES-LANGUAGE-CONFIG-REGRESSION-001 (retry 1/3) ([#2675](https://github.com/sovrium/sovrium/issues/2675)) ([3c6e7b8](https://github.com/sovrium/sovrium/commit/3c6e7b816d5d96651250463eb84f0b4790f71808))
601
- * implement APP-PAGES-002 - validate pages with minimal configuration ([#1492](https://github.com/sovrium/sovrium/issues/1492)) ([ca04eb9](https://github.com/sovrium/sovrium/commit/ca04eb9894f3c0d50567c826f60d92eaaa79aa26))
602
- * implement APP-PAGES-003 - validate complete page configuration ([#1493](https://github.com/sovrium/sovrium/issues/1493)) ([5dff320](https://github.com/sovrium/sovrium/commit/5dff32037d49663d8be95cd045be6d4a824df8a3))
603
- * implement APP-PAGES-004 - accept root path for homepage ([#1494](https://github.com/sovrium/sovrium/issues/1494)) ([cd1db4e](https://github.com/sovrium/sovrium/commit/cd1db4eba70722643c8e755ff00b448ddf489014))
604
- * implement APP-PAGES-005 - accept nested URL paths ([#1495](https://github.com/sovrium/sovrium/issues/1495)) ([788a151](https://github.com/sovrium/sovrium/commit/788a151345066509aa2267881603703e304463fe))
605
- * implement APP-PAGES-006 - support direct component definitions with HTML heading tags ([#1496](https://github.com/sovrium/sovrium/issues/1496)) ([9b531ec](https://github.com/sovrium/sovrium/commit/9b531ecc1ffee5efb1a31d3ae083e6b4837012d0))
606
- * implement APP-PAGES-007 - support block references with $variable syntax ([#1497](https://github.com/sovrium/sovrium/issues/1497)) ([1d9e1e7](https://github.com/sovrium/sovrium/commit/1d9e1e79b8025aa88d5146fac4ca6f35e224a883))
607
- * implement APP-PAGES-008 - orchestrate global layout components (banner, navigation, footer) ([#1499](https://github.com/sovrium/sovrium/issues/1499)) ([d4299e0](https://github.com/sovrium/sovrium/commit/d4299e0510496b8e53823d60d86900ebeccff844))
608
- * implement APP-PAGES-008 and APP-PAGES-LAYOUT-003 ([427a495](https://github.com/sovrium/sovrium/commit/427a495e97a6176cd8b9196a323b6f43a90a6bbe))
609
- * implement APP-PAGES-009 - manage client-side scripts and features ([#1500](https://github.com/sovrium/sovrium/issues/1500)) ([aeaed26](https://github.com/sovrium/sovrium/commit/aeaed26740497544706041378df1b06a1262c522))
610
- * implement APP-PAGES-010 - support multiple page configurations ([#1501](https://github.com/sovrium/sovrium/issues/1501)) ([4eb4fdb](https://github.com/sovrium/sovrium/commit/4eb4fdbb047d2803d4e14e95b835ee64bfb88286))
611
- * implement APP-PAGES-011 - enable block reusability across pages via $ref ([#1503](https://github.com/sovrium/sovrium/issues/1503)) ([347f013](https://github.com/sovrium/sovrium/commit/347f01340bcdb02896ea971a0f98fd4a68d32d66))
612
- * implement APP-PAGES-012 - support complete metadata configuration beyond basic SEO ([#1504](https://github.com/sovrium/sovrium/issues/1504)) ([9efd10e](https://github.com/sovrium/sovrium/commit/9efd10e55caea28761c6cf36ec767695eaf94fc1))
613
- * implement APP-PAGES-ANALYTICS-002 - support 6 analytics providers ([#1823](https://github.com/sovrium/sovrium/issues/1823)) ([68aed21](https://github.com/sovrium/sovrium/commit/68aed21656b351cfe58ad8c0472722e35a56807b))
614
- * implement APP-PAGES-ANALYTICS-003 - enable/disable analytics providers ([#1824](https://github.com/sovrium/sovrium/issues/1824)) ([5b6475a](https://github.com/sovrium/sovrium/commit/5b6475a2352d04738b6b3f9adce12aa13620048b))
615
- * implement APP-PAGES-ANALYTICS-003 - enable/disable analytics providers ([#1825](https://github.com/sovrium/sovrium/issues/1825)) ([a4ae527](https://github.com/sovrium/sovrium/commit/a4ae527b6afeeea40dbbed5e6ec574057b7ee00f))
616
- * implement APP-PAGES-ANALYTICS-004 - load provider scripts ([#1826](https://github.com/sovrium/sovrium/issues/1826)) ([d5dde00](https://github.com/sovrium/sovrium/commit/d5dde006fc73dc4ecaaea5ff28acf9bfd45b42c8))
617
- * implement APP-PAGES-ANALYTICS-005 - load analytics scripts asynchronously ([#1827](https://github.com/sovrium/sovrium/issues/1827)) ([010fca1](https://github.com/sovrium/sovrium/commit/010fca11ef2b0787178558db83338c38780c22ba))
618
- * implement APP-PAGES-ANALYTICS-006 - execute provider initialization code ([#2183](https://github.com/sovrium/sovrium/issues/2183)) ([74c43ba](https://github.com/sovrium/sovrium/commit/74c43ba54878988e339d9f47ef0570d66b3dcb61))
619
- * implement APP-PAGES-ANALYTICS-007 - DNS prefetch for analytics providers ([#2184](https://github.com/sovrium/sovrium/issues/2184)) ([eba9240](https://github.com/sovrium/sovrium/commit/eba92405a0207c37a801384aae7e8001a713ca36))
620
- * implement APP-PAGES-ANALYTICS-007 ([#2186](https://github.com/sovrium/sovrium/issues/2186)) ([93ab8bc](https://github.com/sovrium/sovrium/commit/93ab8bc183ee23039495fa0b5ba04b86303335fa))
621
- * implement APP-PAGES-ANALYTICS-008 ([#2187](https://github.com/sovrium/sovrium/issues/2187)) ([f20ddbe](https://github.com/sovrium/sovrium/commit/f20ddbea7d14d47b2896f8ccc8cd8ea00afb773c))
622
- * implement APP-PAGES-ANALYTICS-009 ([#2188](https://github.com/sovrium/sovrium/issues/2188)) ([fd415dc](https://github.com/sovrium/sovrium/commit/fd415dcf4df6afd92ceb10998619e64262afa4b7))
623
- * implement APP-PAGES-ANALYTICS-009 ([#2190](https://github.com/sovrium/sovrium/issues/2190)) ([4e11e69](https://github.com/sovrium/sovrium/commit/4e11e69e9227c6b83bfb0e0c8ed39b3f086e296a))
624
- * implement APP-PAGES-ANALYTICS-010 ([#2189](https://github.com/sovrium/sovrium/issues/2189)) ([e8b2e52](https://github.com/sovrium/sovrium/commit/e8b2e52d7bafe03bd95491006c18d072785ca757))
625
- * implement APP-PAGES-ANALYTICS-011 ([#2191](https://github.com/sovrium/sovrium/issues/2191)) ([8e821fa](https://github.com/sovrium/sovrium/commit/8e821fa97189f309767934755ad0133b1e913bda))
626
- * implement APP-PAGES-ANALYTICS-012 ([#2192](https://github.com/sovrium/sovrium/issues/2192)) ([31d5e13](https://github.com/sovrium/sovrium/commit/31d5e135a792027c035023c1e95aab6a7de880ff))
627
- * implement APP-PAGES-ARTICLE-001 - validate minimal Article structured data ([#1685](https://github.com/sovrium/sovrium/issues/1685)) ([f2b93df](https://github.com/sovrium/sovrium/commit/f2b93dfc3a0fc35607a1c7850cc804c0f1f49f5a))
628
- * implement APP-PAGES-ARTICLE-001 - validate minimal Article structured data ([#1686](https://github.com/sovrium/sovrium/issues/1686)) ([76a0a09](https://github.com/sovrium/sovrium/commit/76a0a098beff2c93120cb9f6bfed024f538b1d02))
629
- * implement APP-PAGES-ARTICLE-002 ([#2193](https://github.com/sovrium/sovrium/issues/2193)) ([b6341e2](https://github.com/sovrium/sovrium/commit/b6341e2e095092c188b88fbb6ef5a25a275299cb))
630
- * implement APP-PAGES-ARTICLE-003 ([#2194](https://github.com/sovrium/sovrium/issues/2194)) ([d97f24b](https://github.com/sovrium/sovrium/commit/d97f24b73b38d5594034768a41ceace0cb358142))
631
- * implement APP-PAGES-ARTICLE-003 ([#2195](https://github.com/sovrium/sovrium/issues/2195)) ([0ff1b21](https://github.com/sovrium/sovrium/commit/0ff1b2120c93576dd33abdb44ebba40aa8891104))
632
- * implement APP-PAGES-ARTICLE-004 ([#2196](https://github.com/sovrium/sovrium/issues/2196)) ([2e19e90](https://github.com/sovrium/sovrium/commit/2e19e908678276d58a3fd666f65a5b5020ddddc5))
633
- * implement APP-PAGES-ARTICLE-005 - support single or multiple article images ([#2197](https://github.com/sovrium/sovrium/issues/2197)) ([61a6826](https://github.com/sovrium/sovrium/commit/61a68268b8eac7aaa56a2fa8b4468bf486987b9d))
634
- * implement APP-PAGES-ARTICLE-006 ([#2198](https://github.com/sovrium/sovrium/issues/2198)) ([77620b8](https://github.com/sovrium/sovrium/commit/77620b8a4cf759e7f3b1b64d162965a181a87a1d))
635
- * implement APP-PAGES-ARTICLE-007 ([#2199](https://github.com/sovrium/sovrium/issues/2199)) ([ce44f74](https://github.com/sovrium/sovrium/commit/ce44f74a3cc04e9224dfe763edf998c6fec738dc))
636
- * implement APP-PAGES-ARTICLE-008 ([#2200](https://github.com/sovrium/sovrium/issues/2200)) ([44af7c2](https://github.com/sovrium/sovrium/commit/44af7c2e82b6d4c5429c4402bca5acd9fe614a9e))
637
- * implement APP-PAGES-ARTICLE-008 ([#2201](https://github.com/sovrium/sovrium/issues/2201)) ([f2c4056](https://github.com/sovrium/sovrium/commit/f2c40566aa8db4da41b966638aacd532f9c508a6))
638
- * implement APP-PAGES-ARTICLE-009 ([#2202](https://github.com/sovrium/sovrium/issues/2202)) ([8830369](https://github.com/sovrium/sovrium/commit/8830369616706ca9bdea5526ec7a974e4de6fb1d))
639
- * implement APP-PAGES-ARTICLE-009 ([#2203](https://github.com/sovrium/sovrium/issues/2203)) ([7752185](https://github.com/sovrium/sovrium/commit/7752185dbb5df11a0328c12ccfd76d07b14a0aac))
640
- * implement APP-PAGES-ARTICLE-010 ([#2204](https://github.com/sovrium/sovrium/issues/2204)) ([d0c8558](https://github.com/sovrium/sovrium/commit/d0c8558c86fbde6afb39c32a9c977e1c417c9f5a))
641
- * implement APP-PAGES-ARTICLE-010 ([#2205](https://github.com/sovrium/sovrium/issues/2205)) ([0087025](https://github.com/sovrium/sovrium/commit/0087025a2c159021f9f08940ef528a09202a7032))
642
- * implement APP-PAGES-ARTICLE-011 ([#2206](https://github.com/sovrium/sovrium/issues/2206)) ([6287fa6](https://github.com/sovrium/sovrium/commit/6287fa6790509c29f08fc21128e95bdb71105f13))
643
- * implement APP-PAGES-ARTICLE-011 ([#2207](https://github.com/sovrium/sovrium/issues/2207)) ([a38d7af](https://github.com/sovrium/sovrium/commit/a38d7af4551fd2aa900ee1eeeefb92554aa8f4b5))
644
- * implement APP-PAGES-ARTICLE-012 ([#2208](https://github.com/sovrium/sovrium/issues/2208)) ([7d0b4e7](https://github.com/sovrium/sovrium/commit/7d0b4e7a67ebd8ff1920c98081e87c51e4a4adba))
645
- * implement APP-PAGES-ARTICLE-013 ([#2209](https://github.com/sovrium/sovrium/issues/2209)) ([3abc96d](https://github.com/sovrium/sovrium/commit/3abc96d700c813177dca8853520491e42198366e))
646
- * implement APP-PAGES-ARTICLE-014 ([#2210](https://github.com/sovrium/sovrium/issues/2210)) ([2653dbf](https://github.com/sovrium/sovrium/commit/2653dbf5ff1c74dbda1e1bdf372c47d8f61f6611))
647
- * implement APP-PAGES-ARTICLE-014 ([#2211](https://github.com/sovrium/sovrium/issues/2211)) ([ee54a8d](https://github.com/sovrium/sovrium/commit/ee54a8d7afbcd38ee71c687c4a6180617903643e))
648
- * implement APP-PAGES-BANNER-002 ([#2233](https://github.com/sovrium/sovrium/issues/2233)) ([a862a65](https://github.com/sovrium/sovrium/commit/a862a6531efc54efb438847e45716d3256f3e38f))
649
- * implement APP-PAGES-BANNER-003 ([#2234](https://github.com/sovrium/sovrium/issues/2234)) ([1190c72](https://github.com/sovrium/sovrium/commit/1190c726c74ac21a22f75eb5dd5474d22c69ae97))
650
- * implement APP-PAGES-BANNER-003 ([#2235](https://github.com/sovrium/sovrium/issues/2235)) ([048ffc6](https://github.com/sovrium/sovrium/commit/048ffc6874c019749cf4ce01adab92cfc9ed5923))
651
- * implement APP-PAGES-BANNER-004 ([#2236](https://github.com/sovrium/sovrium/issues/2236)) ([e751cef](https://github.com/sovrium/sovrium/commit/e751cef622f4ec44c5dd9b2b2088070e41cc95f4))
652
- * implement APP-PAGES-BANNER-005 ([#2245](https://github.com/sovrium/sovrium/issues/2245)) ([ec3f57f](https://github.com/sovrium/sovrium/commit/ec3f57f42e300a68c738d9b21000e8c17fdf4e30))
653
- * implement APP-PAGES-BANNER-006 ([#2246](https://github.com/sovrium/sovrium/issues/2246)) ([de72a71](https://github.com/sovrium/sovrium/commit/de72a719e761c5975b6f9ec7dbce22888a0e6dfb))
654
- * implement APP-PAGES-BANNER-006 ([#2247](https://github.com/sovrium/sovrium/issues/2247)) ([2cf29e5](https://github.com/sovrium/sovrium/commit/2cf29e568ff3b0630bb56afdaf3865e34faec1e2))
655
- * implement APP-PAGES-BANNER-007 ([#2248](https://github.com/sovrium/sovrium/issues/2248)) ([230b3f0](https://github.com/sovrium/sovrium/commit/230b3f0ed18758736cadcd594783595e383019e3))
656
- * implement APP-PAGES-BANNER-008 ([#2249](https://github.com/sovrium/sovrium/issues/2249)) ([20946b8](https://github.com/sovrium/sovrium/commit/20946b87fdf8a6659c6366e934a0f813c738f150))
657
- * implement APP-PAGES-BANNER-009 - correct test data for banner disabled state ([#2250](https://github.com/sovrium/sovrium/issues/2250)) ([b02a123](https://github.com/sovrium/sovrium/commit/b02a12339db4ca98c7a1c8cd27c489f7609ea610))
658
- * implement APP-PAGES-BANNER-009 - correct test data for banner disabled state ([#2252](https://github.com/sovrium/sovrium/issues/2252)) ([c98b885](https://github.com/sovrium/sovrium/commit/c98b885e880d7f030eb2d5b432641c0e4273965a))
659
- * implement APP-PAGES-BANNER-010 - correct test data for emoji rendering ([#2251](https://github.com/sovrium/sovrium/issues/2251)) ([81eb7d2](https://github.com/sovrium/sovrium/commit/81eb7d26b6e249762d1a351e8335735375c40dce))
660
- * implement APP-PAGES-BANNER-010 - correct test data for emoji rendering ([#2253](https://github.com/sovrium/sovrium/issues/2253)) ([58d499e](https://github.com/sovrium/sovrium/commit/58d499ef79c0ae23233b89fc0870f23a8e29cb3e))
661
- * implement APP-PAGES-BREADCRUMB-001 ([#1688](https://github.com/sovrium/sovrium/issues/1688)) ([9a7935a](https://github.com/sovrium/sovrium/commit/9a7935a8a2e557ce17f302a5139adc8fb894ff04))
662
- * implement APP-PAGES-CTA-001 ([#1689](https://github.com/sovrium/sovrium/issues/1689)) ([3057852](https://github.com/sovrium/sovrium/commit/3057852635da6e386dbc780ae96af71af2c7d2d7))
663
- * implement APP-PAGES-CTA-002 ([#2280](https://github.com/sovrium/sovrium/issues/2280)) ([192f5fc](https://github.com/sovrium/sovrium/commit/192f5fcfaa2b2a765096a94135434f35591d5391))
664
- * implement APP-PAGES-CTA-003 ([#2281](https://github.com/sovrium/sovrium/issues/2281)) ([04a24c4](https://github.com/sovrium/sovrium/commit/04a24c423a173201054af10cd6f8f435739936c7))
665
- * implement APP-PAGES-CTA-004 - apply size styling to CTA button ([#2282](https://github.com/sovrium/sovrium/issues/2282)) ([06ad76c](https://github.com/sovrium/sovrium/commit/06ad76cf037eee0b68a6fd7bb3bc575119b55635))
666
- * implement APP-PAGES-CTA-005 ([#2283](https://github.com/sovrium/sovrium/issues/2283)) ([d57805a](https://github.com/sovrium/sovrium/commit/d57805a7569f8552ae6fd1e8761e281a702d20b1))
667
- * implement APP-PAGES-CTA-007 - icon position left ([#2302](https://github.com/sovrium/sovrium/issues/2302)) ([66dc54b](https://github.com/sovrium/sovrium/commit/66dc54b7589c173fdba0152fbbf0348ca7add82e))
668
- * implement APP-PAGES-CTA-008 - correct test data for snake_case validation ([#2304](https://github.com/sovrium/sovrium/issues/2304)) ([9cb5dd1](https://github.com/sovrium/sovrium/commit/9cb5dd19d5e8200a07c0944c065ed53a7b0427c1))
669
- * implement APP-PAGES-CTA-009 - correct test data for snake_case validation ([#2305](https://github.com/sovrium/sovrium/issues/2305)) ([f262eb7](https://github.com/sovrium/sovrium/commit/f262eb74ab4cf236d2fbb5eec59314758c60ec48))
670
- * implement APP-PAGES-CTA-010 - support fully customized button appearance ([#2306](https://github.com/sovrium/sovrium/issues/2306)) ([c732773](https://github.com/sovrium/sovrium/commit/c732773da15fbf778846d5d3b4e79eadf0071b04))
671
- * implement APP-PAGES-CUSTOM-001 ([#1691](https://github.com/sovrium/sovrium/issues/1691)) ([0137af5](https://github.com/sovrium/sovrium/commit/0137af5b0664487a59ada5292488ef249710c094))
672
- * implement APP-PAGES-CUSTOM-001 ([#1692](https://github.com/sovrium/sovrium/issues/1692)) ([71d824a](https://github.com/sovrium/sovrium/commit/71d824a744975dd86512b3eea86a7fdbff20ca50))
673
- * implement APP-PAGES-CUSTOM-003 ([#2308](https://github.com/sovrium/sovrium/issues/2308)) ([13a9500](https://github.com/sovrium/sovrium/commit/13a9500b300034cc2492158f2b2c6298c804f849))
674
- * implement APP-PAGES-CUSTOM-003 ([#2309](https://github.com/sovrium/sovrium/issues/2309)) ([6bb098f](https://github.com/sovrium/sovrium/commit/6bb098f392adfb414c94da1d952900db48ffcdc0))
675
- * implement APP-PAGES-CUSTOM-004 ([#2310](https://github.com/sovrium/sovrium/issues/2310)) ([5b3dcd7](https://github.com/sovrium/sovrium/commit/5b3dcd7a322d79054be6ab38fbae9d5b21cdb939))
676
- * implement APP-PAGES-CUSTOM-004 ([#2311](https://github.com/sovrium/sovrium/issues/2311)) ([682d3a9](https://github.com/sovrium/sovrium/commit/682d3a92e9cae6f71692b57f1287ff2a0f751c8b))
677
- * implement APP-PAGES-CUSTOM-005 ([#2312](https://github.com/sovrium/sovrium/issues/2312)) ([168699c](https://github.com/sovrium/sovrium/commit/168699c70e0f96461dbf5214425eec31985fa3d1))
678
- * implement APP-PAGES-CUSTOM-006 - set element inner content ([#2314](https://github.com/sovrium/sovrium/issues/2314)) ([31a5734](https://github.com/sovrium/sovrium/commit/31a5734158e9c44839417d25d50c8f2e582acc37))
679
- * implement APP-PAGES-CUSTOM-007 ([#2313](https://github.com/sovrium/sovrium/issues/2313)) ([22f5217](https://github.com/sovrium/sovrium/commit/22f52175b91a6b40dd712ae5450e34f98f691f07)), closes [#4285f4](https://github.com/sovrium/sovrium/issues/4285f4)
680
- * implement APP-PAGES-CUSTOM-008 - configure mobile viewport ([#2315](https://github.com/sovrium/sovrium/issues/2315)) ([89d6eab](https://github.com/sovrium/sovrium/commit/89d6eab26ca431b64dc648acc3edb7be3053482b))
681
- * implement APP-PAGES-CUSTOM-008 ([#2316](https://github.com/sovrium/sovrium/issues/2316)) ([308b48e](https://github.com/sovrium/sovrium/commit/308b48ec9452d2b74a5067a110fe49e940df64a9))
682
- * implement APP-PAGES-DEFINITIONS-002 - validate kebabCase pattern ([#2317](https://github.com/sovrium/sovrium/issues/2317)) ([f986e9e](https://github.com/sovrium/sovrium/commit/f986e9e36fc3663bdceced75141d6d91f8fe9033))
683
- * implement APP-PAGES-DEFINITIONS-003 - variable substitution ([#2318](https://github.com/sovrium/sovrium/issues/2318)) ([88a8a06](https://github.com/sovrium/sovrium/commit/88a8a0618c20b1d6d668be0fb74301d03223f824))
684
- * implement APP-PAGES-DEFINITIONS-004 - variable reference pattern validation ([#2319](https://github.com/sovrium/sovrium/issues/2319)) ([f01bde9](https://github.com/sovrium/sovrium/commit/f01bde9931e40c808d5ccf5272f67a9269f269a0))
685
- * implement APP-PAGES-DEFINITIONS-004 - variable reference pattern validation ([#2456](https://github.com/sovrium/sovrium/issues/2456)) ([fc58005](https://github.com/sovrium/sovrium/commit/fc58005d83ae265da65899d26925a8a14050b5d5))
686
- * implement APP-PAGES-DEFINITIONS-005 - hexColor pattern validation ([#2455](https://github.com/sovrium/sovrium/issues/2455)) ([1153ca2](https://github.com/sovrium/sovrium/commit/1153ca27d9d1e1ec7339f234b978acd9e5f40d21))
687
- * implement APP-PAGES-DEFINITIONS-006 - URL validation ([#2457](https://github.com/sovrium/sovrium/issues/2457)) ([83a0bbe](https://github.com/sovrium/sovrium/commit/83a0bbe3f3d5dcb74741cc9b4c2a31544e85f40c))
688
- * implement APP-PAGES-DEFINITIONS-008 - email address format validation ([#2459](https://github.com/sovrium/sovrium/issues/2459)) ([c301a9f](https://github.com/sovrium/sovrium/commit/c301a9fb74d48de2caee07e566cf14a2fc8db3e9))
689
- * implement APP-PAGES-DEFINITIONS-008 - email address format validation ([#2460](https://github.com/sovrium/sovrium/issues/2460)) ([3271ed5](https://github.com/sovrium/sovrium/commit/3271ed5be6153c6d8800b43ffd90c21d61e25b46))
690
- * implement APP-PAGES-DEFINITIONS-009 - className validation ([#2461](https://github.com/sovrium/sovrium/issues/2461)) ([348ea8e](https://github.com/sovrium/sovrium/commit/348ea8e9de25234c3a0627fbe0c8657de403821d))
691
- * implement APP-PAGES-DEFINITIONS-009 - className validation ([#2462](https://github.com/sovrium/sovrium/issues/2462)) ([3a8bc26](https://github.com/sovrium/sovrium/commit/3a8bc268206cec81e0754fc8f80544aebd5cfe76))
692
- * implement APP-PAGES-DEFINITIONS-010 ([#2463](https://github.com/sovrium/sovrium/issues/2463)) ([4621374](https://github.com/sovrium/sovrium/commit/46213749dce40ca80a177f69e9ee6111f3e6b192))
693
- * implement APP-PAGES-DNS-004 and correct assertion ([#2470](https://github.com/sovrium/sovrium/issues/2470)) ([d1ce03c](https://github.com/sovrium/sovrium/commit/d1ce03ca6e2e2ccfe0a526e8a41718e676561285))
694
- * implement APP-PAGES-DNS-006 ([#2473](https://github.com/sovrium/sovrium/issues/2473)) ([15cfe56](https://github.com/sovrium/sovrium/commit/15cfe56e92261cc1b23e7f39e3d2502b5d5c6350))
695
- * implement APP-PAGES-DNS-007 ([#2474](https://github.com/sovrium/sovrium/issues/2474)) ([aee8dc6](https://github.com/sovrium/sovrium/commit/aee8dc61007a76d7ab14ee532643fc7a725ddd32))
696
- * implement APP-PAGES-DNS-008 ([#2475](https://github.com/sovrium/sovrium/issues/2475)) ([41afdda](https://github.com/sovrium/sovrium/commit/41afdda14709f90e3701908e5e2c4791b0d2376a))
697
- * implement APP-PAGES-DNS-008 ([#2476](https://github.com/sovrium/sovrium/issues/2476)) ([4a7a82f](https://github.com/sovrium/sovrium/commit/4a7a82fe4f218a2ff5ae5e5e50a712247b7eefaa))
698
- * implement APP-PAGES-DNS-010 ([#2478](https://github.com/sovrium/sovrium/issues/2478)) ([bc6f8d7](https://github.com/sovrium/sovrium/commit/bc6f8d7e9f2600579e905f4e4edf50c34d587c3c))
699
- * implement APP-PAGES-DNS-010 ([#2479](https://github.com/sovrium/sovrium/issues/2479)) ([095c209](https://github.com/sovrium/sovrium/commit/095c209d2f4b3d545ec3d038f82ea414a7d48d55))
700
- * implement APP-PAGES-EDUCATIONEVENT-001 ([#1695](https://github.com/sovrium/sovrium/issues/1695)) ([ea87025](https://github.com/sovrium/sovrium/commit/ea87025fccb74e77da2c35c72a4b0dc3e8d606a0))
701
- * implement APP-PAGES-EDUCATIONEVENT-001 ([#1696](https://github.com/sovrium/sovrium/issues/1696)) ([0d3b9bb](https://github.com/sovrium/sovrium/commit/0d3b9bb4be30b410dfdd7aa4ae2a89762d06aede))
702
- * implement APP-PAGES-EXTERNAL-001 ([#1697](https://github.com/sovrium/sovrium/issues/1697)) ([4ac5873](https://github.com/sovrium/sovrium/commit/4ac5873fced716a8ec67e7333b5e2a070719b482))
703
- * implement APP-PAGES-EXTERNAL-002 ([#2481](https://github.com/sovrium/sovrium/issues/2481)) ([d7baaa2](https://github.com/sovrium/sovrium/commit/d7baaa2fcbc1f4d87da337cc256b6c4f3a822303))
704
- * implement APP-PAGES-EXTERNAL-002 ([#2482](https://github.com/sovrium/sovrium/issues/2482)) ([1456762](https://github.com/sovrium/sovrium/commit/145676201cb5fc5577677b1f6cfc915bab823cfe))
705
- * implement APP-PAGES-EXTERNAL-003 ([#2483](https://github.com/sovrium/sovrium/issues/2483)) ([48d468e](https://github.com/sovrium/sovrium/commit/48d468ee50e6e0515d373f1fad00b802874b39e0))
706
- * implement APP-PAGES-EXTERNAL-004 ([#2484](https://github.com/sovrium/sovrium/issues/2484)) ([f27015d](https://github.com/sovrium/sovrium/commit/f27015d6f60a633c6ad7d1c9087e9ccdde49b37e))
707
- * implement APP-PAGES-EXTERNAL-005 ([#2485](https://github.com/sovrium/sovrium/issues/2485)) ([2dde4af](https://github.com/sovrium/sovrium/commit/2dde4af0c6c5293ba88fcd39b0eef7c00ef860a2))
708
- * implement APP-PAGES-EXTERNAL-005 ([#2486](https://github.com/sovrium/sovrium/issues/2486)) ([1a77284](https://github.com/sovrium/sovrium/commit/1a77284b5b5606b73b2624fa32683b97b10f2b96))
709
- * implement APP-PAGES-EXTERNAL-006 ([#2487](https://github.com/sovrium/sovrium/issues/2487)) ([59d11d1](https://github.com/sovrium/sovrium/commit/59d11d1060f89aab669a882293328946b01454c7))
710
- * implement APP-PAGES-EXTERNAL-006 ([#2488](https://github.com/sovrium/sovrium/issues/2488)) ([fb712b4](https://github.com/sovrium/sovrium/commit/fb712b4e61797fa0cb5fa1ae274976783620575d))
711
- * implement APP-PAGES-EXTERNAL-007 ([#2489](https://github.com/sovrium/sovrium/issues/2489)) ([b3db7eb](https://github.com/sovrium/sovrium/commit/b3db7eba47d64babdd011d9c31c41d79b501aab6))
712
- * implement APP-PAGES-EXTERNAL-010 ([#2493](https://github.com/sovrium/sovrium/issues/2493)) ([1915600](https://github.com/sovrium/sovrium/commit/1915600dc8d8009dcf00f427613dee5b7f64e4ca))
713
- * implement APP-PAGES-EXTERNAL-011 ([#2494](https://github.com/sovrium/sovrium/issues/2494)) ([ac978d3](https://github.com/sovrium/sovrium/commit/ac978d3e47de02f78e5f046554a32309e170dc60))
714
- * implement APP-PAGES-EXTERNAL-011 ([#2495](https://github.com/sovrium/sovrium/issues/2495)) ([3bce2d1](https://github.com/sovrium/sovrium/commit/3bce2d165010f13200d601b804507401e9b9e827))
715
- * implement APP-PAGES-EXTERNAL-012 ([#2496](https://github.com/sovrium/sovrium/issues/2496)) ([18150b5](https://github.com/sovrium/sovrium/commit/18150b55507bba4535746f0e2de6b76a41b2c948))
716
- * implement APP-PAGES-FAQPAGE-001 ([#1698](https://github.com/sovrium/sovrium/issues/1698)) ([8ea1650](https://github.com/sovrium/sovrium/commit/8ea1650c979d757b59e3892011fc92ea372c7444))
717
- * implement APP-PAGES-FAQPAGE-002 ([#2497](https://github.com/sovrium/sovrium/issues/2497)) ([f7373ec](https://github.com/sovrium/sovrium/commit/f7373ec4701cd971242ab7d56c5c030c80051969))
718
- * implement APP-PAGES-FAQPAGE-003 ([#2498](https://github.com/sovrium/sovrium/issues/2498)) ([ad7f8de](https://github.com/sovrium/sovrium/commit/ad7f8de0e2e9df46cdc4034829e706e7a4468aae))
719
- * implement APP-PAGES-FAQPAGE-004 ([#2499](https://github.com/sovrium/sovrium/issues/2499)) ([68be07b](https://github.com/sovrium/sovrium/commit/68be07b50309888e53754ce2aa352e294a47675d))
720
- * implement APP-PAGES-FAQPAGE-005 ([#2500](https://github.com/sovrium/sovrium/issues/2500)) ([981b55f](https://github.com/sovrium/sovrium/commit/981b55f071c894c2473c23c6519549fc8c51c0f7))
721
- * implement APP-PAGES-FAQPAGE-005 ([#2501](https://github.com/sovrium/sovrium/issues/2501)) ([cd8633a](https://github.com/sovrium/sovrium/commit/cd8633a72d8e63badb1908d80b614f3c485a5c9d))
722
- * implement APP-PAGES-FAQPAGE-006 ([#2502](https://github.com/sovrium/sovrium/issues/2502)) ([892c613](https://github.com/sovrium/sovrium/commit/892c61384d5d8db2d3f59b26d86f1409e8e447f6))
723
- * implement APP-PAGES-FAQPAGE-007 ([#2503](https://github.com/sovrium/sovrium/issues/2503)) ([6143112](https://github.com/sovrium/sovrium/commit/6143112c5f01c841d530b5728a8f9da670f5a0da))
724
- * implement APP-PAGES-FAQPAGE-007 ([#2504](https://github.com/sovrium/sovrium/issues/2504)) ([3e84d13](https://github.com/sovrium/sovrium/commit/3e84d13eedd62c542361951242bb6b7c5a6ba23f))
725
- * implement APP-PAGES-FAQPAGE-010 - increase click-through rate from search results ([#2507](https://github.com/sovrium/sovrium/issues/2507)) ([9a1be73](https://github.com/sovrium/sovrium/commit/9a1be73e5763bc5206028c4e268d60eaf72d8a25))
726
- * implement APP-PAGES-FAVICON-001 ([#1699](https://github.com/sovrium/sovrium/issues/1699)) ([78659e1](https://github.com/sovrium/sovrium/commit/78659e15e39b6aa711d79236016551548ce920ed))
727
- * implement APP-PAGES-FAVICON-002 - support legacy ICO format ([#2510](https://github.com/sovrium/sovrium/issues/2510)) ([74b9c08](https://github.com/sovrium/sovrium/commit/74b9c08ad5b823b3e4738122bc3f62adea056688))
728
- * implement APP-PAGES-FAVICON-003 ([#2511](https://github.com/sovrium/sovrium/issues/2511)) ([5ac7fd4](https://github.com/sovrium/sovrium/commit/5ac7fd4104318d91b4db6bae5c53e3453393c291))
729
- * implement APP-PAGES-FAVICON-004 ([#2514](https://github.com/sovrium/sovrium/issues/2514)) ([845b539](https://github.com/sovrium/sovrium/commit/845b53972daf50773134c971b40ed42549e3811f))
730
- * implement APP-PAGES-FAVICON-004 ([#2515](https://github.com/sovrium/sovrium/issues/2515)) ([ca68710](https://github.com/sovrium/sovrium/commit/ca68710153994033487d5b046ee70366f81a129b))
731
- * implement APP-PAGES-FAVICON-005 ([#2518](https://github.com/sovrium/sovrium/issues/2518)) ([6adbe4e](https://github.com/sovrium/sovrium/commit/6adbe4e8eda3171cd31739070daae4788ed6e612))
732
- * implement APP-PAGES-FAVICON-006 ([#2522](https://github.com/sovrium/sovrium/issues/2522)) ([76020d0](https://github.com/sovrium/sovrium/commit/76020d047caf23051d9db6beec34761b5cdc99b1))
733
- * implement APP-PAGES-FAVICON-006 ([#2523](https://github.com/sovrium/sovrium/issues/2523)) ([278a9a0](https://github.com/sovrium/sovrium/commit/278a9a07fc406266400e4d7ce4cb4b32c7113c7b))
734
- * implement APP-PAGES-FAVICON-007 ([#2521](https://github.com/sovrium/sovrium/issues/2521)) ([2be998b](https://github.com/sovrium/sovrium/commit/2be998bc3a44bfb1779e5a25e537b7ffc96156de))
735
- * implement APP-PAGES-FAVICON-008 ([#2525](https://github.com/sovrium/sovrium/issues/2525)) ([9ce2349](https://github.com/sovrium/sovrium/commit/9ce23494757777c2c0db819f6fd320e731c244fc))
736
- * implement APP-PAGES-FAVICONSET-001 - define browser icon in favicon set ([#1700](https://github.com/sovrium/sovrium/issues/1700)) ([a63edc8](https://github.com/sovrium/sovrium/commit/a63edc8f05be1ef8e9bdbbe41a0421f6c44651fb))
737
- * implement APP-PAGES-FAVICONSET-001 - define browser icon in favicon set ([#1701](https://github.com/sovrium/sovrium/issues/1701)) ([e7b3025](https://github.com/sovrium/sovrium/commit/e7b3025c669a4151f6d35a824054c798da84d29c))
738
- * implement APP-PAGES-FAVICONSET-002 - define Apple touch icon ([#2508](https://github.com/sovrium/sovrium/issues/2508)) ([13f6c59](https://github.com/sovrium/sovrium/commit/13f6c59ef4aee990fbc29db1bbf425c013619a40))
739
- * implement APP-PAGES-FAVICONSET-002 - define Apple touch icon ([#2509](https://github.com/sovrium/sovrium/issues/2509)) ([47f9cef](https://github.com/sovrium/sovrium/commit/47f9cefb153befbdadcaf01a4175841a72847a87))
740
- * implement APP-PAGES-FAVICONSET-003 ([#2512](https://github.com/sovrium/sovrium/issues/2512)) ([ac0c2af](https://github.com/sovrium/sovrium/commit/ac0c2afa0bb566c063edd6c43ac77c60ca8fabcf))
741
- * implement APP-PAGES-FAVICONSET-003 ([#2513](https://github.com/sovrium/sovrium/issues/2513)) ([165b28d](https://github.com/sovrium/sovrium/commit/165b28d7a87a9cc67d8973db4ee165e15f7479ef))
742
- * implement APP-PAGES-FAVICONSET-004 ([#2516](https://github.com/sovrium/sovrium/issues/2516)) ([0793d5b](https://github.com/sovrium/sovrium/commit/0793d5b05ad2399ab4be469b96e51d6250276e5e))
743
- * implement APP-PAGES-FAVICONSET-004 ([#2517](https://github.com/sovrium/sovrium/issues/2517)) ([8bdfc2d](https://github.com/sovrium/sovrium/commit/8bdfc2ddeba0995856ca8619822a45d258aaef38))
744
- * implement APP-PAGES-FAVICONSET-005 ([#2519](https://github.com/sovrium/sovrium/issues/2519)) ([5b97d1d](https://github.com/sovrium/sovrium/commit/5b97d1d933df9386306106c587c2f6c1134d46f1))
745
- * implement APP-PAGES-FAVICONSET-006 ([#2520](https://github.com/sovrium/sovrium/issues/2520)) ([6e9516a](https://github.com/sovrium/sovrium/commit/6e9516ae5ef84efb5daa7a347f43763728c9cb76))
746
- * implement APP-PAGES-FAVICONSET-007 ([#2524](https://github.com/sovrium/sovrium/issues/2524)) ([bc0fa3f](https://github.com/sovrium/sovrium/commit/bc0fa3fd4d494bebee2a6a9871a6d104fd7c73a4))
747
- * implement APP-PAGES-FEATURES-001 - inject window.FEATURES for client-side feature flags ([#1702](https://github.com/sovrium/sovrium/issues/1702)) ([88ec45a](https://github.com/sovrium/sovrium/commit/88ec45a829b5082f3397349ad205b3c766ab02bb))
748
- * implement APP-PAGES-FEATURES-001 - inject window.FEATURES for client-side feature flags ([#1703](https://github.com/sovrium/sovrium/issues/1703)) ([545fea9](https://github.com/sovrium/sovrium/commit/545fea99d269459d022fa46d779f7a1a000ec52e))
749
- * implement APP-PAGES-FEATURES-002 ([#2526](https://github.com/sovrium/sovrium/issues/2526)) ([06b7eec](https://github.com/sovrium/sovrium/commit/06b7eecf912d204237f61d148c0738c39141f573))
750
- * implement APP-PAGES-FEATURES-003 ([#2527](https://github.com/sovrium/sovrium/issues/2527)) ([c40b3b6](https://github.com/sovrium/sovrium/commit/c40b3b60dbc2d3501a58a89eb275a0909994c233))
751
- * implement APP-PAGES-FEATURES-003 ([#2528](https://github.com/sovrium/sovrium/issues/2528)) ([d3f833e](https://github.com/sovrium/sovrium/commit/d3f833ecc4f9284e860907dddc49d58790687e3c))
752
- * implement APP-PAGES-FEATURES-004 ([#2529](https://github.com/sovrium/sovrium/issues/2529)) ([85c1db2](https://github.com/sovrium/sovrium/commit/85c1db2ee5200447b502ef75f068f707d4ed1713))
753
- * implement APP-PAGES-FEATURES-004 ([#2530](https://github.com/sovrium/sovrium/issues/2530)) ([dd48646](https://github.com/sovrium/sovrium/commit/dd486461ee71054037e0001b302f9e2d79df750b))
754
- * implement APP-PAGES-FEATURES-005 ([#2531](https://github.com/sovrium/sovrium/issues/2531)) ([ebd81f8](https://github.com/sovrium/sovrium/commit/ebd81f8f1f8df5cff0e83f864b248d08b5c663b7))
755
- * implement APP-PAGES-FEATURES-006 ([#2532](https://github.com/sovrium/sovrium/issues/2532)) ([489130a](https://github.com/sovrium/sovrium/commit/489130ae47a11da8901e116b57fc333a917b4b3d))
756
- * implement APP-PAGES-FEATURES-007 ([#2533](https://github.com/sovrium/sovrium/issues/2533)) ([e3f0d1f](https://github.com/sovrium/sovrium/commit/e3f0d1f2866f0792936f7570d6e3d7aaf3329fe0))
757
- * implement APP-PAGES-FEATURES-008 ([#2534](https://github.com/sovrium/sovrium/issues/2534)) ([689ff7e](https://github.com/sovrium/sovrium/commit/689ff7e0299e1d8bd4b4e908bf4f480f79d537a5))
758
- * implement APP-PAGES-FEATURES-009 ([#2535](https://github.com/sovrium/sovrium/issues/2535)) ([30d4589](https://github.com/sovrium/sovrium/commit/30d45896ff06e20b58bf230006dd59200b68400e))
759
- * implement APP-PAGES-FEATURES-010 ([#2536](https://github.com/sovrium/sovrium/issues/2536)) ([2156932](https://github.com/sovrium/sovrium/commit/2156932347171f539cb1d22e78a8fd34817da389))
760
- * implement APP-PAGES-FOOTER-001 - display footer at bottom of page ([#1704](https://github.com/sovrium/sovrium/issues/1704)) ([eba24e0](https://github.com/sovrium/sovrium/commit/eba24e095141735c25fbc25b650fd6cd4636951c))
761
- * implement APP-PAGES-FOOTER-002 ([#2537](https://github.com/sovrium/sovrium/issues/2537)) ([1371640](https://github.com/sovrium/sovrium/commit/1371640b64b60701944ae28dd57f2fdbb2c35f77))
762
- * implement APP-PAGES-FOOTER-003 ([#2538](https://github.com/sovrium/sovrium/issues/2538)) ([f7b98a0](https://github.com/sovrium/sovrium/commit/f7b98a05c17c76bcf3214c543cd019995b09b999))
763
- * implement APP-PAGES-FOOTER-004 ([#2539](https://github.com/sovrium/sovrium/issues/2539)) ([8e37419](https://github.com/sovrium/sovrium/commit/8e3741977db32913a86ea3612b359f15bb4608ab))
764
- * implement APP-PAGES-FOOTER-005 ([#2540](https://github.com/sovrium/sovrium/issues/2540)) ([34dee94](https://github.com/sovrium/sovrium/commit/34dee94272da575bf8b113f18fe79c8a51373f17))
765
- * implement APP-PAGES-FOOTER-006 - support external link targets ([#2542](https://github.com/sovrium/sovrium/issues/2542)) ([5eba57e](https://github.com/sovrium/sovrium/commit/5eba57ec934e7ab1d6d9aa17a47fc33d0f0092c2))
766
- * implement APP-PAGES-FOOTER-006 ([#2541](https://github.com/sovrium/sovrium/issues/2541)) ([aec5d3d](https://github.com/sovrium/sovrium/commit/aec5d3d29f4fdf2f652bf2e16e2c4547666cd688))
767
- * implement APP-PAGES-FOOTER-007 ([#2543](https://github.com/sovrium/sovrium/issues/2543)) ([820040f](https://github.com/sovrium/sovrium/commit/820040fff1fb607f5b0a037b23f8977699026365))
768
- * implement APP-PAGES-FOOTER-008 ([#2544](https://github.com/sovrium/sovrium/issues/2544)) ([52286d9](https://github.com/sovrium/sovrium/commit/52286d9e6ffa8d29610bf3f6efc8b47ec022cce8))
769
- * implement APP-PAGES-FOOTER-009 ([#2545](https://github.com/sovrium/sovrium/issues/2545)) ([a125ae6](https://github.com/sovrium/sovrium/commit/a125ae646f61f662f7cbc9180f0712dc6dc75de7))
770
- * implement APP-PAGES-FOOTER-010 ([#2546](https://github.com/sovrium/sovrium/issues/2546)) ([76c11d0](https://github.com/sovrium/sovrium/commit/76c11d05df84701b3d7e6be5b51f9e50fedfb5fc))
771
- * implement APP-PAGES-FOOTER-011 ([#2547](https://github.com/sovrium/sovrium/issues/2547)) ([721be00](https://github.com/sovrium/sovrium/commit/721be0037c62b337064a7d2121b2e8b4a039bcf8))
772
- * implement APP-PAGES-FOOTER-011 ([#2549](https://github.com/sovrium/sovrium/issues/2549)) ([c11d0d1](https://github.com/sovrium/sovrium/commit/c11d0d15f250a59f9e4628acaddb8c3e858b341d))
773
- * implement APP-PAGES-FOOTER-012 ([#2548](https://github.com/sovrium/sovrium/issues/2548)) ([5517f94](https://github.com/sovrium/sovrium/commit/5517f94b759ada069474c1acffb08e5f26eb16d9))
774
- * implement APP-PAGES-FOOTER-013 ([#2550](https://github.com/sovrium/sovrium/issues/2550)) ([0c4fac9](https://github.com/sovrium/sovrium/commit/0c4fac9b079c189fd6a0dbe9f020aff8fc456238))
775
- * implement APP-PAGES-FOOTER-013 ([#2551](https://github.com/sovrium/sovrium/issues/2551)) ([5943969](https://github.com/sovrium/sovrium/commit/594396938dc5f9e221aba3c1480bd260f8c40fbb))
776
- * implement APP-PAGES-FOOTER-014 ([#2552](https://github.com/sovrium/sovrium/issues/2552)) ([8834510](https://github.com/sovrium/sovrium/commit/88345101e643d13fa3411bbf3635a91423f09360))
777
- * implement APP-PAGES-ID-001 - validate page ID as unique identifier ([#1705](https://github.com/sovrium/sovrium/issues/1705)) ([84be69b](https://github.com/sovrium/sovrium/commit/84be69b020b273d0319b1cfa969990fe1384bc4e))
778
- * implement APP-PAGES-ID-001 ([#1706](https://github.com/sovrium/sovrium/issues/1706)) ([b56be9e](https://github.com/sovrium/sovrium/commit/b56be9e0427377635c9e4d811d63260f6e254ce1))
779
- * implement APP-PAGES-INLINE-001 - inject inline JavaScript code ([#1707](https://github.com/sovrium/sovrium/issues/1707)) ([c798abf](https://github.com/sovrium/sovrium/commit/c798abf2313667d732843ffd41d586fa97af9cfb))
780
- * implement APP-PAGES-INLINE-002 inline script body-end positioning ([#2553](https://github.com/sovrium/sovrium/issues/2553)) ([518e1b8](https://github.com/sovrium/sovrium/commit/518e1b88b26732b959c2642252cbc734bc76348e))
781
- * implement APP-PAGES-INLINE-002 inline script body-end positioning ([#2554](https://github.com/sovrium/sovrium/issues/2554)) ([02b5d7b](https://github.com/sovrium/sovrium/commit/02b5d7b4c8aea2bec140eb915da77adb749a93ef))
782
- * implement APP-PAGES-INLINE-003 head script positioning ([#2556](https://github.com/sovrium/sovrium/issues/2556)) ([96f3ab1](https://github.com/sovrium/sovrium/commit/96f3ab13a0ec019e299c732cd3d8ff3087f17d4f))
783
- * implement APP-PAGES-INLINE-003 head script positioning ([#2557](https://github.com/sovrium/sovrium/issues/2557)) ([f00ca7f](https://github.com/sovrium/sovrium/commit/f00ca7f429bce0f1c68ec04735761b28cc9a2811))
784
- * implement APP-PAGES-INLINE-004 body-start script positioning ([#2555](https://github.com/sovrium/sovrium/issues/2555)) ([5b9a40e](https://github.com/sovrium/sovrium/commit/5b9a40e58afb784871d6b2f607d9b599a12671dc))
785
- * implement APP-PAGES-INLINE-006 ([#2563](https://github.com/sovrium/sovrium/issues/2563)) ([58bdbda](https://github.com/sovrium/sovrium/commit/58bdbda225b2b845286cf1d904f58b6addf0abcd))
786
- * implement APP-PAGES-INLINE-007 ([#2567](https://github.com/sovrium/sovrium/issues/2567)) ([727955b](https://github.com/sovrium/sovrium/commit/727955bca04befddabd167b9106f8987a4e49752))
787
- * implement APP-PAGES-INLINE-009 ([#2559](https://github.com/sovrium/sovrium/issues/2559)) ([d4d170a](https://github.com/sovrium/sovrium/commit/d4d170a511545c6099047807b6e88453983471d8))
788
- * implement APP-PAGES-INLINE-010 ([#2569](https://github.com/sovrium/sovrium/issues/2569)) ([af7f2a1](https://github.com/sovrium/sovrium/commit/af7f2a17a9bf566e12550852c16a1a82f44c3795))
789
- * implement APP-PAGES-INLINE-010 (execute scripts in document order) ([#2560](https://github.com/sovrium/sovrium/issues/2560)) ([627227f](https://github.com/sovrium/sovrium/commit/627227f7025d8843c2583f382b8d81c8b39eeca1))
790
- * implement APP-PAGES-INTEGRATION-001 ([#1708](https://github.com/sovrium/sovrium/issues/1708)) ([a9bfdad](https://github.com/sovrium/sovrium/commit/a9bfdadcd18bbdeeca1b30e37575b69abeda0ac4)), closes [#3B82F6](https://github.com/sovrium/sovrium/issues/3B82F6)
791
- * implement APP-PAGES-INTEGRATION-001 ([#1709](https://github.com/sovrium/sovrium/issues/1709)) ([0b2f7ac](https://github.com/sovrium/sovrium/commit/0b2f7acd3faa280c7c49d781b5f398342cdc35ba)), closes [#3B82F6](https://github.com/sovrium/sovrium/issues/3B82F6)
792
- * implement APP-PAGES-INTEGRATION-002 - language code normalization for page.meta.lang ([21edfa2](https://github.com/sovrium/sovrium/commit/21edfa23bdd0c3a6ebdf8a627efd90165673a72c))
793
- * implement APP-PAGES-INTEGRATION-002 - language-based content adaptation ([#2568](https://github.com/sovrium/sovrium/issues/2568)) ([ba37067](https://github.com/sovrium/sovrium/commit/ba37067fd637515b60206803514a42478bd5c9c0))
794
- * implement APP-PAGES-INTEGRATION-002 - use full IETF language tags ([#2572](https://github.com/sovrium/sovrium/issues/2572)) ([e8de225](https://github.com/sovrium/sovrium/commit/e8de225801e5a75486391fb15bf1ce508362e8dc))
795
- * implement APP-PAGES-INTEGRATION-002 ([#2562](https://github.com/sovrium/sovrium/issues/2562)) ([686c983](https://github.com/sovrium/sovrium/commit/686c983ac4369d8a743c0551b378c0a3d785220e))
796
- * implement APP-PAGES-INTEGRATION-005 ([#2573](https://github.com/sovrium/sovrium/issues/2573)) ([00cb875](https://github.com/sovrium/sovrium/commit/00cb875f8e6e3be758c0c45183ee4434938daa6f))
797
- * implement APP-PAGES-INTERACTION-CLICK-002 ([#2578](https://github.com/sovrium/sovrium/issues/2578)) ([53eacde](https://github.com/sovrium/sovrium/commit/53eacde44a35d6a6c85500dac9474ce7dbe527b7))
798
- * implement APP-PAGES-INTERACTION-CLICK-002 ([#2579](https://github.com/sovrium/sovrium/issues/2579)) ([95a6470](https://github.com/sovrium/sovrium/commit/95a64704a4863f78b14efb82fe515b37f3ae0840))
799
- * implement APP-PAGES-INTERACTION-CLICK-003 ([#2586](https://github.com/sovrium/sovrium/issues/2586)) ([7b1de06](https://github.com/sovrium/sovrium/commit/7b1de06a98e6ab3bd68dca9ba9da48cfb396c5a1))
800
- * implement APP-PAGES-INTERACTION-CLICK-003 ([#2587](https://github.com/sovrium/sovrium/issues/2587)) ([c6cbba8](https://github.com/sovrium/sovrium/commit/c6cbba8b9052b81279c59503308ac58a8e1cbb22))
801
- * implement APP-PAGES-INTERACTION-CLICK-004 ([#2592](https://github.com/sovrium/sovrium/issues/2592)) ([9afbccd](https://github.com/sovrium/sovrium/commit/9afbccd3b9c99d01de532eb5123481fb31a7cf15)), closes [#pricing-section](https://github.com/sovrium/sovrium/issues/pricing-section)
802
- * implement APP-PAGES-INTERACTION-CLICK-005 ([#2600](https://github.com/sovrium/sovrium/issues/2600)) ([d9ecb30](https://github.com/sovrium/sovrium/commit/d9ecb3072f7dfdeb584137cd13335eb9c87aa338))
803
- * implement APP-PAGES-INTERACTION-CLICK-006 ([#2607](https://github.com/sovrium/sovrium/issues/2607)) ([b76db7b](https://github.com/sovrium/sovrium/commit/b76db7b3b18132a7c2341a405dc48483c024297c))
804
- * implement APP-PAGES-INTERACTION-CLICK-006 ([#2608](https://github.com/sovrium/sovrium/issues/2608)) ([419e1c3](https://github.com/sovrium/sovrium/commit/419e1c3bdcbc70d9034a44bed294df34b716168a))
805
- * implement APP-PAGES-INTERACTION-CLICK-007 ([#2615](https://github.com/sovrium/sovrium/issues/2615)) ([c768857](https://github.com/sovrium/sovrium/commit/c76885708385ee1f6800f0df38c7dcb28451abe2))
806
- * implement APP-PAGES-INTERACTION-CLICK-008 ([#2622](https://github.com/sovrium/sovrium/issues/2622)) ([38d2e33](https://github.com/sovrium/sovrium/commit/38d2e33f34a2561f307a09564b8e797cc72813f3))
807
- * implement APP-PAGES-INTERACTION-CLICK-008 toggleElement functionality ([#2621](https://github.com/sovrium/sovrium/issues/2621)) ([8698bfb](https://github.com/sovrium/sovrium/commit/8698bfb7a065be1d8d822c5fb46cbb82352f8257))
808
- * implement APP-PAGES-INTERACTION-CLICK-009 ([#2627](https://github.com/sovrium/sovrium/issues/2627)) ([6fcbe85](https://github.com/sovrium/sovrium/commit/6fcbe85e440b7800497e85a514a68a8c3218caf4))
809
- * implement APP-PAGES-INTERACTION-CLICK-010 ([#2630](https://github.com/sovrium/sovrium/issues/2630)) ([5e15257](https://github.com/sovrium/sovrium/commit/5e152571d6de5ad35ae240ce8be3f97d986e014e))
810
- * implement APP-PAGES-INTERACTION-CLICK-011 ([#2636](https://github.com/sovrium/sovrium/issues/2636)) ([b396d66](https://github.com/sovrium/sovrium/commit/b396d660896be4014bb70e527142091717055998))
811
- * implement APP-PAGES-INTERACTION-CLICK-012 ([#2639](https://github.com/sovrium/sovrium/issues/2639)) ([058d9a4](https://github.com/sovrium/sovrium/commit/058d9a40069db977c37b1094f144da9a3a9f1ef2))
812
- * implement APP-PAGES-INTERACTION-CLICK-012 ([#2640](https://github.com/sovrium/sovrium/issues/2640)) ([3577f77](https://github.com/sovrium/sovrium/commit/3577f7701240d034c3c948f05389e02e887d716d))
813
- * implement APP-PAGES-INTERACTION-ENTRANCE-001 ([#2571](https://github.com/sovrium/sovrium/issues/2571)) ([a4be15e](https://github.com/sovrium/sovrium/commit/a4be15e4e70155c07cf618477a2c93f3c7f4a23a))
814
- * implement APP-PAGES-INTERACTION-ENTRANCE-002 ([#2581](https://github.com/sovrium/sovrium/issues/2581)) ([341d369](https://github.com/sovrium/sovrium/commit/341d36921923d57d0e997f8426f7c7640dc82e28))
815
- * implement APP-PAGES-INTERACTION-ENTRANCE-003 ([#2588](https://github.com/sovrium/sovrium/issues/2588)) ([dd3429d](https://github.com/sovrium/sovrium/commit/dd3429dae986c9dba66c13e967044a8f16e754a9))
816
- * implement APP-PAGES-INTERACTION-ENTRANCE-004 ([#2594](https://github.com/sovrium/sovrium/issues/2594)) ([828a17c](https://github.com/sovrium/sovrium/commit/828a17c00be86255ea4dee60254f5f992c53a5e5))
817
- * implement APP-PAGES-INTERACTION-ENTRANCE-004 ([#2595](https://github.com/sovrium/sovrium/issues/2595)) ([7c86425](https://github.com/sovrium/sovrium/commit/7c8642552073816cab619fc3a970de58d2b1d100))
818
- * implement APP-PAGES-INTERACTION-ENTRANCE-006 ([#2609](https://github.com/sovrium/sovrium/issues/2609)) ([2cc7e30](https://github.com/sovrium/sovrium/commit/2cc7e301d5dd779758b09945884fd1034bfe3320))
819
- * implement APP-PAGES-INTERACTION-ENTRANCE-006 ([#2610](https://github.com/sovrium/sovrium/issues/2610)) ([b82b8dc](https://github.com/sovrium/sovrium/commit/b82b8dc2082043e5a896b7a7c1e3f4637158022e))
820
- * implement APP-PAGES-INTERACTION-HOVER-001 ([#2574](https://github.com/sovrium/sovrium/issues/2574)) ([7338347](https://github.com/sovrium/sovrium/commit/73383477205dd0b2faa341e3549887cbcd01b3a8))
821
- * implement APP-PAGES-INTERACTION-HOVER-002 ([#2583](https://github.com/sovrium/sovrium/issues/2583)) ([6e19337](https://github.com/sovrium/sovrium/commit/6e193377d793362ecfc2390dd420970b728734b1))
822
- * implement APP-PAGES-INTERACTION-HOVER-003 ([#2589](https://github.com/sovrium/sovrium/issues/2589)) ([9664cd4](https://github.com/sovrium/sovrium/commit/9664cd45b7dfb809e668e792387c76c5c8f7eb62))
823
- * implement APP-PAGES-INTERACTION-HOVER-004 ([#2596](https://github.com/sovrium/sovrium/issues/2596)) ([7bac1c3](https://github.com/sovrium/sovrium/commit/7bac1c31d4badc8cc80b007e8e786e20f5707c03))
824
- * implement APP-PAGES-INTERACTION-HOVER-005 - enable duration and easing test ([#2602](https://github.com/sovrium/sovrium/issues/2602)) ([b0392c6](https://github.com/sovrium/sovrium/commit/b0392c60c557491fb7f81ef6c5b9fd0430a5dee2))
825
- * implement APP-PAGES-INTERACTION-HOVER-007 ([#2618](https://github.com/sovrium/sovrium/issues/2618)) ([270c3e2](https://github.com/sovrium/sovrium/commit/270c3e28ccadd9c7755b3e7be85fbadcf51db534))
826
- * implement APP-PAGES-INTERACTION-HOVER-009 ([#2628](https://github.com/sovrium/sovrium/issues/2628)) ([71bacdf](https://github.com/sovrium/sovrium/commit/71bacdfbeff6659a2d6f3a5cb1915bdc76efd22b))
827
- * implement APP-PAGES-INTERACTION-HOVER-010 ([#2631](https://github.com/sovrium/sovrium/issues/2631)) ([3886172](https://github.com/sovrium/sovrium/commit/38861729f7110e1eb53af107dd94626b1c42b6ed))
828
- * implement APP-PAGES-INTERACTION-MAIN-001 ([#2576](https://github.com/sovrium/sovrium/issues/2576)) ([035b7b4](https://github.com/sovrium/sovrium/commit/035b7b435933005cb713d09b3ff4b4f96acb1ec4))
829
- * implement APP-PAGES-INTERACTION-MAIN-002 ([#2584](https://github.com/sovrium/sovrium/issues/2584)) ([55bea07](https://github.com/sovrium/sovrium/commit/55bea075ac3d2cac998ea507796990466eb19fe9))
830
- * implement APP-PAGES-INTERACTION-MAIN-003 ([#2590](https://github.com/sovrium/sovrium/issues/2590)) ([dc910cd](https://github.com/sovrium/sovrium/commit/dc910cdee6135a4f37f550809a416c6ee30f0c76))
831
- * implement APP-PAGES-INTERACTION-MAIN-004 ([#2597](https://github.com/sovrium/sovrium/issues/2597)) ([82f9a81](https://github.com/sovrium/sovrium/commit/82f9a816281c72a8c2fa30cbe8e5b355dac7b479))
832
- * implement APP-PAGES-INTERACTION-MAIN-005 ([#2603](https://github.com/sovrium/sovrium/issues/2603)) ([8370947](https://github.com/sovrium/sovrium/commit/837094765500bd8824fdbae1897973b4f1946eb6))
833
- * implement APP-PAGES-INTERACTION-MAIN-005 ([#2604](https://github.com/sovrium/sovrium/issues/2604)) ([2658755](https://github.com/sovrium/sovrium/commit/26587558c42705883f4ba42792a66213370b76b6))
834
- * implement APP-PAGES-INTERACTION-MAIN-006 ([#2613](https://github.com/sovrium/sovrium/issues/2613)) ([8058083](https://github.com/sovrium/sovrium/commit/8058083b1f831890e0cc5ea912345a59d4f2acf8))
835
- * implement APP-PAGES-INTERACTION-MAIN-007 ([#2619](https://github.com/sovrium/sovrium/issues/2619)) ([96396d0](https://github.com/sovrium/sovrium/commit/96396d021589abae8025856e1473aab772f5d362))
836
- * implement APP-PAGES-INTERACTION-MAIN-008 ([#2625](https://github.com/sovrium/sovrium/issues/2625)) ([d5bca05](https://github.com/sovrium/sovrium/commit/d5bca0575ef462e9d8d03d2fc8741752a4a700ac))
837
- * implement APP-PAGES-INTERACTION-SCROLL-001 ([#2577](https://github.com/sovrium/sovrium/issues/2577)) ([8cf88a3](https://github.com/sovrium/sovrium/commit/8cf88a3b5978b618c26b1aa9433d6ef33ace4425))
838
- * implement APP-PAGES-INTERACTION-SCROLL-001 ([#2580](https://github.com/sovrium/sovrium/issues/2580)) ([2f9fd05](https://github.com/sovrium/sovrium/commit/2f9fd05dc156aa3dac7a9358be2a263a6c7ecc12))
839
- * implement APP-PAGES-INTERACTION-SCROLL-001 ([#2582](https://github.com/sovrium/sovrium/issues/2582)) ([befbb22](https://github.com/sovrium/sovrium/commit/befbb228d2ca4439ce45805d71b0c660a86f5871))
840
- * implement APP-PAGES-INTERACTION-SCROLL-002 - add fadeIn scroll animation support ([#2585](https://github.com/sovrium/sovrium/issues/2585)) ([3ca7c2f](https://github.com/sovrium/sovrium/commit/3ca7c2f24ee28a2c79f21a15787cfe018b5a065b))
841
- * implement APP-PAGES-INTERACTION-SCROLL-003 ([#2591](https://github.com/sovrium/sovrium/issues/2591)) ([4142df1](https://github.com/sovrium/sovrium/commit/4142df1685505f85a0cecb26d8c7a70d7096588a))
842
- * implement APP-PAGES-INTERACTION-SCROLL-003 ([#2593](https://github.com/sovrium/sovrium/issues/2593)) ([50fc8fe](https://github.com/sovrium/sovrium/commit/50fc8fec174f0db81685a1341680e9d67317f7ce))
843
- * implement APP-PAGES-INTERACTION-SCROLL-004 ([#2598](https://github.com/sovrium/sovrium/issues/2598)) ([f8778bd](https://github.com/sovrium/sovrium/commit/f8778bd59a6047911e923090c55398d6cc8be64d))
844
- * implement APP-PAGES-INTERACTION-SCROLL-004 ([#2599](https://github.com/sovrium/sovrium/issues/2599)) ([dbf2c7f](https://github.com/sovrium/sovrium/commit/dbf2c7fed261d9631400222fc98f60d60b1b0064))
845
- * implement APP-PAGES-INTERACTION-SCROLL-005 ([#2605](https://github.com/sovrium/sovrium/issues/2605)) ([a189e4f](https://github.com/sovrium/sovrium/commit/a189e4f57b7ba4323d4682e2a03d9feea1971890))
846
- * implement APP-PAGES-INTERACTION-SCROLL-005 ([#2606](https://github.com/sovrium/sovrium/issues/2606)) ([682c36c](https://github.com/sovrium/sovrium/commit/682c36c1a63a1697b4be9b49b6c9cdaf536cc3b2))
847
- * implement APP-PAGES-INTERACTION-SCROLL-006 ([#2614](https://github.com/sovrium/sovrium/issues/2614)) ([94e7425](https://github.com/sovrium/sovrium/commit/94e7425ba0b13143571529bc51576e5adbd11619))
848
- * implement APP-PAGES-INTERACTION-SCROLL-007 ([#2620](https://github.com/sovrium/sovrium/issues/2620)) ([0237862](https://github.com/sovrium/sovrium/commit/02378626813611f2979dab55db63817e9a14969c))
849
- * implement APP-PAGES-INTERACTION-SCROLL-008 ([#2626](https://github.com/sovrium/sovrium/issues/2626)) ([eaaea81](https://github.com/sovrium/sovrium/commit/eaaea81b983b1ac50c9a95bef47be70b99114dc6))
850
- * implement APP-PAGES-INTERACTION-SCROLL-010 ([#2633](https://github.com/sovrium/sovrium/issues/2633)) ([e8808e7](https://github.com/sovrium/sovrium/commit/e8808e76a5f22c0dd6fd57fcc9b647a764c0ef3b))
851
- * implement APP-PAGES-INTERACTION-SCROLL-010 ([#2634](https://github.com/sovrium/sovrium/issues/2634)) ([7619265](https://github.com/sovrium/sovrium/commit/7619265ff0618de80de1b6fb1d68c5b4126ba248))
852
- * implement APP-PAGES-INTERACTION-SCROLL-011 ([#2637](https://github.com/sovrium/sovrium/issues/2637)) ([2e78e5f](https://github.com/sovrium/sovrium/commit/2e78e5fdf04b3ea01bce45910c13b131f485ca67))
853
- * implement APP-PAGES-INTERACTION-SCROLL-011 ([#2638](https://github.com/sovrium/sovrium/issues/2638)) ([17fb937](https://github.com/sovrium/sovrium/commit/17fb93711f98fa2804b908cba157d5fd4a455807))
854
- * implement APP-PAGES-INTERACTION-SCROLL-012 ([#2641](https://github.com/sovrium/sovrium/issues/2641)) ([591e455](https://github.com/sovrium/sovrium/commit/591e4550867fc302cefef5377140376363aabc84))
855
- * implement APP-PAGES-INTERACTIONS-CLICK-INTERACTION-REGRESSION-001 ([#2642](https://github.com/sovrium/sovrium/issues/2642)) ([6074bd5](https://github.com/sovrium/sovrium/commit/6074bd5eff9030a3f2f1d803ed7c0ff705cc7d53))
856
- * implement APP-PAGES-INTERACTIONS-CLICK-INTERACTION-REGRESSION-001 ([#2643](https://github.com/sovrium/sovrium/issues/2643)) ([3d71f59](https://github.com/sovrium/sovrium/commit/3d71f594eeb7cfddbdfdde4c1bdd67754bd8b833))
857
- * implement APP-PAGES-INTERACTIONS-HOVER-INTERACTION-REGRESSION-001 ([#2645](https://github.com/sovrium/sovrium/issues/2645)) ([1d6ed78](https://github.com/sovrium/sovrium/commit/1d6ed780092ec636d905b530f5311298ca6f4a4e))
858
- * implement APP-PAGES-INTERACTIONS-REGRESSION-001 ([#2646](https://github.com/sovrium/sovrium/issues/2646)) ([19926a3](https://github.com/sovrium/sovrium/commit/19926a3adfb3f50d15be43bd33e0b5fc8a8dcc9e))
859
- * implement APP-PAGES-INTERACTIONS-SCROLL-INTERACTION-REGRESSION-001 ([#2647](https://github.com/sovrium/sovrium/issues/2647)) ([bddcfe8](https://github.com/sovrium/sovrium/commit/bddcfe85943207f552b5d3ef303886ef83eb3a34))
860
- * implement APP-PAGES-LAYOUT-001 ([#1710](https://github.com/sovrium/sovrium/issues/1710)) ([a5bcab6](https://github.com/sovrium/sovrium/commit/a5bcab637ccb6e6aa26adeff10299632893fce5f))
861
- * implement APP-PAGES-LAYOUT-001 ([#1711](https://github.com/sovrium/sovrium/issues/1711)) ([dc653f8](https://github.com/sovrium/sovrium/commit/dc653f8029d32aabed9d92f346b2d292124b2eca))
862
- * implement APP-PAGES-LAYOUT-002 - support minimal layout with navigation only ([#2676](https://github.com/sovrium/sovrium/issues/2676)) ([e61cff1](https://github.com/sovrium/sovrium/commit/e61cff1a86411b832d99b47b6d8170b4f5f094c5))
863
- * implement APP-PAGES-LAYOUT-003 ([a251b38](https://github.com/sovrium/sovrium/commit/a251b38a34ee09897ce21c6e56b481d842b0162d))
864
- * implement APP-PAGES-LAYOUT-003 - header and footer structure ([#2677](https://github.com/sovrium/sovrium/issues/2677)) ([93edf62](https://github.com/sovrium/sovrium/commit/93edf625a08bcdd0a4138b9b321debf99f552e89))
865
- * implement APP-PAGES-LAYOUT-003 ([#2678](https://github.com/sovrium/sovrium/issues/2678)) ([95724a2](https://github.com/sovrium/sovrium/commit/95724a2a437d0c86a2398b972bc22a0246e2b156))
866
- * implement APP-PAGES-LAYOUT-004 ([4e6c4ba](https://github.com/sovrium/sovrium/commit/4e6c4ba1c726ddb2cbcea82a307985b178ecc97f))
867
- * implement APP-PAGES-LAYOUT-004 - sidebar-based layouts ([#2679](https://github.com/sovrium/sovrium/issues/2679)) ([815f525](https://github.com/sovrium/sovrium/commit/815f525a92476d295e996a35e660aa43f8f3018e))
868
- * implement APP-PAGES-LAYOUT-005 ([#2680](https://github.com/sovrium/sovrium/issues/2680)) ([4e3691f](https://github.com/sovrium/sovrium/commit/4e3691ff3b17b1a8ad1f3db841c477efdb8ab977))
869
- * implement APP-PAGES-LAYOUT-006 ([#2682](https://github.com/sovrium/sovrium/issues/2682)) ([e7606a4](https://github.com/sovrium/sovrium/commit/e7606a4d55c453ba46fb2d91761d1974dbdf690c))
870
- * implement APP-PAGES-LAYOUT-007 ([#2681](https://github.com/sovrium/sovrium/issues/2681)) ([6fb0d08](https://github.com/sovrium/sovrium/commit/6fb0d080751f6b99a27b05c0976456f9f0cb2c58))
871
- * implement APP-PAGES-LAYOUT-008 ([#2683](https://github.com/sovrium/sovrium/issues/2683)) ([ec660fe](https://github.com/sovrium/sovrium/commit/ec660fe3ccabd0d6a86337431f73ade632789d1f))
872
- * implement APP-PAGES-LAYOUT-008 ([#2684](https://github.com/sovrium/sovrium/issues/2684)) ([da64ff8](https://github.com/sovrium/sovrium/commit/da64ff82bb09bdec2cfebed64d405dba8094caed))
873
- * implement APP-PAGES-LAYOUT-BANNER-REGRESSION-001 ([#2685](https://github.com/sovrium/sovrium/issues/2685)) ([cad92e3](https://github.com/sovrium/sovrium/commit/cad92e3c6dc944676fa74b1bd9aaeb07379b90bb))
874
- * implement APP-PAGES-LAYOUT-FOOTER-REGRESSION-001 ([#2686](https://github.com/sovrium/sovrium/issues/2686)) ([9436ad9](https://github.com/sovrium/sovrium/commit/9436ad9e62e1ca632813ff4e475a27d3f4b6045f))
875
- * implement APP-PAGES-LAYOUT-NAVIGATION-CTA-BUTTON-REGRESSION-001 ([#2687](https://github.com/sovrium/sovrium/issues/2687)) ([b46452c](https://github.com/sovrium/sovrium/commit/b46452c2e29b97d45bbabc7b22c3f9c7183a2a78))
876
- * implement APP-PAGES-LAYOUT-NAVIGATION-NAV-LINKS-REGRESSION-001 ([#2688](https://github.com/sovrium/sovrium/issues/2688)) ([dce626d](https://github.com/sovrium/sovrium/commit/dce626d2862d81094257b5fa5d1487d589b3075e))
877
- * implement APP-PAGES-LAYOUT-NAVIGATION-REGRESSION-001 ([#2689](https://github.com/sovrium/sovrium/issues/2689)) ([9a84e5c](https://github.com/sovrium/sovrium/commit/9a84e5c937c8e80c90e6530489df863aa83d7466))
878
- * implement APP-PAGES-LAYOUT-REGRESSION-001 ([#2690](https://github.com/sovrium/sovrium/issues/2690)) ([014e643](https://github.com/sovrium/sovrium/commit/014e6430818bda04b3d830d6e58febdb85f75686))
879
- * implement APP-PAGES-LAYOUT-REGRESSION-001 ([#2691](https://github.com/sovrium/sovrium/issues/2691)) ([69a4bff](https://github.com/sovrium/sovrium/commit/69a4bff2029a632f7782c840d7989c08cc1f5265))
880
- * implement APP-PAGES-LAYOUT-SIDEBAR-REGRESSION-001 ([#2692](https://github.com/sovrium/sovrium/issues/2692)) ([1ff046f](https://github.com/sovrium/sovrium/commit/1ff046fca69482540b66003735039c082f292d88))
881
- * implement APP-PAGES-LOCALBUSINESS-001 ([#1712](https://github.com/sovrium/sovrium/issues/1712)) ([b0b00fa](https://github.com/sovrium/sovrium/commit/b0b00faad9a47bfadc8e7557e2fa9d7e2575f245))
882
- * implement APP-PAGES-LOCALBUSINESS-002 ([#2693](https://github.com/sovrium/sovrium/issues/2693)) ([ead5330](https://github.com/sovrium/sovrium/commit/ead53303eaeafec510788c84b8c94c1bd487da3a))
883
- * implement APP-PAGES-LOCALBUSINESS-003 ([#2694](https://github.com/sovrium/sovrium/issues/2694)) ([90ca2c2](https://github.com/sovrium/sovrium/commit/90ca2c2d322d56a3853ec2c1d3ec6eef7845750f))
884
- * implement APP-PAGES-LOCALBUSINESS-004 ([#2695](https://github.com/sovrium/sovrium/issues/2695)) ([82b088a](https://github.com/sovrium/sovrium/commit/82b088aead63379115ec30df774c9106767e3b3d))
885
- * implement APP-PAGES-LOCALBUSINESS-004 ([#2696](https://github.com/sovrium/sovrium/issues/2696)) ([92a4d27](https://github.com/sovrium/sovrium/commit/92a4d2714da854f976e2472579b1fb4287044a05))
886
- * implement APP-PAGES-LOCALBUSINESS-005 ([#2697](https://github.com/sovrium/sovrium/issues/2697)) ([4d6758e](https://github.com/sovrium/sovrium/commit/4d6758e0ee9404ddc52bb007faef17336f0bf445))
887
- * implement APP-PAGES-LOCALBUSINESS-006 ([#2698](https://github.com/sovrium/sovrium/issues/2698)) ([3d757d3](https://github.com/sovrium/sovrium/commit/3d757d367d03ac168457d8e2d736c852c2813b8b))
888
- * implement APP-PAGES-LOCALBUSINESS-007 ([#2699](https://github.com/sovrium/sovrium/issues/2699)) ([c41da4c](https://github.com/sovrium/sovrium/commit/c41da4c37559700784c75887073f3cf7774e8d66))
889
- * implement APP-PAGES-LOCALBUSINESS-007 ([#2700](https://github.com/sovrium/sovrium/issues/2700)) ([2263617](https://github.com/sovrium/sovrium/commit/22636174cbb0b5099c7ac36d6ac6d2e910fe8fe6))
890
- * implement APP-PAGES-LOCALBUSINESS-008 ([#2701](https://github.com/sovrium/sovrium/issues/2701)) ([e638803](https://github.com/sovrium/sovrium/commit/e638803f23dd24d0ccda1dd64bf3d17aa40e8566))
891
- * implement APP-PAGES-LOCALBUSINESS-008 ([#2702](https://github.com/sovrium/sovrium/issues/2702)) ([41328ec](https://github.com/sovrium/sovrium/commit/41328ec7156155b7c13219eac0dfa9b006f50419))
892
- * implement APP-PAGES-LOCALBUSINESS-009 ([#2703](https://github.com/sovrium/sovrium/issues/2703)) ([e7eed16](https://github.com/sovrium/sovrium/commit/e7eed16ad9163babdd044cc1f6c60ad38da8aed6))
893
- * implement APP-PAGES-LOCALBUSINESS-009 ([#2704](https://github.com/sovrium/sovrium/issues/2704)) ([7892c1b](https://github.com/sovrium/sovrium/commit/7892c1b1914ae7711a4d251ac2478a3b243e4545))
894
- * implement APP-PAGES-LOCALBUSINESS-010 ([#2705](https://github.com/sovrium/sovrium/issues/2705)) ([03df7d3](https://github.com/sovrium/sovrium/commit/03df7d32a7a6ed8272f0d4c6905bcd68fde5a2d5))
895
- * implement APP-PAGES-LOCALBUSINESS-011 ([#2706](https://github.com/sovrium/sovrium/issues/2706)) ([d2a41e9](https://github.com/sovrium/sovrium/commit/d2a41e953d11cdb310024fbb275c9692c925c73c))
896
- * implement APP-PAGES-LOCALBUSINESS-012 ([#2707](https://github.com/sovrium/sovrium/issues/2707)) ([0caa6f6](https://github.com/sovrium/sovrium/commit/0caa6f69c1b5483be3c06ed0e15c4dc19737f286))
897
- * implement APP-PAGES-LOCALBUSINESS-012 ([#2708](https://github.com/sovrium/sovrium/issues/2708)) ([86497a8](https://github.com/sovrium/sovrium/commit/86497a8d6ae23763d26ca2cfd6b04e4754bcc470))
898
- * implement APP-PAGES-LOCALBUSINESS-013 ([#2709](https://github.com/sovrium/sovrium/issues/2709)) ([1b9c246](https://github.com/sovrium/sovrium/commit/1b9c2461230ae67e050c2fe918f7fd212bd1c191))
899
- * implement APP-PAGES-LOCALBUSINESS-014 ([#2710](https://github.com/sovrium/sovrium/issues/2710)) ([07b38a1](https://github.com/sovrium/sovrium/commit/07b38a1f9e83089b696b19753a1c4dc28a558e30))
900
- * implement APP-PAGES-LOCALBUSINESS-014 ([#2711](https://github.com/sovrium/sovrium/issues/2711)) ([d4aa567](https://github.com/sovrium/sovrium/commit/d4aa5675a4f9ad49d6f754198261f6d335a726cd))
901
- * implement APP-PAGES-META-001 - validate minimal metadata configuration ([#1713](https://github.com/sovrium/sovrium/issues/1713)) ([4c7717a](https://github.com/sovrium/sovrium/commit/4c7717ae5692f145074c91f84cd78a90f0351e2d))
902
- * implement APP-PAGES-META-002 ([#2712](https://github.com/sovrium/sovrium/issues/2712)) ([49a2fd1](https://github.com/sovrium/sovrium/commit/49a2fd1b5554e6fed20b57049d5c9e1f856a7cff))
903
- * implement APP-PAGES-META-003 ([#2713](https://github.com/sovrium/sovrium/issues/2713)) ([0fd4caf](https://github.com/sovrium/sovrium/commit/0fd4cafe9909f94e31c4770ff3fe1c0d3563f718))
904
- * implement APP-PAGES-META-004 ([#2714](https://github.com/sovrium/sovrium/issues/2714)) ([204228f](https://github.com/sovrium/sovrium/commit/204228fcfbadfe7f2f02381677f6ea7a384267c6))
905
- * implement APP-PAGES-META-005 (canonical URL support) ([#2715](https://github.com/sovrium/sovrium/issues/2715)) ([ef081c2](https://github.com/sovrium/sovrium/commit/ef081c278a7e285b6397993ac8983f656f1308d5))
906
- * implement APP-PAGES-META-006 (favicons config support) ([#2716](https://github.com/sovrium/sovrium/issues/2716)) ([97bd2bc](https://github.com/sovrium/sovrium/commit/97bd2bc43ea6752c22d5eda8b6c0f819b318f804))
907
- * implement APP-PAGES-META-009 - Schema.org structured data JSON-LD rendering ([#2719](https://github.com/sovrium/sovrium/issues/2719)) ([0844305](https://github.com/sovrium/sovrium/commit/0844305de6e2c6efff48847465d51213cd1cf60e))
908
- * implement APP-PAGES-META-010 - Page load performance optimizations (preload and DNS prefetch) ([#2720](https://github.com/sovrium/sovrium/issues/2720)) ([f67cb0b](https://github.com/sovrium/sovrium/commit/f67cb0bccb2d580d44e3701d96141a594d5c0c93))
909
- * implement APP-PAGES-META-012 ([#2722](https://github.com/sovrium/sovrium/issues/2722)) ([824aef9](https://github.com/sovrium/sovrium/commit/824aef9dafc7c32dd7b6c30284a35df0dfdc0973)), closes [#2721](https://github.com/sovrium/sovrium/issues/2721)
910
- * implement APP-PAGES-META-FAVICONS-FAVICON-REGRESSION-001 ([#2726](https://github.com/sovrium/sovrium/issues/2726)) ([e3c02fb](https://github.com/sovrium/sovrium/commit/e3c02fb7423b8d368eff9de7b5ede3d475b2127a))
911
- * implement APP-PAGES-META-FAVICONS-FAVICON-SET-REGRESSION-001 ([#2727](https://github.com/sovrium/sovrium/issues/2727)) ([6b6977f](https://github.com/sovrium/sovrium/commit/6b6977fd0382532c79aa91df2327e7d371033f5e))
912
- * implement APP-PAGES-META-PERFORMANCE-PRELOAD-REGRESSION-001 ([#2729](https://github.com/sovrium/sovrium/issues/2729)) ([af0f805](https://github.com/sovrium/sovrium/commit/af0f805f02e5b48e9209f82bc9494e46ecdb8059))
913
- * implement APP-PAGES-META-REGRESSION-001 ([#2731](https://github.com/sovrium/sovrium/issues/2731)) ([23d19e7](https://github.com/sovrium/sovrium/commit/23d19e7d0066f64c470ac2c8ca73607005966675))
914
- * implement APP-PAGES-META-SOCIAL-OPEN-GRAPH-REGRESSION-001 ([#2732](https://github.com/sovrium/sovrium/issues/2732)) ([50b2b95](https://github.com/sovrium/sovrium/commit/50b2b9589f13dbf34a798cae0880bb927d199420))
915
- * implement APP-PAGES-META-SOCIAL-OPEN-GRAPH-REGRESSION-001 ([#2733](https://github.com/sovrium/sovrium/issues/2733)) ([460aa88](https://github.com/sovrium/sovrium/commit/460aa886b4f680619dffbb73558835ff990c51fd))
916
- * implement APP-PAGES-META-SOCIAL-TWITTER-CARD-REGRESSION-001 ([#2734](https://github.com/sovrium/sovrium/issues/2734)) ([44cb514](https://github.com/sovrium/sovrium/commit/44cb514fe44f23ca630f1e8b2ca4f5acc8276f1e))
917
- * implement APP-PAGES-META-STRUCTURED-DATA-FAQ-PAGE-REGRESSION-001 ([#2737](https://github.com/sovrium/sovrium/issues/2737)) ([c105808](https://github.com/sovrium/sovrium/commit/c105808e32c1581241dd326a54334ce70dc1222b))
918
- * implement APP-PAGES-META-STRUCTURED-DATA-LOCAL-BUSINESS-REGRESSION-001 ([#2738](https://github.com/sovrium/sovrium/issues/2738)) ([fc62da3](https://github.com/sovrium/sovrium/commit/fc62da379acc0ae4cf31b04ecb78136207c1bc78))
919
- * implement APP-PAGES-META-STRUCTURED-DATA-LOCAL-BUSINESS-REGRESSION-001 ([#2739](https://github.com/sovrium/sovrium/issues/2739)) ([e9e46af](https://github.com/sovrium/sovrium/commit/e9e46af3efe32a03e400f87c42699447a88c03e0))
920
- * implement APP-PAGES-META-STRUCTURED-DATA-ORGANIZATION-REGRESSION-001 ([#2742](https://github.com/sovrium/sovrium/issues/2742)) ([bf615f7](https://github.com/sovrium/sovrium/commit/bf615f771925f5bb6e2b7be73a1da11a7c2307d3))
921
- * implement APP-PAGES-META-STRUCTURED-DATA-PERSON-REGRESSION-001 ([#2740](https://github.com/sovrium/sovrium/issues/2740)) ([c1c6805](https://github.com/sovrium/sovrium/commit/c1c68055dae0b05a997830a6337c2c46c838cb5a))
922
- * implement APP-PAGES-META-STRUCTURED-DATA-POSTAL-ADDRESS-REGRESSION-001 ([#2741](https://github.com/sovrium/sovrium/issues/2741)) ([2f4ebb9](https://github.com/sovrium/sovrium/commit/2f4ebb930eabb9b4981b02a8ddc53c69cf3a48ce))
923
- * implement APP-PAGES-META-STRUCTURED-DATA-PRODUCT-REGRESSION-001 ([#2743](https://github.com/sovrium/sovrium/issues/2743)) ([e46ab8e](https://github.com/sovrium/sovrium/commit/e46ab8ee44eb550e3e20ff536c50f0385c7e329b))
924
- * implement APP-PAGES-META-STRUCTURED-DATA-REGRESSION-001 ([#2746](https://github.com/sovrium/sovrium/issues/2746)) ([5fed450](https://github.com/sovrium/sovrium/commit/5fed450a6404a4478474ea6c46d2d98e5236e353))
925
- * implement APP-PAGES-NAME-001 ([#1714](https://github.com/sovrium/sovrium/issues/1714)) ([0369646](https://github.com/sovrium/sovrium/commit/0369646649172863197f2a1aaa2b3f28333e6f4f))
926
- * implement APP-PAGES-NAME-007 - make page name field required ([#2755](https://github.com/sovrium/sovrium/issues/2755)) ([82c9fb0](https://github.com/sovrium/sovrium/commit/82c9fb08ae51ff0e7f06d5661b89a902384e9eea))
927
- * implement APP-PAGES-NAME-007 ([#2745](https://github.com/sovrium/sovrium/issues/2745)) ([d48aa31](https://github.com/sovrium/sovrium/commit/d48aa31db0007973d9b45baa61ddcef3c8cb7eb3))
928
- * implement APP-PAGES-NAME-007 ([#2747](https://github.com/sovrium/sovrium/issues/2747)) ([b533e0a](https://github.com/sovrium/sovrium/commit/b533e0ae945afb7f66896b0f0fcde8ba2091d7b0))
929
- * implement APP-PAGES-NAME-REGRESSION-001 ([e5e6f91](https://github.com/sovrium/sovrium/commit/e5e6f916a365cf744bee31ce7486bca2293c71a8))
930
- * implement APP-PAGES-NAV-001 ([38c4d4d](https://github.com/sovrium/sovrium/commit/38c4d4dd1cc4fd19ac07c942309cce8981d03ca5))
931
- * implement APP-PAGES-NAV-001 ([#1715](https://github.com/sovrium/sovrium/issues/1715)) ([2323bf4](https://github.com/sovrium/sovrium/commit/2323bf439f93a49d50da199023f311f811476d1a))
932
- * implement APP-PAGES-NAV-002 ([#2753](https://github.com/sovrium/sovrium/issues/2753)) ([397846a](https://github.com/sovrium/sovrium/commit/397846a4e41d3a4e9b7113371c1da995d29d4c96))
933
- * implement APP-PAGES-NAV-003 ([#2750](https://github.com/sovrium/sovrium/issues/2750)) ([1707fd7](https://github.com/sovrium/sovrium/commit/1707fd7dda8ba758986b7cad4d93527e7c5620b2))
934
- * implement APP-PAGES-NAV-004 sticky navigation ([#2752](https://github.com/sovrium/sovrium/issues/2752)) ([330dbf8](https://github.com/sovrium/sovrium/commit/330dbf891bb4d7446d0050a00f934ac96a4c97c1))
935
- * implement APP-PAGES-NAV-005 - transparent navigation with scroll detection ([#2764](https://github.com/sovrium/sovrium/issues/2764)) ([5a98938](https://github.com/sovrium/sovrium/commit/5a9893893f36b2714b0b340ca769944785dd4120))
936
- * implement APP-PAGES-NAV-005 ([#2763](https://github.com/sovrium/sovrium/issues/2763)) ([af5f722](https://github.com/sovrium/sovrium/commit/af5f7224b1acbccb92577afc76b625f0c3555fe8))
937
- * implement APP-PAGES-NAV-006 ([#2761](https://github.com/sovrium/sovrium/issues/2761)) ([c08f139](https://github.com/sovrium/sovrium/commit/c08f139f235fad0caef34c70c2087a5d0487b056))
938
- * implement APP-PAGES-NAV-007 ([e8f9ab7](https://github.com/sovrium/sovrium/commit/e8f9ab7690cfc380f3c122436c61b960e58df7c4))
939
- * implement APP-PAGES-NAV-007 ([#2762](https://github.com/sovrium/sovrium/issues/2762)) ([e3fe2d2](https://github.com/sovrium/sovrium/commit/e3fe2d2734e460f59357cd306bfc56acc30e6fcf))
940
- * implement APP-PAGES-NAV-008 ([#2765](https://github.com/sovrium/sovrium/issues/2765)) ([c8b9f7e](https://github.com/sovrium/sovrium/commit/c8b9f7e6e3bdb41e75a866816a0e43de68d22235)), closes [#2](https://github.com/sovrium/sovrium/issues/2)
941
- * implement APP-PAGES-NAV-008 ([#2766](https://github.com/sovrium/sovrium/issues/2766)) ([be14590](https://github.com/sovrium/sovrium/commit/be145901dd9da14e258e35fdda97a98fc8ca1e60))
942
- * implement APP-PAGES-NAV-009 ([#2768](https://github.com/sovrium/sovrium/issues/2768)) ([6705d81](https://github.com/sovrium/sovrium/commit/6705d81c142b107387530e05fe21feebb237fec0))
943
- * implement APP-PAGES-NAV-010 ([#2769](https://github.com/sovrium/sovrium/issues/2769)) ([958ec73](https://github.com/sovrium/sovrium/commit/958ec7357e6476c9fd8528e5e11a7ae94c27b402))
944
- * implement APP-PAGES-NAV-011 ([#2770](https://github.com/sovrium/sovrium/issues/2770)) ([c362d24](https://github.com/sovrium/sovrium/commit/c362d247e69a6c9801c5bb2a2e701138cd1d1274))
945
- * implement APP-PAGES-NAV-012 ([#2771](https://github.com/sovrium/sovrium/issues/2771)) ([9e00744](https://github.com/sovrium/sovrium/commit/9e007443aeec941be1f71a06d3fcf52101c98f5f))
946
- * implement APP-PAGES-NAVLINKS-001 ([#1716](https://github.com/sovrium/sovrium/issues/1716)) ([ff6077a](https://github.com/sovrium/sovrium/commit/ff6077a1c5f0975dc19dc95ec3f0e26454c0a01e))
947
- * implement APP-PAGES-NAVLINKS-002 ([#2772](https://github.com/sovrium/sovrium/issues/2772)) ([9f16e43](https://github.com/sovrium/sovrium/commit/9f16e4384d8183a8d66e666c0495ee9901f9bb5b))
948
- * implement APP-PAGES-NAVLINKS-002 ([#2773](https://github.com/sovrium/sovrium/issues/2773)) ([4aecbc8](https://github.com/sovrium/sovrium/commit/4aecbc8941d17ef7d6360677ef9d03189a39b253))
949
- * implement APP-PAGES-NAVLINKS-003 ([#2774](https://github.com/sovrium/sovrium/issues/2774)) ([f378128](https://github.com/sovrium/sovrium/commit/f378128740815802fcc64067b9c04f1e9d847803))
950
- * implement APP-PAGES-NAVLINKS-003 ([#2775](https://github.com/sovrium/sovrium/issues/2775)) ([b657aa7](https://github.com/sovrium/sovrium/commit/b657aa77f78866a5afce2c1539acf63a84107242))
951
- * implement APP-PAGES-NAVLINKS-004 ([#2776](https://github.com/sovrium/sovrium/issues/2776)) ([495a303](https://github.com/sovrium/sovrium/commit/495a303a3edd317d44031aac888fc7f540b676b5))
952
- * implement APP-PAGES-NAVLINKS-005 ([#2777](https://github.com/sovrium/sovrium/issues/2777)) ([ed0c823](https://github.com/sovrium/sovrium/commit/ed0c823e6035dacfd5ac6b1c116a3f4b555e3bca))
953
- * implement APP-PAGES-NAVLINKS-005 ([#2778](https://github.com/sovrium/sovrium/issues/2778)) ([69c2e9a](https://github.com/sovrium/sovrium/commit/69c2e9a24c97e489f7c2d43992cd0a57eb13c3f5))
954
- * implement APP-PAGES-NAVLINKS-006 ([#2779](https://github.com/sovrium/sovrium/issues/2779)) ([23a512e](https://github.com/sovrium/sovrium/commit/23a512e5f14f75936d49507e5d9047e8665738c7))
955
- * implement APP-PAGES-NAVLINKS-007 ([#2780](https://github.com/sovrium/sovrium/issues/2780)) ([930e8b5](https://github.com/sovrium/sovrium/commit/930e8b523aec67134c0bd8509eea71d587f12312))
956
- * implement APP-PAGES-NAVLINKS-007 ([#2781](https://github.com/sovrium/sovrium/issues/2781)) ([b238830](https://github.com/sovrium/sovrium/commit/b238830c3f7c700445d2640594cf5d16ec21e7e8))
957
- * implement APP-PAGES-NAVLINKS-008 - support unlimited nesting depth for menus ([#2782](https://github.com/sovrium/sovrium/issues/2782)) ([dc54efa](https://github.com/sovrium/sovrium/commit/dc54efa2ad7173b71f87c6123587bc56af28232d))
958
- * implement APP-PAGES-NAVLINKS-008 ([#2783](https://github.com/sovrium/sovrium/issues/2783)) ([6368594](https://github.com/sovrium/sovrium/commit/636859420d23523e43e1896a29cca9fcb558cbda))
959
- * implement APP-PAGES-NAVLINKS-009 ([#2784](https://github.com/sovrium/sovrium/issues/2784)) ([c6252ab](https://github.com/sovrium/sovrium/commit/c6252abcb18ca2206ed42b49167d9b27271aa791))
960
- * implement APP-PAGES-NAVLINKS-010 ([#2785](https://github.com/sovrium/sovrium/issues/2785)) ([da7c38d](https://github.com/sovrium/sovrium/commit/da7c38d890fab883fa0cbb4fc56ff5e5abd12e28))
961
- * implement APP-PAGES-NAVLINKS-010 ([#2786](https://github.com/sovrium/sovrium/issues/2786)) ([52b7006](https://github.com/sovrium/sovrium/commit/52b7006ce12b27f3381eb2e76875d13a801d080b))
962
- * implement APP-PAGES-OG-001 ([#2787](https://github.com/sovrium/sovrium/issues/2787)) ([f5e7231](https://github.com/sovrium/sovrium/commit/f5e72319a20e75c863c11efb440718813e2c712a))
963
- * implement APP-PAGES-OG-002 ([#2788](https://github.com/sovrium/sovrium/issues/2788)) ([40a8313](https://github.com/sovrium/sovrium/commit/40a83136bf8bd04704cfe6147a92da13eeafc536))
964
- * implement APP-PAGES-OG-003 ([#2789](https://github.com/sovrium/sovrium/issues/2789)) ([cf9fe79](https://github.com/sovrium/sovrium/commit/cf9fe792e70dd6d33f91db5b5eeb54a1f0a763fd))
965
- * implement APP-PAGES-OG-004 ([#2790](https://github.com/sovrium/sovrium/issues/2790)) ([b99b536](https://github.com/sovrium/sovrium/commit/b99b536e500daf496acccb8118c3742e9545f1c8))
966
- * implement APP-PAGES-OG-005 ([#2791](https://github.com/sovrium/sovrium/issues/2791)) ([6096771](https://github.com/sovrium/sovrium/commit/6096771f9c2e5c099c346809bc2427513776ef80))
967
- * implement APP-PAGES-OG-006 ([#2792](https://github.com/sovrium/sovrium/issues/2792)) ([1d5a31a](https://github.com/sovrium/sovrium/commit/1d5a31a08e7e570c342af91d33510070c080dd23))
968
- * implement APP-PAGES-OG-007 - Open Graph siteName support ([#2793](https://github.com/sovrium/sovrium/issues/2793)) ([4012a67](https://github.com/sovrium/sovrium/commit/4012a67fc98394af298005f60d91c2e8b80c654f))
969
- * implement APP-PAGES-OG-008 - Open Graph locale support ([#2794](https://github.com/sovrium/sovrium/issues/2794)) ([2bd06c2](https://github.com/sovrium/sovrium/commit/2bd06c221a6080c6bfd5a1a24926494ad76c09ae))
970
- * implement APP-PAGES-OG-008 - Open Graph locale support ([#2796](https://github.com/sovrium/sovrium/issues/2796)) ([0bce750](https://github.com/sovrium/sovrium/commit/0bce750fffbbeb9c091d143c4c008b6a586e1316))
971
- * implement APP-PAGES-OG-009 - Open Graph determiner support ([#2795](https://github.com/sovrium/sovrium/issues/2795)) ([ade6ed8](https://github.com/sovrium/sovrium/commit/ade6ed80ffc949a4f1020307ffa0d9823fb7084f))
972
- * implement APP-PAGES-OG-009 - Open Graph determiner support ([#2797](https://github.com/sovrium/sovrium/issues/2797)) ([63d632b](https://github.com/sovrium/sovrium/commit/63d632b4d5ab630f23fe04fe42ff33f26256c5eb))
973
- * implement APP-PAGES-OG-010 - Open Graph video support ([#2798](https://github.com/sovrium/sovrium/issues/2798)) ([66c6df5](https://github.com/sovrium/sovrium/commit/66c6df500ee4f36d9fd111c97abc23ab3b6372fd))
974
- * implement APP-PAGES-OG-011 - audio content sharing ([#2799](https://github.com/sovrium/sovrium/issues/2799)) ([0f3b791](https://github.com/sovrium/sovrium/commit/0f3b7910eee72af7af990d4f49d778048eeeb01e))
975
- * implement APP-PAGES-OG-011 - audio content sharing ([#2800](https://github.com/sovrium/sovrium/issues/2800)) ([ff8ad3f](https://github.com/sovrium/sovrium/commit/ff8ad3fad34ade27a3f7d9b4af06433085aedc41))
976
- * implement APP-PAGES-OG-012 ([#2801](https://github.com/sovrium/sovrium/issues/2801)) ([cf0ed9e](https://github.com/sovrium/sovrium/commit/cf0ed9ec115142d549244469f4ef793559e03714))
977
- * implement APP-PAGES-OG-012 ([#2802](https://github.com/sovrium/sovrium/issues/2802)) ([f96243f](https://github.com/sovrium/sovrium/commit/f96243f4cda8c78fbf60c2d3a76d4e0a0eb9a798))
978
- * implement APP-PAGES-ORGANIZATION-001 ([#2803](https://github.com/sovrium/sovrium/issues/2803)) ([8f6a34d](https://github.com/sovrium/sovrium/commit/8f6a34df9e1ed59c000b0694c73cf3f3c235839c))
979
- * implement APP-PAGES-ORGANIZATION-002 ([#2804](https://github.com/sovrium/sovrium/issues/2804)) ([b46be53](https://github.com/sovrium/sovrium/commit/b46be538c56361e5bfdac1cc548f0cee37fac339))
980
- * implement APP-PAGES-ORGANIZATION-003 ([#2805](https://github.com/sovrium/sovrium/issues/2805)) ([d730455](https://github.com/sovrium/sovrium/commit/d730455d7eef55d20d039e3f8b29ce6f9f3df71d))
981
- * implement APP-PAGES-ORGANIZATION-004 ([#2806](https://github.com/sovrium/sovrium/issues/2806)) ([e8b8899](https://github.com/sovrium/sovrium/commit/e8b889964ec6c20c2c05eef76a3864ded331e7df))
982
- * implement APP-PAGES-ORGANIZATION-004 ([#2807](https://github.com/sovrium/sovrium/issues/2807)) ([67fe49e](https://github.com/sovrium/sovrium/commit/67fe49e9f5131adf802c03f2d5b6136c076f50a7))
983
- * implement APP-PAGES-ORGANIZATION-005 ([#2808](https://github.com/sovrium/sovrium/issues/2808)) ([5c71294](https://github.com/sovrium/sovrium/commit/5c712945c505703bb1511306624a1c5d7f143f46))
984
- * implement APP-PAGES-ORGANIZATION-006 ([#2809](https://github.com/sovrium/sovrium/issues/2809)) ([749fc86](https://github.com/sovrium/sovrium/commit/749fc8684603d6f4c8671a5b779949c7deb75c8d))
985
- * implement APP-PAGES-ORGANIZATION-007 ([#2810](https://github.com/sovrium/sovrium/issues/2810)) ([dfff3ef](https://github.com/sovrium/sovrium/commit/dfff3ef83a1ffad6c27bef984dab2b1f7c44963f))
986
- * implement APP-PAGES-ORGANIZATION-007 ([#2811](https://github.com/sovrium/sovrium/issues/2811)) ([8f35da0](https://github.com/sovrium/sovrium/commit/8f35da07d46e84f12c2ac118012d739a48daf998))
987
- * implement APP-PAGES-ORGANIZATION-008 ([#2812](https://github.com/sovrium/sovrium/issues/2812)) ([12121a6](https://github.com/sovrium/sovrium/commit/12121a6caba6486c40d5a9af66ec3334e48e3631))
988
- * implement APP-PAGES-ORGANIZATION-009 ([#2813](https://github.com/sovrium/sovrium/issues/2813)) ([9ae07dd](https://github.com/sovrium/sovrium/commit/9ae07dd8a19b6e1a616f5846d4fc28ce00bff503))
989
- * implement APP-PAGES-ORGANIZATION-010 ([#2814](https://github.com/sovrium/sovrium/issues/2814)) ([674a41c](https://github.com/sovrium/sovrium/commit/674a41cf8d745e0ea7d7b228ef0035fcca6d7bc3))
990
- * implement APP-PAGES-ORGANIZATION-011 ([#2815](https://github.com/sovrium/sovrium/issues/2815)) ([f150858](https://github.com/sovrium/sovrium/commit/f15085821e617e6b5baca4dbe99f7b258eb95189))
991
- * implement APP-PAGES-ORGANIZATION-012 ([#2816](https://github.com/sovrium/sovrium/issues/2816)) ([1dc6683](https://github.com/sovrium/sovrium/commit/1dc6683f9f64471c75ed556cbc0322aab3828062))
992
- * implement APP-PAGES-ORGANIZATION-012 ([#2818](https://github.com/sovrium/sovrium/issues/2818)) ([d3b1dbc](https://github.com/sovrium/sovrium/commit/d3b1dbcb2c08c6abab8e281bca0d48d706fb28ff))
993
- * implement APP-PAGES-ORGANIZATION-013 ([#2820](https://github.com/sovrium/sovrium/issues/2820)) ([e878607](https://github.com/sovrium/sovrium/commit/e8786074f46e15fee66c97fdc7eae178f4667f53))
994
- * implement APP-PAGES-ORGANIZATION-013 ([#2822](https://github.com/sovrium/sovrium/issues/2822)) ([f853a31](https://github.com/sovrium/sovrium/commit/f853a31b38972faf78f55e6fe441354c354b8ee2))
995
- * implement APP-PAGES-ORGANIZATION-014 ([#2824](https://github.com/sovrium/sovrium/issues/2824)) ([c142ec3](https://github.com/sovrium/sovrium/commit/c142ec30d6bbdff9a12e3339cb78228dcad1a1a8))
996
- * implement APP-PAGES-PATH-001 ([#2825](https://github.com/sovrium/sovrium/issues/2825)) ([536a845](https://github.com/sovrium/sovrium/commit/536a845b63072ec55eb85c6a97dae1ae7521b661))
997
- * implement APP-PAGES-PATH-002 ([#2826](https://github.com/sovrium/sovrium/issues/2826)) ([db77c12](https://github.com/sovrium/sovrium/commit/db77c1216b3bcccbe27f3cd6e5be80fb6a97dd09))
998
- * implement APP-PAGES-PATH-003 ([#2827](https://github.com/sovrium/sovrium/issues/2827)) ([ce81b2f](https://github.com/sovrium/sovrium/commit/ce81b2f2862b67a0dc04f104b38dd648e3df9fa5))
999
- * implement APP-PAGES-PATH-004 ([#2828](https://github.com/sovrium/sovrium/issues/2828)) ([d16fc7b](https://github.com/sovrium/sovrium/commit/d16fc7b7fce10f26f457a8fc4484f33b4b3e87d8))
1000
- * implement APP-PAGES-PATH-005 ([#2829](https://github.com/sovrium/sovrium/issues/2829)) ([b6cf53f](https://github.com/sovrium/sovrium/commit/b6cf53fa5e0e2582cdf348b8da799fa086b3aec7))
1001
- * implement APP-PAGES-PATH-005 ([#2830](https://github.com/sovrium/sovrium/issues/2830)) ([ee17cf0](https://github.com/sovrium/sovrium/commit/ee17cf006b187430a62b3763596ab488414b9331))
1002
- * implement APP-PAGES-PATH-006 ([#2831](https://github.com/sovrium/sovrium/issues/2831)) ([baa9cbd](https://github.com/sovrium/sovrium/commit/baa9cbde152cc620f82083525dbfdf9aa0156cf9))
1003
- * implement APP-PAGES-PATH-006 ([#2832](https://github.com/sovrium/sovrium/issues/2832)) ([9098611](https://github.com/sovrium/sovrium/commit/90986118f84f00354b7b6ca4129be6f9e3acbd78))
1004
- * implement APP-PAGES-PATH-008 ([#2833](https://github.com/sovrium/sovrium/issues/2833)) ([5128587](https://github.com/sovrium/sovrium/commit/51285876f87cb17595567c7d3c0c5f7ef8e868f5))
1005
- * implement APP-PAGES-PATH-008 ([#2834](https://github.com/sovrium/sovrium/issues/2834)) ([73e178c](https://github.com/sovrium/sovrium/commit/73e178c864c167a443d4bd187bd5cb352ac66439))
1006
- * implement APP-PAGES-PATH-009 ([#2835](https://github.com/sovrium/sovrium/issues/2835)) ([552957c](https://github.com/sovrium/sovrium/commit/552957c9cc4e1d7ae862993a72caaa8fc27a944c))
1007
- * implement APP-PAGES-PATH-009 ([#2836](https://github.com/sovrium/sovrium/issues/2836)) ([b74eb2f](https://github.com/sovrium/sovrium/commit/b74eb2f91ad68b732764da7773fba5bb6368e6a4))
1008
- * implement APP-PAGES-PATH-015 ([#2838](https://github.com/sovrium/sovrium/issues/2838)) ([7c4d1ef](https://github.com/sovrium/sovrium/commit/7c4d1ef8e7a92c4d211079cd48730aea04dd389b))
1009
- * implement APP-PAGES-PATH-REGRESSION-001 ([#2839](https://github.com/sovrium/sovrium/issues/2839)) ([d54ea03](https://github.com/sovrium/sovrium/commit/d54ea03588c8dfe5b8b41d9b06229d131160b10a))
1010
- * implement APP-PAGES-PERSON-001 ([#2840](https://github.com/sovrium/sovrium/issues/2840)) ([9078c74](https://github.com/sovrium/sovrium/commit/9078c74a2f39c18939a679d76a6fba7c984bc84a))
1011
- * implement APP-PAGES-PERSON-002 ([#2841](https://github.com/sovrium/sovrium/issues/2841)) ([d6c3790](https://github.com/sovrium/sovrium/commit/d6c3790679185a973403d60667268ea838894ec2))
1012
- * implement APP-PAGES-PERSON-003 ([#2842](https://github.com/sovrium/sovrium/issues/2842)) ([ecbfc10](https://github.com/sovrium/sovrium/commit/ecbfc10b3cfa6445c9a34bb33c3f2c3073ace4fb))
1013
- * implement APP-PAGES-PERSON-004 ([#2843](https://github.com/sovrium/sovrium/issues/2843)) ([49eea5c](https://github.com/sovrium/sovrium/commit/49eea5cc1bf1e373e8ec79fdd406644d8f55ff8c)), closes [#1](https://github.com/sovrium/sovrium/issues/1) [#2](https://github.com/sovrium/sovrium/issues/2)
1014
- * implement APP-PAGES-PERSON-005 ([#2845](https://github.com/sovrium/sovrium/issues/2845)) ([8954ed9](https://github.com/sovrium/sovrium/commit/8954ed9677a238af86cd27bf0f42004daec8bbd3))
1015
- * implement APP-PAGES-PERSON-006 ([#2846](https://github.com/sovrium/sovrium/issues/2846)) ([47dc2c4](https://github.com/sovrium/sovrium/commit/47dc2c47ca09829197fb2e8822aa8dbe629c2581))
1016
- * implement APP-PAGES-PERSON-006 ([#2847](https://github.com/sovrium/sovrium/issues/2847)) ([c859ae2](https://github.com/sovrium/sovrium/commit/c859ae2fb6b01af7ec25c4e182d5e6ed6b0fc150))
1017
- * implement APP-PAGES-PERSON-007 ([#2848](https://github.com/sovrium/sovrium/issues/2848)) ([d9bbcde](https://github.com/sovrium/sovrium/commit/d9bbcdee50e9e3b50ea4b969aa6d0a413b90d0cf))
1018
- * implement APP-PAGES-PERSON-008 ([#2849](https://github.com/sovrium/sovrium/issues/2849)) ([4c8b280](https://github.com/sovrium/sovrium/commit/4c8b2809410eb2192f69d09b67d10c2dab5e48f4))
1019
- * implement APP-PAGES-PERSON-009 ([#2850](https://github.com/sovrium/sovrium/issues/2850)) ([6180a98](https://github.com/sovrium/sovrium/commit/6180a98e28722f858c3ff986144ba1fbb56302ca))
1020
- * implement APP-PAGES-PERSON-009 ([#2851](https://github.com/sovrium/sovrium/issues/2851)) ([661fafa](https://github.com/sovrium/sovrium/commit/661fafadcf1ab1f0e983060869afed88ceba8bf5))
1021
- * implement APP-PAGES-PERSON-010 ([#2852](https://github.com/sovrium/sovrium/issues/2852)) ([93230dd](https://github.com/sovrium/sovrium/commit/93230dd83f8c6a751866d35747811299d1bcf257))
1022
- * implement APP-PAGES-PERSON-010 ([#2853](https://github.com/sovrium/sovrium/issues/2853)) ([32b0b4e](https://github.com/sovrium/sovrium/commit/32b0b4efe6e9268ab971d1b877f44a74393026de))
1023
- * implement APP-PAGES-PERSON-011 ([#2854](https://github.com/sovrium/sovrium/issues/2854)) ([f6d148d](https://github.com/sovrium/sovrium/commit/f6d148dfe83584b8f79f7de6d9ad051d4ebfb3da))
1024
- * implement APP-PAGES-PERSON-012 ([#2855](https://github.com/sovrium/sovrium/issues/2855)) ([f17b158](https://github.com/sovrium/sovrium/commit/f17b158ba99eb6038a2d26ca0c0d7c1147c2e684))
1025
- * implement APP-PAGES-POSTALADDRESS-001 ([#2856](https://github.com/sovrium/sovrium/issues/2856)) ([2b69471](https://github.com/sovrium/sovrium/commit/2b6947130b05c55ef5afb24e4cb8cd8f4875c793))
1026
- * implement APP-PAGES-POSTALADDRESS-002 ([#2857](https://github.com/sovrium/sovrium/issues/2857)) ([1121a4d](https://github.com/sovrium/sovrium/commit/1121a4dee9028adc517a5fa7b706cd26fea4046b))
1027
- * implement APP-PAGES-POSTALADDRESS-002 ([#2858](https://github.com/sovrium/sovrium/issues/2858)) ([76af5a0](https://github.com/sovrium/sovrium/commit/76af5a0f7d948b158e29bfee6b700e4bc197b4dd))
1028
- * implement APP-PAGES-POSTALADDRESS-003 ([#2859](https://github.com/sovrium/sovrium/issues/2859)) ([cf0263c](https://github.com/sovrium/sovrium/commit/cf0263ce408585ad240c09e9fc62881d01a6ccbb))
1029
- * implement APP-PAGES-POSTALADDRESS-004 - add addressRegion support to postal address structured data ([#2860](https://github.com/sovrium/sovrium/issues/2860)) ([7cd6e1a](https://github.com/sovrium/sovrium/commit/7cd6e1ac5870206a7597a5938fcba1c335640e4c))
1030
- * implement APP-PAGES-POSTALADDRESS-004 - add addressRegion support to postal address structured data ([#2862](https://github.com/sovrium/sovrium/issues/2862)) ([a42c5d1](https://github.com/sovrium/sovrium/commit/a42c5d1053552a4ab3e6e2be6f08b18d0d918c6f))
1031
- * implement APP-PAGES-POSTALADDRESS-005 ([#2861](https://github.com/sovrium/sovrium/issues/2861)) ([e770771](https://github.com/sovrium/sovrium/commit/e7707719c9686711819499533ee0eac52bb8adbc))
1032
- * implement APP-PAGES-POSTALADDRESS-006 ([#2863](https://github.com/sovrium/sovrium/issues/2863)) ([bc1a372](https://github.com/sovrium/sovrium/commit/bc1a372b8c419dec16f510c4bded6770f7ddc453))
1033
- * implement APP-PAGES-POSTALADDRESS-007 ([#2864](https://github.com/sovrium/sovrium/issues/2864)) ([9d93c39](https://github.com/sovrium/sovrium/commit/9d93c39ceb408e5f236b24ab89d6c365e685cb18))
1034
- * implement APP-PAGES-POSTALADDRESS-007 ([#2865](https://github.com/sovrium/sovrium/issues/2865)) ([a20f303](https://github.com/sovrium/sovrium/commit/a20f30363269ef5ac96e7353f4835a68670ec546))
1035
- * implement APP-PAGES-POSTALADDRESS-008 ([#2866](https://github.com/sovrium/sovrium/issues/2866)) ([96af8c6](https://github.com/sovrium/sovrium/commit/96af8c66aa8b6ffd7e869c936ea1cc4798075d75))
1036
- * implement APP-PAGES-POSTALADDRESS-009 ([#2867](https://github.com/sovrium/sovrium/issues/2867)) ([06e9d41](https://github.com/sovrium/sovrium/commit/06e9d413785eb688243f807a527fbe2bd4eb48b8))
1037
- * implement APP-PAGES-POSTALADDRESS-010 ([#2868](https://github.com/sovrium/sovrium/issues/2868)) ([136e7eb](https://github.com/sovrium/sovrium/commit/136e7eb4fa40b6079d043ed00e52d0dc80da828c))
1038
- * implement APP-PAGES-PRELOAD-001 ([#2869](https://github.com/sovrium/sovrium/issues/2869)) ([d26b082](https://github.com/sovrium/sovrium/commit/d26b0824f54b527e17dd91671f1e504d52a70bde))
1039
- * implement APP-PAGES-PRELOAD-002 ([#2870](https://github.com/sovrium/sovrium/issues/2870)) ([0b370e0](https://github.com/sovrium/sovrium/commit/0b370e0cf408bd04c69fe84c498fc8afd78f88ab))
1040
- * implement APP-PAGES-PRELOAD-003 ([#2871](https://github.com/sovrium/sovrium/issues/2871)) ([2f52ee1](https://github.com/sovrium/sovrium/commit/2f52ee18990c4b54a53b452f341379114771a60e))
1041
- * implement APP-PAGES-PRELOAD-004 - web font preloading with proper crossorigin handling ([#2872](https://github.com/sovrium/sovrium/issues/2872)) ([16e3708](https://github.com/sovrium/sovrium/commit/16e37083854a0db688bb231a48607ca4acd338ec))
1042
- * implement APP-PAGES-PRELOAD-005 - hero image preloading with as='image' attribute ([#2873](https://github.com/sovrium/sovrium/issues/2873)) ([11b3e66](https://github.com/sovrium/sovrium/commit/11b3e66d798cd75e902c05b9601f652e071a567e))
1043
- * implement APP-PAGES-PRELOAD-006 - prefetch critical API responses with as='fetch' attribute ([#2874](https://github.com/sovrium/sovrium/issues/2874)) ([93f2036](https://github.com/sovrium/sovrium/commit/93f203668de00dbd18675ed240363fa2c352c5f9))
1044
- * implement APP-PAGES-PRELOAD-007 - set CORS for cross-origin fonts ([#2875](https://github.com/sovrium/sovrium/issues/2875)) ([6bbd3b2](https://github.com/sovrium/sovrium/commit/6bbd3b2456cbf6d8208b6c065ce886d060611da6))
1045
- * implement APP-PAGES-PRELOAD-008 - add type attribute support for preload resources ([#2876](https://github.com/sovrium/sovrium/issues/2876)) ([0ddbb04](https://github.com/sovrium/sovrium/commit/0ddbb043f337ad6341fa3c413ea00752b76f52cf))
1046
- * implement APP-PAGES-PRELOAD-008 - add type attribute support for preload resources ([#2877](https://github.com/sovrium/sovrium/issues/2877)) ([f4082c5](https://github.com/sovrium/sovrium/commit/f4082c52977e0f5cc34335a7fcf6557204b4a928))
1047
- * implement APP-PAGES-PRELOAD-009 - add media query support for preload resources ([#2878](https://github.com/sovrium/sovrium/issues/2878)) ([04dd7dd](https://github.com/sovrium/sovrium/commit/04dd7ddd6ec7facb3b9b4a4aa7f3caee3e51350e))
1048
- * implement APP-PAGES-PRELOAD-010 - optimize First Contentful Paint (FCP) ([#2879](https://github.com/sovrium/sovrium/issues/2879)) ([2f8483f](https://github.com/sovrium/sovrium/commit/2f8483fee215480741a38530d02fa1163daf3d09))
1049
- * implement APP-PAGES-PRELOAD-010 - optimize First Contentful Paint (FCP) ([#2880](https://github.com/sovrium/sovrium/issues/2880)) ([7d0b787](https://github.com/sovrium/sovrium/commit/7d0b787d45ca85e46c9705118ef4c81e5e745377))
1050
- * implement APP-PAGES-PRODUCT-001 ([#2881](https://github.com/sovrium/sovrium/issues/2881)) ([908289b](https://github.com/sovrium/sovrium/commit/908289bda2480064f996f30a5187cfe0ca2a8147))
1051
- * implement APP-PAGES-PRODUCT-002 ([#2882](https://github.com/sovrium/sovrium/issues/2882)) ([6d045f4](https://github.com/sovrium/sovrium/commit/6d045f4e28ed39484a6ff5b8a862a0b19855ce0d))
1052
- * implement APP-PAGES-PRODUCT-002 ([#2884](https://github.com/sovrium/sovrium/issues/2884)) ([b44d252](https://github.com/sovrium/sovrium/commit/b44d25277ba100eb5a41de645b0dd0ef63d5e304))
1053
- * implement APP-PAGES-PRODUCT-003 ([#2883](https://github.com/sovrium/sovrium/issues/2883)) ([4e20770](https://github.com/sovrium/sovrium/commit/4e20770f27f98d0bfd8e9afd39a9cfc429c2bf40))
1054
- * implement APP-PAGES-PRODUCT-003 ([#2885](https://github.com/sovrium/sovrium/issues/2885)) ([c6ac300](https://github.com/sovrium/sovrium/commit/c6ac300b2de39660a34811180ceb7f49d23857cb))
1055
- * implement APP-PAGES-PRODUCT-004 ([#2886](https://github.com/sovrium/sovrium/issues/2886)) ([599957c](https://github.com/sovrium/sovrium/commit/599957c5cd27fad1b941aedace8227c17b920390))
1056
- * implement APP-PAGES-PRODUCT-005 ([#2887](https://github.com/sovrium/sovrium/issues/2887)) ([f010e3c](https://github.com/sovrium/sovrium/commit/f010e3ce597677b0fa01db2f6a0475ec1d36880c))
1057
- * implement APP-PAGES-PRODUCT-006 ([#2888](https://github.com/sovrium/sovrium/issues/2888)) ([770b89a](https://github.com/sovrium/sovrium/commit/770b89a70c50264d02bddd787fb6d5f1b435ca5a))
1058
- * implement APP-PAGES-PRODUCT-007 ([#2889](https://github.com/sovrium/sovrium/issues/2889)) ([2668397](https://github.com/sovrium/sovrium/commit/2668397af2dfd65fafc22df5d7fb5974e29ca1e3))
1059
- * implement APP-PAGES-PRODUCT-008 ([#2890](https://github.com/sovrium/sovrium/issues/2890)) ([3d1d8c8](https://github.com/sovrium/sovrium/commit/3d1d8c817b100fc1076c04bd171af421e1d3e006))
1060
- * implement APP-PAGES-PRODUCT-009 ([#2891](https://github.com/sovrium/sovrium/issues/2891)) ([bc6f4ee](https://github.com/sovrium/sovrium/commit/bc6f4eec75b9833587739d63d29434391d32f349))
1061
- * implement APP-PAGES-PRODUCT-009 ([#2892](https://github.com/sovrium/sovrium/issues/2892)) ([933436b](https://github.com/sovrium/sovrium/commit/933436bc674dfd605dc8af5bd1511f89fbb27ae4))
1062
- * implement APP-PAGES-PRODUCT-010 ([#2893](https://github.com/sovrium/sovrium/issues/2893)) ([01b46f6](https://github.com/sovrium/sovrium/commit/01b46f66960b2616cfb2b6298d11864ac30d8afa))
1063
- * implement APP-PAGES-PRODUCT-010 ([#2894](https://github.com/sovrium/sovrium/issues/2894)) ([cb793ac](https://github.com/sovrium/sovrium/commit/cb793acecf51690ba0df75705f98e09804677473))
1064
- * implement APP-PAGES-PRODUCT-011 ([#2895](https://github.com/sovrium/sovrium/issues/2895)) ([e34a579](https://github.com/sovrium/sovrium/commit/e34a579bb13c6d34d958cae56f5327a16dc20ecd))
1065
- * implement APP-PAGES-PRODUCT-012 ([#2896](https://github.com/sovrium/sovrium/issues/2896)) ([505583c](https://github.com/sovrium/sovrium/commit/505583c510074e2570e4976c9b80040ef42f0b84))
1066
- * implement APP-PAGES-PROPS-001 ([#2897](https://github.com/sovrium/sovrium/issues/2897)) ([6df9591](https://github.com/sovrium/sovrium/commit/6df95910c2ed9d8d5ff05b4d1264a45c07150f93))
1067
- * implement APP-PAGES-PROPS-001 ([#2899](https://github.com/sovrium/sovrium/issues/2899)) ([d46d2f0](https://github.com/sovrium/sovrium/commit/d46d2f0ebdc8f98bdb9f00d13427c845794115f9))
1068
- * implement APP-PAGES-PROPS-002 ([#2898](https://github.com/sovrium/sovrium/issues/2898)) ([906f572](https://github.com/sovrium/sovrium/commit/906f572ae703b9abc781ec56abc3501e0f57e03f))
1069
- * implement APP-PAGES-PROPS-003 ([#2900](https://github.com/sovrium/sovrium/issues/2900)) ([fce8f4d](https://github.com/sovrium/sovrium/commit/fce8f4daec2436e0566ffce5ef0226a0e78da8cb))
1070
- * implement APP-PAGES-PROPS-004 ([#2901](https://github.com/sovrium/sovrium/issues/2901)) ([d6114a1](https://github.com/sovrium/sovrium/commit/d6114a1e6d1f16ea039feeb1bea1aa091bd43e44))
1071
- * implement APP-PAGES-PROPS-004 ([#2903](https://github.com/sovrium/sovrium/issues/2903)) ([f9370fb](https://github.com/sovrium/sovrium/commit/f9370fb848011498b290e77ba2275958c23d865d))
1072
- * implement APP-PAGES-PROPS-005 ([#2902](https://github.com/sovrium/sovrium/issues/2902)) ([ce183de](https://github.com/sovrium/sovrium/commit/ce183deeba3dc2240507cc0b17f65d87a5ac9f30))
1073
- * implement APP-PAGES-PROPS-006 ([#2904](https://github.com/sovrium/sovrium/issues/2904)) ([5112017](https://github.com/sovrium/sovrium/commit/5112017ab6078553e7c65b89e6d89e5fd809b1fe))
1074
- * implement APP-PAGES-PROPS-007 ([#2905](https://github.com/sovrium/sovrium/issues/2905)) ([7096855](https://github.com/sovrium/sovrium/commit/70968555bc2d5bcb5e596dd4e270debbe6a0dcfb))
1075
- * implement APP-PAGES-PROPS-007 ([#2906](https://github.com/sovrium/sovrium/issues/2906)) ([ca08d45](https://github.com/sovrium/sovrium/commit/ca08d452b0db77a4a4fa2f904e161460d444ddba))
1076
- * implement APP-PAGES-PROPS-008 ([#2907](https://github.com/sovrium/sovrium/issues/2907)) ([ef1942f](https://github.com/sovrium/sovrium/commit/ef1942f49d2780c33d08bf2b96d249c99f6de234))
1077
- * implement APP-PAGES-PROPS-009 ([#2908](https://github.com/sovrium/sovrium/issues/2908)) ([6a5dedc](https://github.com/sovrium/sovrium/commit/6a5dedc52ee9f200259ab778003ec8390310fa5b))
1078
- * implement APP-PAGES-PROPS-009 ([#2909](https://github.com/sovrium/sovrium/issues/2909)) ([606cfa3](https://github.com/sovrium/sovrium/commit/606cfa30a3cc43174c5382d1fed4a361e9815bf0))
1079
- * implement APP-PAGES-PROPS-010 ([#2910](https://github.com/sovrium/sovrium/issues/2910)) ([7805f52](https://github.com/sovrium/sovrium/commit/7805f525b293940f932a9e2251d27e9a2b5c9711))
1080
- * implement APP-PAGES-PROPS-REGRESSION-011 ([#2911](https://github.com/sovrium/sovrium/issues/2911)) ([4bac9ec](https://github.com/sovrium/sovrium/commit/4bac9ecb88281d010d3e010b1095697b40072b85))
1081
- * implement APP-PAGES-REGRESSION-001 - add role=region to section elements ([#2238](https://github.com/sovrium/sovrium/issues/2238)) ([e66ebc8](https://github.com/sovrium/sovrium/commit/e66ebc8c56957436331c03638c7b522e518b4c87))
1082
- * implement APP-PAGES-RESPONSIVE-001 ([#2939](https://github.com/sovrium/sovrium/issues/2939)) ([ca223e8](https://github.com/sovrium/sovrium/commit/ca223e8619a1731d6919734f0cb9c19e7272c7de))
1083
- * implement APP-PAGES-RESPONSIVE-003 - responsive visibility with CSS media queries ([#2943](https://github.com/sovrium/sovrium/issues/2943)) ([83d8baf](https://github.com/sovrium/sovrium/commit/83d8baf8b9c661056e99e7e1b6a2e24610bcbd9e))
1084
- * implement APP-PAGES-RESPONSIVE-003 ([#2941](https://github.com/sovrium/sovrium/issues/2941)) ([823eb3d](https://github.com/sovrium/sovrium/commit/823eb3dae94068abb50a89edc29684e7539d1486))
1085
- * implement APP-PAGES-RESPONSIVE-003 ([#2944](https://github.com/sovrium/sovrium/issues/2944)) ([26ea679](https://github.com/sovrium/sovrium/commit/26ea679cd5c4eb1a26aa59db118173d06c78148a)), closes [#1240](https://github.com/sovrium/sovrium/issues/1240)
1086
- * implement APP-PAGES-RESPONSIVE-005 ([#2947](https://github.com/sovrium/sovrium/issues/2947)) ([6f01ef7](https://github.com/sovrium/sovrium/commit/6f01ef7b5a08c16b33925c39f9f6440f7dd974cf))
1087
- * implement APP-PAGES-RESPONSIVE-007 ([#2951](https://github.com/sovrium/sovrium/issues/2951)) ([755aee3](https://github.com/sovrium/sovrium/commit/755aee3407ce4b8bf1b632632196ffd3f5518693))
1088
- * implement APP-PAGES-RESPONSIVE-008 ([#2952](https://github.com/sovrium/sovrium/issues/2952)) ([9e23e48](https://github.com/sovrium/sovrium/commit/9e23e48b563209f9c11df2b9080a037655ee6a2c))
1089
- * implement APP-PAGES-RESPONSIVE-010 ([#2953](https://github.com/sovrium/sovrium/issues/2953)) ([6ede025](https://github.com/sovrium/sovrium/commit/6ede025fc894750b4c047ee571face06b69c0706))
1090
- * implement APP-PAGES-RESPONSIVE-010 ([#2954](https://github.com/sovrium/sovrium/issues/2954)) ([f8e9cdd](https://github.com/sovrium/sovrium/commit/f8e9cdd03253736919ddeae8e2abd6b5e7783501))
1091
- * implement APP-PAGES-RESPONSIVE-REGRESSION-001 ([#2955](https://github.com/sovrium/sovrium/issues/2955)) ([7434728](https://github.com/sovrium/sovrium/commit/7434728cccc4e8d0e4ba9d45de5fb89b535c8535))
1092
- * implement APP-PAGES-SCRIPTS-001 ([#2956](https://github.com/sovrium/sovrium/issues/2956)) ([36dedee](https://github.com/sovrium/sovrium/commit/36dedee2403eefe477ef522965ca561a3d406b88))
1093
- * implement APP-PAGES-SCRIPTS-002 ([#2957](https://github.com/sovrium/sovrium/issues/2957)) ([3ed0c0d](https://github.com/sovrium/sovrium/commit/3ed0c0d42eb5e2be20e9a3f891a042871c22a0df))
1094
- * implement APP-PAGES-SCRIPTS-003 ([#2958](https://github.com/sovrium/sovrium/issues/2958)) ([949cd03](https://github.com/sovrium/sovrium/commit/949cd0308ef3074beae767038e36a62814c1190f))
1095
- * implement APP-PAGES-SCRIPTS-004 inline JavaScript injection ([#2959](https://github.com/sovrium/sovrium/issues/2959)) ([f3b1b30](https://github.com/sovrium/sovrium/commit/f3b1b30fb111c3c521ca1dfe8543789fce30a62f))
1096
- * implement APP-PAGES-SCRIPTS-005 ([#2960](https://github.com/sovrium/sovrium/issues/2960)) ([a93fd41](https://github.com/sovrium/sovrium/commit/a93fd4136ca4e091e8ad12fe805e864081cd3141))
1097
- * implement APP-PAGES-SCRIPTS-006 - allow pages without client-side scripts ([#2962](https://github.com/sovrium/sovrium/issues/2962)) ([0b1587c](https://github.com/sovrium/sovrium/commit/0b1587c293fa2d4edacd57b5db4e62af47aa504d))
1098
- * implement APP-PAGES-SCRIPTS-007 - flexible client configuration support ([#2964](https://github.com/sovrium/sovrium/issues/2964)) ([a75be75](https://github.com/sovrium/sovrium/commit/a75be75cb2e1b79454204552c2319965815c5557))
1099
- * implement APP-PAGES-SCRIPTS-008 ([#2965](https://github.com/sovrium/sovrium/issues/2965)) ([97afd41](https://github.com/sovrium/sovrium/commit/97afd41c102b3b250c2de01c6202b821e55afe4a))
1100
- * implement APP-PAGES-SCRIPTS-009 ([#2966](https://github.com/sovrium/sovrium/issues/2966)) ([567718e](https://github.com/sovrium/sovrium/commit/567718e581bfd597191f7239bc271bb4f17cbb4d))
1101
- * implement APP-PAGES-SCRIPTS-010 ([#2967](https://github.com/sovrium/sovrium/issues/2967)) ([1862797](https://github.com/sovrium/sovrium/commit/1862797b7b67622ef825287078558db93168ff9d))
1102
- * implement APP-PAGES-SCRIPTS-010 ([#2968](https://github.com/sovrium/sovrium/issues/2968)) ([9eb4671](https://github.com/sovrium/sovrium/commit/9eb4671292524f5bfd3601a008059a5d39f9b043))
1103
- * implement APP-PAGES-SCRIPTS-EXTERNAL-REGRESSION-001 ([#2969](https://github.com/sovrium/sovrium/issues/2969)) ([0ce9a30](https://github.com/sovrium/sovrium/commit/0ce9a30ed6f4099c4ba6a6cfffb2e30aea052cb7))
1104
- * implement APP-PAGES-SCRIPTS-FEATURES-REGRESSION-001 ([#2970](https://github.com/sovrium/sovrium/issues/2970)) ([2c7ade1](https://github.com/sovrium/sovrium/commit/2c7ade1cf199ad0f8445dd2c4ebf79557bcdec31))
1105
- * implement APP-PAGES-SCRIPTS-INLINE-REGRESSION-001 ([#2971](https://github.com/sovrium/sovrium/issues/2971)) ([be13955](https://github.com/sovrium/sovrium/commit/be139555cf539f3dd62b193b86919c4f30ee4df6))
1106
- * implement APP-PAGES-SCRIPTS-REGRESSION-001 ([#2972](https://github.com/sovrium/sovrium/issues/2972)) ([1bfaa3b](https://github.com/sovrium/sovrium/commit/1bfaa3b7ebf3fb5c7da3c819e7582bcf6506ad13))
1107
- * implement APP-PAGES-SECTIONS-001 with XSS protection ([a02c482](https://github.com/sovrium/sovrium/commit/a02c4828a3ff6c520d58a9df56b98fd87b3cc47a))
1108
- * implement APP-PAGES-SECTIONS-002 ([#2973](https://github.com/sovrium/sovrium/issues/2973)) ([d24d6db](https://github.com/sovrium/sovrium/commit/d24d6dbecfa4906a68633ca1f87237a2c5ef304b))
1109
- * implement APP-PAGES-SECTIONS-003 ([#2975](https://github.com/sovrium/sovrium/issues/2975)) ([e0d26b8](https://github.com/sovrium/sovrium/commit/e0d26b8efab055f680a447f96f245d20d065df2e))
1110
- * implement APP-PAGES-SECTIONS-004 ([#2976](https://github.com/sovrium/sovrium/issues/2976)) ([83ef43b](https://github.com/sovrium/sovrium/commit/83ef43bbfa7a065315849807ed5ae463180b0808))
1111
- * implement APP-PAGES-SECTIONS-005 ([#2977](https://github.com/sovrium/sovrium/issues/2977)) ([24fa01f](https://github.com/sovrium/sovrium/commit/24fa01fbacc14386dc0221baef2a6e77dcf6b0c7))
1112
- * implement APP-PAGES-SECTIONS-005 ([#2978](https://github.com/sovrium/sovrium/issues/2978)) ([ed6242f](https://github.com/sovrium/sovrium/commit/ed6242fd4a221650679dc5af692000cb5778cf15))
1113
- * implement APP-PAGES-SECTIONS-006 - hover interaction with scale property ([#2979](https://github.com/sovrium/sovrium/issues/2979)) ([af4887e](https://github.com/sovrium/sovrium/commit/af4887e9badb775971e0434a21035d291be2f975))
1114
- * implement APP-PAGES-SECTIONS-006 ([#2980](https://github.com/sovrium/sovrium/issues/2980)) ([f471587](https://github.com/sovrium/sovrium/commit/f471587ab2c48fa9b712567f4b4a5e39dfc997d7))
1115
- * implement APP-PAGES-SECTIONS-007 ([#2981](https://github.com/sovrium/sovrium/issues/2981)) ([8323e1a](https://github.com/sovrium/sovrium/commit/8323e1aebaf1189948cbf5da99fabdce8fa2e571))
1116
- * implement APP-PAGES-SECTIONS-009 ([#2982](https://github.com/sovrium/sovrium/issues/2982)) ([1b732bd](https://github.com/sovrium/sovrium/commit/1b732bd72abdcab032e6840e94acdf33a56fbad5))
1117
- * implement APP-PAGES-SECTIONS-009 ([#2983](https://github.com/sovrium/sovrium/issues/2983)) ([e071c09](https://github.com/sovrium/sovrium/commit/e071c0915f14e6c782cd22f8dca618bda4897c11))
1118
- * implement APP-PAGES-SECTIONS-010 ([#2985](https://github.com/sovrium/sovrium/issues/2985)) ([5db1fde](https://github.com/sovrium/sovrium/commit/5db1fde50e1fa3bc80a17368af202c4e18f58935))
1119
- * implement APP-PAGES-SECTIONS-011 ([#2986](https://github.com/sovrium/sovrium/issues/2986)) ([4448e24](https://github.com/sovrium/sovrium/commit/4448e24b28a79b3a82f63680c4df9900c3f7471f))
1120
- * implement APP-PAGES-SECTIONS-012 ([#2987](https://github.com/sovrium/sovrium/issues/2987)) ([b73e8d1](https://github.com/sovrium/sovrium/commit/b73e8d1db308d236b9a3a032dbf457be183bd823))
1121
- * implement APP-PAGES-SECTIONS-013 ([#2988](https://github.com/sovrium/sovrium/issues/2988)) ([5297fba](https://github.com/sovrium/sovrium/commit/5297fbaae1171e6b58c985dd1254bf9f68ea3020))
1122
- * implement APP-PAGES-SECTIONS-014 ([#2989](https://github.com/sovrium/sovrium/issues/2989)) ([f435050](https://github.com/sovrium/sovrium/commit/f435050b0f177db25255aeba8728bf0edb63c86e))
1123
- * implement APP-PAGES-SECTIONS-014 ([#2990](https://github.com/sovrium/sovrium/issues/2990)) ([e7a6983](https://github.com/sovrium/sovrium/commit/e7a698338d2322b90bf9f18064b7523ee1b271b0))
1124
- * implement APP-PAGES-SECTIONS-REGRESSION-001 ([#2991](https://github.com/sovrium/sovrium/issues/2991)) ([4de4621](https://github.com/sovrium/sovrium/commit/4de4621e3ff032f034e7b993fcacd9af8e89de13))
1125
- * implement APP-PAGES-SIDEBAR-001 ([#2992](https://github.com/sovrium/sovrium/issues/2992)) ([c993c17](https://github.com/sovrium/sovrium/commit/c993c1751ce63447ae35b83c57606627bf18c0b7))
1126
- * implement APP-PAGES-SIDEBAR-001 ([#2993](https://github.com/sovrium/sovrium/issues/2993)) ([8d06542](https://github.com/sovrium/sovrium/commit/8d06542fbe50586e32cd6bb8a801268c214449ad))
1127
- * implement APP-TABLES-001 - PostgreSQL table creation with automatic id column ([#4734](https://github.com/sovrium/sovrium/issues/4734)) ([994aa11](https://github.com/sovrium/sovrium/commit/994aa11508e72187d3210eef429ea05ef53fe23b))
1128
- * implement APP-TABLES-002 - add decimal precision and UNIQUE constraints ([#4736](https://github.com/sovrium/sovrium/issues/4736)) ([7760afd](https://github.com/sovrium/sovrium/commit/7760afd27162ba45a20613909d407ad081ba0d8b))
1129
- * implement APP-TABLES-003 ([#4749](https://github.com/sovrium/sovrium/issues/4749)) ([1103c8f](https://github.com/sovrium/sovrium/commit/1103c8f7d26b6e4c1d112c08ef837b6f7570af14))
1130
- * implement APP-TABLES-004 ([#4751](https://github.com/sovrium/sovrium/issues/4751)) ([2ef3f03](https://github.com/sovrium/sovrium/commit/2ef3f03c5ca6bbf09bdcca412515f0fc6512a61f))
1131
- * implement APP-TABLES-005 - add custom index creation support ([#4752](https://github.com/sovrium/sovrium/issues/4752)) ([cb52d8b](https://github.com/sovrium/sovrium/commit/cb52d8b1e031606b914872312097cc95eee850fd))
1132
- * implement APP-TABLES-006 ([#4753](https://github.com/sovrium/sovrium/issues/4753)) ([c2729d0](https://github.com/sovrium/sovrium/commit/c2729d0785f5c336b3716a7b9e1779596b454267))
1133
- * implement APP-TABLES-007 - email field with required and unique constraints ([#4754](https://github.com/sovrium/sovrium/issues/4754)) ([8b52443](https://github.com/sovrium/sovrium/commit/8b5244305ca67423bc00b7c69686cd48f90bbebc))
1134
- * implement APP-TABLES-008 - integer field CHECK constraint for min/max range ([#4755](https://github.com/sovrium/sovrium/issues/4755)) ([d0fb1fa](https://github.com/sovrium/sovrium/commit/d0fb1fa2f60852a0b0e33a13f6e3d6d09e6f9603))
1135
- * implement APP-TABLES-009 ([#4756](https://github.com/sovrium/sovrium/issues/4756)) ([1e2888a](https://github.com/sovrium/sovrium/commit/1e2888a809719d78e92863b108b9b8f7cba3c386))
1136
- * implement APP-TABLES-010 - add DEFAULT support for checkbox fields ([#4757](https://github.com/sovrium/sovrium/issues/4757)) ([2c4ca09](https://github.com/sovrium/sovrium/commit/2c4ca0913b44e33817aeb46b72d7cfc354275d33))
1137
- * implement APP-TABLES-011 - unique field constraint support ([#4758](https://github.com/sovrium/sovrium/issues/4758)) ([fe688bb](https://github.com/sovrium/sovrium/commit/fe688bb3e6d8572de977b815612edbdcb9364906))
1138
- * implement APP-TABLES-011 - unique field constraint support ([#4759](https://github.com/sovrium/sovrium/issues/4759)) ([ef238ee](https://github.com/sovrium/sovrium/commit/ef238ee26caa969c760cd1368c9110ce9306c959))
1139
- * implement APP-TABLES-012 - NOT NULL constraint support ([#4760](https://github.com/sovrium/sovrium/issues/4760)) ([a01274c](https://github.com/sovrium/sovrium/commit/a01274c504ea4fd49c9a9c1768b7a2a59b12fbd1))
1140
- * implement APP-TABLES-013 - CHECK constraint enforcement ([#4761](https://github.com/sovrium/sovrium/issues/4761)) ([56381aa](https://github.com/sovrium/sovrium/commit/56381aa340b4b38b93a720938a79620d9d3ea2c0))
1141
- * implement APP-TABLES-014 - add database index support ([#4762](https://github.com/sovrium/sovrium/issues/4762)) ([a0bbff7](https://github.com/sovrium/sovrium/commit/a0bbff79e7fb2a0c55a71751c289ba7a51353d63))
1142
- * implement APP-TABLES-014 - add database index support ([#4763](https://github.com/sovrium/sovrium/issues/4763)) ([133335a](https://github.com/sovrium/sovrium/commit/133335a38f76db293954069f6e7a35d037191a50))
1143
- * implement APP-TABLES-015 - add schema migration support for ALTER TABLE ADD COLUMN ([#4764](https://github.com/sovrium/sovrium/issues/4764)) ([6c84465](https://github.com/sovrium/sovrium/commit/6c8446529d5af3ea42d452b1c4869009fc79e2a7))
1144
- * implement APP-TABLES-016 - DROP COLUMN support ([#4766](https://github.com/sovrium/sovrium/issues/4766)) ([f70854a](https://github.com/sovrium/sovrium/commit/f70854a7861175c7d689f40e403f3a5a1250351f))
1145
- * implement APP-TABLES-017 - insert data with generated ID ([#4767](https://github.com/sovrium/sovrium/issues/4767)) ([2ceff08](https://github.com/sovrium/sovrium/commit/2ceff0883f73a3c1d8eb50cb64c77e14a83a5a18))
1146
- * implement APP-TABLES-018 - update row and return new value ([#4768](https://github.com/sovrium/sovrium/issues/4768)) ([fc0b25f](https://github.com/sovrium/sovrium/commit/fc0b25fdb2a176b1b9f6c70942855942469b823b))
1147
- * implement APP-TABLES-019 - delete row and decrease row count ([#4769](https://github.com/sovrium/sovrium/issues/4769)) ([91ed167](https://github.com/sovrium/sovrium/commit/91ed167ffde69356209f947f3ff3cde864c18a75))
1148
- * implement APP-TABLES-020 - PostgreSQL TIMESTAMP with DEFAULT NOW() ([#4770](https://github.com/sovrium/sovrium/issues/4770)) ([c2de6e1](https://github.com/sovrium/sovrium/commit/c2de6e119cbaefe4376ccf0aa597d7b8d1f30215))
1149
- * implement APP-TABLES-021 - CHECK constraint for enum values ([#4771](https://github.com/sovrium/sovrium/issues/4771)) ([afdd6b0](https://github.com/sovrium/sovrium/commit/afdd6b04ca8fb201a0c046fe0631a86cd8e2d96e))
1150
- * implement APP-TABLES-022 - drop tables when removed from schema ([d18ed2a](https://github.com/sovrium/sovrium/commit/d18ed2a8d5dd63996a62907847350f70b7a8cce3))
1151
- * implement APP-TABLES-022 DROP TABLE functionality ([#4772](https://github.com/sovrium/sovrium/issues/4772)) ([0fe7d3c](https://github.com/sovrium/sovrium/commit/0fe7d3cd588b535ea14be62d50900db3448e16ad))
1152
- * implement APP-TABLES-023 - composite primary key support ([#4773](https://github.com/sovrium/sovrium/issues/4773)) ([4badfda](https://github.com/sovrium/sovrium/commit/4badfda3b4777b78019c0d63d47951042aaa844a))
1153
- * implement APP-TABLES-024 ([#4774](https://github.com/sovrium/sovrium/issues/4774)) ([b14f0c1](https://github.com/sovrium/sovrium/commit/b14f0c128be05448aab4d6e80ad7c8ba1ec59f1a))
1154
- * implement APP-TABLES-028 - reject table name with invalid characters ([#5336](https://github.com/sovrium/sovrium/issues/5336)) ([001e9cf](https://github.com/sovrium/sovrium/commit/001e9cfcf1bd98d43eb5fb0911166b4e40867303))
1155
- * implement APP-TABLES-028 - reject table name with invalid characters ([#5337](https://github.com/sovrium/sovrium/issues/5337)) ([7f2ecca](https://github.com/sovrium/sovrium/commit/7f2ecca34de5738d9a9fcfc1cca50a4fa37bcf72)), closes [#5335](https://github.com/sovrium/sovrium/issues/5335) [#5335](https://github.com/sovrium/sovrium/issues/5335)
1156
- * implement APP-TABLES-030 - validate empty table name ([#5339](https://github.com/sovrium/sovrium/issues/5339)) ([f956ce1](https://github.com/sovrium/sovrium/commit/f956ce1af08cd1128cce1e2216666604ee8f356e))
1157
- * implement APP-TABLES-031 - validate duplicate table IDs within schema ([#5340](https://github.com/sovrium/sovrium/issues/5340)) ([6a89149](https://github.com/sovrium/sovrium/commit/6a89149be424cf32a897d65ad28dc182ff28343c))
1158
- * implement APP-TABLES-032 - validate duplicate table names ([#5341](https://github.com/sovrium/sovrium/issues/5341)) ([a5a29d6](https://github.com/sovrium/sovrium/commit/a5a29d61d0da42d0050496dea40402b53b8e039a))
1159
- * implement APP-TABLES-033 - reject duplicate field IDs ([#5342](https://github.com/sovrium/sovrium/issues/5342)) ([fac774a](https://github.com/sovrium/sovrium/commit/fac774a2fa5c5732dfde327613eb3f960ab3b42d)), closes [#5337](https://github.com/sovrium/sovrium/issues/5337) [#5335](https://github.com/sovrium/sovrium/issues/5335) [#5335](https://github.com/sovrium/sovrium/issues/5335)
1160
- * implement APP-TABLES-034 - reject duplicate field names ([#5343](https://github.com/sovrium/sovrium/issues/5343)) ([ab18fbc](https://github.com/sovrium/sovrium/commit/ab18fbc1ec32b2b8ee20ab184c3ef06a913a3d81))
1161
- * implement APP-TABLES-035 - reject field names with invalid format ([#5344](https://github.com/sovrium/sovrium/issues/5344)) ([fd2ca01](https://github.com/sovrium/sovrium/commit/fd2ca01d0f7594bbfe2496d728204ff8630b8c54))
1162
- * implement APP-TABLES-036 - reject field names exceeding maximum length ([#5345](https://github.com/sovrium/sovrium/issues/5345)) ([9adeb18](https://github.com/sovrium/sovrium/commit/9adeb188d95ece8d204db1b6b21d74234da5022a))
1163
- * implement APP-TABLES-037 - validate field types in schema ([#5346](https://github.com/sovrium/sovrium/issues/5346)) ([6520d90](https://github.com/sovrium/sovrium/commit/6520d907513eda16f07fd9405f95aabcec316184))
1164
- * implement APP-TABLES-038 - validate min <= max for integer and decimal fields ([#5347](https://github.com/sovrium/sovrium/issues/5347)) ([bbfe35c](https://github.com/sovrium/sovrium/commit/bbfe35c561cebae4ad1f10d63fd0c1cbe83b412a))
1165
- * implement APP-TABLES-039 decimal field validation ([#5348](https://github.com/sovrium/sovrium/issues/5348)) ([e4da7f6](https://github.com/sovrium/sovrium/commit/e4da7f624ce2b4aa0349a5a37335d457ec7c77f1))
1166
- * implement APP-TABLES-040 ([#5350](https://github.com/sovrium/sovrium/issues/5350)) ([4f3b3d8](https://github.com/sovrium/sovrium/commit/4f3b3d87ff97138203821da8a8e4735ad34dc68f))
1167
- * implement APP-TABLES-040 single-select field validation ([#5349](https://github.com/sovrium/sovrium/issues/5349)) ([219975a](https://github.com/sovrium/sovrium/commit/219975a580e0fce0a40e978761d2fa9402f3ecaa))
1168
- * implement APP-TABLES-041 multi-select field validation ([#5351](https://github.com/sovrium/sovrium/issues/5351)) ([6c5ab61](https://github.com/sovrium/sovrium/commit/6c5ab61c4e51fdbf71721d08272b6fea321e92c7))
1169
- * implement APP-TABLES-042 - reject decimal field with invalid precision ([#5352](https://github.com/sovrium/sovrium/issues/5352)) ([c782d11](https://github.com/sovrium/sovrium/commit/c782d114724afb5a07a38d012e53db4a5878e341))
1170
- * implement APP-TABLES-043 - reject table name starting with number ([#5353](https://github.com/sovrium/sovrium/issues/5353)) ([1ce1fa5](https://github.com/sovrium/sovrium/commit/1ce1fa5316f96951d2a99a1a9321dea6e3fb27f9))
1171
- * implement APP-TABLES-044 ([#5354](https://github.com/sovrium/sovrium/issues/5354)) ([ac4f90a](https://github.com/sovrium/sovrium/commit/ac4f90ad780f18fc167d90f2691abc4fa7fa2840))
1172
- * implement APP-TABLES-FIELD-EMAIL-001 ([#4781](https://github.com/sovrium/sovrium/issues/4781)) ([0810aea](https://github.com/sovrium/sovrium/commit/0810aea922c3df1e9cb5a37c18ea74203d8f7b5c))
1173
- * implement APP-TABLES-FIELD-EMAIL-005 ([#4786](https://github.com/sovrium/sovrium/issues/4786)) ([3e0c851](https://github.com/sovrium/sovrium/commit/3e0c8513b0727dfc52517bfa3c0ea87a245228f0))
1174
- * implement APP-TABLES-FIELD-EMAIL-006 ([#4787](https://github.com/sovrium/sovrium/issues/4787)) ([b51fec7](https://github.com/sovrium/sovrium/commit/b51fec7aeea20f6a21eb657340a852590e6008c8))
1175
- * implement APP-TABLES-FIELD-EMAIL-006 ([#4788](https://github.com/sovrium/sovrium/issues/4788)) ([147b571](https://github.com/sovrium/sovrium/commit/147b571b0d6b6622341f860d434c25ba26717dbf))
1176
- * implement APP-TABLES-FIELD-INDEXED-001 ([#4789](https://github.com/sovrium/sovrium/issues/4789)) ([68f2015](https://github.com/sovrium/sovrium/commit/68f20158ff77c3e18db90cce3fb7f2796dc5b4ed))
1177
- * implement APP-TABLES-FIELD-INDEXED-002 ([#4790](https://github.com/sovrium/sovrium/issues/4790)) ([e82f79c](https://github.com/sovrium/sovrium/commit/e82f79cb40c7a79f92e54477137863c029d822af))
1178
- * implement APP-TABLES-FIELD-INDEXED-003 ([#4791](https://github.com/sovrium/sovrium/issues/4791)) ([2122fb5](https://github.com/sovrium/sovrium/commit/2122fb5776d3b79431197badc058506611f8fba6))
1179
- * implement APP-TABLES-FIELD-LONG-TEXT-003 ([#4799](https://github.com/sovrium/sovrium/issues/4799)) ([5c68ac7](https://github.com/sovrium/sovrium/commit/5c68ac74d43ce4f55c94c23fd140c8a6a70f2951))
1180
- * implement APP-TABLES-FIELD-LONG-TEXT-005 - DEFAULT value support for long-text fields ([#4801](https://github.com/sovrium/sovrium/issues/4801)) ([16fbeff](https://github.com/sovrium/sovrium/commit/16fbeffd700d716d968f8519b7685df219e64ab4))
1181
- * implement APP-TABLES-FIELD-LONG-TEXT-006 ([#4802](https://github.com/sovrium/sovrium/issues/4802)) ([1ca4e0b](https://github.com/sovrium/sovrium/commit/1ca4e0b1d44f43e6fdbe02bff230490a908b0259))
1182
- * implement APP-TABLES-FIELD-PERMISSIONS-001 ([#5970](https://github.com/sovrium/sovrium/issues/5970)) ([f0d9cae](https://github.com/sovrium/sovrium/commit/f0d9cae1276cc22e246e7cfaaad57fedce02fb96))
1183
- * implement APP-TABLES-FIELD-PERMISSIONS-003 ([#5971](https://github.com/sovrium/sovrium/issues/5971)) ([2bdb5c1](https://github.com/sovrium/sovrium/commit/2bdb5c1e12c658e73942f67649969342feba485b))
1184
- * implement APP-TABLES-FIELD-PERMISSIONS-003 ([#5972](https://github.com/sovrium/sovrium/issues/5972)) ([5453bc4](https://github.com/sovrium/sovrium/commit/5453bc4a3168264a19203219ee5e611d42130235))
1185
- * implement APP-TABLES-FIELD-PERMISSIONS-005 ([#5974](https://github.com/sovrium/sovrium/issues/5974)) ([bf8bb3a](https://github.com/sovrium/sovrium/commit/bf8bb3a090c42d365c2ad109b71fbc6872379f84))
1186
- * implement APP-TABLES-FIELD-PERMISSIONS-006 ([#6116](https://github.com/sovrium/sovrium/issues/6116)) ([7a8c889](https://github.com/sovrium/sovrium/commit/7a8c8890e094e25fe215ffd34dcf815fbd7f50e8))
1187
- * implement APP-TABLES-FIELD-PERMISSIONS-007 ([#6117](https://github.com/sovrium/sovrium/issues/6117)) ([a0388ed](https://github.com/sovrium/sovrium/commit/a0388ede81d7c7bba4b1572a229462c2c71633e9))
1188
- * implement APP-TABLES-FIELD-PERMISSIONS-007 ([#6512](https://github.com/sovrium/sovrium/issues/6512)) ([22a2743](https://github.com/sovrium/sovrium/commit/22a2743be8822c02b08d5dc373df6afd077c241c))
1189
- * implement APP-TABLES-FIELD-PERMISSIONS-008 ([#6496](https://github.com/sovrium/sovrium/issues/6496)) ([96b42b8](https://github.com/sovrium/sovrium/commit/96b42b835cdad12667fd93da00248c5ba68d0018))
1190
- * implement APP-TABLES-FIELD-PERMISSIONS-009 ([4d14222](https://github.com/sovrium/sovrium/commit/4d142226411139ade20fa6b45390cff3c1502f42))
1191
- * implement APP-TABLES-FIELD-PERMISSIONS-009 ([#6497](https://github.com/sovrium/sovrium/issues/6497)) ([4c91bf7](https://github.com/sovrium/sovrium/commit/4c91bf7afe1a2276ea9af9bd2c8301ca7ed1c9b4))
1192
- * implement APP-TABLES-FIELD-PHONE-NUMBER-001 ([#4803](https://github.com/sovrium/sovrium/issues/4803)) ([0529de9](https://github.com/sovrium/sovrium/commit/0529de9daa58814691350c65c10b197a31569b09))
1193
- * implement APP-TABLES-FIELD-PHONE-NUMBER-002 ([#4804](https://github.com/sovrium/sovrium/issues/4804)) ([cb0e791](https://github.com/sovrium/sovrium/commit/cb0e7913da4ce114944c45bdcc8bf551f19232c5))
1194
- * implement APP-TABLES-FIELD-PHONE-NUMBER-003 ([#4805](https://github.com/sovrium/sovrium/issues/4805)) ([4cce11a](https://github.com/sovrium/sovrium/commit/4cce11a90f40a9dfff3a21b5048aa9e3585e7c7c))
1195
- * implement APP-TABLES-FIELD-PHONE-NUMBER-004 ([#4806](https://github.com/sovrium/sovrium/issues/4806)) ([ecbc93d](https://github.com/sovrium/sovrium/commit/ecbc93d33747b4f540b6c61c521c776686c670e8))
1196
- * implement APP-TABLES-FIELD-PHONE-NUMBER-005 btree index for phone-number field ([#4807](https://github.com/sovrium/sovrium/issues/4807)) ([d53836f](https://github.com/sovrium/sovrium/commit/d53836f368416109331c34f61ae0c600129feffa))
1197
- * implement APP-TABLES-FIELD-PHONE-NUMBER-006 ([#4808](https://github.com/sovrium/sovrium/issues/4808)) ([4a372bc](https://github.com/sovrium/sovrium/commit/4a372bcaa9bccf635379a64607593adee81c5961))
1198
- * implement APP-TABLES-FIELD-REQUIRED-002 ([#4810](https://github.com/sovrium/sovrium/issues/4810)) ([0e46703](https://github.com/sovrium/sovrium/commit/0e46703a0e436cd11e4c1b4a52dfad42ed75b7a9))
1199
- * implement APP-TABLES-FIELD-REQUIRED-002 ([#4811](https://github.com/sovrium/sovrium/issues/4811)) ([9b6d633](https://github.com/sovrium/sovrium/commit/9b6d633259148dad569fefa0c6ef3e27fb72c6c9))
1200
- * implement APP-TABLES-FIELD-REQUIRED-003 ([#4812](https://github.com/sovrium/sovrium/issues/4812)) ([2d41759](https://github.com/sovrium/sovrium/commit/2d417592a3d6a7604e824659ead35c0c69406ea4))
1201
- * implement APP-TABLES-FIELD-REQUIRED-005 ([#4814](https://github.com/sovrium/sovrium/issues/4814)) ([df3b1aa](https://github.com/sovrium/sovrium/commit/df3b1aa40755dc0542a5f6fd4f0273a357473696))
1202
- * implement APP-TABLES-FIELD-SINGLE-LINE-TEXT-001 ([#4815](https://github.com/sovrium/sovrium/issues/4815)) ([24e79d5](https://github.com/sovrium/sovrium/commit/24e79d5974817c6effd476bc4c9925280da4c6a7))
1203
- * implement APP-TABLES-FIELD-SINGLE-LINE-TEXT-002 ([#4816](https://github.com/sovrium/sovrium/issues/4816)) ([7cf9f2d](https://github.com/sovrium/sovrium/commit/7cf9f2d725b3c0a1a3df7038e0a0028fbd107b7a))
1204
- * implement APP-TABLES-FIELD-SINGLE-LINE-TEXT-002 ([#4817](https://github.com/sovrium/sovrium/issues/4817)) ([eabb5c0](https://github.com/sovrium/sovrium/commit/eabb5c0f07ad4ae544d39bb2718dc341e1546cec))
1205
- * implement APP-TABLES-FIELD-SINGLE-LINE-TEXT-003 ([#4818](https://github.com/sovrium/sovrium/issues/4818)) ([040798c](https://github.com/sovrium/sovrium/commit/040798ca9421098a71911c97d3b919ddbbf0b8f2))
1206
- * implement APP-TABLES-FIELD-SINGLE-LINE-TEXT-007 ([#4824](https://github.com/sovrium/sovrium/issues/4824)) ([bdd788c](https://github.com/sovrium/sovrium/commit/bdd788c72719d279dbab5398fe30da855e1a74d2))
1207
- * implement APP-TABLES-FIELD-SINGLE-LINE-TEXT-012 ([#4829](https://github.com/sovrium/sovrium/issues/4829)) ([0395ada](https://github.com/sovrium/sovrium/commit/0395ada8681c4b4882dd82d6cb8bb54e342904af))
1208
- * implement APP-TABLES-FIELD-SINGLE-LINE-TEXT-013 ([#4830](https://github.com/sovrium/sovrium/issues/4830)) ([e69dcb7](https://github.com/sovrium/sovrium/commit/e69dcb77bd9b97cf8d4018524f49604461cd524c))
1209
- * implement APP-TABLES-FIELD-SINGLE-LINE-TEXT-014 ([#4831](https://github.com/sovrium/sovrium/issues/4831)) ([464e512](https://github.com/sovrium/sovrium/commit/464e51203ef915bd2f2bbdd6eb09a961982f3ffb))
1210
- * implement APP-TABLES-FIELD-SINGLE-LINE-TEXT-014 ([#4832](https://github.com/sovrium/sovrium/issues/4832)) ([6ea2a85](https://github.com/sovrium/sovrium/commit/6ea2a85e9047a9df3d14c61344cddc215fd966ea))
1211
- * implement APP-TABLES-FIELD-SINGLE-LINE-TEXT-015 ([#4833](https://github.com/sovrium/sovrium/issues/4833)) ([269e1b6](https://github.com/sovrium/sovrium/commit/269e1b6159553531c2827b63ef6e5095180a3095))
1212
- * implement APP-TABLES-FIELD-SINGLE-LINE-TEXT-015 ([#4834](https://github.com/sovrium/sovrium/issues/4834)) ([c824a91](https://github.com/sovrium/sovrium/commit/c824a9167931891b6fca9fe42e07f926791a2984))
1213
- * implement APP-TABLES-FIELD-SINGLE-LINE-TEXT-016 ([#4835](https://github.com/sovrium/sovrium/issues/4835)) ([b8724e4](https://github.com/sovrium/sovrium/commit/b8724e4b54ae4bc5d56f53e20741790ebdb8385d))
1214
- * implement APP-TABLES-FIELD-SINGLE-LINE-TEXT-016 ([#4836](https://github.com/sovrium/sovrium/issues/4836)) ([c1e2a03](https://github.com/sovrium/sovrium/commit/c1e2a03a7f6523ebdb6f9a122115fe216fd05355))
1215
- * implement APP-TABLES-FIELD-SINGLE-LINE-TEXT-017 ([#4837](https://github.com/sovrium/sovrium/issues/4837)) ([fa68dca](https://github.com/sovrium/sovrium/commit/fa68dcab2fd67706ef9c1554387f0a369cd1c51b))
1216
- * implement APP-TABLES-FIELD-SINGLE-LINE-TEXT-018 ([#4838](https://github.com/sovrium/sovrium/issues/4838)) ([adc0968](https://github.com/sovrium/sovrium/commit/adc0968ba73a57c8dcb6cb146cc82a6085e255df))
1217
- * implement APP-TABLES-FIELD-SINGLE-LINE-TEXT-019 ([#4839](https://github.com/sovrium/sovrium/issues/4839)) ([b6b9bba](https://github.com/sovrium/sovrium/commit/b6b9bba51c63400eaf1ce317380095ac0397b443))
1218
- * implement APP-TABLES-FIELD-SINGLE-LINE-TEXT-020 ([#4840](https://github.com/sovrium/sovrium/issues/4840)) ([44f9d73](https://github.com/sovrium/sovrium/commit/44f9d73c2c104a26b9a52287492e236f1df5d80c))
1219
- * implement APP-TABLES-FIELD-TYPES-ARRAY-003 ([#4906](https://github.com/sovrium/sovrium/issues/4906)) ([a8599b2](https://github.com/sovrium/sovrium/commit/a8599b251ec9cd489deabea1f2dc0bb881ad0066))
1220
- * implement APP-TABLES-FIELD-TYPES-AUTONUMBER-003 ([#4907](https://github.com/sovrium/sovrium/issues/4907)) ([0be5d3f](https://github.com/sovrium/sovrium/commit/0be5d3f125332b1440dc09868bdd75d2093f317f))
1221
- * implement APP-TABLES-FIELD-TYPES-BARCODE-001 ([#4841](https://github.com/sovrium/sovrium/issues/4841)) ([a3cf63a](https://github.com/sovrium/sovrium/commit/a3cf63a0763500f41f36b8b94e47c5f6c8304509))
1222
- * implement APP-TABLES-FIELD-TYPES-BARCODE-002 - barcode format CHECK constraint validation ([#4874](https://github.com/sovrium/sovrium/issues/4874)) ([3d34bed](https://github.com/sovrium/sovrium/commit/3d34bedd37344969a6abcad1c8ffc74d8ded5673))
1223
- * implement APP-TABLES-FIELD-TYPES-BUTTON-002 ([#4875](https://github.com/sovrium/sovrium/issues/4875)) ([86e7920](https://github.com/sovrium/sovrium/commit/86e7920931301a618b75d08e63a77e257dfc1d9e))
1224
- * implement APP-TABLES-FIELD-TYPES-BUTTON-006 ([#5388](https://github.com/sovrium/sovrium/issues/5388)) ([3146fba](https://github.com/sovrium/sovrium/commit/3146fba7ba99a2b4f562e51edb8ffa81907e915d))
1225
- * implement APP-TABLES-FIELD-TYPES-BUTTON-007 ([#5389](https://github.com/sovrium/sovrium/issues/5389)) ([6d8f892](https://github.com/sovrium/sovrium/commit/6d8f892e652626dcd0fcebf598a8f07b42827c02))
1226
- * implement APP-TABLES-FIELD-TYPES-CHECKBOX-002 ([#4876](https://github.com/sovrium/sovrium/issues/4876)) ([b05a942](https://github.com/sovrium/sovrium/commit/b05a9428d5b76026d02a6df41476764af0535be7))
1227
- * implement APP-TABLES-FIELD-TYPES-COLOR-001 ([#4844](https://github.com/sovrium/sovrium/issues/4844)) ([1d65cc4](https://github.com/sovrium/sovrium/commit/1d65cc43781aa4fc147418075e02f4fb7c1a9cf3))
1228
- * implement APP-TABLES-FIELD-TYPES-COLOR-002 ([#4877](https://github.com/sovrium/sovrium/issues/4877)) ([e11c6be](https://github.com/sovrium/sovrium/commit/e11c6be9058c464ab5bbab1881ce9e66666aac1a))
1229
- * implement APP-TABLES-FIELD-TYPES-COUNT-002 ([#5259](https://github.com/sovrium/sovrium/issues/5259)) ([f218974](https://github.com/sovrium/sovrium/commit/f21897459c5cbc40d519598bf0ec2ba6413e1aa2))
1230
- * implement APP-TABLES-FIELD-TYPES-COUNT-003 ([#5260](https://github.com/sovrium/sovrium/issues/5260)) ([f1eb01e](https://github.com/sovrium/sovrium/commit/f1eb01e58195de1f018d101e2a192c0830da86ca))
1231
- * implement APP-TABLES-FIELD-TYPES-COUNT-004 ([#5261](https://github.com/sovrium/sovrium/issues/5261)) ([bc6a3d4](https://github.com/sovrium/sovrium/commit/bc6a3d4b0436d63076c0f9cc88f355cde6839d2b))
1232
- * implement APP-TABLES-FIELD-TYPES-COUNT-005 ([#5262](https://github.com/sovrium/sovrium/issues/5262)) ([8ddf425](https://github.com/sovrium/sovrium/commit/8ddf425b5e87465c98f433bd73a668a2cd630d08))
1233
- * implement APP-TABLES-FIELD-TYPES-COUNT-005 ([#5263](https://github.com/sovrium/sovrium/issues/5263)) ([68e5bdc](https://github.com/sovrium/sovrium/commit/68e5bdcf0335017b1747b171d0372209023a04e3))
1234
- * implement APP-TABLES-FIELD-TYPES-COUNT-006 ([#5264](https://github.com/sovrium/sovrium/issues/5264)) ([d48cf2d](https://github.com/sovrium/sovrium/commit/d48cf2d90cd0d5110aa72cc5e8e465d43828bb2b))
1235
- * implement APP-TABLES-FIELD-TYPES-COUNT-006 ([#5392](https://github.com/sovrium/sovrium/issues/5392)) ([6966a9e](https://github.com/sovrium/sovrium/commit/6966a9e9bcd0cabed5de185f294b4995123728bb))
1236
- * implement APP-TABLES-FIELD-TYPES-COUNT-006 ([#5394](https://github.com/sovrium/sovrium/issues/5394)) ([ca2caee](https://github.com/sovrium/sovrium/commit/ca2caee5b2449a3afb12fe3ffbee70c0f97e0659))
1237
- * implement APP-TABLES-FIELD-TYPES-COUNT-007 ([#5396](https://github.com/sovrium/sovrium/issues/5396)) ([7ed8547](https://github.com/sovrium/sovrium/commit/7ed8547a07de41119c4642f91a69446c69f2ba3d))
1238
- * implement APP-TABLES-FIELD-TYPES-CREATED-AT-001 ([#4846](https://github.com/sovrium/sovrium/issues/4846)) ([f9011f9](https://github.com/sovrium/sovrium/commit/f9011f923bb0b77d1200838a935d9b7f327c76ed))
1239
- * implement APP-TABLES-FIELD-TYPES-CREATED-BY-001 ([#4847](https://github.com/sovrium/sovrium/issues/4847)) ([413c1d7](https://github.com/sovrium/sovrium/commit/413c1d719755a283b25faf23847ab52db90fa116)), closes [#3980](https://github.com/sovrium/sovrium/issues/3980)
1240
- * implement APP-TABLES-FIELD-TYPES-CURRENCY-001 ([#4848](https://github.com/sovrium/sovrium/issues/4848)) ([1b7f409](https://github.com/sovrium/sovrium/commit/1b7f4098e17fe74044dcc8644223df9c7b133fb4))
1241
- * implement APP-TABLES-FIELD-TYPES-CURRENCY-002 ([#4881](https://github.com/sovrium/sovrium/issues/4881)) ([39c1ad3](https://github.com/sovrium/sovrium/commit/39c1ad39ebc6fcb11eda06246c826715d04edba0))
1242
- * implement APP-TABLES-FIELD-TYPES-CURRENCY-005 ([#4928](https://github.com/sovrium/sovrium/issues/4928)) ([169daba](https://github.com/sovrium/sovrium/commit/169daba963b495b9a3b5ae399028542e75fdd0cf))
1243
- * implement APP-TABLES-FIELD-TYPES-CURRENCY-005 ([#4929](https://github.com/sovrium/sovrium/issues/4929)) ([851b877](https://github.com/sovrium/sovrium/commit/851b877acfcee76a9575f1b3a1eeca53299f9824))
1244
- * implement APP-TABLES-FIELD-TYPES-CURRENCY-006 ([#5393](https://github.com/sovrium/sovrium/issues/5393)) ([76f51d3](https://github.com/sovrium/sovrium/commit/76f51d3cfeefcb758f8c1d3d3047078b57061721))
1245
- * implement APP-TABLES-FIELD-TYPES-CURRENCY-006 ([#5395](https://github.com/sovrium/sovrium/issues/5395)) ([315d427](https://github.com/sovrium/sovrium/commit/315d4270fcc1c21669bd9a72c61ac1c3dfe2cb23))
1246
- * implement APP-TABLES-FIELD-TYPES-CURRENCY-007 ([#5265](https://github.com/sovrium/sovrium/issues/5265)) ([cff016d](https://github.com/sovrium/sovrium/commit/cff016d9c5bc28b3b8db916a5c6c4e73491ac8f3))
1247
- * implement APP-TABLES-FIELD-TYPES-CURRENCY-008 ([#5266](https://github.com/sovrium/sovrium/issues/5266)) ([125b394](https://github.com/sovrium/sovrium/commit/125b394012568923381f5426ded34bce2d532422))
1248
- * implement APP-TABLES-FIELD-TYPES-CURRENCY-009 ([#5267](https://github.com/sovrium/sovrium/issues/5267)) ([b164f75](https://github.com/sovrium/sovrium/commit/b164f75c7efd32e31a921f6df1a6d604902b9c66))
1249
- * implement APP-TABLES-FIELD-TYPES-CURRENCY-011 - period as thousands separator with comma decimal ([#5269](https://github.com/sovrium/sovrium/issues/5269)) ([b6b92a0](https://github.com/sovrium/sovrium/commit/b6b92a09789af87d5702c0c7979daef15b286c15))
1250
- * implement APP-TABLES-FIELD-TYPES-DATE-001 - PostgreSQL DATE column support ([#4849](https://github.com/sovrium/sovrium/issues/4849)) ([9b0bab1](https://github.com/sovrium/sovrium/commit/9b0bab1f1d4e2f756ce1a2e1c51de9157c00bed1))
1251
- * implement APP-TABLES-FIELD-TYPES-DATE-005 ([#4943](https://github.com/sovrium/sovrium/issues/4943)) ([9903969](https://github.com/sovrium/sovrium/commit/99039690e2c34f3e8f5e72fe918cf834c6aee739))
1252
- * implement APP-TABLES-FIELD-TYPES-DATE-007 - European date format display ([#5270](https://github.com/sovrium/sovrium/issues/5270)) ([efe30ae](https://github.com/sovrium/sovrium/commit/efe30ae68a6bdf3cffe88067098d2e42fc23f47e))
1253
- * implement APP-TABLES-FIELD-TYPES-DATE-007 - European date format display ([#5271](https://github.com/sovrium/sovrium/issues/5271)) ([f74892a](https://github.com/sovrium/sovrium/commit/f74892a4d1b33e6d50518164255dc47b9c224053))
1254
- * implement APP-TABLES-FIELD-TYPES-DATE-008 ([#5397](https://github.com/sovrium/sovrium/issues/5397)) ([70590b4](https://github.com/sovrium/sovrium/commit/70590b435cb52f43618aa28e4ecdbbbbcfd672b1))
1255
- * implement APP-TABLES-FIELD-TYPES-DATE-009 - include time component when includeTime is true ([#5400](https://github.com/sovrium/sovrium/issues/5400)) ([e1a28f9](https://github.com/sovrium/sovrium/commit/e1a28f96d4e9f6aa169022a5c86f1effa5eedc80))
1256
- * implement APP-TABLES-FIELD-TYPES-DATE-010 ([#5403](https://github.com/sovrium/sovrium/issues/5403)) ([43ee0d4](https://github.com/sovrium/sovrium/commit/43ee0d46ec9da91c3335b4914da5fe600de2900a))
1257
- * implement APP-TABLES-FIELD-TYPES-DATETIME-001 ([#4850](https://github.com/sovrium/sovrium/issues/4850)) ([c44bb21](https://github.com/sovrium/sovrium/commit/c44bb21338454dabc9ce5b6f59304b74b16c91db))
1258
- * implement APP-TABLES-FIELD-TYPES-DATETIME-007 ([#5272](https://github.com/sovrium/sovrium/issues/5272)) ([11a14e5](https://github.com/sovrium/sovrium/commit/11a14e58ea67163c5cdfb74bdacf6aea2fa01113))
1259
- * implement APP-TABLES-FIELD-TYPES-DATETIME-009 - use local timezone when timeZone is set to local ([#5401](https://github.com/sovrium/sovrium/issues/5401)) ([c3a7706](https://github.com/sovrium/sovrium/commit/c3a7706bb79d3de267424d713367279f38145085))
1260
- * implement APP-TABLES-FIELD-TYPES-DECIMAL-001 ([#4851](https://github.com/sovrium/sovrium/issues/4851)) ([b8c4c24](https://github.com/sovrium/sovrium/commit/b8c4c24f13332388e9cbaa970d7b209135aca8f5))
1261
- * implement APP-TABLES-FIELD-TYPES-DECIMAL-002 - enable CHECK constraint validation for decimal field min/max range ([#4884](https://github.com/sovrium/sovrium/issues/4884)) ([50458c4](https://github.com/sovrium/sovrium/commit/50458c404ab62fd2a79a62d084ce61e02bc76583))
1262
- * implement APP-TABLES-FIELD-TYPES-DECIMAL-002 - enable CHECK constraint validation for decimal field min/max range ([#4885](https://github.com/sovrium/sovrium/issues/4885)) ([e877cd6](https://github.com/sovrium/sovrium/commit/e877cd65b7e4154a23a5baacf64defd808efc64c))
1263
- * implement APP-TABLES-FIELD-TYPES-DECIMAL-005 ([#4945](https://github.com/sovrium/sovrium/issues/4945)) ([78cd92d](https://github.com/sovrium/sovrium/commit/78cd92dfe9187eddfe67b00b3ab76966d3d80742))
1264
- * implement APP-TABLES-FIELD-TYPES-DELETED-AT-001 ([#5707](https://github.com/sovrium/sovrium/issues/5707)) ([365c5ad](https://github.com/sovrium/sovrium/commit/365c5ad9f540d3e79dc30b107f01a3293767bf25))
1265
- * implement APP-TABLES-FIELD-TYPES-DELETED-AT-002 ([#5708](https://github.com/sovrium/sovrium/issues/5708)) ([39e77ce](https://github.com/sovrium/sovrium/commit/39e77ce80835b98d55f0bad59e16de696d402e8a))
1266
- * implement APP-TABLES-FIELD-TYPES-DELETED-AT-003 ([#5709](https://github.com/sovrium/sovrium/issues/5709)) ([473066d](https://github.com/sovrium/sovrium/commit/473066deecb2331ff5830ee32080fa83625eb9cd)), closes [#5708](https://github.com/sovrium/sovrium/issues/5708)
1267
- * implement APP-TABLES-FIELD-TYPES-DELETED-AT-004 ([#5710](https://github.com/sovrium/sovrium/issues/5710)) ([6c3ce4e](https://github.com/sovrium/sovrium/commit/6c3ce4e9be08b9914f3eb64db5011da4025a3ae9))
1268
- * implement APP-TABLES-FIELD-TYPES-DELETED-BY-001 ([#5969](https://github.com/sovrium/sovrium/issues/5969)) ([19d9af6](https://github.com/sovrium/sovrium/commit/19d9af6cc5095597e830a91af97361218135fca9))
1269
- * implement APP-TABLES-FIELD-TYPES-DELETED-BY-002 ([#5975](https://github.com/sovrium/sovrium/issues/5975)) ([dc3afda](https://github.com/sovrium/sovrium/commit/dc3afda2d25e7a0872e9216d3a3efe887f9dcd8c))
1270
- * implement APP-TABLES-FIELD-TYPES-DELETED-BY-003 ([#5976](https://github.com/sovrium/sovrium/issues/5976)) ([a880998](https://github.com/sovrium/sovrium/commit/a880998ebee9dfa75ba782ebd128508f49dec05a))
1271
- * implement APP-TABLES-FIELD-TYPES-DELETED-BY-004 ([#5978](https://github.com/sovrium/sovrium/issues/5978)) ([49968d8](https://github.com/sovrium/sovrium/commit/49968d847e7ac224dea9d050f04cf48a364f555d))
1272
- * implement APP-TABLES-FIELD-TYPES-DELETED-BY-005 ([#5979](https://github.com/sovrium/sovrium/issues/5979)) ([dfdfa04](https://github.com/sovrium/sovrium/commit/dfdfa04a60de1e56483ba8a8749a1d24b29ee9e3))
1273
- * implement APP-TABLES-FIELD-TYPES-DURATION-001 ([#4852](https://github.com/sovrium/sovrium/issues/4852)) ([87ff135](https://github.com/sovrium/sovrium/commit/87ff135ba1660b9cf3bae403f1521f02cc0c30aa))
1274
- * implement APP-TABLES-FIELD-TYPES-DURATION-007 ([#5273](https://github.com/sovrium/sovrium/issues/5273)) ([976e169](https://github.com/sovrium/sovrium/commit/976e169cba2bdb854f7f87d9c62d21528a0995b5))
1275
- * implement APP-TABLES-FIELD-TYPES-DURATION-007 ([#5335](https://github.com/sovrium/sovrium/issues/5335)) ([ba12e65](https://github.com/sovrium/sovrium/commit/ba12e65f4172cb49df2373fec4dde31d919b53c5))
1276
- * implement APP-TABLES-FIELD-TYPES-DURATION-008 - display duration in decimal format ([#5399](https://github.com/sovrium/sovrium/issues/5399)) ([fdcc5de](https://github.com/sovrium/sovrium/commit/fdcc5de3eb64dde2249edd9b3135de71d0efa4a5))
1277
- * implement APP-TABLES-FIELD-TYPES-DURATION-009 - add record button and duration input ([#5402](https://github.com/sovrium/sovrium/issues/5402)) ([0d267ea](https://github.com/sovrium/sovrium/commit/0d267eaba74ed65578ef27cddd46ed02efaa8fa1))
1278
- * implement APP-TABLES-FIELD-TYPES-FORMULA-001 ([#4853](https://github.com/sovrium/sovrium/issues/4853)) ([0c03e1a](https://github.com/sovrium/sovrium/commit/0c03e1a908d4812c5a33ed68828c0fc41fbf6a16))
1279
- * implement APP-TABLES-FIELD-TYPES-FORMULA-002 ([#4887](https://github.com/sovrium/sovrium/issues/4887)) ([66b15fd](https://github.com/sovrium/sovrium/commit/66b15fd79962e6dda2279b7e079ab7c53a25ad66))
1280
- * implement APP-TABLES-FIELD-TYPES-FORMULA-003 - support CASE WHEN conditional expressions in formula fields ([#5036](https://github.com/sovrium/sovrium/issues/5036)) ([8ce8e42](https://github.com/sovrium/sovrium/commit/8ce8e4236f533d455fb83b032d655e8aee53b40b))
1281
- * implement APP-TABLES-FIELD-TYPES-FORMULA-004 ([#5037](https://github.com/sovrium/sovrium/issues/5037)) ([d3b7fec](https://github.com/sovrium/sovrium/commit/d3b7fec622dee30835b2930fc70fb62930081ea3))
1282
- * implement APP-TABLES-FIELD-TYPES-FORMULA-005 - volatile formula support ([#5038](https://github.com/sovrium/sovrium/issues/5038)) ([012d426](https://github.com/sovrium/sovrium/commit/012d426037ded01254c27a9dc4e9427b510aafbf))
1283
- * implement APP-TABLES-FIELD-TYPES-FORMULA-005 - volatile formula support ([#5039](https://github.com/sovrium/sovrium/issues/5039)) ([253f411](https://github.com/sovrium/sovrium/commit/253f4115ab25239f20b18d4396210e9dec8b207b))
1284
- * implement APP-TABLES-FIELD-TYPES-FORMULA-007 ([#5404](https://github.com/sovrium/sovrium/issues/5404)) ([11a0f9f](https://github.com/sovrium/sovrium/commit/11a0f9fad4220b50f012f6e10535c316734a8865))
1285
- * implement APP-TABLES-FIELD-TYPES-FORMULA-008 - CEIL function support ([#5405](https://github.com/sovrium/sovrium/issues/5405)) ([926d273](https://github.com/sovrium/sovrium/commit/926d2732877ee145d5fb2adf05120f15bb364235))
1286
- * implement APP-TABLES-FIELD-TYPES-FORMULA-008 - CEIL function support ([#5406](https://github.com/sovrium/sovrium/issues/5406)) ([d306112](https://github.com/sovrium/sovrium/commit/d306112f748d6d916e59d80f1cd3fd49fa21c835))
1287
- * implement APP-TABLES-FIELD-TYPES-FORMULA-009 - EVEN function support ([#5407](https://github.com/sovrium/sovrium/issues/5407)) ([d139c86](https://github.com/sovrium/sovrium/commit/d139c86dddcfc937c2eb6ccf321d2590771822e1))
1288
- * implement APP-TABLES-FIELD-TYPES-FORMULA-010 - EXP function for formula fields ([#5408](https://github.com/sovrium/sovrium/issues/5408)) ([4e46f56](https://github.com/sovrium/sovrium/commit/4e46f563254ed635d1743ba465fd896a79c0e4c8))
1289
- * implement APP-TABLES-FIELD-TYPES-FORMULA-011 - FLOOR function for formula fields ([#5409](https://github.com/sovrium/sovrium/issues/5409)) ([1cc46e6](https://github.com/sovrium/sovrium/commit/1cc46e6f37f01d732939de72d9e19306decef7f5))
1290
- * implement APP-TABLES-FIELD-TYPES-FORMULA-012 - TRUNC function for formula fields ([#5410](https://github.com/sovrium/sovrium/issues/5410)) ([c84a69e](https://github.com/sovrium/sovrium/commit/c84a69ead4e9be9fab0d426aa2a42e79ad15f3f1))
1291
- * implement APP-TABLES-FIELD-TYPES-FORMULA-013 ([#5411](https://github.com/sovrium/sovrium/issues/5411)) ([764c60c](https://github.com/sovrium/sovrium/commit/764c60c0c01cdb956d76ebf822cfab8e37009404))
1292
- * implement APP-TABLES-FIELD-TYPES-FORMULA-013 ([#5412](https://github.com/sovrium/sovrium/issues/5412)) ([ddb2d6f](https://github.com/sovrium/sovrium/commit/ddb2d6ff42853ad31721b811d296c87ffd2ce4a7))
1293
- * implement APP-TABLES-FIELD-TYPES-FORMULA-014 ([#5413](https://github.com/sovrium/sovrium/issues/5413)) ([f89dff9](https://github.com/sovrium/sovrium/commit/f89dff9e25a851463dfd8d576b587508252efd05))
1294
- * implement APP-TABLES-FIELD-TYPES-FORMULA-015 ([#5414](https://github.com/sovrium/sovrium/issues/5414)) ([68ed9f2](https://github.com/sovrium/sovrium/commit/68ed9f24572643fe81d40cdb60e2b2831197aee5))
1295
- * implement APP-TABLES-FIELD-TYPES-FORMULA-016 LEAST formula function ([#5415](https://github.com/sovrium/sovrium/issues/5415)) ([06f3b58](https://github.com/sovrium/sovrium/commit/06f3b5827289645fc9ea9c18eaf1d56b2da2322f))
1296
- * implement APP-TABLES-FIELD-TYPES-FORMULA-017 (MOD function) ([#5416](https://github.com/sovrium/sovrium/issues/5416)) ([b7654ad](https://github.com/sovrium/sovrium/commit/b7654ad3bd7eb20ba18e52c69a23d2e56cec8e01))
1297
- * implement APP-TABLES-FIELD-TYPES-FORMULA-018 ([#5417](https://github.com/sovrium/sovrium/issues/5417)) ([43c9267](https://github.com/sovrium/sovrium/commit/43c9267e22394386c1a0dc3ffe5975b0234b979b))
1298
- * implement APP-TABLES-FIELD-TYPES-FORMULA-020 ([#5419](https://github.com/sovrium/sovrium/issues/5419)) ([66a56fa](https://github.com/sovrium/sovrium/commit/66a56fafab53e5682d9e3107bb21eab504d7270a))
1299
- * implement APP-TABLES-FIELD-TYPES-FORMULA-021 ([#5420](https://github.com/sovrium/sovrium/issues/5420)) ([72674c0](https://github.com/sovrium/sovrium/commit/72674c04dd9c8f2ab0eda86fc71f5cc44de88642))
1300
- * implement APP-TABLES-FIELD-TYPES-FORMULA-022 ([#5421](https://github.com/sovrium/sovrium/issues/5421)) ([eae8f24](https://github.com/sovrium/sovrium/commit/eae8f24c4939d578824421825b365d4c37dc9a2a))
1301
- * implement APP-TABLES-FIELD-TYPES-FORMULA-023 ([#5423](https://github.com/sovrium/sovrium/issues/5423)) ([010f7e1](https://github.com/sovrium/sovrium/commit/010f7e164f89ee23e25fa5b421286b962f252870))
1302
- * implement APP-TABLES-FIELD-TYPES-FORMULA-025 ([#5425](https://github.com/sovrium/sovrium/issues/5425)) ([6f41395](https://github.com/sovrium/sovrium/commit/6f41395293b9794756de67648d9cf37c1d1a65ca))
1303
- * implement APP-TABLES-FIELD-TYPES-FORMULA-026 (COALESCE function) ([#5426](https://github.com/sovrium/sovrium/issues/5426)) ([ead564e](https://github.com/sovrium/sovrium/commit/ead564e943d99d72ff21968ed07e855b8b4befb3))
1304
- * implement APP-TABLES-FIELD-TYPES-FORMULA-026 (COALESCE function) ([#5427](https://github.com/sovrium/sovrium/issues/5427)) ([ee4952f](https://github.com/sovrium/sovrium/commit/ee4952fb086be7a6c24265300206c532dc56e0d6))
1305
- * implement APP-TABLES-FIELD-TYPES-FORMULA-027 ([#5428](https://github.com/sovrium/sovrium/issues/5428)) ([3eed20d](https://github.com/sovrium/sovrium/commit/3eed20d25d330607a65d33c9452426e566662a2e))
1306
- * implement APP-TABLES-FIELD-TYPES-FORMULA-028 (LEFT function) ([#5429](https://github.com/sovrium/sovrium/issues/5429)) ([136b6f5](https://github.com/sovrium/sovrium/commit/136b6f50e6ee19cddb3ddbe87d23d59353d8b441))
1307
- * implement APP-TABLES-FIELD-TYPES-FORMULA-029 - RIGHT function for formula fields ([#5430](https://github.com/sovrium/sovrium/issues/5430)) ([adfc621](https://github.com/sovrium/sovrium/commit/adfc6214d380788041d345b813f0cf627939ecd4))
1308
- * implement APP-TABLES-FIELD-TYPES-FORMULA-031 - remove .fixme() from LENGTH function test ([#5432](https://github.com/sovrium/sovrium/issues/5432)) ([2b6d215](https://github.com/sovrium/sovrium/commit/2b6d215c23750c8e28ab0800dad82878c8b3a679))
1309
- * implement APP-TABLES-FIELD-TYPES-FORMULA-032 - remove .fixme() from LOWER function test ([#5433](https://github.com/sovrium/sovrium/issues/5433)) ([7db3853](https://github.com/sovrium/sovrium/commit/7db38537780108621a88d309bc4f2a1c4e1fb47c))
1310
- * implement APP-TABLES-FIELD-TYPES-FORMULA-033 ([#5434](https://github.com/sovrium/sovrium/issues/5434)) ([7f88863](https://github.com/sovrium/sovrium/commit/7f88863d332b88fc825ac87064c292ecad04e8ff))
1311
- * implement APP-TABLES-FIELD-TYPES-FORMULA-034 - TRIM function support ([#5435](https://github.com/sovrium/sovrium/issues/5435)) ([1bd82d7](https://github.com/sovrium/sovrium/commit/1bd82d7347c29b90fbe68385ad3b414a59a05c86))
1312
- * implement APP-TABLES-FIELD-TYPES-FORMULA-034 - TRIM function support ([#5436](https://github.com/sovrium/sovrium/issues/5436)) ([01c750a](https://github.com/sovrium/sovrium/commit/01c750a753eb86714083a85bbbd1a9013d0869d5))
1313
- * implement APP-TABLES-FIELD-TYPES-FORMULA-035 ([#5437](https://github.com/sovrium/sovrium/issues/5437)) ([8d9702b](https://github.com/sovrium/sovrium/commit/8d9702b65b17b2cdebe34e366904270493db4b28))
1314
- * implement APP-TABLES-FIELD-TYPES-FORMULA-036 ([#5438](https://github.com/sovrium/sovrium/issues/5438)) ([46b58ce](https://github.com/sovrium/sovrium/commit/46b58cec815822b24a379697630a9a27d2a53e6c))
1315
- * implement APP-TABLES-FIELD-TYPES-FORMULA-037 ([#5439](https://github.com/sovrium/sovrium/issues/5439)) ([56f2deb](https://github.com/sovrium/sovrium/commit/56f2deb2ef77fde0e381b3359f6890d47375ce78))
1316
- * implement APP-TABLES-FIELD-TYPES-FORMULA-038 REPLACE function test ([#5440](https://github.com/sovrium/sovrium/issues/5440)) ([7ae4377](https://github.com/sovrium/sovrium/commit/7ae4377e80f75e3d38920ba8b17bcb30ef14d42e))
1317
- * implement APP-TABLES-FIELD-TYPES-FORMULA-039 (REPEAT function) ([#5441](https://github.com/sovrium/sovrium/issues/5441)) ([392cdaa](https://github.com/sovrium/sovrium/commit/392cdaac8271f0dee4523e4387439754694e07fe))
1318
- * implement APP-TABLES-FIELD-TYPES-FORMULA-040 ([#5442](https://github.com/sovrium/sovrium/issues/5442)) ([9dc792e](https://github.com/sovrium/sovrium/commit/9dc792ecb2e47397870dfec3d1c9ca9e9eb5cead))
1319
- * implement APP-TABLES-FIELD-TYPES-FORMULA-041 ([#5444](https://github.com/sovrium/sovrium/issues/5444)) ([cfa6a07](https://github.com/sovrium/sovrium/commit/cfa6a078e1768cb236030db6d8432dff14dc74f2))
1320
- * implement APP-TABLES-FIELD-TYPES-FORMULA-043 ([#5446](https://github.com/sovrium/sovrium/issues/5446)) ([1b0a0a3](https://github.com/sovrium/sovrium/commit/1b0a0a3f357f92ed654a983b2b33932fc6aae648))
1321
- * implement APP-TABLES-FIELD-TYPES-FORMULA-044 ([#5447](https://github.com/sovrium/sovrium/issues/5447)) ([7cb0e3a](https://github.com/sovrium/sovrium/commit/7cb0e3a971066394accff9e2d74974c0ab029c87))
1322
- * implement APP-TABLES-FIELD-TYPES-FORMULA-045 ([#5448](https://github.com/sovrium/sovrium/issues/5448)) ([f57cb74](https://github.com/sovrium/sovrium/commit/f57cb74b333790e0596df67d5e5af4966e73e3c5))
1323
- * implement APP-TABLES-FIELD-TYPES-FORMULA-046 ([#5449](https://github.com/sovrium/sovrium/issues/5449)) ([2a175d2](https://github.com/sovrium/sovrium/commit/2a175d274b6005a051e3dd9c140c360025068e47))
1324
- * implement APP-TABLES-FIELD-TYPES-FORMULA-047 ([#5450](https://github.com/sovrium/sovrium/issues/5450)) ([3727f05](https://github.com/sovrium/sovrium/commit/3727f05551cebc630c7c36272cc17a4b183e8e36))
1325
- * implement APP-TABLES-FIELD-TYPES-FORMULA-048 (OR logical operator) ([#5451](https://github.com/sovrium/sovrium/issues/5451)) ([af27019](https://github.com/sovrium/sovrium/commit/af2701972f53ff384b02eca1f255617f2f4a09e0))
1326
- * implement APP-TABLES-FIELD-TYPES-FORMULA-049 ([#5452](https://github.com/sovrium/sovrium/issues/5452)) ([0bc0315](https://github.com/sovrium/sovrium/commit/0bc0315aafe3e7d93efe5ab9ace34f21b97f9f6a))
1327
- * implement APP-TABLES-FIELD-TYPES-FORMULA-049 ([#5453](https://github.com/sovrium/sovrium/issues/5453)) ([7a12461](https://github.com/sovrium/sovrium/commit/7a12461ac20c77eeb6db320a727e58d3140c825d))
1328
- * implement APP-TABLES-FIELD-TYPES-FORMULA-050 - CASE expression support ([#5454](https://github.com/sovrium/sovrium/issues/5454)) ([4164f53](https://github.com/sovrium/sovrium/commit/4164f536249f9dd65d1dddafaffdddfd7657bbb8))
1329
- * implement APP-TABLES-FIELD-TYPES-FORMULA-051 ([#5455](https://github.com/sovrium/sovrium/issues/5455)) ([fcedb9b](https://github.com/sovrium/sovrium/commit/fcedb9bcbe626d9499c4af528efd121d3186ba0f))
1330
- * implement APP-TABLES-FIELD-TYPES-FORMULA-052 ([#5456](https://github.com/sovrium/sovrium/issues/5456)) ([c7c44b0](https://github.com/sovrium/sovrium/commit/c7c44b009444858a6297bd4d98654f42d874859c))
1331
- * implement APP-TABLES-FIELD-TYPES-FORMULA-053 ([#5457](https://github.com/sovrium/sovrium/issues/5457)) ([ca7832f](https://github.com/sovrium/sovrium/commit/ca7832f7cc776892e4bce040fe7096d70e0fa822))
1332
- * implement APP-TABLES-FIELD-TYPES-FORMULA-054 ([#5458](https://github.com/sovrium/sovrium/issues/5458)) ([3934a4d](https://github.com/sovrium/sovrium/commit/3934a4d746fb994895b4f787991ea6e49ae9d535))
1333
- * implement APP-TABLES-FIELD-TYPES-FORMULA-055 ([#5459](https://github.com/sovrium/sovrium/issues/5459)) ([01b621f](https://github.com/sovrium/sovrium/commit/01b621fa0c23465cff45e11aa239cac7021a3b92))
1334
- * implement APP-TABLES-FIELD-TYPES-FORMULA-056 - IS NULL formula support ([#5460](https://github.com/sovrium/sovrium/issues/5460)) ([102f2b5](https://github.com/sovrium/sovrium/commit/102f2b507f9573a34fa287ee0d7a0526bbd6826a))
1335
- * implement APP-TABLES-FIELD-TYPES-FORMULA-057 - COALESCE function support ([#5461](https://github.com/sovrium/sovrium/issues/5461)) ([2504259](https://github.com/sovrium/sovrium/commit/250425934374d843b7528d76af2b45f11ed6c675))
1336
- * implement APP-TABLES-FIELD-TYPES-FORMULA-058 - CURRENT_DATE comparison support ([#5462](https://github.com/sovrium/sovrium/issues/5462)) ([c0aca04](https://github.com/sovrium/sovrium/commit/c0aca04bfbb1ab7bf40c2c2054906b33559b280f))
1337
- * implement APP-TABLES-FIELD-TYPES-FORMULA-059 ([#5463](https://github.com/sovrium/sovrium/issues/5463)) ([4d5f16c](https://github.com/sovrium/sovrium/commit/4d5f16cbdc88de5dc173d891f07ad7db1624ff95))
1338
- * implement APP-TABLES-FIELD-TYPES-FORMULA-060 (date difference formula) ([#5464](https://github.com/sovrium/sovrium/issues/5464)) ([810dd27](https://github.com/sovrium/sovrium/commit/810dd27254705b5b648ff571e7f6bc272d2a73f8))
1339
- * implement APP-TABLES-FIELD-TYPES-FORMULA-060 (date difference formula) ([#5465](https://github.com/sovrium/sovrium/issues/5465)) ([f70ee78](https://github.com/sovrium/sovrium/commit/f70ee789e733a184b14778cc056b8b6a39760f7d))
1340
- * implement APP-TABLES-FIELD-TYPES-FORMULA-061 (TO_CHAR date formatting) ([#5466](https://github.com/sovrium/sovrium/issues/5466)) ([f31b79b](https://github.com/sovrium/sovrium/commit/f31b79be37ce1a47fca2626be1b65821ce74cc8a))
1341
- * implement APP-TABLES-FIELD-TYPES-FORMULA-062 ([#5467](https://github.com/sovrium/sovrium/issues/5467)) ([5e0e12b](https://github.com/sovrium/sovrium/commit/5e0e12bafd95a522057f2ad77bbf8efa64ead7e9))
1342
- * implement APP-TABLES-FIELD-TYPES-FORMULA-063 - extract year from date in formula field ([#5468](https://github.com/sovrium/sovrium/issues/5468)) ([b7166b5](https://github.com/sovrium/sovrium/commit/b7166b5475841b41830d46a8473e9ef16dd13a25))
1343
- * implement APP-TABLES-FIELD-TYPES-FORMULA-064 ([#5469](https://github.com/sovrium/sovrium/issues/5469)) ([349b326](https://github.com/sovrium/sovrium/commit/349b326411bfe511eda28e0cc8f365f4280f5a1f))
1344
- * implement APP-TABLES-FIELD-TYPES-FORMULA-065 ([#5470](https://github.com/sovrium/sovrium/issues/5470)) ([8e59a61](https://github.com/sovrium/sovrium/commit/8e59a6160eafb4fbf2e839f353ea343dc5332f55))
1345
- * implement APP-TABLES-FIELD-TYPES-FORMULA-066 ([#5471](https://github.com/sovrium/sovrium/issues/5471)) ([ab06758](https://github.com/sovrium/sovrium/commit/ab06758d41709120457f7cbaabbefc76fac454a1))
1346
- * implement APP-TABLES-FIELD-TYPES-FORMULA-066 ([#5472](https://github.com/sovrium/sovrium/issues/5472)) ([0c5761d](https://github.com/sovrium/sovrium/commit/0c5761da1fd599976b1c535433f880b5d4825d62))
1347
- * implement APP-TABLES-FIELD-TYPES-FORMULA-067 ([#5473](https://github.com/sovrium/sovrium/issues/5473)) ([23d2e95](https://github.com/sovrium/sovrium/commit/23d2e95cacc2ef65c768e9f07294aa748f3ba30a))
1348
- * implement APP-TABLES-FIELD-TYPES-FORMULA-067 ([#5474](https://github.com/sovrium/sovrium/issues/5474)) ([5a6d439](https://github.com/sovrium/sovrium/commit/5a6d4393f6207daea2d004dae7d096a373965124))
1349
- * implement APP-TABLES-FIELD-TYPES-FORMULA-068 ([#5476](https://github.com/sovrium/sovrium/issues/5476)) ([0d124d0](https://github.com/sovrium/sovrium/commit/0d124d0a7a51ea5ecb7687a432c14e650819b664))
1350
- * implement APP-TABLES-FIELD-TYPES-FORMULA-069 ([#5475](https://github.com/sovrium/sovrium/issues/5475)) ([b86659a](https://github.com/sovrium/sovrium/commit/b86659a6d3df81b087c37f7d9bb3cacefee05fa5))
1351
- * implement APP-TABLES-FIELD-TYPES-FORMULA-070 ([#5477](https://github.com/sovrium/sovrium/issues/5477)) ([5dd745a](https://github.com/sovrium/sovrium/commit/5dd745ae390ed77d4deb4b74284b7b0c4237a31f))
1352
- * implement APP-TABLES-FIELD-TYPES-FORMULA-071 ([#5478](https://github.com/sovrium/sovrium/issues/5478)) ([50836e7](https://github.com/sovrium/sovrium/commit/50836e76a345e187a734cd64f1c66012eab5712e))
1353
- * implement APP-TABLES-FIELD-TYPES-FORMULA-072 ([#5479](https://github.com/sovrium/sovrium/issues/5479)) ([17d34fc](https://github.com/sovrium/sovrium/commit/17d34fcef4d36ffa308490bdecf07f7e49bd8f83))
1354
- * implement APP-TABLES-FIELD-TYPES-FORMULA-073 - support DATE_TRUNC in formula fields ([#5480](https://github.com/sovrium/sovrium/issues/5480)) ([320a6e7](https://github.com/sovrium/sovrium/commit/320a6e76e4164134fcc9880bb8d56577362af07d))
1355
- * implement APP-TABLES-FIELD-TYPES-FORMULA-074 - date comparison with > operator ([#5481](https://github.com/sovrium/sovrium/issues/5481)) ([3163c15](https://github.com/sovrium/sovrium/commit/3163c15521e75194b1a43e4eaf696815fbbddbf7))
1356
- * implement APP-TABLES-FIELD-TYPES-FORMULA-075 ([#5482](https://github.com/sovrium/sovrium/issues/5482)) ([d6ddc8a](https://github.com/sovrium/sovrium/commit/d6ddc8abf1601fcc6a1c439e818cf446b49d4ff3))
1357
- * implement APP-TABLES-FIELD-TYPES-FORMULA-076 ([#5483](https://github.com/sovrium/sovrium/issues/5483)) ([fc3bbbf](https://github.com/sovrium/sovrium/commit/fc3bbbf4692beec5f68603013cfe0677b05c002b))
1358
- * implement APP-TABLES-FIELD-TYPES-FORMULA-078 ([#5485](https://github.com/sovrium/sovrium/issues/5485)) ([e76a39f](https://github.com/sovrium/sovrium/commit/e76a39fc5dc3d18c22396233d3d2a4475e80641b))
1359
- * implement APP-TABLES-FIELD-TYPES-FORMULA-079 ([#5486](https://github.com/sovrium/sovrium/issues/5486)) ([7e34872](https://github.com/sovrium/sovrium/commit/7e34872caaedb3dd7c37791eda9db5137b518eae))
1360
- * implement APP-TABLES-FIELD-TYPES-FORMULA-080 - array slicing support ([#5487](https://github.com/sovrium/sovrium/issues/5487)) ([bc3c039](https://github.com/sovrium/sovrium/commit/bc3c03986ac3565de6817d4511c2449fc336ab11))
1361
- * implement APP-TABLES-FIELD-TYPES-FORMULA-080 - array slicing support ([#5488](https://github.com/sovrium/sovrium/issues/5488)) ([197af84](https://github.com/sovrium/sovrium/commit/197af84cf45bf14e93fe35a65c4338d7718feb60))
1362
- * implement APP-TABLES-FIELD-TYPES-FORMULA-081 - array counting with CARDINALITY ([#5489](https://github.com/sovrium/sovrium/issues/5489)) ([fba35e9](https://github.com/sovrium/sovrium/commit/fba35e92aca2391d1b6d34902cb3fd488837de58))
1363
- * implement APP-TABLES-FIELD-TYPES-FORMULA-082 ([#5490](https://github.com/sovrium/sovrium/issues/5490)) ([7c5f75f](https://github.com/sovrium/sovrium/commit/7c5f75fa1b4cdb61fd28b037b1998208e0a07e58))
1364
- * implement APP-TABLES-FIELD-TYPES-FORMULA-083 ([#5491](https://github.com/sovrium/sovrium/issues/5491)) ([2f5a215](https://github.com/sovrium/sovrium/commit/2f5a215873758de82d30f000dd1b32e3024dbb8b))
1365
- * implement APP-TABLES-FIELD-TYPES-FORMULA-084 ([#5492](https://github.com/sovrium/sovrium/issues/5492)) ([807a1d8](https://github.com/sovrium/sovrium/commit/807a1d8aec019c8719510cd03813407b9178adc3))
1366
- * implement APP-TABLES-FIELD-TYPES-FORMULA-087 (REGEXP_REPLACE support) ([#5496](https://github.com/sovrium/sovrium/issues/5496)) ([ddb3f50](https://github.com/sovrium/sovrium/commit/ddb3f5042de8145034398e232d9fb660814ae3d5))
1367
- * implement APP-TABLES-FIELD-TYPES-FORMULA-088 (modulo operator support) ([#5497](https://github.com/sovrium/sovrium/issues/5497)) ([2983036](https://github.com/sovrium/sovrium/commit/29830366eef46faad8c364dbd0cce39265367072))
1368
- * implement APP-TABLES-FIELD-TYPES-FORMULA-089 ([#5498](https://github.com/sovrium/sovrium/issues/5498)) ([03c4782](https://github.com/sovrium/sovrium/commit/03c47821461687996bc52e2575719346550d3722))
1369
- * implement APP-TABLES-FIELD-TYPES-FORMULA-089 ([#5499](https://github.com/sovrium/sovrium/issues/5499)) ([c4f4568](https://github.com/sovrium/sovrium/commit/c4f45681ee11415788733e0af2532a7618f26634))
1370
- * implement APP-TABLES-FIELD-TYPES-FORMULA-090 ([#5500](https://github.com/sovrium/sovrium/issues/5500)) ([689b3cf](https://github.com/sovrium/sovrium/commit/689b3cf3ff8ec9e25a1599f8e90c6a08a7eea790))
1371
- * implement APP-TABLES-FIELD-TYPES-FORMULA-091 ([#5501](https://github.com/sovrium/sovrium/issues/5501)) ([7057e23](https://github.com/sovrium/sovrium/commit/7057e23f7b88bb0afe373f6db546eeb2fb893015))
1372
- * implement APP-TABLES-FIELD-TYPES-FORMULA-092 - text to number coercion ([#5502](https://github.com/sovrium/sovrium/issues/5502)) ([dfdb756](https://github.com/sovrium/sovrium/commit/dfdb756824c69288ffee0376326ee35f699801f1))
1373
- * implement APP-TABLES-FIELD-TYPES-FORMULA-093 ([#5503](https://github.com/sovrium/sovrium/issues/5503)) ([efa1bff](https://github.com/sovrium/sovrium/commit/efa1bff7f6295ec80360627c1d376881c75e8b47))
1374
- * implement APP-TABLES-FIELD-TYPES-FORMULA-093 ([#5504](https://github.com/sovrium/sovrium/issues/5504)) ([fe98dc9](https://github.com/sovrium/sovrium/commit/fe98dc9f62bf8614ca1e7e659e49f327346544ff))
1375
- * implement APP-TABLES-FIELD-TYPES-FORMULA-094 ([#5505](https://github.com/sovrium/sovrium/issues/5505)) ([50272d5](https://github.com/sovrium/sovrium/commit/50272d5386fcc2c823a7f67584592b221f187fe0))
1376
- * implement APP-TABLES-FIELD-TYPES-FORMULA-095 - equals operator in formula fields ([#5506](https://github.com/sovrium/sovrium/issues/5506)) ([5730a06](https://github.com/sovrium/sovrium/commit/5730a064dc2fbbdb5fe59144222876d3546c8651))
1377
- * implement APP-TABLES-FIELD-TYPES-FORMULA-096 - not equals operator in formula fields ([#5507](https://github.com/sovrium/sovrium/issues/5507)) ([4ea6d2f](https://github.com/sovrium/sovrium/commit/4ea6d2ff5838f6377cf7442aa39eba39f73c1646))
1378
- * implement APP-TABLES-FIELD-TYPES-FORMULA-097 ([#5508](https://github.com/sovrium/sovrium/issues/5508)) ([a712515](https://github.com/sovrium/sovrium/commit/a7125154f1ecfd58a1eee23f5132cbea2cc7ce29))
1379
- * implement APP-TABLES-FIELD-TYPES-FORMULA-098 - > operator for formula field ([#5510](https://github.com/sovrium/sovrium/issues/5510)) ([d2f29ab](https://github.com/sovrium/sovrium/commit/d2f29ab02ed46e4ed3a51ebb6901f7af57503b4c))
1380
- * implement APP-TABLES-FIELD-TYPES-FORMULA-099 ([#5511](https://github.com/sovrium/sovrium/issues/5511)) ([f90619a](https://github.com/sovrium/sovrium/commit/f90619ae59f545f6506946bc00c7ef013a482646))
1381
- * implement APP-TABLES-FIELD-TYPES-FORMULA-100 ([#5512](https://github.com/sovrium/sovrium/issues/5512)) ([a917c99](https://github.com/sovrium/sovrium/commit/a917c99eea0a8c2b105d0e78e535a4fa49c4ef0b))
1382
- * implement APP-TABLES-FIELD-TYPES-FORMULA-101 (unary minus operator) ([#5513](https://github.com/sovrium/sovrium/issues/5513)) ([9443c97](https://github.com/sovrium/sovrium/commit/9443c97c18a01adcc7172cde7aaa8da7e725206d))
1383
- * implement APP-TABLES-FIELD-TYPES-FORMULA-102 ([#5514](https://github.com/sovrium/sovrium/issues/5514)) ([27ce491](https://github.com/sovrium/sovrium/commit/27ce491fc93c6207f010e7ef8851f204d69b016a))
1384
- * implement APP-TABLES-FIELD-TYPES-FORMULA-103 ([#5515](https://github.com/sovrium/sovrium/issues/5515)) ([c8fe49c](https://github.com/sovrium/sovrium/commit/c8fe49cb895f78bcf47678e7cc4f5eca0d6264ca))
1385
- * implement APP-TABLES-FIELD-TYPES-FORMULA-104 ([#5521](https://github.com/sovrium/sovrium/issues/5521)) ([4c90a56](https://github.com/sovrium/sovrium/commit/4c90a5630dac78e3a28921c4b28bfb27ce6e28fb))
1386
- * implement APP-TABLES-FIELD-TYPES-FORMULA-105 - date-to-text coercion in formula fields ([#5522](https://github.com/sovrium/sovrium/issues/5522)) ([10297c8](https://github.com/sovrium/sovrium/commit/10297c822efe204184bd8292e2c8d829894b0c7d))
1387
- * implement APP-TABLES-FIELD-TYPES-FORMULA-106 - empty string comparison in formula fields ([#5523](https://github.com/sovrium/sovrium/issues/5523)) ([6e5d4f0](https://github.com/sovrium/sovrium/commit/6e5d4f00a0ef28e36d895635d8fa897762410041))
1388
- * implement APP-TABLES-FIELD-TYPES-FORMULA-107 ([#5524](https://github.com/sovrium/sovrium/issues/5524)) ([dce00f7](https://github.com/sovrium/sovrium/commit/dce00f73d9a2d282649a03f50a0fa96c07663d4d))
1389
- * implement APP-TABLES-FIELD-TYPES-FORMULA-108 - handle case sensitivity in field names ([#5525](https://github.com/sovrium/sovrium/issues/5525)) ([12e9fbe](https://github.com/sovrium/sovrium/commit/12e9fbe8ae87b74b5f26798ec91262b78aa6fbb6))
1390
- * implement APP-TABLES-FIELD-TYPES-FORMULA-109 - reserved word escaping ([#5527](https://github.com/sovrium/sovrium/issues/5527)) ([697b81b](https://github.com/sovrium/sovrium/commit/697b81b2884849a04594bcf4cb94cfd2154434dc)), closes [#5526](https://github.com/sovrium/sovrium/issues/5526)
1391
- * implement APP-TABLES-FIELD-TYPES-FORMULA-110 ([#5526](https://github.com/sovrium/sovrium/issues/5526)) ([1ed7c1a](https://github.com/sovrium/sovrium/commit/1ed7c1aad38f3aadc86e6614dbaf59de5aa3edc0))
1392
- * implement APP-TABLES-FIELD-TYPES-FORMULA-111 ([#5528](https://github.com/sovrium/sovrium/issues/5528)) ([ce4c140](https://github.com/sovrium/sovrium/commit/ce4c140c02b19158b8d5a0fc7bbe433d1c70ac36))
1393
- * implement APP-TABLES-FIELD-TYPES-FORMULA-112 ([#5529](https://github.com/sovrium/sovrium/issues/5529)) ([a8018b1](https://github.com/sovrium/sovrium/commit/a8018b1357397f4462e62ea6b4547de205008b96))
1394
- * implement APP-TABLES-FIELD-TYPES-FORMULA-113 ([#5530](https://github.com/sovrium/sovrium/issues/5530)) ([cc92825](https://github.com/sovrium/sovrium/commit/cc928255870686cbfe98e4d988f7d1ef61f5a7be))
1395
- * implement APP-TABLES-FIELD-TYPES-FORMULA-114 ([#5531](https://github.com/sovrium/sovrium/issues/5531)) ([31530ab](https://github.com/sovrium/sovrium/commit/31530ab07b23e68736c0d32ec21d803ed094fdf7))
1396
- * implement APP-TABLES-FIELD-TYPES-FORMULA-115 ([#5532](https://github.com/sovrium/sovrium/issues/5532)) ([117bf0c](https://github.com/sovrium/sovrium/commit/117bf0c70deb46b335769c4bcb338ca8a88af274))
1397
- * implement APP-TABLES-FIELD-TYPES-FORMULA-116 and refactor formula-utils ([#5534](https://github.com/sovrium/sovrium/issues/5534)) ([56e4649](https://github.com/sovrium/sovrium/commit/56e46491fb5b4c36a0795d4f5de324a0c41a109a))
1398
- * implement APP-TABLES-FIELD-TYPES-FORMULA-117 ([#5533](https://github.com/sovrium/sovrium/issues/5533)) ([e95ce90](https://github.com/sovrium/sovrium/commit/e95ce905f4037fc5b91ecbeedcbfbfd3226ac391))
1399
- * implement APP-TABLES-FIELD-TYPES-FORMULA-118 ([#5535](https://github.com/sovrium/sovrium/issues/5535)) ([60a9225](https://github.com/sovrium/sovrium/commit/60a92253c1dad16591c598a401e2f2451f2abd24))
1400
- * implement APP-TABLES-FIELD-TYPES-FORMULA-119 ([#5536](https://github.com/sovrium/sovrium/issues/5536)) ([add1de0](https://github.com/sovrium/sovrium/commit/add1de091f45316705dd5cd72af3f63be4023b52))
1401
- * implement APP-TABLES-FIELD-TYPES-FORMULA-120 - formula field with INITCAP and UPPER functions ([#5537](https://github.com/sovrium/sovrium/issues/5537)) ([95dbde3](https://github.com/sovrium/sovrium/commit/95dbde34554e8a7cdc7751a49531942e5e3bd8a9))
1402
- * implement APP-TABLES-FIELD-TYPES-FORMULA-121 - URL slug generation with LOWER and REGEXP_REPLACE ([#5538](https://github.com/sovrium/sovrium/issues/5538)) ([b09aaca](https://github.com/sovrium/sovrium/commit/b09aacaea3a46dc1a1bb00502d0f007ce5021165))
1403
- * implement APP-TABLES-FIELD-TYPES-FORMULA-122 ([#5539](https://github.com/sovrium/sovrium/issues/5539)) ([c6af225](https://github.com/sovrium/sovrium/commit/c6af22511b27059a5bddfd3e1274004a64da4bd0))
1404
- * implement APP-TABLES-FIELD-TYPES-FORMULA-124 ([#5540](https://github.com/sovrium/sovrium/issues/5540)) ([5b7f97f](https://github.com/sovrium/sovrium/commit/5b7f97f3ae994d64f6eff01a825381fc47f08dff)), closes [#5520](https://github.com/sovrium/sovrium/issues/5520)
1405
- * implement APP-TABLES-FIELD-TYPES-FORMULA-125 ([#5541](https://github.com/sovrium/sovrium/issues/5541)) ([5f923f7](https://github.com/sovrium/sovrium/commit/5f923f789ebbd0a2390273582878da9c85dc2059))
1406
- * implement APP-TABLES-FIELD-TYPES-GEOLOCATION-001 ([#4854](https://github.com/sovrium/sovrium/issues/4854)) ([5d2dea1](https://github.com/sovrium/sovrium/commit/5d2dea1078353d87276d9cf9bf5df70164a91ccc))
1407
- * implement APP-TABLES-FIELD-TYPES-GEOLOCATION-003 ([#5042](https://github.com/sovrium/sovrium/issues/5042)) ([067bde2](https://github.com/sovrium/sovrium/commit/067bde26fb93a5a13c6e1df8009f7f344098b010))
1408
- * implement APP-TABLES-FIELD-TYPES-GEOLOCATION-005 ([#5043](https://github.com/sovrium/sovrium/issues/5043)) ([1d729b4](https://github.com/sovrium/sovrium/commit/1d729b40315da11b3a3535d6f6b0c16f7ebb7fd7))
1409
- * implement APP-TABLES-FIELD-TYPES-INTEGER-001 ([#4855](https://github.com/sovrium/sovrium/issues/4855)) ([3f4c243](https://github.com/sovrium/sovrium/commit/3f4c243963b8bc5c2997f1392a8ca96ff93c162f))
1410
- * implement APP-TABLES-FIELD-TYPES-INTEGER-002 ([#4889](https://github.com/sovrium/sovrium/issues/4889)) ([458a583](https://github.com/sovrium/sovrium/commit/458a583d5e656217501826cb85b20bdb281d3039))
1411
- * implement APP-TABLES-FIELD-TYPES-JSON-001 - JSON field with JSONB column support ([#4856](https://github.com/sovrium/sovrium/issues/4856)) ([a8c6bb5](https://github.com/sovrium/sovrium/commit/a8c6bb509934bec49b6be4fb7d48cf5768bfdeaa))
1412
- * implement APP-TABLES-FIELD-TYPES-JSON-002 ([d51da1d](https://github.com/sovrium/sovrium/commit/d51da1d7682dd86da52b025be32fddf221fddbda))
1413
- * implement APP-TABLES-FIELD-TYPES-JSON-002 ([#4890](https://github.com/sovrium/sovrium/issues/4890)) ([8da5b06](https://github.com/sovrium/sovrium/commit/8da5b06ba426fd0d9d7e11c870ac55e4ed06fec4))
1414
- * implement APP-TABLES-FIELD-TYPES-LOOKUP-001 ([#4857](https://github.com/sovrium/sovrium/issues/4857)) ([3853d0a](https://github.com/sovrium/sovrium/commit/3853d0a54094f0d3a13ec3d80ffff6074489ee90))
1415
- * implement APP-TABLES-FIELD-TYPES-LOOKUP-002 ([#4893](https://github.com/sovrium/sovrium/issues/4893)) ([452f3f8](https://github.com/sovrium/sovrium/commit/452f3f876d8e6efe8610acd8b43ea0f71c34e780))
1416
- * implement APP-TABLES-FIELD-TYPES-LOOKUP-002 ([#4901](https://github.com/sovrium/sovrium/issues/4901)) ([5d0f04e](https://github.com/sovrium/sovrium/commit/5d0f04ee51d5a099a7119d743f052e64ced4862f))
1417
- * implement APP-TABLES-FIELD-TYPES-LOOKUP-003 ([#5081](https://github.com/sovrium/sovrium/issues/5081)) ([3dcb5d6](https://github.com/sovrium/sovrium/commit/3dcb5d61e153ae268849054baa5bf07199c32fe1))
1418
- * implement APP-TABLES-FIELD-TYPES-LOOKUP-005 - lookup fields reflect updated values ([#5083](https://github.com/sovrium/sovrium/issues/5083)) ([f4a9b16](https://github.com/sovrium/sovrium/commit/f4a9b16b95cbc351c9d9d316f10619f67445a27d))
1419
- * implement APP-TABLES-FIELD-TYPES-LOOKUP-006 ([#5084](https://github.com/sovrium/sovrium/issues/5084)) ([daf6122](https://github.com/sovrium/sovrium/commit/daf612264f1efe4a531998b5e116df6353aea768))
1420
- * implement APP-TABLES-FIELD-TYPES-LOOKUP-006 many-to-many lookup support ([#6100](https://github.com/sovrium/sovrium/issues/6100)) ([c5cc710](https://github.com/sovrium/sovrium/commit/c5cc710d74d77fbccdb25db802cdcbe745869af9))
1421
- * implement APP-TABLES-FIELD-TYPES-LOOKUP-007 ([#5559](https://github.com/sovrium/sovrium/issues/5559)) ([f780272](https://github.com/sovrium/sovrium/commit/f7802721099f97afd872efa46e8f51e188ec2384))
1422
- * implement APP-TABLES-FIELD-TYPES-LOOKUP-009 validation ([#5561](https://github.com/sovrium/sovrium/issues/5561)) ([f4186cc](https://github.com/sovrium/sovrium/commit/f4186ccccc4f84a52c5a369cea30f16c63af9aa6))
1423
- * implement APP-TABLES-FIELD-TYPES-LOOKUP-010 ([#5562](https://github.com/sovrium/sovrium/issues/5562)) ([b12a683](https://github.com/sovrium/sovrium/commit/b12a6835c601a4a5b496da7229d7c14fd5eab55a))
1424
- * implement APP-TABLES-FIELD-TYPES-LOOKUP-010 ([#5563](https://github.com/sovrium/sovrium/issues/5563)) ([1f1e7c9](https://github.com/sovrium/sovrium/commit/1f1e7c90ee472416365c5f7f415026c991dbc388))
1425
- * implement APP-TABLES-FIELD-TYPES-LOOKUP-011 ([#5564](https://github.com/sovrium/sovrium/issues/5564)) ([cf4699e](https://github.com/sovrium/sovrium/commit/cf4699e01f029481632141bb3e16a7c89e919205))
1426
- * implement APP-TABLES-FIELD-TYPES-MULTI-SELECT-001 ([#4858](https://github.com/sovrium/sovrium/issues/4858)) ([82ec41d](https://github.com/sovrium/sovrium/commit/82ec41d03b28f3272a507583f60654528a31216a))
1427
- * implement APP-TABLES-FIELD-TYPES-MULTI-SELECT-006 ([#5580](https://github.com/sovrium/sovrium/issues/5580)) ([efaa77d](https://github.com/sovrium/sovrium/commit/efaa77d6f044e25ed298a51549a8d00decb86b0a))
1428
- * implement APP-TABLES-FIELD-TYPES-MULTI-SELECT-007 ([#5581](https://github.com/sovrium/sovrium/issues/5581)) ([9035894](https://github.com/sovrium/sovrium/commit/90358944651a6d3e1abbd160c8a1210075328489))
1429
- * implement APP-TABLES-FIELD-TYPES-MULTI-SELECT-008 ([#5582](https://github.com/sovrium/sovrium/issues/5582)) ([21ade5f](https://github.com/sovrium/sovrium/commit/21ade5f5436098eacd64d4ed0d4452bbd45b22e3))
1430
- * implement APP-TABLES-FIELD-TYPES-MULTIPLE-ATTACHMENTS-001 ([#4859](https://github.com/sovrium/sovrium/issues/4859)) ([f2eb5b7](https://github.com/sovrium/sovrium/commit/f2eb5b74493adedaa3c84cddc1183c4b13695d37))
1431
- * implement APP-TABLES-FIELD-TYPES-MULTIPLE-ATTACHMENTS-002 ([#4895](https://github.com/sovrium/sovrium/issues/4895)) ([de17022](https://github.com/sovrium/sovrium/commit/de170224ebdabcbc146b8aaca9cc40995583458c))
1432
- * implement APP-TABLES-FIELD-TYPES-MULTIPLE-ATTACHMENTS-003 ([#5092](https://github.com/sovrium/sovrium/issues/5092)) ([92ec3e7](https://github.com/sovrium/sovrium/commit/92ec3e7f547f3a2a10d777edc630afd1491c6a47))
1433
- * implement APP-TABLES-FIELD-TYPES-MULTIPLE-ATTACHMENTS-006 ([#5568](https://github.com/sovrium/sovrium/issues/5568)) ([e6f87b8](https://github.com/sovrium/sovrium/commit/e6f87b873a93db38ba84299d3dad620d6c799f86))
1434
- * implement APP-TABLES-FIELD-TYPES-MULTIPLE-ATTACHMENTS-007 ([#5570](https://github.com/sovrium/sovrium/issues/5570)) ([7909ea1](https://github.com/sovrium/sovrium/commit/7909ea1f0daf72714ee991a2329da748e9ab89ca))
1435
- * implement APP-TABLES-FIELD-TYPES-MULTIPLE-ATTACHMENTS-008 ([#5571](https://github.com/sovrium/sovrium/issues/5571)) ([1bfc0ef](https://github.com/sovrium/sovrium/commit/1bfc0ef73ae16ba5ad17cd97ddc9f80872362fe2))
1436
- * implement APP-TABLES-FIELD-TYPES-MULTIPLE-ATTACHMENTS-009 ([#5573](https://github.com/sovrium/sovrium/issues/5573)) ([086b639](https://github.com/sovrium/sovrium/commit/086b639ffdaabbbe3359a23d4b99b0ddb2de09a3))
1437
- * implement APP-TABLES-FIELD-TYPES-PERCENTAGE-001 ([#4860](https://github.com/sovrium/sovrium/issues/4860)) ([6cb34a5](https://github.com/sovrium/sovrium/commit/6cb34a509b298a291d1acf9556b117ca6a1810b4))
1438
- * implement APP-TABLES-FIELD-TYPES-PERCENTAGE-002 ([#4894](https://github.com/sovrium/sovrium/issues/4894)) ([f90d794](https://github.com/sovrium/sovrium/commit/f90d794b59afc25e76799dde38de99021734b205))
1439
- * implement APP-TABLES-FIELD-TYPES-PERCENTAGE-002 ([#4896](https://github.com/sovrium/sovrium/issues/4896)) ([b9be869](https://github.com/sovrium/sovrium/commit/b9be869de97d9620ac7f891a9ffc56d8cf1c2a23))
1440
- * implement APP-TABLES-FIELD-TYPES-PROGRESS-001 ([#4861](https://github.com/sovrium/sovrium/issues/4861)) ([a58b868](https://github.com/sovrium/sovrium/commit/a58b868b9d09b751b3cb58ae1f072da12c6b36cd))
1441
- * implement APP-TABLES-FIELD-TYPES-PROGRESS-002 ([#4897](https://github.com/sovrium/sovrium/issues/4897)) ([b0103b9](https://github.com/sovrium/sovrium/commit/b0103b967fd3acb0da2f4a78044c46d7f144ef8c))
1442
- * implement APP-TABLES-FIELD-TYPES-RATING-001 ([#4862](https://github.com/sovrium/sovrium/issues/4862)) ([2c9a77e](https://github.com/sovrium/sovrium/commit/2c9a77ed46b16df3986159668582b3c2c3c8ea62))
1443
- * implement APP-TABLES-FIELD-TYPES-RATING-002 ([#4898](https://github.com/sovrium/sovrium/issues/4898)) ([3ef5181](https://github.com/sovrium/sovrium/commit/3ef5181fa5cf778d3c5865080af31b5159a2ab88))
1444
- * implement APP-TABLES-FIELD-TYPES-RATING-002 ([#4899](https://github.com/sovrium/sovrium/issues/4899)) ([21ff2e5](https://github.com/sovrium/sovrium/commit/21ff2e51665002e575131d4ed62b17bc27af65bf))
1445
- * implement APP-TABLES-FIELD-TYPES-RELATIONSHIP-001 ([#4863](https://github.com/sovrium/sovrium/issues/4863)) ([af7fff8](https://github.com/sovrium/sovrium/commit/af7fff8532403e845033d12eac7fd0829705b3d7))
1446
- * implement APP-TABLES-FIELD-TYPES-RELATIONSHIP-002 ([#4900](https://github.com/sovrium/sovrium/issues/4900)) ([5d48af1](https://github.com/sovrium/sovrium/commit/5d48af12cb338e24c35e2739c91af6b765ee85b6))
1447
- * implement APP-TABLES-FIELD-TYPES-RELATIONSHIP-004 ([#5635](https://github.com/sovrium/sovrium/issues/5635)) ([9ae0803](https://github.com/sovrium/sovrium/commit/9ae0803b993fc3c819bac2a8d24668142fe31e6f))
1448
- * implement APP-TABLES-FIELD-TYPES-RELATIONSHIP-004 ([#5636](https://github.com/sovrium/sovrium/issues/5636)) ([c5d9f91](https://github.com/sovrium/sovrium/commit/c5d9f91022d26a3273c1a2e4ed9cc11a4cece8dc))
1449
- * implement APP-TABLES-FIELD-TYPES-RELATIONSHIP-005 ([#5638](https://github.com/sovrium/sovrium/issues/5638)) ([85d4cd1](https://github.com/sovrium/sovrium/commit/85d4cd18fd2038f0c724222c696a92afc0dd8d10))
1450
- * implement APP-TABLES-FIELD-TYPES-RELATIONSHIP-006 ([#5640](https://github.com/sovrium/sovrium/issues/5640)) ([575e416](https://github.com/sovrium/sovrium/commit/575e416b9edaa2d6b97e9a4525682dbb2896c454))
1451
- * implement APP-TABLES-FIELD-TYPES-RELATIONSHIP-007 ([#5642](https://github.com/sovrium/sovrium/issues/5642)) ([33ce939](https://github.com/sovrium/sovrium/commit/33ce93961699dfb2586b1b00bb398951da1e90d9))
1452
- * implement APP-TABLES-FIELD-TYPES-RELATIONSHIP-008 ([#5644](https://github.com/sovrium/sovrium/issues/5644)) ([46c9a3a](https://github.com/sovrium/sovrium/commit/46c9a3a6208f9f8d88ef12468f27643fea3d8595))
1453
- * implement APP-TABLES-FIELD-TYPES-RELATIONSHIP-011 ([#5650](https://github.com/sovrium/sovrium/issues/5650)) ([a48d9ef](https://github.com/sovrium/sovrium/commit/a48d9efe5f8274b22f5b0a9944d145b53d7529db))
1454
- * implement APP-TABLES-FIELD-TYPES-RELATIONSHIP-014 ([#5713](https://github.com/sovrium/sovrium/issues/5713)) ([2eb4efc](https://github.com/sovrium/sovrium/commit/2eb4efc6f9ec0dbe0951f57327f6342072577f43))
1455
- * implement APP-TABLES-FIELD-TYPES-RICH-TEXT-001 ([#4864](https://github.com/sovrium/sovrium/issues/4864)) ([023ddbf](https://github.com/sovrium/sovrium/commit/023ddbfbc12c760bd18329a5d96836598f47a423))
1456
- * implement APP-TABLES-FIELD-TYPES-RICH-TEXT-002 ([#4902](https://github.com/sovrium/sovrium/issues/4902)) ([7cf1a12](https://github.com/sovrium/sovrium/commit/7cf1a128796fd65e6e905774f16734aff6a29ae9))
1457
- * implement APP-TABLES-FIELD-TYPES-ROLLUP-001 ([#4865](https://github.com/sovrium/sovrium/issues/4865)) ([4fced96](https://github.com/sovrium/sovrium/commit/4fced9695c73e173fc404aa12a51c7ab885d73d6))
1458
- * implement APP-TABLES-FIELD-TYPES-ROLLUP-002 (COUNT aggregation for rollup fields) ([#4903](https://github.com/sovrium/sovrium/issues/4903)) ([c20f912](https://github.com/sovrium/sovrium/commit/c20f912809761ad25b53c587b0bf34b04f1b9b8e))
1459
- * implement APP-TABLES-FIELD-TYPES-ROLLUP-004 ([#5637](https://github.com/sovrium/sovrium/issues/5637)) ([5697b1a](https://github.com/sovrium/sovrium/commit/5697b1a3af50956d8b9605a316a6fb490e6c1be1))
1460
- * implement APP-TABLES-FIELD-TYPES-ROLLUP-005 ([#5639](https://github.com/sovrium/sovrium/issues/5639)) ([8d598e8](https://github.com/sovrium/sovrium/commit/8d598e82a8aa3c4d9896c5e86a0bc41325b798bd))
1461
- * implement APP-TABLES-FIELD-TYPES-ROLLUP-006 COUNTA aggregation ([#5641](https://github.com/sovrium/sovrium/issues/5641)) ([4eacc36](https://github.com/sovrium/sovrium/commit/4eacc3664bbbe60de8d1d31438734c76dafb0680))
1462
- * implement APP-TABLES-FIELD-TYPES-ROLLUP-007 ([#5643](https://github.com/sovrium/sovrium/issues/5643)) ([02a09ec](https://github.com/sovrium/sovrium/commit/02a09eca76d84aad02d4d7604370003105ecbbda))
1463
- * implement APP-TABLES-FIELD-TYPES-ROLLUP-009 ([#5647](https://github.com/sovrium/sovrium/issues/5647)) ([27d51ae](https://github.com/sovrium/sovrium/commit/27d51ae808d693189c7edd93aa0116d78dd6c1b1))
1464
- * implement APP-TABLES-FIELD-TYPES-ROLLUP-010 ([#5649](https://github.com/sovrium/sovrium/issues/5649)) ([c0036db](https://github.com/sovrium/sovrium/commit/c0036dbee8cc1a531bc8311a5734b7328b7e56d6))
1465
- * implement APP-TABLES-FIELD-TYPES-ROLLUP-011 ([#5651](https://github.com/sovrium/sovrium/issues/5651)) ([23ea63b](https://github.com/sovrium/sovrium/commit/23ea63bd515186fb1529b2c031ff1b0b0957baf9))
1466
- * implement APP-TABLES-FIELD-TYPES-ROLLUP-012 ([#5654](https://github.com/sovrium/sovrium/issues/5654)) ([a9ed82a](https://github.com/sovrium/sovrium/commit/a9ed82a341f44297874920b108e58e52f873891b))
1467
- * implement APP-TABLES-FIELD-TYPES-ROLLUP-014 ([#5714](https://github.com/sovrium/sovrium/issues/5714)) ([8384acc](https://github.com/sovrium/sovrium/commit/8384acc0dd1bb4dc326ceb15c45a566aa4fbff47))
1468
- * implement APP-TABLES-FIELD-TYPES-SINGLE-ATTACHMENT-001 ([#4866](https://github.com/sovrium/sovrium/issues/4866)) ([3f2fa15](https://github.com/sovrium/sovrium/commit/3f2fa15ff148dfefc4665df09db8b34b5625a144))
1469
- * implement APP-TABLES-FIELD-TYPES-SINGLE-ATTACHMENT-002 (store file metadata as JSONB) ([#4904](https://github.com/sovrium/sovrium/issues/4904)) ([4a65a31](https://github.com/sovrium/sovrium/commit/4a65a3106f80a09de4c5864a3377860050b85567))
1470
- * implement APP-TABLES-FIELD-TYPES-SINGLE-ATTACHMENT-006 ([#5715](https://github.com/sovrium/sovrium/issues/5715)) ([3635079](https://github.com/sovrium/sovrium/commit/3635079359c08170c0f4b6f179403ccc942b38df))
1471
- * implement APP-TABLES-FIELD-TYPES-SINGLE-ATTACHMENT-007 ([#5717](https://github.com/sovrium/sovrium/issues/5717)) ([f1dbc6f](https://github.com/sovrium/sovrium/commit/f1dbc6f085a7a5e3cf3edc85dc49e36ea223b30d))
1472
- * implement APP-TABLES-FIELD-TYPES-SINGLE-ATTACHMENT-008 ([#5719](https://github.com/sovrium/sovrium/issues/5719)) ([9db5a24](https://github.com/sovrium/sovrium/commit/9db5a24683a10d5db3579d50dbdc9fa0e444414d))
1473
- * implement APP-TABLES-FIELD-TYPES-SINGLE-SELECT-002 ([#4905](https://github.com/sovrium/sovrium/issues/4905)) ([0a75039](https://github.com/sovrium/sovrium/commit/0a75039600ddbbc3078b2e5be97a27de669beefc))
1474
- * implement APP-TABLES-FIELD-TYPES-SINGLE-SELECT-006 ([#5722](https://github.com/sovrium/sovrium/issues/5722)) ([cc8fa57](https://github.com/sovrium/sovrium/commit/cc8fa57841def5acf51dd5748923db3e9359918a))
1475
- * implement APP-TABLES-FIELD-TYPES-SINGLE-SELECT-007 ([#5723](https://github.com/sovrium/sovrium/issues/5723)) ([55649cb](https://github.com/sovrium/sovrium/commit/55649cb711d6e1cb0597bd42b113d58d58e82f3f))
1476
- * implement APP-TABLES-FIELD-TYPES-SINGLE-SELECT-008 ([#5724](https://github.com/sovrium/sovrium/issues/5724)) ([1fecad8](https://github.com/sovrium/sovrium/commit/1fecad85279c27a16d252be99a5a526cd1b01bc4))
1477
- * implement APP-TABLES-FIELD-TYPES-STATUS-001 ([#4868](https://github.com/sovrium/sovrium/issues/4868)) ([37fdc9a](https://github.com/sovrium/sovrium/commit/37fdc9a4f4912baaf861e6a60684f1376508b1c3))
1478
- * implement APP-TABLES-FIELD-TYPES-STATUS-001 ([#4870](https://github.com/sovrium/sovrium/issues/4870)) ([f891b25](https://github.com/sovrium/sovrium/commit/f891b25792cba3e287f80a058dd8fdb389ab5360))
1479
- * implement APP-TABLES-FIELD-TYPES-STATUS-006 ([#5716](https://github.com/sovrium/sovrium/issues/5716)) ([a55362a](https://github.com/sovrium/sovrium/commit/a55362a502e3115fa30b6bab7d1fd2cb56e6c98e))
1480
- * implement APP-TABLES-FIELD-TYPES-STATUS-007 ([#5718](https://github.com/sovrium/sovrium/issues/5718)) ([150e897](https://github.com/sovrium/sovrium/commit/150e89786fffbe32e289d08f28981324487d7b34))
1481
- * implement APP-TABLES-FIELD-TYPES-STATUS-008 ([#5720](https://github.com/sovrium/sovrium/issues/5720)) ([5442e82](https://github.com/sovrium/sovrium/commit/5442e82e71e42b58fa36044ba3870097329ed6ca)), closes [#3B82F6](https://github.com/sovrium/sovrium/issues/3B82F6)
1482
- * implement APP-TABLES-FIELD-TYPES-STATUS-009 ([#5721](https://github.com/sovrium/sovrium/issues/5721)) ([b90fc77](https://github.com/sovrium/sovrium/commit/b90fc779de0af04239b83e9cbc1ef5afb72d9c9c))
1483
- * implement APP-TABLES-FIELD-TYPES-TIME-001 ([#4869](https://github.com/sovrium/sovrium/issues/4869)) ([6e51148](https://github.com/sovrium/sovrium/commit/6e5114812275e6cac1bac27b1333fac455793d1b))
1484
- * implement APP-TABLES-FIELD-TYPES-TIME-002 ([#5725](https://github.com/sovrium/sovrium/issues/5725)) ([84876a0](https://github.com/sovrium/sovrium/commit/84876a05fb88ab11bda6658b59f1d711271ec265))
1485
- * implement APP-TABLES-FIELD-TYPES-UPDATED-AT-001 ([#4871](https://github.com/sovrium/sovrium/issues/4871)) ([cef1982](https://github.com/sovrium/sovrium/commit/cef19822dfc9eac1bff46dd81031c383ca78c689))
1486
- * implement APP-TABLES-FIELD-TYPES-UPDATED-AT-002 ([#5726](https://github.com/sovrium/sovrium/issues/5726)) ([bef3bd0](https://github.com/sovrium/sovrium/commit/bef3bd0e036c1f869592449578e3419518edde7d))
1487
- * implement APP-TABLES-FIELD-TYPES-UPDATED-AT-006 ([#5727](https://github.com/sovrium/sovrium/issues/5727)) ([16ac576](https://github.com/sovrium/sovrium/commit/16ac576d21e49b64a56ea84f14be54abda8c6bd3))
1488
- * implement APP-TABLES-FIELD-TYPES-UPDATED-BY-001 ([#4872](https://github.com/sovrium/sovrium/issues/4872)) ([6bc5b03](https://github.com/sovrium/sovrium/commit/6bc5b03571ab9c9bb028fd82657b2f458d88c242)), closes [#3980](https://github.com/sovrium/sovrium/issues/3980)
1489
- * implement APP-TABLES-FIELD-TYPES-USER-001 ([#4873](https://github.com/sovrium/sovrium/issues/4873)) ([2515cb0](https://github.com/sovrium/sovrium/commit/2515cb09e4ea432883fb963cbb3b66b74131659e))
1490
- * implement APP-TABLES-FIELD-UNIQUE-004 ([#4913](https://github.com/sovrium/sovrium/issues/4913)) ([f810f37](https://github.com/sovrium/sovrium/commit/f810f377cf724910c660faf9df181fbc7024add4))
1491
- * implement APP-TABLES-FIELD-UNIQUE-006 ([#4923](https://github.com/sovrium/sovrium/issues/4923)) ([52a7d62](https://github.com/sovrium/sovrium/commit/52a7d62dd73928d368b7da119acd33b7b6d0b431))
1492
- * implement APP-TABLES-FIELDS-003 ([#4777](https://github.com/sovrium/sovrium/issues/4777)) ([9977a11](https://github.com/sovrium/sovrium/commit/9977a11789745d3264fcd6acb08496ca0c1d5648))
1493
- * implement APP-TABLES-FIELDS-003 ([#4779](https://github.com/sovrium/sovrium/issues/4779)) ([3585230](https://github.com/sovrium/sovrium/commit/35852302092b5004373a479c4c61007faab5cf4b))
1494
- * implement APP-TABLES-FIELDS-004 - reject duplicate field names ([#5355](https://github.com/sovrium/sovrium/issues/5355)) ([8be52c6](https://github.com/sovrium/sovrium/commit/8be52c69b277a6e94ea3dd8d905b60669f44e79b))
1495
- * implement APP-TABLES-FIELDS-005 - reject field names starting with numbers ([#5356](https://github.com/sovrium/sovrium/issues/5356)) ([5c71282](https://github.com/sovrium/sovrium/commit/5c71282f2872568f0dd94da94ebd77d93f97c9e2))
1496
- * implement APP-TABLES-FIELDS-006 - reject field names with special characters ([#5357](https://github.com/sovrium/sovrium/issues/5357)) ([61f3618](https://github.com/sovrium/sovrium/commit/61f361864ab89ebd830661d56cfdb69e62006c38))
1497
- * implement APP-TABLES-FIELDS-007 - field name max length validation ([#5378](https://github.com/sovrium/sovrium/issues/5378)) ([ff7b21e](https://github.com/sovrium/sovrium/commit/ff7b21ee09cf7af3454f793ed8c37de4902cc963))
1498
- * implement APP-TABLES-FIELDS-008 - empty field name validation ([#5380](https://github.com/sovrium/sovrium/issues/5380)) ([97eadb4](https://github.com/sovrium/sovrium/commit/97eadb4b7abbd415c30172754a8d6f8c86f7e490))
1499
- * implement APP-TABLES-FIELDS-009 - reject invalid field type ([#5379](https://github.com/sovrium/sovrium/issues/5379)) ([778e301](https://github.com/sovrium/sovrium/commit/778e301706e62e3e5d4c6982e10fd6252f0600eb))
1500
- * implement APP-TABLES-FIELDS-010 - reject integer field with min greater than max ([#5381](https://github.com/sovrium/sovrium/issues/5381)) ([1038974](https://github.com/sovrium/sovrium/commit/10389748fcc25af4de9d6d599c28cc6815a7872f))
1501
- * implement APP-TABLES-FIELDS-011 ([#5382](https://github.com/sovrium/sovrium/issues/5382)) ([9aaeff6](https://github.com/sovrium/sovrium/commit/9aaeff642b29067fb08f5e2719ff6aebf628f336))
1502
- * implement APP-TABLES-FIELDS-012 and correct test assertion ([#5383](https://github.com/sovrium/sovrium/issues/5383)) ([90e24e3](https://github.com/sovrium/sovrium/commit/90e24e310ee543cc20e71324ce8e713dd3daafaa))
1503
- * implement APP-TABLES-FIELDS-013 ([#5384](https://github.com/sovrium/sovrium/issues/5384)) ([2ab8b53](https://github.com/sovrium/sovrium/commit/2ab8b53f6fa344e308c6be1f03caba53439a2799))
1504
- * implement APP-TABLES-FIELDS-014 - reject decimal field with negative precision ([#5385](https://github.com/sovrium/sovrium/issues/5385)) ([f15a78f](https://github.com/sovrium/sovrium/commit/f15a78f699b514a8e4a971a0243fb2beb403e413))
1505
- * implement APP-TABLES-FIELDS-015 - validate relatedTable is required ([#5386](https://github.com/sovrium/sovrium/issues/5386)) ([137b3e9](https://github.com/sovrium/sovrium/commit/137b3e9417574c401ef15559e2794c1231d5be97))
1506
- * implement APP-TABLES-FIELDS-016 - reject relationship field without relationType ([#5387](https://github.com/sovrium/sovrium/issues/5387)) ([f7938c1](https://github.com/sovrium/sovrium/commit/f7938c1291c0a1d318c96195c267e70c5a5d6b47))
1507
- * implement APP-TABLES-FK-001 - foreign key constraint creation ([#6064](https://github.com/sovrium/sovrium/issues/6064)) ([65d20d9](https://github.com/sovrium/sovrium/commit/65d20d976da67fcccd975d9275a6cd78aafb5226))
1508
- * implement APP-TABLES-FK-002 ([#6065](https://github.com/sovrium/sovrium/issues/6065)) ([8243dc6](https://github.com/sovrium/sovrium/commit/8243dc632b45692c7c089541e557cf5d7a84387d))
1509
- * implement APP-TABLES-FK-003 - reject DELETE with RESTRICT behavior ([#6066](https://github.com/sovrium/sovrium/issues/6066)) ([62873c5](https://github.com/sovrium/sovrium/commit/62873c5991f9643758921bd0b630e1b8cd524648))
1510
- * implement APP-TABLES-FK-004 - CASCADE DELETE for foreign key relationships ([#6068](https://github.com/sovrium/sovrium/issues/6068)) ([95707f0](https://github.com/sovrium/sovrium/commit/95707f0f832153ddcdc3ff8908f755d8e96e7313))
1511
- * implement APP-TABLES-FK-005 ([#6069](https://github.com/sovrium/sovrium/issues/6069)) ([410e6ab](https://github.com/sovrium/sovrium/commit/410e6ab816b51d11ef4c932f8a68b9586429b434))
1512
- * implement APP-TABLES-FK-006 - support self-referential relationships ([#6070](https://github.com/sovrium/sovrium/issues/6070)) ([14f7001](https://github.com/sovrium/sovrium/commit/14f70016a55ff534e0ffa19e4b42850dc1e5fce5))
1513
- * implement APP-TABLES-FK-007 - circular dependencies with optional FK ([#6071](https://github.com/sovrium/sovrium/issues/6071)) ([433f4f3](https://github.com/sovrium/sovrium/commit/433f4f303ea0cf129aaaac00304752af390fcd0d))
1514
- * implement APP-TABLES-FK-008 - create indexes on foreign key columns ([#6072](https://github.com/sovrium/sovrium/issues/6072)) ([cc3e3f6](https://github.com/sovrium/sovrium/commit/cc3e3f6468a9c5c023e8b9b09cfff8b95be2a068))
1515
- * implement APP-TABLES-FK-008 ([#6073](https://github.com/sovrium/sovrium/issues/6073)) ([c2e37d0](https://github.com/sovrium/sovrium/commit/c2e37d0ba22ac1dce56636c36269068346e22f47))
1516
- * implement APP-TABLES-FK-009 - composite foreign keys support ([#6074](https://github.com/sovrium/sovrium/issues/6074)) ([11f7eaf](https://github.com/sovrium/sovrium/commit/11f7eaf672704c9d248718c398db4e2566ae953a))
1517
- * implement APP-TABLES-FK-010 - validate related table exists ([#6075](https://github.com/sovrium/sovrium/issues/6075)) ([e334d4f](https://github.com/sovrium/sovrium/commit/e334d4f6bc7e1455a49f3c76c9b1eb5da63877ed))
1518
- * implement APP-TABLES-FK-010 - validate related table exists ([#6077](https://github.com/sovrium/sovrium/issues/6077)) ([098b679](https://github.com/sovrium/sovrium/commit/098b679affed5b3caae1a65a090ba7b79fbe51f0))
1519
- * implement APP-TABLES-FK-011 ([#6076](https://github.com/sovrium/sovrium/issues/6076)) ([3b785d5](https://github.com/sovrium/sovrium/commit/3b785d5570d672508b2ac8580ac0112c5cff73b6))
1520
- * implement APP-TABLES-FK-012 - CASCADE UPDATE child records ([#6078](https://github.com/sovrium/sovrium/issues/6078)) ([711cabe](https://github.com/sovrium/sovrium/commit/711cabea1c907f0c5a05b3bb9a35ca86da2be81d))
1521
- * implement APP-TABLES-FK-013 ([#6079](https://github.com/sovrium/sovrium/issues/6079)) ([42e7e28](https://github.com/sovrium/sovrium/commit/42e7e28e4b6f9079ac7c8f541fc9f9e6c7117ea2))
1522
- * implement APP-TABLES-FK-014 ([#6080](https://github.com/sovrium/sovrium/issues/6080)) ([9933ce7](https://github.com/sovrium/sovrium/commit/9933ce7b4dac6466602e6dd1d569a8100befc3af))
1523
- * implement APP-TABLES-ID-003 ([#4921](https://github.com/sovrium/sovrium/issues/4921)) ([07459a1](https://github.com/sovrium/sovrium/commit/07459a1b760a395fac5f3fccbe02f094ac8cd4b2))
1524
- * implement APP-TABLES-ID-007 ([#4926](https://github.com/sovrium/sovrium/issues/4926)) ([0d82f00](https://github.com/sovrium/sovrium/commit/0d82f004d6056a3bc8269af44ce1c88073ad2b0a))
1525
- * implement APP-TABLES-INDEXES-010 - reject duplicate index names within same table ([#5390](https://github.com/sovrium/sovrium/issues/5390)) ([a239bae](https://github.com/sovrium/sovrium/commit/a239baeedfc5c3004b203e6ff05d05ac57ebd15f))
1526
- * implement APP-TABLES-INDEXES-010 - reject duplicate index names within same table ([#5391](https://github.com/sovrium/sovrium/issues/5391)) ([13cd6e7](https://github.com/sovrium/sovrium/commit/13cd6e738ab55a82ed162cea7e5b463bda3ad8ad))
1527
- * implement APP-TABLES-ORG-ISOLATION-002 - verify RLS policy configuration ([#5045](https://github.com/sovrium/sovrium/issues/5045)) ([debe4c8](https://github.com/sovrium/sovrium/commit/debe4c8cec286ce938dd091bc7551ab6a5351ab7))
1528
- * implement APP-TABLES-ORG-ISOLATION-003 ([#5046](https://github.com/sovrium/sovrium/issues/5046)) ([f999caf](https://github.com/sovrium/sovrium/commit/f999cafcb6d9a162de367d4751d69e175ff3ac62))
1529
- * implement APP-TABLES-ORG-ISOLATION-004 ([#5047](https://github.com/sovrium/sovrium/issues/5047)) ([2523abd](https://github.com/sovrium/sovrium/commit/2523abd85e4fc0d4516a754aa40befa3783e1f0c))
1530
- * implement APP-TABLES-ORG-ISOLATION-005 ([#5048](https://github.com/sovrium/sovrium/issues/5048)) ([4cba4c8](https://github.com/sovrium/sovrium/commit/4cba4c87c8208e44e7318150b29ecc26647f5e5c))
1531
- * implement APP-TABLES-ORG-ISOLATION-007 ([#5050](https://github.com/sovrium/sovrium/issues/5050)) ([205c6cc](https://github.com/sovrium/sovrium/commit/205c6cc7da50ad7c0b2ba346bd362ff7cce677ce))
1532
- * implement APP-TABLES-ORG-ISOLATION-008 ([#5051](https://github.com/sovrium/sovrium/issues/5051)) ([e8a5ed6](https://github.com/sovrium/sovrium/commit/e8a5ed67122241e54900c320e3cfcaee08056315))
1533
- * implement APP-TABLES-ORG-ISOLATION-008 ([#5543](https://github.com/sovrium/sovrium/issues/5543)) ([e30a4b7](https://github.com/sovrium/sovrium/commit/e30a4b75063fb01d321d9f811767a6b9f9abd65c))
1534
- * implement APP-TABLES-ORG-ISOLATION-010 ([3a1cc9b](https://github.com/sovrium/sovrium/commit/3a1cc9b141b232f795a3b29103b3f18411dc90d1))
1535
- * implement APP-TABLES-PERMISSIONS-001 ([#5053](https://github.com/sovrium/sovrium/issues/5053)) ([563ea12](https://github.com/sovrium/sovrium/commit/563ea120fe9c92f0711ae6dd947fb83725098393))
1536
- * implement APP-TABLES-PERMISSIONS-002 ([#5054](https://github.com/sovrium/sovrium/issues/5054)) ([7df27e9](https://github.com/sovrium/sovrium/commit/7df27e9acbbe379a395569eedd198051a00844ac))
1537
- * implement APP-TABLES-PERMISSIONS-002 ([#6063](https://github.com/sovrium/sovrium/issues/6063)) ([40c2852](https://github.com/sovrium/sovrium/commit/40c285253be1c212bb803e4b7a1ef1c43de2fce9))
1538
- * implement APP-TABLES-PERMISSIONS-003 - add PostgreSQL auth schema and helper functions ([#5056](https://github.com/sovrium/sovrium/issues/5056)) ([a16f867](https://github.com/sovrium/sovrium/commit/a16f867689942ade0b20af9165e996a787097b7b))
1539
- * implement APP-TABLES-PERMISSIONS-006 ([#5552](https://github.com/sovrium/sovrium/issues/5552)) ([252bfd0](https://github.com/sovrium/sovrium/commit/252bfd0236e2ea7e9987a3dd69e8ed46d62c5119))
1540
- * implement APP-TABLES-PERMISSIONS-008 - reject conflicting field permissions ([#5549](https://github.com/sovrium/sovrium/issues/5549)) ([8aa8670](https://github.com/sovrium/sovrium/commit/8aa8670a77b3b036555ae9e8fd3fffc35aeafabd))
1541
- * implement APP-TABLES-PERMISSIONS-008 - reject conflicting field permissions ([#5550](https://github.com/sovrium/sovrium/issues/5550)) ([6e7a196](https://github.com/sovrium/sovrium/commit/6e7a196080caa68560343b6192b672cd2e56206a))
1542
- * implement APP-TABLES-PERMISSIONS-009 - reject record permission with invalid condition field reference ([#5551](https://github.com/sovrium/sovrium/issues/5551)) ([9dc7191](https://github.com/sovrium/sovrium/commit/9dc719155a54c4c7c0b0b179fbe5e13f56284eaf))
1543
- * implement APP-TABLES-PERMISSIONS-010 - reject circular relationship dependency between tables ([#5553](https://github.com/sovrium/sovrium/issues/5553)) ([7e94929](https://github.com/sovrium/sovrium/commit/7e94929d3d72bd4fc656deb1bc7491f73c3f524d))
1544
- * implement APP-TABLES-PRIMARYKEY-002 - UUID primary key with gen_random_uuid() ([#5055](https://github.com/sovrium/sovrium/issues/5055)) ([ae2ac1a](https://github.com/sovrium/sovrium/commit/ae2ac1ac5f0490490615a4fff07419542bc55df3))
1545
- * implement APP-TABLES-PRIMARYKEY-004 - NULL values rejected in primary key column ([#5058](https://github.com/sovrium/sovrium/issues/5058)) ([8453d40](https://github.com/sovrium/sovrium/commit/8453d403d091373338939bb43774cf5e64000986))
1546
- * implement APP-TABLES-PRIMARYKEY-007 - BIGSERIAL primary key support ([#5060](https://github.com/sovrium/sovrium/issues/5060)) ([43d453c](https://github.com/sovrium/sovrium/commit/43d453cdfe36c999827fc290d9c7b9b69e2fe9b1))
1547
- * implement APP-TABLES-PRIMARYKEY-007 - BIGSERIAL primary key support ([#5062](https://github.com/sovrium/sovrium/issues/5062)) ([f29e53d](https://github.com/sovrium/sovrium/commit/f29e53d88a6c6fc60a3a6dc3e7ce1ca3db94beb6))
1548
- * implement APP-TABLES-PRIMARYKEY-010 - reject composite primary key with duplicate field references ([#5554](https://github.com/sovrium/sovrium/issues/5554)) ([ede3893](https://github.com/sovrium/sovrium/commit/ede389367485f9129d25d5ebb384c9ee196d129c))
1549
- * implement APP-TABLES-PRIMARYKEY-010 - reject composite primary key with duplicate field references ([#5556](https://github.com/sovrium/sovrium/issues/5556)) ([c578c92](https://github.com/sovrium/sovrium/commit/c578c92ccb27264efd1fa3e0fc8ae3cef54ccba5))
1550
- * implement APP-TABLES-RECORD-PERMISSIONS-001 ([#5074](https://github.com/sovrium/sovrium/issues/5074)) ([1f3f1f4](https://github.com/sovrium/sovrium/commit/1f3f1f4eccd597605908e03586022ecf12e2e031))
1551
- * implement APP-TABLES-RECORD-PERMISSIONS-002 ([#5075](https://github.com/sovrium/sovrium/issues/5075)) ([edefa5f](https://github.com/sovrium/sovrium/commit/edefa5f80ea56442091163849458bd77469d202c))
1552
- * implement APP-TABLES-RECORD-PERMISSIONS-003 ([#5076](https://github.com/sovrium/sovrium/issues/5076)) ([2f7dfd3](https://github.com/sovrium/sovrium/commit/2f7dfd32cdbd39da91b6c8ce3c4688ab12236004))
1553
- * implement APP-TABLES-RECORD-PERMISSIONS-006 ([#5079](https://github.com/sovrium/sovrium/issues/5079)) ([aada999](https://github.com/sovrium/sovrium/commit/aada999ba8dae995d460b662669cd56b8b23f4b9))
1554
- * implement APP-TABLES-RLS-ENFORCEMENT-001 ([#5064](https://github.com/sovrium/sovrium/issues/5064)) ([22e49c5](https://github.com/sovrium/sovrium/commit/22e49c52808c8794d95d700d35570a6e618260f6))
1555
- * implement APP-TABLES-RLS-ENFORCEMENT-002 ([#5065](https://github.com/sovrium/sovrium/issues/5065)) ([799dc55](https://github.com/sovrium/sovrium/commit/799dc55c21e95f574e238c1e18ee762f7c8a1c87))
1556
- * implement APP-TABLES-RLS-ENFORCEMENT-003 ([#5066](https://github.com/sovrium/sovrium/issues/5066)) ([e9cee95](https://github.com/sovrium/sovrium/commit/e9cee950754a4f84a8c8b67aa2a181ee63f9980a))
1557
- * implement APP-TABLES-RLS-ENFORCEMENT-004 ([#5067](https://github.com/sovrium/sovrium/issues/5067)) ([584c467](https://github.com/sovrium/sovrium/commit/584c467708d9b561954e395f02030eb87e2236a0))
1558
- * implement APP-TABLES-RLS-ENFORCEMENT-005 ([#5068](https://github.com/sovrium/sovrium/issues/5068)) ([d472a04](https://github.com/sovrium/sovrium/commit/d472a046c5d0073f481b60711a05dbab56e53b34))
1559
- * implement APP-TABLES-RLS-ENFORCEMENT-006 ([#5069](https://github.com/sovrium/sovrium/issues/5069)) ([9b8c880](https://github.com/sovrium/sovrium/commit/9b8c880165f60100858a13f1571764507169a1ba))
1560
- * implement APP-TABLES-RLS-ENFORCEMENT-007 ([#5070](https://github.com/sovrium/sovrium/issues/5070)) ([b13eb75](https://github.com/sovrium/sovrium/commit/b13eb75aae5e1cb69b2a1f941ac7bdd44d65bea4))
1561
- * implement APP-TABLES-RLS-ENFORCEMENT-008 ([64b1e83](https://github.com/sovrium/sovrium/commit/64b1e83d20bdeee364e2b9fae0f733efc1a4da24))
1562
- * implement APP-TABLES-RLS-ENFORCEMENT-008 ([#5072](https://github.com/sovrium/sovrium/issues/5072)) ([e49d4f8](https://github.com/sovrium/sovrium/commit/e49d4f8ca6de78017d8edd58d576d2e4450a3b0b))
1563
- * implement APP-TABLES-RLS-ENFORCEMENT-009 ([#6514](https://github.com/sovrium/sovrium/issues/6514)) ([d963f27](https://github.com/sovrium/sovrium/commit/d963f27cbb75ed21bf3a9a3e45056c1df9811871))
1564
- * implement APP-TABLES-RLS-ENFORCEMENT-010 ([#5557](https://github.com/sovrium/sovrium/issues/5557)) ([1939449](https://github.com/sovrium/sovrium/commit/193944903799494b6999d696c5e3ae4f983d91cb))
1565
- * implement APP-TABLES-RLS-ENFORCEMENT-010 complementary filtering ([#6515](https://github.com/sovrium/sovrium/issues/6515)) ([ea366d8](https://github.com/sovrium/sovrium/commit/ea366d87a11f31b1c842daf317f7526e332b5c46))
1566
- * implement APP-TABLES-RLS-ENFORCEMENT-011 ([#5558](https://github.com/sovrium/sovrium/issues/5558)) ([3376a10](https://github.com/sovrium/sovrium/commit/3376a1096b8ba806f2e4d44775aff73477d0d3e5))
1567
- * implement APP-TABLES-SPECIAL-FIELDS-002 ([#6084](https://github.com/sovrium/sovrium/issues/6084)) ([cd4afd2](https://github.com/sovrium/sovrium/commit/cd4afd2a7d4b7ba2f7ce4114a178089c5e7a4e80))
1568
- * implement APP-TABLES-SPECIAL-FIELDS-003 ([#6085](https://github.com/sovrium/sovrium/issues/6085)) ([8f5fc16](https://github.com/sovrium/sovrium/commit/8f5fc160f648bf43806224604ae33ef27885a194))
1569
- * implement APP-TABLES-SPECIAL-FIELDS-003 ([#6086](https://github.com/sovrium/sovrium/issues/6086)) ([1f2a768](https://github.com/sovrium/sovrium/commit/1f2a76841391ada84b1c6322976c896a0d835c39))
1570
- * implement APP-TABLES-SPECIAL-FIELDS-004 and 005 ([#6087](https://github.com/sovrium/sovrium/issues/6087)) ([652eab0](https://github.com/sovrium/sovrium/commit/652eab084bb6909e6559eb5131e9fa737bbf92a2))
1571
- * implement APP-TABLES-SPECIAL-FIELDS-006 ([#6090](https://github.com/sovrium/sovrium/issues/6090)) ([dd847ad](https://github.com/sovrium/sovrium/commit/dd847ad161e97a7b7bc677a5a9b68dcc03719a44))
1572
- * implement APP-TABLES-SPECIAL-FIELDS-007 - add automatic created_at/updated_at special fields ([#6091](https://github.com/sovrium/sovrium/issues/6091)) ([6471392](https://github.com/sovrium/sovrium/commit/647139236d71397a9dad6a1b23d6417ab9365500))
1573
- * implement APP-TABLES-TABLE-PERMISSIONS-002 ([#5094](https://github.com/sovrium/sovrium/issues/5094)) ([ebf0b7e](https://github.com/sovrium/sovrium/commit/ebf0b7e0c992265d9100943064db51f9571b564f))
1574
- * implement APP-TABLES-TABLE-PERMISSIONS-003 ([#5574](https://github.com/sovrium/sovrium/issues/5574)) ([9233d77](https://github.com/sovrium/sovrium/commit/9233d776138dd5f3922f211cc45c498bfd795ff1))
1575
- * implement APP-TABLES-TABLE-PERMISSIONS-004 ([#5575](https://github.com/sovrium/sovrium/issues/5575)) ([71039c5](https://github.com/sovrium/sovrium/commit/71039c5bd192254b63cbc5621d553352e2e35f9f))
1576
- * implement APP-TABLES-TABLE-PERMISSIONS-005 - deny SELECT when no read permission ([#5576](https://github.com/sovrium/sovrium/issues/5576)) ([76e9d77](https://github.com/sovrium/sovrium/commit/76e9d773a6e06b8120415cfeea7d0545dcada507))
1577
- * implement APP-TABLES-TABLE-PERMISSIONS-007 - validate owner permission fields are user types ([#5578](https://github.com/sovrium/sovrium/issues/5578)) ([3bd8006](https://github.com/sovrium/sovrium/commit/3bd8006449132ff22379e613d07d03e1aaacb855))
1578
- * implement APP-TABLES-TABLE-PERMISSIONS-008 ([#5579](https://github.com/sovrium/sovrium/issues/5579)) ([737b4f2](https://github.com/sovrium/sovrium/commit/737b4f2d732a7163c60c7ab42671b6a1faa50ee7))
1579
- * implement APP-TABLES-TIMEZONE-002 ([#6094](https://github.com/sovrium/sovrium/issues/6094)) ([04e2b24](https://github.com/sovrium/sovrium/commit/04e2b24221a188f17837d1533380615b6d0e14cb))
1580
- * implement APP-TABLES-TIMEZONE-003 ([#6095](https://github.com/sovrium/sovrium/issues/6095)) ([a62fccf](https://github.com/sovrium/sovrium/commit/a62fccf24d9a21a854093eadce674b446954bbf8))
1581
- * implement APP-TABLES-TIMEZONE-004 ([#6096](https://github.com/sovrium/sovrium/issues/6096)) ([ef13e73](https://github.com/sovrium/sovrium/commit/ef13e737705edebf047f4c3e4ed0fe4a946cc58f))
1582
- * implement APP-TABLES-TIMEZONE-005 ([#6099](https://github.com/sovrium/sovrium/issues/6099)) ([722cd82](https://github.com/sovrium/sovrium/commit/722cd823ff9f09d3f32d5fee8b9bf16d276d9ae0))
1583
- * implement APP-TABLES-TIMEZONE-006 ([#6103](https://github.com/sovrium/sovrium/issues/6103)) ([92170ee](https://github.com/sovrium/sovrium/commit/92170ee701e023113a8d2e0623c1faa2f8abff0b))
1584
- * implement APP-TABLES-TIMEZONE-009 ([#6104](https://github.com/sovrium/sovrium/issues/6104)) ([dbfc053](https://github.com/sovrium/sovrium/commit/dbfc05330a87f4defdfa90270a6f7bb9c0eb4e5d))
1585
- * implement APP-TABLES-TIMEZONE-010 ([#6105](https://github.com/sovrium/sovrium/issues/6105)) ([f71e299](https://github.com/sovrium/sovrium/commit/f71e299e8aee4de8f5648bac1ca1d8ed35fbd79e))
1586
- * implement APP-TABLES-UNIQUECONSTRAINTS-001 ([#5085](https://github.com/sovrium/sovrium/issues/5085)) ([fe8e08f](https://github.com/sovrium/sovrium/commit/fe8e08f86ca45d3db8a567aeb916590f0e05d026))
1587
- * implement APP-TABLES-UNIQUECONSTRAINTS-003 ([#5086](https://github.com/sovrium/sovrium/issues/5086)) ([8d4620d](https://github.com/sovrium/sovrium/commit/8d4620dacbb055dd272c2edcede9d918cf593b01))
1588
- * implement APP-TABLES-UNIQUECONSTRAINTS-004 - multi-column unique index with 3+ fields ([#5087](https://github.com/sovrium/sovrium/issues/5087)) ([2aff447](https://github.com/sovrium/sovrium/commit/2aff447568612210b13a888ba702524ea8d6f3cd))
1589
- * implement APP-TABLES-UNIQUECONSTRAINTS-006 ([#5089](https://github.com/sovrium/sovrium/issues/5089)) ([75f8eaa](https://github.com/sovrium/sovrium/commit/75f8eaaaaae805372d73c8906613d3448d1f753d))
1590
- * implement APP-TABLES-UNIQUECONSTRAINTS-007 ([#5090](https://github.com/sovrium/sovrium/issues/5090)) ([965f6fa](https://github.com/sovrium/sovrium/commit/965f6fa1503b688aa447f11e9b509d1e768d997f))
1591
- * implement APP-TABLES-UNIQUECONSTRAINTS-008 ([#5091](https://github.com/sovrium/sovrium/issues/5091)) ([2be52d2](https://github.com/sovrium/sovrium/commit/2be52d21bd436d1c6fe9f72482dc10cd11f2ca9c))
1592
- * implement APP-TABLES-UNIQUECONSTRAINTS-009 ([#5567](https://github.com/sovrium/sovrium/issues/5567)) ([a6ad00b](https://github.com/sovrium/sovrium/commit/a6ad00beffe236759b45d2513f75edcbc7841049)), closes [#5566](https://github.com/sovrium/sovrium/issues/5566)
1593
- * implement APP-TABLES-UNIQUECONSTRAINTS-NULL-004 ([#6109](https://github.com/sovrium/sovrium/issues/6109)) ([f317f69](https://github.com/sovrium/sovrium/commit/f317f69a442374fa9d14dd30b205fab204d9f60d))
1594
- * implement APP-TABLES-UNIQUECONSTRAINTS-NULL-005 ([#6113](https://github.com/sovrium/sovrium/issues/6113)) ([be09091](https://github.com/sovrium/sovrium/commit/be09091fd17dacf818f1ad93611010a13ce4e295))
1595
- * implement APP-TABLES-UNIQUECONSTRAINTS-NULL-005 ([#6114](https://github.com/sovrium/sovrium/issues/6114)) ([c677fa7](https://github.com/sovrium/sovrium/commit/c677fa753fa97f95cfee19857d03e10471eee123))
1596
- * implement APP-TABLES-VIEW-001 ([#5583](https://github.com/sovrium/sovrium/issues/5583)) ([3322d3f](https://github.com/sovrium/sovrium/commit/3322d3fb0e88309b3004587a8cea370fff5813e9))
1597
- * implement APP-TABLES-VIEW-003 - default view filtering ([#5587](https://github.com/sovrium/sovrium/issues/5587)) ([50be302](https://github.com/sovrium/sovrium/commit/50be30212f56ce6872595c132ce86a32f85df2d4))
1598
- * implement APP-TABLES-VIEW-003 - default view filtering ([#5588](https://github.com/sovrium/sovrium/issues/5588)) ([47f812d](https://github.com/sovrium/sovrium/commit/47f812daedf906777c9b1bf5ad29d3132a67e3d9))
1599
- * implement APP-TABLES-VIEW-005 ([#5591](https://github.com/sovrium/sovrium/issues/5591)) ([5e511a8](https://github.com/sovrium/sovrium/commit/5e511a8259e02fcc07813d5981ed8bd2046a5f5f))
1600
- * implement APP-TABLES-VIEW-005 ([#5592](https://github.com/sovrium/sovrium/issues/5592)) ([623ed59](https://github.com/sovrium/sovrium/commit/623ed596df950115eed59236a6ef300d0a784183))
1601
- * implement APP-TABLES-VIEW-CONDITION-001 ([#5600](https://github.com/sovrium/sovrium/issues/5600)) ([5a10f9a](https://github.com/sovrium/sovrium/commit/5a10f9a7ab47b366f5157b1f5bdb380f46b2cb80))
1602
- * implement APP-TABLES-VIEW-CONDITION-003 - greaterThan operator for view conditions ([#5602](https://github.com/sovrium/sovrium/issues/5602)) ([ba31a89](https://github.com/sovrium/sovrium/commit/ba31a895c9f45459dabfa6b3a47ee065ff92efa7))
1603
- * implement APP-TABLES-VIEW-CONDITION-003 ([#5603](https://github.com/sovrium/sovrium/issues/5603)) ([d15535d](https://github.com/sovrium/sovrium/commit/d15535d83b2208514a22059c3bdfb5a2088e0386))
1604
- * implement APP-TABLES-VIEW-CONDITION-004 - isEmpty operator for view conditions ([#5604](https://github.com/sovrium/sovrium/issues/5604)) ([99a6376](https://github.com/sovrium/sovrium/commit/99a6376654964d97ae90838a56cebf14fb149e32))
1605
- * implement APP-TABLES-VIEW-CONDITION-006 ([#5606](https://github.com/sovrium/sovrium/issues/5606)) ([a71aff6](https://github.com/sovrium/sovrium/commit/a71aff623a13642bf1f1eaaf0ffcbd54b023ee44))
1606
- * implement APP-TABLES-VIEW-FIELDS-003 ([#5612](https://github.com/sovrium/sovrium/issues/5612)) ([5f537f3](https://github.com/sovrium/sovrium/commit/5f537f3cb7a7d27c85816ab01e4b81a6c4e734f3))
1607
- * implement APP-TABLES-VIEW-FIELDS-004 - validate view fields exist in table ([#5614](https://github.com/sovrium/sovrium/issues/5614)) ([b4153fe](https://github.com/sovrium/sovrium/commit/b4153fea3eeaf9485592798e0da3061574836205))
1608
- * implement APP-TABLES-VIEW-FIELDS-005 ([#5616](https://github.com/sovrium/sovrium/issues/5616)) ([4851d43](https://github.com/sovrium/sovrium/commit/4851d438eb192dd5dec733e2a39d7c30eb9b28ee))
1609
- * implement APP-TABLES-VIEW-FIELDS-005 ([#5617](https://github.com/sovrium/sovrium/issues/5617)) ([d77b8fa](https://github.com/sovrium/sovrium/commit/d77b8fabd46230011c675bd3cf3d691f41848207))
1610
- * implement APP-TABLES-VIEW-FILTERS-001 ([#5608](https://github.com/sovrium/sovrium/issues/5608)) ([dd819b9](https://github.com/sovrium/sovrium/commit/dd819b9e782ce7b5ceb2e7271e9ea203d206131a))
1611
- * implement APP-TABLES-VIEW-FILTERS-002 ([#5611](https://github.com/sovrium/sovrium/issues/5611)) ([8973fa0](https://github.com/sovrium/sovrium/commit/8973fa06980e8cdf6fce91659e6434e27f157964))
1612
- * implement APP-TABLES-VIEW-FILTERS-003 ([#5613](https://github.com/sovrium/sovrium/issues/5613)) ([192743f](https://github.com/sovrium/sovrium/commit/192743f8469609fa6833c05691c69060b5771010))
1613
- * implement APP-TABLES-VIEW-FILTERS-004 ([#5615](https://github.com/sovrium/sovrium/issues/5615)) ([ab29264](https://github.com/sovrium/sovrium/commit/ab29264c4d0033200ca71db5a1601378575272d1))
1614
- * implement APP-TABLES-VIEW-FILTERS-005 ([#5618](https://github.com/sovrium/sovrium/issues/5618)) ([83dcedd](https://github.com/sovrium/sovrium/commit/83dceddf3b0008ed3fd8407f8e2dfddb5337e3a7))
1615
- * implement APP-TABLES-VIEW-FILTERS-006 - complete view-filters workflow ([#5619](https://github.com/sovrium/sovrium/issues/5619)) ([e4527f2](https://github.com/sovrium/sovrium/commit/e4527f257255df4658fa92740fb3158f5e6e5f5b))
1616
- * implement APP-TABLES-VIEW-GROUP-BY-001 ([#5620](https://github.com/sovrium/sovrium/issues/5620)) ([a5fb9eb](https://github.com/sovrium/sovrium/commit/a5fb9eb67d2c0fcd2d1bb88ed5510bc7466b5e79))
1617
- * implement APP-TABLES-VIEW-GROUP-BY-002 ([#5621](https://github.com/sovrium/sovrium/issues/5621)) ([2578093](https://github.com/sovrium/sovrium/commit/25780931aae0c9a10fb7e0f7dd2df2295abb3852))
1618
- * implement APP-TABLES-VIEW-GROUP-BY-003 ([#5622](https://github.com/sovrium/sovrium/issues/5622)) ([2f4cbca](https://github.com/sovrium/sovrium/commit/2f4cbcaa7a0aec8e2addae0f4bf7bdbfacdaca43))
1619
- * implement APP-TABLES-VIEW-GROUP-BY-003 ([#5623](https://github.com/sovrium/sovrium/issues/5623)) ([0f30663](https://github.com/sovrium/sovrium/commit/0f306636f81b02ff9d197746013cb68251e00954))
1620
- * implement APP-TABLES-VIEW-GROUP-BY-004 ([#5624](https://github.com/sovrium/sovrium/issues/5624)) ([2214af6](https://github.com/sovrium/sovrium/commit/2214af658a29e313d03e477e34ec73ab53d9ec57))
1621
- * implement APP-TABLES-VIEW-GROUP-BY-004 ([#5625](https://github.com/sovrium/sovrium/issues/5625)) ([04d627d](https://github.com/sovrium/sovrium/commit/04d627dc10e93968601148fd451527444881a65e))
1622
- * implement APP-TABLES-VIEW-GROUP-BY-005 ([#5626](https://github.com/sovrium/sovrium/issues/5626)) ([10d0645](https://github.com/sovrium/sovrium/commit/10d06456181a2a51916c9733f8079d89789554de))
1623
- * implement APP-TABLES-VIEW-SORTS-002 descending sort test ([#5628](https://github.com/sovrium/sovrium/issues/5628)) ([8f2b78e](https://github.com/sovrium/sovrium/commit/8f2b78e588f3c82cfff42c3f8887e7f59fd457f2))
1624
- * implement APP-TABLES-VIEW-SORTS-003 - multi-field sorting ([#5629](https://github.com/sovrium/sovrium/issues/5629)) ([c171338](https://github.com/sovrium/sovrium/commit/c1713380c2dc79b6289ed441f7e217c759afa58a))
1625
- * implement APP-TABLES-VIEW-SORTS-004 - reject sorts with non-existent fields ([#5630](https://github.com/sovrium/sovrium/issues/5630)) ([dff125b](https://github.com/sovrium/sovrium/commit/dff125bcbc83e434f813159c72c57fdd237a8486))
1626
- * implement APP-TABLES-VIEWS-001 ([#5584](https://github.com/sovrium/sovrium/issues/5584)) ([213ec5a](https://github.com/sovrium/sovrium/commit/213ec5a9c48b855aa30d8cede53648d41f0f7dc9))
1627
- * implement APP-TABLES-VIEWS-002 ([#5586](https://github.com/sovrium/sovrium/issues/5586)) ([f989d30](https://github.com/sovrium/sovrium/commit/f989d308c16bf50808f207f1894ad91df4c281ae))
1628
- * implement APP-TABLES-VIEWS-004 - groupBy support for views ([#5590](https://github.com/sovrium/sovrium/issues/5590)) ([f2867d0](https://github.com/sovrium/sovrium/commit/f2867d0c2a0dd33be2cbcef89d23932e4754c2c5))
1629
- * implement APP-TABLES-VIEWS-005 ([#5593](https://github.com/sovrium/sovrium/issues/5593)) ([63cf131](https://github.com/sovrium/sovrium/commit/63cf131d1b103290781cd57423667104a689e73a))
1630
- * implement APP-TABLES-VIEWS-005 ([#5594](https://github.com/sovrium/sovrium/issues/5594)) ([de4b337](https://github.com/sovrium/sovrium/commit/de4b33782b1882d4b74b73cc12000a4c1d7ac1e2))
1631
- * implement APP-TABLES-VIEWS-006 ([#5595](https://github.com/sovrium/sovrium/issues/5595)) ([9ab4aa5](https://github.com/sovrium/sovrium/commit/9ab4aa540c0de6ea63a0cc4626d81fedfaf47338))
1632
- * implement APP-TABLES-VIEWS-007 - reject multiple default views in same table ([#5596](https://github.com/sovrium/sovrium/issues/5596)) ([76971f8](https://github.com/sovrium/sovrium/commit/76971f8ef32dc5418fd4b6b92d1a179ca12941e9))
1633
- * implement APP-THEME-001 - validate theme with colors only ([#1542](https://github.com/sovrium/sovrium/issues/1542)) ([7c8b4b8](https://github.com/sovrium/sovrium/commit/7c8b4b80b9d8acd07871725424e6bdc10597908e))
1634
- * implement APP-THEME-002 ([#1543](https://github.com/sovrium/sovrium/issues/1543)) ([9146251](https://github.com/sovrium/sovrium/commit/914625114c65ca8d90a6adfb7a0cebe42df5cbd3))
1635
- * implement APP-THEME-003 (partial - test assertion issue) ([#1544](https://github.com/sovrium/sovrium/issues/1544)) ([e271ae0](https://github.com/sovrium/sovrium/commit/e271ae00a4e1f0f484eee2ef4a882db0b1ff2292))
1636
- * implement APP-THEME-004 ([#1546](https://github.com/sovrium/sovrium/issues/1546)) ([945d602](https://github.com/sovrium/sovrium/commit/945d602e09654291fccf7390c3a88e68ca376ad8))
1637
- * implement APP-THEME-005 ([#1612](https://github.com/sovrium/sovrium/issues/1612)) ([e5c2ab7](https://github.com/sovrium/sovrium/commit/e5c2ab76a7630d9320e880aeb7daf25c04f5437a))
1638
- * implement APP-THEME-006 ([#1614](https://github.com/sovrium/sovrium/issues/1614)) ([0f22119](https://github.com/sovrium/sovrium/commit/0f22119fee599194e405bc2af6d942a8d54327fc))
1639
- * implement APP-THEME-007 ([#1615](https://github.com/sovrium/sovrium/issues/1615)) ([9e357ae](https://github.com/sovrium/sovrium/commit/9e357ae5509c0b6138855a2c677c043e9c2da856))
1640
- * implement APP-THEME-008 ([#1616](https://github.com/sovrium/sovrium/issues/1616)) ([dbbc002](https://github.com/sovrium/sovrium/commit/dbbc00218f5d855773bdce87cb968ebbae4e2792))
1641
- * implement APP-THEME-ANIMATIONS-001 animation enablement ([#1530](https://github.com/sovrium/sovrium/issues/1530)) ([c7cfa3c](https://github.com/sovrium/sovrium/commit/c7cfa3c589767af32049e8334351f7ab4220554c))
1642
- * implement APP-THEME-ANIMATIONS-002 ([#1533](https://github.com/sovrium/sovrium/issues/1533)) ([e5f30ac](https://github.com/sovrium/sovrium/commit/e5f30acfee941de42af7115464dbe152a57b99e1))
1643
- * implement APP-THEME-ANIMATIONS-002 CSS animation string validation ([#1532](https://github.com/sovrium/sovrium/issues/1532)) ([4869512](https://github.com/sovrium/sovrium/commit/486951253744ef079504a355025ef352eaa1d761))
1644
- * implement APP-THEME-ANIMATIONS-003 ([#1534](https://github.com/sovrium/sovrium/issues/1534)) ([92d9aa7](https://github.com/sovrium/sovrium/commit/92d9aa74d0a984447ab1a84891e8717730eaa490))
1645
- * implement APP-THEME-ANIMATIONS-004 ([#1535](https://github.com/sovrium/sovrium/issues/1535)) ([55dd80b](https://github.com/sovrium/sovrium/commit/55dd80b3966a04b07e94052a9ee4d1362f2b013c))
1646
- * implement APP-THEME-ANIMATIONS-004 ([#1536](https://github.com/sovrium/sovrium/issues/1536)) ([6b4f16b](https://github.com/sovrium/sovrium/commit/6b4f16b4a12633a9bde1c93fea084a21adda935e))
1647
- * implement APP-THEME-ANIMATIONS-005 ([#1537](https://github.com/sovrium/sovrium/issues/1537)) ([75bac75](https://github.com/sovrium/sovrium/commit/75bac759d09cc50068781b29e69e42fcf5d1c501))
1648
- * implement APP-THEME-ANIMATIONS-006 ([#1538](https://github.com/sovrium/sovrium/issues/1538)) ([8ca4a79](https://github.com/sovrium/sovrium/commit/8ca4a79e2fb365a8cb482e1774fa81299b02f509))
1649
- * implement APP-THEME-ANIMATIONS-007 ([#1539](https://github.com/sovrium/sovrium/issues/1539)) ([121ee43](https://github.com/sovrium/sovrium/commit/121ee43500f7ed51d4291b1253ff7416731190d8))
1650
- * implement APP-THEME-ANIMATIONS-008 ([#1540](https://github.com/sovrium/sovrium/issues/1540)) ([137c03e](https://github.com/sovrium/sovrium/commit/137c03ea30acd754c82317148d12df0f8e9d6a3f))
1651
- * implement APP-THEME-ANIMATIONS-008 ([#1541](https://github.com/sovrium/sovrium/issues/1541)) ([66f12e7](https://github.com/sovrium/sovrium/commit/66f12e776d4273e0683964140598f413259ad5d0))
1652
- * implement APP-THEME-ANIMATIONS-APPLICATION-001 ([#2212](https://github.com/sovrium/sovrium/issues/2212)) ([5b9cc05](https://github.com/sovrium/sovrium/commit/5b9cc050818ae90aba534ece20e6910086812501))
1653
- * implement APP-THEME-ANIMATIONS-APPLICATION-002 ([#2213](https://github.com/sovrium/sovrium/issues/2213)) ([9468869](https://github.com/sovrium/sovrium/commit/9468869634b14f27f30cc2a51bd678b0529b830e))
1654
- * implement APP-THEME-ANIMATIONS-APPLICATION-003 ([#2214](https://github.com/sovrium/sovrium/issues/2214)) ([ed4768e](https://github.com/sovrium/sovrium/commit/ed4768e8db4bd2375d76c7ce41fe60071100b8be))
1655
- * implement APP-THEME-ANIMATIONS-APPLICATION-004 ([76ebbb7](https://github.com/sovrium/sovrium/commit/76ebbb7bb69710a1bf7b634cfbef3e87fc5e8a98))
1656
- * implement APP-THEME-ANIMATIONS-APPLICATION-004 ([#2215](https://github.com/sovrium/sovrium/issues/2215)) ([9cc4ed7](https://github.com/sovrium/sovrium/commit/9cc4ed7907339b1271cd8587906152a132ce2c8a))
1657
- * implement APP-THEME-ANIMATIONS-APPLICATION-005 ([#2216](https://github.com/sovrium/sovrium/issues/2216)) ([f92c2a4](https://github.com/sovrium/sovrium/commit/f92c2a466b83b10013e148d086ccb1fc143009ae))
1658
- * implement APP-THEME-ANIMATIONS-APPLICATION-006 ([#2217](https://github.com/sovrium/sovrium/issues/2217)) ([41fed56](https://github.com/sovrium/sovrium/commit/41fed560b92b68a1857e0a1378958918f8e5aa87))
1659
- * implement APP-THEME-ANIMATIONS-APPLICATION-006 ([#2218](https://github.com/sovrium/sovrium/issues/2218)) ([e37ac46](https://github.com/sovrium/sovrium/commit/e37ac462f1111136bebd68dd1825280faa4f69b4))
1660
- * implement APP-THEME-ANIMATIONS-APPLICATION-007 ([#2219](https://github.com/sovrium/sovrium/issues/2219)) ([014300e](https://github.com/sovrium/sovrium/commit/014300e5f0e764f24bbf1626d77d2d360f14a67c))
1661
- * implement APP-THEME-ANIMATIONS-APPLICATION-008 ([10845de](https://github.com/sovrium/sovrium/commit/10845deeaea3c3e1bc0ea28021bca1384b5baa83))
1662
- * implement APP-THEME-ANIMATIONS-APPLICATION-008 ([0f7a3ff](https://github.com/sovrium/sovrium/commit/0f7a3fff05c89207a82f6ee1258e90d401edfcb5))
1663
- * implement APP-THEME-ANIMATIONS-APPLICATION-008 ([#2220](https://github.com/sovrium/sovrium/issues/2220)) ([58421e6](https://github.com/sovrium/sovrium/commit/58421e6a083e9028cf5e1de5de0494e3cc22f11a))
1664
- * implement APP-THEME-ANIMATIONS-APPLICATION-010 ([#2221](https://github.com/sovrium/sovrium/issues/2221)) ([793d68f](https://github.com/sovrium/sovrium/commit/793d68fe79b6d76b658601c5a6bbe6fd8f289e45))
1665
- * implement APP-THEME-ANIMATIONS-REGRESSION-001 ([#2240](https://github.com/sovrium/sovrium/issues/2240)) ([cfd3c13](https://github.com/sovrium/sovrium/commit/cfd3c130a6c1b1e13baa0f28d18682bf020980cb))
1666
- * implement APP-THEME-BREAKPOINTS-001 ([#1617](https://github.com/sovrium/sovrium/issues/1617)) ([30cbdbb](https://github.com/sovrium/sovrium/commit/30cbdbbdfae41a8eec72fa1ae5a4f2f436caf3b1))
1667
- * implement APP-THEME-BREAKPOINTS-002 ([#1618](https://github.com/sovrium/sovrium/issues/1618)) ([88db42c](https://github.com/sovrium/sovrium/commit/88db42c00917f1a66bed039215468bc86f82a216))
1668
- * implement APP-THEME-BREAKPOINTS-003 ([#1619](https://github.com/sovrium/sovrium/issues/1619)) ([6502900](https://github.com/sovrium/sovrium/commit/6502900778fa4318a67fdafe2008bf7da91862f2))
1669
- * implement APP-THEME-BREAKPOINTS-004 ([#1620](https://github.com/sovrium/sovrium/issues/1620)) ([c0aa3dc](https://github.com/sovrium/sovrium/commit/c0aa3dc6db593ea31701ee6a6a8ad69cafdf3d57))
1670
- * implement APP-THEME-BREAKPOINTS-005 ([#1621](https://github.com/sovrium/sovrium/issues/1621)) ([ff0db5a](https://github.com/sovrium/sovrium/commit/ff0db5a080134a410eface45574733828ab29d56))
1671
- * implement APP-THEME-BREAKPOINTS-006 ([#1622](https://github.com/sovrium/sovrium/issues/1622)) ([7699e5f](https://github.com/sovrium/sovrium/commit/7699e5f60a0c7e1d783ebeba8fea3722558dfa74))
1672
- * implement APP-THEME-BREAKPOINTS-APPLICATION-002 ([#2225](https://github.com/sovrium/sovrium/issues/2225)) ([461e1c1](https://github.com/sovrium/sovrium/commit/461e1c13d756dcab3db58f5be2aaf10a5e48afa9))
1673
- * implement APP-THEME-BREAKPOINTS-APPLICATION-003 ([48f5e04](https://github.com/sovrium/sovrium/commit/48f5e04a0fed4c930cbd9abe91e889b4f2725813))
1674
- * implement APP-THEME-BREAKPOINTS-APPLICATION-003 ([#2226](https://github.com/sovrium/sovrium/issues/2226)) ([3e7148d](https://github.com/sovrium/sovrium/commit/3e7148d6d047e387444e97f3e1d061d9a4724b6e))
1675
- * implement APP-THEME-COLORS-001 ([#1623](https://github.com/sovrium/sovrium/issues/1623)) ([fd9cf95](https://github.com/sovrium/sovrium/commit/fd9cf9552fb284ae81c9a28f12a8f8c8599c4656))
1676
- * implement APP-THEME-COLORS-002 ([#1624](https://github.com/sovrium/sovrium/issues/1624)) ([c739807](https://github.com/sovrium/sovrium/commit/c7398071cae2dd71fddcd27e0fac8fd1af539cd5)), closes [#007bff80](https://github.com/sovrium/sovrium/issues/007bff80)
1677
- * implement APP-THEME-COLORS-002 ([#1630](https://github.com/sovrium/sovrium/issues/1630)) ([0d67f6f](https://github.com/sovrium/sovrium/commit/0d67f6fc65051d9ae843c7eb1a32906ec9380c4c)), closes [#007bff80](https://github.com/sovrium/sovrium/issues/007bff80)
1678
- * implement APP-THEME-COLORS-003 ([#1631](https://github.com/sovrium/sovrium/issues/1631)) ([224956e](https://github.com/sovrium/sovrium/commit/224956e7a3a5c4817874f479c4f858364dd7ae30))
1679
- * implement APP-THEME-COLORS-003 ([#1632](https://github.com/sovrium/sovrium/issues/1632)) ([bd88c2c](https://github.com/sovrium/sovrium/commit/bd88c2c8f52a4c09637ec1c2f5ae6140f60f1eda))
1680
- * implement APP-THEME-COLORS-004 ([#1633](https://github.com/sovrium/sovrium/issues/1633)) ([0f0d8ee](https://github.com/sovrium/sovrium/commit/0f0d8eea8448ac7153dbb224c6e1952e70588e4b))
1681
- * implement APP-THEME-COLORS-005 ([#1634](https://github.com/sovrium/sovrium/issues/1634)) ([0bc66b7](https://github.com/sovrium/sovrium/commit/0bc66b74bc7d22c66fc2f07c305e792eafee50da))
1682
- * implement APP-THEME-COLORS-006 ([#1635](https://github.com/sovrium/sovrium/issues/1635)) ([d2bd0f2](https://github.com/sovrium/sovrium/commit/d2bd0f2b204a89cc6a41e0ba60285790afebfbf8))
1683
- * implement APP-THEME-COLORS-006 ([#1636](https://github.com/sovrium/sovrium/issues/1636)) ([3b0097f](https://github.com/sovrium/sovrium/commit/3b0097f0771bfebdd5733933b68f04737e0f8204))
1684
- * implement APP-THEME-COLORS-007 ([#1637](https://github.com/sovrium/sovrium/issues/1637)) ([e252b9c](https://github.com/sovrium/sovrium/commit/e252b9cd0e5a6f1cdc862903e2baa37245c67eb7))
1685
- * implement APP-THEME-COLORS-008 ([#1638](https://github.com/sovrium/sovrium/issues/1638)) ([2160a31](https://github.com/sovrium/sovrium/commit/2160a31c692c46b034a6fb800551912f68fa7d41))
1686
- * implement APP-THEME-COLORS-008 ([#1639](https://github.com/sovrium/sovrium/issues/1639)) ([d2d851a](https://github.com/sovrium/sovrium/commit/d2d851a93c458341fcafe200b39140360a73c193))
1687
- * implement APP-THEME-COLORS-009 ([#1640](https://github.com/sovrium/sovrium/issues/1640)) ([c35777e](https://github.com/sovrium/sovrium/commit/c35777e7b37a90d4e7d65c131870166acc180cbd))
1688
- * implement APP-THEME-COLORS-010 ([#1641](https://github.com/sovrium/sovrium/issues/1641)) ([0f84d20](https://github.com/sovrium/sovrium/commit/0f84d2029c097c27008c9502e18c0a763912c526))
1689
- * implement APP-THEME-COLORS-APPLICATION-004 ([#2227](https://github.com/sovrium/sovrium/issues/2227)) ([f3a372c](https://github.com/sovrium/sovrium/commit/f3a372cb99d9b3036470448ff7b45122e73bf2a6))
1690
- * implement APP-THEME-COLORS-APPLICATION-005 - visual hierarchy through tonal variation ([5ed45e2](https://github.com/sovrium/sovrium/commit/5ed45e2b4c4d5de8af96cbb40ce5dca5d8cd4411))
1691
- * implement APP-THEME-COLORS-APPLICATION-005 ([#1482](https://github.com/sovrium/sovrium/issues/1482)) ([99dd733](https://github.com/sovrium/sovrium/commit/99dd7331cc486c0c31bec7b3cf74c30e399717ac))
1692
- * implement APP-THEME-COLORS-REGRESSION-001 ([#2244](https://github.com/sovrium/sovrium/issues/2244)) ([5c1987c](https://github.com/sovrium/sovrium/commit/5c1987c58ca9d59ddf00062dc7a842bbe60d30e6))
1693
- * implement APP-THEME-FONTS-001 - validate font family as the only required property ([#1719](https://github.com/sovrium/sovrium/issues/1719)) ([688e99f](https://github.com/sovrium/sovrium/commit/688e99f6d0bbaa582577dc0600e6d52938d9f9ac))
1694
- * implement APP-THEME-FONTS-002 - graceful fallback for missing fonts ([#1791](https://github.com/sovrium/sovrium/issues/1791)) ([1c4ef07](https://github.com/sovrium/sovrium/commit/1c4ef07f37c29cbdb0079e7f894414ad0d0de917))
1695
- * implement APP-THEME-FONTS-003 ([#1793](https://github.com/sovrium/sovrium/issues/1793)) ([9599a6b](https://github.com/sovrium/sovrium/commit/9599a6b96d7a87bd60c775a51dd93cf63eea2b1d))
1696
- * implement APP-THEME-FONTS-004 ([#1794](https://github.com/sovrium/sovrium/issues/1794)) ([58db9f2](https://github.com/sovrium/sovrium/commit/58db9f2977042da9d3e84f78f47cad5b91d92950))
1697
- * implement APP-THEME-FONTS-005 ([#1795](https://github.com/sovrium/sovrium/issues/1795)) ([326a73a](https://github.com/sovrium/sovrium/commit/326a73a4b3e69820349ec2e5a619284a87da04fd))
1698
- * implement APP-THEME-FONTS-006 ([#1796](https://github.com/sovrium/sovrium/issues/1796)) ([65f9a32](https://github.com/sovrium/sovrium/commit/65f9a32b72798d5ab3ae449e2c46237d7d91d367))
1699
- * implement APP-THEME-FONTS-007 ([#1797](https://github.com/sovrium/sovrium/issues/1797)) ([c15fb26](https://github.com/sovrium/sovrium/commit/c15fb264022a291ecfd2623702edf890d12222b6))
1700
- * implement APP-THEME-FONTS-007 ([#1798](https://github.com/sovrium/sovrium/issues/1798)) ([a4e50f0](https://github.com/sovrium/sovrium/commit/a4e50f00d18ca2f05ce0bf158a6e0c374781e92c))
1701
- * implement APP-THEME-FONTS-008 - font URL remote loading ([#1799](https://github.com/sovrium/sovrium/issues/1799)) ([09117fb](https://github.com/sovrium/sovrium/commit/09117fbdd0ca82c2c743877d0f998281b5ff6fbb))
1702
- * implement APP-THEME-FONTS-008 ([#1800](https://github.com/sovrium/sovrium/issues/1800)) ([f59a87b](https://github.com/sovrium/sovrium/commit/f59a87b1e5a30a0be45017c7de049a08055ce6dc))
1703
- * implement APP-THEME-FONTS-009 - comprehensive typography settings ([#1801](https://github.com/sovrium/sovrium/issues/1801)) ([878ea01](https://github.com/sovrium/sovrium/commit/878ea013cf8f12583e7666397f5cb159c03b46de))
1704
- * implement APP-THEME-FONTS-010 - semantic font system ([#1802](https://github.com/sovrium/sovrium/issues/1802)) ([c4eeeda](https://github.com/sovrium/sovrium/commit/c4eeeda95a9dc6de1b8d79f697a10a25ca0403bf))
1705
- * implement APP-THEME-FONTS-REGRESSION-001 ([#2243](https://github.com/sovrium/sovrium/issues/2243)) ([14b7fcc](https://github.com/sovrium/sovrium/commit/14b7fccddd2b9908d8735666c0c673c1a6fe9d8f))
1706
- * implement APP-THEME-INTEGRATION-001 ([#2653](https://github.com/sovrium/sovrium/issues/2653)) ([bab38dc](https://github.com/sovrium/sovrium/commit/bab38dcdc1c3d52e81d8d332d1b9ac581981aae5)), closes [#007bff](https://github.com/sovrium/sovrium/issues/007bff)
1707
- * implement APP-THEME-INTEGRATION-002 ([#2654](https://github.com/sovrium/sovrium/issues/2654)) ([2e1e4ca](https://github.com/sovrium/sovrium/commit/2e1e4ca185b71b2ce92603e18e54f948841cb714))
1708
- * implement APP-THEME-INTEGRATION-003 ([#2655](https://github.com/sovrium/sovrium/issues/2655)) ([990f680](https://github.com/sovrium/sovrium/commit/990f680d31292df4db69e03b6931381da6c75964))
1709
- * implement APP-THEME-INTEGRATION-004 ([#2656](https://github.com/sovrium/sovrium/issues/2656)) ([0d9cf8e](https://github.com/sovrium/sovrium/commit/0d9cf8e9662146721e992c29b3c25c5855bacf3b))
1710
- * implement APP-THEME-INTEGRATION-004 theme-aware animations ([#2665](https://github.com/sovrium/sovrium/issues/2665)) ([a6b3266](https://github.com/sovrium/sovrium/commit/a6b326665d0c1069ea472daa3e0bc9390cb9eff7))
1711
- * implement APP-THEME-RADIUS-001 ([#2922](https://github.com/sovrium/sovrium/issues/2922)) ([0ac4d94](https://github.com/sovrium/sovrium/commit/0ac4d943e3345cd2732b342874b96b461bc5ffda))
1712
- * implement APP-THEME-RADIUS-001 ([#2923](https://github.com/sovrium/sovrium/issues/2923)) ([5d73863](https://github.com/sovrium/sovrium/commit/5d73863efb8e115bdcc115de42be973ecf68cd28))
1713
- * implement APP-THEME-RADIUS-002 ([#2924](https://github.com/sovrium/sovrium/issues/2924)) ([566b295](https://github.com/sovrium/sovrium/commit/566b295767256188f4ecd7bcef7ee8621475594f))
1714
- * implement APP-THEME-RADIUS-002 ([#2925](https://github.com/sovrium/sovrium/issues/2925)) ([fa73f59](https://github.com/sovrium/sovrium/commit/fa73f5959492dfb7a6fb61fb627867f3f4bcb05d))
1715
- * implement APP-THEME-RADIUS-003 ([#2927](https://github.com/sovrium/sovrium/issues/2927)) ([6d30078](https://github.com/sovrium/sovrium/commit/6d300783f663e1d4f3bbc1d4799ac7dfb90f2a02))
1716
- * implement APP-THEME-RADIUS-005 ([#2929](https://github.com/sovrium/sovrium/issues/2929)) ([d38e25d](https://github.com/sovrium/sovrium/commit/d38e25d4c3d3576072f773404e4ffe68cb79794d))
1717
- * implement APP-THEME-RADIUS-APPLICATION-002 ([#2926](https://github.com/sovrium/sovrium/issues/2926)) ([0d84b4c](https://github.com/sovrium/sovrium/commit/0d84b4cb9b5a926bb9376b52bdd55edc1be9cc9d))
1718
- * implement APP-THEME-RADIUS-APPLICATION-002 ([#2928](https://github.com/sovrium/sovrium/issues/2928)) ([15e85e0](https://github.com/sovrium/sovrium/commit/15e85e0097a88b40b838e991356131ed616652a1))
1719
- * implement APP-THEME-RADIUS-APPLICATION-005 ([#2930](https://github.com/sovrium/sovrium/issues/2930)) ([286ddb5](https://github.com/sovrium/sovrium/commit/286ddb5960ad5315e402c3db9a4eaf506e4108a0))
1720
- * implement APP-THEME-RADIUS-APPLICATION-007 ([6e1d1e7](https://github.com/sovrium/sovrium/commit/6e1d1e79cadfbfa00f2154e5068d77a3df035179))
1721
- * implement APP-THEME-RADIUS-APPLICATION-007 ([#2933](https://github.com/sovrium/sovrium/issues/2933)) ([16ea71b](https://github.com/sovrium/sovrium/commit/16ea71bebbc7b26b6a3f65f81c48ad03556889d3))
1722
- * implement APP-THEME-RADIUS-APPLICATION-008 ([#2934](https://github.com/sovrium/sovrium/issues/2934)) ([eb7b493](https://github.com/sovrium/sovrium/commit/eb7b49398fbea734b03ba854c3c6160797a5907a))
1723
- * implement APP-THEME-REGRESSION-001 ([#2242](https://github.com/sovrium/sovrium/issues/2242)) ([c4c5d1f](https://github.com/sovrium/sovrium/commit/c4c5d1fa4f5bee12cb9f362c7baeb008f2e02350))
1724
- * implement APP-THEME-SHADOWS-001 - elevation system validation ([#1803](https://github.com/sovrium/sovrium/issues/1803)) ([e9052cb](https://github.com/sovrium/sovrium/commit/e9052cb8df1a83b956639359f9be4259cf2cbcb2))
1725
- * implement APP-THEME-SHADOWS-002 - rgb(0 0 0 / 0.1) format validation ([#1804](https://github.com/sovrium/sovrium/issues/1804)) ([9d1ab13](https://github.com/sovrium/sovrium/commit/9d1ab1398a18aa4ff35fc13cbb58097864808d69))
1726
- * implement APP-THEME-SHADOWS-003 - inset box-shadow validation ([#1805](https://github.com/sovrium/sovrium/issues/1805)) ([1aee738](https://github.com/sovrium/sovrium/commit/1aee73846f5babb7402949954233fe541d28835c))
1727
- * implement APP-THEME-SHADOWS-004 - shadow removal validation ([#1806](https://github.com/sovrium/sovrium/issues/1806)) ([5655472](https://github.com/sovrium/sovrium/commit/56554722bf25c95fa248ae501cd7e6d9e478bcb7))
1728
- * implement APP-THEME-SHADOWS-004 - shadow removal validation ([#1807](https://github.com/sovrium/sovrium/issues/1807)) ([866069a](https://github.com/sovrium/sovrium/commit/866069a303d46ee5dd806bcafed4a5145fecaa94))
1729
- * implement APP-THEME-SHADOWS-005 - kebab-case convention validation ([#1808](https://github.com/sovrium/sovrium/issues/1808)) ([39775b1](https://github.com/sovrium/sovrium/commit/39775b1ce9d575d71c6bc43ab49fc2bf8976263e))
1730
- * implement APP-THEME-SHADOWS-006 ([#1809](https://github.com/sovrium/sovrium/issues/1809)) ([29ee986](https://github.com/sovrium/sovrium/commit/29ee986279379ae161974dfc4d956565d283e3f9))
1731
- * implement APP-THEME-SHADOWS-006 ([#1810](https://github.com/sovrium/sovrium/issues/1810)) ([9c0b1fa](https://github.com/sovrium/sovrium/commit/9c0b1fa78f13adda020d18643cb8c505422cd0f5))
1732
- * implement APP-THEME-SHADOWS-APPLICATION-006 ([#2228](https://github.com/sovrium/sovrium/issues/2228)) ([7659a5e](https://github.com/sovrium/sovrium/commit/7659a5e650ab9085d162fefde59fd4e1833da2cf))
1733
- * implement APP-THEME-SHADOWS-APPLICATION-009 ([#2229](https://github.com/sovrium/sovrium/issues/2229)) ([7f92c72](https://github.com/sovrium/sovrium/commit/7f92c7200f788deded7a618c20fabd6cc4eafd85))
1734
- * implement APP-THEME-SPACING-001 - spacing token substitution ([#1811](https://github.com/sovrium/sovrium/issues/1811)) ([ef09316](https://github.com/sovrium/sovrium/commit/ef09316d270cc80c73240e9ac06b7a12fe000c93))
1735
- * implement APP-THEME-SPACING-002 ([#1812](https://github.com/sovrium/sovrium/issues/1812)) ([e6225d8](https://github.com/sovrium/sovrium/commit/e6225d8b188655b5a63e8cae89f601137104c16d))
1736
- * implement APP-THEME-SPACING-003 ([#1813](https://github.com/sovrium/sovrium/issues/1813)) ([37c1c49](https://github.com/sovrium/sovrium/commit/37c1c49fa0c31a1fd79a0b64d27eddc621b7a8e9))
1737
- * implement APP-THEME-SPACING-003 ([#1814](https://github.com/sovrium/sovrium/issues/1814)) ([5121680](https://github.com/sovrium/sovrium/commit/5121680375bbad56dfde26b55404272c963cf85e))
1738
- * implement APP-THEME-SPACING-004 ([#1815](https://github.com/sovrium/sovrium/issues/1815)) ([5cff24a](https://github.com/sovrium/sovrium/commit/5cff24ab4c0b21a1c4e5185350c23f07181314a3))
1739
- * implement APP-THEME-SPACING-006 - hierarchical container widths ([#1817](https://github.com/sovrium/sovrium/issues/1817)) ([95e54a0](https://github.com/sovrium/sovrium/commit/95e54a092429d9d85945ba34de96668d95a29535))
1740
- * implement APP-THEME-SPACING-007 - consistent internal component spacing ([#1818](https://github.com/sovrium/sovrium/issues/1818)) ([3de4ff8](https://github.com/sovrium/sovrium/commit/3de4ff82f1bad9226b5980cb3748f856d1bfd0a4))
1741
- * implement APP-THEME-SPACING-009 - validate custom CSS spacing values ([#1820](https://github.com/sovrium/sovrium/issues/1820)) ([35661ee](https://github.com/sovrium/sovrium/commit/35661eef843986a9046ed9fe585a1819a9d485b8))
1742
- * implement APP-THEME-SPACING-009 - validate custom CSS spacing values ([#1821](https://github.com/sovrium/sovrium/issues/1821)) ([5304fc7](https://github.com/sovrium/sovrium/commit/5304fc7eaf994e5d3d8e2e751b4bb192cf895e7a))
1743
- * implement APP-THEME-SPACING-010 - validate comprehensive spacing system ([#1822](https://github.com/sovrium/sovrium/issues/1822)) ([dbaa5fc](https://github.com/sovrium/sovrium/commit/dbaa5fc2af8af64d96ade585703a62d94417c5d6))
1744
- * implement APP-THEME-SPACING-APPLICATION-001 ([#2230](https://github.com/sovrium/sovrium/issues/2230)) ([6ca2fae](https://github.com/sovrium/sovrium/commit/6ca2fae9cc1440c11088b8dd70707d595bb06288))
1745
- * implement APP-THEME-SPACING-APPLICATION-002 ([#2231](https://github.com/sovrium/sovrium/issues/2231)) ([0ba8c87](https://github.com/sovrium/sovrium/commit/0ba8c87942933e2558167743b38fc2edb8bdd74d))
1746
- * implement APP-THEME-SPACING-APPLICATION-003 ([#2232](https://github.com/sovrium/sovrium/issues/2232)) ([823a6e1](https://github.com/sovrium/sovrium/commit/823a6e1335252f014965780a1a0791b007a98c0c))
1747
- * implement APP-THEME-SPACING-REGRESSION-001 ([#2258](https://github.com/sovrium/sovrium/issues/2258)) ([b567851](https://github.com/sovrium/sovrium/commit/b567851cdd333901e9bd67c5c8ed7aa44bfe77bf))
1748
- * implement authorship metadata (created_by, updated_by, deleted_by) ([152dbf4](https://github.com/sovrium/sovrium/commit/152dbf48592755341743cbab1dd76ce166e72a5f))
1749
- * implement AVG, MIN, MAX statistical aggregations for rollup fields ([#5634](https://github.com/sovrium/sovrium/issues/5634)) ([a44c9fe](https://github.com/sovrium/sovrium/commit/a44c9fe27c12d6836424dc686178128f17e886fc))
1750
- * implement batch delete validation and includeDeleted parameter ([f3ad247](https://github.com/sovrium/sovrium/commit/f3ad24767afbb7339c066966678cb195efe0fdc2))
1751
- * implement button field as UI-only (no database column) ([#4842](https://github.com/sovrium/sovrium/issues/4842)) ([6841119](https://github.com/sovrium/sovrium/commit/6841119d765663e45153bcfd6b7fba9fcf00653c))
1752
- * implement CASCADE delete behavior for relationship fields (APP-TABLES-FIELD-TYPES-RELATIONSHIP-003) ([#5633](https://github.com/sovrium/sovrium/issues/5633)) ([10ccb2b](https://github.com/sovrium/sovrium/commit/10ccb2ba9ff812fc036414f74e1bb2598f09313a))
1753
- * implement cascade soft delete and trash endpoint for API-TABLES-RECORDS-DELETE-012 ([60fd344](https://github.com/sovrium/sovrium/commit/60fd3446ef44f6e421836f9f1e01957ef9425bfa))
1754
- * implement CASCADE UPDATE migration and update role validation test ([c4e1aea](https://github.com/sovrium/sovrium/commit/c4e1aea22955a306200713e96d151cad85f7192d))
1755
- * implement CHR formula function (APP-TABLES-FIELD-TYPES-FORMULA-042) ([#5445](https://github.com/sovrium/sovrium/issues/5445)) ([4128d56](https://github.com/sovrium/sovrium/commit/4128d5667795aa0b35f6c9d27d21bcf2ee0f1796))
1756
- * implement CI-aware issue closure for TDD pre-validation ([af85b47](https://github.com/sovrium/sovrium/commit/af85b47049889499c2bafb9f845020e9f60f39e3))
1757
- * implement color showcase mode for theme color validation ([d3213fb](https://github.com/sovrium/sovrium/commit/d3213fb0a3c64c454bc97880c2384f18e20e145e))
1758
- * implement comprehensive activity logging for record creation (API-TABLES-RECORDS-CREATE-017) ([#6783](https://github.com/sovrium/sovrium/issues/6783)) ([0ca087a](https://github.com/sovrium/sovrium/commit/0ca087a19ed155e40224bee4d889f133a2f7848d))
1759
- * implement contains operator for view filter conditions (APP-TABLES-VIEW-CONDITION-002) ([#5601](https://github.com/sovrium/sovrium/issues/5601)) ([f9254eb](https://github.com/sovrium/sovrium/commit/f9254eb46494cdb40c3cec8d126f7afe8236e6ed))
1760
- * implement custom rate limiting for auth endpoints ([8b94bc3](https://github.com/sovrium/sovrium/commit/8b94bc398b7369e22a53c2a088413ea61e8a47a0))
1761
- * implement datetime 24-hour time format display ([2975518](https://github.com/sovrium/sovrium/commit/29755184cc71fe1cdac7e1d79f9e1e68ffd8f371))
1762
- * implement default deny RLS for tables with no permissions (APP-TABLES-PERMISSIONS-004) ([#5057](https://github.com/sovrium/sovrium/issues/5057)) ([e1f5ff3](https://github.com/sovrium/sovrium/commit/e1f5ff3e79aeac8c936a3bac53b4cf5db3d87276))
1763
- * implement defaultRole validation for admin plugin ([#6534](https://github.com/sovrium/sovrium/issues/6534)) ([f62a810](https://github.com/sovrium/sovrium/commit/f62a8105bee6cb0c2071d7708addfe343a2f9dea))
1764
- * implement deletedBy user object in trash listing and accept custom roles in table permissions ([991dabc](https://github.com/sovrium/sovrium/commit/991dabc0e69cbe2b9586b64a48a6a221f523ed03))
1765
- * implement fail-closed pattern for TDD usage checks ([67d667b](https://github.com/sovrium/sovrium/commit/67d667b2a232df74fa776051eac15f2604964004))
1766
- * implement field-level permission filtering and RLS policy generation ([56039d6](https://github.com/sovrium/sovrium/commit/56039d64829dee2997efd6e39463be9d75678174))
1767
- * implement field-level write permission check for record creation (API-TABLES-RECORDS-CREATE-010) ([#6776](https://github.com/sovrium/sovrium/issues/6776)) ([c559b81](https://github.com/sovrium/sovrium/commit/c559b81b34f94dd1cda8116ef9f3437df367d4ff))
1768
- * implement field-level write permissions (APP-TABLES-FIELD-PERMISSIONS-004) ([#5973](https://github.com/sovrium/sovrium/issues/5973)) ([34a5250](https://github.com/sovrium/sovrium/commit/34a525076596a1a57173442d657efb8e6bf3202f))
1769
- * implement first-user-admin feature (API-AUTH-ADMIN-OPT-FIRST-USER-001) ([#6545](https://github.com/sovrium/sovrium/issues/6545)) ([a77f686](https://github.com/sovrium/sovrium/commit/a77f686f3b7f126bc00c2e6fdd3b53da9c6cd431))
1770
- * implement localStorage persistence for language selection ([#1516](https://github.com/sovrium/sovrium/issues/1516)) ([95a02e8](https://github.com/sovrium/sovrium/commit/95a02e84e414bf4fa61cd5bf0099eb01577600d3))
1771
- * implement MIGRATION-ALTER-ADD-002 ([#5730](https://github.com/sovrium/sovrium/issues/5730)) ([a920c09](https://github.com/sovrium/sovrium/commit/a920c0955f5b5a9d2409b50bdc9a8bb3fe243206))
1772
- * implement MIGRATION-ALTER-ADD-003 - add CHECK constraints during ALTER TABLE ([#5732](https://github.com/sovrium/sovrium/issues/5732)) ([dcc99e9](https://github.com/sovrium/sovrium/commit/dcc99e9ddd1a5939cf8db6304bd1677d55d4beac))
1773
- * implement MIGRATION-ALTER-ADD-004 ([#5734](https://github.com/sovrium/sovrium/issues/5734)) ([54f0830](https://github.com/sovrium/sovrium/commit/54f0830df1ca6f1cbc905214fc6bd3fa57554a4c))
1774
- * implement MIGRATION-ALTER-ADD-005 deleted_at field migration ([#5736](https://github.com/sovrium/sovrium/issues/5736)) ([db2cfe9](https://github.com/sovrium/sovrium/commit/db2cfe9c9a8962755a9f461c23459a731d1bfc78))
1775
- * implement MIGRATION-ALTER-ADD-006 - preserve existing records as non-deleted when adding deleted_at field ([#5738](https://github.com/sovrium/sovrium/issues/5738)) ([227151b](https://github.com/sovrium/sovrium/commit/227151b1a0bff9c6440ffa4103c88f164966487e))
1776
- * implement MIGRATION-ALTER-REMOVE-001 ([#5742](https://github.com/sovrium/sovrium/issues/5742)) ([998acba](https://github.com/sovrium/sovrium/commit/998acbabbb3867268556bbf4972c87bb9946e3e6))
1777
- * implement MIGRATION-ALTER-REMOVE-001, MIGRATION-ALTER-REMOVE-003, and MIGRATION-ALTER-REMOVE-004 ([04b7324](https://github.com/sovrium/sovrium/commit/04b732413ecd6695475f11682187704938a9914d))
1778
- * implement MIGRATION-ALTER-REMOVE-002 ([#5744](https://github.com/sovrium/sovrium/issues/5744)) ([a81a824](https://github.com/sovrium/sovrium/commit/a81a8244977058b81d822d1150a24bf1b339162d))
1779
- * implement MIGRATION-ALTER-REMOVE-003 - automatically drop associated index when ALTER TABLE drops column ([#5748](https://github.com/sovrium/sovrium/issues/5748)) ([60c4f10](https://github.com/sovrium/sovrium/commit/60c4f10c29c4a925255af44ce08f4dde6436d9c3))
1780
- * implement MIGRATION-ALTER-REMOVE-004 ([#5750](https://github.com/sovrium/sovrium/issues/5750)) ([c6b4122](https://github.com/sovrium/sovrium/commit/c6b412242d1cb82db2ba6e2103712ff00876bd58))
1781
- * implement MIGRATION-ALTER-RENAME-001 - field rename detection via ID tracking ([#5743](https://github.com/sovrium/sovrium/issues/5743)) ([c34a8f9](https://github.com/sovrium/sovrium/commit/c34a8f92ae49d8421823a45af1723dd516c29cb5))
1782
- * implement MIGRATION-ALTER-RENAME-001 ([#5745](https://github.com/sovrium/sovrium/issues/5745)) ([94d2cbf](https://github.com/sovrium/sovrium/commit/94d2cbfc439b5d7d01efe47d5fe1185d4e8bca0d))
1783
- * implement MIGRATION-ALTER-RENAME-002 ([#5746](https://github.com/sovrium/sovrium/issues/5746)) ([2d03be3](https://github.com/sovrium/sovrium/commit/2d03be3d802f8af440f82896b0a5ba35d58699d8))
1784
- * implement MIGRATION-ALTER-RENAME-002 ([#5747](https://github.com/sovrium/sovrium/issues/5747)) ([f5ce9ab](https://github.com/sovrium/sovrium/commit/f5ce9ab794c3ed89aea478b95f4fc038322ac21a))
1785
- * implement MIGRATION-ALTER-RENAME-003 - preserve FK constraints on column rename ([#5749](https://github.com/sovrium/sovrium/issues/5749)) ([ce2657f](https://github.com/sovrium/sovrium/commit/ce2657f6fafeffa6328d4a814124595c1d09a709)), closes [#4217](https://github.com/sovrium/sovrium/issues/4217)
1786
- * implement MIGRATION-ALTER-RENAME-004 - handle CHECK constraints during column rename ([#5751](https://github.com/sovrium/sovrium/issues/5751)) ([4e1b854](https://github.com/sovrium/sovrium/commit/4e1b85496040800371f2242c744295a7b8d4479a))
1787
- * implement MIGRATION-ALTER-RENAME-005 ([#5758](https://github.com/sovrium/sovrium/issues/5758)) ([fc7bd77](https://github.com/sovrium/sovrium/commit/fc7bd77852a2f85d2fcfea84234b29b0ac933af5))
1788
- * implement MIGRATION-AUDIT-001 ([#5729](https://github.com/sovrium/sovrium/issues/5729)) ([d0cde78](https://github.com/sovrium/sovrium/commit/d0cde78e4959eed8042086eef80acbb31b5d2d25))
1789
- * implement MIGRATION-AUDIT-003 ([#5733](https://github.com/sovrium/sovrium/issues/5733)) ([93b632b](https://github.com/sovrium/sovrium/commit/93b632b58c392d761d48a981fafefea9fd57fcb1))
1790
- * implement MIGRATION-AUDIT-004 - log rollback operations with reason and timestamp ([5b32ff3](https://github.com/sovrium/sovrium/commit/5b32ff3cecabeb9636c8dd0db31f1f07bf2ae095))
1791
- * implement MIGRATION-AUDIT-004 ([#5735](https://github.com/sovrium/sovrium/issues/5735)) ([3b2b21f](https://github.com/sovrium/sovrium/commit/3b2b21f69a9a2cdc3f45e55f5ca60c2f2beaabee))
1792
- * implement MIGRATION-AUDIT-005 - provide query interface for migration history ([a0d7edb](https://github.com/sovrium/sovrium/commit/a0d7edbbb9946235244f867dc1ef6f71d54a8639))
1793
- * implement MIGRATION-AUDIT-005 ([#5737](https://github.com/sovrium/sovrium/issues/5737)) ([a33b7ef](https://github.com/sovrium/sovrium/commit/a33b7efd4b6276a0288e60cae1bfcaec388b99ed))
1794
- * implement MIGRATION-AUDIT-006 - schema drift detection ([41c769c](https://github.com/sovrium/sovrium/commit/41c769ceb86cab3fe9f0694e8695c27e32d1b393))
1795
- * implement MIGRATION-AUDIT-006 (schema drift detection) ([#5739](https://github.com/sovrium/sovrium/issues/5739)) ([7096b40](https://github.com/sovrium/sovrium/commit/7096b40924bad4a46d55afc614ce9db23913ba9a))
1796
- * implement MIGRATION-CHECKSUM-001 ([#5761](https://github.com/sovrium/sovrium/issues/5761)) ([5285ad0](https://github.com/sovrium/sovrium/commit/5285ad06f5f523d68ef8f690c49b55a8f2f5f18a))
1797
- * implement MIGRATION-CHECKSUM-002 ([#5762](https://github.com/sovrium/sovrium/issues/5762)) ([ca8e43a](https://github.com/sovrium/sovrium/commit/ca8e43ad05cfc2f2595ea485256dbc6118fac74f))
1798
- * implement MIGRATION-CHECKSUM-002 and MIGRATION-CHECKSUM-003 ([b524688](https://github.com/sovrium/sovrium/commit/b524688f1d0f9f67216051213e7232ac650ebae6))
1799
- * implement MIGRATION-CHECKSUM-004 ([#5763](https://github.com/sovrium/sovrium/issues/5763)) ([4c79bb6](https://github.com/sovrium/sovrium/commit/4c79bb62547ebff9784cd30eda7f98a93a5d808f))
1800
- * implement MIGRATION-ERROR-001 ([#5766](https://github.com/sovrium/sovrium/issues/5766)) ([62be3b3](https://github.com/sovrium/sovrium/commit/62be3b345130c43879ff349533b3e800c4ca4277))
1801
- * implement MIGRATION-ERROR-002 constraint validation ([#6122](https://github.com/sovrium/sovrium/issues/6122)) ([547ae8d](https://github.com/sovrium/sovrium/commit/547ae8dd6ef6fb08cf1a53c9298f7723cb610fb1))
1802
- * implement MIGRATION-ERROR-003 constraint validation ([#6123](https://github.com/sovrium/sovrium/issues/6123)) ([7e609df](https://github.com/sovrium/sovrium/commit/7e609dfe878fc4bac289bafa414559350962f689))
1803
- * implement MIGRATION-ERROR-005 ([#6125](https://github.com/sovrium/sovrium/issues/6125)) ([85d178f](https://github.com/sovrium/sovrium/commit/85d178f2f6835b7318920702121448ae8395d08d))
1804
- * implement MIGRATION-ERROR-006 ([#6126](https://github.com/sovrium/sovrium/issues/6126)) ([e1a6365](https://github.com/sovrium/sovrium/commit/e1a63658bc1d01fd3f78b50b87c25272e8816544))
1805
- * implement MIGRATION-ERROR-007 - reject duplicate table IDs ([#6127](https://github.com/sovrium/sovrium/issues/6127)) ([9664cf0](https://github.com/sovrium/sovrium/commit/9664cf05830d9367a57b78909f7e34454a5c99ef))
1806
- * implement MIGRATION-ERROR-008 - reject migration with invalid dependency order ([#6128](https://github.com/sovrium/sovrium/issues/6128)) ([99a1d11](https://github.com/sovrium/sovrium/commit/99a1d112fc860e6b52fd50a6847723ea4ac683c5))
1807
- * implement MIGRATION-ERROR-009 - reject destructive operations without confirmation flag ([#6129](https://github.com/sovrium/sovrium/issues/6129)) ([1c5d54b](https://github.com/sovrium/sovrium/commit/1c5d54bbde5866416082a3b89bdc683102dc4487))
1808
- * implement MIGRATION-ERROR-010 - reject empty migrations ([#6130](https://github.com/sovrium/sovrium/issues/6130)) ([9d17725](https://github.com/sovrium/sovrium/commit/9d1772593e9b27ae15982bbfbf026d9019be52ae))
1809
- * implement MIGRATION-MODIFY-CONSTRAINTS-001 - alter table add constraint check with range validation ([#6132](https://github.com/sovrium/sovrium/issues/6132)) ([78467af](https://github.com/sovrium/sovrium/commit/78467afb701035c0c3004fd493d0da333ed81335))
1810
- * implement MIGRATION-MODIFY-CONSTRAINTS-002 ([#6133](https://github.com/sovrium/sovrium/issues/6133)) ([dcc5e85](https://github.com/sovrium/sovrium/commit/dcc5e85282550735e4dc2d12a8b032a0278c3ccb))
1811
- * implement MIGRATION-MODIFY-CONSTRAINTS-004 ([#6135](https://github.com/sovrium/sovrium/issues/6135)) ([c8ec4f9](https://github.com/sovrium/sovrium/commit/c8ec4f955ac7dcf7420ed518902e2cbc03e76b2e))
1812
- * implement MIGRATION-MODIFY-CONSTRAINTS-005 ([#6136](https://github.com/sovrium/sovrium/issues/6136)) ([b167233](https://github.com/sovrium/sovrium/commit/b167233bce6ea5116dd59ddcec9227129c0ca94b))
1813
- * implement MIGRATION-MODIFY-DEFAULT-001 ([#6137](https://github.com/sovrium/sovrium/issues/6137)) ([395b79a](https://github.com/sovrium/sovrium/commit/395b79a8dc4a4b5950643461e6d2864e1b1ed786))
1814
- * implement MIGRATION-MODIFY-DEFAULT-003 ([#6139](https://github.com/sovrium/sovrium/issues/6139)) ([0fcfd17](https://github.com/sovrium/sovrium/commit/0fcfd17f54c250cca851e31d27a440eb1bbf7129))
1815
- * implement MIGRATION-MODIFY-FIELD-UNIQUE-002 - handle unique constraint failure with transaction rollback ([#6142](https://github.com/sovrium/sovrium/issues/6142)) ([7cb53c8](https://github.com/sovrium/sovrium/commit/7cb53c80b25d96b8e82407ae247d5bb3a04d694e))
1816
- * implement MIGRATION-MODIFY-FIELD-UNIQUE-003 ([#6143](https://github.com/sovrium/sovrium/issues/6143)) ([33e96a0](https://github.com/sovrium/sovrium/commit/33e96a030e930027fa7b1bd47c8f764db485f119))
1817
- * implement MIGRATION-MODIFY-FIELD-UNIQUE-004 ([#6144](https://github.com/sovrium/sovrium/issues/6144)) ([83e5ebc](https://github.com/sovrium/sovrium/commit/83e5ebc2d4ee224e8f77daf62068ea7be631be83))
1818
- * implement MIGRATION-MODIFY-INDEX-001 ([#6145](https://github.com/sovrium/sovrium/issues/6145)) ([31341ca](https://github.com/sovrium/sovrium/commit/31341ca13c0347506eccb7aac99287afed7a74c0)), closes [#4240](https://github.com/sovrium/sovrium/issues/4240)
1819
- * implement MIGRATION-MODIFY-INDEX-002 ([#6146](https://github.com/sovrium/sovrium/issues/6146)) ([f950d5c](https://github.com/sovrium/sovrium/commit/f950d5c869bcc4f2ddde02ec3361e49b24b21ad0))
1820
- * implement MIGRATION-MODIFY-INDEX-003 - drop index removes index from table ([#6147](https://github.com/sovrium/sovrium/issues/6147)) ([407e47d](https://github.com/sovrium/sovrium/commit/407e47d1eeb9c9a96168335281b7f63ffe79d450))
1821
- * implement MIGRATION-MODIFY-INDEX-005 - drop regular index and create unique index ([#6149](https://github.com/sovrium/sovrium/issues/6149)) ([0e03d0f](https://github.com/sovrium/sovrium/commit/0e03d0fc18594b6fd6c822f1062424788935ecc9))
1822
- * implement MIGRATION-MODIFY-INDEX-005 - drop regular index and create unique index ([#6150](https://github.com/sovrium/sovrium/issues/6150)) ([7c1ea01](https://github.com/sovrium/sovrium/commit/7c1ea01b482cdcb7207daadd63de67f48909033f))
1823
- * implement MIGRATION-MODIFY-INDEX-006 ([#6151](https://github.com/sovrium/sovrium/issues/6151)) ([44b2e37](https://github.com/sovrium/sovrium/commit/44b2e37b9b3f1fd1f2e986daf9cf844b8d965ef8))
1824
- * implement MIGRATION-MODIFY-INDEX-007 ([#6152](https://github.com/sovrium/sovrium/issues/6152)) ([31a2fa9](https://github.com/sovrium/sovrium/commit/31a2fa9d6e2f78ef49f47c20856f392138a52f1f))
1825
- * implement MIGRATION-MODIFY-OPTIONS-002 ([#6154](https://github.com/sovrium/sovrium/issues/6154)) ([88a2b57](https://github.com/sovrium/sovrium/commit/88a2b57e48a485d7ed82ea72184c1412899f29fc))
1826
- * implement MIGRATION-MODIFY-OPTIONS-003 ([#6155](https://github.com/sovrium/sovrium/issues/6155)) ([628479a](https://github.com/sovrium/sovrium/commit/628479acebbcdcbe0bc5ef461b63e6690306b812))
1827
- * implement MIGRATION-MODIFY-OPTIONS-004 - add CHECK constraints for multi-select fields ([#6156](https://github.com/sovrium/sovrium/issues/6156)) ([d13d9a1](https://github.com/sovrium/sovrium/commit/d13d9a1857bff99cc424c5f9b173c1bbe5b8d226))
1828
- * implement MIGRATION-MODIFY-OPTIONS-005 ([#6157](https://github.com/sovrium/sovrium/issues/6157)) ([5e009a2](https://github.com/sovrium/sovrium/commit/5e009a25048e3495ac11082ed372d8787ce81880))
1829
- * implement MIGRATION-MODIFY-REQUIRED-002 - validate NULL values before SET NOT NULL ([#6159](https://github.com/sovrium/sovrium/issues/6159)) ([57f1155](https://github.com/sovrium/sovrium/commit/57f11559010ae16a860d71d99a0acfd3fb0ddfb3))
1830
- * implement MIGRATION-MODIFY-REQUIRED-003 ([#6160](https://github.com/sovrium/sovrium/issues/6160)) ([ec8f440](https://github.com/sovrium/sovrium/commit/ec8f440c25340ed5c86dbe8dd08ca3ac16e1f392))
1831
- * implement MIGRATION-MODIFY-REQUIRED-005 ([#6162](https://github.com/sovrium/sovrium/issues/6162)) ([a93d218](https://github.com/sovrium/sovrium/commit/a93d218c7c786710972b6065586cf90a7571585e))
1832
- * implement MIGRATION-MODIFY-TYPE-001 ([#6163](https://github.com/sovrium/sovrium/issues/6163)) ([a446d67](https://github.com/sovrium/sovrium/commit/a446d67acaccbd0d9c56898d398e4dea709d8c5b))
1833
- * implement MIGRATION-MODIFY-TYPE-002 ([#6164](https://github.com/sovrium/sovrium/issues/6164)) ([eab77c8](https://github.com/sovrium/sovrium/commit/eab77c809d2ab7252020fedc0a618577b6447d4d))
1834
- * implement MIGRATION-MODIFY-TYPE-003 - INTEGER to NUMERIC type conversion ([#6165](https://github.com/sovrium/sovrium/issues/6165)) ([1b10361](https://github.com/sovrium/sovrium/commit/1b10361f7551b3fd7dde2af3eb5bc979b6e00004))
1835
- * implement MIGRATION-MODIFY-TYPE-005 timestamptz conversion ([#6167](https://github.com/sovrium/sovrium/issues/6167)) ([3737ea1](https://github.com/sovrium/sovrium/commit/3737ea16626c4b9d2e70c36c9134572969dd68a2))
1836
- * implement MIGRATION-MODIFY-UNIQUE-001 ([#6170](https://github.com/sovrium/sovrium/issues/6170)) ([69116a6](https://github.com/sovrium/sovrium/commit/69116a6c7f82c410901c7e1a9411175f667bc166))
1837
- * implement MIGRATION-MODIFY-UNIQUE-002 - drop unique constraint ([#6171](https://github.com/sovrium/sovrium/issues/6171)) ([68f2aae](https://github.com/sovrium/sovrium/commit/68f2aaef70cfe38beae649c7791eabb7ab1f9009))
1838
- * implement MIGRATION-MODIFY-UNIQUE-004 ([#6173](https://github.com/sovrium/sovrium/issues/6173)) ([017270e](https://github.com/sovrium/sovrium/commit/017270e78588f297b5f866cd27800718be9a6678))
1839
- * implement MIGRATION-RENAME-TABLE-001 ([#6189](https://github.com/sovrium/sovrium/issues/6189)) ([c5cc77e](https://github.com/sovrium/sovrium/commit/c5cc77e59aa5a771a86621bd178859ef8d993054))
1840
- * implement MIGRATION-RENAME-TABLE-003 ([#6191](https://github.com/sovrium/sovrium/issues/6191)) ([ead06bc](https://github.com/sovrium/sovrium/commit/ead06bc732f99bbaf704aa3072172038ab3de2c8))
1841
- * implement MIGRATION-RENAME-TABLE-004 - validate schema-level duplicate table name error ([#6192](https://github.com/sovrium/sovrium/issues/6192)) ([8975c0c](https://github.com/sovrium/sovrium/commit/8975c0c33f3770da52e9fcbeaf61619f3da7c2b1))
1842
- * implement MIGRATION-RENAME-TABLE-005 ([#6193](https://github.com/sovrium/sovrium/issues/6193)) ([a1ddc34](https://github.com/sovrium/sovrium/commit/a1ddc349e2bfa971c6f9b07fdfd15474f5830ebd))
1843
- * implement MIGRATION-ROLLBACK-001 - detect checksum mismatch and prevent migration ([#6176](https://github.com/sovrium/sovrium/issues/6176)) ([d870510](https://github.com/sovrium/sovrium/commit/d870510cdef96971284130b641e5b4a2324a3bcc))
1844
- * implement MIGRATION-ROLLBACK-002 ([#6178](https://github.com/sovrium/sovrium/issues/6178)) ([356db80](https://github.com/sovrium/sovrium/commit/356db806c32a732c2c435d979d174a8c640cd006))
1845
- * implement MIGRATION-ROLLBACK-003 ([#6177](https://github.com/sovrium/sovrium/issues/6177)) ([9281465](https://github.com/sovrium/sovrium/commit/928146581dcd27e0e1401156dcd25e2f97b89723))
1846
- * implement MIGRATION-ROLLBACK-004 ([#6179](https://github.com/sovrium/sovrium/issues/6179)) ([b1e6f9d](https://github.com/sovrium/sovrium/commit/b1e6f9daef77e3d1c9162a68cfd2b6fa4e3c4d60))
1847
- * implement MIGRATION-ROLLBACK-005 ([#6180](https://github.com/sovrium/sovrium/issues/6180)) ([03b9d35](https://github.com/sovrium/sovrium/commit/03b9d351fe53a84d3b1028c1305d49c5b3d978f4))
1848
- * implement MIGRATION-ROLLBACK-007 schema downgrade verification ([#6182](https://github.com/sovrium/sovrium/issues/6182)) ([fb67988](https://github.com/sovrium/sovrium/commit/fb67988e53e7a2acaafe5ea877b11de305d85bc8))
1849
- * implement MIGRATION-ROLLBACK-008 ([#6183](https://github.com/sovrium/sovrium/issues/6183)) ([db09eba](https://github.com/sovrium/sovrium/commit/db09ebab56e596f5d885152fd62759cb26d1a9e2))
1850
- * implement MIGRATION-VIEW-001 - create view for read-only access ([#6194](https://github.com/sovrium/sovrium/issues/6194)) ([18eec3f](https://github.com/sovrium/sovrium/commit/18eec3f004de72e67f44974ea333b1fe16117d3d))
1851
- * implement MIGRATION-VIEW-002 - drop view when removed ([#6195](https://github.com/sovrium/sovrium/issues/6195)) ([af501af](https://github.com/sovrium/sovrium/commit/af501af0af08c28fa640e6079b98265ab5bdd9d8))
1852
- * implement MIGRATION-VIEW-003 - alter view via drop and create ([#6196](https://github.com/sovrium/sovrium/issues/6196)) ([d741e58](https://github.com/sovrium/sovrium/commit/d741e5883ab2e046bf538041fc12c9b22c1f78e9))
1853
- * implement MIGRATION-VIEW-004 ([#6197](https://github.com/sovrium/sovrium/issues/6197)) ([510e552](https://github.com/sovrium/sovrium/commit/510e552800768b4e7416560c176993b619a86562))
1854
- * implement MIGRATION-VIEW-005 - materialized view refresh ([#6198](https://github.com/sovrium/sovrium/issues/6198)) ([8b15b1f](https://github.com/sovrium/sovrium/commit/8b15b1f4922110c6cd64ffe9c10afd229bd8d0a5))
1855
- * implement MIGRATION-VIEW-006 - drop views with CASCADE even when schema unchanged ([#6203](https://github.com/sovrium/sovrium/issues/6203)) ([9e02178](https://github.com/sovrium/sovrium/commit/9e021780c0272be1912714427c34b1c39148a588))
1856
- * implement MIGRATION-VIEW-006 ([#6201](https://github.com/sovrium/sovrium/issues/6201)) ([3cc7c3d](https://github.com/sovrium/sovrium/commit/3cc7c3d0b2f2c798ddb565534525416f0f09c5f4))
1857
- * implement MIGRATION-VIEW-006 ([#6204](https://github.com/sovrium/sovrium/issues/6204)) ([993f906](https://github.com/sovrium/sovrium/commit/993f9068df10bac633007ce998d4580cca29d902))
1858
- * implement MIGRATION-VIEW-007 - database views workflow ([#5598](https://github.com/sovrium/sovrium/issues/5598)) ([f78e50f](https://github.com/sovrium/sovrium/commit/f78e50fddac474c292fee07040d01ae44880b9b8))
1859
- * implement POWER function for formula fields (APP-TABLES-FIELD-TYPES-FORMULA-019) ([#5418](https://github.com/sovrium/sovrium/issues/5418)) ([bb420a8](https://github.com/sovrium/sovrium/commit/bb420a8ebe56231e066c7bd99915a0c954588016))
1860
- * implement RLS policies for organization-scoped tables (APP-TABLES-ORG-ISOLATION-001) ([#5044](https://github.com/sovrium/sovrium/issues/5044)) ([24f86c6](https://github.com/sovrium/sovrium/commit/24f86c6ab1a9abd939c75b5aba90c5dc90f21541))
1861
- * implement role manipulation prevention for API-AUTH-ENFORCE-AUTHZ-004 ([#6523](https://github.com/sovrium/sovrium/issues/6523)) ([19c6a6f](https://github.com/sovrium/sovrium/commit/19c6a6f6d7a7009ba6744b02135e023e47278767))
1862
- * implement role-based table permissions with RLS policies ([#5093](https://github.com/sovrium/sovrium/issues/5093)) ([f402c40](https://github.com/sovrium/sovrium/commit/f402c40cf9c9791feee26f8424f777d589150695))
1863
- * implement schema checksum storage for migration audit trail ([#5741](https://github.com/sovrium/sovrium/issues/5741)) ([1f7f281](https://github.com/sovrium/sovrium/commit/1f7f2810759d64e38d21bbf04891b0c3bd63cc70))
1864
- * implement short code URL pattern for language routes ([52d4213](https://github.com/sovrium/sovrium/commit/52d421397f7306241ab9e44acb55dd735b8bc50b))
1865
- * implement static site generation using Hono's toSSG ([56f0e15](https://github.com/sovrium/sovrium/commit/56f0e150771b72f28fea514122847d2db4e82de4))
1866
- * implement STATIC-GENERATION-005 and STATIC-I18N-002 ([b2d4a1e](https://github.com/sovrium/sovrium/commit/b2d4a1ec8f1ea0ae5e45bd025d6a36c05ad3f130))
1867
- * implement STATIC-I18N-REGRESSION-001 ([42ff80d](https://github.com/sovrium/sovrium/commit/42ff80d12de99d2ae67725358cd9ebb49d8db708))
1868
- * implement STRING_TO_ARRAY formula function (APP-TABLES-FIELD-TYPES-FORMULA-041) ([#5443](https://github.com/sovrium/sovrium/issues/5443)) ([abfee01](https://github.com/sovrium/sovrium/commit/abfee019f1ec8931897e704a76464eb936d589d3))
1869
- * implement SUBSTR function for formula fields (APP-TABLES-FIELD-TYPES-FORMULA-030) ([#5431](https://github.com/sovrium/sovrium/issues/5431)) ([19b995a](https://github.com/sovrium/sovrium/commit/19b995a524eaf35e16d252c41b966a74241acd4b))
1870
- * implement true fail-fast behavior in quality check script ([1770f00](https://github.com/sovrium/sovrium/commit/1770f009aad2c4a332eabf82162ad8583450b9b8))
1871
- * implement Twitter Card App fields (APP-PAGES-TWITTER-001 through APP-PAGES-TWITTER-012) ([7a5f698](https://github.com/sovrium/sovrium/commit/7a5f6984edd926ba9ad25e35928b4ca5c8eca5e2))
1872
- * implement workflow_run trigger for TDD automation (replaces broken workflow_dispatch) ([94ea892](https://github.com/sovrium/sovrium/commit/94ea892d6d97e6301bd20a56b36768439181efbb))
1873
- * improve Button component type safety and icon rendering ([6f4a35a](https://github.com/sovrium/sovrium/commit/6f4a35aa6f3399525c55e6660d88d40e336f7854))
1874
- * improve color contrast in landing page ([97c3d21](https://github.com/sovrium/sovrium/commit/97c3d21c6193d06054f07ca7bab6711c28b0ead3))
1875
- * improve migration error handling and rollback logging ([01c0da1](https://github.com/sovrium/sovrium/commit/01c0da1981e4b92e7cc39c7ffafab19bcfee913b))
1876
- * improve PR creation retry logic in tdd-execute.yml ([0cd4018](https://github.com/sovrium/sovrium/commit/0cd4018c48604ec2ec6cd694982238353943f0ff))
1877
- * improve progress script validation for arrays and extra JSON keys ([b141ec5](https://github.com/sovrium/sovrium/commit/b141ec533dd88604b7b722f44aaf1fcf1a2df077))
1878
- * improve prompt formatting with proper punctuation ([02a8402](https://github.com/sovrium/sovrium/commit/02a8402cc91e2bab168b6e0671da742573c0b232))
1879
- * improve quality checks and enable sign-in E2E tests ([b788233](https://github.com/sovrium/sovrium/commit/b788233e820d1e03ed6190eab4af234a61484493))
1880
- * improve superseded detection to search for specs before closing ([e115e0a](https://github.com/sovrium/sovrium/commit/e115e0a30435f63a646355f776b1c8910b95504b))
1881
- * improve TDD automation pipeline reliability ([a032ff6](https://github.com/sovrium/sovrium/commit/a032ff6c4560a5031527d389587f8b2a660d99f2))
1882
- * improve TDD workflow edge case handling from audit findings ([d8efb1f](https://github.com/sovrium/sovrium/commit/d8efb1fb6b65f0b217588545e29ec768ac743d81))
1883
- * improve TDD workflow JSON parsing and retry logic ([d058b0e](https://github.com/sovrium/sovrium/commit/d058b0e16e9e133ffbc37d08d20f4da2e45dfa12)), closes [#6733](https://github.com/sovrium/sovrium/issues/6733)
1884
- * improve TDD workflow reliability with explicit output detection ([d6f811b](https://github.com/sovrium/sovrium/commit/d6f811b54c2933a9c71555e53c31c2235816a14e)), closes [#6281](https://github.com/sovrium/sovrium/issues/6281)
1885
- * improve TDD workflow retry handling and recovery mechanisms ([fb67e15](https://github.com/sovrium/sovrium/commit/fb67e155823ef5cfd66862a04fd0963db8efb98a))
1886
- * improve test fixtures and test 006 field handling ([90fcb21](https://github.com/sovrium/sovrium/commit/90fcb21efb267176b1b437f49e9167c46a1386c1))
1887
- * improve test reliability and translation key extraction ([475328f](https://github.com/sovrium/sovrium/commit/475328f68fb8bf9f509119e197ae0a8921e0d1f5))
1888
- * include README.md in Update Spec State workflow commit ([915ca9f](https://github.com/sovrium/sovrium/commit/915ca9f56264d43c7433b176691c8b88213faf91))
1889
- * increase checksum spec timing threshold from 3s to 6s for CI stability ([e25e5c6](https://github.com/sovrium/sovrium/commit/e25e5c63fec1075c35bbe0f077246aa089c7fde0))
1890
- * increase E2E test timeouts to prevent CI failures ([d307d14](https://github.com/sovrium/sovrium/commit/d307d14149737d861c2a32f7d0279251eb5fd8a3))
1891
- * **infrastructure:** polish Hono API implementation with path updates and ESLint improvements ([60a55e5](https://github.com/sovrium/sovrium/commit/60a55e5af59bb46a0a7e331449a16a35052f6d97))
1892
- * integrate custom email templates with Better Auth ([19a8bdf](https://github.com/sovrium/sovrium/commit/19a8bdffb34417c80dca0d643fd59d7c3a1f61e4))
1893
- * invoke e2e-test-fixer agent in TDD pipeline with skills context ([b482204](https://github.com/sovrium/sovrium/commit/b4822041eb9f52df1fe4106214790790d74cfae7))
1894
- * **lint:** add Readonly to mutable Record parameters in record-transformer ([5bf42ea](https://github.com/sovrium/sovrium/commit/5bf42eaff3381a479eccbc1e5641a1c3acb51ebe))
1895
- * **lint:** remove .ts extensions from fixture imports and skip obsolete tests ([9d33963](https://github.com/sovrium/sovrium/commit/9d3396347ea30718abbba44ec30e789e4f148e6c))
1896
- * **lint:** remove unused beforeEach import in remote-loader test ([827b850](https://github.com/sovrium/sovrium/commit/827b8504357eed69ad7e03d37c35167c44eadcc9))
1897
- * **lint:** resolve ESLint rule conflict in CSS compiler diagnostics ([af33e62](https://github.com/sovrium/sovrium/commit/af33e627c51cca2b1495488d24bd010c882fb898))
1898
- * make Claude Code work on existing TDD branches ([7d64631](https://github.com/sovrium/sovrium/commit/7d6463117433604267861da065b5c3420a22556b))
1899
- * make JSON response validation strict (errors, not warnings) ([48a6f47](https://github.com/sovrium/sovrium/commit/48a6f47e966f629cdb80462f9e19f52db9e2bdbf))
1900
- * make lint/test/code errors retriable in TDD workflow ([cd378d5](https://github.com/sovrium/sovrium/commit/cd378d5353b9aefcc664900833054efd3f9c8f67))
1901
- * make missing test tag an error instead of warning ([c674f9c](https://github.com/sovrium/sovrium/commit/c674f9c8c94fc511dae1e53e7e4d0de491051d44))
1902
- * make unit tests cross-platform (mock.module + JSON.stringify CI failures) ([1700e36](https://github.com/sovrium/sovrium/commit/1700e36214a8921b5c498b110475d46c7ee27589))
1903
- * mark APP-LANGUAGES-003 as fixme until translation feature is implemented ([92e6f91](https://github.com/sovrium/sovrium/commit/92e6f9141ce5ac568703599a84a4bd3f7fa9bf3c))
1904
- * mark TABLE-PERMISSIONS-002 and 004 as fixme due to test infra issue ([0ec9194](https://github.com/sovrium/sovrium/commit/0ec9194ab5caccc15363422adeb7de9b41f1af54))
1905
- * merge ([0350007](https://github.com/sovrium/sovrium/commit/0350007132a3feb70c37be2ece1ce36a11e671bb))
1906
- * merge ([b33484d](https://github.com/sovrium/sovrium/commit/b33484d1ff88f4ce4c0116b2f7963f2b76423647))
1907
- * merge ([a7947e1](https://github.com/sovrium/sovrium/commit/a7947e13aabe7f45198a3e7b41d28aed2bd1ed31))
1908
- * merge ([c4e828c](https://github.com/sovrium/sovrium/commit/c4e828c8a7f1902ee55e878f798e58bafe877939))
1909
- * mitigate cache poisoning by ignoring install scripts ([f1aabf6](https://github.com/sovrium/sovrium/commit/f1aabf6d7304c5f3e4d8064fe92e931110666c33)), closes [#15](https://github.com/sovrium/sovrium/issues/15)
1910
- * move mock.module() to beforeAll() in crud.test.ts to prevent CI leaks ([a092367](https://github.com/sovrium/sovrium/commit/a092367d74371fba6f758b1d2ebaa6c10faca823))
1911
- * move primaryKey from field level to table level in select field specs ([e22ee23](https://github.com/sovrium/sovrium/commit/e22ee23e89e745206689e9651dacd7ac6984ae2b))
1912
- * normalize shadow 'none' value to CSS 'none' ([7e02a02](https://github.com/sovrium/sovrium/commit/7e02a024b709a368ff38b0ede639213babd018c6))
1913
- * pin Claude Code Action to SDK 0.2.9 (pre-AJV crash) ([b66bf00](https://github.com/sovrium/sovrium/commit/b66bf00075fe3d64bd0200417219af938dbe90af))
1914
- * pin Claude Code Action to stable SDK and fix outcome detection ([fb25ffb](https://github.com/sovrium/sovrium/commit/fb25ffb6bfc164063e0a9e667acd57e5bdfc787a)), closes [#892](https://github.com/sovrium/sovrium/issues/892)
1915
- * preserve explicit created_at values in TIMESTAMP WITHOUT TIME ZONE fields ([#6092](https://github.com/sovrium/sovrium/issues/6092)) ([ecfdaef](https://github.com/sovrium/sovrium/commit/ecfdaef05c4e4719c99f5c6057100119a89f159d))
1916
- * preserve explicit created_at values in TIMESTAMP WITHOUT TIME ZONE fields ([#6093](https://github.com/sovrium/sovrium/issues/6093)) ([0ddae86](https://github.com/sovrium/sovrium/commit/0ddae86964e8a3276045c420c0c9b324c9352aaa))
1917
- * prevent bash expansion issues in branch extraction ([b8f32de](https://github.com/sovrium/sovrium/commit/b8f32de70df2747da4dd1e5f52d77c768ee3eef8))
1918
- * prevent bash injection in PR body extraction ([41f371f](https://github.com/sovrium/sovrium/commit/41f371f640f7ff71203e514a9ebe2888590004fa))
1919
- * prevent cache poisoning by disabling credential persistence ([41e4690](https://github.com/sovrium/sovrium/commit/41e4690084452ecf8e8eb3ae4143fe8d452117bb))
1920
- * prevent claude-tdd workflow from running without valid context ([6e9a8ce](https://github.com/sovrium/sovrium/commit/6e9a8cea11f6dc724d878bc31df0e1ae1dc617f9))
1921
- * prevent claude[bot] from triggering workflows and causing cancellation loops ([006ed7c](https://github.com/sovrium/sovrium/commit/006ed7cb3e24d3c864add214fcc9944fe558217c))
1922
- * prevent deleting already soft-deleted records for API-TABLES-RECORDS-DELETE-008 ([5efdd1c](https://github.com/sovrium/sovrium/commit/5efdd1c64751d49186410377174c7f2ba011f4f4))
1923
- * prevent duplicate [@claude](https://github.com/claude) comments via atomic check-and-post step ([8c4d936](https://github.com/sovrium/sovrium/commit/8c4d9362eb8530c4a1d99bdd668650eeff43dd4c))
1924
- * prevent duplicate claude-tdd runs from workflow_run + issue_comment race ([fed6bf7](https://github.com/sovrium/sovrium/commit/fed6bf745bbd27bfb7468073e374af8190cabb8f))
1925
- * prevent duplicate claude-tdd runs from workflow_run + issue_comment race ([d825b54](https://github.com/sovrium/sovrium/commit/d825b541f5c115fa9640d0fd79206f346a613936))
1926
- * prevent duplicate issue creation in TDD queue populate workflow ([9489895](https://github.com/sovrium/sovrium/commit/9489895b7cc7c0ea022d816bcf97b2049af10fd0))
1927
- * prevent duplicate issue creation with correct GitHub label ([7dc9638](https://github.com/sovrium/sovrium/commit/7dc9638df95b5e815f81537a9314bf3d0763aae8)), closes [#486-512](https://github.com/sovrium/sovrium/issues/486-512) [#1248-1274](https://github.com/sovrium/sovrium/issues/1248-1274)
1928
- * prevent duplicate PRs in TDD automation via concurrency control ([#1508](https://github.com/sovrium/sovrium/issues/1508)) ([0dabf16](https://github.com/sovrium/sovrium/commit/0dabf1674d911db56c5918ca7e3117dd4e087310)), closes [#1498](https://github.com/sovrium/sovrium/issues/1498) [#1497](https://github.com/sovrium/sovrium/issues/1497) [#1502](https://github.com/sovrium/sovrium/issues/1502) [#1500](https://github.com/sovrium/sovrium/issues/1500) [#1506](https://github.com/sovrium/sovrium/issues/1506) [#1505](https://github.com/sovrium/sovrium/issues/1505) [#1498](https://github.com/sovrium/sovrium/issues/1498) [#1502](https://github.com/sovrium/sovrium/issues/1502) [#1506](https://github.com/sovrium/sovrium/issues/1506)
1929
- * prevent duplicate PRs on closed issues in claude-tdd workflow ([ddddf3b](https://github.com/sovrium/sovrium/commit/ddddf3bdfba026756e47b5503f38282912af7cc6)), closes [#2300](https://github.com/sovrium/sovrium/issues/2300) [#2301](https://github.com/sovrium/sovrium/issues/2301)
1930
- * prevent duplicate TDD comments via workflow concurrency ([8eedd4b](https://github.com/sovrium/sovrium/commit/8eedd4b41872a035f4d74daca912b3ade6cdf10a)), closes [#7012](https://github.com/sovrium/sovrium/issues/7012)
1931
- * prevent duplicate TDD spec issues with improved deduplication and idempotency ([fc96a5e](https://github.com/sovrium/sovrium/commit/fc96a5ed6e8ff91b4b898d66266a973c455857c0))
1932
- * prevent early exit in TDD retry mechanism ([4c7e74a](https://github.com/sovrium/sovrium/commit/4c7e74a75fbf982bf3a9c96b63e403eac43e9c3a)), closes [#6001](https://github.com/sovrium/sovrium/issues/6001)
1933
- * prevent endpoint path confusion in TDD automation (PR [#6564](https://github.com/sovrium/sovrium/issues/6564) lesson) ([fd6e5d3](https://github.com/sovrium/sovrium/commit/fd6e5d353115a1572e5cef2dbff28c10ef5fe738))
1934
- * prevent false-positive error comments when Claude pushes branch ([80e8648](https://github.com/sovrium/sovrium/commit/80e8648dfcebd53268074e72b90d19ff7ac0b969)), closes [#6734](https://github.com/sovrium/sovrium/issues/6734)
1935
- * prevent GitHub API rate limit exhaustion in TDD queue processor ([f680db1](https://github.com/sovrium/sovrium/commit/f680db183bd04d4aface3907214ff5ea03a9bb70))
1936
- * prevent mock.module() leaks across test files on Linux CI ([59416cf](https://github.com/sovrium/sovrium/commit/59416cf3dd573f624a9acc04097cf915bb918163))
1937
- * prevent SQL injection in table-queries with parameterized queries ([bd66f69](https://github.com/sovrium/sovrium/commit/bd66f696634d1b070e4af433e92c09ff662894fe))
1938
- * prevent TDD issues from getting permanently stuck ([3462fb0](https://github.com/sovrium/sovrium/commit/3462fb012c7d518c803d6eda0eb89f909599c7fe)), closes [#5666](https://github.com/sovrium/sovrium/issues/5666)
1939
- * prevent TDD Monitor race condition with active Claude runs ([8533882](https://github.com/sovrium/sovrium/commit/8533882c7de69a879f72ef109c14d15993d4f753)), closes [#6091](https://github.com/sovrium/sovrium/issues/6091)
1940
- * prevent workflow cancellation loops in concurrency control ([15fe3b4](https://github.com/sovrium/sovrium/commit/15fe3b457a64f6f90ff9670e1207363dce449876))
1941
- * prevent workflow cancellation race with Claude bot error comments ([53b7ae2](https://github.com/sovrium/sovrium/commit/53b7ae2ee11e4cd2e711423c7ec604331c8b12d4)), closes [#19014199945](https://github.com/sovrium/sovrium/issues/19014199945) [#19014203309](https://github.com/sovrium/sovrium/issues/19014203309)
1942
- * prevent zero-turn Claude Code exits in TDD pipeline ([b70b37f](https://github.com/sovrium/sovrium/commit/b70b37f61f67e96a36090f276a7b32d2deb9f7fd))
1943
- * prioritize explicit data-testid over auto-generated child index ([08a015e](https://github.com/sovrium/sovrium/commit/08a015eb3b3e3fac2e831d755844112d6824c5ff))
1944
- * **quality:** fix TypeScript and unit test errors from roadmap refactoring ([599f260](https://github.com/sovrium/sovrium/commit/599f2607ce16131c58f2e16ecc6dc8f378ae18a3))
1945
- * **quality:** fix TypeScript errors and ESLint warnings ([eadde5c](https://github.com/sovrium/sovrium/commit/eadde5c0f8f45734bfa1352e5c0bf29dfb710605))
1946
- * **quality:** only fail on ERROR-level Effect diagnostics, ignore MESSAGE-level warnings ([5b81981](https://github.com/sovrium/sovrium/commit/5b81981d4f2c363f4061168c806cd01d35488f9f))
1947
- * **quality:** resolve TypeScript errors and remove obsolete test files ([791d84d](https://github.com/sovrium/sovrium/commit/791d84dbfd2714e2385d2d08d4c2b5393fa744b0))
1948
- * queue processor uses workflow_dispatch instead of bot comments ([40384c8](https://github.com/sovrium/sovrium/commit/40384c89f436093a001699410bc697a3169bf6af))
1949
- * queue-manager not outputting GitHub Actions variables ([80d2dd0](https://github.com/sovrium/sovrium/commit/80d2dd06741e8859c5e8a4505062a7613e4c45aa))
1950
- * re-add fixme to 7 tests requiring major feature implementations ([9d9db4a](https://github.com/sovrium/sovrium/commit/9d9db4a23c608530ddbb6018f2598b7485a5a221))
1951
- * re-pin Claude Code Action to v1.0.47 (SDK 0.2.38) and restore Opus 4.6 ([b29330e](https://github.com/sovrium/sovrium/commit/b29330ec78b611ab97bd05ed1c2b4a6bb40e5a57))
1952
- * README conflict ([cb82e11](https://github.com/sovrium/sovrium/commit/cb82e11fcc6c5ba830e94f17601f35da9282a804))
1953
- * reduce Claude Code timeout from 60 to 30 minutes ([e43013b](https://github.com/sovrium/sovrium/commit/e43013bde73c3602ef6c4061f83e1bb28d219930)), closes [#1381](https://github.com/sovrium/sovrium/issues/1381)
1954
- * refactor generateThemeStyles to use immutable patterns ([5322721](https://github.com/sovrium/sovrium/commit/5322721178a60e46ea5a0cdd0d8445d6451cab5a))
1955
- * refactor id tests to use startServerWithSchema ([d46fa61](https://github.com/sovrium/sovrium/commit/d46fa611af9d264020e6d6a6ae5713fe788d0542))
1956
- * regenerate Tables API test files with Pattern E ([89fb4e1](https://github.com/sovrium/sovrium/commit/89fb4e198217ebeed8e61b51cae775153f3bc2be))
1957
- * **release:** add security protection and remove obsolete license update script ([c1d45d4](https://github.com/sovrium/sovrium/commit/c1d45d444ce978b4049cc0ddf1149892fa9d449a))
1958
- * **release:** downgrade feat: commits to patch during Phase 0 ([48753d2](https://github.com/sovrium/sovrium/commit/48753d27a6cc0e2a2d3558a11451873c736dc8b6))
1959
- * **release:** resolve E2BIG failure and prevent premature major bump ([3daf371](https://github.com/sovrium/sovrium/commit/3daf37187fcef18f3f60d48b8db369d90d4f176e))
1960
- * **release:** use PAT to bypass branch protection on push ([d342f81](https://github.com/sovrium/sovrium/commit/d342f81addd299215729d6b385589b22184b748a))
1961
- * remove --agents flag from claude-code-action ([e50f7a4](https://github.com/sovrium/sovrium/commit/e50f7a4e07c77e64e55f8ed7afe2f423755f7606)), closes [anthropics/claude-code-action#345](https://github.com/anthropics/claude-code-action/issues/345) [#1381](https://github.com/sovrium/sovrium/issues/1381)
1962
- * remove .fixme from MIGRATION-MODIFY-UNIQUE-003 test ([#6172](https://github.com/sovrium/sovrium/issues/6172)) ([717be45](https://github.com/sovrium/sovrium/commit/717be455e3e9676d4221a6f86c7e3cd11ff06575))
1963
- * remove .fixme() from API-AUTH-ADMIN-OPT-DEFAULT-ROLE-004 test ([#6532](https://github.com/sovrium/sovrium/issues/6532)) ([51bbb02](https://github.com/sovrium/sovrium/commit/51bbb0298611dd3e25a5b549df9df2553e4f20c0))
1964
- * remove [@claude](https://github.com/claude) from spec issue template ([cf3bca2](https://github.com/sovrium/sovrium/commit/cf3bca294c7cdce1a242020707ecd81fe2c8db22))
1965
- * remove $theme.spacing variable substitution patterns in className props ([b30a7e5](https://github.com/sovrium/sovrium/commit/b30a7e5e92c35f6b156ffd57a3216ef2a73828d5))
1966
- * remove author filter from [@claude](https://github.com/claude) comment deduplication check ([47ae6f9](https://github.com/sovrium/sovrium/commit/47ae6f9672305bdf26d1eedb4ef1d5feb42a3f5f))
1967
- * remove blocks rendering from DefaultHomePage ([9df1b3e](https://github.com/sovrium/sovrium/commit/9df1b3ef62f165915a6d972270570c27bd98cb87))
1968
- * remove branch pre-creation from TDD automation ([f166cff](https://github.com/sovrium/sovrium/commit/f166cffedc2c543dbc6c3c1a3ad6042dc901c76c)), closes [#1249](https://github.com/sovrium/sovrium/issues/1249)
1969
- * remove branch pre-creation from TDD automation ([#1513](https://github.com/sovrium/sovrium/issues/1513)) ([3b80510](https://github.com/sovrium/sovrium/commit/3b80510ece8504932f770dcd958c8f561297c47f)), closes [#1249](https://github.com/sovrium/sovrium/issues/1249)
1970
- * remove custom prompt and fix retry logic in TDD validation ([d57a0b9](https://github.com/sovrium/sovrium/commit/d57a0b9164c8115462193b006eedde2eef8defca))
1971
- * remove data-component-type attribute from production HTML ([039f97d](https://github.com/sovrium/sovrium/commit/039f97dd545cf5702d031f3280a38e04c7e80211))
1972
- * remove double platform suffix in snapshot naming ([ad30065](https://github.com/sovrium/sovrium/commit/ad300655de1764cacdcc0e8ce5ad4c991345b62e))
1973
- * remove duplicate $ref property from block-reference schema ([14c1178](https://github.com/sovrium/sovrium/commit/14c11789350f196c370a9dea672e44f024a7ec17))
1974
- * remove duplicate merge step in TDD validation workflow ([11aecd0](https://github.com/sovrium/sovrium/commit/11aecd060e5f74bc76a8ea9d9347310cbd715319))
1975
- * remove duplicate spec ID APP-BLOCKS-INTEGRATION-001 ([f0511a9](https://github.com/sovrium/sovrium/commit/f0511a96f42460b43bb34eabed22113e3205285c))
1976
- * remove fixme from APP-TABLES-RECORD-PERMISSIONS-004 test ([#5077](https://github.com/sovrium/sovrium/issues/5077)) ([6c1d30d](https://github.com/sovrium/sovrium/commit/6c1d30de76b64c83946d4ab96e1283295ddccd6d))
1977
- * remove hardcoded CSS utilities and update theme regression test ([8923638](https://github.com/sovrium/sovrium/commit/8923638f34d3fad1a5203a7563a0ced810adaa36))
1978
- * remove hardcoded paths for CI/CD compatibility ([e7686aa](https://github.com/sovrium/sovrium/commit/e7686aab17652166450ac2fbef47a6659705d42e))
1979
- * remove hardcoded prompt from claude-tdd.yml to read full [@claude](https://github.com/claude) comment ([cd67f83](https://github.com/sovrium/sovrium/commit/cd67f83a6254513375f2f8dd88ddcd51b4d37c04))
1980
- * remove mock.module for user-role in table.test.ts (root cause of CI failure) ([db0e7b0](https://github.com/sovrium/sovrium/commit/db0e7b037421fca5fcac632f6eb2585fae23c1cc))
1981
- * remove non-existent PR labels to prevent creation failure ([ca4ec1b](https://github.com/sovrium/sovrium/commit/ca4ec1b1ceee8da54ca2c68a1cedd0d28e1fd80e))
1982
- * remove PostgreSQL RLS tests with infrastructure limitations ([29be25f](https://github.com/sovrium/sovrium/commit/29be25f67753d280727d2e627891b51e0fde89bc))
1983
- * remove PR creation from TDD queue processor due to GitHub Actions limitation ([9c9eff2](https://github.com/sovrium/sovrium/commit/9c9eff2a3dc53f5b0b5b306f8e54589adddb8c34))
1984
- * remove record-permissions UPDATE test with RLS limitation ([2c56d04](https://github.com/sovrium/sovrium/commit/2c56d04ef7ef519146e1aa31e4e232bfba4acdc8))
1985
- * remove redundant language code span from language-switcher button ([bc13963](https://github.com/sovrium/sovrium/commit/bc13963e78a951fc965b3f27461f7ad0201828e0))
1986
- * remove session context wrapper from comment list/count queries ([317881f](https://github.com/sovrium/sovrium/commit/317881f3c70e1327a59ecd0b02f6286c958d4607))
1987
- * remove SPEC IDs from duplicate issues to prevent TDD pipeline interference ([473521f](https://github.com/sovrium/sovrium/commit/473521f546990d2119f0bcdc67d80619f02faae1))
1988
- * remove test.fixme from MIGRATION-MODIFY-TYPE-007 regression test ([#6169](https://github.com/sovrium/sovrium/issues/6169)) ([88be1de](https://github.com/sovrium/sovrium/commit/88be1de5b93156cec9a29be5e6eb59832cdd4f3d))
1989
- * remove test.fixme() from 10 stale spec tests ([571dd7b](https://github.com/sovrium/sovrium/commit/571dd7b72fe0a605bd572089db19f2d32ce85584))
1990
- * remove unnecessary regex escape characters in analyze-specs ([8dceff9](https://github.com/sovrium/sovrium/commit/8dceff95a4c1be28ca79fa64d395e9a2d1476d5a))
1991
- * remove unused animation helper functions ([92400a1](https://github.com/sovrium/sovrium/commit/92400a17d924fc1323774e19b19b8f589c947993))
1992
- * remove unused Component import from DynamicPage ([16a7446](https://github.com/sovrium/sovrium/commit/16a74462d826d8daf7c2226507a50c6d9c376b1f))
1993
- * remove unused page parameter from addMember fixture ([6ab904a](https://github.com/sovrium/sovrium/commit/6ab904ab9aab2229d91ff5a62d6eb9cf85152208))
1994
- * remove unused signIn parameters from auth spec files ([2d53385](https://github.com/sovrium/sovrium/commit/2d533854a10ef29177e39d2a29003f1bb0e376bd))
1995
- * remove workflow_run trigger to prevent git context errors ([#1510](https://github.com/sovrium/sovrium/issues/1510)) ([b564bf7](https://github.com/sovrium/sovrium/commit/b564bf7db4a850e013d6cb7a565b1744f19324aa)), closes [#19012502535](https://github.com/sovrium/sovrium/issues/19012502535) [#19012502835](https://github.com/sovrium/sovrium/issues/19012502835)
1996
- * rename spec IDs to follow API-AUTH-TABLES-ROLE convention ([dbf02f8](https://github.com/sovrium/sovrium/commit/dbf02f8cddd400f1d06005ee58f85d025a41c253))
1997
- * rename workflow to 'Claude Code TDD' to avoid name conflict ([8a827d2](https://github.com/sovrium/sovrium/commit/8a827d20267e3219adc14526f281a69bcd6aaf62))
1998
- * render CTA button text content correctly ([b318bb5](https://github.com/sovrium/sovrium/commit/b318bb5c94506d4984299d4d6cbef5fac7fd29ee))
1999
- * renumber DELETE spec IDs to be sequential (001-015) ([494f886](https://github.com/sovrium/sovrium/commit/494f886da3e7f042fde11085c661dbb7e7c788ad))
2000
- * renumber session context spec to maintain sequential IDs ([db65b2c](https://github.com/sovrium/sovrium/commit/db65b2cf0bcfa3908c989acab387344dfdb43f78))
2001
- * renumber spec IDs to be sequential ([13ccbfb](https://github.com/sovrium/sovrium/commit/13ccbfb53a5be255b776fe9208592f82f30ae9b5))
2002
- * renumber spec IDs to be sequential after simplification ([1fc43a4](https://github.com/sovrium/sovrium/commit/1fc43a4144e73208b32e6b76df1df3596f60dad6))
2003
- * renumber table-permissions spec IDs to be sequential ([805f8b9](https://github.com/sovrium/sovrium/commit/805f8b9103b112294c8e381105712a6ddd1b564e))
2004
- * replace broken branch filter with global TDD check for Claude Code detection ([09ecda3](https://github.com/sovrium/sovrium/commit/09ecda3c9bbadbe1c0653ef4a071fd6ef4cf95d1)), closes [ISSUE-2026-02-11-#run-list-dual-status](https://github.com/ISSUE-2026-02-11-/issues/run-list-dual-status)
2005
- * replace broken branch filter with global TDD check for Claude Code detection ([0c7225c](https://github.com/sovrium/sovrium/commit/0c7225c4cb783f0f2fc72cb09cf0268fa598552d))
2006
- * replace colon with dash in prompt to avoid YAML parsing error ([356b7c0](https://github.com/sovrium/sovrium/commit/356b7c0379b4bc9809b769969a7827560b5eb365))
2007
- * replace content with children property in block definition ([7a4be7a](https://github.com/sovrium/sovrium/commit/7a4be7aeb35107e5668ba10c58347022d88c8cc8))
2008
- * replace demonstration code with proper test data in animation and breakpoint tests ([b7abe08](https://github.com/sovrium/sovrium/commit/b7abe08d7c100d5025a75fb1d6650023b92781b0))
2009
- * replace heredoc with printf for YAML compatibility ([9cbd108](https://github.com/sovrium/sovrium/commit/9cbd10879258d223cc5827f291a8a4cc2014bd0e))
2010
- * replace invalid constraints.primaryKey with table-level primaryKey ([8c164c6](https://github.com/sovrium/sovrium/commit/8c164c65ca5efd7ef4d8d59e1f7957be55056a7d))
2011
- * require spec IDs for both [@spec](https://github.com/spec) and [@regression](https://github.com/regression) tests ([a7a0d06](https://github.com/sovrium/sovrium/commit/a7a0d06b9673463c412f78a6ee5ade5d13a44820))
2012
- * resolve 14 GitHub Actions security vulnerabilities ([2be7679](https://github.com/sovrium/sovrium/commit/2be76792319b6d4cd818ba5213b9d69d3a88b0dc))
2013
- * resolve 15 TypeScript errors in spec files after refactoring ([e15617e](https://github.com/sovrium/sovrium/commit/e15617ec6e47c7fc2afee93f515feb0974fe3cc2))
2014
- * resolve 21 Effect effectSucceedWithVoid diagnostics in comment-repository tests ([62d241d](https://github.com/sovrium/sovrium/commit/62d241d84f08ea4118c851f2f554b008333a97fb))
2015
- * resolve 4 of 5 E2E test failures ([a5d2d89](https://github.com/sovrium/sovrium/commit/a5d2d89ab2dc90984d0f17a86299c86f695664d3))
2016
- * resolve 8 failing E2E tests across comments, batch, upsert, and tables ([ed09d82](https://github.com/sovrium/sovrium/commit/ed09d829154579713b1aeff550a76c309e1682a2))
2017
- * resolve 8 failing E2E tests across field types, permissions, and SQL handling ([c9bc296](https://github.com/sovrium/sovrium/commit/c9bc2966a89f7171257685e8fc605da497c4e777))
2018
- * resolve 82 TypeScript errors across 18 files ([4f190cd](https://github.com/sovrium/sovrium/commit/4f190cddee07170781aea353b6f25df5ac26771e))
2019
- * resolve accidentally committed merge conflicts ([18a47c9](https://github.com/sovrium/sovrium/commit/18a47c9b8db827eace117c5fb5ef8a19f0f2a72d))
2020
- * resolve admin bootstrap timing and Better Auth schema mapping ([ff41e6c](https://github.com/sovrium/sovrium/commit/ff41e6c659195aee0ea4a020630b034c189288cc)), closes [#5879](https://github.com/sovrium/sovrium/issues/5879)
2021
- * resolve all ESLint errors in specs/api/ ([be0359a](https://github.com/sovrium/sovrium/commit/be0359a0d15e884b1265aace615157cfe1d6aabc))
2022
- * resolve all ESLint quality errors and warnings ([7b07732](https://github.com/sovrium/sovrium/commit/7b07732b2853d38b3b86df1888c5d561c4e90816))
2023
- * resolve all TypeScript quality errors ([91188d3](https://github.com/sovrium/sovrium/commit/91188d3334030d9bc1dbeab152bf3581eeaf431d))
2024
- * resolve API key auth and organization member management ([d20db7c](https://github.com/sovrium/sovrium/commit/d20db7c9fb08189d2d3edbaa07386639ba758664))
2025
- * resolve batch restore 403 and table-permissions test failures ([89ea5b9](https://github.com/sovrium/sovrium/commit/89ea5b96ff2afd94176c078060fb2e880b40b3b1))
2026
- * resolve broken internal $ref in pages.schema.json ([41b3c59](https://github.com/sovrium/sovrium/commit/41b3c597a398fc65ecd2ef04292ea8ff8137e14c))
2027
- * resolve content quality errors in specs and user stories ([86c1ec6](https://github.com/sovrium/sovrium/commit/86c1ec60669a6f1ebe0cb48972e7e277811cc472))
2028
- * resolve content quality warnings and update progress report ([09e23ca](https://github.com/sovrium/sovrium/commit/09e23cababc2dbc50573631fbca36834307f4564))
2029
- * resolve critical security vulnerabilities in GitHub Actions ([f2f86e9](https://github.com/sovrium/sovrium/commit/f2f86e9a8a72b9fcabffd5374d5cf51d1f5688c1))
2030
- * resolve critical security vulnerabilities in workflow and client code ([2da57f6](https://github.com/sovrium/sovrium/commit/2da57f6f92d2b0fd8133f77289e8b6dfc7f89bc5))
2031
- * resolve Docker credential errors and improve test infrastructure ([b464912](https://github.com/sovrium/sovrium/commit/b4649123c34e17b3580e5187d2ae8a04fd4c2b3b))
2032
- * resolve duplicate element conflicts in landing-page.json ([7ec029b](https://github.com/sovrium/sovrium/commit/7ec029b223353759b54c22d27e9196b5021cd34a))
2033
- * resolve E2E test failures ([7b8cf7d](https://github.com/sovrium/sovrium/commit/7b8cf7d3edef32f883c3b272a0e8706e15d3fb66))
2034
- * resolve E2E test failures for views and JSON field tests ([99d4618](https://github.com/sovrium/sovrium/commit/99d4618a1989db1c89c79b8ffe028eceb940e0f8))
2035
- * resolve Effect diagnostics warnings with severity filtering ([aa7d5e8](https://github.com/sovrium/sovrium/commit/aa7d5e8e636504e5e27fb63d8d0283c63d47ec37))
2036
- * resolve Effect Language Service warnings ([3395494](https://github.com/sovrium/sovrium/commit/33954948b0118df185d6d91bc78f719bc4ecc6d8))
2037
- * resolve ESLint and TypeScript warnings ([ad04ad2](https://github.com/sovrium/sovrium/commit/ad04ad2b84fa1d1916b3d4eedb52eb43542c7288))
2038
- * resolve ESLint errors and warnings ([a69487d](https://github.com/sovrium/sovrium/commit/a69487df002e31bb8c7c3517ccfff20ba32c5dac))
2039
- * resolve ESLint errors and warnings ([39f264b](https://github.com/sovrium/sovrium/commit/39f264b4e6c7c44f1381c9ec1700e2e502306270))
2040
- * resolve ESLint errors and warnings ([ada9381](https://github.com/sovrium/sovrium/commit/ada9381c3e5f257c7cfae3040c209b27b673badc))
2041
- * resolve ESLint errors in close-stale-issues.ts ([e4c50fd](https://github.com/sovrium/sovrium/commit/e4c50fd24035f9c8a0d213ee2e5d0735ab523a4b))
2042
- * resolve ESLint errors in refactored components ([d0589e9](https://github.com/sovrium/sovrium/commit/d0589e9b44c6d01f1496a285833e0b0d1bd9c71b))
2043
- * resolve ESLint errors in TDD automation scripts ([a05abf6](https://github.com/sovrium/sovrium/commit/a05abf62dd70175c0ff7334f1596d6577844bb97))
2044
- * resolve ESLint errors in tests and scripts ([565b826](https://github.com/sovrium/sovrium/commit/565b826835aea8ea62ae806ec0f65938d87841f2))
2045
- * resolve ESLint warnings and E2E test failures ([a2db55e](https://github.com/sovrium/sovrium/commit/a2db55edfca0767d069a85f1d5b2c79399b4ad68))
2046
- * resolve ESLint warnings and update tests for session-based RLS ([f12084a](https://github.com/sovrium/sovrium/commit/f12084a8e1c31efad707298e69fd4ac9a85deac0))
2047
- * resolve ESLint warnings in PageBodyScripts ([b09195c](https://github.com/sovrium/sovrium/commit/b09195c5c5b7771683aaa071a703483e893f924d))
2048
- * resolve GitHub security code scanning alerts ([1225f91](https://github.com/sovrium/sovrium/commit/1225f9115b0c1bbf7eeec40f082600fbaf4ac956))
2049
- * resolve Knip warnings and refactor lookup generators ([6a1d29c](https://github.com/sovrium/sovrium/commit/6a1d29c3830fce2d2d7d675f60f18fa6481fae60))
2050
- * resolve Mailpit IPv6 issue and add irregular plural support ([2905f3e](https://github.com/sovrium/sovrium/commit/2905f3e9cfc736e754a165b9391fa5cc14f8a7e7)), closes [#3980](https://github.com/sovrium/sovrium/issues/3980)
2051
- * resolve merge conflict and fix content quality warning ([d378ef5](https://github.com/sovrium/sovrium/commit/d378ef5a06f947b24280b4b126af5ba8762e5270))
2052
- * resolve merge conflict in user-role.test.ts ([5e305f9](https://github.com/sovrium/sovrium/commit/5e305f95b1f0a41fcdfeeaed2eb77741e0223034))
2053
- * resolve parsing and TypeScript errors in structured-data tests ([cef54ba](https://github.com/sovrium/sovrium/commit/cef54ba7c5560e9bdbf3db2e37877331697ccbf5))
2054
- * resolve permission errors when querying comments in multi-schema setup ([bb384cd](https://github.com/sovrium/sovrium/commit/bb384cdbdc821c078fb980c9d45de867262b7983))
2055
- * resolve port conflicts in watch-mode CLI tests ([4377772](https://github.com/sovrium/sovrium/commit/4377772fbddaa8dd88dfd90be27dd760df6520b4))
2056
- * resolve quality check errors and warnings ([41a87a3](https://github.com/sovrium/sovrium/commit/41a87a3caf95b0e39593c2d50113a617190dd2de))
2057
- * resolve quality issues for API-TABLES-RECORDS-GET-005 ([a806c77](https://github.com/sovrium/sovrium/commit/a806c77f2de6e79244176e0f8b60f3f184f4e8d4))
2058
- * resolve quality issues for API-TABLES-RECORDS-UPSERT-003 ([08acd57](https://github.com/sovrium/sovrium/commit/08acd57ce2dfa15ba5d5f0cf3a2ee2cc54731928))
2059
- * resolve quality issues for APP-AUTH-ROLES-007 ([ec999b1](https://github.com/sovrium/sovrium/commit/ec999b1807ed81dc1662f7848ca5115007de4805))
2060
- * resolve quality issues for APP-AUTH-ROLES-007 ([9f1f26a](https://github.com/sovrium/sovrium/commit/9f1f26aa8b597600e9f713f092078a75fe82634f))
2061
- * resolve quality issues in source code and specs ([efb4d3d](https://github.com/sovrium/sovrium/commit/efb4d3d2d6b02b08c7250d93071de2cdd4b4b41e))
2062
- * resolve regression for API-TABLES-RECORDS-GET-005 by disabling numeric parsing ([e11295c](https://github.com/sovrium/sovrium/commit/e11295cff14bc6912c3fba8a68cd3508abb9ac3e))
2063
- * resolve remaining TypeScript errors across presentation layer ([a48000a](https://github.com/sovrium/sovrium/commit/a48000aca6ceddb17cd9ae36bfb0ddcdcdc32baa))
2064
- * resolve RLS bypass and organization isolation test failures ([6906d4b](https://github.com/sovrium/sovrium/commit/6906d4bcfa0c621f2628b0df3b05779d19fe758e))
2065
- * resolve shell escaping issue in GitHub issue creation ([0df2133](https://github.com/sovrium/sovrium/commit/0df2133a3a8a0a4c6090baace0fd7344161d6d20))
2066
- * resolve spec ID sequencing issues ([d998d6c](https://github.com/sovrium/sovrium/commit/d998d6c111b4aff6413dda38ef443dfafac5d6de)), closes [#3980](https://github.com/sovrium/sovrium/issues/3980)
2067
- * resolve TDD automation pipeline blocking issues ([54eb5e4](https://github.com/sovrium/sovrium/commit/54eb5e418687c53225f31407632cefecc070a289)), closes [#867](https://github.com/sovrium/sovrium/issues/867)
2068
- * resolve TDD workflow inconsistencies ([de0eb92](https://github.com/sovrium/sovrium/commit/de0eb92b09ef08140e416eec2bd2600086a82b08))
2069
- * resolve translation tokens in block props during rendering (APP-BLOCKS-PROPS-011) ([#2916](https://github.com/sovrium/sovrium/issues/2916)) ([53bbd1f](https://github.com/sovrium/sovrium/commit/53bbd1f0dfc5a89f69f5829941beaae7230b28f4))
2070
- * resolve translation tokens in block props during rendering (APP-BLOCKS-PROPS-011) ([#2917](https://github.com/sovrium/sovrium/issues/2917)) ([511ad20](https://github.com/sovrium/sovrium/commit/511ad201cdb704c035ab4bf3badd760e29eda2df))
2071
- * resolve translation tokens in page metadata before HTML serialization ([a181f5b](https://github.com/sovrium/sovrium/commit/a181f5b62c67180512ab4bced7c9101aedd788d6))
2072
- * resolve TS errors, Effect diagnostics, stale ESLint path, and add missing coverage tests ([d583463](https://github.com/sovrium/sovrium/commit/d58346374c17ec2292637d8bb113b24bc7f6d7d7))
2073
- * resolve TypeScript and ESLint errors in Better Auth specs ([73fa900](https://github.com/sovrium/sovrium/commit/73fa900311a3c3c7de2791ffa1c57826fb7fb8ae))
2074
- * resolve TypeScript errors and enforce x-specs-first policy ([0475d1e](https://github.com/sovrium/sovrium/commit/0475d1e134bc09fe18f77f211b234941b7148f34))
2075
- * resolve TypeScript errors in queue-manager, services, and utils ([2d8bb9e](https://github.com/sovrium/sovrium/commit/2d8bb9eed2a370ee621da44f8981f2830e672bf3))
2076
- * resolve TypeScript errors in queue-manager.ts ([b7c2395](https://github.com/sovrium/sovrium/commit/b7c23953aeaab831632b25d0e043177f4e3bd4d7))
2077
- * resolve TypeScript errors in scripts directory ([2b897af](https://github.com/sovrium/sovrium/commit/2b897afe612ce5669a2d0136cd499f668e4b8d2b))
2078
- * resolve TypeScript null safety in useBreakpoint hook (APP-PAGES-RESPONSIVE-002) ([#2942](https://github.com/sovrium/sovrium/issues/2942)) ([8f10745](https://github.com/sovrium/sovrium/commit/8f107452389f089b413f4ee8f6eb6958e75dd8ba))
2079
- * resolve unit test failures after RLS implementation ([484f14c](https://github.com/sovrium/sovrium/commit/484f14c5129e768b125d0906c72b78bab621496b))
2080
- * resolve YAML syntax errors in workflow files ([75d8ca3](https://github.com/sovrium/sovrium/commit/75d8ca319b5bebd7f3c59353fd366cae8faea1a8))
2081
- * responsive content variants now use CSS visibility correctly ([45800ec](https://github.com/sovrium/sovrium/commit/45800ecedc644c9390b564544a5c369dbaa2ec1a))
2082
- * restore executeQuery fixture to return array for multi-row results ([be82d0b](https://github.com/sovrium/sovrium/commit/be82d0b195762315b6ef88596c55bd9597faa6b2))
2083
- * restore language switcher dropdown hidden state for SSR architecture ([73ff85e](https://github.com/sovrium/sovrium/commit/73ff85e74f5e18ed14b75c3f243f657663108d54))
2084
- * restore queue-based TDD workflows, remove only tdd-monitor-unified.yml ([9885111](https://github.com/sovrium/sovrium/commit/9885111174a90ce386b897cf9d67ef6b1f8669bb))
2085
- * restore role validation in AppSchema with auth-conditional logic ([d7fe483](https://github.com/sovrium/sovrium/commit/d7fe4838c68b456cb536c6e265ea374650b96384))
2086
- * return 404 for SessionContextError to prevent information leakage ([954d32f](https://github.com/sovrium/sovrium/commit/954d32f092c889e7d6719c358f2182a6b759bdfd))
2087
- * revert better-auth to 1.4.4 to fix ECONNRESET errors ([3e00f16](https://github.com/sovrium/sovrium/commit/3e00f162875eebe75c641553ebac310ec331b6d0))
2088
- * revert parameter renaming that broke TypeScript ([f771c56](https://github.com/sovrium/sovrium/commit/f771c5641a8e8b5742fa0d992fa141a8b1b30100))
2089
- * revert to workflow_dispatch with PAT requirement (bot comments don't trigger workflows) ([f9167fc](https://github.com/sovrium/sovrium/commit/f9167fca2306ee982506f3fb352675df061211cb))
2090
- * **rls:** add organization-scoped guard to owner permission check ([4fe3d47](https://github.com/sovrium/sovrium/commit/4fe3d477bb440fed7463c7132df2075217a82043))
2091
- * **roadmap:** count all nested properties in App Schema, not just root properties ([86a9211](https://github.com/sovrium/sovrium/commit/86a9211c754bec8b1a83378d1cc0e56afde37d68))
2092
- * **roadmap:** count all nested schema properties and x-specs across all files ([abf860c](https://github.com/sovrium/sovrium/commit/abf860ccacd900f6eab2a1d5526ce37dd819c56e))
2093
- * **schema:** add identifier annotation to ViewFilterNodeSchema ([4455e7a](https://github.com/sovrium/sovrium/commit/4455e7a3448adb4168ef48e71afa3f3d85825ae8))
2094
- * **schema:** add identifier annotations to recursive Effect schemas ([afde9e4](https://github.com/sovrium/sovrium/commit/afde9e4ef942bd2c674d99bf7569640e7d1cb89d))
2095
- * **schemas:** resolve Effect Schema extension conflicts and circular dependencies ([67ebb58](https://github.com/sovrium/sovrium/commit/67ebb589207790fb69acb45b8a4895a086ff1299))
2096
- * **scripts:** add TypeScript strict mode guards for string indexing ([7b01092](https://github.com/sovrium/sovrium/commit/7b010923472ead9da7ab0085d309d501d959efbc))
2097
- * **scripts:** improve spec analyzer parser to handle comments and regex literals ([953feaf](https://github.com/sovrium/sovrium/commit/953feaff43d3ee44bc235f6d305afded741c2e44))
2098
- * **scripts:** prevent infinite loops in schema comparison from circular refs ([38456a8](https://github.com/sovrium/sovrium/commit/38456a84a36e35283f7ec830658be76edb978216))
2099
- * **scripts:** prevent schema resolver from resolving documentation examples ([112eed1](https://github.com/sovrium/sovrium/commit/112eed18cb853984fb82d3294021032a13d0348d))
2100
- * **scripts:** replace any with unknown for type safety ([1b049ef](https://github.com/sovrium/sovrium/commit/1b049ef0e141432b2bf7dbd336bcceccac8524ca))
2101
- * **scripts:** resolve all ESLint and TypeScript errors ([e76afe9](https://github.com/sovrium/sovrium/commit/e76afe9cd8751135e753038be37aa783d9fb5284))
2102
- * **scripts:** resolve ESLint and TypeScript errors in tdd-automation ([b4853fa](https://github.com/sovrium/sovrium/commit/b4853fab1ce35753b1f94cd8fcbf44c9ac19463b))
2103
- * **security:** prevent regex injection in analyze-specs filter ([7d3ba41](https://github.com/sovrium/sovrium/commit/7d3ba4106f89fa04b1c3a01852f6bc9114de79b6))
2104
- * **security:** resolve quality issues in security specs ([3603d08](https://github.com/sovrium/sovrium/commit/3603d0815a03ad64e035e589c07f49fbf5d6fd28))
2105
- * separate pipeline metrics from progress metrics ([4f23759](https://github.com/sovrium/sovrium/commit/4f237599c697e17a9b37c67a185c5c466518e066))
2106
- * set emailVerified=true when requireEmailVerification=false in admin bootstrap ([f7c8f64](https://github.com/sovrium/sovrium/commit/f7c8f6469e56a96cf90a1ec5f8f0708a68e0a4eb))
2107
- * simplify conditional prompt to avoid format() function ([0f8eea5](https://github.com/sovrium/sovrium/commit/0f8eea54f446152990a4cba28c7ed804d49ad443))
2108
- * skip branch-sync when Claude Code is actively running on TDD PR ([872ec2f](https://github.com/sovrium/sovrium/commit/872ec2f1dcb00394ddc77cf5c75c8118626dcddb))
2109
- * skip Claude Code working status comments to prevent self-cancellation ([#1512](https://github.com/sovrium/sovrium/issues/1512)) ([d3ea6eb](https://github.com/sovrium/sovrium/commit/d3ea6eb1e086c0a10bf02dcbbd83a22a13faf3a3)), closes [#1249](https://github.com/sovrium/sovrium/issues/1249)
2110
- * skip workflow runs triggered by Claude bot comments ([#1511](https://github.com/sovrium/sovrium/issues/1511)) ([1ec8eff](https://github.com/sovrium/sovrium/commit/1ec8eff082db765ff2f069796ebd4d5744fd0abb)), closes [#19012955712](https://github.com/sovrium/sovrium/issues/19012955712) [#19012960167](https://github.com/sovrium/sovrium/issues/19012960167)
2111
- * **spec:** rename bulk operations regression test and fix TypeScript imports ([868eac5](https://github.com/sovrium/sovrium/commit/868eac5546c0364f8568b8ff0dac3c737e2e471c))
2112
- * **specs:** add admin:true auth config for specs using admin fixtures ([6f38599](https://github.com/sovrium/sovrium/commit/6f385998b2f3cffcc2cfe65698347287173cc84b))
2113
- * **specs:** add auth configuration to comments API specs ([dbef07e](https://github.com/sovrium/sovrium/commit/dbef07eafa3bc0903cdd3c77d4901903175c39c5))
2114
- * **specs:** add missing auth config to organization options specs ([e1a2956](https://github.com/sovrium/sovrium/commit/e1a29563039cba4e2d08effdb1f5a52c8297e7bf))
2115
- * **specs:** add missing id columns and fix fake Bearer token ([94b6ac4](https://github.com/sovrium/sovrium/commit/94b6ac45829f93baeba22cb8a279de2c0d38344c))
2116
- * **specs:** add missing integration tests for blocks ([9282c14](https://github.com/sovrium/sovrium/commit/9282c14f72f2d4d9b50c59fe0504afa7cf59b9a8))
2117
- * **specs:** address SPEC-PROGRESS suggestions ([54c4d14](https://github.com/sovrium/sovrium/commit/54c4d148dde44e90803843e043f77240b0fe1022))
2118
- * **specs:** align activity_logs table name with schema and fix spec ID gaps ([9d3a769](https://github.com/sovrium/sovrium/commit/9d3a76985af49269d2c991f96b9d275b11668e02))
2119
- * **specs:** align special-fields tests with deleted_at as intrinsic metadata ([5237786](https://github.com/sovrium/sovrium/commit/52377864a3c76c6ce27ce704cf6f6fbc2ed698ad))
2120
- * **specs:** apply PostgreSQL driver type patterns to remaining spec tests ([5d9d04e](https://github.com/sovrium/sovrium/commit/5d9d04e32a8ca2f996e560385cec7d432e328491))
2121
- * **specs:** audit and fix 23 .fixme() regression tests for 6 systemic issues ([5fc6cfe](https://github.com/sovrium/sovrium/commit/5fc6cfed8ebd67a731e2a1c7baf44840f8264897))
2122
- * **specs:** complete Phase 2 theme specs with validation, application, and integration (89 specs) ([83524f5](https://github.com/sovrium/sovrium/commit/83524f5465d4aaf6068351d098fa2f120df8f8ec))
2123
- * **specs:** complete Phase 3 languages specs with validation, application, and integration (24 specs) ([7d764d0](https://github.com/sovrium/sovrium/commit/7d764d08c9c0ccb0c590e554c9d6060331b754d6))
2124
- * **specs:** complete Phase 4.1 pages orchestrator with validation and application specs (12 specs) ([e27f050](https://github.com/sovrium/sovrium/commit/e27f0502b0294b089273fab26f61d9bf8f415900))
2125
- * **specs:** complete regression test standardization with skill methodology ([185c1e1](https://github.com/sovrium/sovrium/commit/185c1e17ba5ecc4db922c74c7616e2504d79ae81))
2126
- * **specs:** correct assertions and permissions in record specs ([ce64a53](https://github.com/sovrium/sovrium/commit/ce64a5302ae961175f754cac06ca89622b0a27ca))
2127
- * **specs:** correct header counts and remove outdated TODOs ([a352a0e](https://github.com/sovrium/sovrium/commit/a352a0e6be0d02eca9de1016ee495f075b864403))
2128
- * **specs:** correct spec count header in yaml-config.spec.ts ([22cbe18](https://github.com/sovrium/sovrium/commit/22cbe18e988d8d4edcc57c3473f3b3bb36f60103))
2129
- * **specs:** correct spec count in admin-enforcement.spec.ts ([d9921fa](https://github.com/sovrium/sovrium/commit/d9921fa28b2b941be8e8fc049c2f37e50eafdc06))
2130
- * **specs:** enhance single-line-text and phone-number field x-specs with validation properties ([0d986a4](https://github.com/sovrium/sovrium/commit/0d986a4286761152d07cc6f727051d7118286f2f))
2131
- * **specs:** fix all validation errors in API and Admin specs ([eaec9c1](https://github.com/sovrium/sovrium/commit/eaec9c116a5017ae67faaf7f6c61c6c3db783a09))
2132
- * **specs:** fix E2E test failures for admin enforcement and org isolation ([506ce69](https://github.com/sovrium/sovrium/commit/506ce692b1fc775c1861c73c3bfa4af2b18a1808))
2133
- * **specs:** make blocks specs e2e testable with DOM structures and data-testid ([1347646](https://github.com/sovrium/sovrium/commit/1347646e2e54cb539bdfe16db97b90d0a23a776a))
2134
- * **specs:** pre-emptive fixes for fixme tests with PostgreSQL patterns ([530423a](https://github.com/sovrium/sovrium/commit/530423a74ce580af9ce404b10090599bab6910c0))
2135
- * **specs:** query PostgreSQL VIEWs directly instead of raw SQL ([27cd557](https://github.com/sovrium/sovrium/commit/27cd5574eb1c915d5bce2b86ea6c40da51939615))
2136
- * **specs:** regenerate API-TABLES-PERMISSIONS-CONDITIONS regression test ([1abfc19](https://github.com/sovrium/sovrium/commit/1abfc19b1a11f685279d3cd95c34d96b4a505683))
2137
- * **specs:** regenerate regression for app pages batch 5F ([4457361](https://github.com/sovrium/sovrium/commit/44573617090e9754acbe325e1e6293850867e8ba))
2138
- * **specs:** regenerate regression for app pages batch 5G ([4176fee](https://github.com/sovrium/sovrium/commit/4176feec150654907b342acf8450b897ae8a6131))
2139
- * **specs:** regenerate regression tests - phases 1-5E ([7e69638](https://github.com/sovrium/sovrium/commit/7e69638ce1da281b1785f8007ba59ffc938902f0))
2140
- * **specs:** remove .fixme() from 22 passing tests ([b32112e](https://github.com/sovrium/sovrium/commit/b32112e927109ce74ecd779fc18a89857a308b5f))
2141
- * **specs:** rename APP-TABLES-001 to APP-TABLES-FIELDS-001 to avoid collision ([c403ea3](https://github.com/sovrium/sovrium/commit/c403ea3e24e89fad758ff18b62ac9dedc13f039e))
2142
- * **specs:** renumber spec IDs to be sequential ([b6d7087](https://github.com/sovrium/sovrium/commit/b6d70878c6679c6ad688b77f140f11a70f74e812))
2143
- * **specs:** replace placeholder validation with PostgreSQL tests ([19689ea](https://github.com/sovrium/sovrium/commit/19689eaaa794edd6c7d4410db27bc434b8894be2))
2144
- * **specs:** require auth for activity APIs and add permission tests ([d24d51e](https://github.com/sovrium/sovrium/commit/d24d51e4197452b488967d847088ddb7f4b1ae63))
2145
- * **specs:** resolve 37 E2E test failures with PostgreSQL type handling ([20dca24](https://github.com/sovrium/sovrium/commit/20dca24493a895166337b565fda2fe7b058ca17a))
2146
- * **specs:** resolve 49 E2E test failures across 4 categories ([127dd9f](https://github.com/sovrium/sovrium/commit/127dd9f9b5813f2e1b347b076e38d72ac0f9b4c8))
2147
- * **specs:** resolve 5 failing regression tests and ESLint errors ([3c30d00](https://github.com/sovrium/sovrium/commit/3c30d00089f034c109e4d72ccd67328233ac77a6))
2148
- * **specs:** resolve 9 failing regression tests by ensuring consistent schemas ([2f4ff85](https://github.com/sovrium/sovrium/commit/2f4ff85c7a0bfbcca4eb4f276963f26f9bef9d3b))
2149
- * **specs:** resolve all app specs validation errors (299 → 0) ([aa69183](https://github.com/sovrium/sovrium/commit/aa691830ebf787c4680e2a433605cba793a00c74))
2150
- * **specs:** resolve all validation errors by adding spec IDs to tests ([d175068](https://github.com/sovrium/sovrium/commit/d1750681d0549d018985a5a6e93fec637c1b899e))
2151
- * **specs:** resolve duplicate spec IDs across test files ([6205ccd](https://github.com/sovrium/sovrium/commit/6205ccd5a23f6288baa64434d0aa6aea1b3b53a7))
2152
- * **specs:** resolve ESLint errors in specs/api/ files ([65eb53d](https://github.com/sovrium/sovrium/commit/65eb53d2bae9ab07b6e726d39577a7d8f996ef98))
2153
- * **specs:** resolve flaky password reset E2E tests ([25ec2f2](https://github.com/sovrium/sovrium/commit/25ec2f2b859d723f91c880e9c2be5d12035a6753))
2154
- * **specs:** resolve regression test failures after naming standardization ([ce06e5b](https://github.com/sovrium/sovrium/commit/ce06e5b5d4795be3aa563011117bc320ffd22243))
2155
- * **specs:** resolve schema coherence issues across pages, languages, and theme ([6d9402e](https://github.com/sovrium/sovrium/commit/6d9402efc5e7d5ce2ab254ac53c86ba3826fb978))
2156
- * **specs:** resolve TypeScript and ESLint errors in E2E test specs ([455db6a](https://github.com/sovrium/sovrium/commit/455db6a9e97866825d4669b438aa286e5efefa2b))
2157
- * **specs:** resolve TypeScript and ESLint errors in migration specs ([2d150de](https://github.com/sovrium/sovrium/commit/2d150deacfd7b45a3ef9c061566ee62c47ca8055))
2158
- * **specs:** resolve TypeScript errors in security spec files ([fd3859b](https://github.com/sovrium/sovrium/commit/fd3859bc4d452afeee7b6c71d2dfce840d7d098a))
2159
- * **specs:** resolve TypeScript strict mode errors in generation.spec.ts ([ccd28a6](https://github.com/sovrium/sovrium/commit/ccd28a6bf32bf07ae957b192ed25e08a7371b1cc))
2160
- * **specs:** rewrite tables.schema.json with enhanced x-specs - eliminate generic assertions ([540e130](https://github.com/sovrium/sovrium/commit/540e1300e4499eceac447dfbcd375033e5e3946c))
2161
- * **specs:** standardize regression test naming to -REGRESSION suffix ([fc34c89](https://github.com/sovrium/sovrium/commit/fc34c89e8052296f54928b4a2cad85330d0bdb1d))
2162
- * **specs:** standardize regression test step verb tenses in blocks and field-types ([eb010f0](https://github.com/sovrium/sovrium/commit/eb010f0a967fd756e6bb78d5afc21bf3c03b41d0))
2163
- * **specs:** standardize regression test step verb tenses to present third-person ([209e152](https://github.com/sovrium/sovrium/commit/209e1524b81b47566cefded923afb171e3e18321))
2164
- * **specs:** standardize regression test verb tenses in breakpoints and button-field ([06c0be8](https://github.com/sovrium/sovrium/commit/06c0be8c4a24d469bd1cae256a21e7cc9881ddde))
2165
- * **specs:** suppress pkill errors in global teardown ([ba6d9cf](https://github.com/sovrium/sovrium/commit/ba6d9cf60c774e8e9edf5e93b4bb8955aeb3e730))
2166
- * **specs:** update API keys specs to match Better Auth endpoints ([d80e30c](https://github.com/sovrium/sovrium/commit/d80e30c5149944e2d2f09876425d04f891161bee))
2167
- * **specs:** update set-role test with proper admin bootstrap pattern ([866c11e](https://github.com/sovrium/sovrium/commit/866c11e68a4dc074cae9c128f5c9b9cbbdd11f30))
2168
- * **specs:** use Airtable API fields wrapper consistently across all E2E tests ([44d8113](https://github.com/sovrium/sovrium/commit/44d81138e549be6c64a87597749e20b7bda9cac4))
2169
- * **specs:** use correct _sovrium_ prefix for internal table names ([3b1f102](https://github.com/sovrium/sovrium/commit/3b1f102d0cb455361f099f2e3759c0c50139c11e))
2170
- * **ssg:** exclude /api/tables and /api/records exact paths from SSG ([166d1a8](https://github.com/sovrium/sovrium/commit/166d1a8f8164a4cbdcab84604bd5b7c188db5e29))
2171
- * stage user story files in spec progress update to prevent rebase failure ([ed702ca](https://github.com/sovrium/sovrium/commit/ed702ca7be034054090b7c391eadfbd97100d596))
2172
- * standardize block reference syntax from $ref to block ([839948d](https://github.com/sovrium/sovrium/commit/839948df0357f2d7133072e69fb9004dacb58e60))
2173
- * standardize migration specs to use auto-generated id columns ([ddf390f](https://github.com/sovrium/sovrium/commit/ddf390f92065e80092dcaeab6a4fa69f3440f4b3))
2174
- * standardize multi-line comment formatting in test workflow ([dc24028](https://github.com/sovrium/sovrium/commit/dc24028d644903f0634d48fc69c8db64c077930d))
2175
- * standardize TDD workflow [@claude](https://github.com/claude) message templates ([ca72e2b](https://github.com/sovrium/sovrium/commit/ca72e2b557d95815377c27f846180ef186ec3127))
2176
- * support both Tailwind classes and CSS values for container spacing ([3a2c3ef](https://github.com/sovrium/sovrium/commit/3a2c3ef4c56d5c6b3c11824fad8aef609033c032))
2177
- * support numbered color tokens and container max-width ([de9b0b5](https://github.com/sovrium/sovrium/commit/de9b0b54821e4a517d7dff364a49a0a894ca9362))
2178
- * TDD automation improvements and special fields migration support ([#6098](https://github.com/sovrium/sovrium/issues/6098)) ([ac9f38b](https://github.com/sovrium/sovrium/commit/ac9f38b0f415404c8a7fd968c4f21ecbdeafae57)), closes [#5999](https://github.com/sovrium/sovrium/issues/5999) [#6096](https://github.com/sovrium/sovrium/issues/6096) [#6097](https://github.com/sovrium/sovrium/issues/6097)
2179
- * **tdd-v2:** fix orchestrator worker dispatch parameters ([af90072](https://github.com/sovrium/sovrium/commit/af90072032d8edc3efc029d510bbb1c05f9951c0))
2180
- * **tdd-v2:** fix queue initialization and spec extraction ([19bcc4a](https://github.com/sovrium/sovrium/commit/19bcc4a562d501bc6d81c8f2b4dd9fad690f050b))
2181
- * **tdd-v2:** implement spec-ID-based state management and enable concurrent spec processing ([6080059](https://github.com/sovrium/sovrium/commit/608005922b68a50e154fc0d96daf05673329eb9a))
2182
- * **tdd:** add --repo flag to gh commands before checkout step ([a3543ef](https://github.com/sovrium/sovrium/commit/a3543ef1f28b6b00f5c1856468185163f418f260))
2183
- * **tdd:** add [skip ci] to prevent workflow loop ([7f94c62](https://github.com/sovrium/sovrium/commit/7f94c62bd491ff19b9c69cf328ea70ae1ba03e6b))
2184
- * **tdd:** add Bun setup before credit comment step in claude-code.yml ([6707694](https://github.com/sovrium/sovrium/commit/6707694cce85cebb6a8194bbec70ac2379393518))
2185
- * **tdd:** add Bun setup to e2e-results job for classify-failures script ([15fbcc8](https://github.com/sovrium/sovrium/commit/15fbcc81d49d406ce7337c9f702a3ac3a389539b))
2186
- * **tdd:** add Claude running checks to all [@claude](https://github.com/claude) comment locations ([2f3a744](https://github.com/sovrium/sovrium/commit/2f3a744d498fe134b5686917bb7687631f7db9d4))
2187
- * **tdd:** add concurrency control to monitor workflow ([e856310](https://github.com/sovrium/sovrium/commit/e856310a2147b595b936b01e0227da2b1aa8f6d3))
2188
- * **tdd:** add concurrency control to prevent parallel Claude Code runs ([9fd684f](https://github.com/sovrium/sovrium/commit/9fd684f489a932e38dbde73cbb126bcea8e7fabd)), closes [#7083](https://github.com/sovrium/sovrium/issues/7083)
2189
- * **tdd:** add cron schedule to branch-sync to prevent stuck PRs ([5450ec7](https://github.com/sovrium/sovrium/commit/5450ec7d6d741261a158958cde77ea30f01e1186)), closes [#7082](https://github.com/sovrium/sovrium/issues/7082) [#7082](https://github.com/sovrium/sovrium/issues/7082)
2190
- * **tdd:** add detailed logging for GitHub API state updates ([c0f1ecf](https://github.com/sovrium/sovrium/commit/c0f1ecf2ea31d09a3b6f1fdfb53fc1cad4eac63e))
2191
- * **tdd:** add explicit context override to Phase 2 comment ([e7daab1](https://github.com/sovrium/sovrium/commit/e7daab1f7dc533712d63aa2b4764bd8d8e2dfc34)), closes [#6737](https://github.com/sovrium/sovrium/issues/6737)
2192
- * **tdd:** add explicit exit code in Parse Claude Code Result step ([25efafa](https://github.com/sovrium/sovrium/commit/25efafa10b0c688f20e84b10eccc618162756434))
2193
- * **tdd:** add GH_TOKEN env var to orchestrator worker dispatch step ([fed9331](https://github.com/sovrium/sovrium/commit/fed9331890de9bfc946007440a07481bf7694671))
2194
- * **tdd:** add GH_TOKEN to cleanup step and fix lock verification ([3a5e5f1](https://github.com/sovrium/sovrium/commit/3a5e5f1772e16c3bef22795c2b3a195c60f9448a))
2195
- * **tdd:** add id-token write permission for Claude Code action ([d6d6b7f](https://github.com/sovrium/sovrium/commit/d6d6b7f5513efb71f130ee825f8f1cc309a8ce6b))
2196
- * **tdd:** add JSON reporter and artifact upload to e2e-target job ([d58b76b](https://github.com/sovrium/sovrium/commit/d58b76b1ff43d62eb445565a3c5c3f4d2b08342f))
2197
- * **tdd:** add level 5 priority and fix collision bugs ([71c91ed](https://github.com/sovrium/sovrium/commit/71c91edb34a433004c34028d1aef69ffbbcc3ae7))
2198
- * **tdd:** add missing await to Effect.runPromise in CLI scripts ([8612606](https://github.com/sovrium/sovrium/commit/861260644914962a94be30bada8b1e21b8f8ea8f))
2199
- * **tdd:** add pre-push unit test validation to prevent CI loops ([1efdbf8](https://github.com/sovrium/sovrium/commit/1efdbf8cfe621546eba33121893f9a6806ff121c))
2200
- * **tdd:** add rebase before push to prevent race condition in spec progress updates ([598fed1](https://github.com/sovrium/sovrium/commit/598fed1765e0ea99a4075cefc7f22ff226520077))
2201
- * **tdd:** add resilience for GitHub API rate limits ([6549db2](https://github.com/sovrium/sovrium/commit/6549db2353c3fdaac2548bedb07d3b4cceaf658a)), closes [hi#priority](https://github.com/hi/issues/priority)
2202
- * **tdd:** add UnknownException error types to Effect parse functions ([1afb151](https://github.com/sovrium/sovrium/commit/1afb151bb796e5cf1a5affd962b76bae4cbe65eb))
2203
- * **tdd:** add workflow scope token for Claude Code git push operations ([89ff263](https://github.com/sovrium/sovrium/commit/89ff26327b51642181fcc4bb9673d81b1b017742)), closes [#5985](https://github.com/sovrium/sovrium/issues/5985)
2204
- * **tdd:** address review issues in failed-pr-recovery job ([15d07f4](https://github.com/sovrium/sovrium/commit/15d07f447ad7b5850d176135e0212da28fadcda6))
2205
- * **tdd:** align regression test with [@spec](https://github.com/spec) tests and production behavior ([31a48cb](https://github.com/sovrium/sovrium/commit/31a48cb1e1440df2440ce762f274cd9d4009c347))
2206
- * **tdd:** align test.yml with TDD automation pipeline spec ([bce0cbe](https://github.com/sovrium/sovrium/commit/bce0cbe47c85bfab67618e2a4988bbc87d43e104))
2207
- * **tdd:** allow bot actors for Claude Code action invocation ([b0daade](https://github.com/sovrium/sovrium/commit/b0daaded33a456d20c2bc54926c6a13cd02489df))
2208
- * **tdd:** allow E2E target job to run when typecheck is skipped ([af02a1b](https://github.com/sovrium/sovrium/commit/af02a1b4c2de6837b45395782fc376353e5a238b))
2209
- * **tdd:** allow TypeCheck to be skipped in test-only mode ([e0ff7d7](https://github.com/sovrium/sovrium/commit/e0ff7d75cb540608239b038569da86a06aaa027b))
2210
- * **tdd:** apply process substitution to all monitor loops ([ba69c42](https://github.com/sovrium/sovrium/commit/ba69c42fb6bde1c9165490bd5801f5a9eedb436f))
2211
- * **tdd:** batch spec locking into single atomic operation ([d33a2c7](https://github.com/sovrium/sovrium/commit/d33a2c76d1c357f32923f2f671dad85f2ab50541))
2212
- * **tdd:** bulletproof workflow with race condition prevention and label cleanup ([9617412](https://github.com/sovrium/sovrium/commit/9617412b5da8b81bcb4ebe338c32b796ba76b7dd))
2213
- * **tdd:** capture only stdout from find-ready-spec (not stderr diagnostics) ([e904b4f](https://github.com/sovrium/sovrium/commit/e904b4fc979dfc5c3ea82e8834be60a687cca63a))
2214
- * **tdd:** change claude-code workflow to expect thomas-jeanneau as comment author ([07e7d22](https://github.com/sovrium/sovrium/commit/07e7d22b2913346c021fa04ca1c82f5a95aa02ad))
2215
- * **tdd:** check ANY failed check in monitor workflow instead of last one ([590e5ed](https://github.com/sovrium/sovrium/commit/590e5ed3a3408c5c05a3060c4da61685497f4fab)), closes [#7064](https://github.com/sovrium/sovrium/issues/7064)
2216
- * **tdd:** clarify e2e-test-fixer must escalate on missing schemas ([299bcef](https://github.com/sovrium/sovrium/commit/299bcefe17495a178381fe44bc78601e3872bc31)), closes [#7024](https://github.com/sovrium/sovrium/issues/7024)
2217
- * **tdd:** classify failures for both e2e shards and target spec ([c36c8ef](https://github.com/sovrium/sovrium/commit/c36c8ef102ab020a742780ba8c8e32debe8b021d)), closes [#7000](https://github.com/sovrium/sovrium/issues/7000)
2218
- * **tdd:** commit both SPEC-PROGRESS.md and README.md in spec progress update ([fa2bc03](https://github.com/sovrium/sovrium/commit/fa2bc03a56b984cf5f6c93b3c24db3e65fcd1ed8))
2219
- * **tdd:** configure git user for automated commits in PR creator ([43598e8](https://github.com/sovrium/sovrium/commit/43598e81858f030ce97615b6450a0c13d76362f2))
2220
- * **tdd:** correct Effect.catchAll to use Effect.gen for yield* ([fc19aec](https://github.com/sovrium/sovrium/commit/fc19aec5d86da253baf03277d2e52119dc4b8cf7))
2221
- * **tdd:** correct fast-path to remove .fixme() before testing ([31ea11b](https://github.com/sovrium/sovrium/commit/31ea11b1d12eef488849238148ecd6b6ecee78df))
2222
- * **tdd:** correct git comparison logic in Claude Code workflow ([1466414](https://github.com/sovrium/sovrium/commit/14664149fe59dd5ddd32220bea5a19c5260eca5f)), closes [#7040](https://github.com/sovrium/sovrium/issues/7040)
2223
- * **tdd:** correct retry detection logic in Determine Final Outcome ([9100a45](https://github.com/sovrium/sovrium/commit/9100a45658ff5ca68e48a812e6798d5cb7daa26d))
2224
- * **tdd:** correct tool restrictions for autonomous workflows ([022db24](https://github.com/sovrium/sovrium/commit/022db245c252742c45a2a4bd5fb1cd61a230d0a7))
2225
- * **tdd:** correct TypeCheck skip logic for .fixme() removal-only PRs ([9e1040e](https://github.com/sovrium/sovrium/commit/9e1040e66a286a8f9631b9688b21739bbcdad973))
2226
- * **tdd:** correctly detect pure .fixme() removals to skip typecheck ([1481707](https://github.com/sovrium/sovrium/commit/1481707ea45fce1fad50edfea2ac3ad6303ef268))
2227
- * **tdd:** disable Effect logging in spec-selector-cli for clean JSON output ([f77a5ab](https://github.com/sovrium/sovrium/commit/f77a5abe91b12fcfe3c35c69cbb06a0267923253))
2228
- * **tdd:** disable track_progress for workflow_dispatch events ([09e7349](https://github.com/sovrium/sovrium/commit/09e734964ff3318d4dee5d9993bf99b53d81e205))
2229
- * **tdd:** download logs via GitHub API ZIP archive for cost parsing ([fc26555](https://github.com/sovrium/sovrium/commit/fc265551e797470f700cce85ea8dd5f88bd4b3e4))
2230
- * **tdd:** extract last line of spec finder output to get JSON (ignore Effect logs) ([f3275e9](https://github.com/sovrium/sovrium/commit/f3275e96e5543f7a00931bba57468ec1a61b364d))
2231
- * **tdd:** extract target spec from PR body directly ([19e15a7](https://github.com/sovrium/sovrium/commit/19e15a7db649569cf11d67845ae3ef15998542a8)), closes [#7000](https://github.com/sovrium/sovrium/issues/7000)
2232
- * **tdd:** fix YAML indentation error in worker workflow commit message ([ab20b16](https://github.com/sovrium/sovrium/commit/ab20b169f34a3c84cf83931748affa639b703d6c))
2233
- * **tdd:** gracefully handle empty workflow runs in credit check ([268834f](https://github.com/sovrium/sovrium/commit/268834f6c8744d9e83243b9b288edbcaf71702cc))
2234
- * **tdd:** handle missing labels gracefully in circuit breaker ([9b551e9](https://github.com/sovrium/sovrium/commit/9b551e9ab748d2e91cf73add47fc3de1b92a0888))
2235
- * **tdd:** handle non-conflict merge failures in claude-code workflow ([30243e8](https://github.com/sovrium/sovrium/commit/30243e826e23a4b9f15ef4312b3f0185d5f7841a))
2236
- * **tdd:** handle stale remote branches in pr-creator workflow ([8ce6b3f](https://github.com/sovrium/sovrium/commit/8ce6b3fdf912e1977b4651227cde7de9ee15a3ba))
2237
- * **tdd:** handle unstaged changes in state update git operations ([3dea585](https://github.com/sovrium/sovrium/commit/3dea585ad8e245064f3030c56145531234065d9d))
2238
- * **tdd:** implement 'last run wins' to prevent parallel workflow execution ([74638ec](https://github.com/sovrium/sovrium/commit/74638ecfb5f961da155ea4729a1a2ab17c26efee))
2239
- * **tdd:** improve error detection with Anthropic API patterns ([561e07c](https://github.com/sovrium/sovrium/commit/561e07c43b96c8fe9d1a7cd2194b6d1ad3763eb5)), closes [anthropics/claude-code#9046](https://github.com/anthropics/claude-code/issues/9046) [#17582](https://github.com/sovrium/sovrium/issues/17582) [#16157](https://github.com/sovrium/sovrium/issues/16157)
2240
- * **tdd:** improve YAML format and error handling in cleanup workflow ([aa7075b](https://github.com/sovrium/sovrium/commit/aa7075b0645cefa3328817bb3de65bcba13dec84))
2241
- * **tdd:** include services directory in claude-code.yml sparse checkout ([ffc16c1](https://github.com/sovrium/sovrium/commit/ffc16c19e71a90d5ccdb49269272040f88b67542))
2242
- * **tdd:** increase Claude Code timeout to 90min and add graceful timeout handling ([99d2983](https://github.com/sovrium/sovrium/commit/99d2983eb4df7cae73a0d7f63740972541d583f5))
2243
- * **tdd:** increase detect-change-type job timeout from 2 to 5 minutes ([9cf8d02](https://github.com/sovrium/sovrium/commit/9cf8d02ea11f4aaf69432fc814b885a2c3907297))
2244
- * **tdd:** increase Prettier timeout and add Claude PR tracking ([8d8cca6](https://github.com/sovrium/sovrium/commit/8d8cca6cbb0d0add4e3918cdb6dbaea4f47dff78))
2245
- * **tdd:** only remove .fixme() from specific test line, not entire file ([4e2ffcf](https://github.com/sovrium/sovrium/commit/4e2ffcf424d17ac6f077eccb82b7a225a73bf43f))
2246
- * **tdd:** preserve e2e-results outputs for TDD PRs by skipping job failure ([95a7fca](https://github.com/sovrium/sovrium/commit/95a7fcabdc78f4d6071526ed3a398096949acdd9))
2247
- * **tdd:** prevent committing temp files in orchestrator ([6579db3](https://github.com/sovrium/sovrium/commit/6579db301e1a52af13d12578f1629e7ca42d7701))
2248
- * **tdd:** prevent duplicate "[@claude](https://github.com/claude) update branch" comments ([e956c9a](https://github.com/sovrium/sovrium/commit/e956c9a43405a84fffa1ce4ed21e19fd52f8855a))
2249
- * **tdd:** prevent duplicate Claude Code runs with cancel-in-progress ([1aec1b8](https://github.com/sovrium/sovrium/commit/1aec1b8f97639d27a1a8db203cf9e939c9d078a1)), closes [6066/#6067](https://github.com/sovrium/sovrium/issues/6067) [#5983](https://github.com/sovrium/sovrium/issues/5983)
2250
- * **tdd:** prevent duplicate PR creation via atomic state transitions ([56ca584](https://github.com/sovrium/sovrium/commit/56ca58420a27c5ac434db9e2ea8db52ebc1c6497))
2251
- * **tdd:** prevent infinite loops between test.yml and tdd-monitor.yml ([113eb91](https://github.com/sovrium/sovrium/commit/113eb919c8849e13a6876ebac9c474c95499a732)), closes [sovrium/sovrium#6053](https://github.com/sovrium/sovrium/issues/6053) [#6761](https://github.com/sovrium/sovrium/issues/6761)
2252
- * **tdd:** prevent infinite retry loops in tdd-execute.yml handle-retry job ([540d86b](https://github.com/sovrium/sovrium/commit/540d86b9ae4f6c70f3832e398f9eb72040e8422d)), closes [#6761](https://github.com/sovrium/sovrium/issues/6761) [sovrium/sovrium#6053](https://github.com/sovrium/sovrium/issues/6053)
2253
- * **tdd:** prevent loops and blocking issues in automation workflows ([c461a89](https://github.com/sovrium/sovrium/commit/c461a894b436ca957755dfc4eba911ab13a07027))
2254
- * **tdd:** prevent monitor auto-merge comments during active Claude runs ([a5681d8](https://github.com/sovrium/sovrium/commit/a5681d85422093560d40af571f1249802ce846ee)), closes [#6113](https://github.com/sovrium/sovrium/issues/6113)
2255
- * **tdd:** prevent orchestrator infinite loop with trigger conditions ([2b486a8](https://github.com/sovrium/sovrium/commit/2b486a8376c49897258924e080f4bbc468f88267))
2256
- * **tdd:** prevent parallel Claude runs by checking all active runs ([af664f8](https://github.com/sovrium/sovrium/commit/af664f83407c08c7bbfa0dcd074e8bef29c2ecfa))
2257
- * **tdd:** prevent parallel execution of test.yml and claude-code.yml ([2846294](https://github.com/sovrium/sovrium/commit/28462943095ed66cb9ea6ceca27ae18c2a8095e5))
2258
- * **tdd:** prevent queue processor loop when duplicate PR exists ([2e13897](https://github.com/sovrium/sovrium/commit/2e13897c6fdea6d766200c73e71b429d0c9fb733)), closes [#3979](https://github.com/sovrium/sovrium/issues/3979)
2259
- * **tdd:** prevent race condition blocking Claude Code triggers ([ff50c51](https://github.com/sovrium/sovrium/commit/ff50c51168f1c6581e8b18836c119c1c03fa7c55)), closes [#7056](https://github.com/sovrium/sovrium/issues/7056)
2260
- * **tdd:** prevent race condition with duplicate Claude Code workflows ([bae141d](https://github.com/sovrium/sovrium/commit/bae141dcc17fac7373d9759cacbf5284a17022d8))
2261
- * **tdd:** remove @effect/cli dependency from lock/unlock scripts ([b8ed069](https://github.com/sovrium/sovrium/commit/b8ed069d6e9df0b387ab8beceb2432db3e907dcf))
2262
- * **tdd:** remove @effect/cli dependency from pr-manager ([ea0394e](https://github.com/sovrium/sovrium/commit/ea0394ea8b9cb75e8463d3fda98b121b663916cf))
2263
- * **tdd:** remove arithmetic from YAML expression in retry count ([c499b98](https://github.com/sovrium/sovrium/commit/c499b987077ac2d1a2de5ffe9facbfb9ecc70890))
2264
- * **tdd:** remove description-based matching to prevent issue collisions ([70c6146](https://github.com/sovrium/sovrium/commit/70c61467241a1a0fde2b4e409c899ebff328219c))
2265
- * **tdd:** remove invalid --depth=0 from git clone commands ([0d28f69](https://github.com/sovrium/sovrium/commit/0d28f694e74f85683b711837b2ffa8f7bcf7cf09))
2266
- * **tdd:** remove non-existent label from PR creation ([363e910](https://github.com/sovrium/sovrium/commit/363e910169e9bcdc870388720ecb28460e0c53f4))
2267
- * **tdd:** replace UnknownException with custom error types ([04e18c3](https://github.com/sovrium/sovrium/commit/04e18c37515844d5c3faeb2dedbfc3e5d86be129))
2268
- * **tdd:** resolve @/specs/* path alias correctly in dependency analyzer ([77b511a](https://github.com/sovrium/sovrium/commit/77b511a042ad38a434705af98390149007af93f0))
2269
- * **tdd:** resolve ParseContextError in claude-code workflow ([bd3be61](https://github.com/sovrium/sovrium/commit/bd3be61e48d031b257eb161c92641a22fbceb296))
2270
- * **tdd:** resolve worker failures with pre-validation and commit handling ([4cc9f60](https://github.com/sovrium/sovrium/commit/4cc9f60c0b8fa7393a94abeac4783dab3528ee86))
2271
- * **tdd:** run E2E target spec when .fixme() is removed ([fa81ae9](https://github.com/sovrium/sovrium/commit/fa81ae905c58990f7c6821608694fb6c24ee3abe))
2272
- * **tdd:** separate stdout/stderr in pr-manager to fix workflow output capture ([64fa131](https://github.com/sovrium/sovrium/commit/64fa13132022e6d3734cb47435b2fe267b3f21f0)), closes [#6854](https://github.com/sovrium/sovrium/issues/6854)
2273
- * **tdd:** separate stdout/stderr in spec-selector-cli for jq parsing ([808ee8d](https://github.com/sovrium/sovrium/commit/808ee8d845248af3130dcba1f84b57c9519a36d5))
2274
- * **tdd:** sort field type specs by type then by number ([f91bf0f](https://github.com/sovrium/sovrium/commit/f91bf0f9451a5f220eadf0881872db54e82a2714))
2275
- * **tdd:** standardize retry label naming across workflows ([6ece722](https://github.com/sovrium/sovrium/commit/6ece722021c92d7b9e8c4f3c50c1cc15631e7c7f))
2276
- * **tdd:** standardize retry label naming across workflows ([ceb2c79](https://github.com/sovrium/sovrium/commit/ceb2c791fb4b7542a28e7fe595a459cf08bcc1f6))
2277
- * **tdd:** strengthen quality gate instructions before PR creation ([d57be73](https://github.com/sovrium/sovrium/commit/d57be73a0759d4798da77283ca516ed6a67fc2e0)), closes [#4846](https://github.com/sovrium/sovrium/issues/4846) [#4846](https://github.com/sovrium/sovrium/issues/4846)
2278
- * **tdd:** support both --file=value and --file value argument formats ([356cd03](https://github.com/sovrium/sovrium/commit/356cd036140f13b318f627d5c774e6ff1496efd5))
2279
- * **tdd:** support MIGRATION- prefix in priority calculator ([b9e4e5f](https://github.com/sovrium/sovrium/commit/b9e4e5fdb4ccf8f5d0082d96e42af00208275ff2))
2280
- * **tdd:** support REGRESSION suffix in spec ID patterns ([4fd3ce0](https://github.com/sovrium/sovrium/commit/4fd3ce0d255912f463f40506f47bd66ec1d7aab0))
2281
- * **tdd:** treat duplicate spec IDs as errors in analyze-specs ([1ffad21](https://github.com/sovrium/sovrium/commit/1ffad21b1e9b57d9b31d5d27ad9ac0b0502ad149)), closes [#3678](https://github.com/sovrium/sovrium/issues/3678)
2282
- * **tdd:** update state with PR info after creation ([242269d](https://github.com/sovrium/sovrium/commit/242269d7fe3b8e3508e8af17991c1716acbcdbc0))
2283
- * **tdd:** use 'prompt' instead of 'prompt_file' for Claude Action ([4a113fc](https://github.com/sovrium/sovrium/commit/4a113fc882051d8a77acdc540ddde45becbd2f0d))
2284
- * **tdd:** use API for label addition to avoid gh pr edit GraphQL error ([5cd7eee](https://github.com/sovrium/sovrium/commit/5cd7eee28e2b8d8f810ec881eb38916e7f7a9288))
2285
- * **tdd:** use case-insensitive regex for cost parsing ([b1b12b1](https://github.com/sovrium/sovrium/commit/b1b12b10c51c8d9cf0bd6ad8306372ef8a230714))
2286
- * **tdd:** use dedicated unprotected branch for state storage ([a5aa281](https://github.com/sovrium/sovrium/commit/a5aa281e1b604bb81c5dd83291fe0b97675a3631))
2287
- * **tdd:** use GH_PAT_WORKFLOW token for PR operations ([aa65934](https://github.com/sovrium/sovrium/commit/aa6593434a1b531f1c290cc0cf36cfe1123d2b79))
2288
- * **tdd:** use GH_PAT_WORKFLOW token for spec progress updates ([edecf95](https://github.com/sovrium/sovrium/commit/edecf95fad9051f35063c15a792f475ff0b66cf4))
2289
- * **tdd:** use GitHub Contents API for state updates on protected branches ([aa75ef5](https://github.com/sovrium/sovrium/commit/aa75ef56c30e13ed7f6fb4b1710106f370d784d5))
2290
- * **tdd:** use GitHub REST API for getWorkflowRuns to fix cost tracking ([d788a55](https://github.com/sovrium/sovrium/commit/d788a5591ab3c115a4ebb960a1f6f6ed8026638c))
2291
- * **tdd:** use heredoc for merge conflict comment to avoid YAML parsing issues ([389c3d2](https://github.com/sovrium/sovrium/commit/389c3d2087d5492335ae778829978922918d5434))
2292
- * **tdd:** use JSON reporter for robust regression classification ([97e65d0](https://github.com/sovrium/sovrium/commit/97e65d0d99a30ceb8be8d86f062de280ed4c800f))
2293
- * **tdd:** use native fetch for proper ZIP log download ([8ed5317](https://github.com/sovrium/sovrium/commit/8ed53173d07588752e9b66f29d5456745075d6eb))
2294
- * **tdd:** use pipe to jq instead of --jq --arg in gh api calls ([45d72fa](https://github.com/sovrium/sovrium/commit/45d72fafe55605e33f8ee2d5ac08f84855e34bd8))
2295
- * **tdd:** use return yield* for effects that never succeed ([7c2d6fb](https://github.com/sovrium/sovrium/commit/7c2d6fb7679a17e9618eb9679562c44840e927dc))
2296
- * **tdd:** use sed instead of grep -P for metadata extraction ([38e25df](https://github.com/sovrium/sovrium/commit/38e25df6afe453e52d20b6ba8af0da659362c1f6))
2297
- * **tdd:** use stderr for state-manager diagnostics to avoid corrupting JSON output ([31e5fec](https://github.com/sovrium/sovrium/commit/31e5fec93fd4f80b239b466b66c936cb86842935))
2298
- * **tdd:** use step conclusion instead of non-existent output ([57bcd74](https://github.com/sovrium/sovrium/commit/57bcd74d984d7ea0baa7736af28542c8a4da38ee))
2299
- * **tdd:** use temp file instead of heredoc for issue creation ([163b023](https://github.com/sovrium/sovrium/commit/163b02388338d5e93827359241846e48e687ca1f))
2300
- * **test:** activate API-TABLES-PERMISSIONS-CONDITIONS-003 and correct field access ([#6612](https://github.com/sovrium/sovrium/issues/6612)) ([95e753c](https://github.com/sovrium/sovrium/commit/95e753cabbe42d53ececb34399720d35e0ce4ce5))
2301
- * **test:** activate MIGRATION-ALTER-ADD-001 and correct field definition ([#5728](https://github.com/sovrium/sovrium/issues/5728)) ([3ef5d62](https://github.com/sovrium/sovrium/commit/3ef5d62fd2b17fd548747c7256f42b1c192eed29))
2302
- * **test:** add missing description field to APP-PAGES-CTA-006 test schema ([39f786f](https://github.com/sovrium/sovrium/commit/39f786ffb126386c198a2b906f975c44f81928df))
2303
- * **test:** add missing WHEN comment in unique-constraints-null spec ([ca25935](https://github.com/sovrium/sovrium/commit/ca259356cdaa93527e9005266dc4790bafbdc080))
2304
- * **test:** add request fixture for API-only tests ([58dba4c](https://github.com/sovrium/sovrium/commit/58dba4ca61e1e0dad4fb8647de124e6dbc5e1afb))
2305
- * **test:** align E2E spec assertions with new error API response format ([e7a6bd9](https://github.com/sovrium/sovrium/commit/e7a6bd9ce5e0e4d3bea659441f39dc5fd633de0e))
2306
- * **test:** align E2E test expectations with actual API behavior ([c01b962](https://github.com/sovrium/sovrium/commit/c01b9628722be69c01541bf46782500754e75d25))
2307
- * **test:** APP-TABLES-UNIQUECONSTRAINTS-NULL-006 - correct reserved keyword and assertion ([#6118](https://github.com/sovrium/sovrium/issues/6118)) ([27d0668](https://github.com/sovrium/sovrium/commit/27d06682f08829d7f909f46711e3996970a9a358)), closes [#6011](https://github.com/sovrium/sovrium/issues/6011)
2308
- * **test:** correct animations test data and assertions ([f52f474](https://github.com/sovrium/sovrium/commit/f52f474a49b388b00a0becba2ddf6185c859ebea))
2309
- * **test:** correct APP-ARRAY-FIELD-002 test and add bigint parsing ([8306950](https://github.com/sovrium/sovrium/commit/8306950599e9cb4c4699ca74b63744022befddf2))
2310
- * **test:** correct APP-LANGUAGES-001 assertion to check current-language element ([24565b0](https://github.com/sovrium/sovrium/commit/24565b0575129bd1f6f1a551938d1a8a004f4e5b)), closes [#APP-LANGUAGES-001](https://github.com/sovrium/sovrium/issues/APP-LANGUAGES-001)
2311
- * **test:** correct APP-PAGES-012 to use absolute URLs for social media images ([1a4dc16](https://github.com/sovrium/sovrium/commit/1a4dc16c8b2773d015fbba131791fd18498a5ca7))
2312
- * **test:** correct APP-PAGES-DNS-002 assertions for head element placement ([#2468](https://github.com/sovrium/sovrium/issues/2468)) ([e5c9d25](https://github.com/sovrium/sovrium/commit/e5c9d25c8afa6e39c167453b93a08ce28edf62ae))
2313
- * **test:** correct APP-PAGES-DNS-003 assertion for head element placement ([#2469](https://github.com/sovrium/sovrium/issues/2469)) ([01fb8b3](https://github.com/sovrium/sovrium/commit/01fb8b3c4e0c9ff5fe087449c9085f8e2283d368))
2314
- * **test:** correct APP-PAGES-INLINE-008 assertion method ([#2561](https://github.com/sovrium/sovrium/issues/2561)) ([8d146c1](https://github.com/sovrium/sovrium/commit/8d146c184b30fded745f25a09391e0be96bbaadf))
2315
- * **test:** correct APP-PAGES-INTERACTION-ENTRANCE-005 assertion for browser normalization ([#2601](https://github.com/sovrium/sovrium/issues/2601)) ([91637f0](https://github.com/sovrium/sovrium/commit/91637f07da63e36c12caf2fe2b5fca9f4624bb49))
2316
- * **test:** correct APP-PAGES-INTERACTION-ENTRANCE-008 assertions for browser normalization ([#2623](https://github.com/sovrium/sovrium/issues/2623)) ([16d3119](https://github.com/sovrium/sovrium/commit/16d31190387f358700bca30d54a087a80d9df1ef))
2317
- * **test:** correct APP-PAGES-INTERACTION-HOVER-008 assertions for browser normalization ([#2624](https://github.com/sovrium/sovrium/issues/2624)) ([16fa34d](https://github.com/sovrium/sovrium/commit/16fa34d71682922e4e6cb8328ddb9109ec933dad))
2318
- * **test:** correct APP-PAGES-RESPONSIVE-002 assertion for CSS-based responsive content ([a8e6562](https://github.com/sovrium/sovrium/commit/a8e6562563c25a5e7e536a4c8efeb8f07319f59f))
2319
- * **test:** correct APP-TABLES-FIELD-SINGLE-LINE-TEXT-004 assertion for executeQuery metadata ([#4819](https://github.com/sovrium/sovrium/issues/4819)) ([2abd765](https://github.com/sovrium/sovrium/commit/2abd765a6e09547c48200a23e189b6cb0294835d))
2320
- * **test:** correct APP-TABLES-FIELD-SINGLE-LINE-TEXT-004 assertion for executeQuery metadata ([#4820](https://github.com/sovrium/sovrium/issues/4820)) ([43be5c7](https://github.com/sovrium/sovrium/commit/43be5c700ea0c146fbf4b733e7b8ac012f07e5bb))
2321
- * **test:** correct APP-TABLES-PERMISSIONS-006 test implementation ([#5059](https://github.com/sovrium/sovrium/issues/5059)) ([9949825](https://github.com/sovrium/sovrium/commit/9949825d57efe5656f7acb472b642f5b63a4365a))
2322
- * **test:** correct APP-TABLES-RECORD-PERMISSIONS-005 assertions per x-specs ([#5078](https://github.com/sovrium/sovrium/issues/5078)) ([e1023fc](https://github.com/sovrium/sovrium/commit/e1023fcce7c742cd481c7fe5de02193337f9fa9b))
2323
- * **test:** correct APP-TABLES-RLS-ENFORCEMENT-009 assertion for user_id field ([#5073](https://github.com/sovrium/sovrium/issues/5073)) ([dd8e9a6](https://github.com/sovrium/sovrium/commit/dd8e9a6a774b148776eda109169ea42a5ce1f0bf))
2324
- * **test:** correct APP-TABLES-VIEW-FIELDS-002 assertion to use .rows property ([#5609](https://github.com/sovrium/sovrium/issues/5609)) ([b5f1988](https://github.com/sovrium/sovrium/commit/b5f198866e9cb3ea821ecf117f01cf1e2830e974))
2325
- * **test:** correct APP-TABLES-VIEW-SORTS-005 assertion to use result.rows ([#5631](https://github.com/sovrium/sovrium/issues/5631)) ([5cb3875](https://github.com/sovrium/sovrium/commit/5cb387537e1de19aee2e745a3adf46eae6a7a9ac))
2326
- * **test:** correct APP-THEME-INTEGRATION-004 test structure and implement animation prop support ([7ac1688](https://github.com/sovrium/sovrium/commit/7ac16883c044ad74d55fa36ae4f953e8e68ddd3e))
2327
- * **test:** correct ARIA assertion for APP-BLOCKS-CHILDREN-009 ([#2266](https://github.com/sovrium/sovrium/issues/2266)) ([f74674d](https://github.com/sovrium/sovrium/commit/f74674d6ae4b953424accaabef6b85d0de93c1f2))
2328
- * **test:** correct ARIA assertions for text elements in APP-BLOCKS-BLOCK-CHILDREN-REGRESSION-001 ([#2254](https://github.com/sovrium/sovrium/issues/2254)) ([6362036](https://github.com/sovrium/sovrium/commit/63620362cc7e3777fbac759beafc3ceafa60debf))
2329
- * **test:** correct assertion and add database init for APP-TABLES-INDEXES-008 ([#4934](https://github.com/sovrium/sovrium/issues/4934)) ([e767330](https://github.com/sovrium/sovrium/commit/e7673303564250a782e452a7ae74ad72b5c4414c))
2330
- * **test:** correct assertion for APP-PAGES-BREADCRUMB-008 head element ([#2276](https://github.com/sovrium/sovrium/issues/2276)) ([20566f9](https://github.com/sovrium/sovrium/commit/20566f9d0d4b4491f50483245c8875cc21bd355e))
2331
- * **test:** correct assertion for APP-PAGES-BREADCRUMB-008 head element ([#2277](https://github.com/sovrium/sovrium/issues/2277)) ([2484e52](https://github.com/sovrium/sovrium/commit/2484e5280aba23609e5eef1d283ce497300a9985))
2332
- * **test:** correct assertion for APP-PAGES-DNS-005 head element per x-specs ([#2471](https://github.com/sovrium/sovrium/issues/2471)) ([7177cdb](https://github.com/sovrium/sovrium/commit/7177cdb865c67f6a11ad0df6336bfad02d806273))
2333
- * **test:** correct assertion for APP-PAGES-DNS-005 head element per x-specs ([#2472](https://github.com/sovrium/sovrium/issues/2472)) ([cb42c8e](https://github.com/sovrium/sovrium/commit/cb42c8e248990c8bed35671c169f7aae66763a84))
2334
- * **test:** correct assertion for APP-PAGES-DNS-009 ([#2477](https://github.com/sovrium/sovrium/issues/2477)) ([668baa4](https://github.com/sovrium/sovrium/commit/668baa40fb347605612c95278dfc0dc17a881901))
2335
- * **test:** correct assertion for APP-PAGES-EDUCATIONEVENT-013 head element per x-specs ([#2480](https://github.com/sovrium/sovrium/issues/2480)) ([7f14e50](https://github.com/sovrium/sovrium/commit/7f14e50e98a57d33ad5e016527a70eb951dfaafd))
2336
- * **test:** correct assertion for APP-PAGES-EXTERNAL-008 body script validation ([#2490](https://github.com/sovrium/sovrium/issues/2490)) ([a38149e](https://github.com/sovrium/sovrium/commit/a38149e2d45f5efae41750afed8ac0e2e0cdf266))
2337
- * **test:** correct assertion for APP-PAGES-EXTERNAL-009 body-start script validation ([#2491](https://github.com/sovrium/sovrium/issues/2491)) ([a6f5b4b](https://github.com/sovrium/sovrium/commit/a6f5b4bf2e71245918b87c9fa98f9e0b5cf768b6))
2338
- * **test:** correct assertion for APP-PAGES-INLINE-005 ([81e8126](https://github.com/sovrium/sovrium/commit/81e812659c1d2e51620ae692b8c424b753faa681))
2339
- * **test:** correct assertion for APP-PAGES-INTERACTION-HOVER-005 browser CSS normalization ([ae7e98d](https://github.com/sovrium/sovrium/commit/ae7e98d8eb9c68a53e50eb19325acb1fdc1b50d9))
2340
- * **test:** correct assertion for APP-TABLES-029 max length validation ([#5338](https://github.com/sovrium/sovrium/issues/5338)) ([eecf5f8](https://github.com/sovrium/sovrium/commit/eecf5f8db9fcc1e176f343a2aaf05bdbc8219fa1))
2341
- * **test:** correct assertion for APP-TABLES-FIELD-SINGLE-LINE-TEXT-011 ([#4828](https://github.com/sovrium/sovrium/issues/4828)) ([a37bc5d](https://github.com/sovrium/sovrium/commit/a37bc5ddd6ed886f753872e8862f4bc177bbd840))
2342
- * **test:** correct assertion for APP-TABLES-FIELD-TYPES-CHECKBOX-005 ([#4925](https://github.com/sovrium/sovrium/issues/4925)) ([31ee858](https://github.com/sovrium/sovrium/commit/31ee85837847900d28dbb9dcc8690efe45d23860))
2343
- * **test:** correct assertion for APP-TABLES-FIELD-UNIQUE-006 regression test ([#4935](https://github.com/sovrium/sovrium/issues/4935)) ([beb9bd3](https://github.com/sovrium/sovrium/commit/beb9bd302364cc0a498eef6089be61bf0cfada3d))
2344
- * **test:** correct assertion for APP-TABLES-FIELDS-002 minimum items validation ([#4775](https://github.com/sovrium/sovrium/issues/4775)) ([c08558f](https://github.com/sovrium/sovrium/commit/c08558f8bc556b3abdf4f04246c8f21af5157e39))
2345
- * **test:** correct assertion for APP-TABLES-FIELDS-002 minimum items validation ([#4776](https://github.com/sovrium/sovrium/issues/4776)) ([2c80d1a](https://github.com/sovrium/sovrium/commit/2c80d1a05c1143d4ff98985adcaeaadd6bc95694))
2346
- * **test:** correct assertion for APP-TABLES-INDEXES-006 ([#4920](https://github.com/sovrium/sovrium/issues/4920)) ([85984f1](https://github.com/sovrium/sovrium/commit/85984f134f67a0a3db97ff32a29a56b66cf5718c))
2347
- * **test:** correct assertion for APP-TABLES-INDEXES-009 regression test ([#4919](https://github.com/sovrium/sovrium/issues/4919)) ([7c06ba3](https://github.com/sovrium/sovrium/commit/7c06ba31e00a63c82fb559265e1fd9c46e3f39f4))
2348
- * **test:** correct assertion for APP-TABLES-TIMEZONE-008 - PostgreSQL COUNT returns number not string ([#6102](https://github.com/sovrium/sovrium/issues/6102)) ([dfedae0](https://github.com/sovrium/sovrium/commit/dfedae0e88d300aa761eefc9d82e1e306e68514b))
2349
- * **test:** correct assertion for body-start inline scripts test ([8c1693f](https://github.com/sovrium/sovrium/commit/8c1693ff5d400fd2be8cb27122302250130f37b2))
2350
- * **test:** correct assertion for custom roles in APP-TABLES-PERMISSIONS-011 per domain implementation ([#6082](https://github.com/sovrium/sovrium/issues/6082)) ([84b5a33](https://github.com/sovrium/sovrium/commit/84b5a33a601860542b088c4ef6d22034bbe80162))
2351
- * **test:** correct assertion for field-level write permission denial ([#6115](https://github.com/sovrium/sovrium/issues/6115)) ([5afbd88](https://github.com/sovrium/sovrium/commit/5afbd885f4e693b75984ed1fdeeda27d22ea9536))
2352
- * **test:** correct assertion for head element per x-specs ([#2259](https://github.com/sovrium/sovrium/issues/2259)) ([fd0e40f](https://github.com/sovrium/sovrium/commit/fd0e40fe2a8299e97a0124acbb27237b6a3ce2ad))
2353
- * **test:** correct assertion for head element per x-specs ([#2260](https://github.com/sovrium/sovrium/issues/2260)) ([d958e5e](https://github.com/sovrium/sovrium/commit/d958e5e42dc7b38a7ea391b9d4de267c3f8dd229))
2354
- * **test:** correct assertion for head element per x-specs ([#2823](https://github.com/sovrium/sovrium/issues/2823)) ([f0cfa1a](https://github.com/sovrium/sovrium/commit/f0cfa1a3ec1673240b67dec50c91627ef7f0ce8c))
2355
- * **test:** correct assertion for head element per x-specs in APP-PAGES-FAQPAGE-008 ([#2505](https://github.com/sovrium/sovrium/issues/2505)) ([18b4644](https://github.com/sovrium/sovrium/commit/18b4644606747b9b803d8b23c2989535778021c2))
2356
- * **test:** correct assertion for ID in APP-TABLES-UNIQUECONSTRAINTS-NULL-003 ([#6108](https://github.com/sovrium/sovrium/issues/6108)) ([bd93c6b](https://github.com/sovrium/sovrium/commit/bd93c6b8629dbe46337df0696d73e0807180bbba))
2357
- * **test:** correct assertion for MIGRATION-ERROR-004 ([#6124](https://github.com/sovrium/sovrium/issues/6124)) ([ae3cea8](https://github.com/sovrium/sovrium/commit/ae3cea8bfec18ec20799c18a3a378c59fb7a4043))
2358
- * **test:** correct assertion for MIGRATION-MODIFY-INDEX-004 - use full field name in index ([#6148](https://github.com/sovrium/sovrium/issues/6148)) ([d51b834](https://github.com/sovrium/sovrium/commit/d51b8344a1cb1fb4fe0d0bdb289f067973471fc4))
2359
- * **test:** correct assertion for multi-row query in APP-TABLES-FIELD-TYPES-COLOR-003 ([#4918](https://github.com/sovrium/sovrium/issues/4918)) ([e87f66c](https://github.com/sovrium/sovrium/commit/e87f66c301f300dd02379143b7a98483ed69e156)), closes [#FF5733](https://github.com/sovrium/sovrium/issues/FF5733) [#3498DB](https://github.com/sovrium/sovrium/issues/3498DB)
2360
- * **test:** correct assertion for multi-row query result in APP-TABLES-FIELD-INDEXED-004 ([#4792](https://github.com/sovrium/sovrium/issues/4792)) ([39a7fc0](https://github.com/sovrium/sovrium/commit/39a7fc0bbea51b41d6e5304b12d6d754ab533868))
2361
- * **test:** correct assertion for multi-row query result in APP-TABLES-FIELD-INDEXED-004 ([#4793](https://github.com/sovrium/sovrium/issues/4793)) ([350e986](https://github.com/sovrium/sovrium/commit/350e9862183a618f4e9a36008886532ef61910ed))
2362
- * **test:** correct assertion for multi-row query result in APP-TABLES-FIELD-TYPES-DURATION-002 ([#4886](https://github.com/sovrium/sovrium/issues/4886)) ([a09fc94](https://github.com/sovrium/sovrium/commit/a09fc946e21c8294d68c1c20cba227459617757e))
2363
- * **test:** correct assertion for multiple-row query result in APP-TABLES-VIEWS-003 ([#5589](https://github.com/sovrium/sovrium/issues/5589)) ([bd8a5c3](https://github.com/sovrium/sovrium/commit/bd8a5c3475be3e32d29916dc1ddb342b2136b2aa))
2364
- * **test:** correct assertion for percentage field index test ([#5632](https://github.com/sovrium/sovrium/issues/5632)) ([1f850e7](https://github.com/sovrium/sovrium/commit/1f850e723d7115a9cc522e3804d6e31dfece3382))
2365
- * **test:** correct assertion for pg_indexes query result structure ([#4944](https://github.com/sovrium/sovrium/issues/4944)) ([4c83722](https://github.com/sovrium/sovrium/commit/4c837223bfc3fd010034044308b600f2c7a76b63))
2366
- * **test:** correct assertion for PostgreSQL COUNT() return type in APP-TABLES-UNIQUECONSTRAINTS-NULL-001 ([#6106](https://github.com/sovrium/sovrium/issues/6106)) ([04842b0](https://github.com/sovrium/sovrium/commit/04842b061b76817d13d7f36e56feb17a98d75907))
2367
- * **test:** correct assertion for unique constraint naming convention ([#6141](https://github.com/sovrium/sovrium/issues/6141)) ([1f25f65](https://github.com/sovrium/sovrium/commit/1f25f65fcc75d14be7721de6e549fb0227b79863))
2368
- * **test:** correct assertion for view sorts test APP-TABLES-VIEW-SORTS-001 ([#5627](https://github.com/sovrium/sovrium/issues/5627)) ([56ea595](https://github.com/sovrium/sovrium/commit/56ea5954462dd4853698fd2b114ce1bbab4ccaf9))
2369
- * **test:** correct assertion type for count in APP-TABLES-UNIQUECONSTRAINTS-NULL-002 ([#6107](https://github.com/sovrium/sovrium/issues/6107)) ([5f6aa11](https://github.com/sovrium/sovrium/commit/5f6aa11ac4490a033f110e5d22706164b49b89fb))
2370
- * **test:** correct assertions for APP-PAGES-INLINE-007 and APP-PAGES-INLINE-008 ([#2570](https://github.com/sovrium/sovrium/issues/2570)) ([035a95f](https://github.com/sovrium/sovrium/commit/035a95fb8cef2dc763a7d6746cb558108641231a))
2371
- * **test:** correct assertions for APP-TABLES-FIELD-LONG-TEXT-001 ([#4797](https://github.com/sovrium/sovrium/issues/4797)) ([2dc4645](https://github.com/sovrium/sovrium/commit/2dc46454317478af20ec644c41e12a90b023ff3c))
2372
- * **test:** correct assertions for APP-TABLES-FIELD-TYPES-CREATED-AT-006 ([#4931](https://github.com/sovrium/sovrium/issues/4931)) ([dd0250c](https://github.com/sovrium/sovrium/commit/dd0250c25fac9baf1cbcf907786a5c6150efe8d9))
2373
- * **test:** correct assertions for APP-TABLES-UNIQUECONSTRAINTS-NULL-008 ([#6120](https://github.com/sovrium/sovrium/issues/6120)) ([c813fff](https://github.com/sovrium/sovrium/commit/c813fff74430eae000e92939c3ea487c981ff942))
2374
- * **test:** correct assertions for FAQ Page structured data tests ([#2506](https://github.com/sovrium/sovrium/issues/2506)) ([6a5eb79](https://github.com/sovrium/sovrium/commit/6a5eb796ea6daaba210a22ee2b0277c16e38a4df))
2375
- * **test:** correct assertions in APP-TABLES-FIELD-SINGLE-LINE-TEXT-010 ([#4827](https://github.com/sovrium/sovrium/issues/4827)) ([c020d99](https://github.com/sovrium/sovrium/commit/c020d991aeccf73b8db032310e85fbb894f0273c))
2376
- * **test:** correct block structure in APP-PAGES-SECTIONS-010 ([#2984](https://github.com/sovrium/sovrium/issues/2984)) ([4cd3808](https://github.com/sovrium/sovrium/commit/4cd3808a02cae96de662571e9f5794da7449e368))
2377
- * **test:** correct component type from 'img' to 'image' in APP-PAGES-DEFINITIONS-011 ([#2464](https://github.com/sovrium/sovrium/issues/2464)) ([dd50df8](https://github.com/sovrium/sovrium/commit/dd50df80f69332a2ce5b5ad72684a9fb9f27229b))
2378
- * **test:** correct CSS time format assertions for APP-PAGES-INTERACTION-ENTRANCE-007 ([#2616](https://github.com/sovrium/sovrium/issues/2616)) ([7b44420](https://github.com/sovrium/sovrium/commit/7b44420882e4f5ae04828d71922566eab74c9d7e))
2379
- * **test:** correct CSS time format assertions for APP-PAGES-INTERACTION-ENTRANCE-007 ([#2617](https://github.com/sovrium/sovrium/issues/2617)) ([4ec5b79](https://github.com/sovrium/sovrium/commit/4ec5b79e46491132b9a9b78e0e3b2951d9f9c2f3))
2380
- * **test:** correct date assertion in APP-TABLES-FIELD-TYPES-LOOKUP-012 ([#5565](https://github.com/sovrium/sovrium/issues/5565)) ([6633438](https://github.com/sovrium/sovrium/commit/6633438cdfcab9b925ff303c0f7dded45ae2de93))
2381
- * **test:** correct date assertion in APP-TABLES-FIELD-TYPES-LOOKUP-012 ([#5566](https://github.com/sovrium/sovrium/issues/5566)) ([6d5519b](https://github.com/sovrium/sovrium/commit/6d5519bc488a3f27c0882c4101237c6b2cc731cf))
2382
- * **test:** correct date assertions for MIN/MAX rollup aggregations ([#5645](https://github.com/sovrium/sovrium/issues/5645)) ([d946efb](https://github.com/sovrium/sovrium/commit/d946efb008712af85db166d4fd191970f350b25c))
2383
- * **test:** correct decimal assertions in formula field regression test ([#5040](https://github.com/sovrium/sovrium/issues/5040)) ([0d8988c](https://github.com/sovrium/sovrium/commit/0d8988c80b045b97cf37278accb10af86d760e6a))
2384
- * **test:** correct deleted-by field regression test table name and activate test ([#5980](https://github.com/sovrium/sovrium/issues/5980)) ([4a4f198](https://github.com/sovrium/sovrium/commit/4a4f19860a34842b885976b47aa72afe3ec845b5))
2385
- * **test:** correct DNS prefetch test assertion and data ([#1694](https://github.com/sovrium/sovrium/issues/1694)) ([244d409](https://github.com/sovrium/sovrium/commit/244d40998a5b25cecc812da9ea45c5a29179f42a))
2386
- * **test:** correct executeQuery assertion for checkbox field test ([#4843](https://github.com/sovrium/sovrium/issues/4843)) ([dab50b8](https://github.com/sovrium/sovrium/commit/dab50b80808c3c7f37c7de9648b7df3d231f4c2b))
2387
- * **test:** correct executeQuery assertion for multiple rows in APP-TABLES-FIELD-TYPES-DATE-002 ([#4882](https://github.com/sovrium/sovrium/issues/4882)) ([49d0d0f](https://github.com/sovrium/sovrium/commit/49d0d0ff968fda8965a3406766705b306e42a9fe))
2388
- * **test:** correct executeQuery assertion for multiple rows in APP-TABLES-FIELD-TYPES-TIME-002 ([07bfc09](https://github.com/sovrium/sovrium/commit/07bfc0975319c6c00097771d6f68145e53faa4b4))
2389
- * **test:** correct executeQuery assertion pattern for geolocation distance test ([#4888](https://github.com/sovrium/sovrium/issues/4888)) ([afb1412](https://github.com/sovrium/sovrium/commit/afb1412021dec5718e86ad0d4b92036284a83b15))
2390
- * **test:** correct executeQuery assertion pattern for integer field index test ([#5063](https://github.com/sovrium/sovrium/issues/5063)) ([f3e51b3](https://github.com/sovrium/sovrium/commit/f3e51b3a0f4cb0a7b94c6e116fcf72a654b646a7))
2391
- * **test:** correct executeQuery assertions for APP-TABLES-FIELD-TYPES-DATETIME-002 ([#4883](https://github.com/sovrium/sovrium/issues/4883)) ([8106b6f](https://github.com/sovrium/sovrium/commit/8106b6fc3603facd958e87f0afb7854d0402352d))
2392
- * **test:** correct executeQuery assertions for APP-TABLES-VIEW-CONDITION-001 ([#5599](https://github.com/sovrium/sovrium/issues/5599)) ([1c6aef0](https://github.com/sovrium/sovrium/commit/1c6aef0a1d439af54e088bf79ce6a45204d5487d))
2393
- * **test:** correct executeQuery assertions in view-fields tests ([#5607](https://github.com/sovrium/sovrium/issues/5607)) ([6f24ce2](https://github.com/sovrium/sovrium/commit/6f24ce26c5c11c935202be6597fe84f973e9d3a8))
2394
- * **test:** correct field type for FK constraint in MIGRATION-RENAME-TABLE-002 ([#6190](https://github.com/sovrium/sovrium/issues/6190)) ([9cb5728](https://github.com/sovrium/sovrium/commit/9cb5728d024eba31e2f72c76544131d5dc7ae840))
2395
- * **test:** correct head element assertion in APP-PAGES-META-007 ([#2717](https://github.com/sovrium/sovrium/issues/2717)) ([6862505](https://github.com/sovrium/sovrium/commit/6862505f0e51d9fa5fea79101aa547aae516e0d2))
2396
- * **test:** correct inline style assertion for STATIC-ASSETS-004 ([04f6a8d](https://github.com/sovrium/sovrium/commit/04f6a8d456dd3173fc00ca8ac1376d949c216cdd))
2397
- * **test:** correct JSONB parsing in APP-TABLES-FIELD-TYPES-MULTIPLE-ATTACHMENTS-009 ([#5572](https://github.com/sovrium/sovrium/issues/5572)) ([f196108](https://github.com/sovrium/sovrium/commit/f196108a44709eb9c74fc650d7ea12f6ba872497))
2398
- * **test:** correct lookup field date assertion to match pg fixtures ([#5560](https://github.com/sovrium/sovrium/issues/5560)) ([01f8463](https://github.com/sovrium/sovrium/commit/01f846327aee71646837ef01eaeecd486f2fa9de))
2399
- * **test:** correct MIGRATION-ALTER-ADD-007 fixture usage ([#5740](https://github.com/sovrium/sovrium/issues/5740)) ([32401a7](https://github.com/sovrium/sovrium/commit/32401a74b12eb1f86ea6d080f6ec88c293ae11db))
2400
- * **test:** correct MIGRATION-AUDIT-002 assertions to match executeQuery return type ([#5731](https://github.com/sovrium/sovrium/issues/5731)) ([d065127](https://github.com/sovrium/sovrium/commit/d065127742a9f72dbd082c88867b5753e94abf40))
2401
- * **test:** correct page name to use snake_case in analytics regression test ([dc08de8](https://github.com/sovrium/sovrium/commit/dc08de814ebe4e95126bfdec0b02a6b92af3006c))
2402
- * **test:** correct RLS policy type casts and FORCE setting for APP-TABLES-RECORD-PERMISSIONS-007 ([#5080](https://github.com/sovrium/sovrium/issues/5080)) ([f8732a8](https://github.com/sovrium/sovrium/commit/f8732a8661d1c4feb31683f1969dad753101bf17))
2403
- * **test:** correct selector for entrance animation regression test ([#2644](https://github.com/sovrium/sovrium/issues/2644)) ([909a6b8](https://github.com/sovrium/sovrium/commit/909a6b850f0abae7cb513eb1060d61025e583a2d))
2404
- * **test:** correct shadow-none assertion to preserve theme values ([d24f93a](https://github.com/sovrium/sovrium/commit/d24f93a8fcae6113f46ecf05fe3b82edb053c44b))
2405
- * **test:** correct SQL injection test assertion for APP-TABLES-FIELD-SINGLE-LINE-TEXT-008 ([#4825](https://github.com/sovrium/sovrium/issues/4825)) ([4092a78](https://github.com/sovrium/sovrium/commit/4092a780ad254579b6e3a111f1d0b1dfe6655ff5))
2406
- * **test:** correct STATIC-I18N-002 assertions for React HTML output ([13852b2](https://github.com/sovrium/sovrium/commit/13852b2728c9f275fea4b61e5dc95b144a2b9df2))
2407
- * **test:** correct STATIC-I18N-003 hreflang attribute casing ([9100d8d](https://github.com/sovrium/sovrium/commit/9100d8d96b018295b6f6186d06eb75de26f577fe))
2408
- * **test:** correct STATIC-I18N-004 assertions for Prettier HTML formatting ([17dc04a](https://github.com/sovrium/sovrium/commit/17dc04a70d5ea38a00e8b42d2aa7b33cee1f5c0f))
2409
- * **test:** correct test assertions for APP-PAGES-008, APP-PAGES-PATH-013, and APP-PAGES-INLINE-001 ([cb3363e](https://github.com/sovrium/sovrium/commit/cb3363eddc1253a644e85f14f28495a61c35d55a))
2410
- * **test:** correct test assertions for APP-PAGES-008, APP-PAGES-PATH-013, and APP-PAGES-INLINE-001 ([#1718](https://github.com/sovrium/sovrium/issues/1718)) ([17bdb40](https://github.com/sovrium/sovrium/commit/17bdb40a8f71349ee81005dcac039efd648caddb))
2411
- * **test:** correct test data for APP-PAGES-BANNER-001 ([#1687](https://github.com/sovrium/sovrium/issues/1687)) ([67a106c](https://github.com/sovrium/sovrium/commit/67a106c021913c9455267037f2bb058381cfbbc1))
2412
- * **test:** correct test expectations to match actual behavior ([44cf6ac](https://github.com/sovrium/sovrium/commit/44cf6ac97ec384c5e5fd4c0518a1977d66d44a52))
2413
- * **test:** correct view id and table reference in APP-TABLES-FIELD-TYPES-RELATIONSHIP-013 ([#6121](https://github.com/sovrium/sovrium/issues/6121)) ([0a1c5c4](https://github.com/sovrium/sovrium/commit/0a1c5c47c21fee1b384460a52f8474a24c5ff000))
2414
- * **test:** handle race condition in email waitForEmail functions ([6e4b040](https://github.com/sovrium/sovrium/commit/6e4b04025a5fc830df32b98fc34445d0a7e011b9))
2415
- * **test:** implement APP-PAGES-CUSTOM-002 - correct assertion and test data for link custom element ([#2307](https://github.com/sovrium/sovrium/issues/2307)) ([51a3297](https://github.com/sovrium/sovrium/commit/51a3297e8c85084a038fb8f4a900935fbed11ff5))
2416
- * **test:** implement APP-PAGES-META-CUSTOM-ELEMENTS-REGRESSION-001 ([#2724](https://github.com/sovrium/sovrium/issues/2724)) ([56aff76](https://github.com/sovrium/sovrium/commit/56aff763cd2cd1dd930e0b964efdd420d8124b9b))
2417
- * **test:** implement APP-PAGES-META-FAVICONS-FAVICON-REGRESSION-001 ([#2725](https://github.com/sovrium/sovrium/issues/2725)) ([ba6e9f8](https://github.com/sovrium/sovrium/commit/ba6e9f8751a25aa7273ea79e601ded0b40f9fd62))
2418
- * **test:** implement APP-PAGES-META-PERFORMANCE-DNS-PREFETCH-REGRESSION-001 ([#2728](https://github.com/sovrium/sovrium/issues/2728)) ([e1de0f7](https://github.com/sovrium/sovrium/commit/e1de0f752c9020bc7c6d0e106238bfa0c25eb050))
2419
- * **test:** implement APP-PAGES-META-PERFORMANCE-DNS-PREFETCH-REGRESSION-001 ([#2730](https://github.com/sovrium/sovrium/issues/2730)) ([3ed3bc3](https://github.com/sovrium/sovrium/commit/3ed3bc3b57e5659398ee57ab5ec6d73460a973b2))
2420
- * **test:** implement APP-TABLES-FIELD-LONG-TEXT-002 ([#4798](https://github.com/sovrium/sovrium/issues/4798)) ([33c18f1](https://github.com/sovrium/sovrium/commit/33c18f11456b1d7fa25956e121702012f7182e1d))
2421
- * **test:** implement APP-TABLES-FIELD-LONG-TEXT-004 - btree index creation for long-text fields ([#4800](https://github.com/sovrium/sovrium/issues/4800)) ([e4546a6](https://github.com/sovrium/sovrium/commit/e4546a67e7c86e8b10f9eeac593b13cd2d2211b0))
2422
- * **test:** implement APP-TABLES-FIELD-REQUIRED-001 - required field validation ([#4809](https://github.com/sovrium/sovrium/issues/4809)) ([df8c7c9](https://github.com/sovrium/sovrium/commit/df8c7c964bf6237b769672f99c6fb17de28e9c80))
2423
- * **test:** implement APP-TABLES-FIELD-SINGLE-LINE-TEXT-009 ([#4826](https://github.com/sovrium/sovrium/issues/4826)) ([aa269ed](https://github.com/sovrium/sovrium/commit/aa269ed2828e9569a11adcb0643964cc48b19657))
2424
- * **test:** implement APP-TABLES-FIELD-TYPES-AUTONUMBER-006 - correct executeQuery assertions ([#4909](https://github.com/sovrium/sovrium/issues/4909)) ([01deaca](https://github.com/sovrium/sovrium/commit/01deacaec7712ab05fc7399109e84af307410241))
2425
- * **test:** implement APP-TABLES-FIELD-TYPES-CREATED-BY-002 ([#4880](https://github.com/sovrium/sovrium/issues/4880)) ([64deb52](https://github.com/sovrium/sovrium/commit/64deb520321598dfa2a2610b61a28d19ece6e38b))
2426
- * **test:** implement APP-TABLES-FIELD-TYPES-LOOKUP-004 ([#5082](https://github.com/sovrium/sovrium/issues/5082)) ([93066e0](https://github.com/sovrium/sovrium/commit/93066e092df07cfdf6c2ebbdbec83983d8d9672f))
2427
- * **test:** implement APP-TABLES-FIELD-UNIQUE-003 ([#4912](https://github.com/sovrium/sovrium/issues/4912)) ([ba14fb0](https://github.com/sovrium/sovrium/commit/ba14fb07a687c8a4114280b054b39b8d204196cf))
2428
- * **test:** implement APP-TABLES-FIELD-URL-001 - correct executeQuery assertions ([#4910](https://github.com/sovrium/sovrium/issues/4910)) ([33af7f4](https://github.com/sovrium/sovrium/commit/33af7f46749420f59be9c3a72f0f9d71afaa2136))
2429
- * **test:** implement APP-TABLES-FIELD-URL-001 - correct executeQuery assertions ([#4911](https://github.com/sovrium/sovrium/issues/4911)) ([92ed070](https://github.com/sovrium/sovrium/commit/92ed07069967ad41a958e51d305e15df1d51d013))
2430
- * **test:** implement APP-TABLES-INDEXES-008 - GIN index for full-text search ([#4922](https://github.com/sovrium/sovrium/issues/4922)) ([b3c7014](https://github.com/sovrium/sovrium/commit/b3c7014b2ba452e013632a8adf174ea2b448d8c8))
2431
- * **test:** implement APP-THEME-BORDER-RADIUS-REGRESSION-001 - correct ARIA assertions for border-radius workflow ([#2256](https://github.com/sovrium/sovrium/issues/2256)) ([2a051a2](https://github.com/sovrium/sovrium/commit/2a051a2a6796459e3102be5b7a1516c1f2f71f4a))
2432
- * **test:** implement APP-THEME-SPACING-008 - margin variants ([#1819](https://github.com/sovrium/sovrium/issues/1819)) ([c63214b](https://github.com/sovrium/sovrium/commit/c63214be30fe3081558b4a67127848e611c0085a))
2433
- * **test:** implement MIGRATION-ERROR-011 - correct assertion pattern for constraint violations ([#6131](https://github.com/sovrium/sovrium/issues/6131)) ([7631488](https://github.com/sovrium/sovrium/commit/7631488b4cdb1eb17efe36bd43e511546ed62404))
2434
- * **test:** improve RLS test infrastructure and fix APP-TABLES-PERMISSIONS-009 ([e46a3cf](https://github.com/sovrium/sovrium/commit/e46a3cf09ea5f9198d3ba75ba5e80d4a6b305a6d))
2435
- * **test:** make datetime format assertion timezone-agnostic ([ff41028](https://github.com/sovrium/sovrium/commit/ff4102872a92d8d47aaef352ced571626a25d138))
2436
- * **test:** resolve table name conflict with Better Auth users table ([e1badfd](https://github.com/sovrium/sovrium/commit/e1badfd4425902e8c9f7240bc073c325c5b675ff))
2437
- * **test:** restore globalThis.fetch after remote-loader tests ([9bc8fd9](https://github.com/sovrium/sovrium/commit/9bc8fd9a416bb04a0cbabfd3757d9b8e9cc23eb4))
2438
- * **tests:** add unique output directories to build() tests for isolation ([f59acfc](https://github.com/sovrium/sovrium/commit/f59acfc90f0c6459e907091ef86c7f1204d0f53b))
2439
- * **tests:** fix 3 failing E2E regression tests ([fc4e6a2](https://github.com/sovrium/sovrium/commit/fc4e6a25ba4f80eafbbd1ac4cc20638f4325c217))
2440
- * **tests:** fix 8 role-based-access tests, document 5 implementation gaps ([e832a66](https://github.com/sovrium/sovrium/commit/e832a66c35d8be66c6cdc0429b4843cc24b2ff9a))
2441
- * **tests:** fix schema-resolver test and document Bun test discovery limitation ([1fa7e60](https://github.com/sovrium/sovrium/commit/1fa7e605feb343cad2c94f48de60e8867fb02af4))
2442
- * **tests:** increase BETTER_AUTH_SECRET length to 32+ chars ([1b877b3](https://github.com/sovrium/sovrium/commit/1b877b32c55c1b81391b84b7d000e9e1c381795f))
2443
- * **test:** sort emails by creation time in waitForEmail to prevent stale ID 404s ([1bace3d](https://github.com/sovrium/sovrium/commit/1bace3d148180788dc4f94eb25cb33b43b259c76))
2444
- * **tests:** resolve CI failures for unit tests, lint, and typecheck ([6a7ee57](https://github.com/sovrium/sovrium/commit/6a7ee574419cf29988bf0e6e5498e342c94146d5))
2445
- * **tests:** resolve database connection termination in E2E global setup ([90d7581](https://github.com/sovrium/sovrium/commit/90d7581ee13bcbc55dd1861e7adbbf884c61c9a5))
2446
- * **tests:** resolve quality check errors and E2E test failures ([b8edfd7](https://github.com/sovrium/sovrium/commit/b8edfd7ab5be43f58b0042aad82b00559c11ca2e))
2447
- * **tests:** resolve session cookie overwrite in RLS owner filtering test ([96e454a](https://github.com/sovrium/sovrium/commit/96e454a07178ccd06f2649283c283f9d6237edd0))
2448
- * **tests:** resolve TypeScript and ESLint errors in unit tests ([630890e](https://github.com/sovrium/sovrium/commit/630890eb216047fad2037d1dce3f369843e3a6c6))
2449
- * **tests:** update permission tests to use real user IDs for FK constraints ([a8a24a9](https://github.com/sovrium/sovrium/commit/a8a24a993d1c79f1cf2e540ba588decc59b4e92e))
2450
- * **tests:** update record-permissions tests to use real user IDs ([c58e779](https://github.com/sovrium/sovrium/commit/c58e77992e7ebf7f833e44015b6ee679ffae3896))
2451
- * **tests:** use database queries for role fixtures instead of admin API ([6ebc589](https://github.com/sovrium/sovrium/commit/6ebc5891867fc1cfda371a1498eec3311b817fc2))
2452
- * **test:** update APP-PAGES-DEFINITIONS-001 test data with required description field ([#1693](https://github.com/sovrium/sovrium/issues/1693)) ([5e4896b](https://github.com/sovrium/sovrium/commit/5e4896bf3921f0fb940f208a7d1e7b975420ee53))
2453
- * **test:** update APP-PAGES-META-011 test data to match analytics schema ([#2721](https://github.com/sovrium/sovrium/issues/2721)) ([bec97a4](https://github.com/sovrium/sovrium/commit/bec97a4aedf32787799773e57a28065177b33195))
2454
- * **test:** update APP-THEME-RADIUS-006 with proper test data ([#2931](https://github.com/sovrium/sovrium/issues/2931)) ([07a22e5](https://github.com/sovrium/sovrium/commit/07a22e52537fa743ddd004c6fd51d6244e7d3153))
2455
- * **test:** update APP-THEME-RADIUS-006 with proper test data ([#2932](https://github.com/sovrium/sovrium/issues/2932)) ([d5e0a5f](https://github.com/sovrium/sovrium/commit/d5e0a5f831d80eb622db4724e757b285f08ab0f6))
2456
- * **test:** use Effect.either pattern for copyPublicAssets test ([7bed400](https://github.com/sovrium/sovrium/commit/7bed400d35eb1de0010035cd8deb0a6368250f24))
2457
- * **test:** use Number() coercion for COUNT assertions in JSON field tests ([fcce774](https://github.com/sovrium/sovrium/commit/fcce77448593b4405d2a859d95982a517d841423))
2458
- * **test:** use test.setTimeout() for languages regression timeout ([c0a527f](https://github.com/sovrium/sovrium/commit/c0a527f5c599664b1ca5f9d8c016b18777e5e4e5))
2459
- * trigger Claude Code for lint/typecheck/unit test failures ([556ad43](https://github.com/sovrium/sovrium/commit/556ad43caee9b1729b8c2813b54dc3c78c62d78f))
2460
- * trigger Claude Code via [@claude](https://github.com/claude) mention using user's PAT (replaces workflow_run) ([f46ebc4](https://github.com/sovrium/sovrium/commit/f46ebc458abf96a4ea2d0a9ae1a1f4642005c409))
2461
- * two-factor verify tests now pass with correct Better Auth endpoints ([2ded94c](https://github.com/sovrium/sovrium/commit/2ded94c3ad5a2213af144aad5084351a13e27ddc))
2462
- * **typecheck:** eliminate all Effect diagnostic warnings ([a907fe7](https://github.com/sovrium/sovrium/commit/a907fe70b7733becc03a40d5ec504c6ab9a242c0))
2463
- * **types:** use type import for BatchValidationError to fix ESLint consistent-type-imports violation ([98d8b47](https://github.com/sovrium/sovrium/commit/98d8b47bce97b49e0cf21493d42cf9da3b316b18))
2464
- * update .fixme test assertions for special fields compatibility ([c9e9b2b](https://github.com/sovrium/sovrium/commit/c9e9b2be325ab99752ed33b6a56fe0c16df8cdb1))
2465
- * update BlockPropsSchema to support data-* and aria-* attributes ([ed198be](https://github.com/sovrium/sovrium/commit/ed198bee16a98ca547fdab52f1624ec8e9cafb36))
2466
- * update blocks tests to use pages with sections ([c5ca397](https://github.com/sovrium/sovrium/commit/c5ca397dfb348c435a61fce2eb6f2b0eb9d2f645))
2467
- * update claude-code-action to v1.0.16 and improve timeout detection ([0239262](https://github.com/sovrium/sovrium/commit/0239262982d5b70fc23cae82ca0abd304e1c6e68)), closes [#1381](https://github.com/sovrium/sovrium/issues/1381)
2468
- * update CLI test fixtures to use correct command format ([5237289](https://github.com/sovrium/sovrium/commit/52372897d0d8532e4668dc15c9c1820c0204892d))
2469
- * update landing page template with UI fixes ([99a2f1c](https://github.com/sovrium/sovrium/commit/99a2f1c5b3da9b004c14939dfc795a04e1cd75b7))
2470
- * update landing-page.json template to match E2E test expectations (9/15 steps passing) ([fb9a1c1](https://github.com/sovrium/sovrium/commit/fb9a1c18315a495762f0d02e42ec14faf1f810ac)), closes [#3b82f6](https://github.com/sovrium/sovrium/issues/3b82f6) [#111827](https://github.com/sovrium/sovrium/issues/111827)
2471
- * update language spec files for short code URL pattern ([9e54835](https://github.com/sovrium/sovrium/commit/9e54835f3b4de7fdcdde5dc9d55d39e1fdde9ecf))
2472
- * update layout tests for position-specific sidebar test IDs and add data-component-type attribute ([7198705](https://github.com/sovrium/sovrium/commit/7198705ddd7821110928a09e4287cea7061b88fb))
2473
- * update permissions regression test to use valid custom role name ([4dc1dba](https://github.com/sovrium/sovrium/commit/4dc1dba73e8079d1150251990c04fe1c046a29d2))
2474
- * update PR branch pattern detection in claude-tdd workflow ([82eabc5](https://github.com/sovrium/sovrium/commit/82eabc58fcc2873570412a35fc00e8a64fd831e9))
2475
- * update README badge regex to handle angle-bracket URL format ([7997f13](https://github.com/sovrium/sovrium/commit/7997f13b51b29bf7517d392fbf3dc1e21fb09eae))
2476
- * update regression tests to use nested fields format ([e3d1265](https://github.com/sovrium/sovrium/commit/e3d1265042088672919fa714a17f57b98e9020fa))
2477
- * update remaining blocks tests (APP-BLOCKS-008, 009) to use pages ([04d70be](https://github.com/sovrium/sovrium/commit/04d70be73749a9d39a135a3373588f4dc6f1526d))
2478
- * update rollback tests to use valid field arrays and fix executeQuery result access ([a8977b3](https://github.com/sovrium/sovrium/commit/a8977b3d43612033350ff2479b741050b33fa2c7))
2479
- * update single-line-text field tests to expect VARCHAR(255) ([9e16dcb](https://github.com/sovrium/sovrium/commit/9e16dcbe9b6cf5be14e6843912160ec377db0b2c))
2480
- * update spec count headers to match actual test counts ([3cc5098](https://github.com/sovrium/sovrium/commit/3cc509840a4c1bfa03c00b5a30e1239dfaf3c9bd))
2481
- * update SPEC-STATE.md references to SPEC-PROGRESS.md ([9ef8bb6](https://github.com/sovrium/sovrium/commit/9ef8bb61710ec738df76684d1068121f0d486d80))
2482
- * update two-factor disable test expectations to match Better Auth behavior ([ec5652c](https://github.com/sovrium/sovrium/commit/ec5652cc3641ec12d37a5f5bffad69dbe839f5f8))
2483
- * update-spec-progress runs on test success for all events ([e15e991](https://github.com/sovrium/sovrium/commit/e15e9918e5c7c68e332dd8243c4a46c39b3a7abf))
2484
- * **upsert:** resolve TypeScript errors for API-TABLES-RECORDS-UPSERT-003 ([bd7c116](https://github.com/sovrium/sovrium/commit/bd7c1163d6097a9e1058adaf3f4c827d639f0b64))
2485
- * use 30-day window for TDD metrics and add missing GIVEN comment ([48181fe](https://github.com/sovrium/sovrium/commit/48181fe60741f80acdc0e1b0befcf8f26628fd3a))
2486
- * use ASCII comparison for endpoint sorting consistency ([192e084](https://github.com/sovrium/sovrium/commit/192e0842c8539af003be1a5c3b07a0599b0ffdd9))
2487
- * use body-file parameter for gh issue comment commands ([988d4ce](https://github.com/sovrium/sovrium/commit/988d4cef0d85ed1a643c562519cca37f917c6bd2))
2488
- * use camelCase for React transition style properties ([dc383c3](https://github.com/sovrium/sovrium/commit/dc383c3e5ce20d21ab84a63a9eef8046cca65158))
2489
- * use correct --dangerously-skip-permissions flag instead of --auto-approve ([e08d617](https://github.com/sovrium/sovrium/commit/e08d6178f4bcd783e25329e413d19ae3567a74b8))
2490
- * use correct Better Auth endpoint /set-active in organization specs ([17bf91e](https://github.com/sovrium/sovrium/commit/17bf91e6adb81295a14647b0e376bd8356187402))
2491
- * use empty prompt for issue_comment to enable automatic comment extraction ([e6ac8c2](https://github.com/sovrium/sovrium/commit/e6ac8c28d084fe98aa3135500151e74fffb69950))
2492
- * use expect.poll() for fire-and-forget analytics DB write assertions ([d919efb](https://github.com/sovrium/sovrium/commit/d919efb1ff8a95e12393daf98e957d49fce154a0))
2493
- * use full locales for hreflang attributes in SEO links ([6b995d8](https://github.com/sovrium/sovrium/commit/6b995d815183e2f3c85af229e63d2695061a2207))
2494
- * use GH_PAT_WORKFLOW for workflows that trigger Claude ([b04378c](https://github.com/sovrium/sovrium/commit/b04378c18fdd61d7141b97c9d82c80b223a59b9d))
2495
- * use GH_PAT_WORKFLOW instead of github.token for [@claude](https://github.com/claude) mentions ([009ce42](https://github.com/sovrium/sovrium/commit/009ce4202a66818b2e8aaaccecd51738466ff26e)), closes [#1278](https://github.com/sovrium/sovrium/issues/1278)
2496
- * use git reset --hard to properly match origin/main before merge ([98ed048](https://github.com/sovrium/sovrium/commit/98ed04870343c1b7e4e24da755f61a6ea05dd7d7))
2497
- * use heredoc syntax for multi-line strings in workflow ([2faa13b](https://github.com/sovrium/sovrium/commit/2faa13b68508b720be6d44162afe17e9bfd3f2bf))
2498
- * use kebab-case for spacing theme keys (gap-small, padding-large) ([23ad3ce](https://github.com/sovrium/sovrium/commit/23ad3cea2a4e8035aff5fb1336ab10d34c7205a7))
2499
- * use PAT for Claude Code triggers in conflict resolver ([742b7e8](https://github.com/sovrium/sovrium/commit/742b7e8daa512d577fef9e196bbbbdf3c213e78e))
2500
- * use PAT to bypass branch protection for TDD merge to main ([e5bce46](https://github.com/sovrium/sovrium/commit/e5bce466be316dd33959dd42525ce5fd8750f8a9))
2501
- * use PAT token for PR creation in validation workflow ([bef7898](https://github.com/sovrium/sovrium/commit/bef7898d028d781cbe57ebdd75ea9cea12417eaf))
2502
- * use per-issue concurrency to prevent workflow cancellation ([3dc1772](https://github.com/sovrium/sovrium/commit/3dc1772b0579eb318b651d3c97b7fb5c0b8bc8a4))
2503
- * use plain Promises in getUserRole test path to avoid Effect contamination ([095fc12](https://github.com/sovrium/sovrium/commit/095fc1247efea1c9f3f06eff626fb27022652c0e))
2504
- * use PR with auto-merge instead of direct push to main ([8a662e1](https://github.com/sovrium/sovrium/commit/8a662e1a219650b7b95ea369aa287b24a5e39e0e))
2505
- * use REST API to avoid read:org scope requirement in conflict resolver ([cff9067](https://github.com/sovrium/sovrium/commit/cff9067802cf83a014b754d1b4b291b95bc3e08a))
2506
- * use sequential execution in concurrency tests to avoid git race conditions ([01690fa](https://github.com/sovrium/sovrium/commit/01690fadd5dc4c60b77210aa165f472941410c9b))
2507
- * use single-quoted heredoc with envsubst for YAML compatibility ([3bddb52](https://github.com/sovrium/sovrium/commit/3bddb52c9f78446dc78cf8ca060a1ec867a6f129))
2508
- * use spec ID instead of issue number for Claude run detection ([57a7e7d](https://github.com/sovrium/sovrium/commit/57a7e7dbf10e44a7dc8a28f045239a4360170037)), closes [#5996](https://github.com/sovrium/sovrium/issues/5996) [#6092](https://github.com/sovrium/sovrium/issues/6092)
2509
- * use spec IDs instead of file paths in transition calls ([c6797ff](https://github.com/sovrium/sovrium/commit/c6797ffbede1d15fda9f4c725be45fe0f93ba124))
2510
- * use tagged errors instead of global Error in Effect.fail ([0d6d545](https://github.com/sovrium/sovrium/commit/0d6d5453dc9a508b218baaef5d8a63d7e7821067))
2511
- * use theme.spacing.section for hero padding when provided ([2a30202](https://github.com/sovrium/sovrium/commit/2a30202dffe9a9f581962d16c935084e8a8acd74))
2512
- * use unique emails and waitForEmail in magic link verify tests ([e26cbbb](https://github.com/sovrium/sovrium/commit/e26cbbb9f1091e320d4134283392d7e8cdbf04f7))
2513
- * use valid close reason for GitHub issues in cleanup script ([e1904dc](https://github.com/sovrium/sovrium/commit/e1904dc962739e0e0616a4ecef0d0e9066ea722b)), closes [#XXXX](https://github.com/sovrium/sovrium/issues/XXXX)
2514
- * use valid component types in landing page template ([2c070d5](https://github.com/sovrium/sovrium/commit/2c070d521d003add8f3e06eb095eeb2fe86ffecd))
2515
- * use view.name instead of view.id for view creation ([#5655](https://github.com/sovrium/sovrium/issues/5655)) ([a5d84d2](https://github.com/sovrium/sovrium/commit/a5d84d21cd66a1c9e14435cabab01ca035033fb2))
2516
- * use white text for better visibility on dark backgrounds ([1f14c6c](https://github.com/sovrium/sovrium/commit/1f14c6c30ee97e73eb066975411b4ca27becbdd6))
2517
- * use workflow file name instead of display name in workflow_run trigger ([c7bafb4](https://github.com/sovrium/sovrium/commit/c7bafb4d0904ec5ade11ec105b5c25a686bc8533))
2518
- * validate field permissions reference existing fields (APP-TABLES-PERMISSIONS-007) ([#5547](https://github.com/sovrium/sovrium/issues/5547)) ([663802a](https://github.com/sovrium/sovrium/commit/663802a73534887bcabdb164488bdfdce94b1765))
2519
- * validate organization_id field type for organizationScoped tables (APP-TABLES-ORG-ISOLATION-009) ([#5544](https://github.com/sovrium/sovrium/issues/5544)) ([1b5d14c](https://github.com/sovrium/sovrium/commit/1b5d14cabd1ef0af0cb8680f7529de5463feeb37))
2520
- * validate owner permission field exists in table (APP-TABLES-TABLE-PERMISSIONS-006) ([#5577](https://github.com/sovrium/sovrium/issues/5577)) ([a252429](https://github.com/sovrium/sovrium/commit/a252429e869a555fda24ed89d4e0c6e0e0618ec7))
2521
- * validate RLS policy condition syntax (APP-TABLES-RLS-ENFORCEMENT-009) ([#5555](https://github.com/sovrium/sovrium/issues/5555)) ([c1cbd46](https://github.com/sovrium/sovrium/commit/c1cbd4604b2f92c1c770aec0fc257b8ec86825de))
2522
- * validate view ID pattern to reject uppercase and spaces ([#5585](https://github.com/sovrium/sovrium/issues/5585)) ([8153dfa](https://github.com/sovrium/sovrium/commit/8153dfa3feb993aeb10ff4f614a060a657627abd))
2523
- * **validation:** accept both "specs" and "x-specs" for backward compatibility ([815fde3](https://github.com/sovrium/sovrium/commit/815fde38a819abf44a09ae0f3b36d4b31ba8b9fb))
2524
- * **validation:** fix all validation errors in app specs ([55c1e48](https://github.com/sovrium/sovrium/commit/55c1e487cbbfa692cb17b54237534f532504976a))
2525
- * **validation:** support multi-line test declarations in title validation ([acc4ad9](https://github.com/sovrium/sovrium/commit/acc4ad98f6877c41b12278758d8b8ec7b61faebd))
2526
- * verify APP-LANGUAGES-INTEGRATION-001 implementation ([#2649](https://github.com/sovrium/sovrium/issues/2649)) ([18fb385](https://github.com/sovrium/sovrium/commit/18fb3857526ad768aa37760dd6e545a04f7cf2b6))
2527
- * verify APP-PAGES-ANALYTICS-007 already passing ([#2185](https://github.com/sovrium/sovrium/issues/2185)) ([0c6cfdb](https://github.com/sovrium/sovrium/commit/0c6cfdbc9527d17a89e64afdc0a2b3c408851fcf))
2528
- * verify APP-PAGES-META-STRUCTURED-DATA-ARTICLE-REGRESSION-001 ([#2735](https://github.com/sovrium/sovrium/issues/2735)) ([f730a82](https://github.com/sovrium/sovrium/commit/f730a8227ae76bf37d51ceab03f4a955c5b2fbeb))
2529
- * verify APP-PAGES-META-STRUCTURED-DATA-EDUCATION-EVENT-REGRESSION-001 ([#2736](https://github.com/sovrium/sovrium/issues/2736)) ([b186975](https://github.com/sovrium/sovrium/commit/b186975c39856a2be490b328b4d140204afaf9ce))
2530
- * verify APP-TABLES-FIELD-TYPES-ARRAY-004 (GIN index for array fields) ([#4908](https://github.com/sovrium/sovrium/issues/4908)) ([0ba1a38](https://github.com/sovrium/sovrium/commit/0ba1a380e7b27bbe1c3b4d1d550b2db9755eb795))
2531
- * verify deleted_at timestamp is set correctly for API-TABLES-RECORDS-DELETE-009 ([5ea953b](https://github.com/sovrium/sovrium/commit/5ea953b289bb76fb454a82cfc3d88cbc5a8bb062))
2532
- * **website:** correct legal entity details with official company registration data ([e0fcc32](https://github.com/sovrium/sovrium/commit/e0fcc329b96aab149ab8468f586c5a13410cb8f0))
2533
- * **website:** correct mismatched i18n keys on data deletion page ([38ac5a9](https://github.com/sovrium/sovrium/commit/38ac5a9ba393d1b4341d179a9268fb1cc5b7c5ba))
2534
- * **website:** remove broken partner logos with unrecoverable opaque backgrounds ([a84d16e](https://github.com/sovrium/sovrium/commit/a84d16ec8e7f4539f1eb6608af5e1033ae8c84c1))
2535
- * **website:** remove macOS window chrome header from code block ([d989c07](https://github.com/sovrium/sovrium/commit/d989c07e565a15bc7cb2b7ba87865aa2bc36ca04))
2536
- * **website:** revert to sharp shield corners and use semibold wordmark ([60d9d83](https://github.com/sovrium/sovrium/commit/60d9d838584d7331210ee8e5788921e4b3c63bfe))
2537
- * **website:** shorten FR meta description to fit 160-char limit ([7064dbb](https://github.com/sovrium/sovrium/commit/7064dbb30669210e59a764087ac195956f5987fa))
2538
- * **website:** translate sovrium badge text for French locale ([0f40f0c](https://github.com/sovrium/sovrium/commit/0f40f0c15cf615def968c7e50da30e20249ad1ac))
2539
- * **website:** update social links and fix footer navigation paths ([eaab39b](https://github.com/sovrium/sovrium/commit/eaab39bdee7fe485b1bcbd96f5b2af22fbb00848))
2540
- * **website:** use Sovrium horizontal logo for OG and Twitter card images ([1403b26](https://github.com/sovrium/sovrium/commit/1403b262e2949dbbb90337e37a738afafb075806))
2541
- * workaround claude-code-action post-processing 404 error ([8cb03f2](https://github.com/sovrium/sovrium/commit/8cb03f28910a3439dc7ca96441612c5f57f0caf7))
2542
- * **workflow:** make update-spec-progress job run on successful test completion ([a67f410](https://github.com/sovrium/sovrium/commit/a67f410a4f557ae4f87a24f0f06c257329bc06f6))
2543
- * **workflows:** resolve shellcheck and security issues in TDD workflows ([56ffbea](https://github.com/sovrium/sovrium/commit/56ffbeaaf7f8f32ffbf62dc33fddb521fcc3d150))
2544
- * **workflows:** resolve YAML parsing errors in TDD workflow files ([8a51783](https://github.com/sovrium/sovrium/commit/8a51783555854eae14a3d6e5cb3422b47576c3f4))
2545
- * **workflows:** restore heredoc in claude-tdd.yml incident creation ([ee3c55c](https://github.com/sovrium/sovrium/commit/ee3c55c3c1c533663a6c453268dbd5af430b6bbc))
2546
- * **workflows:** simplify heredoc in claude-tdd.yml ([0f29fb3](https://github.com/sovrium/sovrium/commit/0f29fb3ae546e53d4e5fe3f223b640d28ad2705e))
2547
- * wrap executeQuery array statements in transaction for SET LOCAL support ([a0d9cca](https://github.com/sovrium/sovrium/commit/a0d9cca25aa0942d042ec6a47d6c52007d5dcfb0))
2548
-
2549
-
2550
- ### Code Refactoring
2551
-
2552
- * **api:** remove flat format support from request schemas ([67fb013](https://github.com/sovrium/sovrium/commit/67fb013c2ee3f3c33e9e07e11e2dd67b77be3a58))
2553
- * **auth:** rename authentication to methods and restore full schema ([78692d4](https://github.com/sovrium/sovrium/commit/78692d4624b32b081f9544e7aaa8a66d4b33e3db))
2554
- * eliminate roadmap directory, use specs.schema.json as single source of truth ([4877864](https://github.com/sovrium/sovrium/commit/48778649ebb8df9af657e5e6b37f36382776fb3b))
2555
- * **i18n:** deprecate per-component i18n, migrate to pure centralized pattern ([9d92016](https://github.com/sovrium/sovrium/commit/9d92016ec10cb83f6e9b7f6536cce16e5c266d73))
2556
- * implement CSP compliance and runtime validation for language switcher ([005ba60](https://github.com/sovrium/sovrium/commit/005ba60173cd52deb931f3c5a7af8d5759668de6))
2557
- * migrate theme CSS generation to Tailwind [@theme](https://github.com/theme) directive ([0eb4601](https://github.com/sovrium/sovrium/commit/0eb46013f081c2701978a971be9be3f55f7e88e2))
2558
- * remove deprecated generateStatic alias ([60ef66e](https://github.com/sovrium/sovrium/commit/60ef66ee93a9fff12dca82c67b3b19fd195ac491))
2559
- * rename SOVRIUM_APP_JSON to SOVRIUM_APP_SCHEMA ([0462e6a](https://github.com/sovrium/sovrium/commit/0462e6a540928901e8817802b366fafbf4ee7cb4))
2560
- * reorganize presentation layer with feature-based structure ([b56396a](https://github.com/sovrium/sovrium/commit/b56396a95496279b1763a6773bff88be082bd4c8))
2561
- * rewrite app tables specs for database testing architecture ([3eea894](https://github.com/sovrium/sovrium/commit/3eea894d711ebb7072f1fd0c550fedc444ed6113))
2562
- * **specs:** redesign rollup and lookup field tests for Airtable-style computed values ([fcdac8b](https://github.com/sovrium/sovrium/commit/fcdac8bf552bf29a6678397b38ffad1feb2344e5)), closes [#rollup-lookup-redesign](https://github.com/sovrium/sovrium/issues/rollup-lookup-redesign)
2563
- * **tdd:** consolidate scripts into core/ directory and remove unused files ([8476dbd](https://github.com/sovrium/sovrium/commit/8476dbd11da69e9b300778151a2f5d48d4f5c43b))
2564
- * unify translation patterns on $t:key across dynamic and static contexts ([8560821](https://github.com/sovrium/sovrium/commit/856082190f0271ffb8cdd19dcad1fadbd6a20b80))
2565
-
2566
-
2567
- ### Documentation
2568
-
2569
- * simplify file naming conventions to two-style system ([5f27db0](https://github.com/sovrium/sovrium/commit/5f27db099fc37ba08057f57932922335c420d265))
2570
-
2571
-
2572
- ### Features
2573
-
2574
- * activate aggressive settings for TDD automation pipeline ([b10c0d8](https://github.com/sovrium/sovrium/commit/b10c0d86f39c89dd09e1506de42e29e183c8d834))
2575
- * activate all 9 structured data tests (APP-PAGES-STRUCTUREDDATA-001 through APP-PAGES-STRUCTUREDDATA-010) ([ac50787](https://github.com/sovrium/sovrium/commit/ac5078793682b19268e07d50508652c9dee85b36))
2576
- * activate APP-PAGES-DEFINITIONS-012 test for comprehensive icon set ([#2465](https://github.com/sovrium/sovrium/issues/2465)) ([f03d76d](https://github.com/sovrium/sovrium/commit/f03d76d3bf1f1fcb85a0bb72e0664edcc4e00f89))
2577
- * activate APP-PAGES-DEFINITIONS-REGRESSION-013 test ([#2466](https://github.com/sovrium/sovrium/issues/2466)) ([925d8db](https://github.com/sovrium/sovrium/commit/925d8db0b1f3c9a8511954f64067e2ddeea13207))
2578
- * activate APP-PAGES-DEFINITIONS-REGRESSION-013 test ([#2467](https://github.com/sovrium/sovrium/issues/2467)) ([d6e55df](https://github.com/sovrium/sovrium/commit/d6e55df74d8d8e4f07407cc830d1498968e5980a))
2579
- * add "Built with Sovrium" badge to homepage ([5a15acf](https://github.com/sovrium/sovrium/commit/5a15acf12b7595a37b68c9eb7a7ba6209acf7b68))
2580
- * add 3 cross-feature integration specs for Webflow/WordPress parity ([0998e0f](https://github.com/sovrium/sovrium/commit/0998e0f3a9cca2bace0d00ca91bb48e77abd3f52))
2581
- * add Airtable-aligned field configuration options ([ac355ba](https://github.com/sovrium/sovrium/commit/ac355bab9be679b8316b2b8a42a8410e2c51a01e))
2582
- * add application sections to description.schema.json (APP-DESCRIPTION-001 to APP-DESCRIPTION-015) ([109b812](https://github.com/sovrium/sovrium/commit/109b8120945be3fffbe873035daa9545740bb01d))
2583
- * add application sections to name.schema.json (APP-NAME-001 to APP-NAME-012) ([ee1aef5](https://github.com/sovrium/sovrium/commit/ee1aef52903fa9fc1138aa5e11b28ddd707bc816))
2584
- * add application sections to version.schema.json (APP-VERSION-001 to APP-VERSION-007) ([dfcebaf](https://github.com/sovrium/sovrium/commit/dfcebafab4d9085301446bf830c99145c2b32b4f))
2585
- * add automated cleanup tool for duplicate TDD spec issues ([bc5d88b](https://github.com/sovrium/sovrium/commit/bc5d88b00f19caee2c06dcf6c2bf6ae852504372)), closes [#1238-1538](https://github.com/sovrium/sovrium/issues/1238-1538) [#476-976](https://github.com/sovrium/sovrium/issues/476-976)
2586
- * add automatic branch cleanup for TDD automation ([1d391c4](https://github.com/sovrium/sovrium/commit/1d391c43acddb03fa31a6f0c412204e2154c0e64))
2587
- * add automatic branch update to stuck PR monitor ([0674cf1](https://github.com/sovrium/sovrium/commit/0674cf115f0dfdb1ae094f3340048d302d1e116b)), closes [#2238](https://github.com/sovrium/sovrium/issues/2238)
2588
- * add automatic conflict resolution to TDD automation pipeline ([a057e41](https://github.com/sovrium/sovrium/commit/a057e413052713fb4475c46e53856cc93564b0a2)), closes [#1481](https://github.com/sovrium/sovrium/issues/1481) [#1482](https://github.com/sovrium/sovrium/issues/1482) [#1481](https://github.com/sovrium/sovrium/issues/1481)
2589
- * add automatic roadmap generation to TDD validation workflow ([f89ff6a](https://github.com/sovrium/sovrium/commit/f89ff6a8f5179cdcfc0c54f02f827dff46b36477))
2590
- * add automatic test retry to PR monitor workflow ([5a30075](https://github.com/sovrium/sovrium/commit/5a300750e87205de4e69e74326a4f4bcc53306a9))
2591
- * add Better Auth x-specs for native auth, admin plugin, and user management (25 files, 173 x-specs) ([d3eff49](https://github.com/sovrium/sovrium/commit/d3eff494ca2ba85514c62db3ee55dace0ae0cea9))
2592
- * add block props translation token specifications ([45b565c](https://github.com/sovrium/sovrium/commit/45b565c50d4cdad07bd17706d6309c2b4191041d))
2593
- * add branded types for IDs and improve schema coverage ([889d721](https://github.com/sovrium/sovrium/commit/889d7212000c71360611de906345ff7fcf9e7cbb))
2594
- * add CLI commands for start and static generation ([f6ab32d](https://github.com/sovrium/sovrium/commit/f6ab32d5ad2ed4eeb887879e59a4c2471d3bd3b2))
2595
- * add comprehensive Better Auth spec coverage (301 tests) ([7feb310](https://github.com/sovrium/sovrium/commit/7feb310cfe14ed58b061732eb852c9dea16a4168))
2596
- * add count field schema and enforce colocated relationship fields ([cc7d45a](https://github.com/sovrium/sovrium/commit/cc7d45a860f189293c46075f0c39e62fb4dc7de5))
2597
- * add custom error page override support ([8283520](https://github.com/sovrium/sovrium/commit/8283520230166ef6bc3a7952438dc53339804028))
2598
- * add daily automated refactoring to TDD pipeline ([af4f13d](https://github.com/sovrium/sovrium/commit/af4f13da3926b0210d4463b62722f4f0127784aa))
2599
- * add daily automated refactoring to TDD pipeline ([#1509](https://github.com/sovrium/sovrium/issues/1509)) ([d8dc785](https://github.com/sovrium/sovrium/commit/d8dc78508fa3aa37258b23736c7afc1d8eb1095d))
2600
- * add DefaultHomePage routing specs to path schema ([553c9d1](https://github.com/sovrium/sovrium/commit/553c9d16709c8737cbff6103a04215ac4140ce58))
2601
- * add detailed credit usage metrics to TDD automation ([86816bd](https://github.com/sovrium/sovrium/commit/86816bdc97fd63f645b132f0ae8b357b8ca3da52)), closes [#7017](https://github.com/sovrium/sovrium/issues/7017)
2602
- * add E2E test specs for static site generation ([10a1e8d](https://github.com/sovrium/sovrium/commit/10a1e8d00ff5487ec76617f5a9c099d5c8fa43c8))
2603
- * add Effect Language Service diagnostics to quality checks ([6435255](https://github.com/sovrium/sovrium/commit/6435255e9333c1b91ac0d9c4576d63325db38f44))
2604
- * add first-party analytics engine (phases 0-5) ([e49d9e0](https://github.com/sovrium/sovrium/commit/e49d9e0ddab518391e5c4fc82a87867e76d51edd))
2605
- * add GitHub auto-merge capability for TDD pipeline ([2925d3c](https://github.com/sovrium/sovrium/commit/2925d3c4f85a8a09832456a9b2b48e27a43a8a06))
2606
- * add GitHub Pages deployment workflow ([9e22a31](https://github.com/sovrium/sovrium/commit/9e22a31166b3d9007a884de0f12eb2970af5996a))
2607
- * add infrastructure-level error handling for TDD automation ([f889d4d](https://github.com/sovrium/sovrium/commit/f889d4d9ce73d0a7842dae7ef45769db78eea16c)), closes [#1339](https://github.com/sovrium/sovrium/issues/1339)
2608
- * add Knip as blocking check in bun run quality ([b59c2cc](https://github.com/sovrium/sovrium/commit/b59c2ccecced6bb4c37748da83a9b0e09f6604a0))
2609
- * add Levenshtein-based YAML key typo detection to progress pipeline ([c0fcdc1](https://github.com/sovrium/sovrium/commit/c0fcdc10e8fd55a6ac3bf68dd9371b50509264cf))
2610
- * add LoggerServicePretty for clean script output ([c284766](https://github.com/sovrium/sovrium/commit/c284766bf850afb0a00d6ea09bd855d4ace074c4))
2611
- * add LSP tool to TDD agents for code intelligence ([f5752c6](https://github.com/sovrium/sovrium/commit/f5752c6907b2fb2045db5f807653361e1bda2a2e))
2612
- * add magic link authentication plugin support ([77686c6](https://github.com/sovrium/sovrium/commit/77686c636f9bce4f8bc2b83d7691901cbe84a407))
2613
- * add MEDIUM priority security API specs ([e055ccd](https://github.com/sovrium/sovrium/commit/e055ccdcee832c47c72cf34fbb286fc82c738513))
2614
- * add model escalation to TDD pipeline (Sonnet → Opus for attempts 4-5) ([35576cf](https://github.com/sovrium/sovrium/commit/35576cf91bcd594c015e1bdfe7d9e9f340f4d8d1))
2615
- * add naming/structure consistency checks to codebase-refactor-auditor agent ([2a25ff6](https://github.com/sovrium/sovrium/commit/2a25ff6bbe0b85638155b0932321ce954f3f4ce1)), closes [#7](https://github.com/sovrium/sovrium/issues/7)
2616
- * add non-blocking failure handling with retry and timeout recovery ([c21af45](https://github.com/sovrium/sovrium/commit/c21af45a2ca93b8b57877e1e19965aeec6bb183b))
2617
- * add organization plugin x-specs (15 files, 94 x-specs) ([7a35c19](https://github.com/sovrium/sovrium/commit/7a35c19658ba7458b1c34fe35d2f37689a722350))
2618
- * add Prettier format check to quality command ([d5cf8ad](https://github.com/sovrium/sovrium/commit/d5cf8ad72c8f2ca1e912d8017690bcfc006087c4)), closes [#1](https://github.com/sovrium/sovrium/issues/1) [#2](https://github.com/sovrium/sovrium/issues/2)
2619
- * add React Testing Library support with Happy DOM ([2c343a4](https://github.com/sovrium/sovrium/commit/2c343a42e94010ac7d3cab5da437eab7f393251e))
2620
- * add role-based permission support to RLS policies ([#5049](https://github.com/sovrium/sovrium/issues/5049)) ([52e28a0](https://github.com/sovrium/sovrium/commit/52e28a0685967c0d22640e5df6a7f55d09cbb8ad))
2621
- * add schema coherence validation to progress checks and fix 76 doc warnings ([a3f7cfe](https://github.com/sovrium/sovrium/commit/a3f7cfe0398bdc367d0d6ff130db8a1b83df9daa))
2622
- * add schema documentation page, llms.txt, and i18n support ([1c8c322](https://github.com/sovrium/sovrium/commit/1c8c322cb1fadf9fef1b97f1aade360126f3942e))
2623
- * add schema-to-user-story linking validation in progress checks ([1572d6c](https://github.com/sovrium/sovrium/commit/1572d6cfe701006c3303292ce6930ec2f1f83fa1))
2624
- * add script to permanently delete closed TDD automation issues ([e3a90b3](https://github.com/sovrium/sovrium/commit/e3a90b36cdf896320896a4c84e672b41debf3f42))
2625
- * add script to remove spec IDs from closed duplicate issues ([26eb1f0](https://github.com/sovrium/sovrium/commit/26eb1f0ba07ba2c3644008e14319e1369ebce9df))
2626
- * add scripts/ to Knip config and cleanup deprecated exports ([c112368](https://github.com/sovrium/sovrium/commit/c112368811e5d997bec8950563268c9475c73666))
2627
- * add security API spec files for headers and CSRF protection ([cf1040b](https://github.com/sovrium/sovrium/commit/cf1040b93d04e07afb8a00bb2e1fc6889dd2d424))
2628
- * add soft delete (deleted_at) field type and E2E specs ([9696097](https://github.com/sovrium/sovrium/commit/9696097e2bbb7fb8ebfc7b450687792d6388c6cb))
2629
- * add specs/fixtures/ to Knip configuration ([9df64b0](https://github.com/sovrium/sovrium/commit/9df64b0e802b569780d2e991e11fc03f295a81e6))
2630
- * add SSR translation token resolution specifications ([0f6cb47](https://github.com/sovrium/sovrium/commit/0f6cb4706c89b2d60fb5f03f975dacd9196857d5))
2631
- * add tdd-local-orchestrator agent for parallel spec implementation ([8f3b8e6](https://github.com/sovrium/sovrium/commit/8f3b8e6c9186e544cfcdedde130092bc30d40ec1))
2632
- * add WHEN and THEN comments to layout, meta, and scripts spec files ([73221d6](https://github.com/sovrium/sovrium/commit/73221d64027333b73ca99cadc61e7edf7f9a26d2))
2633
- * add workflow run links to TDD pipeline issue comments ([6b715ff](https://github.com/sovrium/sovrium/commit/6b715ff10d1d60edd733e30ce355d4c7183d4eb2)), closes [#696](https://github.com/sovrium/sovrium/issues/696)
2634
- * add workflow_dispatch trigger to Claude Code workflow ([ae0845a](https://github.com/sovrium/sovrium/commit/ae0845acf51a9cdceb34c55c0ca3a5a931b52beb))
2635
- * add working GraphQL-based closed issues deletion script ([999dfa6](https://github.com/sovrium/sovrium/commit/999dfa6b605033030014ca3d961005fd7b607a34))
2636
- * **agent:** add comprehensive user story validation to spec-coherence-guardian ([088d603](https://github.com/sovrium/sovrium/commit/088d603019baf778cbb870e757ad142bf54ad42e))
2637
- * **agents:** add Apple Design grade standards to website-editor and brand charter ([39b3056](https://github.com/sovrium/sovrium/commit/39b3056c84e0cb85423a5d3f7d296edf466e4b4f))
2638
- * **agents:** add Chrome MCP visual testing to website-editor agent ([65fe8a7](https://github.com/sovrium/sovrium/commit/65fe8a7462168ca7882dd4ebff763ff5807aaacc))
2639
- * **agents:** add persistent agent-memory protocol to all 8 agents ([41b4221](https://github.com/sovrium/sovrium/commit/41b4221b849bd6dd2ffa680602ed8ae2a78dc7fd))
2640
- * **agents:** align all agents with Claude Agent Skills best practices ([f92a4d8](https://github.com/sovrium/sovrium/commit/f92a4d8c20d91d0532564e1cfedf44c515e8479c))
2641
- * **agents:** convert MECHANICAL agents to autonomous skills ([7384e65](https://github.com/sovrium/sovrium/commit/7384e658daa6c2a4f46b12dc5c97efc2d9632a53))
2642
- * **agent:** upgrade tdd-pipeline-maintainer with production-ready improvements ([57e0ae6](https://github.com/sovrium/sovrium/commit/57e0ae6d47e5a54e8cfffb45d4a8017f3b99321e))
2643
- * **analyze-specs:** add --fix flag to auto-fix header count mismatches ([1b3e9d5](https://github.com/sovrium/sovrium/commit/1b3e9d5105ffa7446fe92eb988b5b793161dad1b))
2644
- * **analyze-specs:** add --verify-progress flag and expand commit tracking ([4a6f126](https://github.com/sovrium/sovrium/commit/4a6f12634ad67f77aa0fdd34d2e86dcadedfbccd))
2645
- * **analyze-specs:** add user stories metrics tracking ([3f4a667](https://github.com/sovrium/sovrium/commit/3f4a66797804531860968992335e2a7d2983de7b))
2646
- * **api:** add limit/offset pagination and fix field selection structure ([c43c77b](https://github.com/sovrium/sovrium/commit/c43c77b8e2757ca52a3579276652e104206345c4))
2647
- * **api:** implement organization isolation with filter support ([ca8d317](https://github.com/sovrium/sovrium/commit/ca8d3171c302878771593f07fc7a52731bcd5c5f))
2648
- * **auth:** add admin and organization plugin schemas ([4d43b65](https://github.com/sovrium/sovrium/commit/4d43b65445d0e8c3343d2c64c8e1d394d1745c96))
2649
- * **auth:** add apiKey and twoFactor plugin table schemas ([7a05383](https://github.com/sovrium/sovrium/commit/7a05383536f29895e26273c0729894875a09c5e1))
2650
- * **auth:** add teams and organization roles schema for Better Auth ([c02f9b2](https://github.com/sovrium/sovrium/commit/c02f9b2482fd46c36ed0b90eb3239b309c93150c))
2651
- * **auth:** merge auth schema with indexes, relations, and better defaults ([5d1ea6e](https://github.com/sovrium/sovrium/commit/5d1ea6e4127a2a82cee29ee3a341dd86241e71c7))
2652
- * auto-render blocks when page sections are empty ([68d7060](https://github.com/sovrium/sovrium/commit/68d706082fcc9d17a4696fc8a161ba7fc092d04f))
2653
- * auto-update README badges from analyze-specs script ([5eb4810](https://github.com/sovrium/sovrium/commit/5eb4810ed758b6f02682f6a1449d19e80f1a57fc))
2654
- * **ci:** add comprehensive diagnostics for CSS compilation failures ([c559821](https://github.com/sovrium/sovrium/commit/c559821ab81b9080d7d6bff60530e96a9d01a666))
2655
- * **ci:** add reduced CI for test-only changes ([70e6db0](https://github.com/sovrium/sovrium/commit/70e6db083d5e18f511bd8ac30f7a4535f49f598d))
2656
- * **ci:** auto-commit SPEC-PROGRESS.md after successful tests ([a3a2aa2](https://github.com/sovrium/sovrium/commit/a3a2aa2947b658efeefa8166871e1281e1fbc734))
2657
- * complete landing page template with theme, i18n, blocks, and pages ([8471f55](https://github.com/sovrium/sovrium/commit/8471f55abcf241e5d96c678bbb103136f1197569))
2658
- * complete Phase 4 Batch 1 - add application specs to theme.schema.json ([5b438d7](https://github.com/sovrium/sovrium/commit/5b438d7f5ddee4113f9588557bd2fbc06ec8e8e1))
2659
- * complete Phase 4 Batch 2 - add application specs to language-config.schema.json ([7ce046a](https://github.com/sovrium/sovrium/commit/7ce046a1f524fd6417e7dc06d733b3224bc61201))
2660
- * **docs:** add Triple-Documentation Pattern with TypeScript user story generator ([b57fc2c](https://github.com/sovrium/sovrium/commit/b57fc2c4b673046a6aac0cfa9e5f0688e6c8da35))
2661
- * enable immediate [@claude](https://github.com/claude) trigger for regression fixes ([44abb12](https://github.com/sovrium/sovrium/commit/44abb120c459c739af289914d92027fe63ce5872))
2662
- * enable native Better Auth teams endpoints when configured ([2231987](https://github.com/sovrium/sovrium/commit/2231987d6afc63990fa9b3a43f9cc719286c3751))
2663
- * enable rate limiting by default in all environments ([f6648f1](https://github.com/sovrium/sovrium/commit/f6648f13919e727d1e7d151017c4f358a143ffea))
2664
- * enable WebSearch/WebFetch for local agent sessions ([6794573](https://github.com/sovrium/sovrium/commit/67945732a5766c69d0f9bbb5bc0ef6081c206dec))
2665
- * enhance automatic test retry with exponential backoff and cleanup ([1cda2f3](https://github.com/sovrium/sovrium/commit/1cda2f3d396f9cab564bb600213d98e258b5c041))
2666
- * enhance e2e-test-generator with ARIA snapshots and visual screenshot testing ([5546d94](https://github.com/sovrium/sovrium/commit/5546d940664ac1ae94a00a166d34deed61528d6d))
2667
- * enhance landing-page.json with complete product landing page ([17c77a8](https://github.com/sovrium/sovrium/commit/17c77a88370713a58e271980c3c4824eb09cf90f))
2668
- * enhance regression test specs with comprehensive workflow validation (11 schemas) ([2947a7e](https://github.com/sovrium/sovrium/commit/2947a7e3506c546d34c319e3af429480710ee36f))
2669
- * enhance TDD pipeline with infrastructure building capability ([464df54](https://github.com/sovrium/sovrium/commit/464df54f72baf0bddd10bb420094356c8873b375))
2670
- * enhance TDD queue [@claude](https://github.com/claude) mention with complete workflow ([54f3fbd](https://github.com/sovrium/sovrium/commit/54f3fbd6f2dbb762321c2fbc0dc1eee0ab1c2c88)), closes [#1319](https://github.com/sovrium/sovrium/issues/1319) [#1319](https://github.com/sovrium/sovrium/issues/1319)
2671
- * enhance TDD workflow recovery mechanisms ([40692ad](https://github.com/sovrium/sovrium/commit/40692ad546b67f7fe2c220cfaaa30f2aa8a5d748))
2672
- * enhance x-specs quality and consistency across all specification agents ([cb64f35](https://github.com/sovrium/sovrium/commit/cb64f35ef2b4e5e9b16c3ac6d7f3d41366bba76a))
2673
- * enhance x-specs with 25 new specs across theme and performance schemas ([f24e0a4](https://github.com/sovrium/sovrium/commit/f24e0a4c55d8743466623368d77734168a312a84))
2674
- * ensure blocks feature x-specs consistency with theme/pages/languages patterns ([3fdd4b2](https://github.com/sovrium/sovrium/commit/3fdd4b267f33dfe927892df4ba0eaed3b74e46bc))
2675
- * extend relationship, lookup, and rollup field schemas ([6de4f91](https://github.com/sovrium/sovrium/commit/6de4f91c7467e04a438b973e11434daf765f8864))
2676
- * generate E2E test files for Tables API endpoints ([d52a543](https://github.com/sovrium/sovrium/commit/d52a54387f1f87e0c7e87cb93b61581ea859c050))
2677
- * generate indexes E2E test with 8 [@spec](https://github.com/spec) tests ([fda0193](https://github.com/sovrium/sovrium/commit/fda0193bd263f998efad6a73d3961468d7fa0624))
2678
- * **i18n:** implement centralized translations with $t: reference pattern ([c1540f4](https://github.com/sovrium/sovrium/commit/c1540f472174dd55db6e6ed912acea746fc7af66))
2679
- * **icons:** implement Lucide icon rendering with full prop support ([ad392d3](https://github.com/sovrium/sovrium/commit/ad392d3f320e573e48b3e9af66dbf727f2f3ba63))
2680
- * implement Accept-Language header detection for SSR ([622260e](https://github.com/sovrium/sovrium/commit/622260e8c07139a23dc98b9d29237ebee4dd5525))
2681
- * implement advanced table features (views, permissions, query API, batch operations) ([5af3dbe](https://github.com/sovrium/sovrium/commit/5af3dbef570efbdab4b7cf402beae1de053ca3ac))
2682
- * implement API infrastructure and comprehensive test specifications ([ba53bb5](https://github.com/sovrium/sovrium/commit/ba53bb53c662c451f11f57e3c880ef08e55abb82))
2683
- * implement APP-AUTH-ROLES-007 ([168e126](https://github.com/sovrium/sovrium/commit/168e1260ea689b15c89b8248ff4b30742645e32f))
2684
- * implement APP-BLOCKS-CHILDREN-001 - render nested component structure ([#2261](https://github.com/sovrium/sovrium/issues/2261)) ([a6e9bf1](https://github.com/sovrium/sovrium/commit/a6e9bf14d4c50850fecfa31f9c38a9368c5eb5c4))
2685
- * implement APP-LANGUAGES-021 - resolve translation tokens in content property during SSR ([#2299](https://github.com/sovrium/sovrium/issues/2299)) ([8d0727f](https://github.com/sovrium/sovrium/commit/8d0727f6c0254eab17442e3b2c951b8541470d2e))
2686
- * implement APP-PAGES-001 - pages array validation with minimum 1 item ([#1491](https://github.com/sovrium/sovrium/issues/1491)) ([27d2782](https://github.com/sovrium/sovrium/commit/27d27823c061377a7b93939feeb6e1a20949a382))
2687
- * implement APP-PAGES-INTERACTION-CLICK-001 (pulse animation on button click) ([#2566](https://github.com/sovrium/sovrium/issues/2566)) ([8aaeb2e](https://github.com/sovrium/sovrium/commit/8aaeb2ebbef0bb36810099d5909a174e0b55ab1b))
2688
- * implement APP-PAGES-PATH-010 dynamic route parameters ([#2837](https://github.com/sovrium/sovrium/issues/2837)) ([4411f4b](https://github.com/sovrium/sovrium/commit/4411f4bc9a44adfdf72091ba618ae9af758d7d82))
2689
- * implement APP-TABLES-FIELD-TYPES-CURRENCY-010 ([#5268](https://github.com/sovrium/sovrium/issues/5268)) ([3fde3c5](https://github.com/sovrium/sovrium/commit/3fde3c503da4314250d397167f796a3dd4a3b528))
2690
- * implement APP-TABLES-FIELD-TYPES-ROLLUP-013 ([#5712](https://github.com/sovrium/sovrium/issues/5712)) ([7f85e07](https://github.com/sovrium/sovrium/commit/7f85e07374812223093c582f968e2835f2a6546a))
2691
- * implement APP-TABLES-ORG-ISOLATION-011 - prevent cross-organization data manipulation ([#6498](https://github.com/sovrium/sovrium/issues/6498)) ([7fade16](https://github.com/sovrium/sovrium/commit/7fade16dbde1540ffc30010ecbe2f4dca9b6f849))
2692
- * implement APP-THEME-ANIMATIONS-APPLICATION-013 ([#2222](https://github.com/sovrium/sovrium/issues/2222)) ([6c3ef7e](https://github.com/sovrium/sovrium/commit/6c3ef7e3272c2fde8cb44b5cd9f394f466437781))
2693
- * implement APP-THEME-ANIMATIONS-APPLICATION-014 typewriter animation ([#2223](https://github.com/sovrium/sovrium/issues/2223)) ([31e88a1](https://github.com/sovrium/sovrium/commit/31e88a1c2bfadc5503abc422966d7ad8252616f2))
2694
- * implement APP-THEME-BREAKPOINTS-APPLICATION-001 ([#2224](https://github.com/sovrium/sovrium/issues/2224)) ([96a7505](https://github.com/sovrium/sovrium/commit/96a7505ce7bb155ca2dd7d359b962c9e4c2fb1ab))
2695
- * implement APP-THEME-SPACING-005 ([#1816](https://github.com/sovrium/sovrium/issues/1816)) ([972acfb](https://github.com/sovrium/sovrium/commit/972acfbf3a95ef7b8d38f7dac879e985a89b028e))
2696
- * implement automated TDD pipeline with Claude Code integration ([e718694](https://github.com/sovrium/sovrium/commit/e7186947f01fdbc7739862ecf4ba413b15fcde20))
2697
- * implement batch restore endpoint and fix organization filtering ([7ce0c49](https://github.com/sovrium/sovrium/commit/7ce0c495e3fe9309c09b546a2ad46decc92b74ca))
2698
- * implement Better Auth plugin conditional endpoint availability ([4ac221a](https://github.com/sovrium/sovrium/commit/4ac221a46eb57a2499ed2f4f9432e3c98b0c8989))
2699
- * implement change-email endpoint with Better Auth ([4e65912](https://github.com/sovrium/sovrium/commit/4e6591291ad7eb8b22806962f13b80b3681d269c))
2700
- * implement CLI YAML/YML format detection ([0fcdf90](https://github.com/sovrium/sovrium/commit/0fcdf9014713aa07e549d0af04e4dd414f40f531))
2701
- * implement comprehensive responsive design improvements ([e60bd88](https://github.com/sovrium/sovrium/commit/e60bd88435f1c44ecf7c0c915852102ac3d777c6))
2702
- * implement count field type for APP-TABLES-FIELD-TYPES-COUNT-001 ([#5258](https://github.com/sovrium/sovrium/issues/5258)) ([5762343](https://github.com/sovrium/sovrium/commit/576234396cb5e3f5f87f280df44b421fb0f3b302))
2703
- * implement CSS-based responsive children rendering ([3a2170c](https://github.com/sovrium/sovrium/commit/3a2170cbf35294dab5f86080107616d4cce9336d))
2704
- * implement CSS-based responsive props (APP-PAGES-RESPONSIVE-006) ([#2946](https://github.com/sovrium/sovrium/issues/2946)) ([21377c4](https://github.com/sovrium/sovrium/commit/21377c44426851acbd74f74003030e411deeb481))
2705
- * implement custom CHECK constraints for table-level validation (APP-TABLES-UNIQUECONSTRAINTS-NULL-007) ([#6119](https://github.com/sovrium/sovrium/issues/6119)) ([eb7631b](https://github.com/sovrium/sovrium/commit/eb7631b190ebaef211eb99a5dfb42f9b61b313be))
2706
- * implement custom permission conditions support (API-TABLES-PERMISSIONS-CONDITIONS-002) ([#6610](https://github.com/sovrium/sovrium/issues/6610)) ([2d7335b](https://github.com/sovrium/sovrium/commit/2d7335b6307a5dbeac2f6d94a92c2f0b87c12609))
2707
- * implement date formatting for European format (API-TABLES-RECORDS-FORMAT-008) ([45bb11c](https://github.com/sovrium/sovrium/commit/45bb11c489ad1bcf7c833cd68b02d611f16c3ad0))
2708
- * implement DELETE /api/auth/api-key/delete-expired endpoint ([#6235](https://github.com/sovrium/sovrium/issues/6235)) ([bdd44b6](https://github.com/sovrium/sovrium/commit/bdd44b66cd37c3e1f618c4510d483a27f6139a83))
2709
- * implement fail-closed usage tracking for TDD automation ([249ad79](https://github.com/sovrium/sovrium/commit/249ad797f49303e194473b75e2d44909d99912f3))
2710
- * implement font-style, text-transform, and letter-spacing for headings ([21ac0a9](https://github.com/sovrium/sovrium/commit/21ac0a9cf8c26aefce3d2af8eb4fed3e3baed118))
2711
- * implement fully automated TDD queue with Claude Code auto-invocation ([b082a04](https://github.com/sovrium/sovrium/commit/b082a04e797e61b3c18949683107c49ceb9ab0c1))
2712
- * implement hybrid language routing (no redirect from /) ([7f4e253](https://github.com/sovrium/sovrium/commit/7f4e253670e42779c497692f7d3657b97a2fe741))
2713
- * implement IN operator for view conditions (APP-TABLES-VIEW-CONDITION-005) ([#5605](https://github.com/sovrium/sovrium/issues/5605)) ([9f8a18a](https://github.com/sovrium/sovrium/commit/9f8a18af227f16f24e6c291d0a1c811c95cdc19b))
2714
- * implement language subdirectory routing for static site generation ([e74cd75](https://github.com/sovrium/sovrium/commit/e74cd752a7157aab17baed004da3c50b6cf21255))
2715
- * implement language switcher in navigation for static multi-language sites ([5fb510f](https://github.com/sovrium/sovrium/commit/5fb510f4ee1935e9e2a55c1d4bfcacf047671a75))
2716
- * implement MIGRATION-MODIFY-DEFAULT-004 - field default value migration ([#6140](https://github.com/sovrium/sovrium/issues/6140)) ([4473f88](https://github.com/sovrium/sovrium/commit/4473f88450999f67f5655decdbd7946f9677cc87))
2717
- * implement multi-language static site generation with centralized translations ([56972ff](https://github.com/sovrium/sovrium/commit/56972ff6c5ee21c278d30a702af75ce8ba05a9e2))
2718
- * implement Option B role-based access for org-scoped tables ([e1d6d95](https://github.com/sovrium/sovrium/commit/e1d6d95ad27d46c743a78b74eff41d467f9086a9))
2719
- * implement page-level variable substitution for APP-PAGES-VARREF-001 through APP-PAGES-VARREF-008 ([c267a21](https://github.com/sovrium/sovrium/commit/c267a211bb40d1d41aaf1c452c2a4cb424b7ebd1))
2720
- * implement pagination for bulletproof deduplication ([44f39b2](https://github.com/sovrium/sovrium/commit/44f39b2aaa4ef699035718c89361ed1bcc06e68e))
2721
- * implement permanent delete with permanent=true query parameter (API-TABLES-RECORDS-DELETE-010) ([0d8bedb](https://github.com/sovrium/sovrium/commit/0d8bedb5d7f02726ae8bdcc461a9cf0d04c503e4))
2722
- * implement rate limiting for table and activity API endpoints ([dd070b3](https://github.com/sovrium/sovrium/commit/dd070b3538fccbdff7fa3895bb5c071e694b7e6f))
2723
- * implement relativePath pattern validation for navigation logo ([#2458](https://github.com/sovrium/sovrium/issues/2458)) ([7d1bf64](https://github.com/sovrium/sovrium/commit/7d1bf64a67dcf23c1a067e6054473e0747f3118e))
2724
- * implement restore endpoint for soft-deleted records ([56791d2](https://github.com/sovrium/sovrium/commit/56791d2617b5e1cb67f6cba9baa291f8b7520bba))
2725
- * implement schema-based priority for TDD queue ([8fd838c](https://github.com/sovrium/sovrium/commit/8fd838ced8c16626dec21a5dcb8f055cf3638773))
2726
- * implement SOVRIUM_APP_SCHEMA environment variable with multi-format support ([30b470b](https://github.com/sovrium/sovrium/commit/30b470bbbbff996236f9b80cfabc51db30e4911f))
2727
- * implement spec APP-BLOCKS-001 ([#1466](https://github.com/sovrium/sovrium/issues/1466)) ([4bbf2b2](https://github.com/sovrium/sovrium/commit/4bbf2b2d795df3fd166ea5a64ff39189bd8d8845))
2728
- * implement spec APP-BLOCKS-004 ([#1467](https://github.com/sovrium/sovrium/issues/1467)) ([9f8a72c](https://github.com/sovrium/sovrium/commit/9f8a72c9948c141f08da00ff07b4fb0f2f2b5441))
2729
- * implement static asset management for SSG ([5740ba7](https://github.com/sovrium/sovrium/commit/5740ba74d7d83ca811f043853620edcc83b4c721))
2730
- * implement static asset management functionality ([5a2d72b](https://github.com/sovrium/sovrium/commit/5a2d72b4049d28ab0743ce5a245ba8e33db35fd2))
2731
- * implement static site generation using Hono's toSSG ([ff67a91](https://github.com/sovrium/sovrium/commit/ff67a9135ab1ab53e51ff5238e98c14ba1a33a4c))
2732
- * implement TDD pipeline Phase 1 quality gates ([6dd4114](https://github.com/sovrium/sovrium/commit/6dd4114b6cc9f3a619f2cd529cf905769b91b150))
2733
- * implement TDD pipeline Phase 2 automation enhancements ([450b655](https://github.com/sovrium/sovrium/commit/450b655ae8b8912147db93b6dafab993be4064b2))
2734
- * implement TDD pipeline Phase 3 observability (metrics & dashboard) ([28683a5](https://github.com/sovrium/sovrium/commit/28683a5161a54e9919c8feff3741f0a59e865516))
2735
- * implement TDD Workflow V2 with simplified architecture ([a23fded](https://github.com/sovrium/sovrium/commit/a23fdedcb3f1e9688cc996821cc9412905c9b114))
2736
- * implement test-only error route for 500 error page E2E test ([8561dd9](https://github.com/sovrium/sovrium/commit/8561dd9e925bc06e85bf8d61071bb8082301a9ce))
2737
- * implement translation fallback for $t:key pattern ([5fa39ad](https://github.com/sovrium/sovrium/commit/5fa39adcd2a02bcbdfcfbb85ea3da49aa95e9c79))
2738
- * implement watch mode for CLI start command ([c4fcf71](https://github.com/sovrium/sovrium/commit/c4fcf7199b1f86917a714964181daf734fcca0f1))
2739
- * increase rate limits and update tests ([1ae4e02](https://github.com/sovrium/sovrium/commit/1ae4e022aa52f6f3520e1bd3944a05ff8b5c4a64))
2740
- * **infrastructure:** add actionlint for GitHub Actions workflow validation ([dc2cc51](https://github.com/sovrium/sovrium/commit/dc2cc51a615de84474096038bb8e3414ea6dc52c))
2741
- * make Better Auth users table conditional on auth config ([2262bcb](https://github.com/sovrium/sovrium/commit/2262bcbd980d2711c80b38cbbd5234b36869f1be))
2742
- * **migrations:** add 36 new migration specs across 8 categories ([4a9ad8c](https://github.com/sovrium/sovrium/commit/4a9ad8c3e03d12906c0e24f055a67a18da856443))
2743
- * **migrations:** add existing migration specs and fix formatting ([357fbca](https://github.com/sovrium/sovrium/commit/357fbca56d6387d09780c83e31b60ee1009fedaf))
2744
- * **openapi:** add OpenAPI generation infrastructure with Zod and reorganize domain models ([f7baecd](https://github.com/sovrium/sovrium/commit/f7baecd2cf2e131c69056d8fee32d8b9153d5014))
2745
- * optimize spec-coherence-guardian for agent-consumable roadmaps ([e230bfb](https://github.com/sovrium/sovrium/commit/e230bfb9ed28ed48e1a822b27daf364f66741ebd))
2746
- * **pages:** add interactions, languages and i18n ([0065af9](https://github.com/sovrium/sovrium/commit/0065af963d8aa5670fb933c1d592a44d38896e14))
2747
- * Phase 1 - TDD Pipeline Critical Reliability Fixes ([7de024e](https://github.com/sovrium/sovrium/commit/7de024e79b2b8650f3e9d5d06e2f6c18aefc8169))
2748
- * Phase 2 - TDD Pipeline Workflow Duration Metrics ([5719a6d](https://github.com/sovrium/sovrium/commit/5719a6d37ac1ed00bf4f0579d4cc93733efe85fc))
2749
- * Phase 4 Batch 3 - add 2 application sections to block-children.schema.json ([6b60b95](https://github.com/sovrium/sovrium/commit/6b60b95e3c3df20ea556a52db074d85bfd3328f5))
2750
- * Phase 4 Batch 3 - add APP-BLOCKS-REFERENCE-001 application section ([c281559](https://github.com/sovrium/sovrium/commit/c281559d903ee8751b9140a5468430ae100d510a))
2751
- * Phase 4 Batch 3 - Add application sections to block-props.schema.json (10 specs) ([ddf618f](https://github.com/sovrium/sovrium/commit/ddf618fafc199a6f7484bc22179690ed86fe5afc))
2752
- * Phase 4 Batch 3 - Add application sections to language-switcher.schema.json (3 specs) ([6c7561d](https://github.com/sovrium/sovrium/commit/6c7561d63bb7105467a16768bc38f47be70db9f4))
2753
- * Phase 4 Batch 3 - add core block application specs (4/13 complete) ([405f5b3](https://github.com/sovrium/sovrium/commit/405f5b303b737de7c9bb5133fe118a5d26f8ea57))
2754
- * Phase 4 Batch 3 - add key block application specs (7/13 complete) ([bfbc537](https://github.com/sovrium/sovrium/commit/bfbc537a169a3d4f6fe3b37dcfc267dfa265a057))
2755
- * Phase 4 Batch 3 - complete block-children.schema.json (10/11 specs) ([ed8d0e8](https://github.com/sovrium/sovrium/commit/ed8d0e85a0c417e5cdd7ddc6a575d561df8abd58))
2756
- * Phase 4 Batch 3 - complete block-reference.schema.json (12/13 specs) ([955c387](https://github.com/sovrium/sovrium/commit/955c387526cc849b7576da7858a243a34fafd03b))
2757
- * Phase 4 Batch 3 - complete block.schema.json (11/12 specs) ([99e21d3](https://github.com/sovrium/sovrium/commit/99e21d38fda3eef3c121454bd2ae8356b0082bfe))
2758
- * Phase 4 Batch 3 - complete blocks.schema.json (13/14 specs) ([1a21d44](https://github.com/sovrium/sovrium/commit/1a21d444a6f10c1161b29733b5539b80c6bf1062))
2759
- * Phase 4 Batch 3 (partial) - begin adding application specs to block schemas ([9127d3a](https://github.com/sovrium/sovrium/commit/9127d3a337dd24fb224745945acfac41c99a37db))
2760
- * Phase 4 Batch 4.1 - Add application sections to name.schema.json (8 specs) ([eb854a0](https://github.com/sovrium/sovrium/commit/eb854a007d95e92efe91d7fd25185eed6b36844c))
2761
- * Phase 4 Batch 4.1 - Add application sections to pages.schema.json (3 specs) ([c4f4eec](https://github.com/sovrium/sovrium/commit/c4f4eec36d5391325b714340f8217b32d014a61d))
2762
- * Phase 4 Batch 4.1 - Add application sections to path.schema.json (3 specs) ([811589c](https://github.com/sovrium/sovrium/commit/811589c942d6773d1b31c8a0fbf642b1686679c9))
2763
- * Phase 4 Batch 4.1 COMPLETE - Add application sections to id.schema.json (6 specs) ([777ffde](https://github.com/sovrium/sovrium/commit/777ffde0a65ca5821813b8333311331e88970a24))
2764
- * Phase 4 Batch 4.2 - Add application sections to definitions.schema.json (12 specs) ([1163791](https://github.com/sovrium/sovrium/commit/11637915a443dd445ddb9fbd8bf7ab06c9a36776))
2765
- * Phase 4 Batch 4.2 - Add application sections to props.schema.json (10 specs) ([4053e2c](https://github.com/sovrium/sovrium/commit/4053e2ca0121f6ecd06cd671631b089112a7589a))
2766
- * Phase 4 Batch 4.2 - Add application sections to responsive.schema.json (10 specs) ([38fdd44](https://github.com/sovrium/sovrium/commit/38fdd44c9329d54834c50414e524a08a9299d2e7))
2767
- * Phase 4 Batch 4.2 COMPLETE - Add application sections to variable-reference.schema.json (8 specs) ([3fd062e](https://github.com/sovrium/sovrium/commit/3fd062e3f01e29fd74b832c0ed6354c7d3bbe040))
2768
- * Phase 4 Batch 4.3 - Add application sections to click-interaction.schema.json (12 specs) ([cccdfa2](https://github.com/sovrium/sovrium/commit/cccdfa2e94aca41667ff136f9f867f3ed5ac34eb))
2769
- * Phase 4 Batch 4.3 - Add application sections to entrance-animation.schema.json (8 specs) ([34c8f8b](https://github.com/sovrium/sovrium/commit/34c8f8b3474b651e5bef67fe31e3a88ee925db2c))
2770
- * Phase 4 Batch 4.3 - Add application sections to hover-interaction.schema.json (10 specs) ([b37dace](https://github.com/sovrium/sovrium/commit/b37dace585d75ae16373f98b94bf87b74bcc72ce))
2771
- * Phase 4 Batch 4.3 - Add application sections to interactions.schema.json (8 specs) ([c4561af](https://github.com/sovrium/sovrium/commit/c4561af919b2f3acb0da459b784e22a14c1df725))
2772
- * Phase 4 Batch 4.3 - Add application sections to scroll-interaction.schema.json (12 specs) ([a3a64a5](https://github.com/sovrium/sovrium/commit/a3a64a5ce371baee73497ca3ea9a182c59235271))
2773
- * Phase 4 Batch 4.4 - Add application sections to cta-button.schema.json (10 specs) ([3edd2ac](https://github.com/sovrium/sovrium/commit/3edd2acf0f858847c7c53f7fb35b2e17f7318b0f))
2774
- * Phase 4 Batch 4.4 - Add application sections to nav-links.schema.json (10 specs) ([dca7639](https://github.com/sovrium/sovrium/commit/dca7639692d6cc09619b0d3ebc880f98a3840e1a))
2775
- * Phase 4 Batch 4.5 - Add application sections to dns-prefetch.schema.json (10 specs) ([252bab5](https://github.com/sovrium/sovrium/commit/252bab57a8e931301c522ea9db092e8d135c8b60))
2776
- * Phase 4 Batch 4.5 - Add application sections to favicon-set.schema.json (7 specs) ([772eb1d](https://github.com/sovrium/sovrium/commit/772eb1d411616310b6cb0a81f039f042d9596c04))
2777
- * Phase 4 Batch 4.5 - Add application sections to favicon.schema.json (8 specs) ([f8931a6](https://github.com/sovrium/sovrium/commit/f8931a6ac3a245554ae4430a8e4b599f5d458a9a))
2778
- * Phase 4 Batch 4.5 - Add application sections to preload.schema.json (10 specs) ([3156566](https://github.com/sovrium/sovrium/commit/3156566cff8eecfffb4a4c6e34832cfcf04d2d05))
2779
- * Phase 4 Batch 4.6 - Add application sections to custom-elements.schema.json (8 specs) ([0a31f89](https://github.com/sovrium/sovrium/commit/0a31f891a8d987f7479455119200777818bbbb8a))
2780
- * Phase 4 Batch 4.7.1 - Add application sections to article.schema.json (14 specs) ([8a65b79](https://github.com/sovrium/sovrium/commit/8a65b79f72f7e345853c34b00fdb0d24cda7e2d0))
2781
- * Phase 4 Batch 4.7.10 - Add application sections to structured-data.schema.json (10 specs) ([3c26b1f](https://github.com/sovrium/sovrium/commit/3c26b1fe9b88f5640db2f162706552bd807ec8b3))
2782
- * Phase 4 Batch 4.7.2 - Add application sections to breadcrumb.schema.json (10 specs) ([55a403e](https://github.com/sovrium/sovrium/commit/55a403e57d1bc49430b7665d852bba9d60fc66c1))
2783
- * Phase 4 Batch 4.7.3 - Add application sections to education-event.schema.json (14 specs) ([41cdd05](https://github.com/sovrium/sovrium/commit/41cdd05c609c9eb22642fd7647b80efead235c41))
2784
- * Phase 4 Batch 4.7.4 - Add application sections to faq-page.schema.json (10 specs) ([0f4d46b](https://github.com/sovrium/sovrium/commit/0f4d46b3e3f0b6bea5853ef6a63f8a3fcf932342))
2785
- * Phase 4 Batch 4.7.5 - Add application sections to local-business.schema.json (14 specs) ([38a2b85](https://github.com/sovrium/sovrium/commit/38a2b854fde460a0dd01c10a70015938e92eeeb7))
2786
- * Phase 4 Batch 4.7.6 - Add application sections to organization.schema.json (14 specs) ([b26b374](https://github.com/sovrium/sovrium/commit/b26b3740f39964d7a3463b3fa63d6dfc7d4b4103))
2787
- * Phase 4 Batch 4.7.7 - Add application sections to person.schema.json (12 specs) ([d90a5ac](https://github.com/sovrium/sovrium/commit/d90a5ac5482a77ccc4dc0c25a8438bf0ccdb94e1))
2788
- * Phase 4 Batch 4.7.8 - Add application sections to postal-address.schema.json (10 specs) ([f5f56e5](https://github.com/sovrium/sovrium/commit/f5f56e5c266ec484e2f86df07da829050eba4795))
2789
- * Phase 4 Batch 4.7.9 - Add application sections to product.schema.json (12 specs) ([a8bfd5a](https://github.com/sovrium/sovrium/commit/a8bfd5a79da1f042d4c6fd22aae27d379763961d))
2790
- * Phase 4 Batch 4.8.1 - Add application sections to external-scripts.schema.json (12 specs) ([21f45df](https://github.com/sovrium/sovrium/commit/21f45df30890a65cd5dc625a19e39023e1da92fb))
2791
- * Phase 4 Batch 4.8.2 - Add application sections to inline-scripts.schema.json (10 specs) ([3f9ce69](https://github.com/sovrium/sovrium/commit/3f9ce69b927a79b2692c59ee8f07f2cb16ad492f))
2792
- * Phase 4 Batch 4.8.3 - Add application sections to features.schema.json (10 specs) ([c741cf9](https://github.com/sovrium/sovrium/commit/c741cf94d3d1763fbaf4e4681c9d465168ae93b6))
2793
- * prioritize specs by schema hierarchy in queue processor ([48a8970](https://github.com/sovrium/sovrium/commit/48a8970de760a514992ee0e23b95117e005394d2))
2794
- * **quality:** add --no-cache flag to disable ESLint, Prettier, and TypeScript caching ([f6e3c9e](https://github.com/sovrium/sovrium/commit/f6e3c9e9fe10cf2ce0ce71c01b3f3193ef58cfd3))
2795
- * **quality:** add spec count validation to quality checks ([93e9b3c](https://github.com/sovrium/sovrium/commit/93e9b3c7eb0e8c251e4d8e3554213d14c652d5f4))
2796
- * **quality:** display Effect MESSAGE-level diagnostics as informational warnings ([17ed6db](https://github.com/sovrium/sovrium/commit/17ed6dbc0316590389950f9b11bf507009cd32d1))
2797
- * **quality:** display error output when fail-fast triggers ([ebec0a7](https://github.com/sovrium/sovrium/commit/ebec0a7d6d7e02b6fb2cbe0a603fb8b99ffae9ed))
2798
- * reactivate tdd-monitor-unified.yml and remove all DEPRECATED references ([c4272a1](https://github.com/sovrium/sovrium/commit/c4272a10d69d78fca0d4483322c1fd95ef273c83))
2799
- * **release:** export schemas during release workflow ([7a9ebd6](https://github.com/sovrium/sovrium/commit/7a9ebd6e573bfea931d3958c27d5616b14676f03))
2800
- * restore tdd-monitor-unified.yml workflow ([b08d8b3](https://github.com/sovrium/sovrium/commit/b08d8b35c8f9b56d4278de2cb45f2b4854022cf5))
2801
- * restructure roadmap with modular phase files ([cff045f](https://github.com/sovrium/sovrium/commit/cff045fb997a56b5a0424d7e08814c2747ef7685)), closes [hi#level](https://github.com/hi/issues/level)
2802
- * rewrite permission specs with PostgreSQL RLS validation ([0cb8697](https://github.com/sovrium/sovrium/commit/0cb86972b9706cfc1e5520a4390254e48ef60f53))
2803
- * rewrite Phase 2 specs (views, indexes, primary keys) with PostgreSQL validation ([d0efb08](https://github.com/sovrium/sovrium/commit/d0efb08ec95ab41179f5fa7d5efd378311a641de))
2804
- * rewrite Phase 3a specs (common properties) with PostgreSQL validation ([3f8638f](https://github.com/sovrium/sovrium/commit/3f8638f7cf918c5dc0549277b7c7ea76a2f59be9))
2805
- * rewrite Phase 3b batch 1 (integer property specs) with PostgreSQL validation ([0af1084](https://github.com/sovrium/sovrium/commit/0af10843b37924c7174e7db171b85b42399aa46d))
2806
- * rewrite Phase 3b batch 2 (decimal property specs) with PostgreSQL validation ([8f9d148](https://github.com/sovrium/sovrium/commit/8f9d148505e56c3d2dd8ca033c440ba3a4c4a518))
2807
- * rewrite Phase 3b batch 3 (currency+percentage property specs) with PostgreSQL validation ([4e1285e](https://github.com/sovrium/sovrium/commit/4e1285e88cf9a9c9c49d224b49256f3749be93b1))
2808
- * rewrite Phase 3b batch 4 (select field options specs) with PostgreSQL validation ([4dc9a5b](https://github.com/sovrium/sovrium/commit/4dc9a5bf91da5e388ccfcede54298f7a79bd142a))
2809
- * rewrite Phase 3b batch 5 (format specs) with PostgreSQL validation ([afb149c](https://github.com/sovrium/sovrium/commit/afb149c55f858850688f90a1415ae934d05d69a5))
2810
- * **roadmap:** add /api/auth prefix to Better Auth endpoints and enhance tracking ([84c66b8](https://github.com/sovrium/sovrium/commit/84c66b87283fb19629611c90f8cc53aeb38a33de))
2811
- * **roadmap:** add hierarchical grouping for Form Page inputs by type ([60c7d41](https://github.com/sovrium/sovrium/commit/60c7d417a1d82dec87c2e4a77b394517c285a772))
2812
- * **roadmap:** add live implementation tracking with schema and test status ([46b5b38](https://github.com/sovrium/sovrium/commit/46b5b3821cee20eb883ab0f2e1a21b70551cb295))
2813
- * **roadmap:** add prerequisite validation before roadmap generation ([08649b8](https://github.com/sovrium/sovrium/commit/08649b881bfc9d9c8bc131de8811108ae538443a))
2814
- * **roadmap:** implement property-based roadmap generation with automation definitions ([a7b9655](https://github.com/sovrium/sovrium/commit/a7b96558feb4b35455277e76b3220715b830b897))
2815
- * **roadmap:** regenerate with property-based structure and user story extraction ([4bc1a42](https://github.com/sovrium/sovrium/commit/4bc1a4214a1bf2d44e71d8194d704865ee8e43b5))
2816
- * **roadmap:** track all 396 properties with $ref resolution and 1% test coverage ([938e31a](https://github.com/sovrium/sovrium/commit/938e31a2477efe37b24741b1bfe97b33518400e7))
2817
- * **roadmap:** track all nested property paths with full depth in App Schema ([b878b80](https://github.com/sovrium/sovrium/commit/b878b80c9d5d166dfa2e9c36550390850a8d3479))
2818
- * **schema:** add deleted-by field type for soft-delete audit trails ([0d3fced](https://github.com/sovrium/sovrium/commit/0d3fced5310b5906f4dffd1e626cb24a69a705f2))
2819
- * **schema:** add pages orchestrator with comprehensive tests ([c2ca593](https://github.com/sovrium/sovrium/commit/c2ca5934cd5dce6a3a136d7f46ab025569b5b5de))
2820
- * **schema:** complete Phase 1 - convert all 9 leaf schemas to Effect Schema ([b1b436e](https://github.com/sovrium/sovrium/commit/b1b436e09914c1713e7c6a42dd833fd595e9779e))
2821
- * **schema:** complete Phase 2 - convert low-level component schemas to Effect Schema ([4a77929](https://github.com/sovrium/sovrium/commit/4a77929f765a262bc023637e54a3c4949f4dbdda))
2822
- * **schema:** complete Phase 3 - convert mid-level orchestrator schemas to Effect Schema ([a4c383e](https://github.com/sovrium/sovrium/commit/a4c383e5c881be3abf1ef28ee411fbfa6cad066d))
2823
- * **schema:** complete Phase 4a - convert common page element schemas to Effect Schema ([a6f6de4](https://github.com/sovrium/sovrium/commit/a6f6de44cf86927976a744b56edd282569d8a5c9)), closes [#elementId](https://github.com/sovrium/sovrium/issues/elementId)
2824
- * **schema:** complete Phase 4b - convert sections and scripts schemas to Effect Schema ([36cfe95](https://github.com/sovrium/sovrium/commit/36cfe95f01971c853c69e0e25a79b4d12fc03a86))
2825
- * **schema:** complete Phase 5a - convert layout schemas to Effect Schema ([4d0e269](https://github.com/sovrium/sovrium/commit/4d0e269d273d21b69d480e2d9944f5b32de3db28)), closes [#RRGGBB](https://github.com/sovrium/sovrium/issues/RRGGBB)
2826
- * **schema:** complete Phase 5b - Meta & SEO schemas (20 schemas + 173 tests) ([611bc8f](https://github.com/sovrium/sovrium/commit/611bc8fd434d8e4048d013fd0d2bbb43b62f0a39))
2827
- * **schema:** convert language-config and fonts schemas to Effect Schema (Phase 1.1-1.2) ([7a373f2](https://github.com/sovrium/sovrium/commit/7a373f27466cfa1493a207ac27758da8690a042d))
2828
- * **scripts:** add E2E regression tests to full codebase quality checks ([759a86a](https://github.com/sovrium/sovrium/commit/759a86acdb23038db928f4c1d732c69946e79ff5))
2829
- * **scripts:** add external $ref resolution to validate-schema.ts ([3abe4e6](https://github.com/sovrium/sovrium/commit/3abe4e6fdc385caf367497846df4e40a8173134a))
2830
- * **scripts:** add schema modularization infrastructure ([ac720fe](https://github.com/sovrium/sovrium/commit/ac720feca1cfca9dd1896b01481b3233ebfa4b95))
2831
- * **scripts:** add validation script for specs/api/ structure ([4723b33](https://github.com/sovrium/sovrium/commit/4723b332011ec4a8669006e046b875c80a010d5a))
2832
- * **scripts:** centralize quality checks with dual-mode support ([e24fd16](https://github.com/sovrium/sovrium/commit/e24fd16d895fa641dfc63e026529947fa52a0c88))
2833
- * **scripts:** implement fail-fast strategy in quality check script ([92c0a15](https://github.com/sovrium/sovrium/commit/92c0a15e7e8af20ad884719fc19dad3390d1ec38))
2834
- * **scripts:** implement recursive $ref resolution for schema comparison ([e69cbdc](https://github.com/sovrium/sovrium/commit/e69cbdcf671c347e3fce90f5117d8a0765bf4668))
2835
- * **scripts:** track TDD pipeline commits in analyze-specs stats ([ff179aa](https://github.com/sovrium/sovrium/commit/ff179aacde571d94f669ccc1137cf2edd993b95d)), closes [#PR](https://github.com/sovrium/sovrium/issues/PR)
2836
- * **security:** add critical security specs for production readiness ([0bbacf2](https://github.com/sovrium/sovrium/commit/0bbacf2a6e5976396e8c21ffa087040f859e8602))
2837
- * **security:** add HIGH priority security API specs ([4e23da5](https://github.com/sovrium/sovrium/commit/4e23da5f70726b73af27950f7a3546b7bd632f9a))
2838
- * **security:** add high-priority security specs for full production coverage ([115460b](https://github.com/sovrium/sovrium/commit/115460bbc020e7baa850ead38475c7fbd96c4cb2)), closes [hi#priority](https://github.com/hi/issues/priority)
2839
- * show 20 recent fixes with time in SPEC-STATE.md ([7da98ce](https://github.com/sovrium/sovrium/commit/7da98cebd0b8a2d5750f500dd34c88a815edf338))
2840
- * **skill:** add regression-test-generator for [@spec](https://github.com/spec) → [@regression](https://github.com/regression) conversion ([d330b87](https://github.com/sovrium/sovrium/commit/d330b874b7183dafea9c7ea2978a0d34b78939a6))
2841
- * **skills:** add support for static and migrations domains in e2e-test-generator ([a4ca47c](https://github.com/sovrium/sovrium/commit/a4ca47c5a2821f589c1f7fe3fc403cfba47ddcbb))
2842
- * smart language routing - redirect only when needed ([bb37f12](https://github.com/sovrium/sovrium/commit/bb37f1227dc1154aba12807b3976d78d591cb94b))
2843
- * **specs:** add --update-stories flag and fix user story traceability ([dea2e04](https://github.com/sovrium/sovrium/commit/dea2e04845183d705864ac72b77f6854acf46e0e))
2844
- * **specs:** add 5 integration specs showing cross-system patterns (Phase 4.4) ([a0b3bd6](https://github.com/sovrium/sovrium/commit/a0b3bd6d3d1ad0d097f893e5a665c5a041020e4f)), closes [#3B82F6](https://github.com/sovrium/sovrium/issues/3B82F6)
2845
- * **specs:** add activity logging API specs and database schema ([e1fcb55](https://github.com/sovrium/sovrium/commit/e1fcb558545a295fa3d735d66066ee4c7727c9e3))
2846
- * **specs:** add advanced relationships and fix expectError placeholders ([b07dac4](https://github.com/sovrium/sovrium/commit/b07dac4ec0f9286fd4921b19ce515f994ce7076f))
2847
- * **specs:** add API key authentication specs for tables and activity APIs ([fd56ba2](https://github.com/sovrium/sovrium/commit/fd56ba252a1c26edf95f04cf00a9958b06296f6a))
2848
- * **specs:** add API Key, Admin, and Two-Factor auth fixtures ([c19f4dc](https://github.com/sovrium/sovrium/commit/c19f4dc4ae0def4326457640a9de9b49f48f8f41))
2849
- * **specs:** add comprehensive API validation blocks to all table endpoints ([cd50fd2](https://github.com/sovrium/sovrium/commit/cd50fd29eb0bdb82dedbb1f883b079b0ae2ec19a))
2850
- * **specs:** add comprehensive banner specs with announcement bar patterns ([e3ad26e](https://github.com/sovrium/sovrium/commit/e3ad26ed4d7cfbe3e0820d6b96bf5afc9f629f03)), closes [#FF5733](https://github.com/sovrium/sovrium/issues/FF5733)
2851
- * **specs:** add comprehensive client-side scripts specs (10 specs) ([1fdbff4](https://github.com/sovrium/sovrium/commit/1fdbff40824cec9d642222cfe11684092b93d581))
2852
- * **specs:** add comprehensive E2E tests for app specs (Phase 2-8) ([6a65864](https://github.com/sovrium/sovrium/commit/6a658641ab1c92b6257b0b35341b0c86e888c9cf))
2853
- * **specs:** add comprehensive footer and analytics specs with layout and tracking patterns ([12000d8](https://github.com/sovrium/sovrium/commit/12000d8322bce6200b80f13865364b93fb4c96e0))
2854
- * **specs:** add comprehensive sidebar navigation specs (12 specs) ([1003ef6](https://github.com/sovrium/sovrium/commit/1003ef6530a11b07dba2e32c433e50302096d3d7))
2855
- * **specs:** add comprehensive specs to Blocks schemas (5 schemas, 54 specs) ([fe6c968](https://github.com/sovrium/sovrium/commit/fe6c96865ff1eecf0c02dacb5a49bec246375292))
2856
- * **specs:** add comprehensive specs to interactions, responsive, and i18n schemas ([5501249](https://github.com/sovrium/sovrium/commit/5501249588b6085f1b7b87d325b7e018ef7f8174))
2857
- * **specs:** add comprehensive specs to Meta schemas (19 schemas, 211 specs) ([d7a1bda](https://github.com/sovrium/sovrium/commit/d7a1bdafece894ad29db55ca6ad4bba82330f3d9))
2858
- * **specs:** add comprehensive specs to theme schemas ([00c5c12](https://github.com/sovrium/sovrium/commit/00c5c12f37918298ba762586fb843432a833bfc9))
2859
- * **specs:** add comprehensive Twitter Card specs with social media optimization patterns ([ab94f1b](https://github.com/sovrium/sovrium/commit/ab94f1b886bdd724a62b9bc0970938cd940eeab5))
2860
- * **specs:** add Given-When-Then specs to OpenAPI JSON files ([c7a3411](https://github.com/sovrium/sovrium/commit/c7a34119a342586a58c117cfc6a126114251b8fa))
2861
- * **specs:** add navigation and open-graph specs (24 specs) ([1d78af6](https://github.com/sovrium/sovrium/commit/1d78af6f8bca9f7b9bf2b70ed26b3910183241b7))
2862
- * **specs:** add Phase 4a advanced field types with PostgreSQL validation ([fc45de5](https://github.com/sovrium/sovrium/commit/fc45de5808fbd144e3432dab99add02cf9b27be2))
2863
- * **specs:** add Phase 4b batch 1 - default values with PostgreSQL validation ([642f208](https://github.com/sovrium/sovrium/commit/642f208f9408c08240acfb9bc3a0294a50bf848a))
2864
- * **specs:** add Phase 4b batch 2 - selection + other field default values ([102ea84](https://github.com/sovrium/sovrium/commit/102ea845ccf3845553f09e81ed868b9d1c2de45d))
2865
- * **specs:** add Phase 4b batch 3 - autonumber field properties ([0ac3b85](https://github.com/sovrium/sovrium/commit/0ac3b85739f8f21f22fd628b9be59dbf171af015))
2866
- * **specs:** add record comments API specs and database schema ([c909c1b](https://github.com/sovrium/sovrium/commit/c909c1b956eb1f9e90cdfdd5f5d98ebfc7ba4aaf))
2867
- * **specs:** add soft-delete-by-default specs and architecture ([208d5a8](https://github.com/sovrium/sovrium/commit/208d5a8c3c57f8f60c3b7a7507dab94cf200d558))
2868
- * **specs:** add specs to pages common, root, and sections schemas ([ee74da6](https://github.com/sovrium/sovrium/commit/ee74da6517526d0de3f9299c597ac5601cfc710f))
2869
- * **specs:** add specs to pages layout schemas ([34f1264](https://github.com/sovrium/sovrium/commit/34f1264905a12f4d4a19512fc77fcdd6f1ecc2a5))
2870
- * **specs:** add specs to pages scripts schemas ([3456260](https://github.com/sovrium/sovrium/commit/345626081ef12daa085ed6b23c9a0181268084af))
2871
- * **specs:** add validation blocks to all x-specs ([4edaef8](https://github.com/sovrium/sovrium/commit/4edaef8c0ee03713b7b131fd958d4949934ffa7a))
2872
- * **specs:** complete Phase 4.2 - path and sections core properties (24 specs) ([395f2ca](https://github.com/sovrium/sovrium/commit/395f2caf662c6c25bba97700b5391e0d6b98b59d))
2873
- * **specs:** complete Phase 4.3 orchestrators - meta and layout (20 specs) ([74f7955](https://github.com/sovrium/sovrium/commit/74f795513467ada8339293a08117942000a4d884))
2874
- * **specs:** split app schema into co-located property schemas (name, version, description) ([f9e9061](https://github.com/sovrium/sovrium/commit/f9e9061e20c45e5e56af183bfc99c541fa772d5c))
2875
- * **tables:** split generic field types into specific types with Effect Schemas ([4d8f0be](https://github.com/sovrium/sovrium/commit/4d8f0bebace99abf0481d8e68944aa854f2e2190))
2876
- * **tdd-automation:** detect spec ID changes by title and update existing issues ([2ffc2e1](https://github.com/sovrium/sovrium/commit/2ffc2e180d512db85bc34926b907860616819dbe))
2877
- * **tdd:** add automatic manual-intervention labeling for Claude Code errors ([a6a6ae8](https://github.com/sovrium/sovrium/commit/a6a6ae8855e77f5de6c8edfee39ba32bae4941af)), closes [#7039](https://github.com/sovrium/sovrium/issues/7039)
2878
- * **tdd:** add automatic retry for Claude Code SDK crashes ([f217d19](https://github.com/sovrium/sovrium/commit/f217d199343d258b6cd288d10b34e692a0fc7647))
2879
- * **tdd:** add Claude Code API probe for credit exhaustion detection ([bbeb850](https://github.com/sovrium/sovrium/commit/bbeb85033f1b58a9c1aef2b0bda606b868e58089))
2880
- * **tdd:** add Claude Code credit probe to pr-creator workflow ([a7f40fd](https://github.com/sovrium/sovrium/commit/a7f40fd320b4600a4bdfea6dd85b30d8937e3d32))
2881
- * **tdd:** add Claude Code usage limits to prevent subscription exhaustion ([3e9ecf5](https://github.com/sovrium/sovrium/commit/3e9ecf586fef1fe49029ba3cedb4358875d0f7b1))
2882
- * **tdd:** add domain-based priority calculation for APP/API/ADMIN specs ([571d0ea](https://github.com/sovrium/sovrium/commit/571d0ea61e35a1f2eee2b28acd885c90fc9cb3fe))
2883
- * **tdd:** add estimated time remaining to SPEC-STATE.md ([233ffef](https://github.com/sovrium/sovrium/commit/233ffef86438199a1f86de2b96b0241c0ac59dbc))
2884
- * **tdd:** add failed PR recovery to monitor workflow ([8d59da2](https://github.com/sovrium/sovrium/commit/8d59da2230e3b1019b96a74ba5ae4021232a5d06))
2885
- * **tdd:** add file-based blocking for manual-intervention specs ([2697ef4](https://github.com/sovrium/sovrium/commit/2697ef488049872fc6d2c7914bde1933b4f2d9a8))
2886
- * **tdd:** add final sync step in claude-code.yml to prevent branch drift ([8268d7d](https://github.com/sovrium/sovrium/commit/8268d7db72882eb5e84966067f60714de4e4775c))
2887
- * **tdd:** add spec ID extractor for parsing .fixme() tests ([b104811](https://github.com/sovrium/sovrium/commit/b10481153f1da2523a7b8f7f04d5dac745234a1c))
2888
- * **tdd:** add spec ID validation to prevent duplicate issues ([acea57e](https://github.com/sovrium/sovrium/commit/acea57e2c6dcfa866da9ec097761cebc621c7cfd)), closes [#3678](https://github.com/sovrium/sovrium/issues/3678)
2889
- * **tdd:** add state synchronization with PR status ([f82fcda](https://github.com/sovrium/sovrium/commit/f82fcda3ce2557f02a3cb9e072ef495e721eaaf8))
2890
- * **tdd:** add superseded detection to prevent wasted effort on completed specs ([4a28d13](https://github.com/sovrium/sovrium/commit/4a28d13215667c342554260b99b42aa3af9c3f18)), closes [#5977](https://github.com/sovrium/sovrium/issues/5977)
2891
- * **tdd:** comprehensive error handling and merge-watchdog removal ([6806b37](https://github.com/sovrium/sovrium/commit/6806b37b0b3946cdba446735ad451c284224b736))
2892
- * **tdd:** display credit usage in all PRs for real-time tracking ([8db4456](https://github.com/sovrium/sovrium/commit/8db4456235884d3a69cd6c28d31d862c032d6acd))
2893
- * **tdd:** enable real-time Claude Code progress via PR-triggered worker ([efcbba6](https://github.com/sovrium/sovrium/commit/efcbba6bb1cc9ab747f827d7b7f8a49df239f345))
2894
- * **tdd:** enforce explicit spec ordering for APP and API domains ([b9c2c65](https://github.com/sovrium/sovrium/commit/b9c2c65f42c694d0693cbe3e9f0eda1382cffec0))
2895
- * **tdd:** implement event-driven automatic retry with exponential backoff ([b01b21e](https://github.com/sovrium/sovrium/commit/b01b21e8eacd9939955ed2275897cc9571031515))
2896
- * **tdd:** implement hybrid concurrency strategy for test workflow ([b6e1d5b](https://github.com/sovrium/sovrium/commit/b6e1d5b7f48d3464fde3489891ee8e3450e605f8))
2897
- * **tdd:** implement smart retry strategy based on failure type ([ed6ecb4](https://github.com/sovrium/sovrium/commit/ed6ecb453a7186dc8daff0b184cbde03820a6703))
2898
- * **tdd:** improve conflict detection to distinguish conflicts from merge failures ([23f62c6](https://github.com/sovrium/sovrium/commit/23f62c6bcbe61a17c399c5001ef2c076f1a51122)), closes [#7018](https://github.com/sovrium/sovrium/issues/7018)
2899
- * **tdd:** only update spec-progress on merged PR with passing tests ([3ebec2c](https://github.com/sovrium/sovrium/commit/3ebec2ce688b38d7f6354898e5715e4397add3c8)), closes [#123](https://github.com/sovrium/sovrium/issues/123)
2900
- * **tdd:** replace CLI with GitHub Actions for Claude invocation ([a713a32](https://github.com/sovrium/sovrium/commit/a713a329a260305e2a0742c0703b1b2362f9a733))
2901
- * **tdd:** simplify credit limit comment with detailed run list ([a914feb](https://github.com/sovrium/sovrium/commit/a914feb9a7a9903731549b949b35a5771b7c1e5f)), closes [#7017](https://github.com/sovrium/sovrium/issues/7017)
2902
- * **tdd:** skip PR Creator when test workflows are running on TDD branches ([41d388d](https://github.com/sovrium/sovrium/commit/41d388d3eeccdcfd03b49a62b46ea6cb0d0fe69b))
2903
- * **tdd:** track actual Claude Code costs from execution results ([09bda12](https://github.com/sovrium/sovrium/commit/09bda1274f05b75f8bb02a426d77c76dcde6de2a)), closes [#7017](https://github.com/sovrium/sovrium/issues/7017) [#7017](https://github.com/sovrium/sovrium/issues/7017) [#7017](https://github.com/sovrium/sovrium/issues/7017)
2904
- * **tdd:** trigger branch-sync after spec-progress commits ([641d9d7](https://github.com/sovrium/sovrium/commit/641d9d710352cf8573ca038dcd71cb7961df75ea))
2905
- * **tdd:** use Claude GitHub App for claude[bot] comment attribution ([501b550](https://github.com/sovrium/sovrium/commit/501b55014806e6a2331988eca0f4d319c624da17))
2906
- * **test:** add PostgreSQL testcontainers with database template duplication ([c7f322f](https://github.com/sovrium/sovrium/commit/c7f322f1e480ea0ece798ca11b7fa5eebb245e4b))
2907
- * update layout components and sidebar configuration ([39fb299](https://github.com/sovrium/sovrium/commit/39fb299444c545a69660533ca7cf82eab168d0fc))
2908
- * validate role references in table permissions ([#5546](https://github.com/sovrium/sovrium/issues/5546)) ([03d6fcc](https://github.com/sovrium/sovrium/commit/03d6fccb17e9e14a45621bdd1df5995fa500b69a))
2909
- * **validation:** add test title validation rule requiring spec ID prefix ([ab2d0ee](https://github.com/sovrium/sovrium/commit/ab2d0ee49b6ffd4a3d97189e60d1d3828953a96a))
2910
- * **validation:** enforce JSON and OpenAPI compliance in API specs ([c797f50](https://github.com/sovrium/sovrium/commit/c797f50ef3d7a7a86ac1906c161275bd08b3ca61))
2911
- * **validation:** enforce JSON Schema Draft 7 compliance in app specs ([037f952](https://github.com/sovrium/sovrium/commit/037f952fec584c2cb0ccc96f355a01be26875e8d))
2912
- * **website:** add 8 years of expertise to founder bio and improve navbar ([4889363](https://github.com/sovrium/sovrium/commit/4889363ac2b91f7770938e0b64775cf3bd2552e4))
2913
- * **website:** add company page, Sovereign Shield logo, and navbar ([70d5e85](https://github.com/sovrium/sovrium/commit/70d5e85c17f5bb6b3d56a0d6ba334ce465acecc2))
2914
- * **website:** add hreflang cross-references to multilingual sitemap ([7e2ab07](https://github.com/sovrium/sovrium/commit/7e2ab07528c6cb5bae09ab2121ea95fdf8060d7c))
2915
- * **website:** add i18n translations for all legal pages ([12108b6](https://github.com/sovrium/sovrium/commit/12108b61557bf33c03de1a56c8d242b4dc1c007d))
2916
- * **website:** add JSON-LD structured data and fix render-blocking CSS ([fc9f4a5](https://github.com/sovrium/sovrium/commit/fc9f4a59d2d755adde5a08221cfb0c5a62e17a5a))
2917
- * **website:** add language switcher to navbar ([eab4de9](https://github.com/sovrium/sovrium/commit/eab4de9f434ae80414c17f8f0cf3f5f0bd9ab705))
2918
- * **website:** add partners page, i18n support, and sovereignty hero messaging ([3fffb05](https://github.com/sovrium/sovrium/commit/3fffb051017ddeb209326ace3d24485267da584c))
2919
- * **website:** add Prism.js syntax highlighting and standardize OG images ([63eba43](https://github.com/sovrium/sovrium/commit/63eba435be9e42bc72c179525463c99db45b1ec2))
2920
- * **website:** add publicDir support, client logos, legal pages, and agent memory ([f5268bb](https://github.com/sovrium/sovrium/commit/f5268bb6e4ca9740651298c21514c903272247bc))
2921
- * **website:** add responsive mobile navbar with hamburger menu ([3b6973b](https://github.com/sovrium/sovrium/commit/3b6973b8797cdbbff63e3b47846def3a72fedd78))
2922
- * **website:** add tagline to hero section ([0177604](https://github.com/sovrium/sovrium/commit/0177604541ec7a2381d5e488c56f1c0f6e1fff2b))
2923
- * **website:** improve SVG logo quality and add favicon ([bc5e4ee](https://github.com/sovrium/sovrium/commit/bc5e4ee7649aa7afb122c64699a47724312141f5))
2924
- * **website:** redesign footer with multi-column layout, logo, and DRY architecture ([8c69865](https://github.com/sovrium/sovrium/commit/8c698650d768330cdbeb28c83ed55a829bb780e9))
2925
- * **website:** replace favicon.svg with real favicon set and improve footer consistency ([12fc368](https://github.com/sovrium/sovrium/commit/12fc368db4d304d7072c0e72e28ad1a3cc8bc5c2))
2926
- * **website:** round shield corners and use lighter wordmark weight ([ba2df9e](https://github.com/sovrium/sovrium/commit/ba2df9e056c4989d9cc035808b10b594fafaa300))
2927
- * **website:** split docs into 8 multi-page sections with sidebar navigation ([e56de72](https://github.com/sovrium/sovrium/commit/e56de7284749e4c6611d832d7c2f6fecc5f343cd))
2928
- * **website:** update navbar and footer labels with improved naming ([9059b47](https://github.com/sovrium/sovrium/commit/9059b47af751d029da30389ba2f1addd556c8120))
2929
- * **workflows:** add branch update detection to prevent stuck PRs ([4103f02](https://github.com/sovrium/sovrium/commit/4103f02c94c6a07e772c0d13ca5b86abd4ecb9f6))
2930
-
2931
-
2932
- ### Performance Improvements
2933
-
2934
- * add Prettier caching to format scripts ([2d85cf3](https://github.com/sovrium/sovrium/commit/2d85cf30544d0e561e39f9ac0ddcab0ceca2a513))
2935
- * add Prettier caching to quality checks ([18af9f6](https://github.com/sovrium/sovrium/commit/18af9f613135ed4ce9f9bd7a29abb768bba402d6))
2936
- * **ci:** add ESLint result caching for faster linting ([7536d2e](https://github.com/sovrium/sovrium/commit/7536d2e6685c0f1abce5bc95a9a9cd5e11c72c1c))
2937
- * **ci:** parallelize static analysis and add E2E sharding ([bc7d388](https://github.com/sovrium/sovrium/commit/bc7d3885d4dd3383ac1c64c011f855237e99d92f))
2938
- * **eslint:** optimize ESLint performance with content-based caching and reduced cycle depth ([22fd3ab](https://github.com/sovrium/sovrium/commit/22fd3ab8a019ec3863193665b3afe4d53eaadb1e))
2939
- * optimize ESLint cache strategy for faster CI runs ([743f132](https://github.com/sovrium/sovrium/commit/743f1320f1cf76b38dfc9e3521784ed7ed0be022))
2940
- * optimize TDD queue populate workflow for 15-30x speedup ([065351e](https://github.com/sovrium/sovrium/commit/065351eb070083dfa099313682f9c7164b6e128c))
2941
- * parallelize table feature creation for faster schema initialization ([fda193e](https://github.com/sovrium/sovrium/commit/fda193ef670ceb48fbc7602f5c34db80b0958f72))
2942
- * **quality:** run all 4 checks in parallel with fail-fast on first error ([5315091](https://github.com/sovrium/sovrium/commit/53150917efb6bdd5c74d5995a2eef9d97d2ee39e))
2943
- * **scripts:** increase ESLint timeout from 30s to 2 minutes ([dc6d5ae](https://github.com/sovrium/sovrium/commit/dc6d5ae1e22c88576a2fb7b6f051a58cb7660c3f))
2944
- * skip typecheck for pure .fixme() removals in TDD PRs ([9d1b3ff](https://github.com/sovrium/sovrium/commit/9d1b3ff480951797a53b8aeaae0b36c6007ed59a))
2945
- * **specs:** optimize regression tests by consolidating startServerWithSchema calls ([2a21cd5](https://github.com/sovrium/sovrium/commit/2a21cd5678389d4136e60aab5e40accaac895922))
2946
- * **tdd:** add Quick Exit optimization for test-only changes ([9b1fb1e](https://github.com/sovrium/sovrium/commit/9b1fb1ef5b330069a91c38cc8c186236e0ba0ea1))
2947
- * **tdd:** reorder PR creator to check active PR before credit probe ([4a9d728](https://github.com/sovrium/sovrium/commit/4a9d728fe6ecbc6f6271ad0c1f97534bad2e8e0c))
2948
- * **typecheck:** enable incremental TypeScript compilation for faster checks ([f90095b](https://github.com/sovrium/sovrium/commit/f90095b32dcd282dd0c1d49ba171b22ebe7e99f4))
2949
-
2950
-
2951
- ### Reverts
2952
-
2953
- * **tdd:** restore cancel-in-progress: false to preserve work ([c701f4a](https://github.com/sovrium/sovrium/commit/c701f4a08ffa4a0cabb3c4b63a4963a94079513d))
2954
- * **tdd:** use PAT instead of Claude App token ([e67d0e8](https://github.com/sovrium/sovrium/commit/e67d0e82f267f3faa87ada1b9ed7363f401b6a27))
2955
-
2956
-
2957
- ### BREAKING CHANGES
2958
-
2959
- * **api:** API no longer accepts flat format for batch operations.
2960
- All requests must use nested format with 'fields' property.
2961
-
2962
- Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2963
- * **tdd:** scripts/tdd-automation/ directory structure reorganized
2964
-
2965
- Changes:
2966
- - Remove version reference: rename v3/ to core/
2967
- - Consolidate all active scripts in core/ subdirectory
2968
- - Remove 6 unused files:
2969
- - v3/index.ts
2970
- - v3/check-credit-usage.ts
2971
- - services/pr-manager.ts
2972
- - services/ci-waiter.ts
2973
- - services/failure-analyzer.ts
2974
- - services/types.ts
2975
- - Move schema-priority-calculator.ts to core/
2976
- - Move spec-scanner.ts to core/
2977
- - Update all import paths within scripts
2978
- - Update workflow paths:
2979
- - pr-creator.yml: scripts/tdd-automation/v3/ → core/
2980
- - test.yml: scripts/tdd-automation/v3/ → core/
2981
- - Remove empty services/ directory
2982
-
2983
- Result: Clean, version-agnostic structure matching documentation
2984
- * **tdd:** TDD worker now triggers on pull_request:opened instead of workflow_dispatch
2985
-
2986
- Architecture change:
2987
- - Orchestrator creates PRs with tdd-automation label and embedded metadata
2988
- - Worker triggers on pull_request:opened event
2989
- - track_progress enabled dynamically for PR events (real-time updates)
2990
- - Fallback workflow_dispatch retained for manual debugging
2991
-
2992
- Benefits:
2993
- - Real-time Claude Code thinking/progress visible in PRs
2994
- - Better debugging visibility during spec implementation
2995
- - Uses native track_progress feature
2996
-
2997
- Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2998
- * **auth:** Better Auth schema now includes database indexes and Drizzle relations
2999
-
3000
- Changes:
3001
- - Add database indexes on foreign keys for performance:
3002
- * session.userId, account.userId, verification.identifier
3003
- * member.organizationId, member.userId, invitation.organizationId, invitation.email
3004
- * twoFactor.secret, twoFactor.userId
3005
- - Add Drizzle relations for type-safe joins across all auth tables
3006
- - Add better default values:
3007
- * user.banned defaults to false
3008
- * user.twoFactorEnabled defaults to false
3009
- * member.role defaults to 'member'
3010
- * invitation.status defaults to 'pending'
3011
- - Add .$onUpdate() to updatedAt fields for automatic timestamp updates
3012
- - Add .notNull() to verification timestamps (createdAt, updatedAt)
3013
- - Add .notNull() to twoFactor fields (secret, backupCodes)
3014
- - Fix import order in auth-cli.ts and schema.ts
3015
- - Remove test.only from admin-bootstrap.spec.ts
3016
-
3017
- Benefits:
3018
- - Faster queries on foreign key lookups (indexes)
3019
- - Type-safe joins without manual SQL (relations)
3020
- - Consistent behavior across auth operations (defaults)
3021
- - Automatic timestamp tracking (.$onUpdate)
3022
-
3023
- Migration: Run `bun run db:generate` to create migration for new indexes
3024
- * The environment variable SOVRIUM_APP_JSON has been
3025
- replaced with SOVRIUM_APP_SCHEMA which supports multiple formats:
3026
- - Inline JSON (starts with '{')
3027
- - Inline YAML (default for non-JSON strings)
3028
- - Remote URLs (http:// or https://)
3029
-
3030
- Updated files:
3031
- - .env.example: Updated documentation with multi-format examples
3032
- - src/cli.ts: Updated CLI documentation and help text
3033
- - src/cli/schema-parser.ts: Removed legacy SOVRIUM_APP_JSON fallback
3034
- - specs/fixtures: Updated test fixtures to use new env var
3035
-
3036
- 🤖 Generated with [Claude Code](https://claude.com/claude-code)
3037
-
3038
- Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
3039
- * `generateStatic` is no longer exported.
3040
- Use `build` instead.
3041
-
3042
- 🤖 Generated with [Claude Code](https://claude.com/claude-code)
3043
-
3044
- Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
3045
- * **specs:** Rollup and lookup field tests now expect computed values to be
3046
- directly accessible as columns (Airtable-style), not manually computed via SQL.
3047
-
3048
- ## Problem
3049
- - Tests manually computed aggregations with JOIN/GROUP BY SQL
3050
- - Implementation burden on every query (performance cost)
3051
- - No single source of truth for computed field logic
3052
- - Tests validated SQL writing, not feature behavior
3053
-
3054
- ## Solution
3055
- - Tests now expect 'SELECT * FROM table WHERE id = X' to return computed values
3056
- - Recommended implementation: PostgreSQL VIEWs (auto-recalculating)
3057
- - Tests validate behavior (values appear as columns) not implementation (SQL)
3058
- - Aligns with Airtable's model (computed fields are regular columns)
3059
-
3060
- ## Changes
3061
- - Rollup fields: All 11 tests redesigned (removed manual aggregations)
3062
- - Lookup fields: All 9 tests redesigned (removed manual JOINs)
3063
- - Added implementation guidance in test file headers
3064
- - Kept spec IDs unchanged (APP-TABLES-FIELD-TYPES-ROLLUP-XXX)
3065
- - All tests marked .fixme() for e2e-test-fixer implementation
3066
-
3067
- ## Implementation Approach (for e2e-test-fixer)
3068
- Use PostgreSQL VIEWs to provide Airtable-style computed columns:
3069
-
3070
- Example for rollup:
3071
- ```sql
3072
- CREATE VIEW customers_view AS
3073
- SELECT c.*, COALESCE(SUM(o.amount), 0) as total_order_amount
3074
- FROM customers c LEFT JOIN orders o ON c.id = o.customer_id GROUP BY c.id;
3075
- ```
3076
-
3077
- Example for lookup:
3078
- ```sql
3079
- CREATE VIEW orders_view AS
3080
- SELECT o.*, c.name as customer_name, c.email as customer_email
3081
- FROM orders o LEFT JOIN customers c ON o.customer_id = c.id;
3082
- ```
3083
-
3084
- ## Test Quality
3085
- - Zero errors (bun run analyze:specs)
3086
- - Clear acceptance criteria (GIVEN-WHEN-THEN)
3087
- - Realistic test data (no empty arrays)
3088
- - Behavioral assertions (test outcomes, not SQL)
3089
- * **auth:** `auth.authentication` renamed to `auth.methods`
3090
-
3091
- 🤖 Generated with [Claude Code](https://claude.com/claude-code)
3092
-
3093
- Co-Authored-By: Claude <noreply@anthropic.com>
3094
- * Complete rewrite of table specifications from UI/API testing to PostgreSQL database schema testing
3095
-
3096
- ## Changes
3097
-
3098
- ### Agent Documentation
3099
- - Updated `.claude/agents/json-schema-editor.md`:
3100
- - Added "Database Testing Architecture" section
3101
- - Documented testing separation: database (app/tables/) vs UI (app/pages/)
3102
- - Added executeQuery fixture reference with usage examples
3103
- - Documented field type → PostgreSQL type mapping table
3104
- - Added quality gates for database testing
3105
- - Provided correct/incorrect pattern examples
3106
-
3107
- ### Tables Schema Specifications
3108
- - Rewrote all 23 x-specs in `specs/app/tables/tables.schema.json`:
3109
- - **Removed**: All UI testing (buttons, modals, forms, DOM, navigation)
3110
- - **Removed**: All API testing without database validation
3111
- - **Added**: PostgreSQL DDL validation using executeQuery
3112
- - **Added**: Schema introspection queries (information_schema, pg_catalog)
3113
- - **Added**: Constraint enforcement testing (UNIQUE, NOT NULL, CHECK, FOREIGN KEY)
3114
- - **Added**: Data type mapping validation (JSON config → PostgreSQL types)
3115
-
3116
- ### New Spec Coverage
3117
- 1. **APP-TABLES-SCHEMA-CREATE-001**: Table creation with DDL validation
3118
- 2. **APP-TABLES-SCHEMA-FIELDS-001**: Multiple field type mapping
3119
- 3. **APP-TABLES-SCHEMA-PK-001**: Primary key constraints
3120
- 4. **APP-TABLES-SCHEMA-CONSTRAINTS-001**: UNIQUE, NOT NULL, CHECK constraints
3121
- 5. **APP-TABLES-SCHEMA-INTROSPECT-001**: Schema introspection queries
3122
- 6. **APP-TABLES-FIELD-TEXT-001**: VARCHAR column creation
3123
- 7. **APP-TABLES-FIELD-EMAIL-001**: Email field with UNIQUE constraint
3124
- 8. **APP-TABLES-FIELD-INTEGER-001**: INTEGER with CHECK constraints
3125
- 9. **APP-TABLES-FIELD-DECIMAL-001**: NUMERIC type mapping
3126
- 10. **APP-TABLES-FIELD-BOOLEAN-001**: BOOLEAN type mapping
3127
- 11. **APP-TABLES-CONSTRAINT-UNIQUE-001**: UNIQUE constraint violation testing
3128
- 12. **APP-TABLES-CONSTRAINT-NOT-NULL-001**: NOT NULL constraint testing
3129
- 13. **APP-TABLES-CONSTRAINT-CHECK-001**: CHECK constraint range validation
3130
- 14. **APP-TABLES-INDEX-CREATE-001**: Index creation and pg_indexes validation
3131
- 15. **APP-TABLES-MIGRATION-ALTER-001**: ALTER TABLE ADD COLUMN migration
3132
- 16. **APP-TABLES-MIGRATION-DROP-001**: ALTER TABLE DROP COLUMN migration
3133
- 17. **APP-TABLES-DATA-INSERT-001**: INSERT with RETURNING clause
3134
- 18. **APP-TABLES-DATA-UPDATE-001**: UPDATE statement validation
3135
- 19. **APP-TABLES-DATA-DELETE-001**: DELETE statement validation
3136
- 20. **APP-TABLES-FIELD-TIMESTAMP-001**: TIMESTAMP with DEFAULT NOW()
3137
- 21. **APP-TABLES-FIELD-SELECT-001**: Single-select with CHECK constraint
3138
- 22. **APP-TABLES-DROP-001**: DROP TABLE validation
3139
- 23. **APP-TABLES-COMPOSITE-PK-001**: Composite primary key
3140
-
3141
- ## Impact
3142
-
3143
- This architectural shift ensures:
3144
- - ✅ App tables specs test PostgreSQL schema generation (correct focus)
3145
- - ✅ Zero UI references in database testing specs (separation of concerns)
3146
- - ✅ All specs use executeQuery fixture for direct database operations
3147
- - ✅ Specs validate configuration → DDL transformation
3148
- - ✅ Proper test separation: app/tables/ (DB) vs app/pages/ (UI)
3149
-
3150
- ## Related
3151
-
3152
- - Follows guidance from product-specs-architect agent review
3153
- - Aligns with database testing architecture documented in json-schema-editor.md
3154
- - Part of Phase 1 & 2 of specification quality improvement roadmap
3155
-
3156
- 🤖 Generated with [Claude Code](https://claude.com/claude-code)
3157
-
3158
- Co-Authored-By: Claude <noreply@anthropic.com>
3159
- * Remove {{key}} pattern entirely - use ONLY $t:key pattern
3160
-
3161
- Changes:
3162
- - Remove ALL {{}} pattern handling from translation-replacer.ts
3163
- - Use $t:key pattern exclusively for both dynamic SSR and static SSG
3164
- - Set meta.lang programmatically (full locale) instead of via token
3165
- - Migrate static-i18n.spec.ts: ~30 occurrences {{key}} → $t:key
3166
- - Migrate static-deployment.spec.ts: ~10 occurrences {{key}} → $t:key
3167
- - Fix STATIC-I18N-003 test expectations to match correct implementation:
3168
- - Use full locales in hreflang (en-US not en) for SEO best practice
3169
- - Use relative URLs (/en/) not absolute URLs
3170
- - Include trailing slashes in paths (/en/about/)
3171
-
3172
- Rationale:
3173
- - Single source of truth for translation resolution
3174
- - Same app config works for both dynamic and static deployment
3175
- - Consistent translation fallback behavior across contexts
3176
- - No backward compatibility maintained per user request
3177
-
3178
- Implementation:
3179
- - translation-replacer.ts now uses resolveTranslation() for $t: patterns
3180
- - Leverages centralized translation resolution with fallback support
3181
- - meta.lang set to langConfig.locale || langCode programmatically
3182
-
3183
- Validation:
3184
- - All unit tests passing (2349 tests)
3185
- - All static E2E tests passing (14/14 implemented tests)
3186
- - Pattern unified across entire codebase
3187
-
3188
- 🤖 Generated with [Claude Code](https://claude.com/claude-code)
3189
-
3190
- Co-Authored-By: Claude <noreply@anthropic.com>
3191
- * Happy DOM is no longer globally preloaded for all tests
3192
-
3193
- **Problem**: Happy DOM's global registration was interfering with server-side tests:
3194
- - API schema diff tests failing with "Invalid URL" in @apidevtools/json-schema-ref-parser
3195
- - Auth routes tests failing with "Invalid base URL" in Better Auth
3196
- - Happy DOM's global URL override broke URL resolution in 15 tests
3197
-
3198
- **Solution**:
3199
- - Removed global preload from bunfig.toml
3200
- - Updated happydom.ts to be imported per test file (not global)
3201
- - Updated RTL documentation with correct import pattern
3202
- - Existing React tests use SSR (renderToString) and don't need DOM
3203
-
3204
- **Test Results**:
3205
- - Before: 1857 pass, 15 fail
3206
- - After: 1889 pass, 0 fail
3207
-
3208
- **Usage**: Import './happydom' in React component tests that need DOM APIs
3209
- (RTL + interactive component testing). Server-side tests (SSR, API, schema)
3210
- don't need DOM and should NOT import it.
3211
-
3212
- 🤖 Generated with [Claude Code](https://claude.com/claude-code)
3213
-
3214
- Co-Authored-By: Claude <noreply@anthropic.com>
3215
- * Theme CSS is now compiled globally at server startup via CSS compiler instead of per-page runtime generation.
3216
-
3217
- Changes:
3218
- - Update CSS compiler to accept app parameter and generate Tailwind @theme CSS
3219
- - Create theme-to-CSS conversion helpers (colors, fonts, spacing, shadows, border-radius, breakpoints, animations)
3220
- - Update server startup to pass app to CSS compiler (compiles theme at startup)
3221
- - Remove runtime theme CSS generation from DynamicPage and PageHead
3222
- - Delete entire presentation/theming/ directory (theme generators no longer needed)
3223
- - Theme is still passed to components for font URLs, animation flags, and debugging
3224
- - CSS is now served from global /assets/output.css with compiled theme tokens
3225
-
3226
- Benefits:
3227
- - Single source of truth: app.theme → Tailwind @theme
3228
- - Better performance: Compile once at startup (not per-page)
3229
- - Simpler architecture: Remove duplicate CSS generation layer
3230
- - Global consistency: One theme across all pages
3231
- - Standard Tailwind: Use standard Tailwind utilities (bg-primary, text-secondary)
3232
-
3233
- 🤖 Generated with [Claude Code](https://claude.com/claude-code)
3234
-
3235
- Co-Authored-By: Claude <noreply@anthropic.com>
3236
- * Restructured src/presentation/ folder hierarchy from scattered utils/ directories to feature-based organization
3237
-
3238
- ## Changes
3239
-
3240
- ### Folder Structure
3241
- - **Created feature directories**: rendering/, styling/, theming/, translations/, utilities/
3242
- - **Restructured sections/**: blocks/, props/, rendering/, styling/, translations/
3243
- - **Promoted component files**: pages/utils/ → pages/, metadata/utils/ → metadata/
3244
- - **Deleted duplicate**: animation-composer.ts in sections/utils/
3245
-
3246
- ### File Movements (52 files)
3247
- **Presentation-level**:
3248
- - utils/cn.ts → styling/cn.ts
3249
- - utils/theme-generators/ → theming/generators/
3250
- - utils/translation-resolver.ts → translations/translation-resolver.ts
3251
- - utils/render-homepage.tsx → rendering/render-homepage.tsx
3252
- - utils/string-utils.ts → utilities/string-utils.ts
3253
-
3254
- **Sections** (20 files → 5 feature directories):
3255
- - utils/block-*.ts → blocks/ (2 files)
3256
- - utils/*props*.ts → props/ (5 files)
3257
- - utils/component-registry.tsx → rendering/ (3 files)
3258
- - utils/*style*.ts, *animation*.ts → styling/ (7 files)
3259
- - utils/*translation*.ts, variable-substitution.ts → translations/ (2 files)
3260
-
3261
- **Pages/Metadata**:
3262
- - pages/utils/* → pages/ (10 files promoted)
3263
- - metadata/utils/* → metadata/ (2 files promoted)
3264
-
3265
- ### Import Updates
3266
- - Updated 78+ files with new import paths
3267
- - Fixed relative imports within sections/ directories
3268
- - Maintained import order (parent → local)
3269
-
3270
- ### Benefits
3271
- ✅ Feature-based organization (improved discoverability)
3272
- ✅ Clear separation of concerns (styling, theming, rendering, translations)
3273
- ✅ Reduced directory nesting (4 levels → 2-3 levels)
3274
- ✅ Eliminated duplication (animation-composer.ts)
3275
- ✅ Scalable structure for future growth
3276
-
3277
- ### Validation
3278
- ✅ TypeScript: 0 errors
3279
- ✅ ESLint: 0 errors, 4 warnings (acceptable - promoted components)
3280
- ✅ Unit Tests: 1,393/1,393 passing
3281
-
3282
- ## Migration Guide
3283
- See .github/IMPORT_MAPPING.md for complete import path mapping
3284
-
3285
- 🤖 Generated with [Claude Code](https://claude.com/claude-code)
3286
-
3287
- Co-Authored-By: Claude <noreply@anthropic.com>
3288
- * Language switcher now uses external JavaScript file instead of inline scripts
3289
-
3290
- ## CSP Compliance
3291
- - **Created**: External JavaScript file (src/presentation/scripts/client/language-switcher.js)
3292
- - **Added**: Server route /assets/language-switcher.js to serve external script
3293
- - **Updated**: DynamicPage to load external script with data attributes instead of inline script
3294
- - **Benefit**: Complies with Content Security Policy (no inline scripts)
3295
-
3296
- ## Runtime Validation
3297
- - **Added**: Runtime validation with Effect Schema in renderLanguageSwitcher
3298
- - **Validates**: Languages configuration at render time
3299
- - **Error handling**: Shows clear error message for invalid configuration
3300
-
3301
- ## Cleanup
3302
- - **Removed**: Unused language-switcher-client.ts (replaced by external .js file)
3303
- - **Simplified**: Script loading with conditional injection (only when language-switcher block is used)
3304
-
3305
- ## Files Changed
3306
- - src/presentation/scripts/client/language-switcher.js (new)
3307
- - src/infrastructure/server/server.ts (added route)
3308
- - src/presentation/components/pages/DynamicPage.tsx (external script loading)
3309
- - src/presentation/components/sections/renderers/element-renderers.tsx (runtime validation)
3310
- - src/presentation/scripts/language-switcher-client.ts (removed)
3311
-
3312
- 🤖 Generated with [Claude Code](https://claude.com/claude-code)
3313
-
3314
- Co-Authored-By: Claude <noreply@anthropic.com>
3315
- * Per-component i18n removed entirely in favor of pure centralized translations
3316
-
3317
- **Rationale:**
3318
- - Industry standards (i18next, vue-i18n, react-intl, next-intl) use pure centralized i18n
3319
- - Per-component overrides create maintenance burden and translation duplication
3320
- - Centralized pattern provides single source of truth
3321
- - Simpler mental model: 100% of translations in one place
3322
-
3323
- **Files Deleted:**
3324
- 1. specs/app/pages/common/i18n.schema.json (deprecated schema)
3325
- 2. specs/app/pages/common/i18n.spec.ts (redundant tests - covered by languages.spec.ts)
3326
-
3327
- **Schema Changes:**
3328
- 1. specs/app/pages/sections/sections.schema.json:
3329
- - Removed i18n property from section component definition
3330
- - Deleted APP-PAGES-SECTIONS-008 spec (tested per-component i18n)
3331
- - Updated APP-PAGES-SECTIONS-012 spec:
3332
- - Changed from "all 3 optional properties" to "multiple optional properties"
3333
- - Removed i18n from validation and application examples
3334
- - Now tests interactions + responsive only (not i18n)
3335
-
3336
- **Test Changes:**
3337
- 1. specs/app/pages/sections/sections.spec.ts:
3338
- - Removed APP-PAGES-SECTIONS-008 test (per-component i18n)
3339
- - Updated APP-PAGES-SECTIONS-012 test title and removed i18n property
3340
-
3341
- **Impact:**
3342
- - Schemas: 324 → 323 (i18n.schema.json deleted)
3343
- - Specs: 1720 → 1718 (2 per-component i18n specs removed)
3344
- - Validation: 0 errors
3345
-
3346
- **Migration Path:**
3347
- All translations now MUST use centralized pattern:
3348
-
3349
- ```json
3350
- {
3351
- "languages": {
3352
- "translations": {
3353
- "en-US": {
3354
- "button.save": "Save",
3355
- "forms.email.placeholder": "Enter email"
3356
- },
3357
- "fr-FR": {
3358
- "button.save": "Enregistrer",
3359
- "forms.email.placeholder": "Entrez votre e-mail"
3360
- }
3361
- }
3362
- },
3363
- "sections": [
3364
- { "type": "button", "children": ["$t:button.save"] },
3365
- { "type": "input", "props": { "placeholder": "$t:forms.email.placeholder" } }
3366
- ]
3367
- }
3368
- ```
3369
-
3370
- **For context-specific text**, use specific translation keys:
3371
- - ❌ Old (removed): Per-component override with generic key
3372
- - ✅ New (required): Specific centralized keys (payment.submit, form.submit)
3373
-
3374
- **Benefits:**
3375
- - Single source of truth for ALL translations
3376
- - No precedence rules to remember
3377
- - Easier to audit missing translations
3378
- - Better translator workflow (one file to translate)
3379
- - Consistent with industry standards
3380
-
3381
- 🤖 Generated with [Claude Code](https://claude.com/claude-code)
3382
-
3383
- Co-Authored-By: Claude <noreply@anthropic.com>
3384
- * **i18n:** (v0.2.0): Per-component i18n will be removed in v0.2.0
3385
-
3386
- **Rationale:**
3387
- - Industry standards (i18next, vue-i18n, react-intl, next-intl) use pure centralized i18n
3388
- - Per-component overrides create translation duplication and maintenance burden
3389
- - Centralized pattern provides single source of truth for all translations
3390
-
3391
- **Changes:**
3392
-
3393
- 1. **Deprecated per-component i18n** (specs/app/pages/common/i18n.schema.json):
3394
- - Marked schema as DEPRECATED with migration instructions
3395
- - Added deprecation warning to description
3396
- - Removed 11 x-specs (APP-I18N-001 through 010, 012) testing deprecated pattern
3397
- - Kept only APP-I18N-011 (tests centralized $t: pattern)
3398
-
3399
- 2. **Refactored i18n tests** (specs/app/pages/common/i18n.spec.ts):
3400
- - Removed all per-component i18n tests (11 tests deleted)
3401
- - Kept APP-I18N-011 (centralized pattern test)
3402
- - Added comprehensive regression test showing $t: in multiple prop types
3403
-
3404
- 3. **Enhanced centralized pattern** (specs/app/languages/languages.schema.json):
3405
- - Updated description: $t: works in ANY string property (not just children)
3406
- - Added translation keys for accessibility (a11y.*) and images (images.*.alt)
3407
- - Added comprehensive example showing $t: in children, props, meta
3408
- - Improved translation key conventions documentation
3409
- - Removed APP-LANGUAGES-017 (hybrid precedence test)
3410
-
3411
- 4. **Updated documentation** (docs/architecture/patterns/i18n-centralized-translations.md):
3412
- - Removed "FALLBACK: Per-Component i18n" section
3413
- - Removed "Translation Resolution (Precedence Order)" section
3414
- - Removed hybrid examples and precedence rules
3415
- - Updated migration guide for v0.1.x → v0.2.0
3416
- - Clarified: 100% centralized, 0% per-component
3417
-
3418
- 5. **Added deprecation warnings** (scripts/validate-app-specs.ts):
3419
- - Added validateDeprecatedI18n() function
3420
- - Emits warnings when per-component i18n detected in schemas
3421
- - Skips examples/x-specs (they're documentation)
3422
- - Provides migration path in warning message
3423
-
3424
- 6. **Removed hybrid test** (specs/app/languages/languages.spec.ts):
3425
- - Deleted APP-LANGUAGES-017 test (per-component override precedence)
3426
-
3427
- **Migration Path:**
3428
-
3429
- v0.1.1 (current): Deprecation warnings emitted
3430
- v0.2.0: Per-component i18n removed entirely
3431
-
3432
- **For context-specific text**, use specific translation keys:
3433
- - ❌ Bad: `common.submit` with per-component override
3434
- - ✅ Good: `payment.submit`, `form.submit` (specific centralized keys)
3435
-
3436
- **Pattern examples:**
3437
- ```json
3438
- {
3439
- "translations": {
3440
- "en-US": {
3441
- "button.save": "Save",
3442
- "forms.email.placeholder": "Enter email",
3443
- "a11y.close": "Close",
3444
- "images.logo.alt": "Company logo"
3445
- }
3446
- },
3447
- "components": [
3448
- { "type": "button", "children": ["$t:button.save"] },
3449
- { "type": "input", "props": { "placeholder": "$t:forms.email.placeholder" } },
3450
- { "type": "button", "props": { "aria-label": "$t:a11y.close" } },
3451
- { "type": "img", "props": { "alt": "$t:images.logo.alt" } }
3452
- ]
3453
- }
3454
- ```
3455
-
3456
- **Validation:**
3457
- - 0 errors (schemas validate correctly)
3458
- - Total specs: 1732 → 1720 (12 deprecated specs removed)
3459
-
3460
- 🤖 Generated with [Claude Code](https://claude.com/claude-code)
3461
-
3462
- Co-Authored-By: Claude <noreply@anthropic.com>
3463
- * Downstream agents now read specs.schema.json directly via Triple-Documentation Pattern
3464
-
3465
- 🤖 Generated with [Claude Code](https://claude.com/claude-code)
3466
-
3467
- Co-Authored-By: Claude <noreply@anthropic.com>
3468
- * Updated file naming conventions from 3 case styles to 2
3469
-
3470
- Before:
3471
- - kebab-case for 9 file types
3472
- - PascalCase for use cases, ports, repositories, errors, page components
3473
- - Mixed conventions increased cognitive load
3474
-
3475
- After:
3476
- - kebab-case for 95% of files (default)
3477
- - PascalCase ONLY for page-level components (5%)
3478
-
3479
- Key improvements:
3480
- - Simpler mental model: "kebab-case unless it's a page"
3481
- - File ≠ export principle: start-server.ts exports startServer
3482
- - Ecosystem aligned: matches URLs, CLI tools, React hooks, shadcn/ui
3483
- - Minimal decision fatigue: one default style
3484
- - Quick decision tree: "Is it a page? → PascalCase, else → kebab-case"
3485
-
3486
- Affected conventions:
3487
- - Use cases: StartServer.ts → start-server.ts
3488
- - Ports: IConfigLoader.ts → config-loader.ts or i-config-loader.ts
3489
- - Repositories: UserRepository.ts → user-repository.ts
3490
- - Errors: InvalidConfigError.ts → invalid-config-error.ts
3491
- - Layers: AppLayer.ts → app-layer.ts
3492
-
3493
- Page components remain PascalCase: DefaultHomePage.tsx ✓
3494
-
3495
- 🤖 Generated with [Claude Code](https://claude.com/claude-code)
3496
-
3497
- Co-Authored-By: Claude <noreply@anthropic.com>