GH-81: Add CONTRIBUTING and a support policy, fix three doc inaccuracies - #133
Merged
Conversation
Consumer-facing documentation gaps the issue lists, plus one adjacent inaccuracy in the same file. The README linked a CONTRIBUTING.md that did not exist. A repository CONTRIBUTING now covers the repo-specific workflow - setup, the ci:test gate, the coverage gate, the branch/commit conventions - and defers to the organisation guide for general policy and to AGENTS.md for agent rules, so it does not duplicate either. Every README and CONTRIBUTING relative link was checked to resolve. There was no backward-compatibility or support statement for consumers. The README gains a section: releases follow SemVer, what the public surface is (and that the Value\Strategy\* classes are @internal and outside it), and that 3.x is the current development line requiring PHP ^8.3 and verified against 8.3/8.4/8.5. The support wording is deliberately grounded - it states what 3.x is rather than asserting anything about earlier majors, since CI still targets *.x branches. docs/API.md claimed "all classes are namespaced under MagicSunday\JsonMapper", false for the entry-point class itself (MagicSunday\JsonMapper, in the MagicSunday namespace). Reworded to name the entry point separately. docs/recipes/type-converters.md typed a class-map resolver as array $payload and read $payload['type'], but the documented interface is Closure(mixed) and the recipe recommends json_decode(..., associative: false), under which the fragment is a stdClass and the array access fails. The example now takes mixed and reads the discriminator from either shape. And an adjacent inaccuracy a review found: docs/API.md documented addCustomClassMapEntry's resolver parameter as Closure, but it is Closure|string (a concrete class-string maps unconditionally). Corrected, with the pipe escaped for the Markdown table. Docs only; no code change. Verified: composer ci:test green (505 tests), so the Docs*Test doc-verification suite still passes.
|
Warning You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again! |
Owner
Author
|
/gemini review |
|
Warning You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again! |
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.
Overview
Closes #81. Consumer-facing documentation gaps, plus one adjacent inaccuracy a review found.
Changes
CONTRIBUTING.mdthat did not exist. A repositoryCONTRIBUTING.mdnow covers the repo-specific workflow (setup, theci:testgate, the coverage gate, branch/commit conventions) and defers to the org guide for general policy and toAGENTS.mdfor agent rules — no duplication. Every relative link in README/CONTRIBUTING was checked to resolve.Value\Strategy\*is@internaland outside it), and that3.xis the current development line requiring PHP^8.3, verified against 8.3/8.4/8.5. The wording states what3.xis rather than asserting anything about earlier majors (CI still targets*.x).MagicSunday\JsonMapper(namespaceMagicSunday), not underMagicSunday\JsonMapper\….mixed $payload(matchingClosure(mixed)) and reads the discriminator from a stdClass or an array, so it works under the recommendedjson_decode(..., associative: false).addCustomClassMapEntrysignature corrected fromClosure $resolvertoClosure|string $resolver.Verification
Docs only, no code change.
composer ci:testgreen (505 tests) — theDocs*Testdoc-verification suite still passes. Fact-checked by Codex against the real sources; its findings (the SemVer/earlier-majors wording and theClosure|stringsignature) are folded in.🤖 Generated with Claude Code