Skip to content

Harden durable ingress edge cases - #8

Closed
Haakam21 wants to merge 6 commits into
mainfrom
luanda
Closed

Haakam21 wants to merge 6 commits into
mainfrom
luanda

Conversation

@Haakam21

@Haakam21 Haakam21 commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

Harden durable AgentMail ingress across deferred media ownership, capacity coordination, tombstone retention, catch-up recovery, reply reconciliation, and reconnect behavior. Admit sender-clock-skewed mail while bounding retention at the shared durable boundary; self-heal cursor baselines without regressing their high-water marks and prevent malformed timestamps from being re-listed forever. Preserve core empty-payload suppression, base unknown-send 404 recovery on the outbound attempt, and reclaim deferred media after account shutdown settles. Validation: all 200 tests, build, manifest check, and host validation with AgentMail CLI 0.7.14 pass.

Haakam21 added a commit that referenced this pull request Aug 23, 2026
Combines PR #8 (durable ingress edge cases) into PR #10 so both land as a
single change.

Conflict in src/channel/src/ingress.ts resolved toward this branch's
transitionFailedAgentMailIngress helper, which already consolidates the
poison-message failure transition that origin/luanda still open-coded at both
call sites. The helper's callers supply the distinct terminal log text and
lastError, so the "abandoned deferred turns" and "failed dispatch attempts"
paths keep their separate messages.

The helper omitted the failedAt stamp that the open-coded blocks passed to
journal.fail, which durable-receive.ts maps to completedAt for failed rows.
Added it back so the consolidated path matches the two direct journal.fail
call sites in this file.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

Copy link
Copy Markdown
Contributor Author

Consolidated into #10. All six commits from luanda are merged there unchanged (merge commit 319aab2), so no work is lost.

The only conflict was in src/channel/src/ingress.ts, resolved toward #10's transitionFailedAgentMailIngress helper — it already consolidates the poison-message failure transition this branch open-coded at both call sites. The helper was missing the failedAt stamp journal.fail receives here, so that was restored; the fails repeatedly abandoned deferred turns at the dispatch ceiling test from this PR covers it.

Closing in favour of #10. Leaving the luanda branch in place until #10 lands.

@Haakam21 Haakam21 closed this Aug 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant