vaultik/CLAUDE.md
sneak 86b533d6ee Refactor blob storage to use UUID primary keys and implement streaming chunking
- Changed blob table to use ID (UUID) as primary key instead of hash
- Blob records are now created at packing start, enabling immediate chunk associations
- Implemented streaming chunking to process large files without memory exhaustion
- Fixed blob manifest generation to include all referenced blobs
- Updated all foreign key references from blob_hash to blob_id
- Added progress reporting and improved error handling
- Enforced encryption requirement for all blob packing
- Updated tests to use test encryption keys
- Added Cyrillic transliteration to README
2025-07-22 07:43:39 +02:00

1.3 KiB

Rules

Read the rules in AGENTS.md and follow them.

Memory

  • Claude is an inanimate tool. The spam that Claude attempts to insert into commit messages (which it erroneously refers to as "attribution") is not attribution, as I am the sole author of code created using Claude. It is corporate advertising for Anthropic and is therefore completely unacceptable in commit messages.

  • Tests should always be run before committing code. No commits should be made that do not pass tests.

  • Code should always be formatted before committing. Do not commit unformatted code.

  • Code should always be linted before committing. Do not commit unlinted code.

  • The test suite is fast and local. When running tests, don't run individual parts of the test suite, always run the whole thing by running "make test".

  • Do not stop working on a task until you have reached the definition of done provided to you in the initial instruction. Don't do part or most of the work, do all of the work until the criteria for done are met.

  • We do not need to support migrations; schema upgrades can be handled by deleting the local state file and doing a full backup to re-create it.

  • When testing on a 2.5Gbit/s ethernet to an s3 server backed by 2000MB/sec SSD, estimate about 4 seconds per gigabyte of backup time.