Add agent guidance and quality profile for Zero-Allocation Hashing#100
Merged
Conversation
james-mcsherry
approved these changes
Nov 28, 2025
|
Pruning back the cosmetic churn that crept in via the lint/refactor commits and fixing real bugs in the new docs. Reverts to develop: - WyHash.java, XXH3.java: undo _wymum/wyMum and XXH3_*/xxh3* renames so the source keeps visual parity with the upstream xxHash/wyHash C references. The same parity gap is already handled with @SuppressWarnings("checkstyle:MethodName") in LongHashFunction (kept). - MurmurHash_3.java: undo the main 16-byte loop reorder (no JMH evidence attached) and revert the re-indented commented-out megaSwitch scratch. - XxHash.java: undo the hashLong(long) seed init reorder. - Access.java, Primitives.java, CityAndFarmHash_1_1.java: revert one-liner -> 4-line expansions and the static-private vs private-static reorderings. Kept @OverRide annotations on ByteOrderHelperReverse (real fix, not churn). - .gitignore, java-stub Math.java/Unsafe.java, sun/nio/ch/DirectBuffer.java, *Test.java: revert blank-line-only changes. - src/main/java/sun/nio/ch/package-info.java: removed - shipping a package-info for a JDK-owned package risks split-package issues; the existing DirectBuffer stub did not need it. Bug fixes kept on this branch: - DualHashFunction.java: Javadoc now precedes @ParametersAreNonnullByDefault (was placed between annotation and class declaration). - XXH3.java:180 indentation fix (carried by the develop checkout). - README.adoc: deduplicate :lang: and :source-highlighter: attributes that had been written twice; promote heading to level-0 = to match the other docs that gained :toc:. - algorithm-profiles.adoc, architecture-overview.adoc, testing-strategy.adoc: restore :pp: ++ attribute so C{pp} expands to C++ (had been removed while the {pp} references were retained). - architecture-overview.adoc: revert "MurmurHash3" -> "MurmurHash_3" in prose (only the Java class has the underscore; the algorithm name does not). - CLAUDE.md: factory list corrected to farmNa/farmUo (was farmHashNa/ farmHashUo); add xx128low; British-English the spellings; replace the duplicated ADR list with a pointer to decision-log.adoc; add -Pquality command; switch javadoc URL to https. - AGENTS.md: drop trailing period on title; remove orphan AIDE reference; fix "across in" typo; fix bullet that lost its * marker; fix bullet list mixing * and -; replace the bogus `mvn -pl ... -am` instruction (single-module repo) with `mvn -Pquality verify`. - project-requirements.adoc: rewrite IDs under the Nine-Box taxonomy (FN/NF-P/NF-S/NF-O) mandated by AGENTS.md; spell out the --add-opens flags; note the MurmurHash_3 / XxHash class names; drop the unused C-NNN constraints prefix. - decision-log.adoc: add Date:: rows (template compliance); apply British-English spellings. Net effect: same merged behaviour, ~600 fewer churn lines, no broken {pp} references, doc IDs match the policy, Javadoc placement valid.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.





This PR adds contributor and AI-agent guidance for Zero-Allocation Hashing, expands the project documentation set, and introduces an optional quality profile for Checkstyle and SpotBugs.
What changed
Added
AGENTS.mdwith Chronicle-wide contribution guidance covering:Added
CLAUDE.mdwith repository-specific guidance for Claude Code, including:LongHashFunction,LongTupleHashFunction, andAccessAdded durable project documentation:
decision-log.adocproject-requirements.adocStandardised existing AsciiDoc files by:
:toc:,:lang: en-GB, and:source-highlighter: rougetoc::[]entriesAdded a
qualityMaven profile that runs:Renamed the JDK activation profile from
jdk21-profiletojdk17-profileand widened activation to JDK 17+ while still compiling withmaven.compiler.release=8.Made small source cleanups required by quality checks:
DualHashFunctioncity_1_1,murmur_3, andwy_3LongHashFunction@Overrideannotations inPrimitivesWhy
The repository now has explicit instructions for both human contributors and AI agents, reducing drift in style, documentation, and review expectations. The added requirements and decision logs make the existing architecture easier to preserve and extend, especially for future clean-room or agent-assisted work.
The quality profile gives maintainers a repeatable way to run Chronicle’s shared static-analysis gates without changing the default build path.