Commit Graph

8 Commits

Author SHA1 Message Date
copilotcoder
4af111fcdb Align CI and Poe test lanes with runtime compose flows
Some checks failed
CICD / Build and Publish CICD Base Image (push) Successful in 23s
CICD / Build and Push CICD Image (push) Failing after 13m16s
CICD / Backend Tests (push) Has been cancelled
CICD / Pre-commit Checks (push) Has been cancelled
CICD / Frontend Tests (push) Has been cancelled
CICD / Backend Doctests (push) Has been cancelled
CICD / Build and Publish Runtime Images (push) Has been cancelled
CICD / Runtime Black-Box Integration Tests (push) Has been cancelled
CICD / End-to-End Tests (push) Has been cancelled
2026-07-06 16:51:39 -04:00
copilotcoder
7c06fa3474 Refactor CI and runtime images to two-stage builds 2026-07-06 10:29:31 -04:00
48a37b943f PP-11_Add_SQLAlchemy_async_engine_session (#67)
Some checks failed
CICD Start / Sanity and Base Decision (push) Failing after 13m23s
## Summary

This PR upgrades backend typing tooling and finalizes quality cleanup for the SQLAlchemy async engine/session work on `PP-11_Add_SQLAlchemy_async_engine_session`.

## What Changed

- Upgraded pinned `pyright` version from `1.1.406` to `1.1.410`.
- Regenerated backend lock state to align with the new pyright pin.
- Removed deprecated `pythonPath` from pyright config to eliminate the config notice.
- Refined backend DB runtime state handling and cleanup paths.
- Updated database tests to avoid brittle singleton assumptions and keep typeguard-compatible async engine test doubles.

## Why

- Remove tooling noise and keep checks deterministic.
- Keep backend static/type/doc/test quality gates warning-free.
- Improve reliability and clarity of DB engine/session lifecycle tests.

## Validation

- `uv run ruff format --check .`
- `uv run ruff check .`
- `uv run pyright .`
- `uv run pydoclint --config=pyproject.toml src/`
- `uv run xdoctest --module backend`
- `uv run pytest`

Results:
- Pyright: `0 errors, 0 warnings`
- Pytest: `21 passed`

## Impact

- No API contract changes intended.
- No frontend changes.
- Backend behavior remains the same; this is tooling/test/runtime-state cleanup.

## Risk

- Low risk.
- Main touched areas are backend tooling config, lockfile, DB runtime state internals, and tests.

## Checklist

- [x] Backend lint clean
- [x] Backend type checks clean
- [x] Backend doc checks clean
- [x] Backend tests passing
- [x] Branch pushed and ready for review

Co-authored-by: copilotcoder <copilotcoder@darkhelm.org>
Reviewed-on: #67
2026-06-19 07:39:56 -04:00
d02039a22e Backend runtime upgraded to Python 3.14 with exact dependency pinning (#57)
Some checks failed
CICD Start / Sanity and Base Decision (push) Successful in 18s
Runner Canary / Canary Heavy (ubuntu-act-8gb) (push) Has been skipped
Runner Canary / Canary Heavy (ubuntu-act-4gb) (push) Has been skipped
Runner Canary / Canary Burst (ubuntu-act (push) Failing after 11m10s
Runner Canary / Canary (ubuntu-latest) (push) Failing after 12m39s
Runner Canary / Canary (ubuntu-act) (push) Failing after 12m42s
Signed-off-by: Cliff Hill <xlorep@darkhelm.org>

## Summary

Upgrades backend runtime baseline and dependency management for issue #10.

### Changes

1. **Python Baseline**: Updated from 3.13 to 3.14
   - Updated `backend/pyproject.toml` requires-python constraint
   - Updated `backend/pyrightconfig.json` pythonVersion
   - Updated all Dockerfile and CI references

2. **Dependency Pinning**: Switched to exact version pins in `backend/pyproject.toml`
   - All dev and runtime dependencies now use `==` instead of `>=`
   - `fastapi==0.120.2`, `uvicorn==0.38.0`
   - ruff, pyright, pytest suite pinned to current resolved versions
   - Regenerated `backend/uv.lock` under Python 3.14

3. **Startup Compatibility Guard** (TDD via RED→GREEN)
   - New `compatibility_status()` function evaluates runtime and pinned deps
   - Startup raises `RuntimeError` if policy fails
   - Implemented via FastAPI lifespan (non-deprecated) handler

4. **Compatibility Status Endpoint**
   - New `GET /compatibility` returns policy status, runtime version, and package checks
   - Shares single source of truth with startup validation

5. **Integration Tests**
   - Added failing-then-passing tests for startup guard and endpoint behavior
   - 100% coverage maintained

6. **Direnv Configuration**
   - Added `UV_PYTHON="3.14"` pin to repo `.envrc`
   - Ensures direnv creates/recreates venv with correct Python version

### Validation

-  ruff format/check
-  pyright strict (0 errors)
-  pytest: 8 passed, 100% coverage (>=95 gate)
-  pydoclint: pass
-  xdoctest: pass

### Notes

- SQLAlchemy/SQLModel introduction deferred to next pass per scope
- Compatibility logic currently validates fastapi/uvicorn pins (runtime deps)
- Ready for container build validation and Renovate bot testing

Co-authored-by: copilotcoder <copilotcoder@darkhelm.org>
Reviewed-on: #57
Co-authored-by: Cliff Hill <xlorep@darkhelm.org>
Co-committed-by: Cliff Hill <xlorep@darkhelm.org>
2026-06-18 11:19:24 -04:00
4a14a3ba65 CICD fixes continue.
Signed-off-by: Cliff Hill <xlorep@darkhelm.org>
2025-10-30 08:09:45 -04:00
debe7e27ea Did things.
Some checks failed
Tests / Frontend Tests (TypeScript + Vue + Yarn Berry) (push) Failing after 7m57s
Tests / Backend Tests (Python 3.13 + uv) (push) Failing after 9m31s
Signed-off-by: Cliff Hill <xlorep@darkhelm.org>
2025-10-23 13:45:54 -04:00
2c8f424a81 Fixing everything, making the project structure ready for real code.
Some checks failed
Tests / Frontend Tests (TypeScript + Vue + Yarn Berry) (push) Failing after 7m49s
Tests / Backend Tests (Python 3.13 + uv) (push) Failing after 14m36s
Signed-off-by: Cliff Hill <xlorep@darkhelm.org>
2025-10-23 12:58:32 -04:00
8aa8d41e8a Did some things, made more improvements.
Some checks failed
CI/CD Pipeline / Backend Tests (Python) (push) Has been cancelled
CI/CD Pipeline / Frontend Tests (TypeScript/Vue) (push) Has been cancelled
CI/CD Pipeline / Integration Tests (push) Has been cancelled
Signed-off-by: Cliff Hill <xlorep@darkhelm.org>
2025-10-19 21:35:02 -04:00