UNPKG

@blundergoat/goat-flow

Version:

AI coding agent harness and local dashboard for Claude Code, OpenAI Codex, Google Antigravity, and GitHub Copilot - setup audits, guardrails, structured skills, deny hooks, and persistent learning loops.

53 lines 2.69 kB
/** * Advisory per-agent enforcement capability matrix. * * This summarizes what goat-flow can prove from local facts. It must not turn * structural setup checks into broader runtime-enforcement claims. */ import type { AgentFacts } from "../types.js"; import type { AuditScope } from "./types.js"; /** Non-gating strength labels for evidence the local audit can observe about an agent. */ export type EnforcementCapabilityStatus = "hard" | "limited" | "soft" | "missing" | "unknown"; type EnforcementCapabilitySource = "local-settings" | "local-hook" | "runtime-self-test" | "manifest" | "provider-docs" | "not-observed"; type EnforcementCapabilityId = "shell-dangerous" | "shell-pipe-to-shell" | "secret-file-read" | "secret-shell-read" | "hook-registration" | "hook-self-test" | "file-read-restrictions" | "file-write-restrictions" | "provider-native-enforcement"; /** One advisory row describing a single enforcement surface and the evidence behind it. */ interface EnforcementCapability { id: EnforcementCapabilityId; label: string; status: EnforcementCapabilityStatus; sources: EnforcementCapabilitySource[]; summary: string; evidence: string[]; } /** Per-agent enforcement summary attached to audit output without affecting pass/fail status. */ export interface AgentEnforcementCapability { agent: string; name: string; advisory: true; capabilities: EnforcementCapability[]; summary: Record<EnforcementCapabilityStatus, number>; } type DenyMechanismEvidenceLevel = "full" | "static" | "present-only"; /** Evidence-mode switches from the audit runner that affect how strongly hook checks can be claimed. */ interface BuildOptions { agentScope?: AuditScope; denyMechanismEvidenceLevel?: DenyMechanismEvidenceLevel | undefined; } /** * Build the advisory enforcement matrix for one agent. * * @param agentFacts Extracted local facts for the audited agent. * @param options Evidence-mode switches from the current audit run. * @returns Non-gating enforcement capability report for audit and dashboard output. */ export declare function buildAgentEnforcementCapability(agentFacts: AgentFacts, options?: BuildOptions): AgentEnforcementCapability; /** * Build the advisory enforcement matrix for every audited agent. * * @param agents Extracted local facts for all agents included in the audit. * @param options Evidence-mode switches from the current audit run. * @returns Non-gating enforcement reports in the same order as the input agents. */ export declare function buildEnforcementMatrix(agents: AgentFacts[], options?: BuildOptions): AgentEnforcementCapability[]; export {}; //# sourceMappingURL=enforcement.d.ts.map