Open Issues Need Help
View All on GitHubAI Summary: This issue proposes refactoring repetitive test functions in the test suite by utilizing `pytest.mark.parametrize`. The goal is to replace groups of nearly identical tests, which currently differ only by input values (e.g., summary lengths), with a single parameterized test function to improve maintainability and reduce redundancy. Known candidates in `tests/routes/test_summarize.py` are provided as an example.
A local REST API that accepts a URL, scrapes its content, and returns a summary generated by a local LLM via Ollama
AI Summary: This issue aims to enhance observability by implementing structured logging for all currently silent API routes within `app/routes/summarize.py`. Currently, only the `POST /summarize` endpoint emits logs, hindering debugging for other history-related operations. The task involves adding at least one `log.info` call with relevant structured fields to `GET /history`, `GET /history/{id}`, and `DELETE /history/{id}`, leveraging the project's existing `structlog` setup.
A local REST API that accepts a URL, scrapes its content, and returns a summary generated by a local LLM via Ollama
AI Summary: This GitHub issue proposes adding a `reading_time_minutes` field to the API's summary response. This field will be a computed property on the ORM model, calculating the estimated reading time based on the article's word count (assuming 200 words per minute) and then added to the `SummaryResponse` schema. A prerequisite for this feature is the completion of issue #48, which ensures the article's content is persisted and available.
A local REST API that accepts a URL, scrapes its content, and returns a summary generated by a local LLM via Ollama
AI Summary: This issue proposes persisting the raw scraped text content in the `content` column of the `summaries` database table. Currently, this column is unused, and the raw text is discarded after summarization, preventing review and requiring re-scraping for retries. The solution involves modifying the `create()` function in `app/repositories/summary.py` to accept and store the content, and updating the `POST /summarize` handler in `app/routes/summarize.py` to pass the scraped text to this function.
A local REST API that accepts a URL, scrapes its content, and returns a summary generated by a local LLM via Ollama