PH0.2 — API skeleton: core, router discovery, healthz, db + audit hook, alembic 0001, CLI #4
Labels
No labels
ready-for-agent
No milestone
No project
No assignees
1 participant
Notifications
Total time spent: 24 minutes 16 seconds
Due date
bart
24 minutes 16 seconds
No due date set.
Blocks
#6 PH0.3 — Worker skeleton: claim loop, task handler registry, jobs discovery, heartbeat
patrick/Polaris
#7 PH0.4 — Keycloak auth: JWKS bearer validation, require_role, GET /me, LDAP smoke test
patrick/Polaris
#8 PH0.6 — CI pipeline: backend, frontend, generated-file freshness, single Alembic head, commitlint
patrick/Polaris
#11 PH1.3 — API platform: pagination, idempotency, ETag, soft-delete repository, crud_router factory
patrick/Polaris
#12 PH1.4 — Engine contracts: PlanningSnapshot, PlanResult, Finding, projector/scorer I/O, task payloads, code lists, fixtures
patrick/Polaris
#47 PH6.6 — Observability and production compose profile
patrick/Polaris
Reference
patrick/Polaris#4
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Parent
Row PH0.2 in
docs/12-implementation-plan.md(branch, owned paths and doc section are defined there).What to build
The backend package runs as a FastAPI app with all dependencies declared up front, discovers routers and CLI commands by package walk (no registration lists), answers
/api/v1/healthzand/metrics, returns RFC 9457 problem details withurn:polaris:error:<code>, and migrates the platform tablestask,audit_log,setting. The auditbefore_flushhook and the sealed root test conftest are in place.Acceptance criteria
GET /api/v1/healthzreturns green against a running Postgres;/metricsrespondsalembic upgrade headanddowngrade basesucceed for0001(task, audit_log, setting)urn:polaris:error:type and request idpolaris openapiwrites the spec;ruff,mypy --strictandpytestare green; backend Dockerfile buildsBlocked by
Starting PH0.2 on branch
feature/api-skeleton.Owns (per docs/12-implementation-plan.md row PH0.2):
backend/**exceptworker/andauth.py. Deliveringbackend/pyproject.toml(all backend deps up front),polaris.core,polaris.api(app factory, router discovery,/api/v1/healthz,/metrics, request-id middleware, RFC 9457 handler),polaris.db(engine/session/Base/auditbefore_flushhook), Alembic0001(task, audit_log, setting),polaris.cli(discovery +openapicommand), sealed rootbackend/tests/conftest.py,backend/Dockerfile.Not touching
worker/orauth.py(left for #6 / #7), and not creatingpolaris.contracts/polaris.domainyet (later tickets).PR opened: #51 (branch
feature/api-skeleton->develop). All acceptance criteria checked above; ruff/mypy --strict/pytest (unit + testcontainers integration) green,alembic upgrade head/downgrade baseverified against a real running Postgres,docker build backend/succeeds. Stopwatch stopped.