feat: complete MC2 Kahlschlag (remove governor, memory, eigenleben, obsolete deploy scripts and frontend widgets)
Ampel / ampel (push) Successful in 24s
Ampel / ampel (push) Successful in 24s
This commit is contained in:
@@ -13,10 +13,8 @@ import { useLucyHealth, type Repair } from "@/lib/useLucyHealth"
|
||||
import { useDialog } from "@/lib/useDialog"
|
||||
import { cn } from "@/lib/utils"
|
||||
import { CockpitTile } from "./CockpitTile"
|
||||
import { MorgenlageCard } from "./MorgenlageCard"
|
||||
import { ErinnerungenCard } from "./ErinnerungenCard"
|
||||
import { SystemStatusCard } from "@/components/dashboard/SystemStatusCard"
|
||||
import { TokenPerformanceCard } from "@/components/dashboard/TokenPerformanceCard"
|
||||
import { LatencyCard } from "@/components/dashboard/LatencyCard"
|
||||
|
||||
// Öffnet die bestehende System-Schublade (Pflege/Logs) via globalem Event.
|
||||
@@ -115,15 +113,11 @@ export function CockpitView({ onNavigate }: { onNavigate: (v: string) => void })
|
||||
{/* Status-Zeile */}
|
||||
<StatusLine verdict={health.verdict} memory={health.memory} warns={health.warns} problems={health.problems} />
|
||||
|
||||
{/* Morgenlage — das jüngste Nacht-Gutachten (verschwindet, wenn keines da ist) */}
|
||||
<MorgenlageCard />
|
||||
|
||||
{/* Leistung — die Live-Graphen */}
|
||||
<section>
|
||||
<ZoneLabel>Leistung</ZoneLabel>
|
||||
<div className="grid gap-4 md:grid-cols-2">
|
||||
<div className="grid gap-4 md:grid-cols-1">
|
||||
<SystemStatusCard />
|
||||
<TokenPerformanceCard />
|
||||
</div>
|
||||
<div className="mt-4">
|
||||
<LatencyCard />
|
||||
|
||||
@@ -1,45 +0,0 @@
|
||||
import { useState } from "react"
|
||||
import { Moon, ChevronDown, ChevronRight } from "lucide-react"
|
||||
import { useChronik } from "@/lib/queries"
|
||||
|
||||
// Morgenlage: das jüngste Verdikt des nächtlichen Chef-Gutachters (gpt-oss urteilt im
|
||||
// Leerlauf über die autonome Arbeit; der Feed spiegelt es still in den Briefkasten).
|
||||
// Keine Lage vorhanden → Karte verschwindet ganz (Ruhe statt leerer Fläche).
|
||||
export function MorgenlageCard() {
|
||||
// Standard-Takt & -Limit: teilt sich den Cache-Eintrag mit der Chronik-View
|
||||
// (eigene Intervalle sind laut queries.ts-Regel tabu — kleinster Takt gewinnt eh).
|
||||
const { data: items = [] } = useChronik()
|
||||
const [open, setOpen] = useState(false)
|
||||
const lage = items.find((i) => i.source === "chef-gutachter")
|
||||
if (!lage) return null
|
||||
|
||||
const when = new Date(lage.ts * 1000).toLocaleString("de-DE", {
|
||||
weekday: "long", day: "2-digit", month: "2-digit", hour: "2-digit", minute: "2-digit",
|
||||
})
|
||||
// VERDIKT-Zeile als Kurzfassung herausziehen (Raster des Chef-Gutachters).
|
||||
const verdikt = lage.text.split("\n").find((l) => l.trim().startsWith("VERDIKT:"))?.replace(/^\s*VERDIKT:\s*/, "")
|
||||
|
||||
return (
|
||||
<div className="rounded-2xl border border-violet-500/25 bg-violet-500/[0.05] p-4 shadow-lg shadow-black/15 backdrop-blur-md">
|
||||
<button onClick={() => setOpen((o) => !o)} className="flex w-full items-center gap-3 text-left cursor-pointer">
|
||||
<span className="flex h-9 w-9 shrink-0 items-center justify-center rounded-xl border border-violet-500/30 bg-background/30 text-violet-300">
|
||||
<Moon className="h-4.5 w-4.5" />
|
||||
</span>
|
||||
<span className="min-w-0 flex-1">
|
||||
<span className="block text-sm font-bold text-foreground">Morgenlage</span>
|
||||
<span className="block truncate text-xs text-muted-foreground">
|
||||
{verdikt || lage.subject || "Nächtliches Gutachten über die autonome Arbeit"}
|
||||
</span>
|
||||
</span>
|
||||
<span className="shrink-0 text-[10px] text-muted-foreground/60">{when}</span>
|
||||
{open ? <ChevronDown className="h-4 w-4 shrink-0 text-muted-foreground" /> : <ChevronRight className="h-4 w-4 shrink-0 text-muted-foreground" />}
|
||||
</button>
|
||||
{open && (
|
||||
<div className="mt-3 border-t border-violet-500/15 pt-3">
|
||||
{lage.subject && <p className="mb-1 text-[10px] font-semibold uppercase tracking-wider text-violet-300/80">{lage.subject}</p>}
|
||||
<p className="whitespace-pre-wrap text-xs leading-relaxed text-foreground/85">{lage.text}</p>
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user