kumwe / administrator-contract
Host-neutral administrator contribution declarations and bounded presentation contracts.
Requires
- php: ^8.5
- ext-mbstring: *
- kumwe/access-control: 0.1.2
- kumwe/contribution: 0.1.1
Requires (Dev)
- ext-zip: *
- phpstan/phpstan: ^2.1
- phpstan/phpstan-strict-rules: ^2.0
- phpunit/phpunit: ^12.0
- squizlabs/php_codesniffer: ^4.0
Suggests
None
Provides
None
Conflicts
None
Replaces
None
This package is auto-updated.
Last update: 2026-09-12 15:16:18 UTC
README
Host-neutral administrator contribution declarations and bounded presentation contracts.
The canonical namespace is Kumwe\Administrator\Contract\.
Installation
Requires PHP 8.5, ext-mbstring and the exact runtime dependencies in composer.json. Install the published version with an exact pre-1.0 pin:
composer require kumwe/administrator-contract:0.2.1
See dependencies and release verification before upgrading.
Usage
use Kumwe\Administrator\Contract\AdministratorContributionAdmission; use Kumwe\Administrator\Contract\AdministratorRouteDefinition; use Kumwe\Administrator\Contract\AdministratorViewDefinition; use Kumwe\Contribution\ContributionOwner; use Kumwe\Access\Capability; $view = new AdministratorViewDefinition('acme.editor.index', 'editor/index.twig'); $route = new AdministratorRouteDefinition( 'acme.editor.route', '/editor', ['GET'], 'acme.editor.read', $view->identifier(), ); $admission = new AdministratorContributionAdmission( ContributionOwner::extension('acme/editor'), $route, Capability::fromString('acme.editor.read'), );
Admission validates declaration ownership and capability consistency. It is not an authorization result. The host evaluates trust, lifecycle, execution context and permissions before activation or dispatch. See the standalone example, public API and declaration contract for supported types, limits and refusal behavior.
Core contract
Values are constructed directly and ports are supplied explicitly; there is no ConfigProvider or alias. Pure operations capture no actor, site, request, connection or container. Core owns authorization, transactions, persistence, active registries, dispatch, HTTP/rendering, deployment and recovery. Contribution owns identity and surface policy; Access Control owns capability grammar.
Core retains acceptance, database, trust/lifecycle, delivery, browser and composition tests. This package owns declaration and admission invariants. See integration, architecture and compatibility.
Development
composer install composer check composer examples
The complete gate checks dependency identity, API and governed manifests, architecture, static analysis, style, package behavior, examples, security and an isolated no-dev archive consumer. CI also verifies release automation. Release evidence preserves source provenance and consumer qualification requirements. Licensed under Apache-2.0; see security reporting.