К основному содержанию
скилл Claude Code CX Codex Cursor GitHub Copilot

mvcc — скилл для Claude Code: что делает и как установить

Справочник по экспериментальному MVCC в кодовой базе Turso: многоверсионность строк, изоляция снимков и ограничения памяти. Пригодится при отладке и разработке ядра базы данных.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add tursodatabase/turso --skill mvcc -a claude-code
Открыть на GitHub

Что делает mvcc

Скилл передаёт агенту контекст по Multi-Version Concurrency Control в кодовой базе Turso. Он описывает изоляцию снимков на уровне строк, формат логического журнала .db-log и структуру MvStore на базе crossbeam_skiplist. Основной код реализации сосредоточен в core/mvcc/database/mod.rs и занимает около 3000 строк.

Включается режим во время выполнения базы данных командой PRAGMA journal_mode = 'mvcc'. Документ прямо предупреждает: это незавершённая работа, непригодная для продакшена. Сборка мусора пока отсутствует, старые версии строк накапливаются в памяти, а сброс данных через чекпоинт блокирует даже чтение.

Внутри описаны правила запуска тестов через cargo test mvcc и make test-mvcc, а также макрос #[turso_macros::test(mvcc)]. Если ошибка не связана напрямую с MVCC, инструкция требует полностью игнорировать этот модуль при отладке.

Какие задачи решает

  • Разобраться в архитектуре MvStore и многоверсионности строк
  • Настроить порог сброса страниц через PRAGMA mvcc_checkpoint_threshold
  • Запустить специализированные тесты через cargo test mvcc
  • Учесть блокировки читателей при чекпоинтах во время отладки

Примеры запросов агенту

  • Объясни, чем изоляция строк в MVCC отличается от стандартного WAL в Turso
  • Как написать тест с атрибутом #[turso_macros::test(mvcc)]?
  • Какие файлы отвечают за логический журнал и чекпоинты в core/mvcc?

Как установить mvcc

1Через Skills CLI (Vercel)

npx skills add tursodatabase/turso --skill mvcc -a claude-code

2Вручную: положить файлы

~/.claude/skills/mvcc/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/mvcc/

Из того же набора10

Весь набор →
code-quality tursodatabase Набор правил корректности, Rust-паттернов и принципов без переусложнения для агентов, которые пишут код в вашем проекте. Claude Code CX Codex Cursor +1 1 800установок storage-format tursodatabase Справочник по формату файла SQLite: заголовок, страницы, B-деревья, ячейки, overflow и freelist, с привязкой к коду Turso. Claude Code CX Codex Cursor +1 1 300установок testing tursodatabase Скилл помогает писать тесты для SQL и Rust: учит выбирать между форматами .sqltest, TCL и интеграционными тестами, показывает команды для запуска. Claude Code CX Codex Cursor +1 1 300установок async-io-model tursodatabase Обучает агента архитектуре асинхронного ввода-вывода в Turso: явным стейт-машинам, типу IOResult и защите от багов повторного входа. Claude Code CX Codex Cursor +1 1 300установок debugging tursodatabase Скилл по отладке tursodb: сравнить байткод с SQLite, включить трейс-логи, прогнать ThreadSanitizer, воспроизвести баг по seed и замерить стек. Claude Code CX Codex Cursor +1 1 300установок index-knowledge tursodatabase Скилл автоматически создаёт иерархическую документацию AGENTS.md для кодовой базы. Анализирует структуру проекта, оценивает сложность каждой папки и генерирует файлы с инструкциями для ИИ-агентов. Claude Code CX Codex Cursor +1 1 300установок differential-fuzzer tursodatabase Скилл помогает запускать дифференциальный фаззер Turso и разбирать расхождения с SQLite. Нужен при поиске ошибок корректности в сгенерированных SQL-запросах. Claude Code CX Codex Cursor +1 1 200установок transaction-correctness tursodatabase Объясняет механику транзакций в Turso: как работает WAL, чекпоинты, восстановление после сбоя и правила конкурентного доступа. Claude Code CX Codex Cursor +1 1 200установок

Похожие

