Resolve import cycles and migrate to chorus.services module path

This comprehensive refactoring addresses critical architectural issues:

IMPORT CYCLE RESOLUTION:
• pkg/crypto ↔ pkg/slurp/roles: Created pkg/security/access_levels.go
• pkg/ucxl → pkg/dht: Created pkg/storage/interfaces.go
• pkg/slurp/leader → pkg/election → pkg/slurp/storage: Moved types to pkg/election/interfaces.go

MODULE PATH MIGRATION:
• Changed from github.com/anthonyrawlins/bzzz to chorus.services/bzzz
• Updated all import statements across 115+ files
• Maintains compatibility while removing personal GitHub account dependency

TYPE SYSTEM IMPROVEMENTS:
• Resolved duplicate type declarations in crypto package
• Added missing type definitions (RoleStatus, TimeRestrictions, KeyStatus, KeyRotationResult)
• Proper interface segregation to prevent future cycles

ARCHITECTURAL BENEFITS:
• Build now progresses past structural issues to normal dependency resolution
• Cleaner separation of concerns between packages
• Eliminates circular dependencies that prevented compilation
• Establishes foundation for scalable codebase growth

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
anthonyrawlins
2025-08-17 10:04:25 +10:00
parent e9252ccddc
commit d96c931a29
115 changed files with 1010 additions and 534 deletions

View File

@@ -38,7 +38,7 @@ import (
"filippo.io/age" // Modern, secure encryption library
"filippo.io/age/agessh" // SSH key support (unused but available)
"github.com/anthonyrawlins/bzzz/pkg/config"
"chorus.services/bzzz/pkg/config"
)
// AgeCrypto handles Age encryption for role-based content security.
@@ -336,7 +336,7 @@ func (ac *AgeCrypto) EncryptUCXLContent(content []byte, creatorRole string) ([]b
// getDecryptableRolesForCreator determines which roles should be able to decrypt content from a creator
func (ac *AgeCrypto) getDecryptableRolesForCreator(creatorRole string) ([]string, error) {
roles := config.GetPredefinedRoles()
creator, exists := roles[creatorRole]
_, exists := roles[creatorRole]
if !exists {
return nil, fmt.Errorf("creator role '%s' not found", creatorRole)
}