Decompose: Service documentation (architecture, deployment, performance, development) #40
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#40
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?
Documentation: easyStitch as a service
Context
The README and
docs/user_guide.mddescribe easyStitch as a CLI. Theproject is about to be deployed as an HTTP service (issue #31) consumed
by ThreadCraft. No docs cover the service shape, API, deployment, or
operations.
Goal
Add a
docs/service.md(or split into multiple docs) covering theservice in its full operational context: architecture, API, deployment,
operations, performance, development.
Decomposition
The original ticket listed 6 sections. They split into 3 shippable
PRs, each ~2 sections.
P1: Architecture overview + API reference
Goal: The "what is this service" doc. New operators should be able
to read this and understand the system shape.
Files:
docs/service/architecture.md(system diagram, components,data flow)
docs/service/api.md(full endpoint list, request/responseshapes, error codes, content types, auth model)
Acceptance:
docs/service/architecture.mdhas a Mermaid or ASCII diagramshowing the service in context (ThreadCraft client → easyStitch
service → internal pipeline → embroidery file output).
docs/service/api.mdcovers every endpoint from issue #31 (P2–P4)with example request/response for each, error codes, content types.
src/service/) and to therelated tickets/issues.
Why first: the API reference is needed by anyone integrating with
the service (including ThreadCraft). Without it, integrations guess at
shapes.
P2: Deployment + operations
Goal: "How do I run this in production." Covers Docker, node_hub,
env vars, log format, healthcheck, monitoring, common failure modes.
Files:
docs/service/deployment.md(Docker build/run, node_hubintegration, env vars, port, scaling)
docs/service/operations.md(log format, /healthz, metrics,common errors and what they mean)
Acceptance:
docs/service/deployment.mdcovers: building, running, env vars(PORT, MAX_UPLOAD_MB, LOG_LEVEL, WORKER_POOL_SIZE, CORS), port
(8080), CORS configuration, Docker, node_hub, scaling notes.
docs/service/operations.mdcovers: structured log format, requestcorrelation IDs, /healthz semantics, suggested metrics (request
count, latency histogram, error rate, queue depth), top-5 common
errors and their fix.
only these two docs.
Depends on: P1 (architecture context).
P3: Performance + development workflow
Goal: "What to expect at runtime" and "how to develop against the
service." These are the docs the maintainer and the integrator need
when things get weird.
Files:
docs/service/performance.md(typical latencies, max inputsizes, recommended CPU/RAM, throughput expectations, regression
detection)
docs/service/development.md(local dev setup, runningtests, hot-reload, integration testing against the ThreadCraft
client)
Acceptance:
docs/service/performance.mdincludes observed numbers from realruns (not theoretical), with the hardware spec, and a regression
detection strategy (e.g. "alert if p99 digitize latency > 5s for
7 days").
docs/service/development.mdcovers:make devor equivalentworkflow, running pytest, running the service against a local
ThreadCraft dev instance, hot-reload setup, common dev pitfalls
(the relative-imports bug, the defusedxml migration, the
requirements.txt venv gap — all of which are issues on this
repo).
Depends on: P1, P2 (operational context).
Out of scope
docs/user_guide.md,docs/installation_and_usage.md)are unchanged. They describe the CLI path; the new
docs/service/describes the service path. The README links to both.
audience; out of scope for the service docs.
Documentation: easyStitch is becoming a service — README/docs don't reflect thatto Decompose: Service documentation (architecture, deployment, performance, development)This issue has been decomposed into the following sub-issues:
Each sub-issue has been labeled with
triage-approvedand is ready for queue routing.