pilotphp/contracts

Stable public contracts for the PilotPHP Agent-First framework ecosystem.

Maintainers

Package info

gitlab.com/pilotphp/contracts

Issues

pkg:composer/pilotphp/contracts

Transparency log

Statistics

Installs: 92

Dependents: 12

Suggesters: 0

Stars: 0

0.1.4 2026-08-02 19:19 UTC

This package is auto-updated.

Last update: 2026-08-02 16:21:48 UTC


README

Stable public contracts for the PilotPHP Agent-First framework ecosystem.

Leaf infrastructure-only Composer distribution: interfaces, immutable value objects, enums, package/declaration SPI, and a minimal universal Build SPI. No runtime implementations. Not a Pilot extension package. Production dependency: PHP 8.5+ only.

Current line: 0.1.4 (unreleased / 0.1.4-dev until tagged).

Scope

Shared, transport-neutral vocabulary for every other PilotPHP package without forcing them to depend on each other.

Belongs here: inter-package interfaces, validated immutable VOs, enums, package registration contracts, declaration provenance/record/replay, Build SPI.

Does not belong: orchestration, discovery, I/O, caches, publishers, transport/ORM/framework implementations, speculative abstractions, fictitious Pilot extension entry points.

See AGENTS.md and docs/architecture.md.

Installation

composer require pilotphp/contracts

A Composer dependency on pilotphp/contracts is a PHP type/library dependency. It is not a Pilot activation dependency: contracts is never discovered via pilot/package.json, never appears in rootPackages, and never participates in composition as a package node.

Namespaces

NamespaceContents
PilotPHP\Contracts\PackagePackage description, registration, declaration provenance/record/replay
PilotPHP\Contracts\BuildUniversal Build SPI
PilotPHP\Contracts\KernelApplication entry point lifecycle
PilotPHP\Contracts\ContainerRead-only service resolution
PilotPHP\Contracts\ConfigTyped configuration access
PilotPHP\Contracts\RuntimeTransport-neutral invocation handling

Build SPI (summary)

Domain packages implement BuildStageInterface and register the stage as a package declaration. pilotphp/build collects stages from declaration replay of active resolved packages only. Domain packages must not depend on pilotphp/build. Details: docs/build-spi.md.

Documentation

DocTopic
docs/architecture.mdLeaf role and boundaries
docs/public-api.mdFull public API map
docs/package-contracts.mdPackage system
docs/declarations.mdDeclaration model + replay
docs/capabilities.mdCapability rules
docs/build-spi.mdBuild SPI
docs/runtime-contracts.mdRuntime surface
docs/lifecycle.mdActivation + worker lifecycle
docs/compatibility.mdSemVer / 0.x policy
docs/security.mdDiagnostics and path rules

Development

make install
make check

Repository

Standalone Git repository. No monorepo.