Compare commits
4
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0cb2017881 | ||
|
|
2a1820afa0 | ||
|
|
3a2e19fc52 | ||
|
|
94ffd5d4cf |
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"schema_version": 1,
|
||||
"collections": [
|
||||
"epics",
|
||||
"features"
|
||||
],
|
||||
"derived_indexes": [
|
||||
"indexes/epic-features.yml"
|
||||
]
|
||||
}
|
||||
@@ -1,11 +1,20 @@
|
||||
{
|
||||
"type": "Epic",
|
||||
"status": "IN_BACKLOG",
|
||||
"status_source": "EXACT",
|
||||
"status_source": "DERIVED",
|
||||
"blocked": false,
|
||||
"blocked_reason": null,
|
||||
"owner": "3D Architecture Wizzard team",
|
||||
"required_features": [],
|
||||
"required_features": [
|
||||
"3DARCH-FT-1",
|
||||
"3DARCH-FT-2",
|
||||
"3DARCH-FT-3",
|
||||
"3DARCH-FT-4",
|
||||
"3DARCH-FT-5",
|
||||
"3DARCH-FT-6",
|
||||
"3DARCH-FT-7",
|
||||
"3DARCH-FT-8"
|
||||
],
|
||||
"dependencies": [],
|
||||
"approval": {
|
||||
"approved_for_solution": false,
|
||||
|
||||
@@ -1,11 +1,14 @@
|
||||
{
|
||||
"type": "Epic",
|
||||
"status": "IN_BACKLOG",
|
||||
"status_source": "EXACT",
|
||||
"status_source": "DERIVED",
|
||||
"blocked": false,
|
||||
"blocked_reason": null,
|
||||
"owner": "3D Architecture Wizzard team",
|
||||
"required_features": [],
|
||||
"required_features": [
|
||||
"3DARCH-FT-31",
|
||||
"3DARCH-FT-32"
|
||||
],
|
||||
"dependencies": [],
|
||||
"approval": {
|
||||
"approved_for_solution": false,
|
||||
|
||||
@@ -1,11 +1,16 @@
|
||||
{
|
||||
"type": "Epic",
|
||||
"status": "IN_BACKLOG",
|
||||
"status_source": "EXACT",
|
||||
"status_source": "DERIVED",
|
||||
"blocked": false,
|
||||
"blocked_reason": null,
|
||||
"owner": "3D Architecture Wizzard team",
|
||||
"required_features": [],
|
||||
"required_features": [
|
||||
"3DARCH-FT-9",
|
||||
"3DARCH-FT-10",
|
||||
"3DARCH-FT-11",
|
||||
"3DARCH-FT-12"
|
||||
],
|
||||
"dependencies": [],
|
||||
"approval": {
|
||||
"approved_for_solution": false,
|
||||
|
||||
@@ -1,11 +1,17 @@
|
||||
{
|
||||
"type": "Epic",
|
||||
"status": "IN_BACKLOG",
|
||||
"status_source": "EXACT",
|
||||
"status_source": "DERIVED",
|
||||
"blocked": false,
|
||||
"blocked_reason": null,
|
||||
"owner": "3D Architecture Wizzard team",
|
||||
"required_features": [],
|
||||
"required_features": [
|
||||
"3DARCH-FT-13",
|
||||
"3DARCH-FT-14",
|
||||
"3DARCH-FT-15",
|
||||
"3DARCH-FT-16",
|
||||
"3DARCH-FT-17"
|
||||
],
|
||||
"dependencies": [],
|
||||
"approval": {
|
||||
"approved_for_solution": false,
|
||||
|
||||
@@ -1,11 +1,15 @@
|
||||
{
|
||||
"type": "Epic",
|
||||
"status": "IN_BACKLOG",
|
||||
"status_source": "EXACT",
|
||||
"status_source": "DERIVED",
|
||||
"blocked": false,
|
||||
"blocked_reason": null,
|
||||
"owner": "3D Architecture Wizzard team",
|
||||
"required_features": [],
|
||||
"required_features": [
|
||||
"3DARCH-FT-18",
|
||||
"3DARCH-FT-19",
|
||||
"3DARCH-FT-20"
|
||||
],
|
||||
"dependencies": [],
|
||||
"approval": {
|
||||
"approved_for_solution": false,
|
||||
|
||||
@@ -1,11 +1,14 @@
|
||||
{
|
||||
"type": "Epic",
|
||||
"status": "IN_BACKLOG",
|
||||
"status_source": "EXACT",
|
||||
"status_source": "DERIVED",
|
||||
"blocked": false,
|
||||
"blocked_reason": null,
|
||||
"owner": "3D Architecture Wizzard team",
|
||||
"required_features": [],
|
||||
"required_features": [
|
||||
"3DARCH-FT-21",
|
||||
"3DARCH-FT-22"
|
||||
],
|
||||
"dependencies": [],
|
||||
"approval": {
|
||||
"approved_for_solution": false,
|
||||
|
||||
@@ -1,11 +1,15 @@
|
||||
{
|
||||
"type": "Epic",
|
||||
"status": "IN_BACKLOG",
|
||||
"status_source": "EXACT",
|
||||
"status_source": "DERIVED",
|
||||
"blocked": false,
|
||||
"blocked_reason": null,
|
||||
"owner": "3D Architecture Wizzard team",
|
||||
"required_features": [],
|
||||
"required_features": [
|
||||
"3DARCH-FT-23",
|
||||
"3DARCH-FT-24",
|
||||
"3DARCH-FT-25"
|
||||
],
|
||||
"dependencies": [],
|
||||
"approval": {
|
||||
"approved_for_solution": false,
|
||||
|
||||
@@ -1,11 +1,14 @@
|
||||
{
|
||||
"type": "Epic",
|
||||
"status": "IN_BACKLOG",
|
||||
"status_source": "EXACT",
|
||||
"status_source": "DERIVED",
|
||||
"blocked": false,
|
||||
"blocked_reason": null,
|
||||
"owner": "3D Architecture Wizzard team",
|
||||
"required_features": [],
|
||||
"required_features": [
|
||||
"3DARCH-FT-26",
|
||||
"3DARCH-FT-27"
|
||||
],
|
||||
"dependencies": [],
|
||||
"approval": {
|
||||
"approved_for_solution": false,
|
||||
|
||||
@@ -1,11 +1,14 @@
|
||||
{
|
||||
"type": "Epic",
|
||||
"status": "IN_BACKLOG",
|
||||
"status_source": "EXACT",
|
||||
"status_source": "DERIVED",
|
||||
"blocked": false,
|
||||
"blocked_reason": null,
|
||||
"owner": "3D Architecture Wizzard team",
|
||||
"required_features": [],
|
||||
"required_features": [
|
||||
"3DARCH-FT-28",
|
||||
"3DARCH-FT-29"
|
||||
],
|
||||
"dependencies": [],
|
||||
"approval": {
|
||||
"approved_for_solution": false,
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
{
|
||||
"type": "Epic",
|
||||
"status": "IN_BACKLOG",
|
||||
"status_source": "EXACT",
|
||||
"status_source": "DERIVED",
|
||||
"blocked": false,
|
||||
"blocked_reason": null,
|
||||
"owner": "3D Architecture Wizzard team",
|
||||
"required_features": [],
|
||||
"required_features": [
|
||||
"3DARCH-FT-30"
|
||||
],
|
||||
"dependencies": [],
|
||||
"approval": {
|
||||
"approved_for_solution": false,
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
{
|
||||
"schema_version": 1,
|
||||
"items": [
|
||||
{
|
||||
"id": "3DARCH-EP-1",
|
||||
"file": "3darch-ep-1.yml"
|
||||
},
|
||||
{
|
||||
"id": "3DARCH-EP-2",
|
||||
"file": "3darch-ep-2.yml"
|
||||
},
|
||||
{
|
||||
"id": "3DARCH-EP-3",
|
||||
"file": "3darch-ep-3.yml"
|
||||
},
|
||||
{
|
||||
"id": "3DARCH-EP-4",
|
||||
"file": "3darch-ep-4.yml"
|
||||
},
|
||||
{
|
||||
"id": "3DARCH-EP-5",
|
||||
"file": "3darch-ep-5.yml"
|
||||
},
|
||||
{
|
||||
"id": "3DARCH-EP-6",
|
||||
"file": "3darch-ep-6.yml"
|
||||
},
|
||||
{
|
||||
"id": "3DARCH-EP-7",
|
||||
"file": "3darch-ep-7.yml"
|
||||
},
|
||||
{
|
||||
"id": "3DARCH-EP-8",
|
||||
"file": "3darch-ep-8.yml"
|
||||
},
|
||||
{
|
||||
"id": "3DARCH-EP-9",
|
||||
"file": "3darch-ep-9.yml"
|
||||
},
|
||||
{
|
||||
"id": "3DARCH-EP-10",
|
||||
"file": "3darch-ep-10.yml"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,101 @@
|
||||
{
|
||||
"id": "3DARCH-FT-1",
|
||||
"type": "Feature",
|
||||
"title": "Reproducible monorepo development workspace",
|
||||
"epic_id": "3DARCH-EP-1",
|
||||
"description": "Enable contributors to install one pinned toolchain and run coordinated development, build, type-check, lint, test, documentation, and Storybook workflows across the platform.",
|
||||
"user_problem": "Contributors face onboarding delays and environment-specific failures when each package requires separately reconciled tools and commands.",
|
||||
"expected_value": "Reduces contributor setup time and makes workspace checks repeatable across the monorepo.",
|
||||
"scope": "Includes the pinned Node/pnpm workspace baseline, root task orchestration, environment examples, and contributor setup path.",
|
||||
"exclusions": [
|
||||
"End-user product behavior and solution or release authorization are outside these engineering Features."
|
||||
],
|
||||
"acceptance_outcomes": [
|
||||
"The workspace uses a declared Node and pnpm baseline.",
|
||||
"One root workflow can run each supported application/package task through the dependency graph.",
|
||||
"Local setup instructions and environment examples are available to contributors."
|
||||
],
|
||||
"status": "IN_BACKLOG",
|
||||
"status_source": "EXACT",
|
||||
"blocked": false,
|
||||
"blocked_reason": null,
|
||||
"owner": "3D Architecture Wizzard team",
|
||||
"dependencies": [],
|
||||
"risks": [
|
||||
"Tracked setup guidance and environment examples have legacy inconsistencies that can undermine repeatability."
|
||||
],
|
||||
"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": "package.json",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/package.json"
|
||||
},
|
||||
{
|
||||
"path": "pnpm-workspace.yaml",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/pnpm-workspace.yaml"
|
||||
},
|
||||
{
|
||||
"path": "turbo.json",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/turbo.json"
|
||||
},
|
||||
{
|
||||
"path": "devbox.json",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/devbox.json"
|
||||
},
|
||||
{
|
||||
"path": "README.md",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/README.md"
|
||||
}
|
||||
],
|
||||
"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"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,100 @@
|
||||
{
|
||||
"id": "3DARCH-FT-10",
|
||||
"type": "Feature",
|
||||
"title": "First-entry avatar onboarding",
|
||||
"epic_id": "3DARCH-EP-2",
|
||||
"description": "Enable a first-time user to preview, rotate, zoom, choose, and persist an in-world avatar before entering the workplace.",
|
||||
"user_problem": "First-time users need to choose an embodied workplace identity before entering the shared environment.",
|
||||
"expected_value": "Ensures every new participant enters with a persisted, recognizable in-world representation.",
|
||||
"scope": "Includes first-entry gating, avatar preview controls, selection persistence, onboarding completion, and entry with the selected avatar.",
|
||||
"exclusions": [
|
||||
"Administrator access, account recovery, display-name editing, and unwired self-service logout are excluded."
|
||||
],
|
||||
"acceptance_outcomes": [
|
||||
"An unonboarded user cannot enter the workplace before completing avatar selection.",
|
||||
"Available avatars can be previewed from multiple viewing angles.",
|
||||
"Confirmation persists the avatar and onboarding completion.",
|
||||
"The selected avatar appears when the user enters."
|
||||
],
|
||||
"status": "IN_BACKLOG",
|
||||
"status_source": "EXACT",
|
||||
"blocked": false,
|
||||
"blocked_reason": null,
|
||||
"owner": "3D Architecture Wizzard team",
|
||||
"dependencies": [
|
||||
"3DARCH-FT-9"
|
||||
],
|
||||
"risks": [
|
||||
"Reselecting the existing avatar can fail to mark onboarding complete."
|
||||
],
|
||||
"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/nebula/src/App.tsx",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/App.tsx"
|
||||
},
|
||||
{
|
||||
"path": "apps/nebula/src/components/CharacterSelection/CharacterSelection.tsx",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/CharacterSelection/CharacterSelection.tsx"
|
||||
},
|
||||
{
|
||||
"path": "apps/singularity/src/routes/auth.routes.ts",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/routes/auth.routes.ts"
|
||||
},
|
||||
{
|
||||
"path": "apps/nebula/src/test/components/CharacterSelection.test.tsx",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/test/components/CharacterSelection.test.tsx"
|
||||
}
|
||||
],
|
||||
"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"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,100 @@
|
||||
{
|
||||
"id": "3DARCH-FT-11",
|
||||
"type": "Feature",
|
||||
"title": "Review profile and change workplace appearance",
|
||||
"epic_id": "3DARCH-EP-2",
|
||||
"description": "Enable a returning user to review the enterprise identity represented in the workplace and replace the visible avatar without repeating onboarding.",
|
||||
"user_problem": "Returning users need to inspect their enterprise identity and change the avatar coworkers see.",
|
||||
"expected_value": "Lets users keep their visible workplace representation current without repeating onboarding.",
|
||||
"scope": "Includes profile identity display, reopening avatar selection, persistence of the replacement, and propagation to other participants.",
|
||||
"exclusions": [
|
||||
"Administrator access, account recovery, display-name editing, and unwired self-service logout are excluded."
|
||||
],
|
||||
"acceptance_outcomes": [
|
||||
"Settings display the authenticated profile identity.",
|
||||
"The user can reopen avatar selection from the profile area.",
|
||||
"A changed avatar persists and is rendered to other participants."
|
||||
],
|
||||
"status": "IN_BACKLOG",
|
||||
"status_source": "EXACT",
|
||||
"blocked": false,
|
||||
"blocked_reason": null,
|
||||
"owner": "3D Architecture Wizzard team",
|
||||
"dependencies": [
|
||||
"3DARCH-FT-9",
|
||||
"3DARCH-FT-10"
|
||||
],
|
||||
"risks": [
|
||||
"Unavailable avatar assets or delayed propagation can produce inconsistent identity across clients."
|
||||
],
|
||||
"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/nebula/src/components/SettingsModal/parts/Profile/Profile.tsx",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/SettingsModal/parts/Profile/Profile.tsx"
|
||||
},
|
||||
{
|
||||
"path": "apps/nebula/src/components/CharacterSelection/CharacterSelection.tsx",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/CharacterSelection/CharacterSelection.tsx"
|
||||
},
|
||||
{
|
||||
"path": "apps/nebula/src/components/Player.tsx",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/Player.tsx"
|
||||
},
|
||||
{
|
||||
"path": "apps/singularity/src/routes/auth.routes.ts",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/routes/auth.routes.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"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,104 @@
|
||||
{
|
||||
"id": "3DARCH-FT-12",
|
||||
"type": "Feature",
|
||||
"title": "Discover and retain personal controls",
|
||||
"epic_id": "3DARCH-EP-2",
|
||||
"description": "Enable a user to learn the workplace controls, prevent movement controls from interfering with text/settings interaction, and retain mouse sensitivity across visits.",
|
||||
"user_problem": "Users need discoverable controls that do not interfere with typing and settings, with sensitivity retained across visits.",
|
||||
"expected_value": "Improves control discoverability and preserves a usable personal interaction setup.",
|
||||
"scope": "Includes the controls guide, movement suppression during text/settings input, mouse-sensitivity adjustment, persistence, and save-failure feedback.",
|
||||
"exclusions": [
|
||||
"Administrator access, account recovery, display-name editing, and unwired self-service logout are excluded."
|
||||
],
|
||||
"acceptance_outcomes": [
|
||||
"A visible controls guide explains supported keyboard actions.",
|
||||
"Typing or using settings does not trigger movement actions.",
|
||||
"Mouse sensitivity can be adjusted and restored in a later session.",
|
||||
"Save failures are surfaced rather than silently discarded."
|
||||
],
|
||||
"status": "IN_BACKLOG",
|
||||
"status_source": "EXACT",
|
||||
"blocked": false,
|
||||
"blocked_reason": null,
|
||||
"owner": "3D Architecture Wizzard team",
|
||||
"dependencies": [
|
||||
"3DARCH-FT-9"
|
||||
],
|
||||
"risks": [
|
||||
"Settings persistence failures can leave the displayed sensitivity different from the retained value."
|
||||
],
|
||||
"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/nebula/src/components/ControlsLayout.tsx",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/ControlsLayout.tsx"
|
||||
},
|
||||
{
|
||||
"path": "apps/nebula/src/components/SettingsModal/parts/Controls/Controls.tsx",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/SettingsModal/parts/Controls/Controls.tsx"
|
||||
},
|
||||
{
|
||||
"path": "apps/nebula/src/stores/settingsStore.ts",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/stores/settingsStore.ts"
|
||||
},
|
||||
{
|
||||
"path": "apps/nebula/src/hooks/usePlayerCamera.ts",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/hooks/usePlayerCamera.ts"
|
||||
},
|
||||
{
|
||||
"path": "apps/singularity/src/routes/auth.routes.ts",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/routes/auth.routes.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"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,100 @@
|
||||
{
|
||||
"id": "3DARCH-FT-13",
|
||||
"type": "Feature",
|
||||
"title": "Enter and resume the last workplace location",
|
||||
"epic_id": "3DARCH-EP-3",
|
||||
"description": "Enable a returning user to enter the previously occupied floor and position rather than restarting from a default location every time.",
|
||||
"user_problem": "Returning users lose continuity when every session starts on a default floor and pose.",
|
||||
"expected_value": "Restores spatial continuity so returning users can resume work where they left it.",
|
||||
"scope": "Includes loading a valid stored scene and pose, safe defaults, and persistence of the latest location when leaving.",
|
||||
"exclusions": [
|
||||
"VR/controller navigation and generated-apartment review are excluded."
|
||||
],
|
||||
"acceptance_outcomes": [
|
||||
"Entry loads the stored scene, position, and orientation when valid.",
|
||||
"A safe default is used when no prior location exists.",
|
||||
"Leaving the workplace persists the latest known pose and scene."
|
||||
],
|
||||
"status": "IN_BACKLOG",
|
||||
"status_source": "EXACT",
|
||||
"blocked": false,
|
||||
"blocked_reason": null,
|
||||
"owner": "3D Architecture Wizzard team",
|
||||
"dependencies": [
|
||||
"3DARCH-FT-9",
|
||||
"3DARCH-FT-10"
|
||||
],
|
||||
"risks": [
|
||||
"Location persists primarily on orderly socket disconnect, so abrupt loss can discard recent movement."
|
||||
],
|
||||
"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/socket-server/player-manager.ts",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/socket-server/player-manager.ts"
|
||||
},
|
||||
{
|
||||
"path": "apps/singularity/prisma/schema.prisma",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/prisma/schema.prisma"
|
||||
},
|
||||
{
|
||||
"path": "apps/nebula/src/App.tsx",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/App.tsx"
|
||||
},
|
||||
{
|
||||
"path": "apps/nebula/src/components/Scene.tsx",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/Scene.tsx"
|
||||
}
|
||||
],
|
||||
"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"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,100 @@
|
||||
{
|
||||
"id": "3DARCH-FT-14",
|
||||
"type": "Feature",
|
||||
"title": "Move through a collision-aware 3D workplace",
|
||||
"epic_id": "3DARCH-EP-3",
|
||||
"description": "Enable a user to walk, run, strafe, rotate, and jump through the office with visible animation and physical boundaries.",
|
||||
"user_problem": "Users need responsive movement through the office while respecting its physical boundaries.",
|
||||
"expected_value": "Creates a responsive, bounded traversal experience that supplies movement state to co-presence.",
|
||||
"scope": "Includes walk, run, strafe, turn, and jump input; local animation; collider response; and movement-state publication.",
|
||||
"exclusions": [
|
||||
"VR/controller navigation and generated-apartment review are excluded."
|
||||
],
|
||||
"acceptance_outcomes": [
|
||||
"Keyboard input produces responsive supported movement states.",
|
||||
"Movement respects floor and scene colliders.",
|
||||
"Walking, running, idling, jumping, and turning produce coherent local animation.",
|
||||
"Movement state is available to the live-presence experience."
|
||||
],
|
||||
"status": "IN_BACKLOG",
|
||||
"status_source": "EXACT",
|
||||
"blocked": false,
|
||||
"blocked_reason": null,
|
||||
"owner": "3D Architecture Wizzard team",
|
||||
"dependencies": [
|
||||
"3DARCH-FT-13"
|
||||
],
|
||||
"risks": [
|
||||
"Client-originated movement and pose data require validation before they can be trusted by other participants."
|
||||
],
|
||||
"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/nebula/src/hooks/usePlayerControls.ts",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/hooks/usePlayerControls.ts"
|
||||
},
|
||||
{
|
||||
"path": "apps/nebula/src/hooks/usePlayerMovement.ts",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/hooks/usePlayerMovement.ts"
|
||||
},
|
||||
{
|
||||
"path": "apps/nebula/src/components/Player.tsx",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/Player.tsx"
|
||||
},
|
||||
{
|
||||
"path": "apps/nebula/src/hooks/useSceneWithColliders.tsx",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/hooks/useSceneWithColliders.tsx"
|
||||
}
|
||||
],
|
||||
"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"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
{
|
||||
"id": "3DARCH-FT-15",
|
||||
"type": "Feature",
|
||||
"title": "Change viewpoint and look around naturally",
|
||||
"epic_id": "3DARCH-EP-3",
|
||||
"description": "Enable a user to choose first- or third-person viewing and control the view without the camera passing through nearby scene geometry.",
|
||||
"user_problem": "Users need viewpoints suited to navigation and orientation without camera obstruction by nearby geometry.",
|
||||
"expected_value": "Improves spatial awareness while limiting camera clipping and overlay input conflicts.",
|
||||
"scope": "Includes first/third-person switching, sensitivity-aware mouse look, obstruction-aware third-person distance, and predictable pointer capture.",
|
||||
"exclusions": [
|
||||
"VR/controller navigation and generated-apartment review are excluded."
|
||||
],
|
||||
"acceptance_outcomes": [
|
||||
"The user can switch between supported camera modes.",
|
||||
"Mouse input controls the view at the configured sensitivity.",
|
||||
"Third-person camera distance responds to obstructing geometry.",
|
||||
"Pointer capture and release behave predictably around overlays and settings."
|
||||
],
|
||||
"status": "IN_BACKLOG",
|
||||
"status_source": "EXACT",
|
||||
"blocked": false,
|
||||
"blocked_reason": null,
|
||||
"owner": "3D Architecture Wizzard team",
|
||||
"dependencies": [
|
||||
"3DARCH-FT-12",
|
||||
"3DARCH-FT-14"
|
||||
],
|
||||
"risks": [
|
||||
"Third-person camera constraints and overlay pointer capture have legacy edge cases."
|
||||
],
|
||||
"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/nebula/src/hooks/usePlayerCamera.ts",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/hooks/usePlayerCamera.ts"
|
||||
},
|
||||
{
|
||||
"path": "apps/nebula/src/hooks/useMouseControls.ts",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/hooks/useMouseControls.ts"
|
||||
},
|
||||
{
|
||||
"path": "packages/utils/constants/src/controls.ts",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/packages/utils/constants/src/controls.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"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,104 @@
|
||||
{
|
||||
"id": "3DARCH-FT-16",
|
||||
"type": "Feature",
|
||||
"title": "Travel between workplace floors",
|
||||
"epic_id": "3DARCH-EP-3",
|
||||
"description": "Enable a user to approach an elevator, receive a contextual action, and move between the implemented ninth- and tenth-floor scenes.",
|
||||
"user_problem": "Users need a contextual, understandable way to move between the implemented workplace floors.",
|
||||
"expected_value": "Connects the workplace’s floor experiences while keeping real-time scene membership accurate.",
|
||||
"scope": "Includes elevator proximity detection, contextual action, ninth/tenth-floor transitions, scene-membership updates, and persisted destination.",
|
||||
"exclusions": [
|
||||
"VR/controller navigation and generated-apartment review are excluded."
|
||||
],
|
||||
"acceptance_outcomes": [
|
||||
"Elevator proximity exposes the floor-change action only when applicable.",
|
||||
"Activating the action moves the user to the target floor entry point.",
|
||||
"Real-time scene membership changes with the floor.",
|
||||
"The new floor becomes the location resumed later."
|
||||
],
|
||||
"status": "IN_BACKLOG",
|
||||
"status_source": "EXACT",
|
||||
"blocked": false,
|
||||
"blocked_reason": null,
|
||||
"owner": "3D Architecture Wizzard team",
|
||||
"dependencies": [
|
||||
"3DARCH-FT-14"
|
||||
],
|
||||
"risks": [
|
||||
"The implemented floor set and entry points are fixed and require explicit expansion rules."
|
||||
],
|
||||
"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/nebula/src/hooks/usePlayerActions.ts",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/hooks/usePlayerActions.ts"
|
||||
},
|
||||
{
|
||||
"path": "apps/nebula/src/components/PlayerActionPrompt/PlayerActionPrompt.tsx",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/PlayerActionPrompt/PlayerActionPrompt.tsx"
|
||||
},
|
||||
{
|
||||
"path": "apps/singularity/src/socket-server/event-handlers.ts",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/socket-server/event-handlers.ts"
|
||||
},
|
||||
{
|
||||
"path": "apps/singularity/src/socket-server/scene-manager.ts",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/socket-server/scene-manager.ts"
|
||||
},
|
||||
{
|
||||
"path": "packages/utils/constants/src/scenes.ts",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/packages/utils/constants/src/scenes.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"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,104 @@
|
||||
{
|
||||
"id": "3DARCH-FT-17",
|
||||
"type": "Feature",
|
||||
"title": "Orient with the live floor map",
|
||||
"epic_id": "3DARCH-EP-3",
|
||||
"description": "Enable a user to open a floor map, locate themselves, identify coworkers and occupied seats, and pan or zoom to understand the surrounding workplace.",
|
||||
"user_problem": "Users need a compact spatial reference for locating themselves, coworkers, and occupied seating.",
|
||||
"expected_value": "Reduces disorientation and supports informed navigation and seating decisions.",
|
||||
"scope": "Includes current-floor geometry, local/coworker markers, seating state, occupant identity, pan, and cursor-centred zoom.",
|
||||
"exclusions": [
|
||||
"VR/controller navigation and generated-apartment review are excluded."
|
||||
],
|
||||
"acceptance_outcomes": [
|
||||
"The map represents the current floor geometry.",
|
||||
"The local user and coworkers appear with distinguishable markers and names.",
|
||||
"Seats show available/occupied state and occupant identity at the supported zoom level.",
|
||||
"Pan and cursor-centred zoom retain usable orientation."
|
||||
],
|
||||
"status": "IN_BACKLOG",
|
||||
"status_source": "EXACT",
|
||||
"blocked": false,
|
||||
"blocked_reason": null,
|
||||
"owner": "3D Architecture Wizzard team",
|
||||
"dependencies": [
|
||||
"3DARCH-FT-14"
|
||||
],
|
||||
"risks": [
|
||||
"Map markers can become stale when presence or seating events are missed."
|
||||
],
|
||||
"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/nebula/src/components/Map/Map.tsx",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/Map/Map.tsx"
|
||||
},
|
||||
{
|
||||
"path": "apps/nebula/src/components/Map/components/MapStaticLayer.tsx",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/Map/components/MapStaticLayer.tsx"
|
||||
},
|
||||
{
|
||||
"path": "apps/nebula/src/components/Map/components/MapPlayerLayer.tsx",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/Map/components/MapPlayerLayer.tsx"
|
||||
},
|
||||
{
|
||||
"path": "apps/nebula/src/components/Map/components/MapSeatLayer.tsx",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/Map/components/MapSeatLayer.tsx"
|
||||
},
|
||||
{
|
||||
"path": "apps/nebula/src/utils/sceneMap.ts",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/utils/sceneMap.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"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,102 @@
|
||||
{
|
||||
"id": "3DARCH-FT-18",
|
||||
"type": "Feature",
|
||||
"title": "See who shares the current floor",
|
||||
"epic_id": "3DARCH-EP-4",
|
||||
"description": "Enable a participant to see coworkers join, remain present, change floors, and leave within the same scene-scoped workplace context.",
|
||||
"user_problem": "Participants need an accurate view of who currently shares their floor as people join, move, and disconnect.",
|
||||
"expected_value": "Makes the shared environment reflect current floor membership without requiring reloads.",
|
||||
"scope": "Includes initial current-floor membership plus real-time join, floor-change, and disconnect reconciliation.",
|
||||
"exclusions": [
|
||||
"Communication content and seat-reservation ownership are excluded."
|
||||
],
|
||||
"acceptance_outcomes": [
|
||||
"Joining returns the existing people on the participant's current floor.",
|
||||
"New arrivals appear without reloading.",
|
||||
"Floor changes remove a person from the previous floor and add them to the destination floor.",
|
||||
"Disconnects remove stale participants from the shared scene."
|
||||
],
|
||||
"status": "IN_BACKLOG",
|
||||
"status_source": "EXACT",
|
||||
"blocked": false,
|
||||
"blocked_reason": null,
|
||||
"owner": "3D Architecture Wizzard team",
|
||||
"dependencies": [
|
||||
"3DARCH-FT-9",
|
||||
"3DARCH-FT-13",
|
||||
"3DARCH-FT-16"
|
||||
],
|
||||
"risks": [
|
||||
"Join, floor-change, and disconnect event ordering can temporarily duplicate or retain participants."
|
||||
],
|
||||
"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/socket-server/event-handlers.ts",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/socket-server/event-handlers.ts"
|
||||
},
|
||||
{
|
||||
"path": "apps/singularity/src/socket-server/scene-manager.ts",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/socket-server/scene-manager.ts"
|
||||
},
|
||||
{
|
||||
"path": "apps/singularity/src/socket-server/broadcast-service.ts",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/socket-server/broadcast-service.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"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,102 @@
|
||||
{
|
||||
"id": "3DARCH-FT-19",
|
||||
"type": "Feature",
|
||||
"title": "Recognize coworkers by workplace identity",
|
||||
"epic_id": "3DARCH-EP-4",
|
||||
"description": "Enable a participant to recognize each current-floor coworker by persisted avatar and visible name in both the 3D scene and map.",
|
||||
"user_problem": "Participants need to recognize each coworker consistently across the 3D scene and floor map.",
|
||||
"expected_value": "Provides stable social recognition across scene and map representations.",
|
||||
"scope": "Includes persisted avatar selection, safe avatar fallback, visible names, map labels, and identity-change reconciliation.",
|
||||
"exclusions": [
|
||||
"Communication content and seat-reservation ownership are excluded."
|
||||
],
|
||||
"acceptance_outcomes": [
|
||||
"Every current-floor participant renders as one embodied avatar.",
|
||||
"The persisted avatar is used when valid, with a safe fallback for an unavailable model.",
|
||||
"A visible name label follows each remote avatar.",
|
||||
"The floor map shows labeled coworker markers and distinguishes the local participant.",
|
||||
"Identity changes propagate without creating a duplicate participant."
|
||||
],
|
||||
"status": "IN_BACKLOG",
|
||||
"status_source": "EXACT",
|
||||
"blocked": false,
|
||||
"blocked_reason": null,
|
||||
"owner": "3D Architecture Wizzard team",
|
||||
"dependencies": [
|
||||
"3DARCH-FT-10",
|
||||
"3DARCH-FT-18"
|
||||
],
|
||||
"risks": [
|
||||
"Missing avatar models and delayed profile changes can reduce reliable coworker recognition."
|
||||
],
|
||||
"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/nebula/src/components/Player.tsx",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/Player.tsx"
|
||||
},
|
||||
{
|
||||
"path": "apps/nebula/src/components/Scene.tsx",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/Scene.tsx"
|
||||
},
|
||||
{
|
||||
"path": "apps/nebula/src/components/Map/components/MapPlayerLayer.tsx",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/Map/components/MapPlayerLayer.tsx"
|
||||
},
|
||||
{
|
||||
"path": "packages/utils/types/src/player.types.ts",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/packages/utils/types/src/player.types.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"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,103 @@
|
||||
{
|
||||
"id": "3DARCH-FT-2",
|
||||
"type": "Feature",
|
||||
"title": "Shared contracts and reusable interface foundations",
|
||||
"epic_id": "3DARCH-EP-1",
|
||||
"description": "Enable application teams to evolve real-time interactions and user interfaces against shared types, constants, TypeScript rules, lint rules, and reusable UI components rather than duplicating incompatible definitions.",
|
||||
"user_problem": "Application teams risk incompatible real-time behavior and inconsistent interfaces when contracts, constants, and components are duplicated.",
|
||||
"expected_value": "Keeps client, service, and interface behavior aligned while reducing duplicated definitions.",
|
||||
"scope": "Includes shared player, chat, voice, seat, authentication, control, socket, TypeScript, lint, and reusable UI foundations.",
|
||||
"exclusions": [
|
||||
"End-user product behavior and solution or release authorization are outside these engineering Features."
|
||||
],
|
||||
"acceptance_outcomes": [
|
||||
"Frontend and backend consume the same player, chat, voice, seat, and authentication contracts.",
|
||||
"Common controls and socket event names have one shared definition.",
|
||||
"Reusable UI components can be developed, demonstrated, and tested independently."
|
||||
],
|
||||
"status": "IN_BACKLOG",
|
||||
"status_source": "EXACT",
|
||||
"blocked": false,
|
||||
"blocked_reason": null,
|
||||
"owner": "3D Architecture Wizzard team",
|
||||
"dependencies": [
|
||||
"3DARCH-FT-1"
|
||||
],
|
||||
"risks": [
|
||||
"Shared contract changes can break multiple applications unless all consumers are validated together."
|
||||
],
|
||||
"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": "packages/utils/types/src/",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/packages/utils/types/src/"
|
||||
},
|
||||
{
|
||||
"path": "packages/utils/constants/src/",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/packages/utils/constants/src/"
|
||||
},
|
||||
{
|
||||
"path": "packages/utils/typescript-config/",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/packages/utils/typescript-config/"
|
||||
},
|
||||
{
|
||||
"path": "packages/utils/eslint-config/",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/packages/utils/eslint-config/"
|
||||
},
|
||||
{
|
||||
"path": "packages/stardust/",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/packages/stardust/"
|
||||
}
|
||||
],
|
||||
"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"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,102 @@
|
||||
{
|
||||
"id": "3DARCH-FT-20",
|
||||
"type": "Feature",
|
||||
"title": "Follow coworker movement and activity in real time",
|
||||
"epic_id": "3DARCH-EP-4",
|
||||
"description": "Enable a participant to see current-floor coworkers' synchronized position, orientation, and movement/activity animation so that the shared environment feels live rather than static.",
|
||||
"user_problem": "Participants need remote movement and activity to feel live and remain associated with the correct coworker.",
|
||||
"expected_value": "Makes co-presence legible through synchronized pose and activity rather than static avatars.",
|
||||
"scope": "Includes remote position, orientation, movement/activity animation, identity association, and local/remote distinction.",
|
||||
"exclusions": [
|
||||
"Communication content and seat-reservation ownership are excluded."
|
||||
],
|
||||
"acceptance_outcomes": [
|
||||
"Movement updates remain associated with the correct recognized participant.",
|
||||
"Position and orientation changes update smoothly for floor peers.",
|
||||
"Supported animation/activity state follows the remote participant.",
|
||||
"Local and remote representations remain distinguishable."
|
||||
],
|
||||
"status": "IN_BACKLOG",
|
||||
"status_source": "EXACT",
|
||||
"blocked": false,
|
||||
"blocked_reason": null,
|
||||
"owner": "3D Architecture Wizzard team",
|
||||
"dependencies": [
|
||||
"3DARCH-FT-14",
|
||||
"3DARCH-FT-18",
|
||||
"3DARCH-FT-19"
|
||||
],
|
||||
"risks": [
|
||||
"Unvalidated pose and activity updates can create implausible or misleading remote movement."
|
||||
],
|
||||
"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/nebula/src/components/Player.tsx",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/Player.tsx"
|
||||
},
|
||||
{
|
||||
"path": "apps/nebula/src/hooks/usePlayerAnimations.ts",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/hooks/usePlayerAnimations.ts"
|
||||
},
|
||||
{
|
||||
"path": "apps/nebula/src/hooks/usePlayerMovement.ts",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/hooks/usePlayerMovement.ts"
|
||||
},
|
||||
{
|
||||
"path": "packages/utils/types/src/player.types.ts",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/packages/utils/types/src/player.types.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"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,102 @@
|
||||
{
|
||||
"id": "3DARCH-FT-21",
|
||||
"type": "Feature",
|
||||
"title": "Exchange floor-scoped text conversation",
|
||||
"epic_id": "3DARCH-EP-5",
|
||||
"description": "Enable participants on the same floor to send and receive named, timestamped messages and see recent speech represented above the sender's avatar.",
|
||||
"user_problem": "Colocated participants need a quick written conversation channel that preserves the current floor context.",
|
||||
"expected_value": "Keeps lightweight written communication inside the participant’s immediate spatial context.",
|
||||
"scope": "Includes opening/collapsing chat, non-empty submission, floor-scoped relay, sender/time display, scrolling, and temporary avatar speech bubbles.",
|
||||
"exclusions": [
|
||||
"Direct messaging, persistence, history, recording, transcription, and cross-floor communication are excluded."
|
||||
],
|
||||
"acceptance_outcomes": [
|
||||
"The chat panel can be opened, collapsed, composed in, and scrolled.",
|
||||
"A sent message is relayed only to the sender's current floor.",
|
||||
"Messages identify the sender and time.",
|
||||
"A temporary speech bubble and speaking/talking state connect the message to the in-world avatar.",
|
||||
"Changing floors cannot present previous-floor chat as current-floor conversation."
|
||||
],
|
||||
"status": "IN_BACKLOG",
|
||||
"status_source": "EXACT",
|
||||
"blocked": false,
|
||||
"blocked_reason": null,
|
||||
"owner": "3D Architecture Wizzard team",
|
||||
"dependencies": [
|
||||
"3DARCH-FT-18",
|
||||
"3DARCH-FT-19"
|
||||
],
|
||||
"risks": [
|
||||
"Chat is ephemeral and the legacy client can retain previous-floor messages after a floor change."
|
||||
],
|
||||
"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/nebula/src/components/Chat/Chat.tsx",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/Chat/Chat.tsx"
|
||||
},
|
||||
{
|
||||
"path": "apps/nebula/src/components/SpeechBubble.tsx",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/SpeechBubble.tsx"
|
||||
},
|
||||
{
|
||||
"path": "apps/nebula/src/stores/chatStore.ts",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/stores/chatStore.ts"
|
||||
},
|
||||
{
|
||||
"path": "apps/singularity/src/socket-server/chat-handler.ts",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/socket-server/chat-handler.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"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,107 @@
|
||||
{
|
||||
"id": "3DARCH-FT-22",
|
||||
"type": "Feature",
|
||||
"title": "Speak with push-to-talk and spatial cues",
|
||||
"epic_id": "3DARCH-EP-5",
|
||||
"description": "Enable a participant to hold a voice control, grant microphone access, stream speech to the current-floor context, see who is speaking, and hear volume reflect speaker distance.",
|
||||
"user_problem": "Participants need hands-busy voice communication with visible speaking state and spatial listening cues.",
|
||||
"expected_value": "Adds immediate spoken coordination while preserving floor isolation and distance-aware feedback.",
|
||||
"scope": "Includes push-to-talk capture, permission feedback, current-floor relay, speaking indicators, distance-based volume, and explicit playback recovery.",
|
||||
"exclusions": [
|
||||
"Direct messaging, persistence, history, recording, transcription, and cross-floor communication are excluded."
|
||||
],
|
||||
"acceptance_outcomes": [
|
||||
"Voice capture starts only while the configured push-to-talk action is active.",
|
||||
"Microphone denial or unsupported capture produces clear user feedback.",
|
||||
"Voice traffic remains isolated to the current floor.",
|
||||
"A speaking indicator identifies active speakers.",
|
||||
"Playback volume decreases to silence outside the approved proximity range.",
|
||||
"Playback can recover after browser autoplay restrictions through an explicit user action."
|
||||
],
|
||||
"status": "IN_BACKLOG",
|
||||
"status_source": "EXACT",
|
||||
"blocked": false,
|
||||
"blocked_reason": null,
|
||||
"owner": "3D Architecture Wizzard team",
|
||||
"dependencies": [
|
||||
"3DARCH-FT-18",
|
||||
"3DARCH-FT-20"
|
||||
],
|
||||
"risks": [
|
||||
"Voice is relayed floor-wide, does not reach silence outside the nominal range, and lacks complete autoplay recovery."
|
||||
],
|
||||
"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/nebula/src/hooks/useVoiceChat.ts",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/hooks/useVoiceChat.ts"
|
||||
},
|
||||
{
|
||||
"path": "apps/nebula/src/components/VoiceIndicator.tsx",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/VoiceIndicator.tsx"
|
||||
},
|
||||
{
|
||||
"path": "apps/singularity/src/socket-server/voice-handler.ts",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/socket-server/voice-handler.ts"
|
||||
},
|
||||
{
|
||||
"path": "packages/utils/constants/src/chat.ts",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/packages/utils/constants/src/chat.ts"
|
||||
},
|
||||
{
|
||||
"path": "packages/utils/constants/src/controls.ts",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/packages/utils/constants/src/controls.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"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,101 @@
|
||||
{
|
||||
"id": "3DARCH-FT-23",
|
||||
"type": "Feature",
|
||||
"title": "Discover seat availability and occupant identity",
|
||||
"epic_id": "3DARCH-EP-6",
|
||||
"description": "Enable a person to distinguish available and occupied chairs in the 3D office and map before attempting to claim a place.",
|
||||
"user_problem": "People need to know which nearby seats are available and who occupies the others before acting.",
|
||||
"expected_value": "Prevents unnecessary claim attempts and aligns 3D and map occupancy information.",
|
||||
"scope": "Includes nearby-chair availability, occupant identity, map parity, and live claim/release/reset updates.",
|
||||
"exclusions": [
|
||||
"Advance booking, recurring reservations, administrator override, and historical occupancy reporting are excluded."
|
||||
],
|
||||
"acceptance_outcomes": [
|
||||
"Nearby chairs expose their current availability.",
|
||||
"Occupied chairs show the occupant's identity in the 3D scene.",
|
||||
"The floor map uses the same occupancy state and can reveal occupant names.",
|
||||
"Live claim/release/reset changes update both views without a reload."
|
||||
],
|
||||
"status": "IN_BACKLOG",
|
||||
"status_source": "EXACT",
|
||||
"blocked": false,
|
||||
"blocked_reason": null,
|
||||
"owner": "3D Architecture Wizzard team",
|
||||
"dependencies": [
|
||||
"3DARCH-FT-17",
|
||||
"3DARCH-FT-19"
|
||||
],
|
||||
"risks": [
|
||||
"The legacy client bulk-reset listener does not correctly consume the server reset payload."
|
||||
],
|
||||
"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/nebula/src/components/interactables/ChairOverlay.tsx",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/interactables/ChairOverlay.tsx"
|
||||
},
|
||||
{
|
||||
"path": "apps/nebula/src/components/Map/components/MapSeatLayer.tsx",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/Map/components/MapSeatLayer.tsx"
|
||||
},
|
||||
{
|
||||
"path": "apps/nebula/src/stores/chairStore.ts",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/stores/chairStore.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"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,102 @@
|
||||
{
|
||||
"id": "3DARCH-FT-24",
|
||||
"type": "Feature",
|
||||
"title": "Manage one daily seat reservation",
|
||||
"epic_id": "3DARCH-EP-6",
|
||||
"description": "Enable a person to claim an available nearby seat, move the reservation to another seat, release it, and trust that another user's reservation cannot be displaced.",
|
||||
"user_problem": "A person needs to claim, move, or release one seat without displacing another user’s reservation.",
|
||||
"expected_value": "Provides one authoritative daily reservation outcome with visible success or failure.",
|
||||
"scope": "Includes contextual claim/release actions, one-seat enforcement, atomic reservation moves, ownership protection, broadcast updates, and user feedback.",
|
||||
"exclusions": [
|
||||
"Advance booking, recurring reservations, administrator override, and historical occupancy reporting are excluded."
|
||||
],
|
||||
"acceptance_outcomes": [
|
||||
"A contextual action offers claim or release according to proximity, occupancy, and ownership.",
|
||||
"A user can hold at most one seat; claiming another moves the reservation atomically.",
|
||||
"Another user's occupied seat cannot be claimed or released.",
|
||||
"Claim, change, and release outcomes are visible to all affected participants.",
|
||||
"Success and failure are communicated to the initiating user."
|
||||
],
|
||||
"status": "IN_BACKLOG",
|
||||
"status_source": "EXACT",
|
||||
"blocked": false,
|
||||
"blocked_reason": null,
|
||||
"owner": "3D Architecture Wizzard team",
|
||||
"dependencies": [
|
||||
"3DARCH-FT-9",
|
||||
"3DARCH-FT-23"
|
||||
],
|
||||
"risks": [
|
||||
"Concurrent claims and reconnects require authoritative ownership checks to prevent inconsistent occupancy."
|
||||
],
|
||||
"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/nebula/src/hooks/usePlayerActions.ts",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/hooks/usePlayerActions.ts"
|
||||
},
|
||||
{
|
||||
"path": "apps/nebula/src/stores/chairStore.ts",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/stores/chairStore.ts"
|
||||
},
|
||||
{
|
||||
"path": "apps/singularity/src/routes/seat.routes.ts",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/routes/seat.routes.ts"
|
||||
},
|
||||
{
|
||||
"path": "apps/singularity/prisma/schema.prisma",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/prisma/schema.prisma"
|
||||
}
|
||||
],
|
||||
"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"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,103 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,110 @@
|
||||
{
|
||||
"id": "3DARCH-FT-26",
|
||||
"type": "Feature",
|
||||
"title": "Generate a complete apartment concept from a natural-language brief",
|
||||
"epic_id": "3DARCH-EP-7",
|
||||
"description": "Enable a person to describe residential needs in ordinary language and receive a saved 3D apartment with inferred requirements, connected rooms, openings, furniture, and lighting.",
|
||||
"user_problem": "A residential user needs to translate an ordinary-language brief into a coherent furnished 3D concept without manual modelling.",
|
||||
"expected_value": "Produces the Epic’s primary saved artifact: a connected, furnished, and lit apartment scene.",
|
||||
"scope": "Includes prompt validation, requirement inference, connected rooms/openings, furnishing, lighting, final persistence, and stable project identity.",
|
||||
"exclusions": [
|
||||
"Office, retail, and factory generation, export, and loading scenes into Nebula are excluded."
|
||||
],
|
||||
"acceptance_outcomes": [
|
||||
"The service rejects empty, too-short, or oversized briefs before generation.",
|
||||
"Missing residential needs can be inferred and represented in the generated requirements.",
|
||||
"The floor plan contains connected rooms, circulation, doors, exterior windows, and dimensions.",
|
||||
"Furniture reflects room purpose and available space.",
|
||||
"Ambient, sunlight, and room lighting complete the scene.",
|
||||
"Completion returns a stable project identity and persists the final scene."
|
||||
],
|
||||
"status": "IN_BACKLOG",
|
||||
"status_source": "EXACT",
|
||||
"blocked": false,
|
||||
"blocked_reason": null,
|
||||
"owner": "3D Architecture Wizzard team",
|
||||
"dependencies": [
|
||||
"3DARCH-FT-8"
|
||||
],
|
||||
"risks": [
|
||||
"Generated YAML lacks complete schema, bounds, clearance, and overlap validation."
|
||||
],
|
||||
"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/archwiz-portal/src/components/LeftSidebar.tsx",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-portal/src/components/LeftSidebar.tsx"
|
||||
},
|
||||
{
|
||||
"path": "apps/archwiz-forge/src/routes/generate.ts",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-forge/src/routes/generate.ts"
|
||||
},
|
||||
{
|
||||
"path": "apps/archwiz-forge/src/skills/extract-requirements.md",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-forge/src/skills/extract-requirements.md"
|
||||
},
|
||||
{
|
||||
"path": "apps/archwiz-forge/src/skills/generate-structure.md",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-forge/src/skills/generate-structure.md"
|
||||
},
|
||||
{
|
||||
"path": "apps/archwiz-forge/src/skills/place-furniture.md",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-forge/src/skills/place-furniture.md"
|
||||
},
|
||||
{
|
||||
"path": "apps/archwiz-forge/src/skills/add-lighting.md",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-forge/src/skills/add-lighting.md"
|
||||
}
|
||||
],
|
||||
"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"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,100 @@
|
||||
{
|
||||
"id": "3DARCH-FT-27",
|
||||
"type": "Feature",
|
||||
"title": "Follow generation progress and intermediate design states",
|
||||
"epic_id": "3DARCH-EP-7",
|
||||
"description": "Enable a person to understand which generation stage is running and see the apartment emerge instead of waiting for an opaque request.",
|
||||
"user_problem": "A person needs visible generation stages and intermediate results rather than waiting on an opaque long-running request.",
|
||||
"expected_value": "Builds trust in long-running generation through progressive feedback and safe failure handling.",
|
||||
"scope": "Includes ordered stage reporting, intermediate structural/furnished previews, final-scene selection, and failure cleanup.",
|
||||
"exclusions": [
|
||||
"Office, retail, and factory generation, export, and loading scenes into Nebula are excluded."
|
||||
],
|
||||
"acceptance_outcomes": [
|
||||
"Progress identifies requirements, structure, furniture, and lighting stages in order.",
|
||||
"Structural and furnished intermediate scenes replace the current preview as they become available.",
|
||||
"Completion selects the final persisted scene.",
|
||||
"Failure produces a visible message and does not leave a false completed project."
|
||||
],
|
||||
"status": "IN_BACKLOG",
|
||||
"status_source": "EXACT",
|
||||
"blocked": false,
|
||||
"blocked_reason": null,
|
||||
"owner": "3D Architecture Wizzard team",
|
||||
"dependencies": [
|
||||
"3DARCH-FT-26"
|
||||
],
|
||||
"risks": [
|
||||
"Failure cleanup must prevent partial generation output from appearing as a completed project."
|
||||
],
|
||||
"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/archwiz-portal/src/api/client.ts",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-portal/src/api/client.ts"
|
||||
},
|
||||
{
|
||||
"path": "apps/archwiz-portal/src/App.tsx",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-portal/src/App.tsx"
|
||||
},
|
||||
{
|
||||
"path": "apps/archwiz-portal/src/components/LeftSidebar.tsx",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-portal/src/components/LeftSidebar.tsx"
|
||||
},
|
||||
{
|
||||
"path": "apps/archwiz-forge/src/routes/generate.ts",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-forge/src/routes/generate.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"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,104 @@
|
||||
{
|
||||
"id": "3DARCH-FT-28",
|
||||
"type": "Feature",
|
||||
"title": "Inspect the apartment from an overview",
|
||||
"epic_id": "3DARCH-EP-8",
|
||||
"description": "Enable a person to orbit around the open-ceiling apartment and assess rooms, area, dimensions, openings, materials, furniture, lighting, and the originating brief.",
|
||||
"user_problem": "A person needs an overview that makes the generated apartment’s layout, dimensions, contents, and brief assessable.",
|
||||
"expected_value": "Enables informed review of the complete generated concept and its originating context.",
|
||||
"scope": "Includes orbit review, coherent scene rendering, project summary, original brief, and toggleable room labels with area.",
|
||||
"exclusions": [
|
||||
"Editing, export, VR review, and collaborative walkthrough are excluded."
|
||||
],
|
||||
"acceptance_outcomes": [
|
||||
"Orbit controls expose the complete generated apartment from useful angles.",
|
||||
"Walls, floors, openings, furnishings, ambient light, sunlight, and room lights render coherently.",
|
||||
"Project context shows name, total area, room count, creation context, and original brief.",
|
||||
"Room labels can be shown or hidden and include calculated room area."
|
||||
],
|
||||
"status": "IN_BACKLOG",
|
||||
"status_source": "EXACT",
|
||||
"blocked": false,
|
||||
"blocked_reason": null,
|
||||
"owner": "3D Architecture Wizzard team",
|
||||
"dependencies": [
|
||||
"3DARCH-FT-26"
|
||||
],
|
||||
"risks": [
|
||||
"Large or malformed scenes can degrade rendering, labels, or the accuracy of project summaries."
|
||||
],
|
||||
"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/archwiz-portal/src/components/scene/ApartmentCanvas.tsx",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-portal/src/components/scene/ApartmentCanvas.tsx"
|
||||
},
|
||||
{
|
||||
"path": "apps/archwiz-portal/src/components/scene/RoomMesh.tsx",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-portal/src/components/scene/RoomMesh.tsx"
|
||||
},
|
||||
{
|
||||
"path": "apps/archwiz-portal/src/components/scene/RoomLabels.tsx",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-portal/src/components/scene/RoomLabels.tsx"
|
||||
},
|
||||
{
|
||||
"path": "apps/archwiz-portal/src/components/scene/SceneLights.tsx",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-portal/src/components/scene/SceneLights.tsx"
|
||||
},
|
||||
{
|
||||
"path": "apps/archwiz-portal/src/components/RightSidebar.tsx",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-portal/src/components/RightSidebar.tsx"
|
||||
}
|
||||
],
|
||||
"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"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,100 @@
|
||||
{
|
||||
"id": "3DARCH-FT-29",
|
||||
"type": "Feature",
|
||||
"title": "Walk through the apartment at human scale",
|
||||
"epic_id": "3DARCH-EP-8",
|
||||
"description": "Enable a person to enter near the detected apartment entrance, look around, move through rooms, and return to overview mode.",
|
||||
"user_problem": "A person needs to experience the generated apartment at human scale and return predictably to overview review.",
|
||||
"expected_value": "Enables experiential validation of circulation and scale beyond a top-down overview.",
|
||||
"scope": "Includes entrance detection, valid walk-mode start, pointer look, WASD movement, collision boundaries, and return to Orbit mode.",
|
||||
"exclusions": [
|
||||
"Editing, export, VR review, and collaborative walkthrough are excluded."
|
||||
],
|
||||
"acceptance_outcomes": [
|
||||
"Walk mode starts at a valid position just inside the detected entrance.",
|
||||
"Pointer look and WASD movement provide a human-scale review.",
|
||||
"Collision prevents movement through walls and solid furnishings.",
|
||||
"Escape or the visible mode control returns predictably to Orbit mode."
|
||||
],
|
||||
"status": "IN_BACKLOG",
|
||||
"status_source": "EXACT",
|
||||
"blocked": false,
|
||||
"blocked_reason": null,
|
||||
"owner": "3D Architecture Wizzard team",
|
||||
"dependencies": [
|
||||
"3DARCH-FT-28"
|
||||
],
|
||||
"risks": [
|
||||
"Legacy Walk mode has no collision enforcement and permits movement through walls or furniture."
|
||||
],
|
||||
"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/archwiz-portal/src/components/RightSidebar.tsx",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-portal/src/components/RightSidebar.tsx"
|
||||
},
|
||||
{
|
||||
"path": "apps/archwiz-portal/src/components/scene/ApartmentCanvas.tsx",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-portal/src/components/scene/ApartmentCanvas.tsx"
|
||||
},
|
||||
{
|
||||
"path": "apps/archwiz-portal/src/components/scene/entrance.ts",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-portal/src/components/scene/entrance.ts"
|
||||
},
|
||||
{
|
||||
"path": "apps/archwiz-portal/src/components/scene/FPSControls.tsx",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-portal/src/components/scene/FPSControls.tsx"
|
||||
}
|
||||
],
|
||||
"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"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,108 @@
|
||||
{
|
||||
"id": "3DARCH-FT-3",
|
||||
"type": "Feature",
|
||||
"title": "Automated multi-layer quality verification",
|
||||
"epic_id": "3DARCH-EP-1",
|
||||
"description": "Enable contributors to detect regressions in UI components, stores, APIs, real-time handlers, persistence behavior, generation pipelines, and end-to-end journeys before release.",
|
||||
"user_problem": "Maintainers need regressions to surface before release across stores, APIs, persistence, UI components, and integrated journeys.",
|
||||
"expected_value": "Provides earlier, repeatable evidence that principal product and platform behavior still works.",
|
||||
"scope": "Includes root and application-level unit, integration, component, persistence, and end-to-end verification commands and assets.",
|
||||
"exclusions": [
|
||||
"End-user product behavior and solution or release authorization are outside these engineering Features."
|
||||
],
|
||||
"acceptance_outcomes": [
|
||||
"Root commands invoke unit, CI, type, lint, and end-to-end checks consistently.",
|
||||
"Application-level tests cover the principal workplace and Archwiz behaviors.",
|
||||
"End-to-end browser checks can validate integrated user journeys."
|
||||
],
|
||||
"status": "IN_BACKLOG",
|
||||
"status_source": "EXACT",
|
||||
"blocked": false,
|
||||
"blocked_reason": null,
|
||||
"owner": "3D Architecture Wizzard team",
|
||||
"dependencies": [
|
||||
"3DARCH-FT-1",
|
||||
"3DARCH-FT-2"
|
||||
],
|
||||
"risks": [
|
||||
"The repository contains broad test assets but no tracked CI workflow, so local commands alone do not prove release readiness."
|
||||
],
|
||||
"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": "package.json",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/package.json"
|
||||
},
|
||||
{
|
||||
"path": "apps/horizon/",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/horizon/"
|
||||
},
|
||||
{
|
||||
"path": "apps/nebula/src/test/",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/test/"
|
||||
},
|
||||
{
|
||||
"path": "apps/singularity/src/test/",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/test/"
|
||||
},
|
||||
{
|
||||
"path": "apps/archwiz-portal/src/test/",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-portal/src/test/"
|
||||
},
|
||||
{
|
||||
"path": "apps/archwiz-forge/src/test/",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-forge/src/test/"
|
||||
}
|
||||
],
|
||||
"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"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,106 @@
|
||||
{
|
||||
"id": "3DARCH-FT-30",
|
||||
"type": "Feature",
|
||||
"title": "Apply and persist a natural-language design change",
|
||||
"epic_id": "3DARCH-EP-9",
|
||||
"description": "Enable a person to describe a focused change to a generated or reopened apartment, review the updated 3D result, and find that result retained when the project is reopened.",
|
||||
"user_problem": "A person needs to refine an existing apartment through a focused request without regenerating a separate project.",
|
||||
"expected_value": "Preserves project continuity while allowing the current design to evolve from natural-language intent.",
|
||||
"scope": "Includes bounded natural-language input, update of the current persisted project, last-valid-scene protection, visible result, and drift review.",
|
||||
"exclusions": [
|
||||
"Version history, undo, deterministic diffs, and fast-edit guarantees are excluded."
|
||||
],
|
||||
"acceptance_outcomes": [
|
||||
"Editing is available only after a project has a persisted identity and scene.",
|
||||
"A bounded natural-language request updates the intended design content while preserving project identity and unaffected content.",
|
||||
"Invalid or failed edits leave the last valid scene intact and explain the failure.",
|
||||
"The updated scene appears in the current viewer and persists for later reopening.",
|
||||
"The user can distinguish the requested change from unintended model drift before accepting it as the current version."
|
||||
],
|
||||
"status": "IN_BACKLOG",
|
||||
"status_source": "EXACT",
|
||||
"blocked": false,
|
||||
"blocked_reason": null,
|
||||
"owner": "3D Architecture Wizzard team",
|
||||
"dependencies": [
|
||||
"3DARCH-FT-26",
|
||||
"3DARCH-FT-28"
|
||||
],
|
||||
"risks": [
|
||||
"Editing rewrites the complete scene without a diff, version history, undo, or deterministic preservation guarantees."
|
||||
],
|
||||
"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/archwiz-portal/src/components/RightSidebar.tsx",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-portal/src/components/RightSidebar.tsx"
|
||||
},
|
||||
{
|
||||
"path": "apps/archwiz-portal/src/api/client.ts",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-portal/src/api/client.ts"
|
||||
},
|
||||
{
|
||||
"path": "apps/archwiz-forge/src/routes/edit.ts",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-forge/src/routes/edit.ts"
|
||||
},
|
||||
{
|
||||
"path": "apps/archwiz-forge/src/pipeline/edit.ts",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-forge/src/pipeline/edit.ts"
|
||||
},
|
||||
{
|
||||
"path": "apps/archwiz-forge/src/skills/edit-scene.md",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-forge/src/skills/edit-scene.md"
|
||||
}
|
||||
],
|
||||
"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"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,101 @@
|
||||
{
|
||||
"id": "3DARCH-FT-31",
|
||||
"type": "Feature",
|
||||
"title": "Browse and recognize saved apartment projects",
|
||||
"epic_id": "3DARCH-EP-10",
|
||||
"description": "Enable a person to locate prior apartment concepts by meaningful summary information rather than remembering opaque project identifiers.",
|
||||
"user_problem": "A person needs to recognize and select earlier apartment concepts without remembering opaque identifiers.",
|
||||
"expected_value": "Makes completed work discoverable and distinguishable for later continuation.",
|
||||
"scope": "Includes automatic/refreshable completed-project listing, meaningful summaries, newest-first ordering, current selection, and malformed-entry filtering.",
|
||||
"exclusions": [
|
||||
"Sharing, deletion, ownership, authentication, and collaboration are excluded."
|
||||
],
|
||||
"acceptance_outcomes": [
|
||||
"Completed projects load automatically and can be refreshed on demand.",
|
||||
"Each entry provides enough context to distinguish it, including name, area, and creation date.",
|
||||
"Projects are presented newest first.",
|
||||
"The current project is visually distinguishable from other entries.",
|
||||
"Incomplete or unreadable generation folders are not presented as completed projects, while service failure remains distinguishable from an empty history."
|
||||
],
|
||||
"status": "IN_BACKLOG",
|
||||
"status_source": "EXACT",
|
||||
"blocked": false,
|
||||
"blocked_reason": null,
|
||||
"owner": "3D Architecture Wizzard team",
|
||||
"dependencies": [
|
||||
"3DARCH-FT-26"
|
||||
],
|
||||
"risks": [
|
||||
"Filesystem-backed projects have no implemented authentication, ownership, authorization, sharing, or deletion boundary."
|
||||
],
|
||||
"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/archwiz-portal/src/components/LeftSidebar.tsx",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-portal/src/components/LeftSidebar.tsx"
|
||||
},
|
||||
{
|
||||
"path": "apps/archwiz-portal/src/api/client.ts",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-portal/src/api/client.ts"
|
||||
},
|
||||
{
|
||||
"path": "apps/archwiz-forge/src/routes/projects.ts",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-forge/src/routes/projects.ts"
|
||||
},
|
||||
{
|
||||
"path": "apps/archwiz-forge/src/test/routes/projects.test.ts",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-forge/src/test/routes/projects.test.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"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,106 @@
|
||||
{
|
||||
"id": "3DARCH-FT-32",
|
||||
"type": "Feature",
|
||||
"title": "Reopen a saved project into the active workspace",
|
||||
"epic_id": "3DARCH-EP-10",
|
||||
"description": "Enable a person to restore a selected apartment as active work so it can be reviewed and refined instead of regenerated.",
|
||||
"user_problem": "A person needs to restore a saved apartment as active work for continued review and refinement.",
|
||||
"expected_value": "Restores project identity, scene, context, and review controls without regenerating the design.",
|
||||
"scope": "Includes retrieval by project identity, transactional workspace replacement, restored context/review modes, edit continuity, and visible load failure.",
|
||||
"exclusions": [
|
||||
"Sharing, deletion, ownership, authentication, and collaboration are excluded."
|
||||
],
|
||||
"acceptance_outcomes": [
|
||||
"Selecting a known project retrieves its complete persisted final scene by project identity.",
|
||||
"The scene and project identity become the active workspace without retaining stale data from the prior selection.",
|
||||
"Project context and both review modes are available after reopening.",
|
||||
"The reopened identity enables subsequent natural-language refinement of the same project.",
|
||||
"Missing, unreadable, or malformed projects produce a visible failure and leave the last valid workspace intact."
|
||||
],
|
||||
"status": "IN_BACKLOG",
|
||||
"status_source": "EXACT",
|
||||
"blocked": false,
|
||||
"blocked_reason": null,
|
||||
"owner": "3D Architecture Wizzard team",
|
||||
"dependencies": [
|
||||
"3DARCH-FT-28",
|
||||
"3DARCH-FT-31"
|
||||
],
|
||||
"risks": [
|
||||
"Missing or malformed project data can replace valid workspace state unless loading remains transactional."
|
||||
],
|
||||
"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/archwiz-portal/src/components/LeftSidebar.tsx",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-portal/src/components/LeftSidebar.tsx"
|
||||
},
|
||||
{
|
||||
"path": "apps/archwiz-portal/src/api/client.ts",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-portal/src/api/client.ts"
|
||||
},
|
||||
{
|
||||
"path": "apps/archwiz-portal/src/store/useAppStore.ts",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-portal/src/store/useAppStore.ts"
|
||||
},
|
||||
{
|
||||
"path": "apps/archwiz-forge/src/routes/projects.ts",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-forge/src/routes/projects.ts"
|
||||
},
|
||||
{
|
||||
"path": "apps/archwiz-portal/src/components/RightSidebar.tsx",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-portal/src/components/RightSidebar.tsx"
|
||||
}
|
||||
],
|
||||
"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"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,105 @@
|
||||
{
|
||||
"id": "3DARCH-FT-4",
|
||||
"type": "Feature",
|
||||
"title": "Reusable UI component authoring and review workbench",
|
||||
"epic_id": "3DARCH-EP-1",
|
||||
"description": "Enable frontend developers and designers to create, demonstrate, accessibility-check, and test consistent interface components outside a product application.",
|
||||
"user_problem": "Designers and frontend developers need to review component behavior and accessibility without mounting a complete product application.",
|
||||
"expected_value": "Accelerates consistent component delivery and exposes interaction or accessibility defects earlier.",
|
||||
"scope": "Includes component generation, package export, Storybook documentation, accessibility checks, and headless story interactions.",
|
||||
"exclusions": [
|
||||
"End-user product behavior and solution or release authorization are outside these engineering Features."
|
||||
],
|
||||
"acceptance_outcomes": [
|
||||
"A generator creates a component, story, and package export in the chosen atomic category.",
|
||||
"Storybook presents component documentation and accessibility tooling.",
|
||||
"Story interactions can run in a headless browser.",
|
||||
"The component library builds behind a stable package entry point."
|
||||
],
|
||||
"status": "IN_BACKLOG",
|
||||
"status_source": "EXACT",
|
||||
"blocked": false,
|
||||
"blocked_reason": null,
|
||||
"owner": "3D Architecture Wizzard team",
|
||||
"dependencies": [
|
||||
"3DARCH-FT-1",
|
||||
"3DARCH-FT-2"
|
||||
],
|
||||
"risks": [
|
||||
"Storybook, accessibility tooling, and browser interaction tests can drift from the shipped component package."
|
||||
],
|
||||
"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": "packages/stardust/README.md",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/packages/stardust/README.md"
|
||||
},
|
||||
{
|
||||
"path": "packages/stardust/turbo/generators/config.ts",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/packages/stardust/turbo/generators/config.ts"
|
||||
},
|
||||
{
|
||||
"path": "packages/stardust/.storybook/",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/packages/stardust/.storybook/"
|
||||
},
|
||||
{
|
||||
"path": "packages/stardust/src/atoms/Button/",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/packages/stardust/src/atoms/Button/"
|
||||
},
|
||||
{
|
||||
"path": "packages/stardust/vite.config.ts",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/packages/stardust/vite.config.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"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,100 @@
|
||||
{
|
||||
"id": "3DARCH-FT-5",
|
||||
"type": "Feature",
|
||||
"title": "Versioned engineering knowledge hub",
|
||||
"epic_id": "3DARCH-EP-1",
|
||||
"description": "Enable contributors and operators to maintain architecture, setup, authentication, rendering, and deployment guidance alongside source and publish it as a browsable static site.",
|
||||
"user_problem": "Contributors and operators need one discoverable, versioned source for implemented architecture and operating guidance.",
|
||||
"expected_value": "Keeps engineering knowledge reviewable with source and available as a browsable reference.",
|
||||
"scope": "Includes version-controlled engineering documentation authoring, build, navigation, indexes, sitemap, and implemented-versus-planned boundaries.",
|
||||
"exclusions": [
|
||||
"End-user product behavior and solution or release authorization are outside these engineering Features."
|
||||
],
|
||||
"acceptance_outcomes": [
|
||||
"Contributors can author and preview version-controlled MDX documentation.",
|
||||
"The knowledge hub builds through a root workspace command.",
|
||||
"Static output contains navigable topic pages, indexes, and a sitemap.",
|
||||
"Published guidance distinguishes implemented behavior from future intent."
|
||||
],
|
||||
"status": "IN_BACKLOG",
|
||||
"status_source": "EXACT",
|
||||
"blocked": false,
|
||||
"blocked_reason": null,
|
||||
"owner": "3D Architecture Wizzard team",
|
||||
"dependencies": [
|
||||
"3DARCH-FT-1"
|
||||
],
|
||||
"risks": [
|
||||
"Published guidance can confuse implemented behavior with future intent unless evidence boundaries remain explicit."
|
||||
],
|
||||
"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/constellation/",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/constellation/"
|
||||
},
|
||||
{
|
||||
"path": "apps/constellation/package.json",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/constellation/package.json"
|
||||
},
|
||||
{
|
||||
"path": "apps/constellation/scripts/build.js",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/constellation/scripts/build.js"
|
||||
},
|
||||
{
|
||||
"path": "README.md",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/README.md"
|
||||
}
|
||||
],
|
||||
"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"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,100 @@
|
||||
{
|
||||
"id": "3DARCH-FT-6",
|
||||
"type": "Feature",
|
||||
"title": "Repeatable database schema lifecycle",
|
||||
"epic_id": "3DARCH-EP-1",
|
||||
"description": "Enable service developers and operators to evolve and apply the workplace persistence schema consistently across fresh workspaces and deployed instances.",
|
||||
"user_problem": "Service teams need database changes to be ordered, repeatable, and compatible across local and deployed environments.",
|
||||
"expected_value": "Reduces schema drift and makes migration failure visible before the service accepts traffic.",
|
||||
"scope": "Includes the Prisma schema, ordered migrations, client generation, development migration workflow, and production migration gate.",
|
||||
"exclusions": [
|
||||
"End-user product behavior and solution or release authorization are outside these engineering Features."
|
||||
],
|
||||
"acceptance_outcomes": [
|
||||
"The database contract is versioned in one Prisma schema.",
|
||||
"Ordered migrations create and evolve user, settings, scene, and seat data.",
|
||||
"Local service workflows generate the Prisma client and apply development migrations.",
|
||||
"Production startup applies pending migrations before accepting traffic and exposes migration failure."
|
||||
],
|
||||
"status": "IN_BACKLOG",
|
||||
"status_source": "EXACT",
|
||||
"blocked": false,
|
||||
"blocked_reason": null,
|
||||
"owner": "3D Architecture Wizzard team",
|
||||
"dependencies": [
|
||||
"3DARCH-FT-1"
|
||||
],
|
||||
"risks": [
|
||||
"Migration failure can block service startup or leave persistence incompatible with application code."
|
||||
],
|
||||
"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/prisma/schema.prisma",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/prisma/schema.prisma"
|
||||
},
|
||||
{
|
||||
"path": "apps/singularity/prisma/migrations/",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/prisma/migrations/"
|
||||
},
|
||||
{
|
||||
"path": "apps/singularity/package.json",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/package.json"
|
||||
},
|
||||
{
|
||||
"path": "apps/singularity/Dockerfile",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/Dockerfile"
|
||||
}
|
||||
],
|
||||
"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"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,100 @@
|
||||
{
|
||||
"id": "3DARCH-FT-7",
|
||||
"type": "Feature",
|
||||
"title": "Integrated local runtime with persistence and health checks",
|
||||
"epic_id": "3DARCH-EP-1",
|
||||
"description": "Enable developers to start the browser workplace, real-time backend, and database as one local environment and determine whether each service is healthy.",
|
||||
"user_problem": "Developers need the browser client, backend, and database to start together with visible dependency health.",
|
||||
"expected_value": "Provides a repeatable integration environment and shortens diagnosis of startup or dependency failures.",
|
||||
"scope": "Includes coordinated local startup for frontend, backend, and PostgreSQL plus storage, ordering, and health checks.",
|
||||
"exclusions": [
|
||||
"End-user product behavior and solution or release authorization are outside these engineering Features."
|
||||
],
|
||||
"acceptance_outcomes": [
|
||||
"One local workflow starts the frontend, backend, and PostgreSQL dependencies.",
|
||||
"Service ordering and persistent database storage are declared.",
|
||||
"Frontend, backend, and database health checks expose startup failure."
|
||||
],
|
||||
"status": "IN_BACKLOG",
|
||||
"status_source": "EXACT",
|
||||
"blocked": false,
|
||||
"blocked_reason": null,
|
||||
"owner": "3D Architecture Wizzard team",
|
||||
"dependencies": [
|
||||
"3DARCH-FT-1",
|
||||
"3DARCH-FT-6"
|
||||
],
|
||||
"risks": [
|
||||
"Service health can appear green while a dependency or browser route remains unusable."
|
||||
],
|
||||
"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": "docker-compose.yml",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/docker-compose.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"
|
||||
}
|
||||
],
|
||||
"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"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,107 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,104 @@
|
||||
{
|
||||
"id": "3DARCH-FT-9",
|
||||
"type": "Feature",
|
||||
"title": "Enterprise sign-in and session continuity",
|
||||
"epic_id": "3DARCH-EP-2",
|
||||
"description": "Enable a user to enter through enterprise SSO, remain signed in through token refresh, and return to sign-in when the session cannot be recovered.",
|
||||
"user_problem": "Enterprise users need trusted access that survives normal token expiry without separate workplace credentials.",
|
||||
"expected_value": "Provides secure session continuity and a single enterprise identity boundary for protected HTTP and real-time access.",
|
||||
"scope": "Includes enterprise OIDC redirect/callback, user upsert, protected cookies, token refresh, request recovery, and authenticated socket admission.",
|
||||
"exclusions": [
|
||||
"Administrator access, account recovery, display-name editing, and unwired self-service logout are excluded."
|
||||
],
|
||||
"acceptance_outcomes": [
|
||||
"Successful SSO creates or updates the user and returns the user to the workplace.",
|
||||
"Access and refresh credentials remain in protected cookies.",
|
||||
"Expired access is refreshed once and queued requests resume after recovery.",
|
||||
"Authenticated real-time connections reject invalid or duplicate sessions safely."
|
||||
],
|
||||
"status": "IN_BACKLOG",
|
||||
"status_source": "EXACT",
|
||||
"blocked": false,
|
||||
"blocked_reason": null,
|
||||
"owner": "3D Architecture Wizzard team",
|
||||
"dependencies": [
|
||||
"3DARCH-FT-8"
|
||||
],
|
||||
"risks": [
|
||||
"Duplicate-session handling redirects to a hard-coded legacy location and self-service sign-out is not wired in the client."
|
||||
],
|
||||
"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/routes/auth.routes.ts",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/routes/auth.routes.ts"
|
||||
},
|
||||
{
|
||||
"path": "apps/singularity/src/config/auth.config.ts",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/config/auth.config.ts"
|
||||
},
|
||||
{
|
||||
"path": "apps/nebula/src/hooks/useAuthRefresh.ts",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/hooks/useAuthRefresh.ts"
|
||||
},
|
||||
{
|
||||
"path": "apps/nebula/src/api.ts",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/api.ts"
|
||||
},
|
||||
{
|
||||
"path": "apps/singularity/src/socket-server/index.ts",
|
||||
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/socket-server/index.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"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,133 @@
|
||||
{
|
||||
"schema_version": 1,
|
||||
"items": [
|
||||
{
|
||||
"id": "3DARCH-FT-1",
|
||||
"file": "3darch-ft-1.yml"
|
||||
},
|
||||
{
|
||||
"id": "3DARCH-FT-2",
|
||||
"file": "3darch-ft-2.yml"
|
||||
},
|
||||
{
|
||||
"id": "3DARCH-FT-3",
|
||||
"file": "3darch-ft-3.yml"
|
||||
},
|
||||
{
|
||||
"id": "3DARCH-FT-4",
|
||||
"file": "3darch-ft-4.yml"
|
||||
},
|
||||
{
|
||||
"id": "3DARCH-FT-5",
|
||||
"file": "3darch-ft-5.yml"
|
||||
},
|
||||
{
|
||||
"id": "3DARCH-FT-6",
|
||||
"file": "3darch-ft-6.yml"
|
||||
},
|
||||
{
|
||||
"id": "3DARCH-FT-7",
|
||||
"file": "3darch-ft-7.yml"
|
||||
},
|
||||
{
|
||||
"id": "3DARCH-FT-8",
|
||||
"file": "3darch-ft-8.yml"
|
||||
},
|
||||
{
|
||||
"id": "3DARCH-FT-9",
|
||||
"file": "3darch-ft-9.yml"
|
||||
},
|
||||
{
|
||||
"id": "3DARCH-FT-10",
|
||||
"file": "3darch-ft-10.yml"
|
||||
},
|
||||
{
|
||||
"id": "3DARCH-FT-11",
|
||||
"file": "3darch-ft-11.yml"
|
||||
},
|
||||
{
|
||||
"id": "3DARCH-FT-12",
|
||||
"file": "3darch-ft-12.yml"
|
||||
},
|
||||
{
|
||||
"id": "3DARCH-FT-13",
|
||||
"file": "3darch-ft-13.yml"
|
||||
},
|
||||
{
|
||||
"id": "3DARCH-FT-14",
|
||||
"file": "3darch-ft-14.yml"
|
||||
},
|
||||
{
|
||||
"id": "3DARCH-FT-15",
|
||||
"file": "3darch-ft-15.yml"
|
||||
},
|
||||
{
|
||||
"id": "3DARCH-FT-16",
|
||||
"file": "3darch-ft-16.yml"
|
||||
},
|
||||
{
|
||||
"id": "3DARCH-FT-17",
|
||||
"file": "3darch-ft-17.yml"
|
||||
},
|
||||
{
|
||||
"id": "3DARCH-FT-18",
|
||||
"file": "3darch-ft-18.yml"
|
||||
},
|
||||
{
|
||||
"id": "3DARCH-FT-19",
|
||||
"file": "3darch-ft-19.yml"
|
||||
},
|
||||
{
|
||||
"id": "3DARCH-FT-20",
|
||||
"file": "3darch-ft-20.yml"
|
||||
},
|
||||
{
|
||||
"id": "3DARCH-FT-21",
|
||||
"file": "3darch-ft-21.yml"
|
||||
},
|
||||
{
|
||||
"id": "3DARCH-FT-22",
|
||||
"file": "3darch-ft-22.yml"
|
||||
},
|
||||
{
|
||||
"id": "3DARCH-FT-23",
|
||||
"file": "3darch-ft-23.yml"
|
||||
},
|
||||
{
|
||||
"id": "3DARCH-FT-24",
|
||||
"file": "3darch-ft-24.yml"
|
||||
},
|
||||
{
|
||||
"id": "3DARCH-FT-25",
|
||||
"file": "3darch-ft-25.yml"
|
||||
},
|
||||
{
|
||||
"id": "3DARCH-FT-26",
|
||||
"file": "3darch-ft-26.yml"
|
||||
},
|
||||
{
|
||||
"id": "3DARCH-FT-27",
|
||||
"file": "3darch-ft-27.yml"
|
||||
},
|
||||
{
|
||||
"id": "3DARCH-FT-28",
|
||||
"file": "3darch-ft-28.yml"
|
||||
},
|
||||
{
|
||||
"id": "3DARCH-FT-29",
|
||||
"file": "3darch-ft-29.yml"
|
||||
},
|
||||
{
|
||||
"id": "3DARCH-FT-30",
|
||||
"file": "3darch-ft-30.yml"
|
||||
},
|
||||
{
|
||||
"id": "3DARCH-FT-31",
|
||||
"file": "3darch-ft-31.yml"
|
||||
},
|
||||
{
|
||||
"id": "3DARCH-FT-32",
|
||||
"file": "3darch-ft-32.yml"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,57 @@
|
||||
{
|
||||
"schema_version": 1,
|
||||
"epics": {
|
||||
"3DARCH-EP-1": [
|
||||
"3DARCH-FT-1",
|
||||
"3DARCH-FT-2",
|
||||
"3DARCH-FT-3",
|
||||
"3DARCH-FT-4",
|
||||
"3DARCH-FT-5",
|
||||
"3DARCH-FT-6",
|
||||
"3DARCH-FT-7",
|
||||
"3DARCH-FT-8"
|
||||
],
|
||||
"3DARCH-EP-2": [
|
||||
"3DARCH-FT-9",
|
||||
"3DARCH-FT-10",
|
||||
"3DARCH-FT-11",
|
||||
"3DARCH-FT-12"
|
||||
],
|
||||
"3DARCH-EP-3": [
|
||||
"3DARCH-FT-13",
|
||||
"3DARCH-FT-14",
|
||||
"3DARCH-FT-15",
|
||||
"3DARCH-FT-16",
|
||||
"3DARCH-FT-17"
|
||||
],
|
||||
"3DARCH-EP-4": [
|
||||
"3DARCH-FT-18",
|
||||
"3DARCH-FT-19",
|
||||
"3DARCH-FT-20"
|
||||
],
|
||||
"3DARCH-EP-5": [
|
||||
"3DARCH-FT-21",
|
||||
"3DARCH-FT-22"
|
||||
],
|
||||
"3DARCH-EP-6": [
|
||||
"3DARCH-FT-23",
|
||||
"3DARCH-FT-24",
|
||||
"3DARCH-FT-25"
|
||||
],
|
||||
"3DARCH-EP-7": [
|
||||
"3DARCH-FT-26",
|
||||
"3DARCH-FT-27"
|
||||
],
|
||||
"3DARCH-EP-8": [
|
||||
"3DARCH-FT-28",
|
||||
"3DARCH-FT-29"
|
||||
],
|
||||
"3DARCH-EP-9": [
|
||||
"3DARCH-FT-30"
|
||||
],
|
||||
"3DARCH-EP-10": [
|
||||
"3DARCH-FT-31",
|
||||
"3DARCH-FT-32"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -11,6 +11,9 @@
|
||||
"typecheck": "tsc --noEmit",
|
||||
"generate:scope": "node scripts/generate-scope.mjs",
|
||||
"check:scope": "node scripts/generate-scope.mjs --check",
|
||||
"data:index": "node scripts/generate-scope.mjs",
|
||||
"data:validate": "node scripts/generate-scope.mjs --check",
|
||||
"data:check": "node scripts/generate-scope.mjs --check",
|
||||
"test": "node --test tests/*.test.mjs",
|
||||
"validate": "pnpm check:scope && pnpm test && pnpm typecheck && pnpm build"
|
||||
},
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
---
|
||||
title: "3DARCH-EP-1 — Engineering Platform, Quality, and Operability"
|
||||
description: "Use this approved Epic boundary to assess related Features and outcomes."
|
||||
description: "Review the governed outcome and child Features for 3DARCH-EP-1."
|
||||
---
|
||||
|
||||
# Engineering Platform, Quality, and Operability
|
||||
|
||||
| Epic | Delivery status | Status source | Owner | Approved for Solution |
|
||||
|---|---|---|---|---|
|
||||
| `3DARCH-EP-1` | `IN_BACKLOG` | `EXACT` | 3D Architecture Wizzard team | No |
|
||||
| `3DARCH-EP-1` | `IN_BACKLOG` | `DERIVED` | 3D Architecture Wizzard team | No |
|
||||
|
||||
## Goal
|
||||
|
||||
@@ -27,7 +27,16 @@ The platform spans browser applications, real-time services, AI-assisted generat
|
||||
|
||||
## Features
|
||||
|
||||
No child Features have been defined or approved. Feature discovery must preserve this Epic boundary and requires a separate human **Approved for Solution** decision before Architecture solution work begins.
|
||||
- [3DARCH-FT-1 — Reproducible monorepo development workspace](./3darch-ep-1/features/3darch-ft-1.md)
|
||||
- [3DARCH-FT-2 — Shared contracts and reusable interface foundations](./3darch-ep-1/features/3darch-ft-2.md)
|
||||
- [3DARCH-FT-3 — Automated multi-layer quality verification](./3darch-ep-1/features/3darch-ft-3.md)
|
||||
- [3DARCH-FT-4 — Reusable UI component authoring and review workbench](./3darch-ep-1/features/3darch-ft-4.md)
|
||||
- [3DARCH-FT-5 — Versioned engineering knowledge hub](./3darch-ep-1/features/3darch-ft-5.md)
|
||||
- [3DARCH-FT-6 — Repeatable database schema lifecycle](./3darch-ep-1/features/3darch-ft-6.md)
|
||||
- [3DARCH-FT-7 — Integrated local runtime with persistence and health checks](./3darch-ep-1/features/3darch-ft-7.md)
|
||||
- [3DARCH-FT-8 — Package, deploy, and health-check workplace services](./3darch-ep-1/features/3darch-ft-8.md)
|
||||
|
||||
These Features are approved for documentation only. Each remains outside Architecture solution work until a separate human **Approved for Solution** decision is recorded.
|
||||
|
||||
## Original source
|
||||
|
||||
@@ -36,7 +45,7 @@ No child Features have been defined or approved. Feature discovery must preserve
|
||||
|
||||
### Legacy implementation evidence
|
||||
|
||||
The approved catalogue was mined from legacy revision `c0ced47ecaf4426f47e5c2e4868677f7144b951a`.
|
||||
The catalogue was mined from legacy revision `c0ced47ecaf4426f47e5c2e4868677f7144b951a`.
|
||||
|
||||
- [`apps/nebula/src/App.tsx`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/App.tsx)
|
||||
- [`apps/nebula/src/socket-client.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/socket-client.ts)
|
||||
|
||||
@@ -1,8 +1,19 @@
|
||||
---
|
||||
title: "3DARCH-EP-1 Features"
|
||||
description: "Review Features governed by 3DARCH-EP-1."
|
||||
description: "Review the governed Features beneath 3DARCH-EP-1."
|
||||
---
|
||||
|
||||
# Review 3DARCH-EP-1 Features
|
||||
|
||||
No child Features have been defined or approved for this Epic. Feature discovery must preserve the [3DARCH-EP-1 boundary](../3darch-ep-1.md) and requires a separate human **Approved for Solution** decision before Architecture solution work begins.
|
||||
These Features decompose the [3DARCH-EP-1 boundary](../3darch-ep-1.md) into non-overlapping user and operator outcomes grounded in the frozen legacy revision.
|
||||
|
||||
- [3DARCH-FT-1 — Reproducible monorepo development workspace](./features/3darch-ft-1.md)
|
||||
- [3DARCH-FT-2 — Shared contracts and reusable interface foundations](./features/3darch-ft-2.md)
|
||||
- [3DARCH-FT-3 — Automated multi-layer quality verification](./features/3darch-ft-3.md)
|
||||
- [3DARCH-FT-4 — Reusable UI component authoring and review workbench](./features/3darch-ft-4.md)
|
||||
- [3DARCH-FT-5 — Versioned engineering knowledge hub](./features/3darch-ft-5.md)
|
||||
- [3DARCH-FT-6 — Repeatable database schema lifecycle](./features/3darch-ft-6.md)
|
||||
- [3DARCH-FT-7 — Integrated local runtime with persistence and health checks](./features/3darch-ft-7.md)
|
||||
- [3DARCH-FT-8 — Package, deploy, and health-check workplace services](./features/3darch-ft-8.md)
|
||||
|
||||
Documentation approval does not grant **Approved for Solution** or implementation approval.
|
||||
|
||||
@@ -0,0 +1,85 @@
|
||||
---
|
||||
title: "3DARCH-FT-1 — Reproducible monorepo development workspace"
|
||||
description: "Enable contributors to install one pinned toolchain and run coordinated development, build, type-check, lint, test, documentation, and Storybook workflows across the platform."
|
||||
---
|
||||
|
||||
# Reproducible monorepo development workspace
|
||||
|
||||
| Feature | Parent Epic | Delivery status | Status source | Owner | Approved for Solution |
|
||||
|---|---|---|---|---|---|
|
||||
| `3DARCH-FT-1` | [3DARCH-EP-1 — Engineering Platform, Quality, and Operability](../../3darch-ep-1.md) | `IN_BACKLOG` | `EXACT` | 3D Architecture Wizzard team | No |
|
||||
|
||||
## Description
|
||||
|
||||
Enable contributors to install one pinned toolchain and run coordinated development, build, type-check, lint, test, documentation, and Storybook workflows across the platform.
|
||||
|
||||
## User or operator problem
|
||||
|
||||
Contributors face onboarding delays and environment-specific failures when each package requires separately reconciled tools and commands.
|
||||
|
||||
## Expected value
|
||||
|
||||
Reduces contributor setup time and makes workspace checks repeatable across the monorepo.
|
||||
|
||||
## Scope
|
||||
|
||||
Includes the pinned Node/pnpm workspace baseline, root task orchestration, environment examples, and contributor setup path.
|
||||
|
||||
### Exclusions
|
||||
|
||||
- End-user product behavior and solution or release authorization are outside these engineering Features.
|
||||
|
||||
## Acceptance outcomes
|
||||
|
||||
- [ ] The workspace uses a declared Node and pnpm baseline.
|
||||
- [ ] One root workflow can run each supported application/package task through the dependency graph.
|
||||
- [ ] Local setup instructions and environment examples are available to contributors.
|
||||
|
||||
## Dependencies
|
||||
|
||||
- None recorded.
|
||||
|
||||
## Risks
|
||||
|
||||
- Tracked setup guidance and environment examples have legacy inconsistencies that can undermine repeatability.
|
||||
|
||||
## Human approval
|
||||
|
||||
Linas approved this Feature for documentation on 2026-09-02T10:40:43.220Z. It is **not Approved for Solution** and has no implementation approval.
|
||||
|
||||
- [Documentation decision](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201)
|
||||
|
||||
## Delivery status evidence
|
||||
|
||||
The Feature was separately registered at `IN_BACKLOG` as an accepted catalogue boundary. This records backlog retention, not design or delivery progress.
|
||||
|
||||
- Event: Catalogue registration
|
||||
- Actor and authority: Linas — Human project team member
|
||||
- Reason: The Feature catalogue was accepted for governed documentation and retained in the backlog.
|
||||
- [Status evidence](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201)
|
||||
|
||||
## Architecture traceability
|
||||
|
||||
- Requirements: none derived.
|
||||
- Readiness: Not started.
|
||||
|
||||
Architecture solution work must not begin until a separate human **Approved for Solution** decision is recorded.
|
||||
|
||||
## Tasks
|
||||
|
||||
[Review the Tasks group](./3darch-ft-1/tasks.md). No canonical implementation Tasks have been defined.
|
||||
|
||||
## Original source
|
||||
|
||||
- [Discord – Scope – Linas: original Feature request](https://discord.com/channels/1518726359512387766/1543925247361814568/1544647879111483562)
|
||||
- [Discord – Scope – Linas: proceed with documented mapping](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201)
|
||||
|
||||
### Legacy implementation evidence
|
||||
|
||||
The Feature boundary was mined from legacy revision `c0ced47ecaf4426f47e5c2e4868677f7144b951a`.
|
||||
|
||||
- [`package.json`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/package.json)
|
||||
- [`pnpm-workspace.yaml`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/pnpm-workspace.yaml)
|
||||
- [`turbo.json`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/turbo.json)
|
||||
- [`devbox.json`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/devbox.json)
|
||||
- [`README.md`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/README.md)
|
||||
@@ -0,0 +1,8 @@
|
||||
---
|
||||
title: "3DARCH-FT-1 Tasks"
|
||||
description: "Review canonical implementation Tasks governed beneath 3DARCH-FT-1."
|
||||
---
|
||||
|
||||
# Review 3DARCH-FT-1 Tasks
|
||||
|
||||
No canonical implementation Tasks have been defined for [3DARCH-FT-1](../3darch-ft-1.md). Architecture must first receive a separate human **Approved for Solution** decision, derive requirements and readiness evidence, and then register any resulting Tasks through Scope governance.
|
||||
@@ -0,0 +1,85 @@
|
||||
---
|
||||
title: "3DARCH-FT-2 — Shared contracts and reusable interface foundations"
|
||||
description: "Enable application teams to evolve real-time interactions and user interfaces against shared types, constants, TypeScript rules, lint rules, and reusable UI components rather than duplicating incompatible definitions."
|
||||
---
|
||||
|
||||
# Shared contracts and reusable interface foundations
|
||||
|
||||
| Feature | Parent Epic | Delivery status | Status source | Owner | Approved for Solution |
|
||||
|---|---|---|---|---|---|
|
||||
| `3DARCH-FT-2` | [3DARCH-EP-1 — Engineering Platform, Quality, and Operability](../../3darch-ep-1.md) | `IN_BACKLOG` | `EXACT` | 3D Architecture Wizzard team | No |
|
||||
|
||||
## Description
|
||||
|
||||
Enable application teams to evolve real-time interactions and user interfaces against shared types, constants, TypeScript rules, lint rules, and reusable UI components rather than duplicating incompatible definitions.
|
||||
|
||||
## User or operator problem
|
||||
|
||||
Application teams risk incompatible real-time behavior and inconsistent interfaces when contracts, constants, and components are duplicated.
|
||||
|
||||
## Expected value
|
||||
|
||||
Keeps client, service, and interface behavior aligned while reducing duplicated definitions.
|
||||
|
||||
## Scope
|
||||
|
||||
Includes shared player, chat, voice, seat, authentication, control, socket, TypeScript, lint, and reusable UI foundations.
|
||||
|
||||
### Exclusions
|
||||
|
||||
- End-user product behavior and solution or release authorization are outside these engineering Features.
|
||||
|
||||
## Acceptance outcomes
|
||||
|
||||
- [ ] Frontend and backend consume the same player, chat, voice, seat, and authentication contracts.
|
||||
- [ ] Common controls and socket event names have one shared definition.
|
||||
- [ ] Reusable UI components can be developed, demonstrated, and tested independently.
|
||||
|
||||
## Dependencies
|
||||
|
||||
- [3DARCH-FT-1 — Reproducible monorepo development workspace](./3darch-ft-1.md)
|
||||
|
||||
## Risks
|
||||
|
||||
- Shared contract changes can break multiple applications unless all consumers are validated together.
|
||||
|
||||
## Human approval
|
||||
|
||||
Linas approved this Feature for documentation on 2026-09-02T10:40:43.220Z. It is **not Approved for Solution** and has no implementation approval.
|
||||
|
||||
- [Documentation decision](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201)
|
||||
|
||||
## Delivery status evidence
|
||||
|
||||
The Feature was separately registered at `IN_BACKLOG` as an accepted catalogue boundary. This records backlog retention, not design or delivery progress.
|
||||
|
||||
- Event: Catalogue registration
|
||||
- Actor and authority: Linas — Human project team member
|
||||
- Reason: The Feature catalogue was accepted for governed documentation and retained in the backlog.
|
||||
- [Status evidence](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201)
|
||||
|
||||
## Architecture traceability
|
||||
|
||||
- Requirements: none derived.
|
||||
- Readiness: Not started.
|
||||
|
||||
Architecture solution work must not begin until a separate human **Approved for Solution** decision is recorded.
|
||||
|
||||
## Tasks
|
||||
|
||||
[Review the Tasks group](./3darch-ft-2/tasks.md). No canonical implementation Tasks have been defined.
|
||||
|
||||
## Original source
|
||||
|
||||
- [Discord – Scope – Linas: original Feature request](https://discord.com/channels/1518726359512387766/1543925247361814568/1544647879111483562)
|
||||
- [Discord – Scope – Linas: proceed with documented mapping](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201)
|
||||
|
||||
### Legacy implementation evidence
|
||||
|
||||
The Feature boundary was mined from legacy revision `c0ced47ecaf4426f47e5c2e4868677f7144b951a`.
|
||||
|
||||
- [`packages/utils/types/src/`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/packages/utils/types/src/)
|
||||
- [`packages/utils/constants/src/`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/packages/utils/constants/src/)
|
||||
- [`packages/utils/typescript-config/`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/packages/utils/typescript-config/)
|
||||
- [`packages/utils/eslint-config/`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/packages/utils/eslint-config/)
|
||||
- [`packages/stardust/`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/packages/stardust/)
|
||||
@@ -0,0 +1,8 @@
|
||||
---
|
||||
title: "3DARCH-FT-2 Tasks"
|
||||
description: "Review canonical implementation Tasks governed beneath 3DARCH-FT-2."
|
||||
---
|
||||
|
||||
# Review 3DARCH-FT-2 Tasks
|
||||
|
||||
No canonical implementation Tasks have been defined for [3DARCH-FT-2](../3darch-ft-2.md). Architecture must first receive a separate human **Approved for Solution** decision, derive requirements and readiness evidence, and then register any resulting Tasks through Scope governance.
|
||||
@@ -0,0 +1,87 @@
|
||||
---
|
||||
title: "3DARCH-FT-3 — Automated multi-layer quality verification"
|
||||
description: "Enable contributors to detect regressions in UI components, stores, APIs, real-time handlers, persistence behavior, generation pipelines, and end-to-end journeys before release."
|
||||
---
|
||||
|
||||
# Automated multi-layer quality verification
|
||||
|
||||
| Feature | Parent Epic | Delivery status | Status source | Owner | Approved for Solution |
|
||||
|---|---|---|---|---|---|
|
||||
| `3DARCH-FT-3` | [3DARCH-EP-1 — Engineering Platform, Quality, and Operability](../../3darch-ep-1.md) | `IN_BACKLOG` | `EXACT` | 3D Architecture Wizzard team | No |
|
||||
|
||||
## Description
|
||||
|
||||
Enable contributors to detect regressions in UI components, stores, APIs, real-time handlers, persistence behavior, generation pipelines, and end-to-end journeys before release.
|
||||
|
||||
## User or operator problem
|
||||
|
||||
Maintainers need regressions to surface before release across stores, APIs, persistence, UI components, and integrated journeys.
|
||||
|
||||
## Expected value
|
||||
|
||||
Provides earlier, repeatable evidence that principal product and platform behavior still works.
|
||||
|
||||
## Scope
|
||||
|
||||
Includes root and application-level unit, integration, component, persistence, and end-to-end verification commands and assets.
|
||||
|
||||
### Exclusions
|
||||
|
||||
- End-user product behavior and solution or release authorization are outside these engineering Features.
|
||||
|
||||
## Acceptance outcomes
|
||||
|
||||
- [ ] Root commands invoke unit, CI, type, lint, and end-to-end checks consistently.
|
||||
- [ ] Application-level tests cover the principal workplace and Archwiz behaviors.
|
||||
- [ ] End-to-end browser checks can validate integrated user journeys.
|
||||
|
||||
## Dependencies
|
||||
|
||||
- [3DARCH-FT-1 — Reproducible monorepo development workspace](./3darch-ft-1.md)
|
||||
- [3DARCH-FT-2 — Shared contracts and reusable interface foundations](./3darch-ft-2.md)
|
||||
|
||||
## Risks
|
||||
|
||||
- The repository contains broad test assets but no tracked CI workflow, so local commands alone do not prove release readiness.
|
||||
|
||||
## Human approval
|
||||
|
||||
Linas approved this Feature for documentation on 2026-09-02T10:40:43.220Z. It is **not Approved for Solution** and has no implementation approval.
|
||||
|
||||
- [Documentation decision](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201)
|
||||
|
||||
## Delivery status evidence
|
||||
|
||||
The Feature was separately registered at `IN_BACKLOG` as an accepted catalogue boundary. This records backlog retention, not design or delivery progress.
|
||||
|
||||
- Event: Catalogue registration
|
||||
- Actor and authority: Linas — Human project team member
|
||||
- Reason: The Feature catalogue was accepted for governed documentation and retained in the backlog.
|
||||
- [Status evidence](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201)
|
||||
|
||||
## Architecture traceability
|
||||
|
||||
- Requirements: none derived.
|
||||
- Readiness: Not started.
|
||||
|
||||
Architecture solution work must not begin until a separate human **Approved for Solution** decision is recorded.
|
||||
|
||||
## Tasks
|
||||
|
||||
[Review the Tasks group](./3darch-ft-3/tasks.md). No canonical implementation Tasks have been defined.
|
||||
|
||||
## Original source
|
||||
|
||||
- [Discord – Scope – Linas: original Feature request](https://discord.com/channels/1518726359512387766/1543925247361814568/1544647879111483562)
|
||||
- [Discord – Scope – Linas: proceed with documented mapping](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201)
|
||||
|
||||
### Legacy implementation evidence
|
||||
|
||||
The Feature boundary was mined from legacy revision `c0ced47ecaf4426f47e5c2e4868677f7144b951a`.
|
||||
|
||||
- [`package.json`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/package.json)
|
||||
- [`apps/horizon/`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/horizon/)
|
||||
- [`apps/nebula/src/test/`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/test/)
|
||||
- [`apps/singularity/src/test/`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/test/)
|
||||
- [`apps/archwiz-portal/src/test/`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-portal/src/test/)
|
||||
- [`apps/archwiz-forge/src/test/`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-forge/src/test/)
|
||||
@@ -0,0 +1,8 @@
|
||||
---
|
||||
title: "3DARCH-FT-3 Tasks"
|
||||
description: "Review canonical implementation Tasks governed beneath 3DARCH-FT-3."
|
||||
---
|
||||
|
||||
# Review 3DARCH-FT-3 Tasks
|
||||
|
||||
No canonical implementation Tasks have been defined for [3DARCH-FT-3](../3darch-ft-3.md). Architecture must first receive a separate human **Approved for Solution** decision, derive requirements and readiness evidence, and then register any resulting Tasks through Scope governance.
|
||||
@@ -0,0 +1,87 @@
|
||||
---
|
||||
title: "3DARCH-FT-4 — Reusable UI component authoring and review workbench"
|
||||
description: "Enable frontend developers and designers to create, demonstrate, accessibility-check, and test consistent interface components outside a product application."
|
||||
---
|
||||
|
||||
# Reusable UI component authoring and review workbench
|
||||
|
||||
| Feature | Parent Epic | Delivery status | Status source | Owner | Approved for Solution |
|
||||
|---|---|---|---|---|---|
|
||||
| `3DARCH-FT-4` | [3DARCH-EP-1 — Engineering Platform, Quality, and Operability](../../3darch-ep-1.md) | `IN_BACKLOG` | `EXACT` | 3D Architecture Wizzard team | No |
|
||||
|
||||
## Description
|
||||
|
||||
Enable frontend developers and designers to create, demonstrate, accessibility-check, and test consistent interface components outside a product application.
|
||||
|
||||
## User or operator problem
|
||||
|
||||
Designers and frontend developers need to review component behavior and accessibility without mounting a complete product application.
|
||||
|
||||
## Expected value
|
||||
|
||||
Accelerates consistent component delivery and exposes interaction or accessibility defects earlier.
|
||||
|
||||
## Scope
|
||||
|
||||
Includes component generation, package export, Storybook documentation, accessibility checks, and headless story interactions.
|
||||
|
||||
### Exclusions
|
||||
|
||||
- End-user product behavior and solution or release authorization are outside these engineering Features.
|
||||
|
||||
## Acceptance outcomes
|
||||
|
||||
- [ ] A generator creates a component, story, and package export in the chosen atomic category.
|
||||
- [ ] Storybook presents component documentation and accessibility tooling.
|
||||
- [ ] Story interactions can run in a headless browser.
|
||||
- [ ] The component library builds behind a stable package entry point.
|
||||
|
||||
## Dependencies
|
||||
|
||||
- [3DARCH-FT-1 — Reproducible monorepo development workspace](./3darch-ft-1.md)
|
||||
- [3DARCH-FT-2 — Shared contracts and reusable interface foundations](./3darch-ft-2.md)
|
||||
|
||||
## Risks
|
||||
|
||||
- Storybook, accessibility tooling, and browser interaction tests can drift from the shipped component package.
|
||||
|
||||
## Human approval
|
||||
|
||||
Linas approved this Feature for documentation on 2026-09-02T10:40:43.220Z. It is **not Approved for Solution** and has no implementation approval.
|
||||
|
||||
- [Documentation decision](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201)
|
||||
|
||||
## Delivery status evidence
|
||||
|
||||
The Feature was separately registered at `IN_BACKLOG` as an accepted catalogue boundary. This records backlog retention, not design or delivery progress.
|
||||
|
||||
- Event: Catalogue registration
|
||||
- Actor and authority: Linas — Human project team member
|
||||
- Reason: The Feature catalogue was accepted for governed documentation and retained in the backlog.
|
||||
- [Status evidence](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201)
|
||||
|
||||
## Architecture traceability
|
||||
|
||||
- Requirements: none derived.
|
||||
- Readiness: Not started.
|
||||
|
||||
Architecture solution work must not begin until a separate human **Approved for Solution** decision is recorded.
|
||||
|
||||
## Tasks
|
||||
|
||||
[Review the Tasks group](./3darch-ft-4/tasks.md). No canonical implementation Tasks have been defined.
|
||||
|
||||
## Original source
|
||||
|
||||
- [Discord – Scope – Linas: original Feature request](https://discord.com/channels/1518726359512387766/1543925247361814568/1544647879111483562)
|
||||
- [Discord – Scope – Linas: proceed with documented mapping](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201)
|
||||
|
||||
### Legacy implementation evidence
|
||||
|
||||
The Feature boundary was mined from legacy revision `c0ced47ecaf4426f47e5c2e4868677f7144b951a`.
|
||||
|
||||
- [`packages/stardust/README.md`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/packages/stardust/README.md)
|
||||
- [`packages/stardust/turbo/generators/config.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/packages/stardust/turbo/generators/config.ts)
|
||||
- [`packages/stardust/.storybook/`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/packages/stardust/.storybook/)
|
||||
- [`packages/stardust/src/atoms/Button/`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/packages/stardust/src/atoms/Button/)
|
||||
- [`packages/stardust/vite.config.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/packages/stardust/vite.config.ts)
|
||||
@@ -0,0 +1,8 @@
|
||||
---
|
||||
title: "3DARCH-FT-4 Tasks"
|
||||
description: "Review canonical implementation Tasks governed beneath 3DARCH-FT-4."
|
||||
---
|
||||
|
||||
# Review 3DARCH-FT-4 Tasks
|
||||
|
||||
No canonical implementation Tasks have been defined for [3DARCH-FT-4](../3darch-ft-4.md). Architecture must first receive a separate human **Approved for Solution** decision, derive requirements and readiness evidence, and then register any resulting Tasks through Scope governance.
|
||||
@@ -0,0 +1,85 @@
|
||||
---
|
||||
title: "3DARCH-FT-5 — Versioned engineering knowledge hub"
|
||||
description: "Enable contributors and operators to maintain architecture, setup, authentication, rendering, and deployment guidance alongside source and publish it as a browsable static site."
|
||||
---
|
||||
|
||||
# Versioned engineering knowledge hub
|
||||
|
||||
| Feature | Parent Epic | Delivery status | Status source | Owner | Approved for Solution |
|
||||
|---|---|---|---|---|---|
|
||||
| `3DARCH-FT-5` | [3DARCH-EP-1 — Engineering Platform, Quality, and Operability](../../3darch-ep-1.md) | `IN_BACKLOG` | `EXACT` | 3D Architecture Wizzard team | No |
|
||||
|
||||
## Description
|
||||
|
||||
Enable contributors and operators to maintain architecture, setup, authentication, rendering, and deployment guidance alongside source and publish it as a browsable static site.
|
||||
|
||||
## User or operator problem
|
||||
|
||||
Contributors and operators need one discoverable, versioned source for implemented architecture and operating guidance.
|
||||
|
||||
## Expected value
|
||||
|
||||
Keeps engineering knowledge reviewable with source and available as a browsable reference.
|
||||
|
||||
## Scope
|
||||
|
||||
Includes version-controlled engineering documentation authoring, build, navigation, indexes, sitemap, and implemented-versus-planned boundaries.
|
||||
|
||||
### Exclusions
|
||||
|
||||
- End-user product behavior and solution or release authorization are outside these engineering Features.
|
||||
|
||||
## Acceptance outcomes
|
||||
|
||||
- [ ] Contributors can author and preview version-controlled MDX documentation.
|
||||
- [ ] The knowledge hub builds through a root workspace command.
|
||||
- [ ] Static output contains navigable topic pages, indexes, and a sitemap.
|
||||
- [ ] Published guidance distinguishes implemented behavior from future intent.
|
||||
|
||||
## Dependencies
|
||||
|
||||
- [3DARCH-FT-1 — Reproducible monorepo development workspace](./3darch-ft-1.md)
|
||||
|
||||
## Risks
|
||||
|
||||
- Published guidance can confuse implemented behavior with future intent unless evidence boundaries remain explicit.
|
||||
|
||||
## Human approval
|
||||
|
||||
Linas approved this Feature for documentation on 2026-09-02T10:40:43.220Z. It is **not Approved for Solution** and has no implementation approval.
|
||||
|
||||
- [Documentation decision](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201)
|
||||
|
||||
## Delivery status evidence
|
||||
|
||||
The Feature was separately registered at `IN_BACKLOG` as an accepted catalogue boundary. This records backlog retention, not design or delivery progress.
|
||||
|
||||
- Event: Catalogue registration
|
||||
- Actor and authority: Linas — Human project team member
|
||||
- Reason: The Feature catalogue was accepted for governed documentation and retained in the backlog.
|
||||
- [Status evidence](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201)
|
||||
|
||||
## Architecture traceability
|
||||
|
||||
- Requirements: none derived.
|
||||
- Readiness: Not started.
|
||||
|
||||
Architecture solution work must not begin until a separate human **Approved for Solution** decision is recorded.
|
||||
|
||||
## Tasks
|
||||
|
||||
[Review the Tasks group](./3darch-ft-5/tasks.md). No canonical implementation Tasks have been defined.
|
||||
|
||||
## Original source
|
||||
|
||||
- [Discord – Scope – Linas: original Feature request](https://discord.com/channels/1518726359512387766/1543925247361814568/1544647879111483562)
|
||||
- [Discord – Scope – Linas: proceed with documented mapping](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201)
|
||||
|
||||
### Legacy implementation evidence
|
||||
|
||||
The Feature boundary was mined from legacy revision `c0ced47ecaf4426f47e5c2e4868677f7144b951a`.
|
||||
|
||||
- [`apps/constellation/`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/constellation/)
|
||||
- [`apps/constellation/package.json`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/constellation/package.json)
|
||||
- [`apps/constellation/scripts/build.js`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/constellation/scripts/build.js)
|
||||
- [`README.md`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/README.md)
|
||||
@@ -0,0 +1,8 @@
|
||||
---
|
||||
title: "3DARCH-FT-5 Tasks"
|
||||
description: "Review canonical implementation Tasks governed beneath 3DARCH-FT-5."
|
||||
---
|
||||
|
||||
# Review 3DARCH-FT-5 Tasks
|
||||
|
||||
No canonical implementation Tasks have been defined for [3DARCH-FT-5](../3darch-ft-5.md). Architecture must first receive a separate human **Approved for Solution** decision, derive requirements and readiness evidence, and then register any resulting Tasks through Scope governance.
|
||||
@@ -0,0 +1,85 @@
|
||||
---
|
||||
title: "3DARCH-FT-6 — Repeatable database schema lifecycle"
|
||||
description: "Enable service developers and operators to evolve and apply the workplace persistence schema consistently across fresh workspaces and deployed instances."
|
||||
---
|
||||
|
||||
# Repeatable database schema lifecycle
|
||||
|
||||
| Feature | Parent Epic | Delivery status | Status source | Owner | Approved for Solution |
|
||||
|---|---|---|---|---|---|
|
||||
| `3DARCH-FT-6` | [3DARCH-EP-1 — Engineering Platform, Quality, and Operability](../../3darch-ep-1.md) | `IN_BACKLOG` | `EXACT` | 3D Architecture Wizzard team | No |
|
||||
|
||||
## Description
|
||||
|
||||
Enable service developers and operators to evolve and apply the workplace persistence schema consistently across fresh workspaces and deployed instances.
|
||||
|
||||
## User or operator problem
|
||||
|
||||
Service teams need database changes to be ordered, repeatable, and compatible across local and deployed environments.
|
||||
|
||||
## Expected value
|
||||
|
||||
Reduces schema drift and makes migration failure visible before the service accepts traffic.
|
||||
|
||||
## Scope
|
||||
|
||||
Includes the Prisma schema, ordered migrations, client generation, development migration workflow, and production migration gate.
|
||||
|
||||
### Exclusions
|
||||
|
||||
- End-user product behavior and solution or release authorization are outside these engineering Features.
|
||||
|
||||
## Acceptance outcomes
|
||||
|
||||
- [ ] The database contract is versioned in one Prisma schema.
|
||||
- [ ] Ordered migrations create and evolve user, settings, scene, and seat data.
|
||||
- [ ] Local service workflows generate the Prisma client and apply development migrations.
|
||||
- [ ] Production startup applies pending migrations before accepting traffic and exposes migration failure.
|
||||
|
||||
## Dependencies
|
||||
|
||||
- [3DARCH-FT-1 — Reproducible monorepo development workspace](./3darch-ft-1.md)
|
||||
|
||||
## Risks
|
||||
|
||||
- Migration failure can block service startup or leave persistence incompatible with application code.
|
||||
|
||||
## Human approval
|
||||
|
||||
Linas approved this Feature for documentation on 2026-09-02T10:40:43.220Z. It is **not Approved for Solution** and has no implementation approval.
|
||||
|
||||
- [Documentation decision](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201)
|
||||
|
||||
## Delivery status evidence
|
||||
|
||||
The Feature was separately registered at `IN_BACKLOG` as an accepted catalogue boundary. This records backlog retention, not design or delivery progress.
|
||||
|
||||
- Event: Catalogue registration
|
||||
- Actor and authority: Linas — Human project team member
|
||||
- Reason: The Feature catalogue was accepted for governed documentation and retained in the backlog.
|
||||
- [Status evidence](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201)
|
||||
|
||||
## Architecture traceability
|
||||
|
||||
- Requirements: none derived.
|
||||
- Readiness: Not started.
|
||||
|
||||
Architecture solution work must not begin until a separate human **Approved for Solution** decision is recorded.
|
||||
|
||||
## Tasks
|
||||
|
||||
[Review the Tasks group](./3darch-ft-6/tasks.md). No canonical implementation Tasks have been defined.
|
||||
|
||||
## Original source
|
||||
|
||||
- [Discord – Scope – Linas: original Feature request](https://discord.com/channels/1518726359512387766/1543925247361814568/1544647879111483562)
|
||||
- [Discord – Scope – Linas: proceed with documented mapping](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201)
|
||||
|
||||
### Legacy implementation evidence
|
||||
|
||||
The Feature boundary was mined from legacy revision `c0ced47ecaf4426f47e5c2e4868677f7144b951a`.
|
||||
|
||||
- [`apps/singularity/prisma/schema.prisma`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/prisma/schema.prisma)
|
||||
- [`apps/singularity/prisma/migrations/`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/prisma/migrations/)
|
||||
- [`apps/singularity/package.json`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/package.json)
|
||||
- [`apps/singularity/Dockerfile`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/Dockerfile)
|
||||
@@ -0,0 +1,8 @@
|
||||
---
|
||||
title: "3DARCH-FT-6 Tasks"
|
||||
description: "Review canonical implementation Tasks governed beneath 3DARCH-FT-6."
|
||||
---
|
||||
|
||||
# Review 3DARCH-FT-6 Tasks
|
||||
|
||||
No canonical implementation Tasks have been defined for [3DARCH-FT-6](../3darch-ft-6.md). Architecture must first receive a separate human **Approved for Solution** decision, derive requirements and readiness evidence, and then register any resulting Tasks through Scope governance.
|
||||
@@ -0,0 +1,85 @@
|
||||
---
|
||||
title: "3DARCH-FT-7 — Integrated local runtime with persistence and health checks"
|
||||
description: "Enable developers to start the browser workplace, real-time backend, and database as one local environment and determine whether each service is healthy."
|
||||
---
|
||||
|
||||
# Integrated local runtime with persistence and health checks
|
||||
|
||||
| Feature | Parent Epic | Delivery status | Status source | Owner | Approved for Solution |
|
||||
|---|---|---|---|---|---|
|
||||
| `3DARCH-FT-7` | [3DARCH-EP-1 — Engineering Platform, Quality, and Operability](../../3darch-ep-1.md) | `IN_BACKLOG` | `EXACT` | 3D Architecture Wizzard team | No |
|
||||
|
||||
## Description
|
||||
|
||||
Enable developers to start the browser workplace, real-time backend, and database as one local environment and determine whether each service is healthy.
|
||||
|
||||
## User or operator problem
|
||||
|
||||
Developers need the browser client, backend, and database to start together with visible dependency health.
|
||||
|
||||
## Expected value
|
||||
|
||||
Provides a repeatable integration environment and shortens diagnosis of startup or dependency failures.
|
||||
|
||||
## Scope
|
||||
|
||||
Includes coordinated local startup for frontend, backend, and PostgreSQL plus storage, ordering, and health checks.
|
||||
|
||||
### Exclusions
|
||||
|
||||
- End-user product behavior and solution or release authorization are outside these engineering Features.
|
||||
|
||||
## Acceptance outcomes
|
||||
|
||||
- [ ] One local workflow starts the frontend, backend, and PostgreSQL dependencies.
|
||||
- [ ] Service ordering and persistent database storage are declared.
|
||||
- [ ] Frontend, backend, and database health checks expose startup failure.
|
||||
|
||||
## Dependencies
|
||||
|
||||
- [3DARCH-FT-1 — Reproducible monorepo development workspace](./3darch-ft-1.md)
|
||||
- [3DARCH-FT-6 — Repeatable database schema lifecycle](./3darch-ft-6.md)
|
||||
|
||||
## Risks
|
||||
|
||||
- Service health can appear green while a dependency or browser route remains unusable.
|
||||
|
||||
## Human approval
|
||||
|
||||
Linas approved this Feature for documentation on 2026-09-02T10:40:43.220Z. It is **not Approved for Solution** and has no implementation approval.
|
||||
|
||||
- [Documentation decision](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201)
|
||||
|
||||
## Delivery status evidence
|
||||
|
||||
The Feature was separately registered at `IN_BACKLOG` as an accepted catalogue boundary. This records backlog retention, not design or delivery progress.
|
||||
|
||||
- Event: Catalogue registration
|
||||
- Actor and authority: Linas — Human project team member
|
||||
- Reason: The Feature catalogue was accepted for governed documentation and retained in the backlog.
|
||||
- [Status evidence](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201)
|
||||
|
||||
## Architecture traceability
|
||||
|
||||
- Requirements: none derived.
|
||||
- Readiness: Not started.
|
||||
|
||||
Architecture solution work must not begin until a separate human **Approved for Solution** decision is recorded.
|
||||
|
||||
## Tasks
|
||||
|
||||
[Review the Tasks group](./3darch-ft-7/tasks.md). No canonical implementation Tasks have been defined.
|
||||
|
||||
## Original source
|
||||
|
||||
- [Discord – Scope – Linas: original Feature request](https://discord.com/channels/1518726359512387766/1543925247361814568/1544647879111483562)
|
||||
- [Discord – Scope – Linas: proceed with documented mapping](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201)
|
||||
|
||||
### Legacy implementation evidence
|
||||
|
||||
The Feature boundary was mined from legacy revision `c0ced47ecaf4426f47e5c2e4868677f7144b951a`.
|
||||
|
||||
- [`docker-compose.yml`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/docker-compose.yml)
|
||||
- [`apps/nebula/Dockerfile`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/Dockerfile)
|
||||
- [`apps/singularity/Dockerfile`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/Dockerfile)
|
||||
- [`apps/singularity/src/routes/health.routes.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/routes/health.routes.ts)
|
||||
@@ -0,0 +1,8 @@
|
||||
---
|
||||
title: "3DARCH-FT-7 Tasks"
|
||||
description: "Review canonical implementation Tasks governed beneath 3DARCH-FT-7."
|
||||
---
|
||||
|
||||
# Review 3DARCH-FT-7 Tasks
|
||||
|
||||
No canonical implementation Tasks have been defined for [3DARCH-FT-7](../3darch-ft-7.md). Architecture must first receive a separate human **Approved for Solution** decision, derive requirements and readiness evidence, and then register any resulting Tasks through Scope governance.
|
||||
@@ -0,0 +1,89 @@
|
||||
---
|
||||
title: "3DARCH-FT-8 — Package, deploy, and health-check workplace services"
|
||||
description: "Enable operators to build versionable frontend/backend images, package Kubernetes deployment configuration, and admit only healthy services to traffic."
|
||||
---
|
||||
|
||||
# Package, deploy, and health-check workplace services
|
||||
|
||||
| Feature | Parent Epic | Delivery status | Status source | Owner | Approved for Solution |
|
||||
|---|---|---|---|---|---|
|
||||
| `3DARCH-FT-8` | [3DARCH-EP-1 — Engineering Platform, Quality, and Operability](../../3darch-ep-1.md) | `IN_BACKLOG` | `EXACT` | 3D Architecture Wizzard team | No |
|
||||
|
||||
## Description
|
||||
|
||||
Enable operators to build versionable frontend/backend images, package Kubernetes deployment configuration, and admit only healthy services to traffic.
|
||||
|
||||
## User or operator 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.
|
||||
|
||||
## Dependencies
|
||||
|
||||
- [3DARCH-FT-1 — Reproducible monorepo development workspace](./3darch-ft-1.md)
|
||||
- [3DARCH-FT-3 — Automated multi-layer quality verification](./3darch-ft-3.md)
|
||||
- [3DARCH-FT-6 — Repeatable database schema lifecycle](./3darch-ft-6.md)
|
||||
|
||||
## Risks
|
||||
|
||||
- Legacy packaging and deployment assumptions require validation against the target runtime before release.
|
||||
|
||||
## Human approval
|
||||
|
||||
Linas approved this Feature for documentation on 2026-09-02T10:40:43.220Z. It is **not Approved for Solution** and has no implementation approval.
|
||||
|
||||
- [Documentation decision](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201)
|
||||
|
||||
## Delivery status evidence
|
||||
|
||||
The Feature was separately registered at `IN_BACKLOG` as an accepted catalogue boundary. This records backlog retention, not design or delivery progress.
|
||||
|
||||
- Event: Catalogue registration
|
||||
- Actor and authority: Linas — Human project team member
|
||||
- Reason: The Feature catalogue was accepted for governed documentation and retained in the backlog.
|
||||
- [Status evidence](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201)
|
||||
|
||||
## Architecture traceability
|
||||
|
||||
- Requirements: none derived.
|
||||
- Readiness: Not started.
|
||||
|
||||
Architecture solution work must not begin until a separate human **Approved for Solution** decision is recorded.
|
||||
|
||||
## Tasks
|
||||
|
||||
[Review the Tasks group](./3darch-ft-8/tasks.md). No canonical implementation Tasks have been defined.
|
||||
|
||||
## Original source
|
||||
|
||||
- [Discord – Scope – Linas: original Feature request](https://discord.com/channels/1518726359512387766/1543925247361814568/1544647879111483562)
|
||||
- [Discord – Scope – Linas: proceed with documented mapping](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201)
|
||||
|
||||
### Legacy implementation evidence
|
||||
|
||||
The Feature boundary was mined from legacy revision `c0ced47ecaf4426f47e5c2e4868677f7144b951a`.
|
||||
|
||||
- [`Taskfile.yml`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/Taskfile.yml)
|
||||
- [`apps/nebula/Dockerfile`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/Dockerfile)
|
||||
- [`apps/singularity/Dockerfile`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/Dockerfile)
|
||||
- [`apps/singularity/src/routes/health.routes.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/routes/health.routes.ts)
|
||||
- [`helm/`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/helm/)
|
||||
@@ -0,0 +1,8 @@
|
||||
---
|
||||
title: "3DARCH-FT-8 Tasks"
|
||||
description: "Review canonical implementation Tasks governed beneath 3DARCH-FT-8."
|
||||
---
|
||||
|
||||
# Review 3DARCH-FT-8 Tasks
|
||||
|
||||
No canonical implementation Tasks have been defined for [3DARCH-FT-8](../3darch-ft-8.md). Architecture must first receive a separate human **Approved for Solution** decision, derive requirements and readiness evidence, and then register any resulting Tasks through Scope governance.
|
||||
@@ -1,13 +1,13 @@
|
||||
---
|
||||
title: "3DARCH-EP-10 — Reopen and Continue Previous Design Projects"
|
||||
description: "Use this approved Epic boundary to assess related Features and outcomes."
|
||||
description: "Review the governed outcome and child Features for 3DARCH-EP-10."
|
||||
---
|
||||
|
||||
# Reopen and Continue Previous Design Projects
|
||||
|
||||
| Epic | Delivery status | Status source | Owner | Approved for Solution |
|
||||
|---|---|---|---|---|
|
||||
| `3DARCH-EP-10` | `IN_BACKLOG` | `EXACT` | 3D Architecture Wizzard team | No |
|
||||
| `3DARCH-EP-10` | `IN_BACKLOG` | `DERIVED` | 3D Architecture Wizzard team | No |
|
||||
|
||||
## Goal
|
||||
|
||||
@@ -27,7 +27,10 @@ Generated work loses value if it cannot be recognized, reopened, and continued i
|
||||
|
||||
## Features
|
||||
|
||||
No child Features have been defined or approved. Feature discovery must preserve this Epic boundary and requires a separate human **Approved for Solution** decision before Architecture solution work begins.
|
||||
- [3DARCH-FT-31 — Browse and recognize saved apartment projects](./3darch-ep-10/features/3darch-ft-31.md)
|
||||
- [3DARCH-FT-32 — Reopen a saved project into the active workspace](./3darch-ep-10/features/3darch-ft-32.md)
|
||||
|
||||
These Features are approved for documentation only. Each remains outside Architecture solution work until a separate human **Approved for Solution** decision is recorded.
|
||||
|
||||
## Original source
|
||||
|
||||
@@ -36,7 +39,7 @@ No child Features have been defined or approved. Feature discovery must preserve
|
||||
|
||||
### Legacy implementation evidence
|
||||
|
||||
The approved catalogue was mined from legacy revision `c0ced47ecaf4426f47e5c2e4868677f7144b951a`.
|
||||
The catalogue was mined from legacy revision `c0ced47ecaf4426f47e5c2e4868677f7144b951a`.
|
||||
|
||||
- [`apps/archwiz-portal/src/components/LeftSidebar.tsx`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-portal/src/components/LeftSidebar.tsx)
|
||||
- [`apps/archwiz-portal/src/api/client.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-portal/src/api/client.ts)
|
||||
|
||||
@@ -1,8 +1,13 @@
|
||||
---
|
||||
title: "3DARCH-EP-10 Features"
|
||||
description: "Review Features governed by 3DARCH-EP-10."
|
||||
description: "Review the governed Features beneath 3DARCH-EP-10."
|
||||
---
|
||||
|
||||
# Review 3DARCH-EP-10 Features
|
||||
|
||||
No child Features have been defined or approved for this Epic. Feature discovery must preserve the [3DARCH-EP-10 boundary](../3darch-ep-10.md) and requires a separate human **Approved for Solution** decision before Architecture solution work begins.
|
||||
These Features decompose the [3DARCH-EP-10 boundary](../3darch-ep-10.md) into non-overlapping user and operator outcomes grounded in the frozen legacy revision.
|
||||
|
||||
- [3DARCH-FT-31 — Browse and recognize saved apartment projects](./features/3darch-ft-31.md)
|
||||
- [3DARCH-FT-32 — Reopen a saved project into the active workspace](./features/3darch-ft-32.md)
|
||||
|
||||
Documentation approval does not grant **Approved for Solution** or implementation approval.
|
||||
|
||||
@@ -0,0 +1,86 @@
|
||||
---
|
||||
title: "3DARCH-FT-31 — Browse and recognize saved apartment projects"
|
||||
description: "Enable a person to locate prior apartment concepts by meaningful summary information rather than remembering opaque project identifiers."
|
||||
---
|
||||
|
||||
# Browse and recognize saved apartment projects
|
||||
|
||||
| Feature | Parent Epic | Delivery status | Status source | Owner | Approved for Solution |
|
||||
|---|---|---|---|---|---|
|
||||
| `3DARCH-FT-31` | [3DARCH-EP-10 — Reopen and Continue Previous Design Projects](../../3darch-ep-10.md) | `IN_BACKLOG` | `EXACT` | 3D Architecture Wizzard team | No |
|
||||
|
||||
## Description
|
||||
|
||||
Enable a person to locate prior apartment concepts by meaningful summary information rather than remembering opaque project identifiers.
|
||||
|
||||
## User or operator problem
|
||||
|
||||
A person needs to recognize and select earlier apartment concepts without remembering opaque identifiers.
|
||||
|
||||
## Expected value
|
||||
|
||||
Makes completed work discoverable and distinguishable for later continuation.
|
||||
|
||||
## Scope
|
||||
|
||||
Includes automatic/refreshable completed-project listing, meaningful summaries, newest-first ordering, current selection, and malformed-entry filtering.
|
||||
|
||||
### Exclusions
|
||||
|
||||
- Sharing, deletion, ownership, authentication, and collaboration are excluded.
|
||||
|
||||
## Acceptance outcomes
|
||||
|
||||
- [ ] Completed projects load automatically and can be refreshed on demand.
|
||||
- [ ] Each entry provides enough context to distinguish it, including name, area, and creation date.
|
||||
- [ ] Projects are presented newest first.
|
||||
- [ ] The current project is visually distinguishable from other entries.
|
||||
- [ ] Incomplete or unreadable generation folders are not presented as completed projects, while service failure remains distinguishable from an empty history.
|
||||
|
||||
## Dependencies
|
||||
|
||||
- [3DARCH-FT-26 — Generate a complete apartment concept from a natural-language brief](../../3darch-ep-7/features/3darch-ft-26.md)
|
||||
|
||||
## Risks
|
||||
|
||||
- Filesystem-backed projects have no implemented authentication, ownership, authorization, sharing, or deletion boundary.
|
||||
|
||||
## Human approval
|
||||
|
||||
Linas approved this Feature for documentation on 2026-09-02T10:40:43.220Z. It is **not Approved for Solution** and has no implementation approval.
|
||||
|
||||
- [Documentation decision](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201)
|
||||
|
||||
## Delivery status evidence
|
||||
|
||||
The Feature was separately registered at `IN_BACKLOG` as an accepted catalogue boundary. This records backlog retention, not design or delivery progress.
|
||||
|
||||
- Event: Catalogue registration
|
||||
- Actor and authority: Linas — Human project team member
|
||||
- Reason: The Feature catalogue was accepted for governed documentation and retained in the backlog.
|
||||
- [Status evidence](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201)
|
||||
|
||||
## Architecture traceability
|
||||
|
||||
- Requirements: none derived.
|
||||
- Readiness: Not started.
|
||||
|
||||
Architecture solution work must not begin until a separate human **Approved for Solution** decision is recorded.
|
||||
|
||||
## Tasks
|
||||
|
||||
[Review the Tasks group](./3darch-ft-31/tasks.md). No canonical implementation Tasks have been defined.
|
||||
|
||||
## Original source
|
||||
|
||||
- [Discord – Scope – Linas: original Feature request](https://discord.com/channels/1518726359512387766/1543925247361814568/1544647879111483562)
|
||||
- [Discord – Scope – Linas: proceed with documented mapping](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201)
|
||||
|
||||
### Legacy implementation evidence
|
||||
|
||||
The Feature boundary was mined from legacy revision `c0ced47ecaf4426f47e5c2e4868677f7144b951a`.
|
||||
|
||||
- [`apps/archwiz-portal/src/components/LeftSidebar.tsx`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-portal/src/components/LeftSidebar.tsx)
|
||||
- [`apps/archwiz-portal/src/api/client.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-portal/src/api/client.ts)
|
||||
- [`apps/archwiz-forge/src/routes/projects.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-forge/src/routes/projects.ts)
|
||||
- [`apps/archwiz-forge/src/test/routes/projects.test.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-forge/src/test/routes/projects.test.ts)
|
||||
@@ -0,0 +1,8 @@
|
||||
---
|
||||
title: "3DARCH-FT-31 Tasks"
|
||||
description: "Review canonical implementation Tasks governed beneath 3DARCH-FT-31."
|
||||
---
|
||||
|
||||
# Review 3DARCH-FT-31 Tasks
|
||||
|
||||
No canonical implementation Tasks have been defined for [3DARCH-FT-31](../3darch-ft-31.md). Architecture must first receive a separate human **Approved for Solution** decision, derive requirements and readiness evidence, and then register any resulting Tasks through Scope governance.
|
||||
@@ -0,0 +1,88 @@
|
||||
---
|
||||
title: "3DARCH-FT-32 — Reopen a saved project into the active workspace"
|
||||
description: "Enable a person to restore a selected apartment as active work so it can be reviewed and refined instead of regenerated."
|
||||
---
|
||||
|
||||
# Reopen a saved project into the active workspace
|
||||
|
||||
| Feature | Parent Epic | Delivery status | Status source | Owner | Approved for Solution |
|
||||
|---|---|---|---|---|---|
|
||||
| `3DARCH-FT-32` | [3DARCH-EP-10 — Reopen and Continue Previous Design Projects](../../3darch-ep-10.md) | `IN_BACKLOG` | `EXACT` | 3D Architecture Wizzard team | No |
|
||||
|
||||
## Description
|
||||
|
||||
Enable a person to restore a selected apartment as active work so it can be reviewed and refined instead of regenerated.
|
||||
|
||||
## User or operator problem
|
||||
|
||||
A person needs to restore a saved apartment as active work for continued review and refinement.
|
||||
|
||||
## Expected value
|
||||
|
||||
Restores project identity, scene, context, and review controls without regenerating the design.
|
||||
|
||||
## Scope
|
||||
|
||||
Includes retrieval by project identity, transactional workspace replacement, restored context/review modes, edit continuity, and visible load failure.
|
||||
|
||||
### Exclusions
|
||||
|
||||
- Sharing, deletion, ownership, authentication, and collaboration are excluded.
|
||||
|
||||
## Acceptance outcomes
|
||||
|
||||
- [ ] Selecting a known project retrieves its complete persisted final scene by project identity.
|
||||
- [ ] The scene and project identity become the active workspace without retaining stale data from the prior selection.
|
||||
- [ ] Project context and both review modes are available after reopening.
|
||||
- [ ] The reopened identity enables subsequent natural-language refinement of the same project.
|
||||
- [ ] Missing, unreadable, or malformed projects produce a visible failure and leave the last valid workspace intact.
|
||||
|
||||
## Dependencies
|
||||
|
||||
- [3DARCH-FT-28 — Inspect the apartment from an overview](../../3darch-ep-8/features/3darch-ft-28.md)
|
||||
- [3DARCH-FT-31 — Browse and recognize saved apartment projects](./3darch-ft-31.md)
|
||||
|
||||
## Risks
|
||||
|
||||
- Missing or malformed project data can replace valid workspace state unless loading remains transactional.
|
||||
|
||||
## Human approval
|
||||
|
||||
Linas approved this Feature for documentation on 2026-09-02T10:40:43.220Z. It is **not Approved for Solution** and has no implementation approval.
|
||||
|
||||
- [Documentation decision](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201)
|
||||
|
||||
## Delivery status evidence
|
||||
|
||||
The Feature was separately registered at `IN_BACKLOG` as an accepted catalogue boundary. This records backlog retention, not design or delivery progress.
|
||||
|
||||
- Event: Catalogue registration
|
||||
- Actor and authority: Linas — Human project team member
|
||||
- Reason: The Feature catalogue was accepted for governed documentation and retained in the backlog.
|
||||
- [Status evidence](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201)
|
||||
|
||||
## Architecture traceability
|
||||
|
||||
- Requirements: none derived.
|
||||
- Readiness: Not started.
|
||||
|
||||
Architecture solution work must not begin until a separate human **Approved for Solution** decision is recorded.
|
||||
|
||||
## Tasks
|
||||
|
||||
[Review the Tasks group](./3darch-ft-32/tasks.md). No canonical implementation Tasks have been defined.
|
||||
|
||||
## Original source
|
||||
|
||||
- [Discord – Scope – Linas: original Feature request](https://discord.com/channels/1518726359512387766/1543925247361814568/1544647879111483562)
|
||||
- [Discord – Scope – Linas: proceed with documented mapping](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201)
|
||||
|
||||
### Legacy implementation evidence
|
||||
|
||||
The Feature boundary was mined from legacy revision `c0ced47ecaf4426f47e5c2e4868677f7144b951a`.
|
||||
|
||||
- [`apps/archwiz-portal/src/components/LeftSidebar.tsx`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-portal/src/components/LeftSidebar.tsx)
|
||||
- [`apps/archwiz-portal/src/api/client.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-portal/src/api/client.ts)
|
||||
- [`apps/archwiz-portal/src/store/useAppStore.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-portal/src/store/useAppStore.ts)
|
||||
- [`apps/archwiz-forge/src/routes/projects.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-forge/src/routes/projects.ts)
|
||||
- [`apps/archwiz-portal/src/components/RightSidebar.tsx`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-portal/src/components/RightSidebar.tsx)
|
||||
@@ -0,0 +1,8 @@
|
||||
---
|
||||
title: "3DARCH-FT-32 Tasks"
|
||||
description: "Review canonical implementation Tasks governed beneath 3DARCH-FT-32."
|
||||
---
|
||||
|
||||
# Review 3DARCH-FT-32 Tasks
|
||||
|
||||
No canonical implementation Tasks have been defined for [3DARCH-FT-32](../3darch-ft-32.md). Architecture must first receive a separate human **Approved for Solution** decision, derive requirements and readiness evidence, and then register any resulting Tasks through Scope governance.
|
||||
@@ -1,13 +1,13 @@
|
||||
---
|
||||
title: "3DARCH-EP-2 — Secure Access and Personal Setup"
|
||||
description: "Use this approved Epic boundary to assess related Features and outcomes."
|
||||
description: "Review the governed outcome and child Features for 3DARCH-EP-2."
|
||||
---
|
||||
|
||||
# Secure Access and Personal Setup
|
||||
|
||||
| Epic | Delivery status | Status source | Owner | Approved for Solution |
|
||||
|---|---|---|---|---|
|
||||
| `3DARCH-EP-2` | `IN_BACKLOG` | `EXACT` | 3D Architecture Wizzard team | No |
|
||||
| `3DARCH-EP-2` | `IN_BACKLOG` | `DERIVED` | 3D Architecture Wizzard team | No |
|
||||
|
||||
## Goal
|
||||
|
||||
@@ -27,7 +27,12 @@ A person needs a trusted way to enter the workplace and establish an identity an
|
||||
|
||||
## Features
|
||||
|
||||
No child Features have been defined or approved. Feature discovery must preserve this Epic boundary and requires a separate human **Approved for Solution** decision before Architecture solution work begins.
|
||||
- [3DARCH-FT-9 — Enterprise sign-in and session continuity](./3darch-ep-2/features/3darch-ft-9.md)
|
||||
- [3DARCH-FT-10 — First-entry avatar onboarding](./3darch-ep-2/features/3darch-ft-10.md)
|
||||
- [3DARCH-FT-11 — Review profile and change workplace appearance](./3darch-ep-2/features/3darch-ft-11.md)
|
||||
- [3DARCH-FT-12 — Discover and retain personal controls](./3darch-ep-2/features/3darch-ft-12.md)
|
||||
|
||||
These Features are approved for documentation only. Each remains outside Architecture solution work until a separate human **Approved for Solution** decision is recorded.
|
||||
|
||||
## Original source
|
||||
|
||||
@@ -36,7 +41,7 @@ No child Features have been defined or approved. Feature discovery must preserve
|
||||
|
||||
### Legacy implementation evidence
|
||||
|
||||
The approved catalogue was mined from legacy revision `c0ced47ecaf4426f47e5c2e4868677f7144b951a`.
|
||||
The catalogue was mined from legacy revision `c0ced47ecaf4426f47e5c2e4868677f7144b951a`.
|
||||
|
||||
- [`apps/singularity/src/routes/auth.routes.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/routes/auth.routes.ts)
|
||||
- [`apps/singularity/src/config/auth.config.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/config/auth.config.ts)
|
||||
|
||||
@@ -1,8 +1,15 @@
|
||||
---
|
||||
title: "3DARCH-EP-2 Features"
|
||||
description: "Review Features governed by 3DARCH-EP-2."
|
||||
description: "Review the governed Features beneath 3DARCH-EP-2."
|
||||
---
|
||||
|
||||
# Review 3DARCH-EP-2 Features
|
||||
|
||||
No child Features have been defined or approved for this Epic. Feature discovery must preserve the [3DARCH-EP-2 boundary](../3darch-ep-2.md) and requires a separate human **Approved for Solution** decision before Architecture solution work begins.
|
||||
These Features decompose the [3DARCH-EP-2 boundary](../3darch-ep-2.md) into non-overlapping user and operator outcomes grounded in the frozen legacy revision.
|
||||
|
||||
- [3DARCH-FT-9 — Enterprise sign-in and session continuity](./features/3darch-ft-9.md)
|
||||
- [3DARCH-FT-10 — First-entry avatar onboarding](./features/3darch-ft-10.md)
|
||||
- [3DARCH-FT-11 — Review profile and change workplace appearance](./features/3darch-ft-11.md)
|
||||
- [3DARCH-FT-12 — Discover and retain personal controls](./features/3darch-ft-12.md)
|
||||
|
||||
Documentation approval does not grant **Approved for Solution** or implementation approval.
|
||||
|
||||
@@ -0,0 +1,85 @@
|
||||
---
|
||||
title: "3DARCH-FT-10 — First-entry avatar onboarding"
|
||||
description: "Enable a first-time user to preview, rotate, zoom, choose, and persist an in-world avatar before entering the workplace."
|
||||
---
|
||||
|
||||
# First-entry avatar onboarding
|
||||
|
||||
| Feature | Parent Epic | Delivery status | Status source | Owner | Approved for Solution |
|
||||
|---|---|---|---|---|---|
|
||||
| `3DARCH-FT-10` | [3DARCH-EP-2 — Secure Access and Personal Setup](../../3darch-ep-2.md) | `IN_BACKLOG` | `EXACT` | 3D Architecture Wizzard team | No |
|
||||
|
||||
## Description
|
||||
|
||||
Enable a first-time user to preview, rotate, zoom, choose, and persist an in-world avatar before entering the workplace.
|
||||
|
||||
## User or operator problem
|
||||
|
||||
First-time users need to choose an embodied workplace identity before entering the shared environment.
|
||||
|
||||
## Expected value
|
||||
|
||||
Ensures every new participant enters with a persisted, recognizable in-world representation.
|
||||
|
||||
## Scope
|
||||
|
||||
Includes first-entry gating, avatar preview controls, selection persistence, onboarding completion, and entry with the selected avatar.
|
||||
|
||||
### Exclusions
|
||||
|
||||
- Administrator access, account recovery, display-name editing, and unwired self-service logout are excluded.
|
||||
|
||||
## Acceptance outcomes
|
||||
|
||||
- [ ] An unonboarded user cannot enter the workplace before completing avatar selection.
|
||||
- [ ] Available avatars can be previewed from multiple viewing angles.
|
||||
- [ ] Confirmation persists the avatar and onboarding completion.
|
||||
- [ ] The selected avatar appears when the user enters.
|
||||
|
||||
## Dependencies
|
||||
|
||||
- [3DARCH-FT-9 — Enterprise sign-in and session continuity](./3darch-ft-9.md)
|
||||
|
||||
## Risks
|
||||
|
||||
- Reselecting the existing avatar can fail to mark onboarding complete.
|
||||
|
||||
## Human approval
|
||||
|
||||
Linas approved this Feature for documentation on 2026-09-02T10:40:43.220Z. It is **not Approved for Solution** and has no implementation approval.
|
||||
|
||||
- [Documentation decision](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201)
|
||||
|
||||
## Delivery status evidence
|
||||
|
||||
The Feature was separately registered at `IN_BACKLOG` as an accepted catalogue boundary. This records backlog retention, not design or delivery progress.
|
||||
|
||||
- Event: Catalogue registration
|
||||
- Actor and authority: Linas — Human project team member
|
||||
- Reason: The Feature catalogue was accepted for governed documentation and retained in the backlog.
|
||||
- [Status evidence](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201)
|
||||
|
||||
## Architecture traceability
|
||||
|
||||
- Requirements: none derived.
|
||||
- Readiness: Not started.
|
||||
|
||||
Architecture solution work must not begin until a separate human **Approved for Solution** decision is recorded.
|
||||
|
||||
## Tasks
|
||||
|
||||
[Review the Tasks group](./3darch-ft-10/tasks.md). No canonical implementation Tasks have been defined.
|
||||
|
||||
## Original source
|
||||
|
||||
- [Discord – Scope – Linas: original Feature request](https://discord.com/channels/1518726359512387766/1543925247361814568/1544647879111483562)
|
||||
- [Discord – Scope – Linas: proceed with documented mapping](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201)
|
||||
|
||||
### Legacy implementation evidence
|
||||
|
||||
The Feature boundary was mined from legacy revision `c0ced47ecaf4426f47e5c2e4868677f7144b951a`.
|
||||
|
||||
- [`apps/nebula/src/App.tsx`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/App.tsx)
|
||||
- [`apps/nebula/src/components/CharacterSelection/CharacterSelection.tsx`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/CharacterSelection/CharacterSelection.tsx)
|
||||
- [`apps/singularity/src/routes/auth.routes.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/routes/auth.routes.ts)
|
||||
- [`apps/nebula/src/test/components/CharacterSelection.test.tsx`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/test/components/CharacterSelection.test.tsx)
|
||||
@@ -0,0 +1,8 @@
|
||||
---
|
||||
title: "3DARCH-FT-10 Tasks"
|
||||
description: "Review canonical implementation Tasks governed beneath 3DARCH-FT-10."
|
||||
---
|
||||
|
||||
# Review 3DARCH-FT-10 Tasks
|
||||
|
||||
No canonical implementation Tasks have been defined for [3DARCH-FT-10](../3darch-ft-10.md). Architecture must first receive a separate human **Approved for Solution** decision, derive requirements and readiness evidence, and then register any resulting Tasks through Scope governance.
|
||||
@@ -0,0 +1,85 @@
|
||||
---
|
||||
title: "3DARCH-FT-11 — Review profile and change workplace appearance"
|
||||
description: "Enable a returning user to review the enterprise identity represented in the workplace and replace the visible avatar without repeating onboarding."
|
||||
---
|
||||
|
||||
# Review profile and change workplace appearance
|
||||
|
||||
| Feature | Parent Epic | Delivery status | Status source | Owner | Approved for Solution |
|
||||
|---|---|---|---|---|---|
|
||||
| `3DARCH-FT-11` | [3DARCH-EP-2 — Secure Access and Personal Setup](../../3darch-ep-2.md) | `IN_BACKLOG` | `EXACT` | 3D Architecture Wizzard team | No |
|
||||
|
||||
## Description
|
||||
|
||||
Enable a returning user to review the enterprise identity represented in the workplace and replace the visible avatar without repeating onboarding.
|
||||
|
||||
## User or operator problem
|
||||
|
||||
Returning users need to inspect their enterprise identity and change the avatar coworkers see.
|
||||
|
||||
## Expected value
|
||||
|
||||
Lets users keep their visible workplace representation current without repeating onboarding.
|
||||
|
||||
## Scope
|
||||
|
||||
Includes profile identity display, reopening avatar selection, persistence of the replacement, and propagation to other participants.
|
||||
|
||||
### Exclusions
|
||||
|
||||
- Administrator access, account recovery, display-name editing, and unwired self-service logout are excluded.
|
||||
|
||||
## Acceptance outcomes
|
||||
|
||||
- [ ] Settings display the authenticated profile identity.
|
||||
- [ ] The user can reopen avatar selection from the profile area.
|
||||
- [ ] A changed avatar persists and is rendered to other participants.
|
||||
|
||||
## Dependencies
|
||||
|
||||
- [3DARCH-FT-9 — Enterprise sign-in and session continuity](./3darch-ft-9.md)
|
||||
- [3DARCH-FT-10 — First-entry avatar onboarding](./3darch-ft-10.md)
|
||||
|
||||
## Risks
|
||||
|
||||
- Unavailable avatar assets or delayed propagation can produce inconsistent identity across clients.
|
||||
|
||||
## Human approval
|
||||
|
||||
Linas approved this Feature for documentation on 2026-09-02T10:40:43.220Z. It is **not Approved for Solution** and has no implementation approval.
|
||||
|
||||
- [Documentation decision](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201)
|
||||
|
||||
## Delivery status evidence
|
||||
|
||||
The Feature was separately registered at `IN_BACKLOG` as an accepted catalogue boundary. This records backlog retention, not design or delivery progress.
|
||||
|
||||
- Event: Catalogue registration
|
||||
- Actor and authority: Linas — Human project team member
|
||||
- Reason: The Feature catalogue was accepted for governed documentation and retained in the backlog.
|
||||
- [Status evidence](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201)
|
||||
|
||||
## Architecture traceability
|
||||
|
||||
- Requirements: none derived.
|
||||
- Readiness: Not started.
|
||||
|
||||
Architecture solution work must not begin until a separate human **Approved for Solution** decision is recorded.
|
||||
|
||||
## Tasks
|
||||
|
||||
[Review the Tasks group](./3darch-ft-11/tasks.md). No canonical implementation Tasks have been defined.
|
||||
|
||||
## Original source
|
||||
|
||||
- [Discord – Scope – Linas: original Feature request](https://discord.com/channels/1518726359512387766/1543925247361814568/1544647879111483562)
|
||||
- [Discord – Scope – Linas: proceed with documented mapping](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201)
|
||||
|
||||
### Legacy implementation evidence
|
||||
|
||||
The Feature boundary was mined from legacy revision `c0ced47ecaf4426f47e5c2e4868677f7144b951a`.
|
||||
|
||||
- [`apps/nebula/src/components/SettingsModal/parts/Profile/Profile.tsx`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/SettingsModal/parts/Profile/Profile.tsx)
|
||||
- [`apps/nebula/src/components/CharacterSelection/CharacterSelection.tsx`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/CharacterSelection/CharacterSelection.tsx)
|
||||
- [`apps/nebula/src/components/Player.tsx`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/Player.tsx)
|
||||
- [`apps/singularity/src/routes/auth.routes.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/routes/auth.routes.ts)
|
||||
@@ -0,0 +1,8 @@
|
||||
---
|
||||
title: "3DARCH-FT-11 Tasks"
|
||||
description: "Review canonical implementation Tasks governed beneath 3DARCH-FT-11."
|
||||
---
|
||||
|
||||
# Review 3DARCH-FT-11 Tasks
|
||||
|
||||
No canonical implementation Tasks have been defined for [3DARCH-FT-11](../3darch-ft-11.md). Architecture must first receive a separate human **Approved for Solution** decision, derive requirements and readiness evidence, and then register any resulting Tasks through Scope governance.
|
||||
@@ -0,0 +1,86 @@
|
||||
---
|
||||
title: "3DARCH-FT-12 — Discover and retain personal controls"
|
||||
description: "Enable a user to learn the workplace controls, prevent movement controls from interfering with text/settings interaction, and retain mouse sensitivity across visits."
|
||||
---
|
||||
|
||||
# Discover and retain personal controls
|
||||
|
||||
| Feature | Parent Epic | Delivery status | Status source | Owner | Approved for Solution |
|
||||
|---|---|---|---|---|---|
|
||||
| `3DARCH-FT-12` | [3DARCH-EP-2 — Secure Access and Personal Setup](../../3darch-ep-2.md) | `IN_BACKLOG` | `EXACT` | 3D Architecture Wizzard team | No |
|
||||
|
||||
## Description
|
||||
|
||||
Enable a user to learn the workplace controls, prevent movement controls from interfering with text/settings interaction, and retain mouse sensitivity across visits.
|
||||
|
||||
## User or operator problem
|
||||
|
||||
Users need discoverable controls that do not interfere with typing and settings, with sensitivity retained across visits.
|
||||
|
||||
## Expected value
|
||||
|
||||
Improves control discoverability and preserves a usable personal interaction setup.
|
||||
|
||||
## Scope
|
||||
|
||||
Includes the controls guide, movement suppression during text/settings input, mouse-sensitivity adjustment, persistence, and save-failure feedback.
|
||||
|
||||
### Exclusions
|
||||
|
||||
- Administrator access, account recovery, display-name editing, and unwired self-service logout are excluded.
|
||||
|
||||
## Acceptance outcomes
|
||||
|
||||
- [ ] A visible controls guide explains supported keyboard actions.
|
||||
- [ ] Typing or using settings does not trigger movement actions.
|
||||
- [ ] Mouse sensitivity can be adjusted and restored in a later session.
|
||||
- [ ] Save failures are surfaced rather than silently discarded.
|
||||
|
||||
## Dependencies
|
||||
|
||||
- [3DARCH-FT-9 — Enterprise sign-in and session continuity](./3darch-ft-9.md)
|
||||
|
||||
## Risks
|
||||
|
||||
- Settings persistence failures can leave the displayed sensitivity different from the retained value.
|
||||
|
||||
## Human approval
|
||||
|
||||
Linas approved this Feature for documentation on 2026-09-02T10:40:43.220Z. It is **not Approved for Solution** and has no implementation approval.
|
||||
|
||||
- [Documentation decision](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201)
|
||||
|
||||
## Delivery status evidence
|
||||
|
||||
The Feature was separately registered at `IN_BACKLOG` as an accepted catalogue boundary. This records backlog retention, not design or delivery progress.
|
||||
|
||||
- Event: Catalogue registration
|
||||
- Actor and authority: Linas — Human project team member
|
||||
- Reason: The Feature catalogue was accepted for governed documentation and retained in the backlog.
|
||||
- [Status evidence](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201)
|
||||
|
||||
## Architecture traceability
|
||||
|
||||
- Requirements: none derived.
|
||||
- Readiness: Not started.
|
||||
|
||||
Architecture solution work must not begin until a separate human **Approved for Solution** decision is recorded.
|
||||
|
||||
## Tasks
|
||||
|
||||
[Review the Tasks group](./3darch-ft-12/tasks.md). No canonical implementation Tasks have been defined.
|
||||
|
||||
## Original source
|
||||
|
||||
- [Discord – Scope – Linas: original Feature request](https://discord.com/channels/1518726359512387766/1543925247361814568/1544647879111483562)
|
||||
- [Discord – Scope – Linas: proceed with documented mapping](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201)
|
||||
|
||||
### Legacy implementation evidence
|
||||
|
||||
The Feature boundary was mined from legacy revision `c0ced47ecaf4426f47e5c2e4868677f7144b951a`.
|
||||
|
||||
- [`apps/nebula/src/components/ControlsLayout.tsx`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/ControlsLayout.tsx)
|
||||
- [`apps/nebula/src/components/SettingsModal/parts/Controls/Controls.tsx`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/SettingsModal/parts/Controls/Controls.tsx)
|
||||
- [`apps/nebula/src/stores/settingsStore.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/stores/settingsStore.ts)
|
||||
- [`apps/nebula/src/hooks/usePlayerCamera.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/hooks/usePlayerCamera.ts)
|
||||
- [`apps/singularity/src/routes/auth.routes.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/routes/auth.routes.ts)
|
||||
@@ -0,0 +1,8 @@
|
||||
---
|
||||
title: "3DARCH-FT-12 Tasks"
|
||||
description: "Review canonical implementation Tasks governed beneath 3DARCH-FT-12."
|
||||
---
|
||||
|
||||
# Review 3DARCH-FT-12 Tasks
|
||||
|
||||
No canonical implementation Tasks have been defined for [3DARCH-FT-12](../3darch-ft-12.md). Architecture must first receive a separate human **Approved for Solution** decision, derive requirements and readiness evidence, and then register any resulting Tasks through Scope governance.
|
||||
@@ -0,0 +1,86 @@
|
||||
---
|
||||
title: "3DARCH-FT-9 — Enterprise sign-in and session continuity"
|
||||
description: "Enable a user to enter through enterprise SSO, remain signed in through token refresh, and return to sign-in when the session cannot be recovered."
|
||||
---
|
||||
|
||||
# Enterprise sign-in and session continuity
|
||||
|
||||
| Feature | Parent Epic | Delivery status | Status source | Owner | Approved for Solution |
|
||||
|---|---|---|---|---|---|
|
||||
| `3DARCH-FT-9` | [3DARCH-EP-2 — Secure Access and Personal Setup](../../3darch-ep-2.md) | `IN_BACKLOG` | `EXACT` | 3D Architecture Wizzard team | No |
|
||||
|
||||
## Description
|
||||
|
||||
Enable a user to enter through enterprise SSO, remain signed in through token refresh, and return to sign-in when the session cannot be recovered.
|
||||
|
||||
## User or operator problem
|
||||
|
||||
Enterprise users need trusted access that survives normal token expiry without separate workplace credentials.
|
||||
|
||||
## Expected value
|
||||
|
||||
Provides secure session continuity and a single enterprise identity boundary for protected HTTP and real-time access.
|
||||
|
||||
## Scope
|
||||
|
||||
Includes enterprise OIDC redirect/callback, user upsert, protected cookies, token refresh, request recovery, and authenticated socket admission.
|
||||
|
||||
### Exclusions
|
||||
|
||||
- Administrator access, account recovery, display-name editing, and unwired self-service logout are excluded.
|
||||
|
||||
## Acceptance outcomes
|
||||
|
||||
- [ ] Successful SSO creates or updates the user and returns the user to the workplace.
|
||||
- [ ] Access and refresh credentials remain in protected cookies.
|
||||
- [ ] Expired access is refreshed once and queued requests resume after recovery.
|
||||
- [ ] Authenticated real-time connections reject invalid or duplicate sessions safely.
|
||||
|
||||
## Dependencies
|
||||
|
||||
- [3DARCH-FT-8 — Package, deploy, and health-check workplace services](../../3darch-ep-1/features/3darch-ft-8.md)
|
||||
|
||||
## Risks
|
||||
|
||||
- Duplicate-session handling redirects to a hard-coded legacy location and self-service sign-out is not wired in the client.
|
||||
|
||||
## Human approval
|
||||
|
||||
Linas approved this Feature for documentation on 2026-09-02T10:40:43.220Z. It is **not Approved for Solution** and has no implementation approval.
|
||||
|
||||
- [Documentation decision](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201)
|
||||
|
||||
## Delivery status evidence
|
||||
|
||||
The Feature was separately registered at `IN_BACKLOG` as an accepted catalogue boundary. This records backlog retention, not design or delivery progress.
|
||||
|
||||
- Event: Catalogue registration
|
||||
- Actor and authority: Linas — Human project team member
|
||||
- Reason: The Feature catalogue was accepted for governed documentation and retained in the backlog.
|
||||
- [Status evidence](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201)
|
||||
|
||||
## Architecture traceability
|
||||
|
||||
- Requirements: none derived.
|
||||
- Readiness: Not started.
|
||||
|
||||
Architecture solution work must not begin until a separate human **Approved for Solution** decision is recorded.
|
||||
|
||||
## Tasks
|
||||
|
||||
[Review the Tasks group](./3darch-ft-9/tasks.md). No canonical implementation Tasks have been defined.
|
||||
|
||||
## Original source
|
||||
|
||||
- [Discord – Scope – Linas: original Feature request](https://discord.com/channels/1518726359512387766/1543925247361814568/1544647879111483562)
|
||||
- [Discord – Scope – Linas: proceed with documented mapping](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201)
|
||||
|
||||
### Legacy implementation evidence
|
||||
|
||||
The Feature boundary was mined from legacy revision `c0ced47ecaf4426f47e5c2e4868677f7144b951a`.
|
||||
|
||||
- [`apps/singularity/src/routes/auth.routes.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/routes/auth.routes.ts)
|
||||
- [`apps/singularity/src/config/auth.config.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/config/auth.config.ts)
|
||||
- [`apps/nebula/src/hooks/useAuthRefresh.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/hooks/useAuthRefresh.ts)
|
||||
- [`apps/nebula/src/api.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/api.ts)
|
||||
- [`apps/singularity/src/socket-server/index.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/socket-server/index.ts)
|
||||
@@ -0,0 +1,8 @@
|
||||
---
|
||||
title: "3DARCH-FT-9 Tasks"
|
||||
description: "Review canonical implementation Tasks governed beneath 3DARCH-FT-9."
|
||||
---
|
||||
|
||||
# Review 3DARCH-FT-9 Tasks
|
||||
|
||||
No canonical implementation Tasks have been defined for [3DARCH-FT-9](../3darch-ft-9.md). Architecture must first receive a separate human **Approved for Solution** decision, derive requirements and readiness evidence, and then register any resulting Tasks through Scope governance.
|
||||
@@ -1,13 +1,13 @@
|
||||
---
|
||||
title: "3DARCH-EP-3 — Navigate and Explore the Virtual Workplace"
|
||||
description: "Use this approved Epic boundary to assess related Features and outcomes."
|
||||
description: "Review the governed outcome and child Features for 3DARCH-EP-3."
|
||||
---
|
||||
|
||||
# Navigate and Explore the Virtual Workplace
|
||||
|
||||
| Epic | Delivery status | Status source | Owner | Approved for Solution |
|
||||
|---|---|---|---|---|
|
||||
| `3DARCH-EP-3` | `IN_BACKLOG` | `EXACT` | 3D Architecture Wizzard team | No |
|
||||
| `3DARCH-EP-3` | `IN_BACKLOG` | `DERIVED` | 3D Architecture Wizzard team | No |
|
||||
|
||||
## Goal
|
||||
|
||||
@@ -27,7 +27,13 @@ People need understandable, responsive movement and orientation across the multi
|
||||
|
||||
## Features
|
||||
|
||||
No child Features have been defined or approved. Feature discovery must preserve this Epic boundary and requires a separate human **Approved for Solution** decision before Architecture solution work begins.
|
||||
- [3DARCH-FT-13 — Enter and resume the last workplace location](./3darch-ep-3/features/3darch-ft-13.md)
|
||||
- [3DARCH-FT-14 — Move through a collision-aware 3D workplace](./3darch-ep-3/features/3darch-ft-14.md)
|
||||
- [3DARCH-FT-15 — Change viewpoint and look around naturally](./3darch-ep-3/features/3darch-ft-15.md)
|
||||
- [3DARCH-FT-16 — Travel between workplace floors](./3darch-ep-3/features/3darch-ft-16.md)
|
||||
- [3DARCH-FT-17 — Orient with the live floor map](./3darch-ep-3/features/3darch-ft-17.md)
|
||||
|
||||
These Features are approved for documentation only. Each remains outside Architecture solution work until a separate human **Approved for Solution** decision is recorded.
|
||||
|
||||
## Original source
|
||||
|
||||
@@ -36,7 +42,7 @@ No child Features have been defined or approved. Feature discovery must preserve
|
||||
|
||||
### Legacy implementation evidence
|
||||
|
||||
The approved catalogue was mined from legacy revision `c0ced47ecaf4426f47e5c2e4868677f7144b951a`.
|
||||
The catalogue was mined from legacy revision `c0ced47ecaf4426f47e5c2e4868677f7144b951a`.
|
||||
|
||||
- [`apps/nebula/src/hooks/usePlayerControls.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/hooks/usePlayerControls.ts)
|
||||
- [`apps/nebula/src/hooks/usePlayerMovement.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/hooks/usePlayerMovement.ts)
|
||||
|
||||
@@ -1,8 +1,16 @@
|
||||
---
|
||||
title: "3DARCH-EP-3 Features"
|
||||
description: "Review Features governed by 3DARCH-EP-3."
|
||||
description: "Review the governed Features beneath 3DARCH-EP-3."
|
||||
---
|
||||
|
||||
# Review 3DARCH-EP-3 Features
|
||||
|
||||
No child Features have been defined or approved for this Epic. Feature discovery must preserve the [3DARCH-EP-3 boundary](../3darch-ep-3.md) and requires a separate human **Approved for Solution** decision before Architecture solution work begins.
|
||||
These Features decompose the [3DARCH-EP-3 boundary](../3darch-ep-3.md) into non-overlapping user and operator outcomes grounded in the frozen legacy revision.
|
||||
|
||||
- [3DARCH-FT-13 — Enter and resume the last workplace location](./features/3darch-ft-13.md)
|
||||
- [3DARCH-FT-14 — Move through a collision-aware 3D workplace](./features/3darch-ft-14.md)
|
||||
- [3DARCH-FT-15 — Change viewpoint and look around naturally](./features/3darch-ft-15.md)
|
||||
- [3DARCH-FT-16 — Travel between workplace floors](./features/3darch-ft-16.md)
|
||||
- [3DARCH-FT-17 — Orient with the live floor map](./features/3darch-ft-17.md)
|
||||
|
||||
Documentation approval does not grant **Approved for Solution** or implementation approval.
|
||||
|
||||
@@ -0,0 +1,85 @@
|
||||
---
|
||||
title: "3DARCH-FT-13 — Enter and resume the last workplace location"
|
||||
description: "Enable a returning user to enter the previously occupied floor and position rather than restarting from a default location every time."
|
||||
---
|
||||
|
||||
# Enter and resume the last workplace location
|
||||
|
||||
| Feature | Parent Epic | Delivery status | Status source | Owner | Approved for Solution |
|
||||
|---|---|---|---|---|---|
|
||||
| `3DARCH-FT-13` | [3DARCH-EP-3 — Navigate and Explore the Virtual Workplace](../../3darch-ep-3.md) | `IN_BACKLOG` | `EXACT` | 3D Architecture Wizzard team | No |
|
||||
|
||||
## Description
|
||||
|
||||
Enable a returning user to enter the previously occupied floor and position rather than restarting from a default location every time.
|
||||
|
||||
## User or operator problem
|
||||
|
||||
Returning users lose continuity when every session starts on a default floor and pose.
|
||||
|
||||
## Expected value
|
||||
|
||||
Restores spatial continuity so returning users can resume work where they left it.
|
||||
|
||||
## Scope
|
||||
|
||||
Includes loading a valid stored scene and pose, safe defaults, and persistence of the latest location when leaving.
|
||||
|
||||
### Exclusions
|
||||
|
||||
- VR/controller navigation and generated-apartment review are excluded.
|
||||
|
||||
## Acceptance outcomes
|
||||
|
||||
- [ ] Entry loads the stored scene, position, and orientation when valid.
|
||||
- [ ] A safe default is used when no prior location exists.
|
||||
- [ ] Leaving the workplace persists the latest known pose and scene.
|
||||
|
||||
## Dependencies
|
||||
|
||||
- [3DARCH-FT-9 — Enterprise sign-in and session continuity](../../3darch-ep-2/features/3darch-ft-9.md)
|
||||
- [3DARCH-FT-10 — First-entry avatar onboarding](../../3darch-ep-2/features/3darch-ft-10.md)
|
||||
|
||||
## Risks
|
||||
|
||||
- Location persists primarily on orderly socket disconnect, so abrupt loss can discard recent movement.
|
||||
|
||||
## Human approval
|
||||
|
||||
Linas approved this Feature for documentation on 2026-09-02T10:40:43.220Z. It is **not Approved for Solution** and has no implementation approval.
|
||||
|
||||
- [Documentation decision](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201)
|
||||
|
||||
## Delivery status evidence
|
||||
|
||||
The Feature was separately registered at `IN_BACKLOG` as an accepted catalogue boundary. This records backlog retention, not design or delivery progress.
|
||||
|
||||
- Event: Catalogue registration
|
||||
- Actor and authority: Linas — Human project team member
|
||||
- Reason: The Feature catalogue was accepted for governed documentation and retained in the backlog.
|
||||
- [Status evidence](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201)
|
||||
|
||||
## Architecture traceability
|
||||
|
||||
- Requirements: none derived.
|
||||
- Readiness: Not started.
|
||||
|
||||
Architecture solution work must not begin until a separate human **Approved for Solution** decision is recorded.
|
||||
|
||||
## Tasks
|
||||
|
||||
[Review the Tasks group](./3darch-ft-13/tasks.md). No canonical implementation Tasks have been defined.
|
||||
|
||||
## Original source
|
||||
|
||||
- [Discord – Scope – Linas: original Feature request](https://discord.com/channels/1518726359512387766/1543925247361814568/1544647879111483562)
|
||||
- [Discord – Scope – Linas: proceed with documented mapping](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201)
|
||||
|
||||
### Legacy implementation evidence
|
||||
|
||||
The Feature boundary was mined from legacy revision `c0ced47ecaf4426f47e5c2e4868677f7144b951a`.
|
||||
|
||||
- [`apps/singularity/src/socket-server/player-manager.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/socket-server/player-manager.ts)
|
||||
- [`apps/singularity/prisma/schema.prisma`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/prisma/schema.prisma)
|
||||
- [`apps/nebula/src/App.tsx`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/App.tsx)
|
||||
- [`apps/nebula/src/components/Scene.tsx`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/Scene.tsx)
|
||||
@@ -0,0 +1,8 @@
|
||||
---
|
||||
title: "3DARCH-FT-13 Tasks"
|
||||
description: "Review canonical implementation Tasks governed beneath 3DARCH-FT-13."
|
||||
---
|
||||
|
||||
# Review 3DARCH-FT-13 Tasks
|
||||
|
||||
No canonical implementation Tasks have been defined for [3DARCH-FT-13](../3darch-ft-13.md). Architecture must first receive a separate human **Approved for Solution** decision, derive requirements and readiness evidence, and then register any resulting Tasks through Scope governance.
|
||||
@@ -0,0 +1,85 @@
|
||||
---
|
||||
title: "3DARCH-FT-14 — Move through a collision-aware 3D workplace"
|
||||
description: "Enable a user to walk, run, strafe, rotate, and jump through the office with visible animation and physical boundaries."
|
||||
---
|
||||
|
||||
# Move through a collision-aware 3D workplace
|
||||
|
||||
| Feature | Parent Epic | Delivery status | Status source | Owner | Approved for Solution |
|
||||
|---|---|---|---|---|---|
|
||||
| `3DARCH-FT-14` | [3DARCH-EP-3 — Navigate and Explore the Virtual Workplace](../../3darch-ep-3.md) | `IN_BACKLOG` | `EXACT` | 3D Architecture Wizzard team | No |
|
||||
|
||||
## Description
|
||||
|
||||
Enable a user to walk, run, strafe, rotate, and jump through the office with visible animation and physical boundaries.
|
||||
|
||||
## User or operator problem
|
||||
|
||||
Users need responsive movement through the office while respecting its physical boundaries.
|
||||
|
||||
## Expected value
|
||||
|
||||
Creates a responsive, bounded traversal experience that supplies movement state to co-presence.
|
||||
|
||||
## Scope
|
||||
|
||||
Includes walk, run, strafe, turn, and jump input; local animation; collider response; and movement-state publication.
|
||||
|
||||
### Exclusions
|
||||
|
||||
- VR/controller navigation and generated-apartment review are excluded.
|
||||
|
||||
## Acceptance outcomes
|
||||
|
||||
- [ ] Keyboard input produces responsive supported movement states.
|
||||
- [ ] Movement respects floor and scene colliders.
|
||||
- [ ] Walking, running, idling, jumping, and turning produce coherent local animation.
|
||||
- [ ] Movement state is available to the live-presence experience.
|
||||
|
||||
## Dependencies
|
||||
|
||||
- [3DARCH-FT-13 — Enter and resume the last workplace location](./3darch-ft-13.md)
|
||||
|
||||
## Risks
|
||||
|
||||
- Client-originated movement and pose data require validation before they can be trusted by other participants.
|
||||
|
||||
## Human approval
|
||||
|
||||
Linas approved this Feature for documentation on 2026-09-02T10:40:43.220Z. It is **not Approved for Solution** and has no implementation approval.
|
||||
|
||||
- [Documentation decision](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201)
|
||||
|
||||
## Delivery status evidence
|
||||
|
||||
The Feature was separately registered at `IN_BACKLOG` as an accepted catalogue boundary. This records backlog retention, not design or delivery progress.
|
||||
|
||||
- Event: Catalogue registration
|
||||
- Actor and authority: Linas — Human project team member
|
||||
- Reason: The Feature catalogue was accepted for governed documentation and retained in the backlog.
|
||||
- [Status evidence](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201)
|
||||
|
||||
## Architecture traceability
|
||||
|
||||
- Requirements: none derived.
|
||||
- Readiness: Not started.
|
||||
|
||||
Architecture solution work must not begin until a separate human **Approved for Solution** decision is recorded.
|
||||
|
||||
## Tasks
|
||||
|
||||
[Review the Tasks group](./3darch-ft-14/tasks.md). No canonical implementation Tasks have been defined.
|
||||
|
||||
## Original source
|
||||
|
||||
- [Discord – Scope – Linas: original Feature request](https://discord.com/channels/1518726359512387766/1543925247361814568/1544647879111483562)
|
||||
- [Discord – Scope – Linas: proceed with documented mapping](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201)
|
||||
|
||||
### Legacy implementation evidence
|
||||
|
||||
The Feature boundary was mined from legacy revision `c0ced47ecaf4426f47e5c2e4868677f7144b951a`.
|
||||
|
||||
- [`apps/nebula/src/hooks/usePlayerControls.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/hooks/usePlayerControls.ts)
|
||||
- [`apps/nebula/src/hooks/usePlayerMovement.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/hooks/usePlayerMovement.ts)
|
||||
- [`apps/nebula/src/components/Player.tsx`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/Player.tsx)
|
||||
- [`apps/nebula/src/hooks/useSceneWithColliders.tsx`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/hooks/useSceneWithColliders.tsx)
|
||||
@@ -0,0 +1,8 @@
|
||||
---
|
||||
title: "3DARCH-FT-14 Tasks"
|
||||
description: "Review canonical implementation Tasks governed beneath 3DARCH-FT-14."
|
||||
---
|
||||
|
||||
# Review 3DARCH-FT-14 Tasks
|
||||
|
||||
No canonical implementation Tasks have been defined for [3DARCH-FT-14](../3darch-ft-14.md). Architecture must first receive a separate human **Approved for Solution** decision, derive requirements and readiness evidence, and then register any resulting Tasks through Scope governance.
|
||||
@@ -0,0 +1,85 @@
|
||||
---
|
||||
title: "3DARCH-FT-15 — Change viewpoint and look around naturally"
|
||||
description: "Enable a user to choose first- or third-person viewing and control the view without the camera passing through nearby scene geometry."
|
||||
---
|
||||
|
||||
# Change viewpoint and look around naturally
|
||||
|
||||
| Feature | Parent Epic | Delivery status | Status source | Owner | Approved for Solution |
|
||||
|---|---|---|---|---|---|
|
||||
| `3DARCH-FT-15` | [3DARCH-EP-3 — Navigate and Explore the Virtual Workplace](../../3darch-ep-3.md) | `IN_BACKLOG` | `EXACT` | 3D Architecture Wizzard team | No |
|
||||
|
||||
## Description
|
||||
|
||||
Enable a user to choose first- or third-person viewing and control the view without the camera passing through nearby scene geometry.
|
||||
|
||||
## User or operator problem
|
||||
|
||||
Users need viewpoints suited to navigation and orientation without camera obstruction by nearby geometry.
|
||||
|
||||
## Expected value
|
||||
|
||||
Improves spatial awareness while limiting camera clipping and overlay input conflicts.
|
||||
|
||||
## Scope
|
||||
|
||||
Includes first/third-person switching, sensitivity-aware mouse look, obstruction-aware third-person distance, and predictable pointer capture.
|
||||
|
||||
### Exclusions
|
||||
|
||||
- VR/controller navigation and generated-apartment review are excluded.
|
||||
|
||||
## Acceptance outcomes
|
||||
|
||||
- [ ] The user can switch between supported camera modes.
|
||||
- [ ] Mouse input controls the view at the configured sensitivity.
|
||||
- [ ] Third-person camera distance responds to obstructing geometry.
|
||||
- [ ] Pointer capture and release behave predictably around overlays and settings.
|
||||
|
||||
## Dependencies
|
||||
|
||||
- [3DARCH-FT-12 — Discover and retain personal controls](../../3darch-ep-2/features/3darch-ft-12.md)
|
||||
- [3DARCH-FT-14 — Move through a collision-aware 3D workplace](./3darch-ft-14.md)
|
||||
|
||||
## Risks
|
||||
|
||||
- Third-person camera constraints and overlay pointer capture have legacy edge cases.
|
||||
|
||||
## Human approval
|
||||
|
||||
Linas approved this Feature for documentation on 2026-09-02T10:40:43.220Z. It is **not Approved for Solution** and has no implementation approval.
|
||||
|
||||
- [Documentation decision](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201)
|
||||
|
||||
## Delivery status evidence
|
||||
|
||||
The Feature was separately registered at `IN_BACKLOG` as an accepted catalogue boundary. This records backlog retention, not design or delivery progress.
|
||||
|
||||
- Event: Catalogue registration
|
||||
- Actor and authority: Linas — Human project team member
|
||||
- Reason: The Feature catalogue was accepted for governed documentation and retained in the backlog.
|
||||
- [Status evidence](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201)
|
||||
|
||||
## Architecture traceability
|
||||
|
||||
- Requirements: none derived.
|
||||
- Readiness: Not started.
|
||||
|
||||
Architecture solution work must not begin until a separate human **Approved for Solution** decision is recorded.
|
||||
|
||||
## Tasks
|
||||
|
||||
[Review the Tasks group](./3darch-ft-15/tasks.md). No canonical implementation Tasks have been defined.
|
||||
|
||||
## Original source
|
||||
|
||||
- [Discord – Scope – Linas: original Feature request](https://discord.com/channels/1518726359512387766/1543925247361814568/1544647879111483562)
|
||||
- [Discord – Scope – Linas: proceed with documented mapping](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201)
|
||||
|
||||
### Legacy implementation evidence
|
||||
|
||||
The Feature boundary was mined from legacy revision `c0ced47ecaf4426f47e5c2e4868677f7144b951a`.
|
||||
|
||||
- [`apps/nebula/src/hooks/usePlayerCamera.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/hooks/usePlayerCamera.ts)
|
||||
- [`apps/nebula/src/hooks/useMouseControls.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/hooks/useMouseControls.ts)
|
||||
- [`packages/utils/constants/src/controls.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/packages/utils/constants/src/controls.ts)
|
||||
@@ -0,0 +1,8 @@
|
||||
---
|
||||
title: "3DARCH-FT-15 Tasks"
|
||||
description: "Review canonical implementation Tasks governed beneath 3DARCH-FT-15."
|
||||
---
|
||||
|
||||
# Review 3DARCH-FT-15 Tasks
|
||||
|
||||
No canonical implementation Tasks have been defined for [3DARCH-FT-15](../3darch-ft-15.md). Architecture must first receive a separate human **Approved for Solution** decision, derive requirements and readiness evidence, and then register any resulting Tasks through Scope governance.
|
||||
@@ -0,0 +1,86 @@
|
||||
---
|
||||
title: "3DARCH-FT-16 — Travel between workplace floors"
|
||||
description: "Enable a user to approach an elevator, receive a contextual action, and move between the implemented ninth- and tenth-floor scenes."
|
||||
---
|
||||
|
||||
# Travel between workplace floors
|
||||
|
||||
| Feature | Parent Epic | Delivery status | Status source | Owner | Approved for Solution |
|
||||
|---|---|---|---|---|---|
|
||||
| `3DARCH-FT-16` | [3DARCH-EP-3 — Navigate and Explore the Virtual Workplace](../../3darch-ep-3.md) | `IN_BACKLOG` | `EXACT` | 3D Architecture Wizzard team | No |
|
||||
|
||||
## Description
|
||||
|
||||
Enable a user to approach an elevator, receive a contextual action, and move between the implemented ninth- and tenth-floor scenes.
|
||||
|
||||
## User or operator problem
|
||||
|
||||
Users need a contextual, understandable way to move between the implemented workplace floors.
|
||||
|
||||
## Expected value
|
||||
|
||||
Connects the workplace’s floor experiences while keeping real-time scene membership accurate.
|
||||
|
||||
## Scope
|
||||
|
||||
Includes elevator proximity detection, contextual action, ninth/tenth-floor transitions, scene-membership updates, and persisted destination.
|
||||
|
||||
### Exclusions
|
||||
|
||||
- VR/controller navigation and generated-apartment review are excluded.
|
||||
|
||||
## Acceptance outcomes
|
||||
|
||||
- [ ] Elevator proximity exposes the floor-change action only when applicable.
|
||||
- [ ] Activating the action moves the user to the target floor entry point.
|
||||
- [ ] Real-time scene membership changes with the floor.
|
||||
- [ ] The new floor becomes the location resumed later.
|
||||
|
||||
## Dependencies
|
||||
|
||||
- [3DARCH-FT-14 — Move through a collision-aware 3D workplace](./3darch-ft-14.md)
|
||||
|
||||
## Risks
|
||||
|
||||
- The implemented floor set and entry points are fixed and require explicit expansion rules.
|
||||
|
||||
## Human approval
|
||||
|
||||
Linas approved this Feature for documentation on 2026-09-02T10:40:43.220Z. It is **not Approved for Solution** and has no implementation approval.
|
||||
|
||||
- [Documentation decision](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201)
|
||||
|
||||
## Delivery status evidence
|
||||
|
||||
The Feature was separately registered at `IN_BACKLOG` as an accepted catalogue boundary. This records backlog retention, not design or delivery progress.
|
||||
|
||||
- Event: Catalogue registration
|
||||
- Actor and authority: Linas — Human project team member
|
||||
- Reason: The Feature catalogue was accepted for governed documentation and retained in the backlog.
|
||||
- [Status evidence](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201)
|
||||
|
||||
## Architecture traceability
|
||||
|
||||
- Requirements: none derived.
|
||||
- Readiness: Not started.
|
||||
|
||||
Architecture solution work must not begin until a separate human **Approved for Solution** decision is recorded.
|
||||
|
||||
## Tasks
|
||||
|
||||
[Review the Tasks group](./3darch-ft-16/tasks.md). No canonical implementation Tasks have been defined.
|
||||
|
||||
## Original source
|
||||
|
||||
- [Discord – Scope – Linas: original Feature request](https://discord.com/channels/1518726359512387766/1543925247361814568/1544647879111483562)
|
||||
- [Discord – Scope – Linas: proceed with documented mapping](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201)
|
||||
|
||||
### Legacy implementation evidence
|
||||
|
||||
The Feature boundary was mined from legacy revision `c0ced47ecaf4426f47e5c2e4868677f7144b951a`.
|
||||
|
||||
- [`apps/nebula/src/hooks/usePlayerActions.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/hooks/usePlayerActions.ts)
|
||||
- [`apps/nebula/src/components/PlayerActionPrompt/PlayerActionPrompt.tsx`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/PlayerActionPrompt/PlayerActionPrompt.tsx)
|
||||
- [`apps/singularity/src/socket-server/event-handlers.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/socket-server/event-handlers.ts)
|
||||
- [`apps/singularity/src/socket-server/scene-manager.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/socket-server/scene-manager.ts)
|
||||
- [`packages/utils/constants/src/scenes.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/packages/utils/constants/src/scenes.ts)
|
||||
@@ -0,0 +1,8 @@
|
||||
---
|
||||
title: "3DARCH-FT-16 Tasks"
|
||||
description: "Review canonical implementation Tasks governed beneath 3DARCH-FT-16."
|
||||
---
|
||||
|
||||
# Review 3DARCH-FT-16 Tasks
|
||||
|
||||
No canonical implementation Tasks have been defined for [3DARCH-FT-16](../3darch-ft-16.md). Architecture must first receive a separate human **Approved for Solution** decision, derive requirements and readiness evidence, and then register any resulting Tasks through Scope governance.
|
||||
@@ -0,0 +1,86 @@
|
||||
---
|
||||
title: "3DARCH-FT-17 — Orient with the live floor map"
|
||||
description: "Enable a user to open a floor map, locate themselves, identify coworkers and occupied seats, and pan or zoom to understand the surrounding workplace."
|
||||
---
|
||||
|
||||
# Orient with the live floor map
|
||||
|
||||
| Feature | Parent Epic | Delivery status | Status source | Owner | Approved for Solution |
|
||||
|---|---|---|---|---|---|
|
||||
| `3DARCH-FT-17` | [3DARCH-EP-3 — Navigate and Explore the Virtual Workplace](../../3darch-ep-3.md) | `IN_BACKLOG` | `EXACT` | 3D Architecture Wizzard team | No |
|
||||
|
||||
## Description
|
||||
|
||||
Enable a user to open a floor map, locate themselves, identify coworkers and occupied seats, and pan or zoom to understand the surrounding workplace.
|
||||
|
||||
## User or operator problem
|
||||
|
||||
Users need a compact spatial reference for locating themselves, coworkers, and occupied seating.
|
||||
|
||||
## Expected value
|
||||
|
||||
Reduces disorientation and supports informed navigation and seating decisions.
|
||||
|
||||
## Scope
|
||||
|
||||
Includes current-floor geometry, local/coworker markers, seating state, occupant identity, pan, and cursor-centred zoom.
|
||||
|
||||
### Exclusions
|
||||
|
||||
- VR/controller navigation and generated-apartment review are excluded.
|
||||
|
||||
## Acceptance outcomes
|
||||
|
||||
- [ ] The map represents the current floor geometry.
|
||||
- [ ] The local user and coworkers appear with distinguishable markers and names.
|
||||
- [ ] Seats show available/occupied state and occupant identity at the supported zoom level.
|
||||
- [ ] Pan and cursor-centred zoom retain usable orientation.
|
||||
|
||||
## Dependencies
|
||||
|
||||
- [3DARCH-FT-14 — Move through a collision-aware 3D workplace](./3darch-ft-14.md)
|
||||
|
||||
## Risks
|
||||
|
||||
- Map markers can become stale when presence or seating events are missed.
|
||||
|
||||
## Human approval
|
||||
|
||||
Linas approved this Feature for documentation on 2026-09-02T10:40:43.220Z. It is **not Approved for Solution** and has no implementation approval.
|
||||
|
||||
- [Documentation decision](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201)
|
||||
|
||||
## Delivery status evidence
|
||||
|
||||
The Feature was separately registered at `IN_BACKLOG` as an accepted catalogue boundary. This records backlog retention, not design or delivery progress.
|
||||
|
||||
- Event: Catalogue registration
|
||||
- Actor and authority: Linas — Human project team member
|
||||
- Reason: The Feature catalogue was accepted for governed documentation and retained in the backlog.
|
||||
- [Status evidence](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201)
|
||||
|
||||
## Architecture traceability
|
||||
|
||||
- Requirements: none derived.
|
||||
- Readiness: Not started.
|
||||
|
||||
Architecture solution work must not begin until a separate human **Approved for Solution** decision is recorded.
|
||||
|
||||
## Tasks
|
||||
|
||||
[Review the Tasks group](./3darch-ft-17/tasks.md). No canonical implementation Tasks have been defined.
|
||||
|
||||
## Original source
|
||||
|
||||
- [Discord – Scope – Linas: original Feature request](https://discord.com/channels/1518726359512387766/1543925247361814568/1544647879111483562)
|
||||
- [Discord – Scope – Linas: proceed with documented mapping](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201)
|
||||
|
||||
### Legacy implementation evidence
|
||||
|
||||
The Feature boundary was mined from legacy revision `c0ced47ecaf4426f47e5c2e4868677f7144b951a`.
|
||||
|
||||
- [`apps/nebula/src/components/Map/Map.tsx`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/Map/Map.tsx)
|
||||
- [`apps/nebula/src/components/Map/components/MapStaticLayer.tsx`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/Map/components/MapStaticLayer.tsx)
|
||||
- [`apps/nebula/src/components/Map/components/MapPlayerLayer.tsx`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/Map/components/MapPlayerLayer.tsx)
|
||||
- [`apps/nebula/src/components/Map/components/MapSeatLayer.tsx`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/Map/components/MapSeatLayer.tsx)
|
||||
- [`apps/nebula/src/utils/sceneMap.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/utils/sceneMap.ts)
|
||||
@@ -0,0 +1,8 @@
|
||||
---
|
||||
title: "3DARCH-FT-17 Tasks"
|
||||
description: "Review canonical implementation Tasks governed beneath 3DARCH-FT-17."
|
||||
---
|
||||
|
||||
# Review 3DARCH-FT-17 Tasks
|
||||
|
||||
No canonical implementation Tasks have been defined for [3DARCH-FT-17](../3darch-ft-17.md). Architecture must first receive a separate human **Approved for Solution** decision, derive requirements and readiness evidence, and then register any resulting Tasks through Scope governance.
|
||||
@@ -1,13 +1,13 @@
|
||||
---
|
||||
title: "3DARCH-EP-4 — Experience Live Co-Presence"
|
||||
description: "Use this approved Epic boundary to assess related Features and outcomes."
|
||||
description: "Review the governed outcome and child Features for 3DARCH-EP-4."
|
||||
---
|
||||
|
||||
# Experience Live Co-Presence
|
||||
|
||||
| Epic | Delivery status | Status source | Owner | Approved for Solution |
|
||||
|---|---|---|---|---|
|
||||
| `3DARCH-EP-4` | `IN_BACKLOG` | `EXACT` | 3D Architecture Wizzard team | No |
|
||||
| `3DARCH-EP-4` | `IN_BACKLOG` | `DERIVED` | 3D Architecture Wizzard team | No |
|
||||
|
||||
## Goal
|
||||
|
||||
@@ -27,7 +27,11 @@ A shared virtual workplace is not credible unless participants can recognize who
|
||||
|
||||
## Features
|
||||
|
||||
No child Features have been defined or approved. Feature discovery must preserve this Epic boundary and requires a separate human **Approved for Solution** decision before Architecture solution work begins.
|
||||
- [3DARCH-FT-18 — See who shares the current floor](./3darch-ep-4/features/3darch-ft-18.md)
|
||||
- [3DARCH-FT-19 — Recognize coworkers by workplace identity](./3darch-ep-4/features/3darch-ft-19.md)
|
||||
- [3DARCH-FT-20 — Follow coworker movement and activity in real time](./3darch-ep-4/features/3darch-ft-20.md)
|
||||
|
||||
These Features are approved for documentation only. Each remains outside Architecture solution work until a separate human **Approved for Solution** decision is recorded.
|
||||
|
||||
## Original source
|
||||
|
||||
@@ -36,7 +40,7 @@ No child Features have been defined or approved. Feature discovery must preserve
|
||||
|
||||
### Legacy implementation evidence
|
||||
|
||||
The approved catalogue was mined from legacy revision `c0ced47ecaf4426f47e5c2e4868677f7144b951a`.
|
||||
The catalogue was mined from legacy revision `c0ced47ecaf4426f47e5c2e4868677f7144b951a`.
|
||||
|
||||
- [`apps/singularity/src/socket-server/event-handlers.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/socket-server/event-handlers.ts)
|
||||
- [`apps/singularity/src/socket-server/scene-manager.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/socket-server/scene-manager.ts)
|
||||
|
||||
@@ -1,8 +1,14 @@
|
||||
---
|
||||
title: "3DARCH-EP-4 Features"
|
||||
description: "Review Features governed by 3DARCH-EP-4."
|
||||
description: "Review the governed Features beneath 3DARCH-EP-4."
|
||||
---
|
||||
|
||||
# Review 3DARCH-EP-4 Features
|
||||
|
||||
No child Features have been defined or approved for this Epic. Feature discovery must preserve the [3DARCH-EP-4 boundary](../3darch-ep-4.md) and requires a separate human **Approved for Solution** decision before Architecture solution work begins.
|
||||
These Features decompose the [3DARCH-EP-4 boundary](../3darch-ep-4.md) into non-overlapping user and operator outcomes grounded in the frozen legacy revision.
|
||||
|
||||
- [3DARCH-FT-18 — See who shares the current floor](./features/3darch-ft-18.md)
|
||||
- [3DARCH-FT-19 — Recognize coworkers by workplace identity](./features/3darch-ft-19.md)
|
||||
- [3DARCH-FT-20 — Follow coworker movement and activity in real time](./features/3darch-ft-20.md)
|
||||
|
||||
Documentation approval does not grant **Approved for Solution** or implementation approval.
|
||||
|
||||
@@ -0,0 +1,87 @@
|
||||
---
|
||||
title: "3DARCH-FT-18 — See who shares the current floor"
|
||||
description: "Enable a participant to see coworkers join, remain present, change floors, and leave within the same scene-scoped workplace context."
|
||||
---
|
||||
|
||||
# See who shares the current floor
|
||||
|
||||
| Feature | Parent Epic | Delivery status | Status source | Owner | Approved for Solution |
|
||||
|---|---|---|---|---|---|
|
||||
| `3DARCH-FT-18` | [3DARCH-EP-4 — Experience Live Co-Presence](../../3darch-ep-4.md) | `IN_BACKLOG` | `EXACT` | 3D Architecture Wizzard team | No |
|
||||
|
||||
## Description
|
||||
|
||||
Enable a participant to see coworkers join, remain present, change floors, and leave within the same scene-scoped workplace context.
|
||||
|
||||
## User or operator problem
|
||||
|
||||
Participants need an accurate view of who currently shares their floor as people join, move, and disconnect.
|
||||
|
||||
## Expected value
|
||||
|
||||
Makes the shared environment reflect current floor membership without requiring reloads.
|
||||
|
||||
## Scope
|
||||
|
||||
Includes initial current-floor membership plus real-time join, floor-change, and disconnect reconciliation.
|
||||
|
||||
### Exclusions
|
||||
|
||||
- Communication content and seat-reservation ownership are excluded.
|
||||
|
||||
## Acceptance outcomes
|
||||
|
||||
- [ ] Joining returns the existing people on the participant's current floor.
|
||||
- [ ] New arrivals appear without reloading.
|
||||
- [ ] Floor changes remove a person from the previous floor and add them to the destination floor.
|
||||
- [ ] Disconnects remove stale participants from the shared scene.
|
||||
|
||||
## Dependencies
|
||||
|
||||
- [3DARCH-FT-9 — Enterprise sign-in and session continuity](../../3darch-ep-2/features/3darch-ft-9.md)
|
||||
- [3DARCH-FT-13 — Enter and resume the last workplace location](../../3darch-ep-3/features/3darch-ft-13.md)
|
||||
- [3DARCH-FT-16 — Travel between workplace floors](../../3darch-ep-3/features/3darch-ft-16.md)
|
||||
|
||||
## Risks
|
||||
|
||||
- Join, floor-change, and disconnect event ordering can temporarily duplicate or retain participants.
|
||||
|
||||
## Human approval
|
||||
|
||||
Linas approved this Feature for documentation on 2026-09-02T10:40:43.220Z. It is **not Approved for Solution** and has no implementation approval.
|
||||
|
||||
- [Documentation decision](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201)
|
||||
|
||||
## Delivery status evidence
|
||||
|
||||
The Feature was separately registered at `IN_BACKLOG` as an accepted catalogue boundary. This records backlog retention, not design or delivery progress.
|
||||
|
||||
- Event: Catalogue registration
|
||||
- Actor and authority: Linas — Human project team member
|
||||
- Reason: The Feature catalogue was accepted for governed documentation and retained in the backlog.
|
||||
- [Status evidence](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201)
|
||||
|
||||
## Architecture traceability
|
||||
|
||||
- Requirements: none derived.
|
||||
- Readiness: Not started.
|
||||
|
||||
Architecture solution work must not begin until a separate human **Approved for Solution** decision is recorded.
|
||||
|
||||
## Tasks
|
||||
|
||||
[Review the Tasks group](./3darch-ft-18/tasks.md). No canonical implementation Tasks have been defined.
|
||||
|
||||
## Original source
|
||||
|
||||
- [Discord – Scope – Linas: original Feature request](https://discord.com/channels/1518726359512387766/1543925247361814568/1544647879111483562)
|
||||
- [Discord – Scope – Linas: proceed with documented mapping](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201)
|
||||
|
||||
### Legacy implementation evidence
|
||||
|
||||
The Feature boundary was mined from legacy revision `c0ced47ecaf4426f47e5c2e4868677f7144b951a`.
|
||||
|
||||
- [`apps/singularity/src/socket-server/event-handlers.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/socket-server/event-handlers.ts)
|
||||
- [`apps/singularity/src/socket-server/scene-manager.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/socket-server/scene-manager.ts)
|
||||
- [`apps/singularity/src/socket-server/broadcast-service.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/socket-server/broadcast-service.ts)
|
||||
- [`apps/nebula/src/socket-client.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/socket-client.ts)
|
||||
@@ -0,0 +1,8 @@
|
||||
---
|
||||
title: "3DARCH-FT-18 Tasks"
|
||||
description: "Review canonical implementation Tasks governed beneath 3DARCH-FT-18."
|
||||
---
|
||||
|
||||
# Review 3DARCH-FT-18 Tasks
|
||||
|
||||
No canonical implementation Tasks have been defined for [3DARCH-FT-18](../3darch-ft-18.md). Architecture must first receive a separate human **Approved for Solution** decision, derive requirements and readiness evidence, and then register any resulting Tasks through Scope governance.
|
||||
@@ -0,0 +1,87 @@
|
||||
---
|
||||
title: "3DARCH-FT-19 — Recognize coworkers by workplace identity"
|
||||
description: "Enable a participant to recognize each current-floor coworker by persisted avatar and visible name in both the 3D scene and map."
|
||||
---
|
||||
|
||||
# Recognize coworkers by workplace identity
|
||||
|
||||
| Feature | Parent Epic | Delivery status | Status source | Owner | Approved for Solution |
|
||||
|---|---|---|---|---|---|
|
||||
| `3DARCH-FT-19` | [3DARCH-EP-4 — Experience Live Co-Presence](../../3darch-ep-4.md) | `IN_BACKLOG` | `EXACT` | 3D Architecture Wizzard team | No |
|
||||
|
||||
## Description
|
||||
|
||||
Enable a participant to recognize each current-floor coworker by persisted avatar and visible name in both the 3D scene and map.
|
||||
|
||||
## User or operator problem
|
||||
|
||||
Participants need to recognize each coworker consistently across the 3D scene and floor map.
|
||||
|
||||
## Expected value
|
||||
|
||||
Provides stable social recognition across scene and map representations.
|
||||
|
||||
## Scope
|
||||
|
||||
Includes persisted avatar selection, safe avatar fallback, visible names, map labels, and identity-change reconciliation.
|
||||
|
||||
### Exclusions
|
||||
|
||||
- Communication content and seat-reservation ownership are excluded.
|
||||
|
||||
## Acceptance outcomes
|
||||
|
||||
- [ ] Every current-floor participant renders as one embodied avatar.
|
||||
- [ ] The persisted avatar is used when valid, with a safe fallback for an unavailable model.
|
||||
- [ ] A visible name label follows each remote avatar.
|
||||
- [ ] The floor map shows labeled coworker markers and distinguishes the local participant.
|
||||
- [ ] Identity changes propagate without creating a duplicate participant.
|
||||
|
||||
## Dependencies
|
||||
|
||||
- [3DARCH-FT-10 — First-entry avatar onboarding](../../3darch-ep-2/features/3darch-ft-10.md)
|
||||
- [3DARCH-FT-18 — See who shares the current floor](./3darch-ft-18.md)
|
||||
|
||||
## Risks
|
||||
|
||||
- Missing avatar models and delayed profile changes can reduce reliable coworker recognition.
|
||||
|
||||
## Human approval
|
||||
|
||||
Linas approved this Feature for documentation on 2026-09-02T10:40:43.220Z. It is **not Approved for Solution** and has no implementation approval.
|
||||
|
||||
- [Documentation decision](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201)
|
||||
|
||||
## Delivery status evidence
|
||||
|
||||
The Feature was separately registered at `IN_BACKLOG` as an accepted catalogue boundary. This records backlog retention, not design or delivery progress.
|
||||
|
||||
- Event: Catalogue registration
|
||||
- Actor and authority: Linas — Human project team member
|
||||
- Reason: The Feature catalogue was accepted for governed documentation and retained in the backlog.
|
||||
- [Status evidence](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201)
|
||||
|
||||
## Architecture traceability
|
||||
|
||||
- Requirements: none derived.
|
||||
- Readiness: Not started.
|
||||
|
||||
Architecture solution work must not begin until a separate human **Approved for Solution** decision is recorded.
|
||||
|
||||
## Tasks
|
||||
|
||||
[Review the Tasks group](./3darch-ft-19/tasks.md). No canonical implementation Tasks have been defined.
|
||||
|
||||
## Original source
|
||||
|
||||
- [Discord – Scope – Linas: original Feature request](https://discord.com/channels/1518726359512387766/1543925247361814568/1544647879111483562)
|
||||
- [Discord – Scope – Linas: proceed with documented mapping](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201)
|
||||
|
||||
### Legacy implementation evidence
|
||||
|
||||
The Feature boundary was mined from legacy revision `c0ced47ecaf4426f47e5c2e4868677f7144b951a`.
|
||||
|
||||
- [`apps/nebula/src/components/Player.tsx`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/Player.tsx)
|
||||
- [`apps/nebula/src/components/Scene.tsx`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/Scene.tsx)
|
||||
- [`apps/nebula/src/components/Map/components/MapPlayerLayer.tsx`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/Map/components/MapPlayerLayer.tsx)
|
||||
- [`packages/utils/types/src/player.types.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/packages/utils/types/src/player.types.ts)
|
||||
@@ -0,0 +1,8 @@
|
||||
---
|
||||
title: "3DARCH-FT-19 Tasks"
|
||||
description: "Review canonical implementation Tasks governed beneath 3DARCH-FT-19."
|
||||
---
|
||||
|
||||
# Review 3DARCH-FT-19 Tasks
|
||||
|
||||
No canonical implementation Tasks have been defined for [3DARCH-FT-19](../3darch-ft-19.md). Architecture must first receive a separate human **Approved for Solution** decision, derive requirements and readiness evidence, and then register any resulting Tasks through Scope governance.
|
||||
@@ -0,0 +1,87 @@
|
||||
---
|
||||
title: "3DARCH-FT-20 — Follow coworker movement and activity in real time"
|
||||
description: "Enable a participant to see current-floor coworkers' synchronized position, orientation, and movement/activity animation so that the shared environment feels live rather than static."
|
||||
---
|
||||
|
||||
# Follow coworker movement and activity in real time
|
||||
|
||||
| Feature | Parent Epic | Delivery status | Status source | Owner | Approved for Solution |
|
||||
|---|---|---|---|---|---|
|
||||
| `3DARCH-FT-20` | [3DARCH-EP-4 — Experience Live Co-Presence](../../3darch-ep-4.md) | `IN_BACKLOG` | `EXACT` | 3D Architecture Wizzard team | No |
|
||||
|
||||
## Description
|
||||
|
||||
Enable a participant to see current-floor coworkers' synchronized position, orientation, and movement/activity animation so that the shared environment feels live rather than static.
|
||||
|
||||
## User or operator problem
|
||||
|
||||
Participants need remote movement and activity to feel live and remain associated with the correct coworker.
|
||||
|
||||
## Expected value
|
||||
|
||||
Makes co-presence legible through synchronized pose and activity rather than static avatars.
|
||||
|
||||
## Scope
|
||||
|
||||
Includes remote position, orientation, movement/activity animation, identity association, and local/remote distinction.
|
||||
|
||||
### Exclusions
|
||||
|
||||
- Communication content and seat-reservation ownership are excluded.
|
||||
|
||||
## Acceptance outcomes
|
||||
|
||||
- [ ] Movement updates remain associated with the correct recognized participant.
|
||||
- [ ] Position and orientation changes update smoothly for floor peers.
|
||||
- [ ] Supported animation/activity state follows the remote participant.
|
||||
- [ ] Local and remote representations remain distinguishable.
|
||||
|
||||
## Dependencies
|
||||
|
||||
- [3DARCH-FT-14 — Move through a collision-aware 3D workplace](../../3darch-ep-3/features/3darch-ft-14.md)
|
||||
- [3DARCH-FT-18 — See who shares the current floor](./3darch-ft-18.md)
|
||||
- [3DARCH-FT-19 — Recognize coworkers by workplace identity](./3darch-ft-19.md)
|
||||
|
||||
## Risks
|
||||
|
||||
- Unvalidated pose and activity updates can create implausible or misleading remote movement.
|
||||
|
||||
## Human approval
|
||||
|
||||
Linas approved this Feature for documentation on 2026-09-02T10:40:43.220Z. It is **not Approved for Solution** and has no implementation approval.
|
||||
|
||||
- [Documentation decision](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201)
|
||||
|
||||
## Delivery status evidence
|
||||
|
||||
The Feature was separately registered at `IN_BACKLOG` as an accepted catalogue boundary. This records backlog retention, not design or delivery progress.
|
||||
|
||||
- Event: Catalogue registration
|
||||
- Actor and authority: Linas — Human project team member
|
||||
- Reason: The Feature catalogue was accepted for governed documentation and retained in the backlog.
|
||||
- [Status evidence](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201)
|
||||
|
||||
## Architecture traceability
|
||||
|
||||
- Requirements: none derived.
|
||||
- Readiness: Not started.
|
||||
|
||||
Architecture solution work must not begin until a separate human **Approved for Solution** decision is recorded.
|
||||
|
||||
## Tasks
|
||||
|
||||
[Review the Tasks group](./3darch-ft-20/tasks.md). No canonical implementation Tasks have been defined.
|
||||
|
||||
## Original source
|
||||
|
||||
- [Discord – Scope – Linas: original Feature request](https://discord.com/channels/1518726359512387766/1543925247361814568/1544647879111483562)
|
||||
- [Discord – Scope – Linas: proceed with documented mapping](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201)
|
||||
|
||||
### Legacy implementation evidence
|
||||
|
||||
The Feature boundary was mined from legacy revision `c0ced47ecaf4426f47e5c2e4868677f7144b951a`.
|
||||
|
||||
- [`apps/nebula/src/components/Player.tsx`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/Player.tsx)
|
||||
- [`apps/nebula/src/hooks/usePlayerAnimations.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/hooks/usePlayerAnimations.ts)
|
||||
- [`apps/nebula/src/hooks/usePlayerMovement.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/hooks/usePlayerMovement.ts)
|
||||
- [`packages/utils/types/src/player.types.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/packages/utils/types/src/player.types.ts)
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user