54 Commits (1ab19cb38283b89d470092bf3e78f3fc37f5c13d)

Author SHA1 Message Date
oabrivard 1ab19cb382 docs: add spec for configurable summary length
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
3 months ago
oabrivard 1f8f2ddc9d docs: add implementation plan for integration tests with mock LLM provider
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
3 months ago
oabrivard f678275f59 docs: add spec for integration tests with mock LLM provider + update algorithm.md
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
3 months ago
oabrivard 0b71215ddc docs: update algorithm.md to reflect current pipeline state
Documents the Brave Search path in Phase 2, batch_size setting for
parallelism, batched article tracing with build_trace_entry/batch_insert_entries,
15-minute pipeline timeout, panic handling, session cleanup background task,
SSRF checks on source pages, and the max_links change from 10 to 15.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
3 months ago
oabrivard 2e87ae854a docs: add implementation plan for polish and optimization items
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
3 months ago
oabrivard 825c7212e1 docs: add spec for polish and optimization items
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
3 months ago
oabrivard 030fe6f941 docs: add implementation plan for structural refactoring
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
3 months ago
oabrivard fd1130fd5a docs: add spec for structural refactoring (audit sub-project B)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
3 months ago
oabrivard 4123ae38f7 docs: add implementation plan for audit bug fixes
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
3 months ago
oabrivard 114f2912dd docs: add spec for audit bug fixes (P0 + P1)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
3 months ago
oabrivard 811c5c87d1 docs: add comprehensive code audit reports from 5-agent team
Architect, Frontend Expert, Rust Expert, Tech Lead, and Devil's Advocate
analyzed the codebase independently. Key findings: UTF-8 panic bug, XSS
risk, synthesis.rs duplication (3x batch loop), Settings.tsx complexity.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
3 months ago
oabrivard 37bb6b4361 docs: add implementation plan for Brave Search integration
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
3 months ago
oabrivard 83c0828392 docs: add spec for Brave Search API integration in Phase 2
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
3 months ago
oabrivard 2299790986 docs: add implementation plan for pipeline improvements
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
3 months ago
oabrivard 7804235401 docs: add spec for pipeline improvements (web search, logs, link extraction)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
3 months ago
oabrivard a5e6cf2ac0 docs: update algorithm docs and generation time estimate
Update algorithm.md to reflect the rewritten per-article classify/summarize
pipeline (no batch classification, no rewrite pass). Update generation time
estimate from 1 minute to 10 minutes in frontend i18n and docs.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
3 months ago
oabrivard 97e484e03f docs: add model split implementation plan 3 months ago
oabrivard c321cacd78 docs: update OpenAI model lists to GPT-5 generation 3 months ago
oabrivard 03d4cfb773 docs: add spec for model split — scraping vs websearch 3 months ago
oabrivard 2d623c6ced docs: add spec for pipeline tweaks (parallel extraction, shuffle, clear history) 3 months ago
oabrivard d3b63295f6 docs: add algorithm rewrite implementation plan (7 tasks) 3 months ago
oabrivard 1d5dc0596c docs: add spec for algorithm rewrite — per-article classify, no rewrite pass 3 months ago
oabrivard e4b76fb06a docs: add plan for simplifying LLM provider trait 3 months ago
oabrivard cb0b7620c9 docs: add spec for simplifying LLM provider trait to single call_llm method 3 months ago
oabrivard 0372a96822 docs: add algorithm.md describing full synthesis generation pipeline 3 months ago
oabrivard 88c16c5d67 docs: add LLM call logging implementation plan (6 tasks) 3 months ago
oabrivard 314fb7a037 docs: add spec for LLM call logging per synthesis 3 months ago
oabrivard 5a0495b02a docs: add article tracing implementation plan (7 tasks) 3 months ago
oabrivard 445dad9963 docs: add spec for article tracing — enriched history with provenance views 3 months ago
oabrivard f5f0656604 docs: add Autre fill-up implementation plan 3 months ago
oabrivard aebd436a91 docs: add spec for Autre fill-up to 75% synthesis target 3 months ago
oabrivard d7c91c956f docs: add article history implementation plan with retry logic 3 months ago
oabrivard 633a51dc8c docs: add spec for article history to prevent cross-synthesis duplicates 3 months ago
oabrivard d508ea9620 docs: revise LLM scraping plan — fix Arc provider, head_html, concurrency, tests 3 months ago
oabrivard 175483dfe3 docs: add spec and plan for LLM-assisted scraping
Two optional LLM enhancements: link extraction from source pages and article
content extraction. Plan needs revision for Arc<dyn LlmProvider> threading
and <head> HTML preservation before implementation.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
3 months ago
oabrivard 420603d76a Updated specifications of source diversity functionality 3 months ago
oabrivard 7c8a19616d docs: add spec and plan for source priority pipeline redesign
Two-phase pipeline: scrape personalized sources first, classify with LLM,
fall back to web search for gaps. Tasks 1-3 ready, Task 4 needs elaboration.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
3 months ago
oabrivard fb604a408b Changed Claude code configuration 3 months ago
oabrivard b9dcf6e749 Updated architect assessment 3 months ago
oabrivard bcfff4d5d5 docs: add spec and plan for coverage assessment v2 update
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
3 months ago
oabrivard a72ca14779 docs: update tech lead assessment with current test coverage and closed gaps 3 months ago
oabrivard e1c37b520b Add architect remediation implementation plan
5 tasks: fix syntheses list contract (frontend aligns to backend preview
fields), fix admin rate-limits path (provider_name not id), SSRF redirect
per-hop validation with custom reqwest policy, shared typed test fixtures.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
3 months ago
oabrivard d20fa20ed2 Add architect remediation design spec
4 fixes: syntheses list contract alignment (frontend to backend),
admin rate-limits path fix (provider_name not id), SSRF redirect
per-hop validation with attempt.error(), shared test fixtures.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
3 months ago
oabrivard 7769f56410 Added architect assessment 3 months ago
oabrivard 3a59362acc docs: add tech lead assessment of test coverage and documentation 3 months ago
oabrivard 7b3fc717eb Add test coverage and documentation implementation plan
12 tasks: backend auth middleware tests, frontend test utilities,
5 page test suites (Home, Settings, Sources, Login/Register, Generate),
JSDoc for API layer + pages/components, E2E infrastructure + 5 Playwright flows.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
3 months ago
oabrivard 449edfcf59 Add test coverage and documentation improvement spec
Addresses all 5 recommendations from tech lead assessment:
- Frontend page tests (~39 tests for Settings, Home, Sources, Login, Generate)
- Frontend JSDoc documentation (~30 files)
- Backend test gaps (schema builder, auth middleware, token utils)
- E2E tests with Playwright (5 flows against real Docker stack)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
3 months ago
oabrivard 98528f51bd Fix rate limiter bug, simplify v2 code
Bug fix:
- Per-generation rate limiter was creating a new instance on every check,
  making user rate limit overrides non-functional. Fixed by creating the
  limiter once at pipeline start and reusing for both passes.

Simplifications:
- Extract spawn_task closure in scrape_articles (deduplicate spawn blocks)
- Use idiomatic if let Ok(...) instead of if let Some(..).ok() in scraper
- Replace manual loop with iterator chain in export_keys handler
- Simplify check_rate_limit to single boolean check
- Simplify handleImport settings merge (spread already provides defaults)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
3 months ago
oabrivard 6b27a0f691 Add v2 changes implementation plan
10 tasks covering: migration, settings model expansion, DB queries,
pipeline updates (user model selection, rate limiter, URL filter),
prompts (deep-link, original title), scraper improvements, API key
export, frontend (dual models, rate limits, export/import), and
empty sections fallback.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
3 months ago
oabrivard 74e2cb0273 Add v2 changes design spec
8 changes covering: settings export/import, dual model selection,
user rate limit overrides, original title preservation, enhanced
broken link detection, deep-link URL enforcement, settings schema
expansion, and empty sections fallback message.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
3 months ago