Merged
Conversation
- Update PHP requirement from ^8.3 to ^8.4
- Update kariricode/contract from ^2.7 to ^2.8
- Zero out require-dev (tools now managed by global kcode.phar)
- Add scripts and config sections to composer.json
- Rewrite CI to use kcode.phar from GitHub Releases + kcode quality
- Remove legacy dev infrastructure: Makefile, docker-compose.yml, .php-cs-fixer.php,
phpunit.xml, phpstan.neon, psalm.xml, phpcs.xml, phpinsights.php, .env.example,
.vscode/settings.json, .docker/
feat(src): apply PHP 8.4+ refactoring from fixed tar
- Remove dead setAccessible() call in AttributeAnalyzer
- Add clearCache() to AttributeAnalyzer contract interface
- Fix throws annotations in PropertyInspectionException
- Refactor PropertyAccessor and PropertyInspector for PHP 8.4
feat(tests): reorganize into Unit/Integration/Fixture structure
- Add tests/Fixture/ with UserFixture, SpyAttributeHandler, MixedAttributeFixture,
NoAttributeFixture, PrivatePropertiesFixture and attribute fixtures
- Add tests/Integration/InspectionPipelineTest with full pipeline coverage
- Reorganize unit tests under tests/Unit/{Exception,Utility}/
- Remove legacy benchmarks, application.php and ad-hoc scripts from tests/
- Fix assertion in InspectionPipelineTest: name only has trim sanitizer
docs: add ADRs and SPEC from fixed tar
- ADR-001: Remove setAccessible dead code
- ADR-002: Add clearCache to interface
- ADR-003: Correct throws annotation
- SPEC-001: Property inspection pipeline
BREAKING CHANGE: Makefile removed, use kcode test/analyse/cs:fix instead
Tests: 40 passing, 96 assertions (PHPUnit 12.5.14, PHP 8.4)
Align README with kariricode-dotenv premium pattern: - Add PHP 8.4+, PHPStan, ARFA badges - Problem/Solution section with before/after code - Full Quick Start with working PHP code example - Feature sections: reflection caching, multi-pass pipeline, PropertyAccessor, attribute polymorphism, isolated error handling - ASCII pipeline diagram (analysis → handler → mutation) - Architecture table with ADR references - Integration section (validator, sanitizer, normalizer) - Project stats table - Contributing with kcode commands (remove Docker/Makefile references)
- Add cache step for .kcode/vendor to avoid reinstalling on every run - Use kcode init --skip-install only when cache is hit, full install otherwise - Split quality into individual steps (cs:fix, analyse, test) for better visibility in GitHub Actions UI - Add fail-fast: false to PHP version matrix - Trigger CI on develop branch in addition to main - Fix critical bug: previous CI used --skip-install unconditionally, causing kcode quality to fail (no binaries in .kcode/vendor/)
Remove kariri-ci-cd.yml and add the standard KaririCode 3-workflow pattern: - ci.yml: unified quick pipeline (push/PR to main+develop) cs-fixer → phpstan L9 → psalm → phpunit via kcode quality - code-quality.yml: 5 parallel jobs + quality-summary gate dependencies · security · analyse · cs-fixer · tests Gate job posts markdown report to GitHub Actions summary - release.yml: tag-gated release pipeline Full kcode quality pass required before publishing GitHub Release Release notes include Quick Start and quality metrics All workflows use wget + kcode.phar pattern from kariricode-dotenv, PHP 8.4, pcov coverage driver, and kcode init (with full tool install).
…m/phpstan - Add #[Override] to AttributeAnalyzer::analyzeObject() and clearCache() - Add #[Override] to PropertyInspector::inspect() - Add @return type annotation to AttributeAnalyzer::extractValues() - Apply php-cs-fixer style fixes (native function prefix, trailing commas)
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.
No description provided.