Verification

TL;DR

What each available check proves, what it does not, and why a green batch is not evidence.

There is no test suite, by policy, and none should be scaffolded. Verification is manual and deliberate. This page is about what each check is worth.

What each check proves

CheckProvesDoes not prove
php -lThe file parsesAnything about behaviour. None of the failure modes below are syntax errors
Loading a pageRouting, permission, template renderThat the figures are right
Table fillsThe endpoint returned the expected shapeThat the rows are correct or complete
A batch finishesThe job ran to the endThat any row was written
Healthcheck greenSomething finished recently enoughThat it finished correctly
Reading a real row backThat specific rowAnything about the rest

Why a finished batch is not evidence

The database is strict about over-long values and invalid dates, turning them into errors rather than truncations, and the code does not check for an error on every write. A row can therefore be silently skipped inside a run that reports success.

Reading a real row back is the only check that catches it. This is the single most useful habit in this codebase.

The worst version: an insert names a column the environment has not been migrated to yet. Nothing throws, no row is written, and one transaction type quietly stops importing while its batches keep going green. Apply hand migrations before deploying code that names the column.

What needs which environment

WantsNeeds
Syntax, static readingThe repository
Routing, permissions, renderingThe local application
Row counts, schema coverage, real dataA local database
Currently configured rulesA permitted, sanitised snapshot with its environment and date
Business meaningA person who owns the definition

A claim verified locally is not evidence about acceptance or production. Say which environment a check was run against.

Running things

php -l app/http/<module>/<page>.php
docker exec ocean1-ccc php -l /var/www/app/http/<module>/<page>.php
docker exec ocean1-ccc php /var/www/app/jobs/<group>/<file>.php
docker exec ocean1-ccc php /var/www/app/jobs/install/install.php
git diff --check

The container is the reference, because it has the pinned runtime. A job takes force after the filename to run once while its step is switched off.

Recording what you verified

Record whether behaviour was code-checked or locally exercised. A business definition still needing confirmation belongs in the coverage ledger until answered, not in a published claim. See documentation maintenance.

Evidence

Commands and the no-test-suite policy from AGENTS.md, Commands and Validation. The silent-write failure modes from AGENTS.md, What fails silently. Basis: code-checked at 30f5313.

About this document
  • Type
    development
  • Status
    active
  • Updated
    2026-09-14
  • Created
    2026-09-13