Commit Graph
11 Commits
Author SHA1 Message Date
ElebobaandClaude Opus 5.5 38bb238651 feat(llm): прокси до LLM и ключ OPENROUTER_API_KEY — OpenRouter для агента логов
CI / ruff · mypy · pytest (pull_request) Successful in 2m44s
- LLM_PROXY_URL (SecretStr): запросы к LLM через HTTP/SOCKS-прокси — OpenRouter
  не принимает IP из РФ, как в meditron (OPENROUTER_PROXY_URL)
- ключ читается из LLM_API_KEY или OPENROUTER_API_KEY (первый важнее)
- .env.example, README, DEPLOY: настройка OpenRouter

Refs #52

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 14:09:19 +03:00
ElebobaandClaude Opus 5.5 95a72437ec feat(pipeline): уведомления CI/CD — PipelineWatcher, CI загрузок на Gitea Actions
CI / ruff · mypy · pytest (pull_request) Failing after 3m40s
- app/pipeline: протокол CIProvider, клиент Gitea Actions (прогон по head_sha, упавший
  шаг, лог джоба, ретраи), PipelineWatcher — опрос только при незавершённых push,
  сообщение о push обновляется CI ⏳ → ✅/❌ → CD 🚀/⛔, автору — отдельные уведомления
- деплой сервисов — только после зелёного CI; старый push не откатывает сервис,
  который развернёт более новый; после рестарта бот продолжает с того же места
- CI_PROVIDER=none — прежнее поведение (деплой сразу после push)
- шаблон tgit-uploads: .gitea/workflows/check.yml; .gitea/ защищён от правок из бота
- миграция 0002: старые push помечены skipped, чтобы не слать им «таймаут CI»
- ADR-016, ARCHITECTURE §2.5/§5.2, README, DEPLOY, .env.example

Refs #11

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 00:24:08 +03:00
ElebobaandClaude Opus 5.5 164f055c5e docs: деплой (DEPLOY.md), ADR-015 — CI/CD бота на Gitea Actions
Refs #12

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 00:23:20 +03:00
ElebobaandClaude Opus 5.5 25735fee96 feat(bot): клиент SourceCraft API — прогоны, логи кубов, sha коммита, ретраи
- SourceCraftClient (httpx): list_runs, get_run, get_cube_logs (постранично), run_commit_sha;
  ретраи на сетевые ошибки и 5xx с экспоненциальной задержкой, 4xx — SourceCraftError без повторов
- модели: RunStatus/EventType из swagger, «1970-01-01» = не задано, failed_cubes без служебных #-кубов
- у прогона в API нет sha → куб check/meta в tgit-uploads печатает TGIT_COMMIT_SHA (ADR-014)
- CLI: python -m app.sourcecraft.cli runs
- тесты на реальных ответах API (фикстуры), порог покрытия 45 → 80

Refs #10

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 18:45:42 +03:00
ElebobaandClaude Opus 5.5 cccab8ba78 docs: CI SourceCraft — формат прогонов и логов, ручной запуск, триггеры из основной ветки
Refs #6

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 23:49:10 +03:00
ElebobaandClaude Opus 5.5 af1585c634 docs: Gitea — основной репозиторий и трекер, SourceCraft — зеркало (ADR-010)
Refs #22

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 19:49:04 +03:00
ElebobaandClaude Opus 5.5 c79059f778 docs(api): формат значения секрета — base64
Refs #2

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 18:36:43 +03:00
ElebobaandClaude Opus 5.5 0244da0b0e docs(api): вехи, связи issue, CI-эндпоинты, нюансы ключей ответов
Refs #2

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 18:36:22 +03:00
ElebobaandClaude Opus 5.5 47dd849528 docs: ретраи curl для нестабильного соединения с API
Refs #1

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 18:22:22 +03:00
ElebobaandClaude Opus 5.5 21eb8331d2 docs: шпаргалка по SourceCraft API, загрузка .env в начале сессии
Refs #1

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 18:20:04 +03:00
ElebobaandClaude Opus 5.5 b973397827 docs: скелет проекта — CLAUDE.md, регламент, шаблон issue, черновик ТЗ
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 18:11:22 +03:00