2.2 KiB
id, name, status, depends_on, scope, risk, impact, level, tags
| id | name | status | depends_on | scope | risk | impact | level | tags | |||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| pg-fix-forwarder-diagnosability | Surface the forwarder's swallowed connect/poll failures (review 004 item 7 arms) | pending |
|
narrow | low | component | implementation |
|
Description
The two narrow diagnosability arms in the pg forwarder, per
docs/reviews/004-pre-release-general-review.md §"Findings recorded,
not fixed" item 7: the reconnect arm's connect failures are swallowed
with .ok() (forwarder.rs:839 — the review's ref; re-locate) and
the loop's exit discards the poll error (forwarder.rs:855-869) — an
operator sees nothing before wake loss.
Fix: surface both failures. The output form follows the
log-facade decision of record (decide-log-facade-adoption): through
the adopted facade, or through the documented eprintln! discipline
if the decision declined adoption. The error content must stay
secret-free (no DSN/password material — the standing verified
property; re-grep after).
Sequenced after pg-fix-forwarder-hardening deliberately: same file,
and the hardening's restructure may move the reconnect arm and the
loop-exit path this task touches.
Acceptance Criteria
- Failed reconnect connects are surfaced (not
.ok()-swallowed) with enough context to diagnose (error class, attempt/backoff state — no endpoint credentials) - The loop's exit path surfaces the poll error instead of discarding it
- The output form matches the log-facade decision of record; the secret-free property re-verified by grep
- Existing forwarder tests green unchanged; the hardening task's new pins green
cargo test -p alkstore-postgres(harness server), clippy-D warnings, fmt clean; workspace gates green server-less
References
- docs/reviews/004-pre-release-general-review.md §"Findings recorded, not fixed" item 7 (the finding, the swallowed-error sites)
- tasks/decide-log-facade-adoption.md (the output-form decision)
- tasks/pg-fix-forwarder-hardening.md (the same-file sequencing)
Notes
To be filled by implementation agent
Summary
To be filled on completion