Clean Framework · DOCUMENTATION
Source: routes.php
Source: routes.php
Bounded candidate reference — 2026-10-20: 0.2.0-rc.1 is committed locally through 84f415b3098af5653577b2c65eea31fca21df79c, unpublished and not production-approved; stable PHP >=8.5.11 <8.6.0 is required. This is documentation, not adoption: this knowledge base retains its installed 0.1.0-rc.1 dependency and PHP 8.2.11 local profile. Dated PHP 8.2 evidence is historical; earlier dirty-source reports retain their original test provenance, not retroactive clean-commit proof. Candidate examples are illustrative: API signatures were reviewed, but candidate code was not executed by this editorial update. See current checkpoint, open criteria and adoption boundary.
Origin: examples/reading-list/resources/routes.php
<?php
declare(strict_types=1);
use Clean\Framework\Http\Response;
use Clean\Framework\Routing\Router;
use Portability\ReadingList\Controllers\ReadingListController;
/* Routes remain explicit application composition rather than framework data. */
return static function (Router $router): void {
$router->get('/', ReadingListController::class . '::index')->name('reading.index');
$router->get('/health', static fn (): Response => Response::json([
'success' => true,
'status' => 'ok',
'application' => 'reading-list',
]))->name('health');
$router->get('/reading/{slug}', ReadingListController::class . '::show')
->where('slug', 'slug')
->name('reading.show');
};
Editorial provenance
Source: examples/reading-list/resources/routes.php. Source SHA-256: 9f121558ce116a0e3c3acb3c4b7e72f2da0d42135984f94e338837a8195e70d2.
Framework candidate reference; editorial checkpoint 2026-10-20. See candidate status and adoption boundary.