Resolve config.py conflict by taking Danil's PR #39 schedule content
(teacher names/rooms, per-week Thursday split) as the source of truth,
per explicit user decision, with two fixes on top:
- UPPER_WEEK_IS_ODD restored to False (current ISO-even week is upper,
confirmed by the user)
- added the missing Saturday entry under LESSON_SCHEDULE["lower"]
(PR #39 only defined it under "upper", which would have silently
dropped the Saturday philosophy lecture on lower weeks)
The old SCHEDULE dict was hand-written for a previous timetable and
never got updated when LESSON_SCHEDULE changed, so Wednesday (day=2)
was left empty ("Сегодня кайфуем дома, перекур не нужен") even though
the new schedule has 4 lessons that day. SCHEDULE is now generated
from the pairs actually present in _LESSON_WEEK plus PAIR_TIMES, so it
can't drift out of sync again.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Current week (36, even) is actually an upper week per the user, not
lower as the old flag implied.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Replace placeholder LESSON_SCHEDULE with actual timetable from
schedule_2_27.json (25ВТ-09.03.03.01-о2), incl. subgroup splits on
Wed/Thu and a Saturday entry.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- Все 4 SQLite базы объединены в одну PostgreSQL
- Новый db.py с ThreadedConnectionPool (psycopg2)
- docker-compose: сервис postgres с healthcheck, данные в ./db/postgres
- scripts/migrate_sqlite_to_pg.py — миграция существующих данных
- Убраны мёртвый код и дублирующий import в main.py и talk_handler.py
- .env удалён из git-индекса
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>