# Sruja Architecture Context

This file is auto-generated by `sruja sync-ide-rules -r .`

## Architecture Overview

- Crates: 14
- Databases: 1

## Layers

### CORE ENGINE (6 crates)
No external dependencies allowed.

### EXTRACTION (2 crates)
No external dependencies allowed.

### DELIVERY (2 crates)
No external dependencies allowed.

### SECONDARY (4 crates)
No external dependencies allowed.

## Forbidden Patterns

- Lower-tier crates must not depend on higher-tier crates
- sruja-cli is the top-level aggregator — no other crate should depend on it
- WASM-only crates must not use native-only APIs (tree-sitter, fastembed)

## Architecture retrieval (MCP)

MCP: `sruja_list_architecture_index` → `sruja_get_topology` → `sruja_get_elements` → `sruja_get_task_context` (`cache_friendly` optional).
Compact brief: `llms-architecture.txt`. Full DSL only via MCP `sruja://architecture/main`.

## When suggesting code

1. Respect layer boundaries - check imports before suggesting
2. Use existing patterns in the codebase
3. If adding a new dependency, verify it does not violate boundaries
4. Run `sruja drift -r .` after changes to verify architecture health
