# Delivery checks Before implementing a workplan, use the hosted reuse registry: ```sh make plan-check WORKPLAN=workplans/VERGABE-WP-0018-customer-factory-delivery.md ``` Install a reuse-surface revision containing REUSE-WP-0022. The initially tested provider revision is recorded in [evidence/2026-09-08-hosted-plan-check.json](evidence/2026-09-08-hosted-plan-check.json). `REUSE_SURFACE_BIN` can select an explicit installed executable; `REUSE_SURFACE_URL` defaults to `https://reuse.coulomb.social`. This reads current hosted capabilities with `--no-llm`. It sends no tender intent or mutation token to the registry. A failed/stale/partial source exits nonzero without a recommendation. Preserve JSON output with the source revision in the workplan evidence; a lexical `new` result still requires review of existing capability owners. For this delivery we reuse reuse-surface, Railiance CI tooling and the existing Railiance Apps deployment rather than establish new equivalents. ## Application and release gate ```sh make test-image ``` The `application-tests` Docker target installs the locked Python dependencies, builds Vite/Tailwind assets, collects static files, runs the complete Django application suite against disposable SQLite data, and checks migration drift. It includes the existing tender → lot → approval and submission workflow tests. The target carries no production database connection or release credential. SQLite proves this application acceptance suite; target PostgreSQL and live storage/recovery behavior remain release admission checks. The Forgejo application workflow checks proposed changes. The image workflow runs the same target on the same archive revision **before** registry login and publication. Test dependencies and test settings are isolated from the runtime image. The existing optional BuildKit package secrets remain supported, but the current issue-core package is anonymously readable; no new secret is required. The corrected Dockerfile consumes application templates under `vergabe_teilnahme/templates/`. A fresh archive does not contain a root `templates/` directory; attempting to copy it previously broke clean builds. ## Customer release acceptance VERGABE-WP-0018-T03 owns the first admitted Railiance customer pilot: exact image digest and chart revision, tenant/host and login binding, database and media ownership, backup/restore and rollback, UI smoke and named operating owner. Existing production tender data is never disposable test data. A passing source build does not establish customer availability or the governed factory worker.