Verification
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
| Check | Proves | Does not prove |
|---|---|---|
php -l | The file parses | Anything about behaviour. None of the failure modes below are syntax errors |
| Loading a page | Routing, permission, template render | That the figures are right |
| Table fills | The endpoint returned the expected shape | That the rows are correct or complete |
| A batch finishes | The job ran to the end | That any row was written |
| Healthcheck green | Something finished recently enough | That it finished correctly |
| Reading a real row back | That specific row | Anything 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
| Wants | Needs |
|---|---|
| Syntax, static reading | The repository |
| Routing, permissions, rendering | The local application |
| Row counts, schema coverage, real data | A local database |
| Currently configured rules | A permitted, sanitised snapshot with its environment and date |
| Business meaning | A 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.
Related
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.
- Type
development - Status
active - Updated
2026-09-14 - Created
2026-09-13