Add AI agent guidance and restructure Zero-Allocation Hashing docs #100
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.



Introduce shared AI/agent guidelines for Chronicle projects, add a Claude-specific contributor guide for this repository, and bring the Zero-Allocation Hashing documentation into line with the new en-GB / AsciiDoc house style and Nine-Box requirements taxonomy. Code changes are limited to documentation comments and very minor internal refactors; no runtime behaviour is intended to change.
Functional changes
No user-visible or API changes are intended.
Hashing algorithms
CityAndFarmHash_1_1andMurmurHash_3have small internal refactors (final locals, comment clarification, reordered local variable usage) that preserve the original logic and data flow.XxHash.hashLong(long)is slightly rearranged for clarity (input normalisation happens before hash initialisation), but the resulting hash value is unchanged.Access API Javadoc
Access.toCharSequence(java.nio.ByteOrder)has its@paramdocumentation reordered and clarified; method signature and behaviour are unchanged.Overall, no changes are expected to the hash outputs, performance characteristics, or public APIs. This PR should be behaviour-neutral.
Non-functional / documentation changes
New AI/agent house rules (
AGENTS.md)Add a repository-agnostic guide for AI agents, bots, and humans that covers:
micro-second,>=,:alpha:,:yes:.mvn -q verifyfrom repo root before opening PRs..adoc, tests, and code in sync; encourage doc-first for new work.ALL-*for global decisions.Claude-specific contributor guide (
CLAUDE.md)Add a detailed guide tailored to Claude Code for this repository:
LongHashFunction,LongTupleHashFunction,Access<T>,UnsafeAccess, string hashing strategies, and the supported algorithms (CityHash, FarmHash, MurmurHash3, xxHash, XXH3, wyHash, MetroHash).src/main/docs/*.adocaligned with code and tests, and reference ADRs in changes.Documentation structure & AsciiDoc header clean-up
README.adoc
Move project attributes into the header line and add:
:lang: en-GB:source-highlighter: rouge:pp: ++Keeps Chronicle branding and AsciiDoc attributes together in a consistent style.
Docs converted to proper document headers with attributes
Promote several
==section headings to top-level document titles (=) and add shared attributes::toc::lang: en-GB:source-highlighter: rougeApplies to:
algorithm-profiles.adocarchitecture-overview.adocchange-log-template.adocinvariants-and-contracts.adocperformance-benchmarks.adocspecifications.adoctesting-strategy.adocunsafe-and-platform-notes.adocReplaces the manual
toc::[]blocks with automatic table-of-contents via:toc:.Minor editorial fixes
Google's,Appleby's,>= 32 byteetc.).1-3,4-7,>=32).New decision log (
src/main/docs/decision-log.adoc)Introduce ADRs documenting key architectural choices, including:
sun.misc.Unsafefor memory access.Access<T>strategy pattern for input abstraction.Stringvalue access (compact strings).LongTupleHashFunctionand caller-managedlong[]buffers.New requirements document (
src/main/docs/project-requirements.adoc)Capture functional and non-functional requirements for Zero-Allocation Hashing:
ThreadLocal, extensibleAccesspattern).Specification & strategy docs aligned with house style
specifications.adoc,testing-strategy.adoc,invariants-and-contracts.adoc,performance-benchmarks.adoc, andunsafe-and-platform-notes.adocnow:= Titleheading style.:lang: en-GBand:source-highlighter: rouge.:toc:instead oftoc::[].Notes