Posts a formatted markdown comment with coverage percentage, commit SHA,
branch info, and pipeline link to the Gitea PR via API.
Uses GITEA_API_TOKEN secret from Woodpecker for authentication.
Remove the synthetic workspace hack from CI pipeline (fake pyproject.toml
+ git clone was fragile and complex). pytfm is now a clean git dependency
in [tool.uv.sources], so uv resolves it automatically.
Local development still works via: uv add --editable ../pytfm
- Add alembic dependency and initialize migration framework
- Configure async alembic env.py for SQLAlchemy 2.0
- Create initial migration for PostORM table
- Gate init_db() with SKIP_INIT_DB env var for CI/production
- Add PostgreSQL service to Woodpecker CI pipeline
- Create integration tests for migrations (TC-INT-001..002)
- Create integration tests for SQLAlchemyPostRepository (TC-INT-003..009)
- Add unit test for init_db skip behavior (TC-UNIT-901)
- All 176 tests pass, coverage 72.59%