- MCP create-backlog-item for natural language Plan/Epic/Task authoring - Worker non-code: optional worktree + per-harness allowlist + doc_review→published - Harness registry: harness_providers/role_harness_routes, WorkerAdapter (minimal|crewai|langgraph|remote-ag-ui), AG-UI POST /api/ag-ui, Settings → Harnesses with Test - Plans tree: backlog.listTree + createPlan/Epic/Task + Start→Convoy, web CRUD without CLI - Fleet: /fleet rollup across workspaces + SSE /api/fleet/events Decision: docs/decisions/2026-08-25-second-brain-os-pivot.md Convoy: .convoys/second-brain-os-v01 Co-authored-by: orchestrator
45 lines
1.7 KiB
TypeScript
45 lines
1.7 KiB
TypeScript
import Link from "next/link";
|
|
|
|
import { Logo } from "@/components/marketing/logo";
|
|
import { MarqueeStrip } from "@/components/marketing/marquee-strip";
|
|
|
|
const footerLinks = [
|
|
{ href: "/landing#features", label: "Capabilities" },
|
|
{ href: "/landing#manifest", label: "Manifest" },
|
|
{ href: "/landing/pricing", label: "Pricing" },
|
|
{ href: "/sign-in", label: "Sign in" },
|
|
] as const;
|
|
|
|
export function SiteFooter() {
|
|
return (
|
|
<footer className="bg-background">
|
|
<MarqueeStrip variant="light" />
|
|
<div className="mx-auto flex max-w-6xl flex-col gap-10 px-4 py-14 sm:px-6 md:flex-row md:items-start md:justify-between">
|
|
<div className="space-y-3">
|
|
<Logo size="sm" showTagline variant="light" />
|
|
<p className="max-w-xs font-marketing text-sm text-muted-foreground">
|
|
Subagents. Frontmatter. One workspace.
|
|
</p>
|
|
</div>
|
|
|
|
<nav className="flex flex-wrap gap-x-10 gap-y-3" aria-label="Footer">
|
|
{footerLinks.map((item) => (
|
|
<Link
|
|
key={item.href}
|
|
href={item.href}
|
|
className="font-mono-brand text-[11px] uppercase tracking-[0.16em] text-muted-foreground transition-colors hover:text-foreground"
|
|
>
|
|
{item.label}
|
|
</Link>
|
|
))}
|
|
</nav>
|
|
</div>
|
|
|
|
<div className="marketing-hard-rule" aria-hidden />
|
|
<div className="mx-auto flex max-w-6xl flex-col gap-2 px-4 py-5 sm:flex-row sm:items-center sm:justify-between sm:px-6">
|
|
<p className="font-mono-brand text-[11px] text-muted-foreground">© {new Date().getFullYear()} Submatter</p>
|
|
<p className="font-mono-brand text-[11px] text-muted-foreground">v2 · sbmtr.io</p>
|
|
</div>
|
|
</footer>
|
|
);
|
|
}
|