# Local production-hardening evidence — 2026-08-26

## Scope and trust level

- Environment: Windows development workstation, Python 3.12 virtual environment, bundled Node 24,
  local SQLite test databases, and real local Playwright/Chromium in the selected runtime tests.
- Branch/base revision: `codex/foundation-phase-1` at `cfa73b9`, with the assessed hardening changes
  still uncommitted. This record is not immutable release provenance.
- Responsible implementer/reviewer: Codex primary engineering agent. Independence: none.
- External systems: no hypervisor, VPS, production PostgreSQL/Redis, provider account, DNS, TLS
  endpoint, or valuable external account was used.

## Locally verified controls

- Core, AI Agent, and Computer Agent have fail-closed production startup validation. Production
  readiness requires authenticated AI and Computer worker health.
- Public API Host validation is bound to the configured HTTPS origin; loopback is accepted only for
  internal health paths.
- Production Compose forces production mode and supplies the compute-gateway token mount omitted by
  the prior stack. Python service images resolve against one exact constraints file.
- The release preflight safely rejects missing/placeholder secrets, unsafe origins, shared database
  identities, Redis ACL mismatch, missing/expiring TLS, dirty/untraceable source, missing Docker/Age,
  and invalid Compose configuration. It emits evidence only after all checks pass.
- An injected compute-provider outage leaves the lifecycle operation `unknown`, the computer
  `recovering`, and an idempotent replay does not dispatch a second provider write.
- AI health is service-authenticated. Missing provider credentials remain honest `unconfigured`
  state outside production and block production startup rather than simulating success.

## Verification results

```text
python -m ruff check services scripts tests
All checks passed!

python -m pytest -q
88 passed in 82.58s

python -m pip check
No broken requirements found.

python -m pip_audit --requirement requirements/runtime-constraints.txt
No known vulnerabilities found

pnpm typecheck
passed

pnpm test
4 test files, 8 tests passed

pnpm build
passed; 1,812 modules transformed

pnpm audit --audit-level high
No known vulnerabilities found

git diff --check
passed
```

The first Python audit identified `PYSEC-2026-3552` in cryptography 49.0.0. The declared range and
runtime constraint were upgraded to 50.0.0, the authentication/security/Computer focused suite
passed 29 tests after the upgrade, and the audit then passed as shown above.

## Explicitly blocked evidence

The production preflight does not pass on this machine: the checkout is dirty and has no configured
remote; `.env`, protected production material, and a target TLS directory are absent; Docker and
Age are unavailable. Consequently there is no evidence for image builds/scans, effective Compose
runtime, Linux users/capabilities/mount permissions, live PostgreSQL grants, Redis ACL behavior,
external TLS, firewall/SSH policy, encrypted storage, browser/guest egress, dedicated VM isolation,
golden images, the in-guest daemon, backup/restore, reboot/failure/load drills, monitoring, alerting,
CI branch protection, or independent Security/QA approval.

This evidence supports only the linked local checklist items. It does not approve production use.
