Two critical fixes for E2E council workflow:
1. Reduced core council roles from 8 to 2 (tpm + senior-software-architect)
- Faster council formation
- Easier debugging
- Sufficient for initial project planning
2. Added broadcast to monitor path
- Monitor now broadcasts council opportunities to CHORUS agents
- Previously only webhook path had broadcast, monitor path missed it
- Added broadcaster parameter to NewMonitor()
- Broadcast sent after council formation with 30s timeout
Verified working:
- Council formation successful
- Broadcast to CHORUS agents confirmed
- Role claims received (TPM claimed and loaded)
- Persona status "loaded" acknowledged
Image: anthonyrawlins/whoosh:broadcast-fix
Council: 2dad2070-292a-4dbd-9195-89795f84da19
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- 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 resolves multiple blocking issues that were preventing WHOOSH from
properly detecting and converting bzzz-task labeled issues from Gitea:
## Issues Fixed:
1. **JSON Parsing Error**: Gitea API returns repository owner as string in issue
responses, but code expected User object. Added IssueRepository struct to
handle this API response format difference.
2. **Database Error Handling**: Code was using database/sql.ErrNoRows but
system uses pgx driver. Updated imports and error constants to use
pgx.ErrNoRows consistently.
3. **NULL Value Scanning**: Database fields (repository, project_id,
estimated_hours, complexity_score) can be NULL but Go structs used
non-pointer types. Added proper NULL handling with pointer scanning
and safe conversion.
## Results:
- ✅ WHOOSH now successfully detects bzzz-task labeled issues
- ✅ Task creation pipeline working end-to-end
- ✅ Tasks API functioning properly
- ✅ First bzzz-task converted: "Logic around registered agents faulty"
The core issue monitoring workflow is now fully operational and ready for
CHORUS integration.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>