{ "id": "3DARCH-FT-8", "type": "Feature", "title": "Package, deploy, and health-check workplace services", "epic_id": "3DARCH-EP-1", "description": "Enable operators to build versionable frontend/backend images, package Kubernetes deployment configuration, and admit only healthy services to traffic.", "user_problem": "Operators need repeatable artifacts and health gates for deploying the workplace services safely.", "expected_value": "Creates versionable deployment inputs and prevents unhealthy services from receiving traffic.", "scope": "Includes independent service images, repeatable tagging/publishing tasks, Helm configuration, probes, ingress, and dependency-aware readiness.", "exclusions": [ "End-user product behavior and solution or release authorization are outside these engineering Features." ], "acceptance_outcomes": [ "Frontend and backend images build independently for the declared platform.", "Images can be tagged and published through repeatable tasks.", "Helm charts configure deployments, services, ingress, runtime values, and health probes for both services.", "Process and dependency health distinguish a running backend from a usable backend.", "Database failure withholds readiness and returns a bounded unhealthy response." ], "status": "IN_BACKLOG", "status_source": "EXACT", "blocked": false, "blocked_reason": null, "owner": "3D Architecture Wizzard team", "dependencies": [ "3DARCH-FT-1", "3DARCH-FT-3", "3DARCH-FT-6" ], "risks": [ "Legacy packaging and deployment assumptions require validation against the target runtime before release." ], "required_tasks": [], "approval": { "approved_for_solution": false, "approved_for_solution_by": null, "approved_for_solution_at": null, "conditions": [], "evidence_url": null, "approved_for_implementation": false, "approved_for_implementation_by": null, "approved_for_implementation_at": null, "implementation_conditions": [], "implementation_evidence_url": null }, "catalogue_decision": { "decision": "Approved for documentation", "decided_by": "Linas", "decided_at": "2026-09-02T10:40:43.220Z", "evidence_url": "https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201", "conditions": [ "Documentation approval does not grant Approved for Solution or implementation approval." ] }, "sources": [ { "label": "Discord – Scope – Linas: original Feature request", "url": "https://discord.com/channels/1518726359512387766/1543925247361814568/1544647879111483562" }, { "label": "Discord – Scope – Linas: proceed with documented mapping", "url": "https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201" } ], "legacy_revision": "c0ced47ecaf4426f47e5c2e4868677f7144b951a", "legacy_evidence": [ { "path": "Taskfile.yml", "url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/Taskfile.yml" }, { "path": "apps/nebula/Dockerfile", "url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/Dockerfile" }, { "path": "apps/singularity/Dockerfile", "url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/Dockerfile" }, { "path": "apps/singularity/src/routes/health.routes.ts", "url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/routes/health.routes.ts" }, { "path": "helm/", "url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/helm/" } ], "architecture_traceability": { "requirements": [], "readiness": "Not started" }, "release_evidence": [], "last_transition": { "event": "Catalogue registration", "from": null, "to": "IN_BACKLOG", "at": "2026-09-02T10:40:43.220Z", "actor": "Linas", "authority": "Human project team member", "reason": "The Feature catalogue was accepted for governed documentation and retained in the backlog.", "conditions": [ "Registration records the accepted documentation boundary only.", "No solution or implementation approval is granted." ], "evidence_url": "https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201" } }