@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.
30 lines • 2.3 kB
TypeScript
/**
* Top-level orchestration of the skill-quality scoring pipeline. Wires the stages together -
* classify the artifact, detect its semantic shape, compose its scoring surface, run every metric,
* then derive a recommendation - and returns the assembled SkillQualityReport.
*
* Three entry points sit at different I/O levels: `scoreContent` is pure (content passed in, no
* disk read) for uploads and pastes; `scoreArtifact` reads one artifact from disk first; and
* `scoreAllArtifacts` walks the inventory and scores everything. Keep `scoreContent` the shared
* core so disk-backed and in-memory scoring stay identical.
*/
import { type QualityConfig } from "./quality-config.js";
import type { ArtifactEntry, ComposeOptions, SkillQualityReport } from "./skill-quality-types.js";
/**
* Score raw content against the rubric without reading any file from disk.
* Used by both `scoreArtifact` (which reads first) and `evaluateContent`
* (which gets content from an upload or paste).
*
* @param projectRoot - absolute project root; used for path-relative composition, not as a read key.
* @param artifact - inventory record being scored; its kind/path drive classification and composition.
* @param rawContent - the artifact text to score; supplied by the caller, never re-read here.
* @param config - resolved quality config providing subtype profiles, caps, and composition sources.
* @param preReadNotes - notes from an earlier disk read (e.g. truncation) prepended to `fitNotes`.
* @param options - composition toggles; pass `scanDisk: false` for uploads so sibling files are not read.
* @returns the full report - score, capped metric rows, classification, shape, and recommendation;
* `shapeMismatch` true means the content shape differs from the scored subtype and needs review.
*/
export declare function scoreContent(projectRoot: string, artifact: ArtifactEntry, rawContent: string, config: QualityConfig, preReadNotes?: string[], options?: ComposeOptions): SkillQualityReport;
export declare function scoreArtifact(projectRoot: string, artifact: ArtifactEntry, config?: QualityConfig): SkillQualityReport;
export declare function scoreAllArtifacts(projectRoot: string, config?: QualityConfig): SkillQualityReport[];
//# sourceMappingURL=skill-quality-score.d.ts.map