Integrate BACKBEAT SDK and resolve KACHING license validation

Major integrations and fixes:
- Added BACKBEAT SDK integration for P2P operation timing
- Implemented beat-aware status tracking for distributed operations
- Added Docker secrets support for secure license management
- Resolved KACHING license validation via HTTPS/TLS
- Updated docker-compose configuration for clean stack deployment
- Disabled rollback policies to prevent deployment failures
- Added license credential storage (CHORUS-DEV-MULTI-001)

Technical improvements:
- BACKBEAT P2P operation tracking with phase management
- Enhanced configuration system with file-based secrets
- Improved error handling for license validation
- Clean separation of KACHING and CHORUS deployment stacks

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

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
anthonyrawlins
2025-09-06 07:56:26 +10:00
parent 543ab216f9
commit 9bdcbe0447
4730 changed files with 1480093 additions and 1916 deletions

View File

@@ -11,7 +11,7 @@ import (
"sync"
"time"
"chorus.services/bzzz/pkg/ucxl"
"chorus/pkg/ucxl"
)
// Server represents a UCXI HTTP server for UCXL operations
@@ -629,7 +629,7 @@ func (s *Server) handleGetCollaboration(w http.ResponseWriter, r *http.Request,
"type": "expertise_request",
"from_role": "junior_developer",
"required_expertise": []string{"api_design", "error_handling"},
"project_id": "bzzz",
"project_id": "CHORUS",
"thread_id": "thread-123",
"participants": []string{"claude", "alice"},
"status": "active",
@@ -638,7 +638,7 @@ func (s *Server) handleGetCollaboration(w http.ResponseWriter, r *http.Request,
{
"type": "project_update",
"from_role": "tech_lead",
"project_id": "bzzz",
"project_id": "CHORUS",
"thread_id": "thread-456",
"deliverable": "api_standardization",
"status": "in_progress",
@@ -747,13 +747,13 @@ func (s *Server) getFilteredCollaborationResults(role, project, expertise string
},
}
results["active_topics"] = []string{
fmt.Sprintf("bzzz/roles/%s/v1", strings.ToLower(strings.ReplaceAll(role, " ", "_"))),
fmt.Sprintf("CHORUS/roles/%s/v1", strings.ToLower(strings.ReplaceAll(role, " ", "_"))),
}
}
if project != "" {
results["project_topics"] = []string{
fmt.Sprintf("bzzz/projects/%s/coordination/v1", project),
fmt.Sprintf("CHORUS/projects/%s/coordination/v1", project),
}
results["project_status"] = map[string]interface{}{
"project_id": project,
@@ -764,7 +764,7 @@ func (s *Server) getFilteredCollaborationResults(role, project, expertise string
if expertise != "" {
results["expertise_topics"] = []string{
fmt.Sprintf("bzzz/expertise/%s/v1", strings.ToLower(strings.ReplaceAll(expertise, " ", "_"))),
fmt.Sprintf("CHORUS/expertise/%s/v1", strings.ToLower(strings.ReplaceAll(expertise, " ", "_"))),
}
}
@@ -839,9 +839,9 @@ func (s *Server) getCollaborationStatus() map[string]interface{} {
},
"pubsub": map[string]interface{}{
"topics": map[string]interface{}{
"bzzz_coordination": "bzzz/coordination/v1",
"bzzz_coordination": "CHORUS/coordination/v1",
"hmmm_meta_discussion": "hmmm/meta-discussion/v1",
"context_feedback": "bzzz/context-feedback/v1",
"context_feedback": "CHORUS/context-feedback/v1",
},
"dynamic_topics": map[string]interface{}{
"role_based_enabled": true,