Add chorus-entrypoint label to standardized label set
**Problem**: The standardized label set was missing the `chorus-entrypoint` label, which is present in CHORUS repository and required for triggering council formation for project kickoffs. **Changes**: - Added `chorus-entrypoint` label (#ff6b6b) to `EnsureRequiredLabels()` in `internal/gitea/client.go` - Now creates 9 standard labels (was 8): 1. bug 2. bzzz-task 3. chorus-entrypoint (NEW) 4. duplicate 5. enhancement 6. help wanted 7. invalid 8. question 9. wontfix **Testing**: - Rebuilt and deployed WHOOSH with updated label configuration - Synced labels to all 5 monitored repositories (whoosh-ui, SequentialThinkingForCHORUS, TEST, WHOOSH, CHORUS) - Verified all repositories now have complete 9-label set **Impact**: All CHORUS ecosystem repositories now have consistent labeling matching the CHORUS repository standard, enabling proper council formation triggers. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
100
ui/script.js
100
ui/script.js
@@ -278,12 +278,26 @@ document.addEventListener('DOMContentLoaded', () => {
|
||||
try {
|
||||
const data = await apiFetch('/v1/tasks');
|
||||
tasksContent.innerHTML = `
|
||||
<div class="grid">
|
||||
<div class="task-list">
|
||||
${data.tasks.map(task => `
|
||||
<div class="card">
|
||||
<div class="task-card">
|
||||
<h3><a href="#tasks/${task.id}">${task.title}</a></h3>
|
||||
<p>Status: ${task.status}</p>
|
||||
<p>Priority: ${task.priority}</p>
|
||||
<div class="task-meta">
|
||||
<span class="badge status-${task.status}">${task.status}</span>
|
||||
<span class="badge priority-${task.priority}">${task.priority}</span>
|
||||
${task.repository ? `<span class="repo-badge">${task.repository}</span>` : ''}
|
||||
</div>
|
||||
${task.tech_stack?.length ? `
|
||||
<div class="tags">
|
||||
${task.tech_stack.slice(0, 3).map(tech => `
|
||||
<span class="tag tech">${tech}</span>
|
||||
`).join('')}
|
||||
${task.tech_stack.length > 3 ? `<span class="tag">+${task.tech_stack.length - 3} more</span>` : ''}
|
||||
</div>
|
||||
` : ''}
|
||||
${task.description ? `
|
||||
<p class="task-description">${task.description.substring(0, 150)}${task.description.length > 150 ? '...' : ''}</p>
|
||||
` : ''}
|
||||
</div>
|
||||
`).join('')}
|
||||
</div>
|
||||
@@ -302,19 +316,87 @@ document.addEventListener('DOMContentLoaded', () => {
|
||||
<h2>${task.title}</h2>
|
||||
<div class="card">
|
||||
<h3>Task Details</h3>
|
||||
|
||||
<!-- Basic Info -->
|
||||
<div class="grid">
|
||||
<div>
|
||||
<p><strong>Status:</strong> ${task.status}</p>
|
||||
<p><strong>Priority:</strong> ${task.priority}</p>
|
||||
<p><strong>Status:</strong> <span class="badge status-${task.status}">${task.status}</span></p>
|
||||
<p><strong>Priority:</strong> <span class="badge priority-${task.priority}">${task.priority}</span></p>
|
||||
<p><strong>Source:</strong> ${task.source_type || 'N/A'}</p>
|
||||
</div>
|
||||
<div>
|
||||
<p><strong>Help Promises:</strong> (Not implemented)</p>
|
||||
<p><strong>Retry Budgets:</strong> (Not implemented)</p>
|
||||
<p><strong>Repository:</strong> ${task.repository || 'N/A'}</p>
|
||||
<p><strong>Project ID:</strong> ${task.project_id || 'N/A'}</p>
|
||||
${task.external_url ? `<p><strong>Issue:</strong> <a href="${task.external_url}" target="_blank">View on GITEA</a></p>` : ''}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Estimation & Complexity -->
|
||||
${task.estimated_hours || task.complexity_score ? `
|
||||
<hr>
|
||||
<div class="grid">
|
||||
${task.estimated_hours ? `<p><strong>Estimated Hours:</strong> ${task.estimated_hours}</p>` : ''}
|
||||
${task.complexity_score ? `<p><strong>Complexity Score:</strong> ${task.complexity_score.toFixed(2)}</p>` : ''}
|
||||
</div>
|
||||
` : ''}
|
||||
|
||||
<!-- Labels & Tech Stack -->
|
||||
${task.labels?.length || task.tech_stack?.length ? `
|
||||
<hr>
|
||||
<div class="grid">
|
||||
${task.labels?.length ? `
|
||||
<div>
|
||||
<p><strong>Labels:</strong></p>
|
||||
<div class="tags">
|
||||
${task.labels.map(label => `<span class="tag">${label}</span>`).join('')}
|
||||
</div>
|
||||
</div>
|
||||
` : ''}
|
||||
${task.tech_stack?.length ? `
|
||||
<div>
|
||||
<p><strong>Tech Stack:</strong></p>
|
||||
<div class="tags">
|
||||
${task.tech_stack.map(tech => `<span class="tag tech">${tech}</span>`).join('')}
|
||||
</div>
|
||||
</div>
|
||||
` : ''}
|
||||
</div>
|
||||
` : ''}
|
||||
|
||||
<!-- Requirements -->
|
||||
${task.requirements?.length ? `
|
||||
<hr>
|
||||
<p><strong>Requirements:</strong></p>
|
||||
<ul>
|
||||
${task.requirements.map(req => `<li>${req}</li>`).join('')}
|
||||
</ul>
|
||||
` : ''}
|
||||
|
||||
<!-- Description -->
|
||||
<hr>
|
||||
<p><strong>Description:</strong></p>
|
||||
<p>${task.description}</p>
|
||||
<div class="description">
|
||||
${task.description || '<em>No description provided</em>'}
|
||||
</div>
|
||||
|
||||
<!-- Assignment Info -->
|
||||
${task.assigned_team_id || task.assigned_agent_id ? `
|
||||
<hr>
|
||||
<p><strong>Assignment:</strong></p>
|
||||
<div class="grid">
|
||||
${task.assigned_team_id ? `<p>Team: ${task.assigned_team_id}</p>` : ''}
|
||||
${task.assigned_agent_id ? `<p>Agent: ${task.assigned_agent_id}</p>` : ''}
|
||||
</div>
|
||||
` : ''}
|
||||
|
||||
<!-- Timestamps -->
|
||||
<hr>
|
||||
<div class="grid timestamps">
|
||||
<p><strong>Created:</strong> ${new Date(task.created_at).toLocaleString()}</p>
|
||||
${task.claimed_at ? `<p><strong>Claimed:</strong> ${new Date(task.claimed_at).toLocaleString()}</p>` : ''}
|
||||
${task.started_at ? `<p><strong>Started:</strong> ${new Date(task.started_at).toLocaleString()}</p>` : ''}
|
||||
${task.completed_at ? `<p><strong>Completed:</strong> ${new Date(task.completed_at).toLocaleString()}</p>` : ''}
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
} catch (error) {
|
||||
|
||||
Reference in New Issue
Block a user