Skip to content

Latest commit

 

History

History
75 lines (55 loc) · 4.3 KB

File metadata and controls

75 lines (55 loc) · 4.3 KB

Documentation

Start with the page closest to what you need:

Using Enola

Page Covers
CLI.md Installation, agent integration, commands, flags, exit codes, scope controls, reviewer routing and the dashboard.
FIRST-CHANGE.md The loop end to end on a module small enough to read: declare a layer order, pin, change, grade, and hold the change to its declared scope. The same rule is shown in Go and TypeScript.
CLUSTERS.md Two services in one graph: how client calls are matched to server routes across repositories, and how unresolved calls are reported.
DASHBOARD.md Reviewing a change visually, following dependencies, verifying snapshot provenance and judging analysis completeness.
RAILS.md The Rails workflow from installation through a graded change, with the output from each step.

Change analysis

Page Covers
EXPLAINERS.md The eighteen structural checks, confidence levels, and how before/after comparison isolates findings introduced by a change.
SNAPSHOTS.md Why Enola computes addressable snapshots instead of maintaining one continuously updated graph.
HISTORY.md log, show, diff, blame, gc and history - the recorded timeline of a repository's architecture, what it costs to keep, and how to share it across machines.

Evidence and limitations

Page Covers
BENCHMARKS.md Reproducibility, delta precision, cross-repository coverage and scale, measured on public repositories with scripts you can rerun.
BLIND-SPOTS.md Six reproducible failures against public codebases, including a bug found in Enola itself.

Architecture policy

Page Covers
INTENT.md Declaring services, layers, dependencies and cross-repository seams in repository, cluster or page metadata.
CONSTRAINTS.md Components, architecture rules, enforcement modes, exemptions, recipes and Ruby-authored laws.

Building on Enola

Page Covers
INTEGRATING.md Run Enola as a subprocess and load its snapshot artifacts into another store.

Extending the graph

Page Covers
PROVIDERS.md Adding facts from Rubydex, runtime observations, RBS and Sorbet through the fail-closed provider interface.
extraction/ What each language extractor records, with examples from committed fixtures and its known limits.
EXTENDING.md Teaching Enola a connection it does not know through binders, cross-repository signals and linking: configuration.

Reference

Page Covers
schema/ The documented on-disk format of the snapshot artifacts (facts.jsonl, insights.json, receipt.json): field names, kind and relation vocabularies, the identity convention, and how format changes are versioned.
GLOSSARY.md Terms used in Enola output, including findings, baselines, receipts, coverage gaps and incidental shifts.
ARCHITECTURE.md The fact model, pipeline, graph, MCP tools and value model.
CHANGELOG.md Every released version, newest first.

Contributing

CONTRIBUTING.md covers the development workflow. Documentation has two build-enforced rules:

  • Counts and backticked repository paths are checked against the code. Historical measurements that intentionally keep an older count are waived by name and reason in internal/docslint.
  • Every page under docs/extraction/ must state its limits, and the extraction index must list every page.

Prose has no compiler; internal/docslint is the closest thing this repository has.