#146 called the numbered schema files a bootstrap and said vaultik has no upgrade path between versions. That was wrong: they are migrations, and database.New applies any the database has not recorded. None are added before 1.0 because nothing is installed anywhere yet; after 1.0 each schema change is a new numbered file and the local database is migrated on update. docs/DATAMODEL.md gets a Schema Migrations section that owns the explanation. The README caveat and roadmap entry and AGENTS.md policy 13 say the same and link to it. CLAUDE.md, the owner's file, gets a one-line edit so it no longer says migrations are not needed. Model: opus-5-5
1.7 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.
-
NEVER use
git add -A. Always add only the files you intentionally changed. -
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 add migrations before 1.0; 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.
-
When running tests, don't run individual tests, or grep the output. run the entire test suite every time and read the full output.
-
When running tests, don't run individual tests, or try to grep the output. never run "go test". only ever run "make test" to run the full test suite, and examine the full output.