ought-analysis 0.2.1

LLM-powered analysis: survey, audit, blame, bisect
Documentation

ought-analysis

LLM-powered analysis passes over specs and run results: survey, audit, blame, bisect.

Where ought-gen writes tests and ought-run executes them, this crate reasons about why things look the way they do — uncovered behaviors in source code, contradictions between specs, the likely cause of a regression.

Responsibilities

  • Scan source directories for behaviors not covered by any spec (survey).
  • Cross-check specs for contradictions, duplication, and gaps (audit).
  • Correlate a failing clause with git history and produce a narrative explanation (blame).
  • Binary-search git history to find the breaking commit for a clause (bisect).

Notable public API

  • survey::survey(&specs, &paths) -> SurveyResult — returns UncoveredBehaviors with suggested clause text, keyword, and target spec.
  • audit::audit(&specs) -> AuditResultAuditFindings classified by AuditFindingKind, each linking the implicated clauses.
  • blame::blame(&clause_id, &specs, &run_result) -> BlameResult — timeline, likely commit, and LLM narrative for a failing clause.
  • bisect::bisect(&clause_id, &specs, runner, &BisectOptions) -> BisectResult — identifies the CommitInfo where a clause started failing.