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

@@ -155,7 +155,7 @@ func TestResolveURI(t *testing.T) {
})
// Test exact match
uri, err := ParseBzzzURI("bzzz://claude:frontend@chorus:react")
uri, err := ParseBzzzURI("CHORUS://claude:frontend@chorus:react")
if err != nil {
t.Fatalf("failed to parse URI: %v", err)
}
@@ -196,7 +196,7 @@ func TestResolveURIWithWildcards(t *testing.T) {
})
// Test wildcard match
uri, err := ParseBzzzURI("bzzz://claude:*@*:*")
uri, err := ParseBzzzURI("CHORUS://claude:*@*:*")
if err != nil {
t.Fatalf("failed to parse URI: %v", err)
}
@@ -223,7 +223,7 @@ func TestResolveURIWithOfflinePeers(t *testing.T) {
Status: "offline", // This peer should be filtered out
})
uri, err := ParseBzzzURI("bzzz://claude:frontend@*:*")
uri, err := ParseBzzzURI("CHORUS://claude:frontend@*:*")
if err != nil {
t.Fatalf("failed to parse URI: %v", err)
}
@@ -250,7 +250,7 @@ func TestResolveString(t *testing.T) {
})
ctx := context.Background()
result, err := resolver.ResolveString(ctx, "bzzz://claude:frontend@*:*")
result, err := resolver.ResolveString(ctx, "CHORUS://claude:frontend@*:*")
if err != nil {
t.Fatalf("failed to resolve string: %v", err)
}
@@ -271,7 +271,7 @@ func TestResolverCaching(t *testing.T) {
})
ctx := context.Background()
uri := "bzzz://claude:frontend@*:*"
uri := "CHORUS://claude:frontend@*:*"
// First resolution should hit the resolver
result1, err := resolver.ResolveString(ctx, uri)
@@ -324,7 +324,7 @@ func TestResolutionStrategies(t *testing.T) {
})
ctx := context.Background()
uri, _ := ParseBzzzURI("bzzz://claude:frontend@*:*")
uri, _ := ParseBzzzURI("CHORUS://claude:frontend@*:*")
// Test different strategies
strategies := []ResolutionStrategy{