Skip to content

Gate concurrent warm synchronization - #250

Merged
chubes4 merged 1 commit into
mainfrom
fix/248-bounded-warm-bootstrap
Aug 25, 2026
Merged

Gate concurrent warm synchronization#250
chubes4 merged 1 commit into
mainfrom
fix/248-bounded-warm-bootstrap

Conversation

@chubes4

@chubes4 chubes4 commented Aug 25, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • give primary warm synchronization one non-blocking process owner per runtime index
  • let concurrent boots immediately retain the last complete index instead of entering SQLite writer contention
  • keep ownership process-safe through OS flock, which releases automatically when the synchronizer exits
  • expose synchronizer_active evidence when a boot deliberately skips synchronization

Closes #248.

Verification

  • all PHP files pass php -l
  • all tests/smoke-*.php scripts pass
  • multi-process regression proves one synchronization owner, immediate contender fallback, clean release, and later reacquisition
  • focused warm-sync atomic, hydration concurrency, and primary storage runtime tests pass

AI assistance

OpenAI GPT-5.6 Sol via OpenCode reviewed MDI primary boot and persistence boundaries, implemented the synchronization ownership gate and multi-process regression coverage, and ran repository verification. Chris Huber directed the follow-up architecture and remains responsible for the change.

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.

Bound concurrent primary-mode warm bootstrap synchronization

1 participant