Skip to content

feat(org): Phase 3 in-host Employees directory - #59

Merged
XYAIStudio merged 1 commit into
mainfrom
cursor/org-employees-phase3-f255
Sep 19, 2026
Merged

XYAIStudio merged 1 commit into
mainfrom
cursor/org-employees-phase3-f255

Conversation

@XYAIStudio

Copy link
Copy Markdown
Owner

Summary

Phase 3 vertical slice: Employees directory as an in-host Organization sub-UI, using the same org-ui dual-delivery seam as Announcements (#57) and Org chart (#58).

  • Shared pages: dashboard/src/org-ui/pages/employees (EmployeesPage + EmployeeDetailPage)
  • Dashboard routes: /organization/employees, /organization/employees/:id
  • Host APIs: GET/POST /api/org-module/org/employees, GET /api/org-module/org/employees/stats, GET/PUT/DELETE /api/org-module/org/employees/{id}
  • Workbench path tab + entry card
  • freeos org export-standalone now lists employees and imports the same pages

Data model (one store)

Directory employees reuse {FREEOS_HOME}/org/org_chart.sqlite from the org-chart slice. OrgChartPage and EmployeesPage read/write the same employees rows. This avoids a second SQLite file that would drift from the tree.

Surface Store API
Directory (human / AI on a department) org/org_chart.sqlite /api/org-module/org/employees*
Digital-colleague lifecycle / spawn tenants/<id>/employees/registry.json GET /api/org-module/employees · /transition · /spawn (unchanged)

openXYOS sidecar /api/employees is reference-only. Default path does not start or call :3780.

Deferrals (out of this PR)

  • Chat / start conversation from an employee
  • Talent market, reserve ↔ internal onboard
  • Asset offboarding, performance, reporting lines, skill catalog binding, avatar upload
  • Skills, Agents, Tasks, Knowledge, Reflections, Governance UI, Settings
  • Full export-standalone Vite/Node packaging (Phase 5)

Test plan

  • uv run pytest tests/unit/test_org_chart.py tests/unit/cli/test_org_export_standalone.py tests/unit/test_org_announcements.py
  • uv run mypy --strict on changed org_chart / export / contract modules
  • cd dashboard && npx tsc --noEmit
  • cd dashboard && npm test -- src/org-ui src/pages/Organization src/routes/controlAdminPath.test.ts (60 passed)
  • make all (full ship bar; run in CI)

Live browser walkthrough of /organization/employees was not run here (no signed-in FreeOS host in this environment). Component tests cover list/create/detail/edit without iframe.

Open in Web Open in Cursor 

Add EmployeesPage and EmployeeDetailPage to shared org-ui, mount them
under /organization/employees, and expose list/detail/stats on the
existing org-chart store so directory CRUD and the org tree share one
SQLite file. Lifecycle colleagues stay on /api/org-module/employees.

Co-authored-by: XYAI Labs <haoboy8@gmail.com>
@XYAIStudio
XYAIStudio marked this pull request as ready for review September 19, 2026 03:18
@XYAIStudio
XYAIStudio merged commit 78d360c into main Sep 19, 2026
4 checks passed
@XYAIStudio
XYAIStudio deleted the cursor/org-employees-phase3-f255 branch September 19, 2026 03:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants