Commit Graph

  • fb086a706f feat: rename fallback category "Autre" to "Divers" oabrivard 2026-03-26 18:58:39 +0100
  • 102f6d3fe7 feat: add first/last page + page number input to article history pagination oabrivard 2026-03-26 18:50:57 +0100
  • e24236a069 feat: add max_links_per_source setting (default 8, was hardcoded 15) oabrivard 2026-03-26 18:26:00 +0100
  • 2c3c6008a3 fix: monotonic progress bar with 3 clean phases (sources, websearch, saving) oabrivard 2026-03-26 18:06:38 +0100
  • d234fa9b24 feat: add is_article LLM check + remove use_llm_for_source_links option oabrivard 2026-03-26 17:43:50 +0100
  • 5b67ef2e51 fix: update integration and E2E test fixtures for summary_length, source_extraction_window, and NewsItem.date oabrivard 2026-03-26 16:57:33 +0100
  • 37d17e577a feat: restructure Phase 1 into windowed source extraction waves oabrivard 2026-03-26 16:50:53 +0100
  • 0f1b0306e4 feat: add source_extraction_window setting (default 3) oabrivard 2026-03-26 16:47:11 +0100
  • 94a200a2ab docs: add implementation plan for windowed source extraction oabrivard 2026-03-26 16:39:54 +0100
  • 5426b342ef docs: add spec for windowed source extraction pipeline oabrivard 2026-03-26 16:34:16 +0100
  • c5a56c8fb8 feat: save publication date in article history and show in synthesis oabrivard 2026-03-26 15:56:30 +0100
  • de25a08d51 feat: LLM extracts publication date as fallback for article age filtering oabrivard 2026-03-26 15:46:03 +0100
  • 91272ddfc4 feat: dynamic summary length and body snippet size based on setting oabrivard 2026-03-26 15:01:37 +0100
  • bf07b049f3 feat: add summary length slider to Settings page oabrivard 2026-03-26 15:01:13 +0100
  • 1b63afd12a feat: add summary_length setting (1=court, 2=moyen, 3=detaille) oabrivard 2026-03-26 14:58:59 +0100
  • fdb8b7f662 docs: add implementation plan for configurable summary length oabrivard 2026-03-26 14:52:55 +0100
  • 1ab19cb382 docs: add spec for configurable summary length oabrivard 2026-03-26 14:48:43 +0100
  • ec798831c3 fix: use broader theme and 30-day window in generation E2E test oabrivard 2026-03-26 13:20:55 +0100
  • 7558dcf049 fix: run seed.ts before E2E tests to create test users and sessions oabrivard 2026-03-26 13:05:42 +0100
  • 1dad319e5e fix: update E2E tests for Turnstile DOM stability, stale selectors, and pipeline changes oabrivard 2026-03-26 12:53:14 +0100
  • d8ccd779d7 fix: rename duplicate jobId variable in E2E test oabrivard 2026-03-26 12:08:32 +0100
  • 021319c166 fix: use import.meta.url instead of __dirname in ESM config oabrivard 2026-03-26 12:02:58 +0100
  • b5cdd80123 fix: load .env.test in Playwright config for OPENAI_TEST_API_KEY oabrivard 2026-03-26 11:59:35 +0100
  • 0874650a7f fix: pipeline tests use wiremock URLs + skip SSRF for localhost oabrivard 2026-03-26 11:38:53 +0100
  • a158f14311 fix: don't poll SSE stream in model resolution test oabrivard 2026-03-26 11:34:59 +0100
  • eadfbc000b fix: expect 201 Created for source creation in syntheses test oabrivard 2026-03-26 11:30:25 +0100
  • 54c637647b fix: add missing fields to syntheses test settings payload oabrivard 2026-03-26 11:27:02 +0100
  • 7ec491b6ac fix: update settings test payloads for new required fields + fix unused var warning oabrivard 2026-03-26 11:24:52 +0100
  • a0a8f72caa fix: don't join Drop cleanup thread — prevents deadlock in tokio tests oabrivard 2026-03-26 11:17:09 +0100
  • 243558b950 debug: add full_app_health_check test with logging oabrivard 2026-03-26 11:13:48 +0100
  • aee70b37d4 fix: use docker-compose.test.yml for integration test DB oabrivard 2026-03-26 11:11:26 +0100
  • 5fa060fadc fix: use invalid session token for admin auth rejection tests oabrivard 2026-03-26 10:54:49 +0100
  • bd4f101d16 fix: use invalid session token instead of no cookie for auth rejection tests oabrivard 2026-03-26 10:54:35 +0100
  • 53813007c6 fix: use lightweight test router without SPA fallback and TraceLayer oabrivard 2026-03-26 10:50:58 +0100
  • 7cbafdfb31 fix: create test static dir to prevent ServeDir/ServeFile hang oabrivard 2026-03-26 10:46:39 +0100
  • cda9e2fc25 fix: pass all args to cargo test in integration test script oabrivard 2026-03-26 10:43:59 +0100
  • bb2209e425 fix: update admin tests for models_scraping/models_websearch split oabrivard 2026-03-26 10:34:16 +0100
  • de8e5ab85c feat: add test runner scripts for integration and E2E tests oabrivard 2026-03-26 10:22:40 +0100
  • 370e033506 feat: add pipeline integration tests with MockLlmProvider and wiremock oabrivard 2026-03-26 10:16:41 +0100
  • ccecaa2d13 refactor: add provider_override for pipeline dependency injection oabrivard 2026-03-26 10:12:07 +0100
  • 17e054c257 feat: add MockLlmProvider for integration testing oabrivard 2026-03-26 10:10:13 +0100
  • ecf95ffe35 fix: update test config for session_secret removal and Arc master key oabrivard 2026-03-26 10:10:10 +0100
  • 1f8f2ddc9d docs: add implementation plan for integration tests with mock LLM provider oabrivard 2026-03-26 10:06:50 +0100
  • f678275f59 docs: add spec for integration tests with mock LLM provider + update algorithm.md oabrivard 2026-03-26 09:58:29 +0100
  • 0b71215ddc docs: update algorithm.md to reflect current pipeline state oabrivard 2026-03-26 09:49:37 +0100
  • 4bbdd5c4d1 perf: batch article history INSERTs to reduce DB round-trips oabrivard 2026-03-26 09:40:32 +0100
  • f37e0b42a0 perf: use Arc for immutable values in pipeline to reduce cloning oabrivard 2026-03-26 09:36:52 +0100
  • 0aa0541958 refactor: standardize createResource and use Button component oabrivard 2026-03-26 09:35:26 +0100
  • 60494aeceb perf: cache CSS selectors with LazyLock to avoid re-parsing oabrivard 2026-03-26 09:32:44 +0100
  • 69c1688bc7 chore: remove SESSION_SECRET and wrap master_encryption_key in Arc oabrivard 2026-03-26 09:32:18 +0100
  • 150090a112 chore: align frontend DEFAULT_SETTINGS with backend defaults oabrivard 2026-03-26 09:30:55 +0100
  • 2e87ae854a docs: add implementation plan for polish and optimization items oabrivard 2026-03-26 09:25:03 +0100
  • 825c7212e1 docs: add spec for polish and optimization items oabrivard 2026-03-26 09:20:28 +0100
  • ee6d833d70 refactor: decompose Settings.tsx into sub-components oabrivard 2026-03-26 01:21:45 +0100
  • f44aa44c48 refactor: replace trace_article 11 parameters with ArticleTrace struct oabrivard 2026-03-26 01:19:05 +0100
  • f5466a6bd5 refactor: extract shared LLM error mapping to reduce duplication oabrivard 2026-03-26 01:16:47 +0100
  • 2036c12b24 refactor: eliminate SettingsResponse struct, serialize UserSettings directly oabrivard 2026-03-26 01:16:03 +0100
  • e056ef9d3e refactor: extract assign_category and filter_phase2_url helpers from synthesis pipeline oabrivard 2026-03-26 01:14:35 +0100
  • 030fe6f941 docs: add implementation plan for structural refactoring oabrivard 2026-03-26 01:09:04 +0100
  • fd1130fd5a docs: add spec for structural refactoring (audit sub-project B) oabrivard 2026-03-26 01:02:47 +0100
  • 5a66443a94 fix: add onCleanup for setTimeout in frontend pages oabrivard 2026-03-26 00:47:18 +0100
  • 24d53a01d1 fix: block SSRF via IPv4-mapped IPv6 and add check to source page fetching oabrivard 2026-03-26 00:45:45 +0100
  • 93003229f1 fix: add periodic expired session cleanup (hourly) oabrivard 2026-03-26 00:44:04 +0100
  • 3da246bef6 fix: remove XSS via innerHTML and add setTimeout cleanup oabrivard 2026-03-26 00:43:19 +0100
  • 347558a278 fix: atomic job creation, 15min timeout, and panic handling oabrivard 2026-03-26 00:42:23 +0100
  • 59932589cc fix: prevent UTF-8 panic in error message truncation oabrivard 2026-03-26 00:39:39 +0100
  • 4123ae38f7 docs: add implementation plan for audit bug fixes oabrivard 2026-03-26 00:35:48 +0100
  • 114f2912dd docs: add spec for audit bug fixes (P0 + P1) oabrivard 2026-03-26 00:25:57 +0100
  • 811c5c87d1 docs: add comprehensive code audit reports from 5-agent team oabrivard 2026-03-26 00:10:20 +0100
  • e74a1850bf fix: log source URL in link_extraction LLM call logs oabrivard 2026-03-25 23:53:38 +0100
  • a968fdc308 fix: allow brave_search as valid API key provider oabrivard 2026-03-25 23:07:36 +0100
  • c5d23ecd10 feat: add Brave Search section to Settings page oabrivard 2026-03-25 22:57:52 +0100
  • f124b056fe feat: add Brave Search Phase 2 pipeline path oabrivard 2026-03-25 22:55:29 +0100
  • e05c2ae75a feat: handle brave_search in API key test endpoint oabrivard 2026-03-25 22:52:18 +0100
  • f414ff0f58 feat: add use_brave_search setting oabrivard 2026-03-25 22:51:19 +0100
  • fa03c60339 feat: add Brave Search API client module oabrivard 2026-03-25 22:47:39 +0100
  • 37bb6b4361 docs: add implementation plan for Brave Search integration oabrivard 2026-03-25 22:39:41 +0100
  • 83c0828392 docs: add spec for Brave Search API integration in Phase 2 oabrivard 2026-03-25 22:08:31 +0100
  • 41109b3d93 feat: send structured link pairs to LLM instead of raw HTML body oabrivard 2026-03-25 10:53:56 +0100
  • a5332f0996 feat: add article_url to LLM call logs for classify tracing oabrivard 2026-03-25 10:51:44 +0100
  • b062e81218 fix: remove personalized sources from Phase 2 web search prompt oabrivard 2026-03-25 10:49:04 +0100
  • 2299790986 docs: add implementation plan for pipeline improvements oabrivard 2026-03-25 10:41:43 +0100
  • 7804235401 docs: add spec for pipeline improvements (web search, logs, link extraction) oabrivard 2026-03-25 10:32:42 +0100
  • 4c6381b09a feat: add batch_size setting for Phase 1 parallelism oabrivard 2026-03-25 10:02:00 +0100
  • a5e6cf2ac0 docs: update algorithm docs and generation time estimate oabrivard 2026-03-25 09:55:24 +0100
  • 7cd867c650 fix: resolve all clippy warnings oabrivard 2026-03-25 09:52:08 +0100
  • fa9375233e fix: remove 3 compiler warnings (unreachable code, unused variables) oabrivard 2026-03-25 09:48:51 +0100
  • 14b0a0b7e8 refactor: LLM link extraction uses body only (no head), increased to 12000 chars oabrivard 2026-03-25 09:46:43 +0100
  • 3353e5261f feat: rate limiter waits instead of failing — sleeps until window passes (max 60s) oabrivard 2026-03-25 09:32:08 +0100
  • ed399e9a6e feat: parallelize Phase 1 scrape+classify in batches of 5 oabrivard 2026-03-25 09:21:05 +0100
  • a5f4239157 fix: distinguish filtered_too_old from filtered_empty in article tracing oabrivard 2026-03-25 09:12:22 +0100
  • a760220d44 fix: log LLM calls for source link extraction in llm_call_log oabrivard 2026-03-25 09:06:41 +0100
  • fb765d6c8f feat: split model dropdowns — scraping vs websearch in frontend oabrivard 2026-03-25 08:40:50 +0100
  • 8d232c1ade feat: split model selection — scraping vs websearch with GPT-5 models oabrivard 2026-03-25 08:34:59 +0100
  • 97e484e03f docs: add model split implementation plan oabrivard 2026-03-25 08:28:56 +0100
  • c321cacd78 docs: update OpenAI model lists to GPT-5 generation oabrivard 2026-03-25 08:27:48 +0100
  • 03d4cfb773 docs: add spec for model split — scraping vs websearch oabrivard 2026-03-25 08:23:48 +0100
  • 37bc849f92 feat: add clear history button with confirmation on ArticleHistory page oabrivard 2026-03-25 08:00:14 +0100
  • 7f7d584314 feat: parallel source extraction, shuffle candidates, clear history endpoint oabrivard 2026-03-25 07:55:01 +0100
  • 2d623c6ced docs: add spec for pipeline tweaks (parallel extraction, shuffle, clear history) oabrivard 2026-03-25 07:51:44 +0100