docs: reconcile CLAUDE.md and README to v0.2.0 + Unreleased reality#16
Merged
Conversation
jasperboerhof
previously approved these changes
May 7, 2026
CLAUDE.md
- Rules table: extend LogRule identifier note with the static-call
shapes (Model::destroy / Model::forceDestroy) shipped via [Unreleased]
v0.3.0.
- Commands table: extend from 4 rows to all 8 composer scripts
(test:coverage, coverage:check, mutation, mutation:ci added).
- Versioning section: surface the 0.x caret-semantics trap explicitly —
Composer's `^0.x` caret locks at minor, so v0.2.0 does not propagate
to consumers pinned `^0.1.0`. Document today's `^0.{minor}` pin
convention and the 1.0 transition.
- Add ## War Room ADR Projections section per ADR-0015 (most cross-
project ADRs project as Non-applicable — the package distributes
enforcement of those ADRs rather than consuming them).
README.md
- Rules table: add EnforceAuditSnapshotOnRetryRule row (shipped v0.2.0
in CHANGELOG / extension.neon / CLAUDE.md but missing from README
through PR #20's rule addition).
- Versioning narrative: replace `^1.0` pin guidance with today's `^0.2`;
cross-link CLAUDE.md § Versioning for the 0.x caret-semantics
rationale.
Sources: Adjutant first-contact F-ADJ-01..06; Cartographer first-contact
README rules-table drift finding. PR #21 (publish-channel framing) and
PR #20 (EnforceResourceDataValidatorOptInRule rules-table addition)
already absorbed earlier scope items from this PR — this commit only
applies the still-valid edits.
f1b39ab to
a7c78c1
Compare
jasperboerhof
approved these changes
May 12, 2026
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.
Summary
Doc-only reconciliation against shipped reality. Scope reduced from the original PR after rebase: PR #21 (publish-channel framing) and PR #20 (rules-table addition for EnforceResourceDataValidatorOptInRule) absorbed earlier scope items from main. This PR now ships only the still-valid edits.
CLAUDE.md (four edits):
LogRuleidentifier note with the static-call shapes (Model::destroy()/Model::forceDestroy()) shipped via[Unreleased]v0.3.0.test:coverage,coverage:check,mutation,mutation:ci).^0.1.0does NOT auto-pullv0.2.0(caret locks at minor in 0.x). Document today's^0.{minor}pin convention and the 1.0 transition.## War Room ADR Projectionssection per ADR-0015 — most cross-project ADRs project as Non-applicable here because the package distributes their enforcement rather than consuming it. Includes ADR-0009 entry noting that the newEnforceResourceDataValidatorOptInRule(Phase 2,[Unreleased]) distributes ADR-0009 enforcement.README.md (two edits):
EnforceAuditSnapshotOnRetryRule(shipped v0.2.0; was already in CHANGELOG /extension.neon/ CLAUDE.md but missing from README — PR engineer: add EnforceResourceDataValidatorOptInRule (queue #55 Phase-2 promotion) #20 added the EnforceResourceDataValidatorOptIn row but did not backfill the EnforceAuditSnapshotOnRetry gap).^1.0)" with today's^0.2guidance; cross-linkCLAUDE.md§ Versioning for the 0.x caret-semantics rationale.Operational urgency: consumer territories pinning
^0.1.xagainst a v0.2.0 package are stuck pre-v0.2.0 because of the caret-semantics trap. This PR documents the trap so consumers know to bump pins on each minor.Scope dropped (already on main)
Originally this PR included these edits — main has since absorbed them via other PRs and they have been dropped from this rebase:
Sources
reports/phpstan-warroom-rules/field/2026-05-06-adjutant-first-contact.md(findings F-ADJ-01..06).reports/phpstan-warroom-rules/field/2026-05-06-cartographer-first-contact.md(README rules-table drift finding).campaigns/phpstan-warroom-rules/2026-05-06-first-contact-wave.md.Verification
All gates green locally on rebased PR head:
composer phpstan→[OK] No errorscomposer format:check→{"result":"passed"}composer test→ 43/43 (74 assertions)Diff scope: only
CLAUDE.md(+41/-2) andREADME.md(+2/-1) modified. CHANGELOG anchor references unchanged.Test plan
check (8.4)andcheck (8.5).^0.1.0doesn't auto-pull v0.2.0.