Walkthrough: Unified Knowledge Migration
We have successfully migrated the Knowledge Domain components from the generic community module to the enterprise-wide unified domain. This enables "cross-domain knowledge" (e.g. Finance Vault, Operations Manuals).
Changes Made
1. Renaming Collision Resolved
- Renamed existing
unified/communications->unified/notifications. - Updated package:
@sd/mod-unified-notifications. - Why: To make room for the "Human Discussions" module in
communications.
2. The Move
Moved the following submodules from packages/modules/community/src/knowledge/ to packages/modules/unified/:
* vault -> @sd/mod-unified-vault (Secure Document Storage)
* library -> @sd/mod-unified-library (CMS / Handbooks)
* communications -> @sd/mod-unified-communications (Discussion Bus)
3. Standardization
Each new Unified Module now has a standard structure:
packages/modules/unified/vault/
├── package.json
├── tsconfig.json
└── src/
├── index.ts (Barrel)
├── service.ts
└── schema.ts
4. Backward Compatibility
Refactored packages/modules/community/src/knowledge/service.ts and schema.ts:
* The KnowledgeService now acts as a Facade, importing the logic from the new Unified packages.
* Legacy types (VaultDocument) are exported as aliases for the new Unified types (VaultRecord), ensuring no breaking changes for existing consumers.
Architecture Status
- Decoupled: The new Unified modules do NOT import
communitycode. - Ready: Finance and Operations can now import
@sd/mod-unified-vaultdirectly.