Skip to content

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 community code.
  • Ready: Finance and Operations can now import @sd/mod-unified-vault directly.