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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user