Intelligence
Artifacts
Browse the repository, read documents, and manage the governance folders. Source, runtime, and infrastructure are read-only.
Repository
repositories/aaf-holdings/hq01/app/assignments/page.tsx
1.7 KB
import { GitBranch } from "lucide-react";
import { PageHeader } from "@/components/layout/page-header";
import { StatusBadge } from "@/components/shared/status-badge";
import { RecordRow, RecordList } from "@/components/shared/record-row";
import { EmptyState } from "@/components/shared/empty-state";
import { getAssignments } from "@/lib/content/assignments";
export const dynamic = "force-dynamic";
export const metadata = { title: "Assignments" };
export default function AssignmentsPage() {
const assignments = getAssignments();
return (
<div>
<PageHeader
eyebrow="Operate"
title="Assignments"
description="Assignments are executable work dispatched to workers. They terminate; the intelligence they produce is preserved."
/>
{assignments.length === 0 ? (
<EmptyState
icon={GitBranch}
title="No assignments"
description="Assignments appear here from assignment.md files. They are the leaf of the execution model — created from work orders, run in isolated worktrees."
hint="src/assignments/A-XXXX/assignment.md"
/>
) : (
<RecordList>
{assignments.map((a) => (
<RecordRow
key={a.id}
href={`/assignments/${a.id}`}
id={a.id}
title={a.title}
description={a.objective}
badges={
<>
{a.workerTemplate !== "—" && (
<span className="text-xs text-muted-foreground">{a.workerTemplate}</span>
)}
<StatusBadge status={a.status} />
</>
}
/>
))}
</RecordList>
)}
</div>
);
}
root · /srv/aaf