Skip to content

Commit 614614c

Browse files
committed
release: v2.7.252 sidebar nav maturity badges - experimental/beta/embed labels
1 parent ff65e44 commit 614614c

File tree

4 files changed

+26
-2
lines changed

4 files changed

+26
-2
lines changed

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,14 @@
44

55
All notable changes to this project will be documented in this file.
66

7+
## [2.7.252] — 2026-03-16
8+
9+
- feat(web/nav): `NavItem` interface gains optional `badge?: 'beta' | 'experimental' | 'embed'` field for sidebar-level maturity labels.
10+
- feat(web/nav): `Sidebar.tsx` renders colored pill badges (`exp` amber, `beta` blue, `embed` zinc) inline with nav item titles when `badge` is set.
11+
- feat(web/nav): Tagged nav items: `Open-WebUI` → embed, `OpenCode Autopilot` → embed, `DeerFlow Harness` → experimental, `Workflows` → beta, `Swarm` → experimental.
12+
- feat(web/nav): Added `System` entry to `CORE_DASHBOARD_NAV` linking to `/dashboard/system` (operator overview console created in v2.7.251).
13+
- test(validation): `WEB_TSC_OK` — no TypeScript errors.
14+
715
## [2.7.251] — 2026-03-16
816

917
- feat(web/dashboard): New `system/page.tsx` — operator console showing Borg uptime, subsystem readiness checks (from `startupStatus` contract), blocking boot reasons, and navigation cards to Health, Logs, and Audit.

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2.7.251
1+
2.7.252

apps/web/src/components/Sidebar.tsx

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -746,6 +746,15 @@ export function Sidebar({ className }: SidebarProps) {
746746
>
747747
<item.icon className="mr-2 h-4 w-4" />
748748
{item.title}
749+
{item.badge === 'experimental' && (
750+
<span className="ml-1.5 px-1 py-0.5 rounded text-[9px] font-semibold uppercase bg-amber-900/60 text-amber-300 leading-none">exp</span>
751+
)}
752+
{item.badge === 'beta' && (
753+
<span className="ml-1.5 px-1 py-0.5 rounded text-[9px] font-semibold uppercase bg-blue-900/60 text-blue-300 leading-none">beta</span>
754+
)}
755+
{item.badge === 'embed' && (
756+
<span className="ml-1.5 px-1 py-0.5 rounded text-[9px] font-semibold uppercase bg-zinc-700/80 text-zinc-400 leading-none">embed</span>
757+
)}
749758
</Link>
750759
))}
751760
</div>

apps/web/src/components/mcp/nav-config.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,8 @@ export interface NavItem {
5252
icon: any;
5353
description?: string;
5454
variant: "default" | "ghost";
55+
/** Optional maturity badge shown in the sidebar nav. */
56+
badge?: 'beta' | 'experimental' | 'embed';
5557
}
5658

5759
export interface NavSection {
@@ -210,13 +212,15 @@ export const INTEGRATIONS_NAV: NavItem[] = [
210212
icon: Bot,
211213
description: "Integration status and controls for Open-WebUI connections.",
212214
variant: "default",
215+
badge: "embed",
213216
},
214217
{
215218
title: "OpenCode Autopilot",
216219
href: "/dashboard/autopilot",
217220
icon: Sparkles,
218221
description: "Legacy autopilot integration panel (migration in progress).",
219222
variant: "ghost",
223+
badge: "embed",
220224
},
221225
{
222226
title: "Jules",
@@ -231,6 +235,7 @@ export const INTEGRATIONS_NAV: NavItem[] = [
231235
icon: Network,
232236
description: "Harness view for DeerFlow-compatible execution paths.",
233237
variant: "ghost",
238+
badge: "experimental",
234239
},
235240
{
236241
title: "Memory Explorer",
@@ -249,6 +254,7 @@ export const CORE_DASHBOARD_NAV: NavItem[] = [
249254
{ title: "Health", href: "/dashboard/health", icon: Activity, variant: "ghost" },
250255
{ title: "Logs", href: "/dashboard/logs", icon: Terminal, variant: "ghost" },
251256
{ title: "Audit", href: "/dashboard/audit", icon: FileText, variant: "ghost" },
257+
{ title: "System", href: "/dashboard/system", icon: Server, description: "Operator console: uptime, subsystem health, boot status.", variant: "ghost" },
252258
{ title: "Documentation", href: "/docs", icon: BookOpen, variant: "ghost" },
253259
{ title: "Settings", href: "/dashboard/settings", icon: Settings2, variant: "ghost" },
254260
];
@@ -270,7 +276,8 @@ export const LABS_DASHBOARD_NAV: NavItem[] = [
270276
{ title: "Command", href: "/dashboard/command", icon: Terminal, description: "Execute slash commands and explore registered command handlers via a live REPL.", variant: "ghost" },
271277
{ title: "Tests", href: "/dashboard/tests", icon: FlaskConical, description: "Auto-test watcher: start/stop file-watch mode, view per-file pass/fail results.", variant: "ghost" },
272278
{ title: "Traffic Inspector", href: "/dashboard/inspector", icon: FileSearch, variant: "ghost" },
273-
{ title: "Workflows", href: "/dashboard/workflows", icon: Workflow, variant: "ghost" },
279+
{ title: "Workflows", href: "/dashboard/workflows", icon: Workflow, variant: "ghost", badge: "beta" },
280+
{ title: "Swarm", href: "/dashboard/swarm", icon: Users, description: "Horizontal multi-model delegation, adversarial debates, and consensus voting.", variant: "ghost", badge: "experimental" },
274281
{ title: "Library", href: "/dashboard/library", icon: Library, description: "Resource hub for scripts, skills, tool sets, memory, plans, and documentation.", variant: "ghost" },
275282
{ title: "Manual", href: "/dashboard/manual", icon: BookOpenText, variant: "ghost" },
276283
{ title: "Plans", href: "/dashboard/plans", icon: Lightbulb, variant: "ghost" },

0 commit comments

Comments
 (0)