Skip to content

Phase 5.6A: explicit component enablement bootstrap - #46

Merged
josiahking merged 1 commit into
2.xfrom
feature/phase-5-6a-component-bootstrap
Aug 21, 2026
Merged

Phase 5.6A: explicit component enablement bootstrap#46
josiahking merged 1 commit into
2.xfrom
feature/phase-5-6a-component-bootstrap

Conversation

@josiahking

Copy link
Copy Markdown
Owner

Summary

Implements Phase 5.6A — Explicit Component Definitions and Enablement Bootstrap.

Adds:

  • shared experimental ComponentDefinition
  • package-specific ModuleDefinition and PluginDefinition
  • application-controlled component enablement through evolve.components.enabled
  • Core ComponentBootstrapper
  • validation-before-entry-point-creation
  • graph resolution before lifecycle binding
  • exact declaration identity preservation
  • ApplicationKernel bootstrap integration
  • attributed internal bootstrap failures

Behavior

  • discovered components are disabled unless explicitly enabled
  • disabled components remain inert
  • all enabled definitions validate before any entry point is created
  • graph validation runs before entry-point creation
  • existing dependency/capability graph rules remain authoritative
  • existing Phase 5.5 lifecycle coordinator remains the runtime lifecycle mechanism
  • no Composer metadata discovery is included yet; that is Phase 5.6B
  • no runtime/per-request enablement
  • no Core dependency on Module or Plugin

Validation

Committed-ref SHA:

dafe03cf3ad218d798ee1dcb86d0d05b65c6ed05

Passed:

  • Composer strict validation
  • release package validation
  • deterministic package split validation
  • prerelease consumer validation
  • Architecture + Documentation policy
  • Deptrac
  • PHPStan
  • PHP-CS-Fixer
  • full PHPUnit
  • security audit
  • locked dependency licence policy

Full PHPUnit:

446 tests, 1850 assertions

Architecture + Documentation:

192 tests, 7286 assertions

@josiahking josiahking self-assigned this Aug 21, 2026
@josiahking
josiahking merged commit 7c00b6f into 2.x Aug 21, 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