Implement initial scan logic and council formation for WHOOSH project kickoffs

- Replace incremental sync with full scan for new repositories
- Add initial_scan status to bypass Since parameter filtering
- Implement council formation detection for Design Brief issues
- Add version display to WHOOSH UI header for debugging
- Fix Docker token authentication with trailing newline removal
- Add comprehensive council orchestration with Docker Swarm integration
- Include BACKBEAT prototype integration for distributed timing
- Support council-specific agent roles and deployment strategies
- Transition repositories to active status after content discovery

Key architectural improvements:
- Full scan approach for new project detection vs incremental sync
- Council formation triggered by chorus-entrypoint labeled Design Briefs
- Proper token handling and authentication for Gitea API calls
- Support for both initial discovery and ongoing task monitoring

This enables autonomous project kickoff workflows where Design Brief issues
automatically trigger formation of specialized agent councils for new projects.

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

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Claude Code
2025-09-12 09:49:36 +10:00
parent b5c0deb6bc
commit 56ea52b743
74 changed files with 17778 additions and 236 deletions

View File

@@ -0,0 +1,36 @@
// Command sdk-examples provides executable examples of BACKBEAT SDK usage
package main
import (
"flag"
"fmt"
"os"
"github.com/chorus-services/backbeat/pkg/sdk/examples"
)
func main() {
var exampleName string
flag.StringVar(&exampleName, "example", "simple", "Example to run: simple, task-processor, service-monitor")
flag.Parse()
fmt.Printf("Running BACKBEAT SDK example: %s\n", exampleName)
fmt.Println("Press Ctrl+C to stop")
fmt.Println()
switch exampleName {
case "simple":
examples.SimpleAgent()
case "task-processor":
examples.TaskProcessor()
case "service-monitor":
examples.ServiceMonitor()
default:
fmt.Printf("Unknown example: %s\n", exampleName)
fmt.Println("Available examples:")
fmt.Println(" simple - Basic beat subscription and status emission")
fmt.Println(" task-processor - Beat budget usage for task timeout management")
fmt.Println(" service-monitor - Health monitoring with beat-aligned reporting")
os.Exit(1)
}
}