# Documentation Structure (DX-91)

> Current runtime surface source: `uv run invar --help`, `uv run invar init --help`, `uv run invar dev --help`.

## Active File Roles

| File | Role | Owner | Sync Path |
|------|------|-------|-----------|
| `INVAR.md` | Protocol rules and architecture constraints | Invar managed | `invar init` and `invar dev sync` overwrite managed output |
| `CLAUDE.md` | Project-specific guidance + managed invar block | Mixed (managed block + user content) | `invar init` and `invar dev sync` merge managed block only |
| `.pre-commit-config.yaml` | Optional local pre-commit integration | User-managed with Invar merge helper | `invar init` creates/merges (not `invar dev sync`) |

## DX-91 Command Ownership Notes

- Active commands include `guard`, `version`, `map`, `sig`, `refs`, `rules`, `init`, `mcp`, `doc`, and `dev sync`.
- `invar update` is not part of the active DX-91 runtime command surface.
- `.claude/commands/` and skill/hook scaffolds are not active DX-91 generated surfaces.
- `.invar/context.md` is a legacy artifact that can be backed up during migration, but is not generated by fresh `invar init` and not managed by `invar dev sync`.

## Historical Classification

The following references are retained as historical/archive records and are not active runtime contracts:

- USBV ceremony docs: `docs/reference/workflow/usbv.md`
- Agent skill-era docs: `docs/proposals/completed/LX-07-extension-skills.md`
- Legacy context-heavy hierarchy docs: `docs/proposals/completed/DX-54-agent-native-context-management.md`

When historical terms (for example `invar update`, `/audit`, `/guard`, `skills`, `hooks`) appear in archive/proposal pages, treat them as non-active guidance unless explicitly reintroduced by runtime help output.
