"use client"; import React from "react"; import { Bot, Cpu, Zap, ShieldCheck } from "lucide-react"; import { Card, CardBody, CardHeader, CardTitle } from "@/components/ui/Card"; import { Badge, JobStatusBadge } from "@/components/ui/Badge"; import { EmptyState } from "@/components/ui/EmptyState"; import { MetricCard } from "@/components/ui/MetricCard"; export default function AiAgentsPage() { return (

AI Agents

α · Alpha

ASF AI Gateway — provider-agnostic inference, policy routing and usage metering. Interfaces are ready, runtime behaviors are stabilizing.

Gateway abstraction OK No provider lock-in
} subtitle="NVIDIA DGX · OpenAI compat · local" /> } delta={2.1} /> } subtitle="Cost ceilings, model allowlists" /> } />
Agent registry 0 active · 5 templates
{[ { name: "Traceability Analyst", desc: "Recommends missing links across the artifact graph.", model: "routing default", status: "queued" }, { name: "Test Generator", desc: "Generates unit tests for a selected Task artifact.", model: "code-model", status: "running" }, { name: "Incident Responder", desc: "Traces an incident backwards to its offending commit/PR.", model: "reasoning-model", status: "queued" }, { name: "Requirement Cleric", desc: "Refines ambiguous requirements and proposes acceptance criteria.", model: "reasoning-model", status: "completed" }, { name: "Impact Predictor", desc: "Estimates blast radius for a proposed requirement change.", model: "routing default", status: "queued" }, ].map((a) => (
{a.name}
{a.desc}
{a.model}
))}
AI Gateway Interfaces
Provider adapter pattern

Business logic depends on asf-ai interfaces only. Real providers plug in without touching domain code.

    {[ "Model routing by task + tenant policy", "Usage metering (tokens, GPU-s, $)", "Priority queues + cost ceilings", "Audit log of every inference", ].map((t) => (
  • {t}
  • ))}
Hint: use ⌘ K → Ask ASF to try the interactive query interface.
); }