feat(sync): propagate delayed session closures
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 42/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- go
- Domain
- distributed-systems
Research direction
Chain unit 2 of 4 under umbrella #1192, explicitly blocked on PR #1250 (the core closure slice) — read that PR first to find the sync outbox and manifest-chunk code this builds on. Start from the existing outbox mutation path and the point where a remote manifest chunk is fetched, then locate where a missing chunk currently drops the mutation. Done looks like delayed closure mutations replay idempotently with a recovery path for missing chunks, plus new tests covering delayed propagation and recovery.
Written by the indexing model from the issue text.
Description
🔍 Problem Description
Closing a session locally does not surely propagate the closure to synchronized recas when a sync target is unavailable or its manifest chunk does not exist yet. This can leave a remote session open after the local closure.
💡 Proposed Solution
Propagate delayed session-closure mutations idempotently through the existing sync outbox. When a required remote manifest chunk is missing, recover it without duplicating mutations. Addtest coverage for delayed propagation and recovery.
📦 Affected Area
Sync (multi-instance)
🔄 Alternatives Considered
No response
📎 Additional Context
Parent umbrella: #1192. This is chain unit 2 of 4; it depends on PR#1250, the core closure slice. It excludes openCode archive-to-idle detection and archive lifecycle hardening.
- Dominant language
- Go
- Stars
- 7.1k
- Forks
- 729
- Avg merge
- 11h 47m
- Merged PRs (30d)
- 284
Getting set up
Starts the project's dev container in your browser, under your own GitHub account.
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from Gentleman-Programming/engram
-
status:needs-review
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
Gentleman-Programming/engram#2065 · 1 comment ·
Maintainers usually reply within 1 day
-
status:needs-review type:feature
Difficulty 5/5 Over a week Newbie friendliness 35/100
Gentleman-Programming/engram#2331 ·
Maintainers usually reply within 1 day
-
status:needs-review
Difficulty 1/5 Under an hour Newbie friendliness 25/100
Gentleman-Programming/engram#2330 · 1 comment ·
Maintainers usually reply within 1 day
-
status:needs-review
Difficulty 4/5 3-5 days Newbie friendliness 48/100
Gentleman-Programming/engram#2315 ·
Maintainers usually reply within 1 day
-
question(test): stable request storage for existing EINTR scenariosPossibly taken @dnlrsls claimed this 2 days ago. Openstatus:needs-review type:question
Gentleman-Programming/engram#2291 · 1 assignee ·
Maintainers usually reply within 1 day
All issues in Gentleman-Programming/engram
Similar issues
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 64/100
Maintainers usually reply within 1 day
-
bug raised-by:verifier
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
medici-finance/assay#5697 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
sonatype-nexus-community/terraform-provider-sonatypeiq#101 ·
Maintainers usually reply within 1 day
-
area: metrics area: tracing contribfest enhancement good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 83/100
open-telemetry/opentelemetry-ebpf-instrumentation#4188 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
blinklabs-io/dingo#6074 ·
Maintainers usually reply within 1 day