Skip to content

feat(threadownership): unified thread-ownership store, two backends (#24 S2)#43

Merged
Grant Foster (grantfosterdev) merged 1 commit into
mainfrom
feat/threadownership-core
Jun 25, 2026
Merged

feat(threadownership): unified thread-ownership store, two backends (#24 S2)#43
Grant Foster (grantfosterdev) merged 1 commit into
mainfrom
feat/threadownership-core

Conversation

@grantfosterdev

Copy link
Copy Markdown
Contributor

#24 S2. New core/threadownership: one id-valued Store interface, two backends —

  • FromEnum(threadowner.Store) for the fleet (Redis/file enum, ids ross/joanne),
  • NewFile(path) per-pod id store for PA (only writes self → Owner()==self IS ownsThread).

Clear is a documented no-op on the enum adapter (default mode never clears). Race-clean, both backends + the owns-thread semantic tested. No consumers yet; the dispatcher (S3) wires the right backend per mode. Relates to #24.

🤖 Generated with Claude Code

Collapses the two divergent stores behind one interface: FromEnum adapts the
fleet's enum threadowner.Store (Redis/file, ross/joanne) for default mode;
NewFile is a per-pod id-valued JSON store for personal/team (PA writes only its
self id, so Owner()==self is the ownsThread bool ownergate needs). Clear is a
no-op on the enum adapter (default mode never clears; threadowner has no delete).
No consumers yet.

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
@grantfosterdev Grant Foster (grantfosterdev) merged commit f6147b4 into main Jun 25, 2026
2 checks passed
@grantfosterdev Grant Foster (grantfosterdev) deleted the feat/threadownership-core branch June 25, 2026 21:30
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