You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The originally identified half-open PostgreSQL protocol-progress defect has a causal Draft repair in PR #244. Protected/default Wardnet truth remains main@f8260f1e03836039ff9463dd99fa982e4e270c4b; StateAuthority::Postgres remains disabled.
PR #244 remains Draft at exact 91cab184c95984d5ffdb6b2a4eb8f8920fbae8f5, based on exact #242641d7cd4b12d174015801ce4aee8f29803f239ad. The wider PostgreSQL stack is parked behind canonical Runtime Configuration #140, now exact 99c7c6c798f13c9c37d00d9f586f102585ad3494, directly based on protected main, mechanically mergeable and still Draft. The earlier protected-base synthesis/reconciliation lineage is integrated into that root; repository-owned CI/Fuzz/SAST/Security evidence is terminal GREEN, while delegated CodeQL terminal settlement remains central .github#1929 ownership. Do not restack #244 or intermediate PostgreSQL children until #140 satisfies live review/governance and reaches protected truth through normal integration; every adoption must be ordinary/non-force and reacquire exact-head evidence.
Executed RED and minimum causal GREEN for the half-open defect
The real postgres:18.4-bookworm fixture uses canonical migrations/roles, an externally managed ordinary runtime LOGIN, and a two-member pool behind a loopback TCP/protocol fault proxy. It first establishes distinct backend PIDs and a slow-but-valid control, then withholds backend protocol progress while keeping selected client TCP sessions open.
The executed RED proved that a driver-known-open client could miss a PostgreSQL protocol response and remain selected while replacement startup was blackholed, consuming the later checkout budget and leaving a protocol-desynchronised session lifecycle unresolved. Fixture review also corrected the selective schedule so the next round-robin checkout encounters the blackholed member first instead of accidentally exercising the healthy peer.
The minimum production repair changes only Wardnet's PostgreSQL pool/session-liveness boundary:
pool slots are Option<Client> behind the existing per-slot mutex;
each driver-known-open session completes bounded, non-mutating Client::check_connection() before Wardnet state work;
failed/timed-out preflight removes/drops the client before the slot mutex is released;
one stale slot retains one replacement authority without a global writer lock/reconnect storm;
one fixed checkout/readiness window is shared across candidate sessions, so a half-open member cannot consume the full budget while a healthy member exists;
Hostile acceptance proves selective failover, all-stream fail-closed PoolUnavailable, bounded recovery after clearing the fault, no tenant-context residue, no reconnect storm and the slow-valid positive control.
No explicit database lock or long-lived transaction may remain open across LLM calls, external I/O, sandbox execution or long-running computation. Read bounded state and end the transaction, perform slow work outside the transaction, then open a bounded write transaction and revalidate the required optimistic/concurrency predicate before commit. Cross-service SQL remains forbidden.
Buyer-path performance evidence
On exact #244, the real PostgreSQL buyer-path acceptance executes 200 unexcluded probe_unbound_context() samples through the loopback proxy. Each includes PostgreSQL protocol preflight plus the actual probe query. Acceptance requires p95 <=20 ms, preserves unbound tenant context and requires exactly the original two physical runtime sessions so reconnect churn cannot manufacture the result.
Historical exact #244 CI 34402494574 and Fuzz 34402494583 are terminal SUCCESS on 91cab184c95984d5ffdb6b2a4eb8f8920fbae8f5. They prove the causal implementation only and do not transfer after root/base movement.
Remaining exact-head completion gate
The half-open defect is causally repaired on #244, but the issue stays open because Wardnet requires explicit machine-verifiable 100% owned-production statement/line, branch, edge and public-rustdoc completeness on one unchanged exact integration candidate. cargo test/CI success is not a substitute.
docs/TEST_STRATEGY.md on #244 records that distinction and the real PostgreSQL hostile/performance denominator. Do not introduce a duplicate Wardnet leaf coverage workflow merely because central evidence materialization is delayed.
Close only when #244 or a verified complete successor reaches protected main after dependency-first non-force restack and one unchanged integration candidate has explicit 100% owned-production statement/branch/edge/rustdoc evidence, current review/thread evidence, fresh protected-base compatibility and every then-live deterministic/security/SAST/CodeQL/package/SBOM/provenance/governance gate terminal-valid. Model/bot review remains advisory, not independent approval.
This issue does not authorize production PostgreSQL authority. #80/#192 still require complete protected integration, production backup/WAL/storage/encryption/IAM authority, recovery/SLO evidence and immutable release identity.
Refs #80 #192 #229 #230 #232 #234 #235 #236 #239 #240 #241 #242 #244.
Current exact state — refreshed 2026-09-20 KST
The originally identified half-open PostgreSQL protocol-progress defect has a causal Draft repair in PR #244. Protected/default Wardnet truth remains
main@f8260f1e03836039ff9463dd99fa982e4e270c4b;StateAuthority::Postgresremains disabled.PR #244 remains Draft at exact
91cab184c95984d5ffdb6b2a4eb8f8920fbae8f5, based on exact #242641d7cd4b12d174015801ce4aee8f29803f239ad. The wider PostgreSQL stack is parked behind canonical Runtime Configuration #140, now exact99c7c6c798f13c9c37d00d9f586f102585ad3494, directly based on protected main, mechanically mergeable and still Draft. The earlier protected-base synthesis/reconciliation lineage is integrated into that root; repository-owned CI/Fuzz/SAST/Security evidence is terminal GREEN, while delegated CodeQL terminal settlement remains central.github#1929ownership. Do not restack #244 or intermediate PostgreSQL children until #140 satisfies live review/governance and reaches protected truth through normal integration; every adoption must be ordinary/non-force and reacquire exact-head evidence.Executed RED and minimum causal GREEN for the half-open defect
The real
postgres:18.4-bookwormfixture uses canonical migrations/roles, an externally managed ordinary runtime LOGIN, and a two-member pool behind a loopback TCP/protocol fault proxy. It first establishes distinct backend PIDs and a slow-but-valid control, then withholds backend protocol progress while keeping selected client TCP sessions open.The executed RED proved that a driver-known-open client could miss a PostgreSQL protocol response and remain selected while replacement startup was blackholed, consuming the later checkout budget and leaving a protocol-desynchronised session lifecycle unresolved. Fixture review also corrected the selective schedule so the next round-robin checkout encounters the blackholed member first instead of accidentally exercising the healthy peer.
The minimum production repair changes only Wardnet's PostgreSQL pool/session-liveness boundary:
Option<Client>behind the existing per-slot mutex;Client::check_connection()before Wardnet state work;CommitOutcomeUnknownsemantics remain unchanged.Hostile acceptance proves selective failover, all-stream fail-closed
PoolUnavailable, bounded recovery after clearing the fault, no tenant-context residue, no reconnect storm and the slow-valid positive control.No explicit database lock or long-lived transaction may remain open across LLM calls, external I/O, sandbox execution or long-running computation. Read bounded state and end the transaction, perform slow work outside the transaction, then open a bounded write transaction and revalidate the required optimistic/concurrency predicate before commit. Cross-service SQL remains forbidden.
Buyer-path performance evidence
On exact #244, the real PostgreSQL buyer-path acceptance executes 200 unexcluded
probe_unbound_context()samples through the loopback proxy. Each includes PostgreSQL protocol preflight plus the actual probe query. Acceptance requires p95<=20 ms, preserves unbound tenant context and requires exactly the original two physical runtime sessions so reconnect churn cannot manufacture the result.Historical exact #244 CI
34402494574and Fuzz34402494583are terminal SUCCESS on91cab184c95984d5ffdb6b2a4eb8f8920fbae8f5. They prove the causal implementation only and do not transfer after root/base movement.Remaining exact-head completion gate
The half-open defect is causally repaired on #244, but the issue stays open because Wardnet requires explicit machine-verifiable 100% owned-production statement/line, branch, edge and public-rustdoc completeness on one unchanged exact integration candidate.
cargo test/CI success is not a substitute.docs/TEST_STRATEGY.mdon #244 records that distinction and the real PostgreSQL hostile/performance denominator. Do not introduce a duplicate Wardnet leaf coverage workflow merely because central evidence materialization is delayed.Close only when #244 or a verified complete successor reaches protected
mainafter dependency-first non-force restack and one unchanged integration candidate has explicit 100% owned-production statement/branch/edge/rustdoc evidence, current review/thread evidence, fresh protected-base compatibility and every then-live deterministic/security/SAST/CodeQL/package/SBOM/provenance/governance gate terminal-valid. Model/bot review remains advisory, not independent approval.This issue does not authorize production PostgreSQL authority. #80/#192 still require complete protected integration, production backup/WAL/storage/encryption/IAM authority, recovery/SLO evidence and immutable release identity.
Traceability
No force update, destructive rebase, self/model approval, routine bypass, gate weakening, mutable foreign dependency, source copy, cross-service SQL, no-op workflow churn, automatic replay of started work, elapsed-time success inference or predecessor-evidence transfer. Generic solo-maintainer approval remains central
.github#772; runner/OpenCode control-plane defects remain.github#712/#1234; delegated CodeQL settlement remains.github#1929or verified successors.