Archive completed public-site and production-provider changes into main specs, remove duplicate active changes, and add complete-foundation-parity so Phase 0 staging and remaining foundation gaps block Phase 2 cleanly. Co-authored-by: Cursor <cursoragent@cursor.com>
31 lines
1.4 KiB
Markdown
31 lines
1.4 KiB
Markdown
## ADDED Requirements
|
|
|
|
### Requirement: Local Compose runs FrankenPHP application alongside PostgreSQL
|
|
|
|
The local Docker Compose stack SHALL include a FrankenPHP application service built from the project Dockerfile, dependent on a healthy PostgreSQL service, exposing the application on port 8000 (or documented equivalent). FrankenPHP MUST run in regular mode (ADR-006).
|
|
|
|
#### Scenario: Developer starts full local stack
|
|
|
|
- **WHEN** a developer runs `docker compose up -d` with the application service enabled
|
|
- **THEN** PostgreSQL and the FrankenPHP app containers MUST become healthy
|
|
- **AND** `GET /up` on the app port MUST return HTTP 200
|
|
|
|
#### Scenario: App waits for database readiness
|
|
|
|
- **WHEN** the application service starts
|
|
- **THEN** it MUST depend on the PostgreSQL healthcheck succeeding before becoming ready
|
|
|
|
### Requirement: Runtime PHP version is canonically 8.4
|
|
|
|
Docker, CI, and project documentation MUST treat PHP 8.4 as the canonical runtime for this MVP. Statements that require PHP 8.5+ MUST NOT remain in project docs while the runtime image uses 8.4.
|
|
|
|
#### Scenario: Dockerfile pins PHP 8.4
|
|
|
|
- **WHEN** the production/runtime image is built
|
|
- **THEN** the FrankenPHP base image MUST use PHP 8.4
|
|
|
|
#### Scenario: Documentation matches the runtime
|
|
|
|
- **WHEN** a contributor reads the README requirements
|
|
- **THEN** the documented PHP version MUST be 8.4 (compatible with Composer `^8.3`)
|