@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.
36 lines • 2.35 kB
TypeScript
/**
* Shared building blocks for the agent-setup check families. Holds the provenance-record factories
* every agent check uses to stamp its evidence (so source type and verification date stay consistent
* across checks), a path-dedupe helper, and the instruction-file precondition guard. Splitting these
* out keeps the per-check files focused on their own assertions rather than re-declaring boilerplate.
*/
import type { AuditContext, AuditFailure } from "./types.js";
import type { CheckEvidence } from "./provenance-types.js";
/**
* Build a `spec`-typed provenance record for an agent check - evidence whose authority is a written
* specification rather than a past incident. Source type, empty URL list, the shared verification
* date, and `MUST` normative level are fixed; only the evidence paths vary per check.
*
* @param paths - repo-relative files that back the check (the spec docs or instruction files it reads)
* @returns a spec-sourced evidence record carrying those paths and the module's shared `verified_on` date
*/
export declare function specProvenance(paths: string[]): CheckEvidence;
/**
* Build an `incident`-typed provenance record for an agent check - evidence whose authority is a past
* failure captured in a footgun or lesson rather than a spec. Identical shape to `specProvenance`
* apart from the source type; the citation lives in `evidence_paths`, hence the empty URL list.
*
* @param paths - repo-relative files that back the check, typically the footgun/lesson recording the incident
* @returns an incident-sourced evidence record carrying those paths and the module's shared `verified_on` date
*/
export declare function incidentProvenance(paths: string[]): CheckEvidence;
/**
* Deduplicate provenance paths while preserving first-seen order for stable audit output. Order is
* preserved deliberately so combined evidence lists stay deterministic across runs.
*
* @param paths - evidence paths to dedupe, possibly with repeats from merging several checks' lists
* @returns the same paths with later duplicates removed, first occurrence kept in original order
*/
export declare function uniquePaths(paths: string[]): string[];
export declare function checkSelectedInstructionAvailable(ctx: AuditContext, check: string): AuditFailure | null;
//# sourceMappingURL=check-agent-common.d.ts.map