Files
jobtrackingapp/docs/redesign/phase-5/p5-15/p5-15-05/README.md
T

36 lines
5.4 KiB
Markdown

# P5-15-05 — Production readiness decision
**PRODUCTION NO-GO.** This is an available-evidence assessment, not a deployment or simulated production verification. `main` remains `27657f31131cd95d42f0e1290853ec9c9b3959a4`; only the development branch is pushed. No credentials, infrastructure, production database, backup, inference service or live configuration were changed.
## Repository findings
Fresh remote observation confirms the actual production branch is `main`. The Gitea workflow's deployment job follows successful tests only for a push to `refs/heads/main`; it uses established private host/user/key secrets and invokes the existing deployment script. Therefore a push is a deployment action. Branch protection, protected runner results and currently deployed revision remain NOT VERIFIED.
Compared with `main`, the migration difference contains documentation-only edits to three historical migrations and concurrency metadata on the existing CV Version property in the snapshot. No new DDL migration is introduced by the redesign. Compose and API Dockerfile have no candidate differences. This is preparation evidence, not proof of the actual deployed schema, database or successful startup reconciliation.
The implemented runtime supports SQLite and MySQL/MariaDB. `Program.cs` defaults to SQLite and also substitutes SQLite when the connection is missing. That recorded F19 risk must be checked against the actual production configuration: do not accept a newly empty fallback database as a successful deployment. There is no PostgreSQL runtime to qualify in this checkpoint. Development SQLite success does not prove production MariaDB compatibility.
The Production registration still withholds `CvAiSuggestionService`; generation and application return the established unavailable contract before a provider request or content/history mutation. Deterministic focused AI and real-HTTP guards are required in final regression. Unrelated AI registrations remain intact. This repository proof does not certify what is running remotely.
## Executable operator gate
The [established recovery/ingress procedure](../READINESS_DEBT.md) and [original release assessment](../../production-release-decision/README.md) remain authoritative. An infrastructure operator must supply sanitized results, timestamps, actual revision/image identifiers and comparison manifests for each row; prepared commands are not PASS results.
| Gate | Required action and exit evidence | Current result |
|---|---|---|
| F04 ingress | Inventory actual edge/proxy topology, original trusted socket peer and generated trust settings; verify real TLS/canonical redirects, direct/spoofed denial, effective client identities and real-chain limiter/auth checks | NOT VERIFIED; no deployed topology/endpoint evidence supplied |
| Current complete backup | Capture database, files/attachments/CV data, exports, keys and tombstones with hash/manifest, private custody, retention and off-host copy | NOT VERIFIED; no current complete recovery set supplied |
| Isolated restore | Restore that current set into a separate target; boot, compare row/content/non-ASCII/attachment/package/PDF values, decrypt protected data and replay deletion tombstones | NOT VERIFIED; no safe target/current backup/operator evidence |
| Configuration and schema | Privately verify required secret presence, effective provider/connection/origins/auth/ingress/AI withholding; inspect schema/history and before/after counts on restored data | NOT VERIFIED; local configuration checks are not deployed inspection |
| Rollback | Rehearse failure after replacement on isolated Linux topology; prove failed CI/nonzero result, prior images/config restored and current data/files/keys retained, then authenticate/smoke | NOT VERIFIED; no tested recovery result supplied |
| Release smoke/monitoring | Record actual deployed SHA and health, login/ownership, job CRUD, documents/packages/CV export and withheld review; observe logs/alerts without personal content | NOT VERIFIED; no candidate deployment performed |
| Accessibility/rendering qualification | Complete postponed human reader/device packet and deployed font/portrait corpus with unchanged fidelity criteria | NOT VERIFIED; local automation cannot supply these results |
Local backend ownership/security, configuration, HTTP ingress, rate-limit and PDF admission checks are recorded separately in the final regression manifest. No local 200, mock provider, green development suite or Git push substitutes for the rows above. No destructive restore, migration, restart, image push or recovery test is performed against live data.
## Deferred inference feasibility
Owner-provided production target: Ubuntu 24.04, GTX 1060/6 GB VRAM, 32 GB RAM. Windows/RTX 3080 development evidence cannot qualify that target. `qwen3.5:4b-q4_K_M` is a candidate, not a selected/approved model. Actual deployed driver/runtime/model digest, reachable inference service, VRAM/offload and throughput are unobserved; local Docker is unavailable. No inference target was disturbed or substituted, no download/recovery or 366-call qualification was attempted, and no human semantic review was impersonated.
P5-13 remains deferred/unqualified/Production-withheld, with its frozen corpus and all return conditions intact. Enabling review requires a separate activation decision after configured-target and independent human acceptance. A scoped Phase 6 transition does not authorise release or activation.