Repository navigation
feat(org): Phase 3 in-host Knowledge org-ui slice - #62
Merged
Merged
Conversation
Bridge Organization Knowledge to host FreeOS knowledge bases instead of cloning the openXYOS sidecar notes/files DB. Add KnowledgePage under /organization/knowledge, wrap KnowledgeService on /api/org-module/knowledge, and include the page in export-standalone. Co-authored-by: XYAI Labs <haoboy8@gmail.com>
Record that Organization Knowledge bridges host FreeOS knowledge bases rather than cloning the sidecar notes database. Co-authored-by: XYAI Labs <haoboy8@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Phase 3 vertical slice: Knowledge as an in-host Organization sub-UI, using the same org-ui dual-delivery seam as Announcements (#57), Org chart (#58), Employees (#59), Governance (#60), and Skills (#61).
dashboard/src/org-ui/pages/knowledge(KnowledgePage)/organization/knowledge(workbench path tab + entry card)GET/POST /api/org-module/knowledge,GET /api/org-module/knowledge/{kb_id},GET …/{kb_id}/documents/{doc_id},POST …/{kb_id}/notes— thin wrappers around existingKnowledgeServicerequire_permission("knowledge_bases")(admin bypass); the page hides create actions without that permissionfreeos org export-standalonenow listsknowledgeand imports the sameKnowledgePageNo sidecar, no iframe, no second login wall. This is not a second knowledge database.
Org Knowledge vs FreeOS KB
knowledge_bases/knowledge_documents·/organization/knowledge·/api/org-module/knowledge*/knowledge-bases·/api/knowledge-bases*:3780/api/knowledge— not cloned, not read on the default pathUX is inspired by openXYOS
KnowledgePage(bases + notes/files, search, create note). Data is host KB rows. A note created here becomes a markdown document in the selected host base, so chat retrieval can see it.This does not merge sidecar notes into a new org-only table. It also does not replace the host Knowledge Bases page.
Data model (host SoT)
knowledge_bases/knowledge_documentsGET /api/org-module/knowledge·GET …/{kb_id}·POST …·POST …/{kb_id}/notes/api/knowledge-bases*· Dashboard/knowledge-bases/api/knowledge— default path does not start or call:3780Deferrals (out of this PR)
/knowledge-bases)export-standaloneVite/Node packaging (Phase 5)Target branch
main(continues the Phase 3 org-ui slices already merged there)Type of change
Test plan
uv run pytest tests/unit/test_org_knowledge.py tests/unit/cli/test_org_export_standalone.py tests/unit/test_org_skills.py tests/unit/test_org_governance.py tests/unit/test_org_chart.py tests/unit/test_org_announcements.py tests/unit/test_org_module.py(61 passed)uv run ruff check+uv run mypy --stricton changed org/knowledge modulescd dashboard && npx tsc --noEmitcd dashboard && npx vitest run src/org-ui src/pages/Organization src/routes/controlAdminPath.test.ts(74 passed)make all(full ship bar; run in CI)Live browser walkthrough of
/organization/knowledgewas not run here (no signed-in FreeOS host in this environment). Component tests cover list/create/preview without iframe.Checklist
CHANGELOG.md(if user-facing)