enola/Docs/Workflows

Documentation

Work with the architecture

Generate the model once, then use it to orient, plan, inspect, and verify.

01 · Start

Generate or refresh the snapshot

Ask your agent to generate an architectural snapshot of the current project. Refresh it after substantial edits so later queries use the current graph.

Without an agentshell
enola --generate

This analyzes the configured repository—or the current repository when no configuration is present—and writes persistent artifacts to .enola/. For a terminal report that writes no artifacts, use enola --explain ..

02 · Understand

Orient in an unfamiliar codebase

Ask your agenttext
Give me a tour of the main modules and how they relate.
Show the routes, storage, and external dependencies.
Where should I start reading to understand authentication?

The agent can begin with explore, then use query_facts, traverse, or find_path when it needs a precise answer.

03 · Analyze

Plan a change from its blast radius

Ask your agenttext
I need to change AuthService. What depends on it?
Group the impact by distance and tell me which repositories are affected.
Show the path from the login route to token storage.

impact_analysis walks reverse dependencies; find_path explains a specific connection. Results are bounded by the edges resolved by the active extractors.

04 · Inspect

Review architectural findings

Ask your agenttext
Show newly introduced cycles and layer violations.
Where are the call-graph hotspots and complexity outliers?
Which routes have no caller in the repositories currently loaded?

Use query_insights for computed findings. Confidence and evidence belong to each finding; an unused route means no loaded client was linked, not that no runtime caller exists.

05 · Intent

Check the rules before the edit

Use governing_intent to find the declarations covering a target, then constraints_for to see its rules, exemptions, and guidance. For a planned set of paths or a patch, use plan_check before changing the tree.

Intent compares declared boundaries with extracted relationships. It does not infer intent from prose or commit messages. See Intent and constraints for declarations, modes, and coverage limits.

06 · Verify

Compare what changed

Manual change loopshell
enola baseline pin
# make the change
enola check

The result contains only the delta against the pinned baseline. For policy controls, hooks, CI, target scope, and spillover, continue to Change control.

07 · History

Trace architectural changes

architecture_history summarizes recorded architectural changes over time. architecture_blame identifies when a fact, relation, or finding entered or left the recorded architecture. Use them when the question is “when did this change?” rather than “what is true now?”