SBK coding-agent instructions
This is the compact compatibility entry point for tools that look for INSTRUCTIONS.md. The authoritative repository rules are in AGENTS.md; read that file before changing code.
Required context
Non-negotiable facts
- SBK is a Java 25 multi-project Gradle build; use
./gradlew.
- The dependency direction is
perl <- sbk-api <- drivers.
- Drivers implement
Storage<T> and should leave general scheduling and timing to the harness.
- Every enabled driver appears in both
settings-drivers.gradle and build-drivers.gradle.
- Checkstyle is strict, including import-package allow-listing.
- Do not add synchronization or avoidable allocation to driver operation paths.
- Do not hand-edit generated Javadocs.
- HaloDB and Ignite are disabled;
sbktemplate is not a runtime driver.
- MinIO 8.5.17 is intentionally pinned for older S3-compatible backend behavior.
Normal workflow
- Inspect the working tree and preserve unrelated changes.
- Read the affected source, its module build file, and the nearest documentation.
- Make a focused change.
- Run the affected module check.
- Run the full build and distribution verification when feasible.
- Smoke-test driver behavior against the relevant backend.
- Update documentation and report exact verification results.
git status --short
./gradlew :<module>:check
./gradlew check
./gradlew installDist
git diff --check
After dependency changes:
./gradlew clean :pathingJar installDist --rerun-tasks
Actions requiring explicit authority
Do not infer permission to publish, push, tag, rewrite history, change the project version or license, add a new top-level module, re-enable HaloDB, or upgrade the pinned MinIO client. See AGENTS.md for the complete constraints and definition of done.