Skip to content

Deploy - #2

Open
Po33ski wants to merge 14 commits into
mainfrom
deploy
Open

Deploy#2
Po33ski wants to merge 14 commits into
mainfrom
deploy

Conversation

@Po33ski

@Po33ski Po33ski commented Jul 14, 2026

Copy link
Copy Markdown
Owner

No description provided.

Po33ski and others added 14 commits July 13, 2026 21:58
…n AiWeatherPanel conditional render added depend. of hotels pres.
…s on cold starts: start.sh now waits for the backend to be ready before starting nginx, and Chat.tsx retries the health check instead of checking only once.
…y leak) and unknown client-supplied session ids are replaced with server-issued uuids instead of adopted (session fixation).
…eather.ts and weather endpoints, unused exceptions.py, dead weatherApi methods and ~19 unused types (230 lines deleted, no behavior change).
…LY_API_KEY to render.yaml (hotel search was unconfigured in prod), remove vestigial auth.* i18n keys, bump Docker frontend builder to node:22 (18 is EOL).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ig (Vite/React/TS), add Vitest with 16 unit tests for parseAiMessage and useLocalStorage, remove 4 unused dependencies.

Lint fixes include two real bugs: switch default branches in functions.ts missing 'return' (returned undefined instead of an image), and checkBackendConnection referenced before declaration in Chat.tsx.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- tests/ covers the LLM-output contract: fenced-JSON extraction and repair, error detection, payload validator routing, Pydantic sanitization (URL schemes, availability, rating), request constraints, and hotel-search URL helpers.
- ruff replaces black/isort/flake8 (they were configured but never ran); one-time format normalization, prompt/template strings exempt from line-length rules.
- slowapi limits POST /api/chat to 10/minute per client IP (leftmost X-Forwarded-For — uvicorn sits behind nginx); health endpoints stay unlimited.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… pass.

New ci.yml runs on every pull request and on main: ruff + pytest for the backend, eslint + tsc + vitest + build for the frontend. deploy.yml now chains quality -> build -> smoke-test -> push, so the GHCR :latest tag is only updated after all checks pass (previously the image was pushed before any test ran). Smoke test container now gets TAVILY_API_KEY so hotel search is exercised.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…uv sync --extra dev' (and its 'uv sync --dev' didn't install this project's dev extras).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…quality gate, ESLint 10, ruff, rate limiting, cleanup)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…header into each user message.

The agents had no source for the current date and prompts forbade date tools, so relative dates ('tomorrow', 'yesterday') were resolved against the model's training-data era, sometimes producing July 2024 weather. The backend now prefixes every message with the current UTC date in chat_service.py, and the shared CONTEXT TEMPLATE instructions (included by all four agents) direct models to resolve relative dates only against that header — with extra emphasis for get_history_weather, where the LLM constructs the date strings itself.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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