Skip to content

Add Doctor diagnostic foundation - #49

Merged
josiahking merged 1 commit into
2.xfrom
feature/phase-6-1-doctor-foundation
Aug 26, 2026
Merged

Add Doctor diagnostic foundation#49
josiahking merged 1 commit into
2.xfrom
feature/phase-6-1-doctor-foundation

Conversation

@josiahking

Copy link
Copy Markdown
Owner

Summary

Adds the runtime-neutral foundation for Evolve Doctor diagnostics in evolvephp/core, including deterministic diagnostic results and the first PHP runtime checks.

What changed

  • Added DoctorCheck for composable diagnostic checks.
  • Added immutable DoctorFinding, DoctorStatus, and DoctorReport result models.
  • Added DoctorRunner with deterministic ordering, duplicate identifier protection, and result validation.
  • Added a PHP version compatibility check with PHP 8.4 as the minimum supported runtime.
  • Added a caller-supplied PHP extension check with deterministic missing-extension reporting.
  • Added unit coverage for diagnostic validation, runner behavior, PHP versions, and PHP extensions.
  • Updated Core documentation with the current Doctor capabilities and limitations.
  • Updated the Core source inventory used by architecture validation.

Validation

  • Full test suite: 535 tests, 2038 assertions
  • Static analysis passed
  • Dependency-boundary checks passed
  • Coding-style checks passed
  • Security and licence checks passed
  • Release package validation passed
  • Package split validation passed
  • Consumer validation passed

Package impact

The new diagnostic foundation is contained in evolvephp/core. No package dependencies or Composer manifests were changed.

@josiahking
josiahking merged commit 9cfe419 into 2.x Aug 26, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant