/* RFC-1065: lagebild.status command — read lagebild block from system-state.yaml, return connected boolean, no network calls. Do not spawn wrangler or fetch — state-only read. Do not modify system-state.yaml. RFC-1065: initial lagebild.status command handler. RFC-1097: step 6 — compass.migrate codemod run Mechanical v1 to v2 header migration across the workspace: 942 files rewritten — CHANGE_SUMMARY windows collapsed into history, forbidden v1 blocks stripped, KEY_DECISIONS seeded from @ai-invariant comments (5 files) or TODO placeholders (103 files), blocks reordered to canonical order. RFC-1097: sweep — werkstatt-engine clean Sweep batch 4: 73 Compass headers on headerless engine files (certification, component-runtime, isolation, evolution, testing), real KEY_DECISIONS on 75 files (kernel, cache, dht, swim, gitmesh, runtime), ~80 purpose expansions (CONTRACT-02/PURPOSE-02), non-goals on 13 CONTRACT-03 files, CS-07 history literal fix repo-wide (253 files). Policy: .template.ts/.template.astro excludedPaths. werkstatt-engine now 0 diagnostics. */ import type { KernelCommandInput, KernelCommandResult, KernelRuntimeContext, } from "@warpgogol/werkstatt-engine/kernel"; import { readSystemStateSmart } from "../sternsystem/registry-io.ts"; function flagString(input: KernelCommandInput, name: string): string | undefined { const v = input.flags[name]; return typeof v === "string" ? v : undefined; } export async function runLagebildStatus( input: KernelCommandInput, context: KernelRuntimeContext, ): Promise< KernelCommandResult<{ site: string; connected: boolean; apiUrl?: string; tenantId?: string; sourceSystemId?: string; connectedAt?: string; channel?: string; }> > { const systemId = flagString(input, "site"); if (!systemId) throw new Error("[lagebild.status] --site is required"); const workspaceRoot = context.workspaceRoot; const state = await readSystemStateSmart(workspaceRoot, systemId); const lagebild = state.lagebild; return { data: { site: systemId, connected: lagebild?.connected ?? false, apiUrl: lagebild?.apiUrl, tenantId: lagebild?.tenantId, sourceSystemId: lagebild?.sourceSystemId, connectedAt: lagebild?.connectedAt, channel: lagebild?.channel, }, }; }