shap K-Dense-AI Скилл помогает агенту вычислять и проверять объяснения предсказаний ML-моделей через библиотеку SHAP. Пригодится для аудита алгоритмов и построения графиков влияния признаков. Claude Code CX Codex Cursor +1 2 000установок networkx K-Dense-AI Создаёт и анализирует графы в Python через NetworkX. Пригодится для поиска маршрутов, центральности, сообществ и работы с файлами графов. Claude Code CX Codex Cursor +1 2 000установок polars K-Dense-AI Скилл подключает справочник по Polars — библиотеке DataFrame для Python с expression-based API, ленивыми запросами и агрегациями для ETL и миграции с pandas. Claude Code CX Codex Cursor +1 2 000установок rag-architect https://github.com/Jeffallan Проектирует RAG-системы: разбивает документы на чанки, генерирует эмбеддинги, настраивает векторные базы, строит гибридный поиск и оценивает качество извлечения контекста. Claude Code CX Codex Cursor +1 4 700установок pyopenms K-Dense-AI Обрабатывает данные масс-спектрометрии в протеомике и метаболомике через pyOpenMS. Помогает находить сигналы, идентифицировать пептиды и собирать матрицы количественного анализа. Claude Code CX Codex Cursor +1 1 900установок polars-bio K-Dense-AI Считает геномные интервалы в Polars DataFrame и читает биоинформатические форматы от BED до CRAM. Пригодится, когда пайплайн на Python перерос bedtools. Claude Code CX Codex Cursor +1 1 900установок xlsx официальный anthropics Работает с табличными файлами: создаёт, читает, правит и преобразует книги. Подходит, когда итогом должен стать файл Excel или другой табличный формат. Claude Code Claude.ai 187 223установок google-agents-cli-observability официальный Google Помогает настроить трассировку и сбор данных о работе ИИ-агентов, включая агентов на ADK. Пригодится, когда нужно разбирать выполнение запросов или наблюдать за агентом после развёртывания. Claude Code CX Codex Cursor +1 509 900установок

Вопросы о mvcc

Как установить mvcc в Claude Code?

Выполните команду npx skills add tursodatabase/turso --skill mvcc -a claude-code. Агент получит правила и архитектурное описание модуля.

Что делает скилл mvcc?

Он предоставляет агенту документацию по экспериментальной подсистеме MVCC в Turso, описывая структуры памяти MvStore, журнал .db-log и отличия от WAL.

Готов ли этот режим к использованию в продакшене?

Нет, разработка ещё не завершена. В ней нет сборки мусора и восстановления из лога после перезапуска, а чекпоинты блокируют даже чтение.

Исходный текст

SKILL.md · MIT
---
name: mvcc
description: Overview of Experimental MVCC feature - snapshot isolation, versioning, limitations
---
# MVCC Guide (Experimental)

Multi-Version Concurrency Control. **Work in progress, not production-ready.**

**CRITICAL**: Ignore MVCC when debugging unless the bug is MVCC-specific.

## Enabling MVCC

```sql
PRAGMA journal_mode = 'mvcc';
```

Runtime configuration, not a compile-time feature flag. Per-database setting.

## How It Works

Standard WAL: single version per page, readers see snapshot at read mark time.

MVCC: multiple row versions, snapshot isolation. Each transaction sees consistent snapshot at begin time.

### Key Differences from WAL

| Aspect | WAL | MVCC |
|--------|-----|------|
| Write granularity | Every commit writes full pages | Affected rows only
| Readers/Writers | Don't block each other | Don't block each other |
| Persistence | `.db-wal` | `.db-log` (logical log) |
| Isolation | Snapshot (page-level) | Snapshot (row-level) |

### Versioning

Each row version tracks:
- `begin` - timestamp when visible
- `end` - timestamp when deleted/replaced
- `btree_resident` - existed before MVCC enabled

## Architecture

```
Database
  └─ mv_store: MvStore
      ├─ rows: SkipMap<RowID, Vec<RowVersion>>
      ├─ txs: SkipMap<TxID, Transaction>
      ├─ Storage (.db-log file)
      └─ CheckpointStateMachine
```

**Per-connection**: `mv_tx` tracks current MVCC transaction.

**Shared**: `MvStore` with lock-free `crossbeam_skiplist` structures.

## Key Files

- `core/mvcc/mod.rs` - Module overview
- `core/mvcc/database/mod.rs` - Main implementation (~3000 lines)
- `core/mvcc/cursor.rs` - Merged MVCC + B-tree cursor
- `core/mvcc/persistent_storage/logical_log.rs` - Disk format
- `core/mvcc/database/checkpoint_state_machine.rs` - Checkpoint logic

## Checkpointing

Flushes row versions to B-tree periodically.

```sql
PRAGMA mvcc_checkpoint_threshold = <pages>;
```

Process: acquire lock → begin pager txn → write rows → commit → truncate log → fsync → release.

## Current Limitations

**Not implemented:**
- Garbage collection (old versions accumulate)
- Recovery from logical log on restart

**Known issues:**
- Checkpoint blocks other transactions, even reads!
- No spilling to disk; memory use concerns

## Testing

```bash
# Run MVCC-specific tests
cargo test mvcc

# TCL tests with MVCC
make test-mvcc
```

Use `#[turso_macros::test(mvcc)]` attribute for MVCC-enabled tests.

```rust
#[turso_macros::test(mvcc)]
fn test_something() {
    // runs with MVCC enabled
}
```

## References

- `core/mvcc/mod.rs` documents data anomalies (dirty reads, lost updates, etc.)
- Snapshot isolation vs serializability: MVCC provides the former, not the latter

© tursodatabase · MIT · tursodatabase/turso

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой