У прогона в API нет sha коммита. Чтобы связать пуш с прогоном, CI tgit-uploads первым кубом check/meta печатает TGIT_COMMIT_SHA=…, клиент читает его лог. Шаблон обновлён и уже залит в tgit-uploads; проверено на живом прогоне.
Как проверить
make lint && make testset -a; . ./.env;set +a; uv run python -m app.sourcecraft.cli runs
Нужно подтвердить
Ссылка на прогон в UI: открой https://sourcecraft.dev/rogachevegorushka/tgit-uploads/cicd/runs/1000002 — если это не страница прогона, пришли правильный адрес, поменяю шаблон.
Чек-лист
ветка от origin/dev
lint + тесты зелёные (порог покрытия поднят до 80)
## Что меняется
Клиент SourceCraft API для наблюдателя CI/CD: прогоны, статусы, логи кубов (постранично), sha коммита прогона, ретраи на нестабильное соединение. CLI для отладки.
Closes #10
## Важно — ADR-014
У прогона в API нет sha коммита. Чтобы связать пуш с прогоном, CI `tgit-uploads` первым кубом `check/meta` печатает `TGIT_COMMIT_SHA=…`, клиент читает его лог. Шаблон обновлён и уже залит в `tgit-uploads`; проверено на живом прогоне.
## Как проверить
```bash
make lint && make test
set -a; . ./.env; set +a; uv run python -m app.sourcecraft.cli runs
```
## Нужно подтвердить
Ссылка на прогон в UI: открой `https://sourcecraft.dev/rogachevegorushka/tgit-uploads/cicd/runs/1000002` — если это не страница прогона, пришли правильный адрес, поменяю шаблон.
## Чек-лист
- [x] ветка от origin/dev
- [x] lint + тесты зелёные (порог покрытия поднят до 80)
- [x] секретов в диффе нет
- [x] лог в issue дописан
🤖 Generated with [Claude Code](https://claude.com/claude-code)
- 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>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Что меняется
Клиент SourceCraft API для наблюдателя CI/CD: прогоны, статусы, логи кубов (постранично), sha коммита прогона, ретраи на нестабильное соединение. CLI для отладки.
Closes #10
Важно — ADR-014
У прогона в API нет sha коммита. Чтобы связать пуш с прогоном, CI
tgit-uploadsпервым кубомcheck/metaпечатаетTGIT_COMMIT_SHA=…, клиент читает его лог. Шаблон обновлён и уже залит вtgit-uploads; проверено на живом прогоне.Как проверить
Нужно подтвердить
Ссылка на прогон в UI: открой
https://sourcecraft.dev/rogachevegorushka/tgit-uploads/cicd/runs/1000002— если это не страница прогона, пришли правильный адрес, поменяю шаблон.Чек-лист
🤖 Generated with Claude Code
c016b47a8ato25735fee96