Ctrl K
ComunidadGuías…

CLAUDE.md

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
## Diamond architecture essentials

Before modifying any crate, read:

- `docs/architecture/forward-compat-invariants.md` — 8 patterns + 10 rules
  + post-1.0 reservation policy (amended D-2026-06-20-N1 · was "v0.95/v0.100").
  **Non-negotiable.** Every admitted crate passes Gate 12 against this document.
- `docs/architecture/crate-layer-registry.md` — L0 → L4 layer discipline,
  allowed I/O axes, enforcement by `scripts/ci/check-layering.sh`.
- `ROADMAP.md` — the status of the 0.124 line (work stays focused on maintenance, security and the media capabilities workflows need; native video is planned for 0.125; no 1.0 launch planned), then the historical real-semver plan (amended D-2026-06-20-N1 · was "forever-v0.x"). The CHANGELOG top names the current release (never quote a number here — it rots).

### Workspace layout

Crates live under `crates/nika-*` (renamed from `tools/` during the L0-foundation phase).

### Hygiene vectors

Hygiene runs via `scripts/hygiene/check-all.sh` (exit 0 green, 1 yellow
only, 2 red). The script is the list of vectors: layering, security axes,
unsafe dependencies, license consistency, no async in L0, typed errors,
status and release carriers, advisories and more. Do not quote a count
here. Formatting and clippy on the touched crates run pre-commit; the
workspace tests, the whole hygiene suite and the CI ratchets run in the
pre-push gate (`lefthook.yml`, `scripts/pre-push/gate.sh`).

### Forward-compat invariants are non-negotiable

Public API surface is protected by `cargo public-api`, `cargo semver-checks`,
`cargo deny`, and the `#[non_exhaustive]` ratchet on every public type.
Any change to a reserved trait or DTO that is not strictly additive fails
CI. See the invariants doc for the full Gate 12 checklist.