Decompose: Add HTTP service layer (FastAPI) exposing the EmbroideryPipeline — Phase 1: Service skeleton + healthcheck #46
Labels
No labels
blocked:children
blocked:depends-101
blocked:depends-103
blocked:depends-104
blocked:needs-attention
blocked:needs-decision
blocked:no-changes
blocked:preflight
bug
chore
feature-request
in-progress
lint-cleanup
needs-decompose
performance
quality
quickfix
security/medium
triage-approved
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Mark/easystitch#46
Loading…
Add table
Add a link
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?
Phase 1: Service skeleton + healthcheck
Set up the FastAPI app structure and a working
/healthzendpoint. Thisphase is fully isolated — no pipeline integration yet.
Files:
src/service/__init__.pysrc/service/app.py(FastAPI app factory, CORS config, routerregistration stubs,
/healthzhandler)src/service/config.py(pydantic settings:PORT,MAX_UPLOAD_MB,LOG_LEVEL,WORKER_POOL_SIZE,CORS_ALLOWED_ORIGINS)src/service/models.py(pydantic request/response models, emptyfor now)
Acceptance:
uvicorn src.service.app:app --reloadstarts on port 8080.GET /healthzreturns{"status": "ok", "version": "<git-sha>"}with200.
(
http://localhost:3000) and a configurable prod origin.tests/test_service_health.py) passes.CMD ["uvicorn", "src.service.app:app", ...].Why first: every other phase adds a router under this skeleton, so
the skeleton must be in place before they can be tested.
Decomposed from easystitch#31
Cross-link: ThreadCraft #11 (Stand up EasyStitch as an HTTP service for ThreadCraft) — this phase is the service skeleton it depends on.
This issue has been decomposed into the following sub-issues:
/healthzendpoint. This phase iEach sub-issue awaits triage pipeline assessment before queue routing.