# ancora v1.0.0-rc.1 - Table of Contents

> Spec-anchored traceability and drift detection for Elixir.

## Pages

- [Ancora](readme.md)
- [Changelog](changelog.md)
- [LICENSE](license.md)
- [NOTICE](notice.md)
- [Migrating from spec_led_ex](migration.md)

## Modules

- [Ancora](Ancora.md): Spec-anchored traceability and drift detection for Elixir.

- [Ancora.AppendOnly](Ancora.AppendOnly.md): Diff-time append-only detectors. Exactly two guards
- [Ancora.BaseView](Ancora.BaseView.md): Materializes a git ref's blobs via `ls-tree` and `Ancora.Git.read_blob/2`.
Parsing of those files is a later stage's job.
- [Ancora.Canonical](Ancora.Canonical.md): Canonical form used by the source drift detector.
- [Ancora.ChangeAnalysis](Ancora.ChangeAnalysis.md): Diff-scoped findings for uncovered source, governance changes, and new requirements.

- [Ancora.Config](Ancora.Config.md): Loader and schema for `.spec/config.yml`.
- [Ancora.DecisionParser](Ancora.DecisionParser.md): Parses `.spec/decisions/*.md` ADR files.
- [Ancora.Derive](Ancora.Derive.md): Data construction for source-derived call resolution.
- [Ancora.Derive.Ack](Ancora.Derive.Ack.md): Detects substantive subject-spec acknowledgment from parsed YAML blocks.
- [Ancora.Derive.ChangeSet](Ancora.Derive.ChangeSet.md): Diff-scoped change set: `git diff --name-status --no-renames <base>` union
`git status --porcelain --untracked-files=all`, with serial base-blob prefetch
through the run's batch port.

- [Ancora.Derive.Compare](Ancora.Derive.Compare.md): Computes growth, shrink, and diff-scoped source drift for one subject.

- [Ancora.Derive.DefIndex](Ancora.Derive.DefIndex.md): Source-derived function and macro index for project modules.
- [Ancora.Derive.Extract](Ancora.Derive.Extract.md): Extracts source-ordered clauses for one module, function, and arity.
- [Ancora.Derive.Membership](Ancora.Derive.Membership.md): Source-derived project membership for each side of a diff.
- [Ancora.Derive.ModuleLocator](Ancora.Derive.ModuleLocator.md): Locates literal modules in project source on both sides of a diff.
- [Ancora.Derive.Resolver](Ancora.Derive.Resolver.md): Pure, two-pass source resolver for calls in tagged test files.
- [Ancora.Derive.RunContext](Ancora.Derive.RunContext.md): Per-run detector context: an unnamed ETS memo table and the git batch port,
both passed by reference. Nothing here is named, registered, or written to disk.

- [Ancora.Finding](Ancora.Finding.md): Closed 30-code finding registry: the single source every other module reads.
- [Ancora.Gate](Ancora.Gate.md): Assembles preflight, corpus, diff, derivation, comparison, and finding stages.

- [Ancora.Gate.Preflight](Ancora.Gate.Preflight.md): Resolves the target project, configuration, and comparison base before the gate runs.
- [Ancora.Git](Ancora.Git.md): The only git subprocess spawner in ancora.
- [Ancora.Git.BatchPort](Ancora.Git.BatchPort.md): One `git cat-file --batch` port per run.
- [Ancora.Json](Ancora.Json.md): JSON encoding for gate reports.
- [Ancora.Markdown](Ancora.Markdown.md): Renders spec and decision prose from Earmark's AST without trusting raw HTML.

- [Ancora.ModalClass](Ancora.ModalClass.md): Pure classifier for the normative strength of a requirement statement.
- [Ancora.Next](Ancora.Next.md): Classifies the current change set and reports the next spec-led action.
- [Ancora.Output](Ancora.Output.md): The only stdout writer in ancora.
- [Ancora.Output.Verdict](Ancora.Output.Verdict.md): The only producer of the `result=` string.
- [Ancora.Overlap](Ancora.Overlap.md): Head-only semantic-overlap detector for authored `.spec/` content.
- [Ancora.Parser](Ancora.Parser.md): Parses `.spec/specs/*.spec.md` files.
- [Ancora.PolicyFiles](Ancora.PolicyFiles.md): File-kind classification and the governance-file set for `change/missing_decision`.
- [Ancora.Prime](Ancora.Prime.md): Composes status, current-change guidance, and the local agent loop.

- [Ancora.ProjectInfo](Ancora.ProjectInfo.md): Target-project identity read from source, without loading the target project.
- [Ancora.Review](Ancora.Review.md): Builds the data model for the self-contained spec review artifact.
- [Ancora.Review.FindingsDelta](Ancora.Review.FindingsDelta.md): Computes repo-state findings on both sides and classifies the change.
- [Ancora.Review.Html](Ancora.Review.Html.md): Renders the review view-model as one self-contained HTML document.
- [Ancora.Severity](Ancora.Severity.md): Per-finding severity resolver.
- [Ancora.Status](Ancora.Status.md): Builds the source-derived corpus status report.
- [Ancora.SubjectFiles](Ancora.SubjectFiles.md): Computes subject file footprints from tagged tests and derived definitions.

- [Ancora.TagFindings](Ancora.TagFindings.md): Repo-state findings from a tag scan. Tags are always on: there is no
enforcement toggle.
- [Ancora.TagScanner](Ancora.TagScanner.md): Discovers `@tag spec:`, `@moduletag spec:`, and `@describetag spec:`
values in ExUnit files.
- [Ancora.TaskArgs](Ancora.TaskArgs.md): Shared validation of `OptionParser` leftovers for spec mix tasks.
- [Ancora.TempName](Ancora.TempName.md): Cross-VM collision-proof suffixes for temp file and directory names.
- [Ancora.Trailer](Ancora.Trailer.md): Parses `Spec-Ack:` git trailers into a severity override map.
- [Ancora.Verifier](Ancora.Verifier.md): Structural verifier: target/cover/duplicate/decision-ref checks.

## Mix Tasks

- [mix spec.check](Mix.Tasks.Spec.Check.md): Checks the target corpus and source-derived bindings against a git base.
- [mix spec.decision.new](Mix.Tasks.Spec.Decision.New.md)
- [mix spec.init](Mix.Tasks.Spec.Init.md)
- [mix spec.next](Mix.Tasks.Spec.Next.md): Classifies the current git change set and prints one suggested check command.
- [mix spec.prime](Mix.Tasks.Spec.Prime.md): Prints status, current-change guidance, and the default local loop.
- [mix spec.review](Mix.Tasks.Spec.Review.md)
- [mix spec.status](Mix.Tasks.Spec.Status.md): Reports corpus counts and per-subject source-derived binding counts.
- [mix spec.validate](Mix.Tasks.Spec.Validate.md): Validates the target corpus without compiling the target project.

