fix: harden durable runtime DEV gates
This commit is contained in:
@@ -229,6 +229,11 @@ blockers such as role missing, database missing, SSL, auth, schema, migration,
|
||||
or durability readiness. It must not read Secret objects, print Secret values,
|
||||
run PROD changes, use manual `psql`, or perform schema migration.
|
||||
|
||||
Provisioning reports intentionally keep target role, database, host, password,
|
||||
and admin DSN out of the output. `role missing` and `database missing` are
|
||||
reported as separate blockers so an auth failure cannot be repaired with an
|
||||
untracked manual DB write.
|
||||
|
||||
## Runtime Migration Automation
|
||||
|
||||
The repo-owned runtime migration entrypoint is:
|
||||
@@ -284,12 +289,20 @@ node scripts/dev-runtime-postflight.mjs --live --confirm-dev --confirmed-non-pro
|
||||
|
||||
Default `--check` is source-only. Live mode first reads
|
||||
`http://74.48.78.17:16667/health/live` and
|
||||
`http://74.48.78.17:16667/v1`. It only performs the M3
|
||||
`DO1=true -> DI1=true -> DO1=false -> DI1=false` postflight when both
|
||||
`http://74.48.78.17:16667/v1`. `/v1` must expose only the controlled
|
||||
same-origin M3 IO route `/v1/m3/io` with contract `m3-io-control-v1`; generic
|
||||
frontend gateway/box/patch-panel access is not a valid postflight substitute.
|
||||
The postflight only performs the M3
|
||||
`DO1=true -> DI1=true -> DO1=false -> DI1=false` write/read sequence when both
|
||||
endpoints prove `runtime.adapter="postgres"`, `runtime.durable=true`,
|
||||
`runtime.ready=true`, and `runtime.liveRuntimeEvidence=true`. The M3 portion
|
||||
must then prove operation, trace, audit, and evidence identifiers with durable
|
||||
green evidence; otherwise the report remains blocked.
|
||||
`runtime.ready=true`, and `runtime.liveRuntimeEvidence=true`.
|
||||
|
||||
The M3 portion must then prove all four expected operations, exact true/false
|
||||
values, operation/trace/audit/evidence identifiers, `evidenceState.status="green"`,
|
||||
`evidenceState.sourceKind="DEV-LIVE"`, `evidenceState.durable=true`, and
|
||||
`evidenceState.writeStatus="persisted"`. DB SecretRef presence, TCP
|
||||
connectivity, `db.connected=true`, or `db.liveDbEvidence=true` alone must leave
|
||||
the postflight blocked with the durable runtime blocker preserved.
|
||||
|
||||
## Durable Runtime Unblock Runbook
|
||||
|
||||
|
||||
Reference in New Issue
Block a user