{ "id": "3DARCH-FT-25", "type": "Feature", "title": "Expire stale seat claims at the workplace-day boundary", "epic_id": "3DARCH-EP-6", "description": "Enable participants to start each workplace day with stale reservations cleared rather than blocked by people who did not manually release yesterday's seats.", "user_problem": "The workplace needs stale seat claims cleared at a predictable day boundary without manual cleanup.", "expected_value": "Restores fair seat availability each workplace day and makes reset failures diagnosable.", "scope": "Includes an explicit timezone/boundary, authoritative claim clearing, single multi-replica execution, client replacement, failure visibility, and safe retry.", "exclusions": [ "Advance booking, recurring reservations, administrator override, and historical occupancy reporting are excluded." ], "acceptance_outcomes": [ "The governing workplace timezone and daily reset boundary are explicit.", "Every active claim becomes available with occupant and claim time cleared.", "Available seats remain unchanged.", "Only one reset is applied when the service has multiple replicas.", "Connected clients replace their occupancy state from the authoritative reset without reloading.", "A missed or failed reset is visible and can be retried safely." ], "status": "IN_BACKLOG", "status_source": "EXACT", "blocked": false, "blocked_reason": null, "owner": "3D Architecture Wizzard team", "dependencies": [ "3DARCH-FT-23", "3DARCH-FT-24" ], "risks": [ "The reset timezone, multi-replica coordination, failure visibility, and client refresh behavior are incomplete." ], "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": "apps/singularity/src/jobs/seat-reset.ts", "url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/jobs/seat-reset.ts" }, { "path": "apps/singularity/src/test/jobs/seat-reset.test.ts", "url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/test/jobs/seat-reset.test.ts" }, { "path": "packages/utils/constants/src/socket.ts", "url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/packages/utils/constants/src/socket.ts" }, { "path": "apps/nebula/src/socket-client.ts", "url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/socket-client.ts" } ], "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" } }