fix(panel): group Intake / Secretary / root PR Reviewer as Support, not Board

The Board is the three oversight roles — Product Owner, Head of Marketing, Auditor. Intake (Prompter), the Secretary, and the root PR Reviewer are CEO-direct helpers (per the org chart), but they carry team=board internally, so both agent groupings bucketed them under 'Board' — and on the agents page the helpers were even duplicated into both Board and On-Demand. They now render in a dedicated Support group in the journals list and the agents page; cell PR reviewers keep their cell's team and stay grouped under that cell. Board is now exactly PO/HoM/Auditor.
This commit is contained in:
Renn F
2026-06-22 14:00:06 +02:00
parent 71f068ea6c
commit bdf9481775
4 changed files with 71 additions and 41 deletions
+13 -1
View File
@@ -19,11 +19,22 @@ function groupByTeam(agents: Agent[]): Record<string, Agent[]> {
ux_ui: [],
marketing: [],
board: [],
support: [],
management: [],
};
agents.forEach((agent) => {
if (agent.team === Team.BACKEND) {
// CEO-direct helpers — Intake, Secretary, and the root PR Reviewer — are
// board-ADJACENT support roles, not Board members, so they get their own
// group. Cell PR reviewers (team = backend/frontend/ux_ui) stay under their
// cell; only the root reviewer carries team = board.
if (
agent.role === AgentRole.PROMPTER ||
agent.role === AgentRole.SECRETARY ||
(agent.role === AgentRole.PR_REVIEWER && agent.team === Team.BOARD)
) {
groups.support.push(agent);
} else if (agent.team === Team.BACKEND) {
groups.backend.push(agent);
} else if (agent.team === Team.FRONTEND) {
groups.frontend.push(agent);
@@ -53,6 +64,7 @@ const TEAM_LABELS: Record<string, string> = {
ux_ui: "UX/UI",
marketing: "Marketing",
board: "Board",
support: "Support",
management: "Management",
};