feat: activate local-only team memory in open build - #648
Merged
kevincodex1 merged 2 commits intoApr 13, 2026
Merged
Conversation
Enable the TEAMMEM feature flag and the isTeamMemoryEnabled() gate so team memory works in local-only mode for all open-build users. Team memory is a shared memory system scoped per-project, stored at ~/.claude/projects/<project>/memory/team/. The implementation is already almost entirely local — extraction, UI, prompts, file detection, and path validation all work on local files. The cloud sync overlay (OAuth + API) is cleanly separated: the watcher does an early return when OAuth is unavailable, so the feature degrades gracefully to local-only storage with no crashes. What works locally: - Memory extraction (auto + team, combined prompts) - Team MEMORY.md loaded into conversation context - File selector with team memory folder option - Collapse tracking (read/search/write counts) - Secret scanning before persistence - Path validation + symlink protection What requires OAuth (not available in open build): - Cloud sync between team members - Automatic push/pull via file watcher
Contributor
There was a problem hiding this comment.
Pull request overview
Enables team memory functionality in the open build by turning on the TEAMMEM build feature flag and removing the GrowthBook/feature-flag gate so team memory becomes active whenever auto-memory is enabled.
Changes:
- Enable
TEAMMEMin the open-build bundler feature flags. - Make
isTeamMemoryEnabled()returntruewhenever auto-memory is enabled (removing thetengu_herring_clockflag check).
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
scripts/build.ts |
Turns on the TEAMMEM build-time feature flag so team memory code is included in the open-build bundle. |
src/memdir/teamMemPaths.ts |
Removes the GrowthBook gate and unconditionally enables team memory when auto-memory is enabled. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Change isTeamMemoryEnabled() to read tengu_herring_clock with default true instead of unconditional return true. This enables team memory by default while preserving user opt-out via ~/.claude/feature-flags.json.
This was referenced Apr 13, 2026
kevincodex1
approved these changes
Apr 13, 2026
kevincodex1
requested review from
Vasanthdev2004,
anandh8x,
auriti and
gnanam1990
April 13, 2026 12:20
gnanam1990
approved these changes
Apr 13, 2026
C1ph3r404
pushed a commit
to C1ph3r404/openclaude
that referenced
this pull request
Apr 29, 2026
* feat: activate local-only team memory in open build Enable the TEAMMEM feature flag and the isTeamMemoryEnabled() gate so team memory works in local-only mode for all open-build users. Team memory is a shared memory system scoped per-project, stored at ~/.claude/projects/<project>/memory/team/. The implementation is already almost entirely local — extraction, UI, prompts, file detection, and path validation all work on local files. The cloud sync overlay (OAuth + API) is cleanly separated: the watcher does an early return when OAuth is unavailable, so the feature degrades gracefully to local-only storage with no crashes. What works locally: - Memory extraction (auto + team, combined prompts) - Team MEMORY.md loaded into conversation context - File selector with team memory folder option - Collapse tracking (read/search/write counts) - Secret scanning before persistence - Path validation + symlink protection What requires OAuth (not available in open build): - Cloud sync between team members - Automatic push/pull via file watcher * fix: preserve opt-out gate for team memory via feature flag Change isTeamMemoryEnabled() to read tengu_herring_clock with default true instead of unconditional return true. This enables team memory by default while preserving user opt-out via ~/.claude/feature-flags.json.
The-FOOL-00
pushed a commit
to The-FOOL-00/openclaude
that referenced
this pull request
May 24, 2026
* feat: activate local-only team memory in open build Enable the TEAMMEM feature flag and the isTeamMemoryEnabled() gate so team memory works in local-only mode for all open-build users. Team memory is a shared memory system scoped per-project, stored at ~/.claude/projects/<project>/memory/team/. The implementation is already almost entirely local — extraction, UI, prompts, file detection, and path validation all work on local files. The cloud sync overlay (OAuth + API) is cleanly separated: the watcher does an early return when OAuth is unavailable, so the feature degrades gracefully to local-only storage with no crashes. What works locally: - Memory extraction (auto + team, combined prompts) - Team MEMORY.md loaded into conversation context - File selector with team memory folder option - Collapse tracking (read/search/write counts) - Secret scanning before persistence - Path validation + symlink protection What requires OAuth (not available in open build): - Cloud sync between team members - Automatic push/pull via file watcher * fix: preserve opt-out gate for team memory via feature flag Change isTeamMemoryEnabled() to read tengu_herring_clock with default true instead of unconditional return true. This enables team memory by default while preserving user opt-out via ~/.claude/feature-flags.json.
discopops
pushed a commit
to discopops/openclaude
that referenced
this pull request
May 28, 2026
* feat: activate local-only team memory in open build Enable the TEAMMEM feature flag and the isTeamMemoryEnabled() gate so team memory works in local-only mode for all open-build users. Team memory is a shared memory system scoped per-project, stored at ~/.claude/projects/<project>/memory/team/. The implementation is already almost entirely local — extraction, UI, prompts, file detection, and path validation all work on local files. The cloud sync overlay (OAuth + API) is cleanly separated: the watcher does an early return when OAuth is unavailable, so the feature degrades gracefully to local-only storage with no crashes. What works locally: - Memory extraction (auto + team, combined prompts) - Team MEMORY.md loaded into conversation context - File selector with team memory folder option - Collapse tracking (read/search/write counts) - Secret scanning before persistence - Path validation + symlink protection What requires OAuth (not available in open build): - Cloud sync between team members - Automatic push/pull via file watcher * fix: preserve opt-out gate for team memory via feature flag Change isTeamMemoryEnabled() to read tengu_herring_clock with default true instead of unconditional return true. This enables team memory by default while preserving user opt-out via ~/.claude/feature-flags.json.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Enable team memory in local-only mode for all open-build users. Two lines changed.
Key insight: team memory is already local
The team memory implementation is already almost entirely local — extraction, UI, prompts, file detection, path validation, and secret scanning all operate on local files. The cloud sync (OAuth + HTTP to
/api/claude_code/team_memory) is a cleanly separated overlay. The watcher does an early return atwatcher.ts:256when OAuth is unavailable, so without OAuth the feature degrades gracefully to local-only storage.Changes
scripts/build.ts—TEAMMEM: falsetotrue(includes team memory code in bundle)src/memdir/teamMemPaths.ts:77—isTeamMemoryEnabled()returnstruewhen auto-memory is enabled (previously gated by GrowthBooktengu_herring_clockwhich returnedfalsein stub)What works locally (zero additional changes needed)
MEMORY.mdloaded into conversation context~/.claude/projects/<project>/memory/team/What requires OAuth (not available in open build)
Relationship to other PRs
{"tengu_herring_clock": false}to disable team memory if neededTest plan
bun run build— compiles successfullybun run smoke— smoke tests pass~/.claude/projects/<project>/memory/team/directory is created