Comprehensive documentation for coordination, messaging, discovery, and internal systems. Core Coordination Packages: - pkg/election - Democratic leader election (uptime-based, heartbeat mechanism, SLURP integration) - pkg/coordination - Meta-coordination with dependency detection (4 built-in rules) - coordinator/ - Task orchestration and assignment (AI-powered scoring) - discovery/ - mDNS peer discovery (automatic LAN detection) Messaging & P2P Infrastructure: - pubsub/ - GossipSub messaging (31 message types, role-based topics, HMMM integration) - p2p/ - libp2p networking (DHT modes, connection management, security) Monitoring & Health: - pkg/metrics - Prometheus metrics (80+ metrics across 12 categories) - pkg/health - Health monitoring (4 HTTP endpoints, enhanced checks, graceful degradation) Internal Systems: - internal/licensing - License validation (KACHING integration, cluster leases, fail-closed) - internal/hapui - Human Agent Portal UI (9 commands, HMMM wizard, UCXL browser, decision voting) - internal/backbeat - P2P operation telemetry (6 phases, beat synchronization, health reporting) Documentation Statistics (Phase 3): - 10 packages documented (~18,000 lines) - 31 PubSub message types cataloged - 80+ Prometheus metrics documented - Complete API references with examples - Integration patterns and best practices Key Features Documented: - Election: 5 triggers, candidate scoring (5 weighted components), stability windows - Coordination: AI-powered dependency detection, cross-repo sessions, escalation handling - PubSub: Topic patterns, message envelopes, SHHH redaction, Hypercore logging - Metrics: All metric types with labels, Prometheus scrape config, alert rules - Health: Liveness vs readiness, critical checks, Kubernetes integration - Licensing: Grace periods, circuit breaker, cluster lease management - HAP UI: Interactive terminal commands, HMMM composition wizard, web interface (beta) - BACKBEAT: 6-phase operation tracking, beat budget estimation, drift detection Implementation Status Marked: - ✅ Production: Election, metrics, health, licensing, pubsub, p2p, discovery, coordinator - 🔶 Beta: HAP web interface, BACKBEAT telemetry, advanced coordination - 🔷 Alpha: SLURP election scoring - ⚠️ Experimental: Meta-coordination, AI-powered dependency detection Progress: 22/62 files complete (35%) Next Phase: AI providers, SLURP system, API layer, reasoning engine 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
27 KiB
Package: pkg/coordination
Location: /home/tony/chorus/project-queues/active/CHORUS/pkg/coordination/
Overview
The pkg/coordination package provides advanced cross-repository coordination primitives for managing complex task dependencies and multi-agent collaboration in CHORUS. It includes AI-powered dependency detection, meta-coordination sessions, and automated escalation handling to enable sophisticated distributed development workflows.
Architecture
Coordination Layers
┌─────────────────────────────────────────────────┐
│ MetaCoordinator │
│ - Session management │
│ - AI-powered coordination planning │
│ - Escalation handling │
│ - SLURP integration │
└─────────────────┬───────────────────────────────┘
│
┌─────────────────▼───────────────────────────────┐
│ DependencyDetector │
│ - Cross-repo dependency detection │
│ - Rule-based pattern matching │
│ - Relationship analysis │
└─────────────────┬───────────────────────────────┘
│
┌─────────────────▼───────────────────────────────┐
│ PubSub (HMMM Meta-Discussion) │
│ - Coordination messages │
│ - Session broadcasts │
│ - Escalation notifications │
└─────────────────────────────────────────────────┘
Core Components
MetaCoordinator
Manages advanced cross-repository coordination and multi-agent collaboration sessions.
type MetaCoordinator struct {
pubsub *pubsub.PubSub
ctx context.Context
dependencyDetector *DependencyDetector
slurpIntegrator *integration.SlurpEventIntegrator
// Active coordination sessions
activeSessions map[string]*CoordinationSession
sessionLock sync.RWMutex
// Configuration
maxSessionDuration time.Duration // Default: 30 minutes
maxParticipants int // Default: 5
escalationThreshold int // Default: 10 messages
}
Key Responsibilities:
- Create and manage coordination sessions
- Generate AI-powered coordination plans
- Monitor session progress and health
- Escalate to humans when needed
- Generate SLURP events from coordination outcomes
- Integrate with HMMM for meta-discussion
DependencyDetector
Analyzes tasks across repositories to detect relationships and dependencies.
type DependencyDetector struct {
pubsub *pubsub.PubSub
ctx context.Context
knownTasks map[string]*TaskContext
dependencyRules []DependencyRule
coordinationHops int // Default: 3
}
Key Responsibilities:
- Track tasks across multiple repositories
- Apply pattern-based dependency detection rules
- Identify task relationships (API contracts, schema changes, etc.)
- Broadcast dependency alerts
- Trigger coordination sessions
CoordinationSession
Represents an active multi-agent coordination session.
type CoordinationSession struct {
SessionID string
Type string // dependency, conflict, planning
Participants map[string]*Participant
TasksInvolved []*TaskContext
Messages []CoordinationMessage
Status string // active, resolved, escalated
CreatedAt time.Time
LastActivity time.Time
Resolution string
EscalationReason string
}
Session Types:
- dependency: Coordinating dependent tasks across repos
- conflict: Resolving conflicts or competing changes
- planning: Joint planning for complex multi-repo features
Session States:
- active: Session in progress
- resolved: Consensus reached, coordination complete
- escalated: Requires human intervention
Data Structures
TaskContext
Represents a task with its repository and project context for dependency analysis.
type TaskContext struct {
TaskID int
ProjectID int
Repository string
Title string
Description string
Keywords []string
AgentID string
ClaimedAt time.Time
}
Participant
Represents an agent participating in a coordination session.
type Participant struct {
AgentID string
PeerID string
Repository string
Capabilities []string
LastSeen time.Time
Active bool
}
CoordinationMessage
A message within a coordination session.
type CoordinationMessage struct {
MessageID string
FromAgentID string
FromPeerID string
Content string
MessageType string // proposal, question, agreement, concern
Timestamp time.Time
Metadata map[string]interface{}
}
Message Types:
- proposal: Proposed solution or approach
- question: Request for clarification
- agreement: Agreement with proposal
- concern: Concern or objection
TaskDependency
Represents a detected relationship between tasks.
type TaskDependency struct {
Task1 *TaskContext
Task2 *TaskContext
Relationship string // Rule name (e.g., "API_Contract")
Confidence float64 // 0.0 - 1.0
Reason string // Human-readable explanation
DetectedAt time.Time
}
DependencyRule
Defines how to detect task relationships.
type DependencyRule struct {
Name string
Description string
Keywords []string
Validator func(task1, task2 *TaskContext) (bool, string)
}
Dependency Detection
Built-in Detection Rules
1. API Contract Rule
Detects dependencies between API definitions and implementations.
{
Name: "API_Contract",
Description: "Tasks involving API contracts and implementations",
Keywords: []string{"api", "endpoint", "contract", "interface", "schema"},
Validator: func(task1, task2 *TaskContext) (bool, string) {
text1 := strings.ToLower(task1.Title + " " + task1.Description)
text2 := strings.ToLower(task2.Title + " " + task2.Description)
if (strings.Contains(text1, "api") && strings.Contains(text2, "implement")) ||
(strings.Contains(text2, "api") && strings.Contains(text1, "implement")) {
return true, "API definition and implementation dependency"
}
return false, ""
},
}
Example Detection:
- Task 1: "Define user authentication API"
- Task 2: "Implement authentication endpoint"
- Detected: API_Contract dependency
2. Database Schema Rule
Detects schema changes affecting multiple services.
{
Name: "Database_Schema",
Description: "Database schema changes affecting multiple services",
Keywords: []string{"database", "schema", "migration", "table", "model"},
Validator: func(task1, task2 *TaskContext) (bool, string) {
// Checks for database-related keywords in both tasks
// Returns true if both tasks involve database work
},
}
Example Detection:
- Task 1: "Add user preferences table"
- Task 2: "Update user service for preferences"
- Detected: Database_Schema dependency
3. Configuration Dependency Rule
Detects configuration changes affecting multiple components.
{
Name: "Configuration_Dependency",
Description: "Configuration changes affecting multiple components",
Keywords: []string{"config", "environment", "settings", "parameters"},
}
Example Detection:
- Task 1: "Add feature flag for new UI"
- Task 2: "Implement feature flag checks in backend"
- Detected: Configuration_Dependency
4. Security Compliance Rule
Detects security changes requiring coordinated implementation.
{
Name: "Security_Compliance",
Description: "Security changes requiring coordinated implementation",
Keywords: []string{"security", "auth", "permission", "token", "encrypt"},
}
Example Detection:
- Task 1: "Implement JWT token refresh"
- Task 2: "Update authentication middleware"
- Detected: Security_Compliance dependency
Custom Rules
Add project-specific dependency detection:
customRule := DependencyRule{
Name: "GraphQL_Schema",
Description: "GraphQL schema and resolver dependencies",
Keywords: []string{"graphql", "schema", "resolver", "query", "mutation"},
Validator: func(task1, task2 *TaskContext) (bool, string) {
text1 := strings.ToLower(task1.Title + " " + task1.Description)
text2 := strings.ToLower(task2.Title + " " + task2.Description)
hasSchema := strings.Contains(text1, "schema") || strings.Contains(text2, "schema")
hasResolver := strings.Contains(text1, "resolver") || strings.Contains(text2, "resolver")
if hasSchema && hasResolver {
return true, "GraphQL schema and resolver must be coordinated"
}
return false, ""
},
}
dependencyDetector.AddCustomRule(customRule)
Coordination Flow
1. Task Registration and Detection
Task Claimed by Agent A → RegisterTask() → DependencyDetector
↓
detectDependencies()
↓
Apply all dependency rules to known tasks
↓
Dependency detected? → Yes → announceDependency()
↓ ↓
No MetaCoordinator
2. Dependency Announcement
// Dependency detector announces to HMMM meta-discussion
coordMsg := map[string]interface{}{
"message_type": "dependency_detected",
"dependency": dep,
"coordination_request": "Cross-repository dependency detected...",
"agents_involved": [agentA, agentB],
"repositories": [repoA, repoB],
"hop_count": 0,
"max_hops": 3,
}
pubsub.PublishHmmmMessage(MetaDiscussion, coordMsg)
3. Session Creation
MetaCoordinator receives dependency_detected message
↓
handleDependencyDetection()
↓
Create CoordinationSession
↓
Add participating agents
↓
Generate AI coordination plan
↓
Broadcast plan to participants
4. AI-Powered Coordination Planning
prompt := `
You are an expert AI project coordinator managing a distributed development team.
SITUATION:
- A dependency has been detected between two tasks in different repositories
- Task 1: repo1/title #42 (Agent: agent-001)
- Task 2: repo2/title #43 (Agent: agent-002)
- Relationship: API_Contract
- Reason: API definition and implementation dependency
COORDINATION REQUIRED:
Generate a concise coordination plan that addresses:
1. What specific coordination is needed between the agents
2. What order should tasks be completed in (if any)
3. What information/artifacts need to be shared
4. What potential conflicts to watch for
5. Success criteria for coordinated completion
`
plan := reasoning.GenerateResponse(ctx, "phi3", prompt)
Plan Output Example:
COORDINATION PLAN:
1. SEQUENCE:
- Task 1 (API definition) must be completed first
- Task 2 (implementation) depends on finalized API contract
2. INFORMATION SHARING:
- Agent-001 must share: API specification document, endpoint definitions
- Agent-002 must share: Implementation plan, integration tests
3. COORDINATION POINTS:
- Review API spec before implementation begins
- Daily sync on implementation progress
- Joint testing before completion
4. POTENTIAL CONFLICTS:
- API spec changes during implementation
- Performance requirements not captured in spec
- Authentication/authorization approach
5. SUCCESS CRITERIA:
- API spec reviewed and approved
- Implementation matches spec
- Integration tests pass
- Documentation complete
5. Session Progress Monitoring
Agents respond to coordination plan
↓
handleCoordinationResponse()
↓
Add message to session
↓
Update participant activity
↓
evaluateSessionProgress()
↓
┌──────────────────────┐
│ Check conditions: │
│ - Message count │
│ - Session duration │
│ - Agreement keywords │
└──────┬───────────────┘
│
┌──────▼──────┬──────────────┐
│ │ │
Consensus? Too long? Too many msgs?
│ │ │
Resolved Escalate Escalate
6. Session Resolution
Consensus Reached:
// Detect agreement in recent messages
agreementKeywords := []string{
"agree", "sounds good", "approved", "looks good", "confirmed"
}
if agreementCount >= len(participants)-1 {
resolveSession(session, "Consensus reached among participants")
}
Session Resolved:
- Update session status to "resolved"
- Record resolution reason
- Generate SLURP event (if integrator available)
- Broadcast resolution to participants
- Clean up after timeout
7. Session Escalation
Escalation Triggers:
- Message count exceeds threshold (default: 10)
- Session duration exceeds limit (default: 30 minutes)
- Explicit escalation request from agent
Escalation Process:
escalateSession(session, reason)
↓
Update status to "escalated"
↓
Generate SLURP event for human review
↓
Broadcast escalation notification
↓
Human intervention required
SLURP Integration
Event Generation from Sessions
When sessions are resolved or escalated, the MetaCoordinator generates SLURP events:
discussionContext := integration.HmmmDiscussionContext{
DiscussionID: session.SessionID,
SessionID: session.SessionID,
Participants: [agentIDs],
StartTime: session.CreatedAt,
EndTime: session.LastActivity,
Messages: hmmmMessages,
ConsensusReached: (outcome == "resolved"),
ConsensusStrength: 0.9, // 0.3 for escalated, 0.5 for other
OutcomeType: outcome, // "resolved" or "escalated"
ProjectPath: projectPath,
RelatedTasks: [taskIDs],
Metadata: {
"session_type": session.Type,
"session_status": session.Status,
"resolution": session.Resolution,
"escalation_reason": session.EscalationReason,
"message_count": len(session.Messages),
"participant_count": len(session.Participants),
},
}
slurpIntegrator.ProcessHmmmDiscussion(ctx, discussionContext)
SLURP Event Outcomes:
- Resolved sessions: High consensus (0.9), successful coordination
- Escalated sessions: Low consensus (0.3), human intervention needed
- Other outcomes: Medium consensus (0.5)
Policy Learning
SLURP uses coordination session data to learn:
- Effective coordination patterns
- Common dependency types
- Escalation triggers
- Agent collaboration efficiency
- Task complexity indicators
PubSub Message Types
1. dependency_detected
Announces a detected dependency between tasks.
{
"message_type": "dependency_detected",
"dependency": {
"task1": {
"task_id": 42,
"project_id": 1,
"repository": "backend-api",
"title": "Define user authentication API",
"agent_id": "agent-001"
},
"task2": {
"task_id": 43,
"project_id": 2,
"repository": "frontend-app",
"title": "Implement login page",
"agent_id": "agent-002"
},
"relationship": "API_Contract",
"confidence": 0.8,
"reason": "API definition and implementation dependency",
"detected_at": "2025-09-30T10:00:00Z"
},
"coordination_request": "Cross-repository dependency detected...",
"agents_involved": ["agent-001", "agent-002"],
"repositories": ["backend-api", "frontend-app"],
"hop_count": 0,
"max_hops": 3
}
2. coordination_plan
Broadcasts AI-generated coordination plan to participants.
{
"message_type": "coordination_plan",
"session_id": "dep_1_42_1727692800",
"plan": "COORDINATION PLAN:\n1. SEQUENCE:\n...",
"tasks_involved": [taskContext1, taskContext2],
"participants": {
"agent-001": { "agent_id": "agent-001", "repository": "backend-api" },
"agent-002": { "agent_id": "agent-002", "repository": "frontend-app" }
},
"message": "Coordination plan generated for dependency: API_Contract"
}
3. coordination_response
Agent response to coordination plan or session message.
{
"message_type": "coordination_response",
"session_id": "dep_1_42_1727692800",
"agent_id": "agent-001",
"response": "I agree with the proposed sequence. API spec will be ready by EOD.",
"timestamp": "2025-09-30T10:05:00Z"
}
4. session_message
General message within a coordination session.
{
"message_type": "session_message",
"session_id": "dep_1_42_1727692800",
"from_agent": "agent-002",
"content": "Can we schedule a quick sync to review the API spec?",
"timestamp": "2025-09-30T10:10:00Z"
}
5. escalation
Session escalated to human intervention.
{
"message_type": "escalation",
"session_id": "dep_1_42_1727692800",
"escalation_reason": "Message limit exceeded - human intervention needed",
"session_summary": "Session dep_1_42_1727692800 (dependency): 2 participants, 12 messages, duration 35m",
"participants": { /* participant info */ },
"tasks_involved": [ /* task contexts */ ],
"requires_human": true
}
6. resolution
Session successfully resolved.
{
"message_type": "resolution",
"session_id": "dep_1_42_1727692800",
"resolution": "Consensus reached among participants",
"summary": "Session dep_1_42_1727692800 (dependency): 2 participants, 8 messages, duration 15m"
}
Usage Examples
Basic Setup
import (
"context"
"chorus/pkg/coordination"
"chorus/pubsub"
)
// Create MetaCoordinator
mc := coordination.NewMetaCoordinator(ctx, pubsubInstance)
// Optionally attach SLURP integrator
mc.SetSlurpIntegrator(slurpIntegrator)
// MetaCoordinator automatically:
// - Initializes DependencyDetector
// - Sets up HMMM message handlers
// - Starts session cleanup loop
Register Tasks for Dependency Detection
// Agent claims a task
taskContext := &coordination.TaskContext{
TaskID: 42,
ProjectID: 1,
Repository: "backend-api",
Title: "Define user authentication API",
Description: "Create OpenAPI spec for user auth endpoints",
Keywords: []string{"api", "authentication", "openapi"},
AgentID: "agent-001",
ClaimedAt: time.Now(),
}
mc.dependencyDetector.RegisterTask(taskContext)
Add Custom Dependency Rule
// Add project-specific rule
microserviceRule := coordination.DependencyRule{
Name: "Microservice_Interface",
Description: "Microservice interface and consumer dependencies",
Keywords: []string{"microservice", "interface", "consumer", "producer"},
Validator: func(task1, task2 *coordination.TaskContext) (bool, string) {
t1 := strings.ToLower(task1.Title + " " + task1.Description)
t2 := strings.ToLower(task2.Title + " " + task2.Description)
hasProducer := strings.Contains(t1, "producer") || strings.Contains(t2, "producer")
hasConsumer := strings.Contains(t1, "consumer") || strings.Contains(t2, "consumer")
if hasProducer && hasConsumer {
return true, "Microservice producer and consumer must coordinate"
}
return false, ""
},
}
mc.dependencyDetector.AddCustomRule(microserviceRule)
Query Active Sessions
// Get all active coordination sessions
sessions := mc.GetActiveSessions()
for sessionID, session := range sessions {
fmt.Printf("Session %s:\n", sessionID)
fmt.Printf(" Type: %s\n", session.Type)
fmt.Printf(" Status: %s\n", session.Status)
fmt.Printf(" Participants: %d\n", len(session.Participants))
fmt.Printf(" Messages: %d\n", len(session.Messages))
fmt.Printf(" Duration: %v\n", time.Since(session.CreatedAt))
}
Monitor Coordination Events
// Set custom HMMM message handler
pubsub.SetHmmmMessageHandler(func(msg pubsub.Message, from peer.ID) {
switch msg.Data["message_type"] {
case "dependency_detected":
fmt.Printf("🔗 Dependency detected: %v\n", msg.Data)
case "coordination_plan":
fmt.Printf("📋 Coordination plan: %v\n", msg.Data)
case "escalation":
fmt.Printf("🚨 Escalation: %v\n", msg.Data)
case "resolution":
fmt.Printf("✅ Resolution: %v\n", msg.Data)
}
})
Configuration
MetaCoordinator Configuration
mc := coordination.NewMetaCoordinator(ctx, ps)
// Adjust session parameters
mc.maxSessionDuration = 45 * time.Minute // Extend session timeout
mc.maxParticipants = 10 // Support larger teams
mc.escalationThreshold = 15 // More messages before escalation
DependencyDetector Configuration
dd := mc.dependencyDetector
// Adjust coordination hop limit
dd.coordinationHops = 5 // Allow deeper meta-discussion chains
Session Lifecycle Management
Automatic Cleanup
Sessions are automatically cleaned up by the session cleanup loop:
// Runs every 10 minutes
func (mc *MetaCoordinator) cleanupInactiveSessions() {
for sessionID, session := range mc.activeSessions {
// Remove sessions older than 2 hours OR already resolved/escalated
if time.Since(session.LastActivity) > 2*time.Hour ||
session.Status == "resolved" ||
session.Status == "escalated" {
delete(mc.activeSessions, sessionID)
}
}
}
Cleanup Criteria:
- Session inactive for 2+ hours
- Session status is "resolved"
- Session status is "escalated"
Manual Session Management
// Not exposed in current API, but could be added:
// Force resolve session
mc.resolveSession(session, "Manual resolution by admin")
// Force escalate session
mc.escalateSession(session, "Manual escalation requested")
// Cancel/close session
mc.closeSession(sessionID)
Performance Considerations
Memory Usage
- TaskContext Storage: ~500 bytes per task
- Active Sessions: ~5KB per session (varies with message count)
- Dependency Rules: ~1KB per rule
Typical Usage: 100 tasks + 10 sessions = ~100KB
CPU Usage
- Dependency Detection: O(N²) where N = number of tasks per repository
- Rule Evaluation: O(R) where R = number of rules
- Session Monitoring: Periodic evaluation (every message received)
Optimization: Dependency detection skips same-repository comparisons.
Network Usage
- Dependency Announcements: ~2KB per dependency
- Coordination Plans: ~5KB per plan (includes full context)
- Session Messages: ~1KB per message
- SLURP Events: ~10KB per event (includes full session history)
Best Practices
1. Rule Design
Good Rule:
// Specific, actionable, clear success criteria
{
Name: "Database_Migration",
Keywords: []string{"migration", "schema", "database"},
Validator: func(t1, t2 *TaskContext) (bool, string) {
// Clear matching logic
// Specific reason returned
},
}
Bad Rule:
// Too broad, unclear coordination needed
{
Name: "Backend_Tasks",
Keywords: []string{"backend"},
Validator: func(t1, t2 *TaskContext) (bool, string) {
return strings.Contains(t1.Title, "backend") &&
strings.Contains(t2.Title, "backend"), "Both backend tasks"
},
}
2. Session Participation
- Respond promptly: Keep sessions moving
- Be explicit: Use clear agreement/disagreement language
- Stay focused: Don't derail session with unrelated topics
- Escalate when stuck: Don't let sessions drag on indefinitely
3. AI Plan Quality
AI plans are most effective when:
- Task descriptions are detailed
- Dependencies are clear
- Agent capabilities are well-defined
- Historical context is available
4. SLURP Integration
For best SLURP learning:
- Enable SLURP integrator at startup
- Ensure all sessions generate events (resolved or escalated)
- Provide rich task metadata
- Include project context in task descriptions
Troubleshooting
Dependencies Not Detected
Symptoms: Related tasks not triggering coordination.
Checks:
- Verify tasks registered with detector:
dd.GetKnownTasks() - Check rule keywords match task content
- Test validator logic with task pairs
- Verify tasks are from different repositories
- Check PubSub connection for announcements
Sessions Not Escalating
Symptoms: Long-running sessions without escalation.
Checks:
- Verify escalation threshold:
mc.escalationThreshold - Check session duration limit:
mc.maxSessionDuration - Verify message count in session
- Check for agreement keywords in messages
- Test escalation logic manually
AI Plans Not Generated
Symptoms: Sessions created but no coordination plan.
Checks:
- Verify reasoning engine available:
reasoning.GenerateResponse() - Check AI model configuration
- Verify network connectivity to AI provider
- Check reasoning engine error logs
- Test with simpler dependency
SLURP Events Not Generated
Symptoms: Sessions complete but no SLURP events.
Checks:
- Verify SLURP integrator attached:
mc.SetSlurpIntegrator() - Check SLURP integrator initialization
- Verify session outcome triggers event generation
- Check SLURP integrator error logs
- Test event generation manually
Future Enhancements
Planned Features
- Machine Learning Rules: Learn dependency patterns from historical data
- Automated Testing: Generate integration tests for coordinated tasks
- Visualization: Web UI for monitoring active sessions
- Advanced Metrics: Track coordination efficiency and success rates
- Multi-Repo CI/CD: Coordinate deployments across dependent services
- Conflict Resolution: AI-powered conflict resolution suggestions
- Predictive Coordination: Predict dependencies before tasks are claimed
See Also
- coordinator/ - Task coordinator integration
- pubsub/ - PubSub messaging for coordination
- pkg/integration/ - SLURP integration
- pkg/hmmm/ - HMMM meta-discussion system
- reasoning/ - AI reasoning engine for planning
- internal/logging/ - Hypercore logging