Skip to content

Architecture diagrams

Interactive diagrams of the paths that are hard to hold in your head from prose alone. Each one has guided views — pick one from the sidebar and it walks you through a specific question rather than dumping the whole picture at once.

Pan and zoom work inside each diagram; use the Export button for a static copy.

The diagrams

Layer Dependency Contract

The six import-linter contracts from pyproject.toml, drawn. Arrows are permitted imports. Shows the five peer layers (including _gate, the one most often forgotten), the foundation stack, and the one direction that is still ungoverned because exclude_type_checking_imports = true hides it.

System Data Flow

Four delivery surfaces — CLI, HTTP, Lambda, TUI — collapsing through adapters into a single core pipeline. The point of the diagram is that below the adapter line there is only one execution path, so a job behaves identically whichever surface launched it.

Application Boot Sequence

The six ordered phases in _app/boot.py, ending at the REGISTRY_FROZEN point after which no further provide() calls are accepted, and APP_READY before the adapter takes over delivery.

Job Execution Lifecycle

JobExecutionEngine's ordering contract: config resolution, argument validation and the workflow prelude all complete before PRE_EXECUTE fires, and a validation or dependency failure exits through one path where AFTER_FAILURE fires but the job body never runs.

Job & Config Resolution

Two independent pipelines — Provider → Transform → Registry for job discovery, and ResolutionChain's ordered source lookup for configuration — and where the two converge at the execution engine.

Regenerating them

The JSON spec is the source of truth; the HTML is a reproducible build product (deliver is a pure compiler — the same spec renders byte-identically).

node ~/.claude/skills/archify/bin/archify.mjs deliver <type> \
  contributor/architecture/diagrams/<name>.json \
  docs/diagrams/<name>.html --quality showcase

Specs live in contributor/architecture/diagrams/. Where a diagram and the code disagree, the code wins and the diagram is the bug.