Adopt code-review profile, tighten static analysis, align docs to ISO-8859-1; harden generator internals#165
Draft
peter-lawrey wants to merge 10 commits intodevelopfrom
Draft
Adopt code-review profile, tighten static analysis, align docs to ISO-8859-1; harden generator internals#165peter-lawrey wants to merge 10 commits intodevelopfrom
code-review profile, tighten static analysis, align docs to ISO-8859-1; harden generator internals#165peter-lawrey wants to merge 10 commits intodevelopfrom
Conversation
code-review profile, tighten static analysis, align docs to ISO-8859-1; harden generator internals
|
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 formalises our code-review quality gate, updates contributor guidance, and hardens the
chronicle-valuesbuild and internals without changing public APIs. It also aligns our contributor style guide from ASCII-7 to ISO-8859-1 and relocates project docs intosrc/main/docs.Key outcomes:
-Pcode-reviewprofile (Checkstyle + SpotBugs/FindSecBugs + PMD + JaCoCo + Enforcer).AGENTS.mdfixed tosrc/main/docs/*.checkstyle*.xml,pmd-*.xml,spotbugs-exclude.xml) with justified, tagged suppressions.doPrivilegedwhere needed, locale-safe case ops, safer URI handling, explicit UTF-8 for I/O, SpotBugs annotations, and minor generator clean-ups.decision-log.adocintosrc/main/docs/and addTODO.adocwith follow-ups.Why
src/main/docsand fix broken links fromAGENTS.md.What changed
1) Contributor policy & docs
AGENTS.mdsrc/main/docs/decision-log.adocandsrc/main/docs/project-requirements.adoc.Docs move
src/main/adoc/decision-log.adoc→src/main/docs/decision-log.adoc(new file with VAL-tagged entry).src/main/docs/TODO.adoccapturing post-profile hardening tasks.2) Build & Quality Gate
pom.xmlAdd
-P code-reviewprofile:maven-checkstyle-plugin(3.6.0+com.puppycrawl 8.45.1) withsrc/main/config/checkstyle.xmland suppressions.spotbugs-maven-plugin 4.8.6.6+findsecbugs 1.14.0withspotbugs-exclude.xml.maven-pmd-plugin 3.8.0(rules + excludes).jacoco-maven-plugin 0.8.14with bundle-level gates (profile sets thresholds to 0.0 initially; project defaults at 80/70% remain for other profiles).Add
com.github.spotbugs:spotbugs-annotations(scope provided) and propertyspotbugs.annotations.version.Config files added under
src/main/config/:checkstyle.xml,checkstyle-suppressions.xmlpmd-ruleset.xml,pmd-exclude.propertiesspotbugs-exclude.xml3) Hardening & static-analysis cleanups (no API change)
Security/robustness
SimpleURIClassObject.openInputStream()tofile:/andjar:schemes; makeopenWriter()explicitly unsupported.Locale.ENGLISH/ROOTinNullability,PrimitiveBacked*,Utils.capitalize, etc.@SuppressFBWarningswith VAL-SPOT-* tags; emit debug log whenBridgeClassLoaderfalls back.Generator/impl tidy-ups
finalor package-private where internal.%nin generated code, remove straySystem.out.printvia Checkstyle rule.VAL-PMD-320/321/322) where the layout algorithm intentionally allocates per-field metadata.ValueModel / CachedCompiler compatibility
CachedCompiler#setFileManagerOverridefor newer compiler versions; keep old path for older ones.Backwards-compatibility
ValueBuilderremains package-private; no public API impact).spotbugs-annotations(provided). Thecode-reviewprofile is opt-in; defaultmvn verifybehaviour is unchanged.src/main/adoc/…, update tosrc/main/docs/….Developer notes