61ff2a77c0
perf: A1-14b replace O(n^2) embedding snapshot with hnswlib HNSW index and debounced persistence
2026-05-29 15:36:13 +02:00
744f7543d7
perf: batch CPU embedding inference and add A1-14c Apple GPU (EMLX) spec gap
2026-05-29 14:43:39 +02:00
a1004d72bf
fix: A1-14 real neural embeddings via Bumblebee multilingual-e5-small with Float32 BLOB vector cache
2026-05-29 14:04:51 +02:00
489d787306
fix: A1-13 wire git sidebar to BDS.Git with branch, changes, history, and actions
2026-05-29 13:25:32 +02:00
babae1838d
fix: A1-12 functional client-side search with real PagefindUI and fragment index
2026-05-29 10:29:42 +02:00
5b619f492a
fix: A1-11 graceful preview shutdown drains inflight requests before stopping
2026-05-29 09:49:54 +02:00
b3434b3054
fix: A1-10 write template file to disk on create instead of leaving file_path empty
2026-05-29 09:43:18 +02:00
5b21dcb17d
fix: A1-9 replace native color input with 17-preset colour picker popover + custom hex
2026-05-29 09:28:57 +02:00
1f645f6e5e
fix: stabilize atom-leak test by checking specific keys instead of global atom count
2026-05-29 09:19:13 +02:00
99d36e6e2f
fix: A1-8 add Liquid/Lua validation gates before template and script publish
2026-05-29 09:16:07 +02:00
d7e30b94cb
chore: cleanup of tmp files for test
2026-05-28 22:48:48 +02:00
c5e09e7316
fix: A1-7 implement 4-level template lookup cascade (post→tag→category→default)
2026-05-28 22:38:35 +02:00
0305d80051
fix: A1-6 preview prefers draft content over published files for on-demand rendering
2026-05-28 22:24:07 +02:00
e58d68e73e
fix: A1-6 implement on-demand rendering in preview server per spec
2026-05-28 22:20:39 +02:00
0f30221907
fix: A1-5 implement post editor auto-save after 3000ms idle, on tab switch, and on unmount
2026-05-28 21:45:42 +02:00
05923f255b
fix: A1-4 omit doNotTranslate from frontmatter when false per spec
2026-05-28 21:36:10 +02:00
ff89d78ab4
fix: A1-3 publish_post deletes old file when post path changes
2026-05-28 21:15:58 +02:00
e2c92cb90d
fix: A1-2 delete translation files from disk when parent post is deleted
2026-05-28 18:47:27 +02:00
82ce445c44
fix: A1-1 implement archived→draft/published transitions, wire archive/unarchive into post editor quick actions, complete all i18n translations
2026-05-28 18:39:52 +02:00
f99e139fa5
feat: added a gallery quick action and fleshed out builtin macros
2026-05-28 17:19:49 +02:00
f7a4a9512c
fix: persist a2ui surfaces in the database for chats to re-hydrate on
...
opening an old chat, unless manually dismissed
2026-05-27 20:13:33 +02:00
a5ac74db91
fix(style): add missing @impl true to all handle_call clauses in Publishing GenServer (CSM-036)
2026-05-27 19:19:50 +02:00
beca4d992f
fix(docs): document UILocale process-dict invariant and add enforcement tests (CSM-035)
2026-05-27 19:16:42 +02:00
9e6d93a4b3
fix(safety): replace File.read! with File.read and error-tuple handling in preview_assets and templates (CSM-034)
2026-05-27 19:10:13 +02:00
e29dfb490a
fix(perf): replace Enum.each + individual inserts with preloaded keys and batch upsert in embeddings (CSM-033)
2026-05-27 19:03:21 +02:00
f2b340ba86
fix(style): replace Map.get with dot access and pattern matching where keys are guaranteed (CSM-032)
2026-05-27 18:33:42 +02:00
d18e0ef7f2
fix(rendering): replace inline try/rescue with with-chains and safe_liquex_render helpers (CSM-031)
2026-05-27 18:12:23 +02:00
b052d59376
fix(fs): handle File.mkdir_p errors and remove bang variants in sidecars and release packaging (CSM-030)
2026-05-11 20:25:06 +02:00
4a089b0856
fix(perf): bind length/1 to variables before loop bodies in route paths and sidebar (CSM-029)
2026-05-11 20:18:56 +02:00
2632649cdc
fix(rendering): replace raising read_template_file with try_read in macro templates (CSM-028)
2026-05-11 20:09:49 +02:00
99dc1c2216
chore: remove redundant export-only tests, add test audit procedure
...
Deleted chat_editor_test.exs and import_editor_test.exs which only
checked function_exported?/Code.ensure_loaded? without exercising any
behavior — both components are already tested via LiveView rendering
in shell_live_test.exs and import_shell_live_test.exs respectively.
Added TESTAUDIT.md documenting the procedure for periodic test suite
audits to catch non-behavioral tests.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-05-11 10:35:24 +02:00
0808b27057
chore: moved from delay-based tests to deterministic gated server tests
...
for chat
2026-05-11 10:20:46 +02:00
ac4f5a3580
fix: eliminate TOCTOU race in template file system by reading directly instead of checking existence (CSM-026)
2026-05-11 09:26:54 +02:00
43a435f35d
fix: derive pagefind language prefixes from project settings (CSM-025)
...
Replace hardcoded ["de/", "fr/", "it/", "es/"] with prefixes computed
from plan.blog_languages, so arbitrary language codes work correctly.
Also mark CSM-024 as fixed (done in CSM-005).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-05-11 09:19:31 +02:00
7b383d31ab
fix: decompose monolithic functions into focused helpers (CSM-023)
...
Break up SRP violations in Templates.do_update_template/2 and
Capabilities.for_project/2 by extracting domain-specific builder
functions and single-responsibility private helpers.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-05-11 09:15:48 +02:00
a4ecbabc21
fix: return error tuples instead of silent {:ok, ""} in execute_macro (CSM-022)
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-05-11 09:07:44 +02:00
2be43ca06d
fix: replace cond blocks with pattern matching and case (CSM-021)
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-05-11 09:04:56 +02:00
7c00279b9d
fix: flatten nested case blocks with with chains (CSM-020)
...
Replace deeply nested case expressions with flat with chains in
import_definitions, publishing, and templates modules. Also replaced
Repo.update!() with Repo.update() in the publishing update_job handler.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-05-10 12:36:42 +02:00
5c17751d55
fix: fixed CSM-017
2026-05-09 17:33:51 +02:00
e4452ca504
chore: unit tests for CSM-016
2026-05-09 17:18:43 +02:00
ce80f28e60
fix: fix CSM-016 for real (previous commit was 015)
2026-05-09 17:18:32 +02:00
f1de11a205
fix: fixed CSM-016
2026-05-09 16:57:59 +02:00
ff219fd110
chore: unit test for csm-014
2026-05-09 16:38:18 +02:00
1beffe6b07
chore: unit test for csm-013
2026-05-09 15:10:24 +02:00
44b88056e3
fix: fix CSM-012
2026-05-09 15:04:10 +02:00
35b3818d58
chore: unit test for CSM-011
2026-05-09 14:52:48 +02:00
f1445120fc
fix: fix CSM-010
2026-05-09 14:31:44 +02:00
14dfbd8829
fix: fixed CSM-009
2026-05-09 14:22:56 +02:00
24e9e9a022
fix: fixed CSM-008
2026-05-09 14:17:32 +02:00
88c689ee55
fix: fixed CSM-007
2026-05-09 10:41:28 +02:00