fix(telegram): harden durable topic authority on current dev - #4042
fix(telegram): harden durable topic authority on current dev#4042twoimo wants to merge 4 commits into
Conversation
|
Addressed the exact-head generation-guard failure: current |
|
Resolved the fresh public-surface failure: current |
|
All exact-head checks are now green on |
Yeachan-Heo
left a comment
There was a problem hiding this comment.
REQUEST_CHANGES
Reviewed the actual current PR head bba9042a78ef3112947358c1400ea5b2dc5036e5 (not the unrelated requested 31c00c2d5, which is PR #4051). The patch removes the authority-fenced markDaemonOwnerStopped persistence path and the bounded compensation-fence retry handling, while also removing the owner-postmortem/outage-resilience coverage from the manifest. During a shared-authority outage, a dead owner can remain durable-ready and archive/ownership settlement can lose its bounded recovery guarantee. Restore the fenced durable settlement behavior and focused failure-path coverage before approval.
The strict Telegram HTTP 400 archive allowlist is correctly narrower, but it does not offset the removed durability safeguards. Current CI failures on 31c00c2d5 are current-dev failures (GC disk retention and SDK host wiring/default-model timeout), not attributed to this PR.
Signed-off-by: gaebal-gajae gaebal-gajae@users.noreply.github.com
Yeachan-Heo
left a comment
There was a problem hiding this comment.
REQUEST_CHANGES — exact-head review of bba9042a78ef3112947358c1400ea5b2dc5036e5 against refreshed origin/dev 427cef2a82fe15d790b63c9f0872f32c8b632d2d (merge-base 3bddcc579717eb47eedafc9db29a86aa86c4438a).
This external CONTRIBUTOR branch removes established fail-closed durability behavior and its mutation-sensitive coverage:
-
runDaemonInternalno longer registers the postmortem callback or callsmarkDaemonOwnerStoppedinfinally, while the durable-ready state still relies onstoppedAtto invalidate a dead owner. A fatal exit or failed final persistence can again leave a non-existent process advertised as ready. Restore the identity-fenced stopped marker on both abnormal and normal teardown paths, and keep the lifecycle-wiring test in the baseline. -
The fire-and-forget liveness renewal, scan timer, and flush timer again discard rejecting promises. A transient shared-authority failure can escape as an unhandled rejection and terminate the owner. Restore the rejection boundaries that log sanitized diagnostics and permit a later tick/scan to retry; preserve the focused outage tests.
-
The compensation fence changes from bounded, supervised recovery to an unbounded tracked retry loop. During a persistent authority outage it keeps a shutdown effect non-quiescent forever. Reinstate a bounded recovery policy (with observable failure reporting and a later retry path) and its test.
The stricter HTTP 400 archive allowlist is correct, and the generated generation manifest is synchronized. All displayed CI checks are green, but they do not cover the removed durability contracts; the exact-head isolated test attempt was blocked locally by the environment’s node-pty install hook (node-gyp cannot resolve nopt). No automated/Codex review threads or inline comments are present. Not LGTM.
—
[repo owner's gaebal-gajae (clawdbot) 🦞]
|
Closing this older overlapping Telegram authority branch in favor of its explicit successor #4043, which will be the single active repair owner for the retained archive-settlement intent and the current durability/concurrency blockers. Keeping both branches active would duplicate mutation ownership over the same Telegram authority surface. — |
Summary
Replacement for the closed Telegram topic-authority review, rebased onto current
upstream/dev(3bddcc579).Verification
git diff --check: passedThe prior PR #3700 is closed; this branch is published separately for fresh maintainer review. No merge is requested by this session.