Repository navigation
0.5.0
The second "adapter kit" release (docs/spec/16, wave B): what wave A left as three copies in the adapters — the
lazy graph of a runtime-assembled container, the never-throwing part of an ORM observer, the retry decision of a
queue worker, the option descriptions of the commands — is one thing in the core. Additive: nothing was removed or
renamed. Adapters of this wave: doctrine 0.3.1, symfony-bundle 0.5.0, laravel 0.6.0, yii2 0.3.0, sitemap 0.1.1.
Added
Adapter\ServicesBuilder/Adapter\Services(layer 2 of the kit): describe the graph once — every node
optional, as an object or aClosure(Services): objectcalled on first use, the framework's pieces as closures
(httpClientLocator(),debounceStore(),queueFactory(),router(),resolverLocator(),checks(),
events()) — and get it lazily:transport(),keys(),client(),submitter(),collector(),
dispatcher(),rules(),urlResolver(),guardedResolver(),changes(),kit(),keyFileResponder(),
checker(),submitterFactory(), plushasCollected()/flushIfCollected()for the request-end hook.build()
does no IO and throwsConfigurationExceptionfor what is statically wrong. Every accessor is one factory call
or constructor of wave A;ServicesParityTestkeeps the two layers identical. docs/adapters.md §2.Hook\ObserverHelper:guard()(resolve through the change handler, never throw, log at debug per URL),
deliver(),rememberDeletion()/takeDeletion()(the URLs of a row between the before and after hooks). The
log lines are in docs/operations.md, "ORM hooks".Retry\WorkerOutcome:of($results)splits retryable from final failures (retryUrls,finalUrls,
finalReasons,retryAfter),delay($policy, $attempt), and the three log linesretryLog(),gaveUpLog(),
finalLog(). docs/operations.md, "Queue workers".Console\DefinitionswithCommandDefinition,ArgumentDefinition,OptionDefinition: the inputs of
check,submit,submit-<subject>,explainandkey:generatedeclared once and rendered for symfony/console
(applyTo()), artisan (laravelSignature()) and Yii (yiiOptions(),yiiAliases()). The sitemap package adds
Sitemap\Console\Definitions::sitemap().Testing\KeyFileAssertions(H01–H03: status, content type,Cache-Controlby directive,Vary: Hostonly
with a hosts map) andTesting\CheckOutputAssertions(H04–H05: exit code with the output as the failure
message,assertReady(),assertKeyFileHint()). docs/testing.md.- Dev tooling: a
coveragejob in CI (pcov) with a recorded floor per package (tests/coverage-floor.txt,
bin/coverage-floor); the development image has pcov.