feat: activate local-only team memory in open build (#648)
* 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 commit is contained in:
committed by
GitHub
parent
99a17144ee
commit
24d485f42f
@@ -33,7 +33,7 @@ const featureFlags: Record<string, boolean> = {
|
|||||||
BUILTIN_EXPLORE_PLAN_AGENTS: true,
|
BUILTIN_EXPLORE_PLAN_AGENTS: true,
|
||||||
CONTEXT_COLLAPSE: false,
|
CONTEXT_COLLAPSE: false,
|
||||||
COMMIT_ATTRIBUTION: false,
|
COMMIT_ATTRIBUTION: false,
|
||||||
TEAMMEM: false,
|
TEAMMEM: true,
|
||||||
UDS_INBOX: false,
|
UDS_INBOX: false,
|
||||||
BG_SESSIONS: false,
|
BG_SESSIONS: false,
|
||||||
AWAY_SUMMARY: false,
|
AWAY_SUMMARY: false,
|
||||||
|
|||||||
@@ -74,7 +74,7 @@ export function isTeamMemoryEnabled(): boolean {
|
|||||||
if (!isAutoMemoryEnabled()) {
|
if (!isAutoMemoryEnabled()) {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
return getFeatureValue_CACHED_MAY_BE_STALE('tengu_herring_clock', false)
|
return getFeatureValue_CACHED_MAY_BE_STALE('tengu_herring_clock', true)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user