docs: say what absence from Spring's metadata actually proves - #46
Open
vianbas wants to merge 1 commit into
Open
docs: say what absence from Spring's metadata actually proves#46vianbas wants to merge 1 commit into
vianbas wants to merge 1 commit into
Conversation
ConfigKeyMetadataTest failed any rule key missing from the vendored index and told the reader those rules "cannot fire on a real project and any finding they produce is wrong." That inference only holds one way. The metadata is authoritative for presence: a declared key is a real property. It is not authoritative for absence. Boot binds properties it never declares, management.endpoint.<id>.access among them, which #44 confirms by observation on 3.5.16 rather than by reading the index. The test still fails on absence. That is the right default and it earned its place. What changes is what the failure claims: unconfirmed, not wrong, and a prompt to check the key against the Boot source or a running app before shipping it. The javadoc also stops taking credit the test has not earned: metadata absence pointed at spring.web.cors.* and spring.security.debug, it did not condemn them. Also states the bar for an ACCEPTED_ABSENCES entry, which was documented only as "a reason". Without a bar the map is a mute button, and the next contributor to hit a red test will reach for it. No rule, no key and no assertion changes. Suite unchanged at 59 passing. Closes #44
5 tasks
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.
What
Wording only. No rule, no key, no assertion, no fixture.
ConfigKeyMetadataTeststill fails on any rule key missing from the vendoredindex. That default is right and it earned its place. What the failure claims
on the way down was wrong in one direction.
@DisplayNamespring.web.cors.*andspring.security.debug; runtime observation and a jar search condemned themACCEPTED_ABSENCESjavadocCONTRIBUTING.mdWhy
Closes #44
The metadata is authoritative for presence, never for absence. Boot binds
properties it never declares.
management.endpoint.<id>.accessis thecounterexample #44 documents: absent from all 2920 indexed properties, and on
3.5.16 a
POST /actuator/shutdowngoes from 404 to 200 and ends the processonce it is set.
So the old text told a contributor the opposite of what to do next, and it
blocks #45, whose rule is keyed on exactly that property.
The
ACCEPTED_ABSENCESbar matters for the same reason. A map documented onlyas needing "a reason" is where the next contributor with a red test will go.
Naming the evidence it takes is what keeps it a record rather than a mute
button.
How was this verified?
mvn -B -ntp clean verifyon JDK 17, run twice:The suite count is unchanged at 59, which is the point. Nothing here is meant to
change what passes or what fails. Local JDK is 17; CI builds on 21.
Also rendered the new failure message against a synthetic offender, to check the
concatenated chunks read as prose and that no spacing is lost at the
+seams.Checklist
ConfigKeyMetadataTestare untouched; only its messages and javadoc differ.mvn verifypasses locallyREADME.md,docs/rules/*.md) if user-facing behavior changed:CONTRIBUTING.mdonly. No rule doc or README claim is affected.docs/rules/: no rule changes.