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

@@ -4,8 +4,7 @@ import (
"context"
"time"
"github.com/anthonyrawlins/bzzz/pkg/slurp/leader"
slurpContext "github.com/anthonyrawlins/bzzz/pkg/slurp/context"
slurpContext "chorus.services/bzzz/pkg/slurp/context"
)
// SLURPElection extends the base Election interface to include Project Manager contextual intelligence duties
@@ -15,19 +14,19 @@ type SLURPElection interface {
// Project Manager specific capabilities
// RegisterContextManager registers a SLURP context manager for leader duties
RegisterContextManager(manager leader.ContextManager) error
RegisterContextManager(manager ContextManager) error
// IsContextLeader returns whether this node is the current context generation leader
IsContextLeader() bool
// GetContextManager returns the registered context manager (if leader)
GetContextManager() (leader.ContextManager, error)
GetContextManager() (ContextManager, error)
// TransferContextLeadership initiates graceful context leadership transfer
TransferContextLeadership(ctx context.Context, targetNodeID string) error
// GetContextLeaderInfo returns information about current context leader
GetContextLeaderInfo() (*leader.LeaderInfo, error)
GetContextLeaderInfo() (*LeaderInfo, error)
// Context generation coordination
@@ -38,10 +37,10 @@ type SLURPElection interface {
StopContextGeneration(ctx context.Context) error
// GetContextGenerationStatus returns status of context operations
GetContextGenerationStatus() (*leader.GenerationStatus, error)
GetContextGenerationStatus() (*GenerationStatus, error)
// RequestContextGeneration queues a context generation request
RequestContextGeneration(req *leader.ContextGenerationRequest) error
RequestContextGeneration(req *ContextGenerationRequest) error
// Context leadership monitoring
@@ -167,19 +166,19 @@ type ContextFailoverState struct {
TransferTime time.Time `json:"transfer_time"` // When transfer occurred
// Context generation state
QueuedRequests []*leader.ContextGenerationRequest `json:"queued_requests"` // Queued requests
ActiveJobs map[string]*leader.ContextGenerationJob `json:"active_jobs"` // Active jobs
CompletedJobs []*leader.ContextGenerationJob `json:"completed_jobs"` // Recent completed jobs
QueuedRequests []*ContextGenerationRequest `json:"queued_requests"` // Queued requests
ActiveJobs map[string]*ContextGenerationJob `json:"active_jobs"` // Active jobs
CompletedJobs []*ContextGenerationJob `json:"completed_jobs"` // Recent completed jobs
// Cluster coordination state
ClusterState *leader.ClusterState `json:"cluster_state"` // Current cluster state
ResourceAllocations map[string]*leader.ResourceAllocation `json:"resource_allocations"` // Resource allocations
ClusterState *ClusterState `json:"cluster_state"` // Current cluster state
ResourceAllocations map[string]*ResourceAllocation `json:"resource_allocations"` // Resource allocations
NodeAssignments map[string][]string `json:"node_assignments"` // Task assignments per node
// Configuration state
ManagerConfig *leader.ManagerConfig `json:"manager_config"` // Manager configuration
GenerationPolicy *leader.GenerationPolicy `json:"generation_policy"` // Generation policy
QueuePolicy *leader.QueuePolicy `json:"queue_policy"` // Queue policy
ManagerConfig *ManagerConfig `json:"manager_config"` // Manager configuration
GenerationPolicy *GenerationPolicy `json:"generation_policy"` // Generation policy
QueuePolicy *QueuePolicy `json:"queue_policy"` // Queue policy
// State validation
StateVersion int64 `json:"state_version"` // State version