Skip to content

Working - #216

Open
TimErdmann87 wants to merge 15 commits into
https-deeplearning-ai:mainfrom
TimErdmann87:working
Open

TimErdmann87 wants to merge 15 commits into
https-deeplearning-ai:mainfrom
TimErdmann87:working

Conversation

@TimErdmann87

Copy link
Copy Markdown

No description provided.

TimErdmann87 and others added 15 commits September 14, 2026 22:29
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
claude-sonnet-4-20250514 was returning a 404 (not accessible), and
the hardcoded temperature=0 param is deprecated on newer models.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Sources now carry an optional link resolved from the vector store
(lesson link, falling back to course link), rendered as a numbered
list with each entry wrapped in an anchor when a link is available.
Also dedupes sources by course/lesson so repeated chunks from the
same lesson only produce one citation.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
claude-sonnet-5 has extended thinking enabled by default, and would
occasionally end its turn after a thinking block with no text at all,
leaving the chatbot with a blank answer. Disable thinking explicitly,
extract text by scanning for a text block instead of assuming
content[0] is one (thinking blocks have no .text), and retry once if
a response still comes back with no text.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Clears the chat window and starts a new session client-side without
a page reload, and ends the previous session on the backend via a new
DELETE /api/session/{id} endpoint so its stored history is freed
rather than left orphaned in memory.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Adds a get_course_outline tool alongside the existing content-search
tool so the AI can answer structure/syllabus questions (course title,
link, and full lesson list) from course_catalog metadata instead of
approximating from content chunks. Sharpens the system prompt to
route outline-style queries reliably to the new tool, and sorts
returned sources alphabetically by label.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…s message

Adds pytest coverage for CourseSearchTool formatting/sources, AIGenerator's
tool-calling flow, and RAGSystem's content-query handling (against the real
chroma_db, with the Anthropic client scripted). The suite caught a real bug:
CourseSearchTool.execute used a truthy check on lesson_number, so a lesson-0
scoped search with no results silently dropped the "in lesson 0" qualifier
since lesson 0 is a valid lesson in every course. Fixed by checking
`is not None` instead, matching the pattern already used in _format_results.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
.claude/ and .playwright-mcp/ had been created one directory up, outside
this git repo, so nothing there was version-tracked. Moves .claude/
(the /implement-feature command and local settings) in so it travels
with the project, and gitignores .playwright-mcp/ since it's disposable
browser-automation output (screenshots, snapshots, console logs).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…deletion

Adds 29 endpoint tests plus shared fixtures/app factory in conftest.py, marks
the real-Chroma content-query tests as `slow` so the default run stays fast,
and adds httpx as a dev dependency for the FastAPI TestClient.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Adds format/check/quality npm-free scripts (scripts/*.sh) so both halves of
the codebase can be formatted and verified consistently; docs/ is excluded
from Prettier since DocumentProcessor parses it against an exact line format.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Icon-based toggle button (top-right) switches between the existing dark
theme and a new light theme, with the choice persisted in localStorage
and falling back to the OS prefers-color-scheme setting. Frontend only.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Resolve conflicts in conftest.py (combine imports), frontend-changes.md
(keep both feature writeups), pyproject.toml (merge pytest ini options
with black/isort tool config), and uv.lock (regenerated via uv lock).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Resolve conflicts in frontend-changes.md (append theme-toggle writeup),
and frontend/{index.html,script.js,style.css} (combine Prettier
formatting from quality_feature with the dark/light theme toggle from
ui_feature). Re-ran Prettier over all three files after resolving to
keep formatting consistent.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@TimErdmann87

Copy link
Copy Markdown
Author

go

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant