@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.
38 lines • 1.84 kB
JavaScript
/**
* Cold-path content lint aggregator for `audit --check-content`. Runs the three content scanners
* (quality, factual-claim, snapshot-claim) over a single audit context and folds their findings
* into one ContentReport. Lives apart from the build checks because content linting is opt-in and
* far more expensive than the deterministic pass/fail checks the orchestrator always runs.
*/
import { runContentQualityChecks } from "./check-content-quality.js";
import { runFactualClaimChecks } from "./check-factual-claims.js";
import { runSnapshotClaimChecks } from "./check-snapshot-claims.js";
/**
* Combine content-quality, factual-claim, and snapshot-claim findings into a single ContentReport.
* Status is `fail` only when at least one warning-severity finding exists; info-only findings still
* report `pass` because they are advisory. Scanned-file counts are summed so coverage reflects all
* three scanners.
*
* @param ctx - audit context shared by every scanner; supplies the readonly FS, facts, and config
* @returns merged report whose `status` is `fail` when any finding has `warning` severity, else `pass`
*/
export function computeContent(ctx) {
const quality = runContentQualityChecks(ctx);
const factual = runFactualClaimChecks(ctx);
const snapshot = runSnapshotClaimChecks(ctx);
const findings = [
...quality.findings,
...factual.findings,
...snapshot.findings,
];
const warnings = findings.filter((f) => f.severity === "warning").length;
const infos = findings.filter((f) => f.severity === "info").length;
return {
status: warnings === 0 ? "pass" : "fail",
findings,
warnings,
infos,
filesScanned: quality.filesScanned + factual.filesScanned + snapshot.filesScanned,
};
}
//# sourceMappingURL=audit-content.js.map