docs(wiki): decide vision service packaging — apps/vision/ in the monorepo
Settle WHERE the host-side ANPR service lives and how it joins the build: in this monorepo at apps/vision/ (not a separate repo), still a separate OS process called over localhost HTTP, wired into the Turbo graph via a thin package.json shim whose scripts shell to Python tooling (uv/uvicorn/ruff/pytest). Co-located source honors the vision-service runtime+license isolation decision (AGPL reach is a linking boundary, not a folder); the fast-alpr MIT baseline removes most of the split-repo pressure anyway. New page vision-service-packaging; updates vision-service, opencv-anpr-service, the CLAUDE.md layout, index, log. Not built yet — packaging decision only. Claude-Session: https://claude.ai/code/session_01Xcm6ikLgGoCxxHrxtjkk5V
This commit is contained in:
@@ -21,7 +21,9 @@ Taken 2026-06-15, as part of the business-layer build ([[session-model]]).
|
||||
option).
|
||||
3. **Deployment: a separate local Python/OpenCV microservice** on the appliance, called over
|
||||
**localhost HTTP** by the Node backend. Fully offline ([[offline-first]]); its own process and
|
||||
failure domain; the host falls back to the ticket path if it's unavailable.
|
||||
failure domain; the host falls back to the ticket path if it's unavailable. **Source lives in THIS
|
||||
monorepo at `apps/vision/`, wired into Turbo via a thin `package.json` shim** — separate *process*,
|
||||
co-located *source*; see [[vision-service-packaging]].
|
||||
4. **Licensing exception:** AGPL components (e.g. YOLO plate/vehicle models, OpenALPR) are
|
||||
**permitted inside this service only**, because it's a separate process not linked into the app —
|
||||
the app stays strictly MIT/Apache/BSD. Amends [[standing-decisions]].
|
||||
|
||||
Reference in New Issue
Block a user