Fix native observations, canonical storage and Coolify runtime checks #54

Merged
PlasticDigits merged 11 commits from fix/voting-36-43 into main 2026-10-14 07:27:50 +00:00
Owner

Production startup exposed native Terra RPC configuration that was never attached to the client, pooled sessions selecting an old schema, readiness probes used as restart probes, and Coolify static wrapping discarding the frontend runtime. This change wires native observations, pins every ledger/API connection to the trusted path, separates restart liveness, and verifies Docker runtime deployment mode and resource identity.

A bounded read-only inspection mode reports allowlisted catalog/count/mismatch metadata before any migration or worker, so deployment can audit existing storage without copying credentials or guessing which electorate to retain. It exposes liveness200/readiness503 and handles graceful shutdown. Normal mode retains the signed lifecycle, immutable histories and frozen power.

Pinned Rust1.88.0 full release verification passed73unit/supervisor tests,92integration tests,245OpenAPI response validations,146frontend tests, production build, both nginx configurations and Gitleaks. Additional evidence includes11Chromium workflows, a real second-origin signed amendment/retry,4optimized timestamp tests, actual Docker valid build and9guard rejections, actual native-RPC recovery/registration/restart, full signed lifecycles through the restricted pool, every pooled connection against hostile startup paths, and captured sentinel log/response failures.

Evidence and invariants crosslinks operator/ledger/protocol agent guidance and the release controls. Initial release failures are documented in issues36–43; no issue is automatically closed. Production read-only inventory, recovery, exact-commit deployments, proxy verification and live tests follow merge; skipped exhaustive matrices will remain explicit in final comments.

Production startup exposed native Terra RPC configuration that was never attached to the client, pooled sessions selecting an old schema, readiness probes used as restart probes, and Coolify static wrapping discarding the frontend runtime. This change wires native observations, pins every ledger/API connection to the trusted path, separates restart liveness, and verifies Docker runtime deployment mode and resource identity. A bounded read-only inspection mode reports allowlisted catalog/count/mismatch metadata before any migration or worker, so deployment can audit existing storage without copying credentials or guessing which electorate to retain. It exposes liveness200/readiness503 and handles graceful shutdown. Normal mode retains the signed lifecycle, immutable histories and frozen power. Pinned Rust1.88.0 full release verification passed73unit/supervisor tests,92integration tests,245OpenAPI response validations,146frontend tests, production build, both nginx configurations and Gitleaks. Additional evidence includes11Chromium workflows, a real second-origin signed amendment/retry,4optimized timestamp tests, actual Docker valid build and9guard rejections, actual native-RPC recovery/registration/restart, full signed lifecycles through the restricted pool, every pooled connection against hostile startup paths, and captured sentinel log/response failures. [Evidence and invariants](docs/verification/2026-10-14-issues-36-43.md) crosslinks operator/ledger/protocol agent guidance and the release controls. Initial release failures are documented in issues36–43; no issue is automatically closed. Production read-only inventory, recovery, exact-commit deployments, proxy verification and live tests follow merge; skipped exhaustive matrices will remain explicit in final comments.
Exercise BSC HTTP 429, malformed successful JSON, bounded timeout recovery, and complete empty log ranges through persisted accounting. Verify empty Terra blocks, repeated pagination keys, and canonical hash fetch failure readiness without cursor or epoch corruption.
Run both signed lifecycle and concurrency paths using restricted sessions, reverify superseded receipts, and check required database refusal and ordinary clock boundaries.
Exercise the real entrypoint with configured native Terra RPC, a height-headerless LCD, explicit baseline recovery, queued registration, readiness and restart idempotence. Expose only validated SQLSTATE identifiers or fixed SQLx classes in database Debug diagnostics while keeping Display generic.
fix(deploy): wire native Terra observations and retain frontend runtime image
All checks were successful
ci/woodpecker/pr/woodpecker Pipeline was successful
6a204abb17
Override database, role, and startup search paths before writer queries. Keep migration creation in public and restore the trusted catalog/public path afterward. Exercise all pool slots and a new replacement against old-schema shadow registrations while preserving public history and frozen weights; document the storage invariant and inventory requirement.
Initialize every API pool connection through the ledger factory so role defaults and URL options cannot select legacy shadow tables. Verify six pooled connections read canonical registration data with a hostile search path.
feat(ledger): add bounded read-only storage inspection mode
Some checks are pending
ci/woodpecker/pr/woodpecker Pipeline is pending
dceb0b6acf
Inspect allowlisted public and voting ledger storage before migrations, recovery or workers. Emit only bounded metadata and common-column difference counts under a read-only snapshot; expose liveness with failed readiness and graceful shutdown. Verify the actual process preserves histories, frozen weights and cursors, omits sensitive values, and survives bounded count failures.
PlasticDigits changed title from Fix release wiring and expand hardening fault coverage to Fix native observations, canonical storage and Coolify runtime checks 2026-10-14 07:23:22 +00:00
docs: record final storage inspector release verification
All checks were successful
ci/woodpecker/pr/woodpecker Pipeline was successful
4c7c929a9c
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
code/voting!54
No description provided.