carve 0.1.1

Contributing

Carve is a clean-slate rewrite under Apache-2.0. Contributions are
welcome.

Ground rules

Sign-off

All commits must carry a Developer Certificate of Origin
sign-off:

git commit -s -m "your message"

This adds Signed-off-by: Your Name <email> to the commit and confirms that
you have the right to contribute the change under Apache-2.0.

Code style

Code-style and structural rules live in RULES.md. C++ follows the
Google style guide with
deviations encoded in .clang-format and
.clang-tidy. Build with --config=clang to use the bundled
toolchain.

Pre-commit

Install the local quality gates once, then they run on every commit:

pre-commit install
pre-commit run -a   # run against the whole tree

Tests

bazel test //...

For sanitizer runs:

bazel test //... --config=clang --config=asan --config=ubsan
bazel test //... --config=clang --config=msan  # Linux x86-64 only
bazel test //... --config=clang --config=tsan