This is an internal working record, not an everyday instruction. It was written while the system was being rebuilt, for whoever maintains it. If you are here to do today's work, use the everyday documents instead: Procedures · Processes · Runbooks · The working day, step by step
Platform Deployment / Recovery Current Component Matrix — 2026-08-10¶
- Task:
CTC-CDOC-006 - Source baseline reviewed:
master@8981a02f7b2a2fa256a7365d6921f3d7636f1fe2 - State:
SOURCE-RECONCILED / ENVIRONMENT NOT RUN
| Component / state | Source owner or authority | Positive evidence required later | Must not be inferred |
|---|---|---|---|
| Git ref promoted | Git master exact SHA |
remote ref readback | deployed runtime |
| PHP runtime applied | config/config.php release identity + deployed worktree/process |
runtime source SHA from intended instance | config/schema/provider readiness |
| PHP service live | Apache/PHP-FPM runtime | process/listener/request liveness | target workflow ready |
| PHP service ready | PHP dependencies and selected route | DB/config/storage dependencies plus bounded authenticated read | business acceptance |
| MySQL available | KJDatabase consumers |
exact endpoint/db/schema read-only inventory | backup/restore readiness |
| File/object storage available | file metadata/storage owners | backend identity, object inventory/readability | DB link correctness |
| AI Voice Gateway applied | voice-gateway/src/*, deploy unit/config |
service source/build identity | provider readiness |
| AI Voice Gateway live | gateway /healthz |
bounded local health response | Twilio/Gemini/tool/DB readiness |
| AI Voice Gateway ready | gateway + proxy + provider/tool dependencies | proxy reachability, secret match, provider/tool checks, state-dir write/read | business acceptance |
| Scheduler definition present | timer/cron/callback source | repository path only | installed/enabled/running |
| Scheduler active | installed unit/cron/provider subscription | installed definition + enabled state + last invocation | last child success |
| Public callback route present | PHP/Voice callback source | source route inventory | externally reachable/accepted |
| Provider credential reference present | app/platform/tenant/config_helper.php |
metadata-only config key/type inventory | credential usable |
| Tenant secret decryptable | tenant_secret_decrypt() |
protected confirmation that compatible key recovery path exists; never key value | ciphertext alone is recoverable |
| Backup exists | external backup owner | backup IDs/timestamps for each required component | restore verified |
| Restore verified | recovery owner | isolated restore + readback + reconciliation ledger | production ready |
| Provider reconciled | provider integration owner | local/provider identifier comparison and unknown-outcome resolution | local restore changed provider state |
| Business accepted | owning Process + target role | selected canary normal path/readback | infrastructure health |
| Stabilized | release/support owner | observation window and residual issue disposition | one successful canary |
Required backup-set component matrix¶
| Component | Include in inventory | Secret-safe evidence |
|---|---|---|
| Runtime DB | snapshot/PITR reference, timestamp, encryption ref, schema compatibility | IDs/fingerprints only |
| File/Object | backend, generation/version/snapshot, inventory/checksum | object IDs/counts/checksums; no business payload dump |
| Non-secret config | config release/reference, installed unit/proxy references | names/fingerprints |
| Tenant secret recovery | CTC_TENANT_SECRET_KEY recovery reference OR approved rotation/re-encryption procedure |
recovery reference/status only; never key |
| Provider auth | credential owner/re-provision/OAuth reauth procedure | provider/account metadata only |
| Voice Gateway local state | state directory/outbox inventory | counts/oldest age/IDs, no transcript content unless separately authorized |
| Scheduler state | installed/enabled/drained, last-run IDs | metadata only |
| Audit/log evidence | evidence-class retention source | IDs/timestamps/retention status |
| Provider reconciliation | external IDs, local refs, pending/unknown counts | no access tokens/secrets |
Restore gate ordering¶
backup component completeness
-> isolated restore
-> local DB/object/config consistency
-> tenant key recovery or credential rotation
-> service-local state recovery
-> liveness
-> readiness
-> provider reconciliation
-> controlled scheduler/provider re-enable
-> target-role canary
-> restore verified
restore verified is assigned only after the required gates for the selected recovery scope are satisfied.
---¶
Source:
docs/processes/PLATFORM_DEPLOYMENT_RECOVERY_CURRENT_COMPONENT_MATRIX_2026-08-10.md— ctc repository · This page is an English translation of the source document. Identifiers, file paths and code symbols are unchanged.