You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Feature] Scope upstreaming a large downstream personal-agent derivative #53
Evaluate and split a substantial downstream OpenMuse derivative into reviewable upstream contributions. The current downstream delta is roughly 284 files and 40,000 added lines, so a single pull request would conflict with the contribution guidance to agree on architecture and connector scope first.
Proposed behavior
The downstream work includes several potentially separable capability areas:
Plugin and skill discovery, validation, routing, and per-plugin configuration.
Provider/model configuration with credential-vault storage.
Durable personal memory/context and soul/persona support.
Subagents and a centralized tool-permission policy.
Additional connectors and credential-backed connector management.
Durable automations/heartbeat scheduling and workboard workflows.
User/session management and expanded native settings/navigation.
MCP integration and voice-note support.
We are not requesting one giant merge. The proposed next step is for maintainers to select priority slices and confirm the preferred contracts/order. We would then rebase each slice onto current main, preserve newer upstream decisions such as TanStack AI, required Intelligence, rich text, and current logging behavior, add focused regression coverage, and open separate pull requests.
How would we verify it works?
Each slice would need to specify its own focused tests and the applicable repository checks. Before submission we would run the upstream checks from CONTRIBUTING.md, including lint, typecheck, tests, server build, platform exports, and targeted browser/worker checks where relevant. This issue is for scope and sequencing; it does not include private account data, credentials, or production data.
Proposing durable memory as the first slice, scoped down from the "durable personal memory/context and soul/persona" area — memory only, no soul/persona in this one.
It's ~460 lines across 5 files under apps/server/src/engine/memory/, purely additive (no engine/memory/ on current main, no references in service.ts/routes.ts). Pre-turn recall with zero model calls on the hot path: a regex trigger, bounded token-overlap + recency retrieval returned as labeled untrusted data, and capture that only reads the user's own message (role-guarded against tool output / page text / email bodies) with sha256 dedupe and polarity-flip conflict detection. Candidates are never promoted by this code — approve/reject stays in the host app. No provider config, no network, no secrets, no platform-specific code, and I've stripped every fork-internal coupling (domain-package imports, app logger, work-tracking comments) so it stands alone. 17/17 tests pass.
If that scope works, I'll open the PR against current main.
Activity
onlinegill commentedon Sep 25, 2026
Proposing durable memory as the first slice, scoped down from the "durable personal memory/context and soul/persona" area — memory only, no soul/persona in this one.
It's ~460 lines across 5 files under
apps/server/src/engine/memory/, purely additive (noengine/memory/on current main, no references inservice.ts/routes.ts). Pre-turn recall with zero model calls on the hot path: a regex trigger, bounded token-overlap + recency retrieval returned as labeled untrusted data, and capture that only reads the user's own message (role-guarded against tool output / page text / email bodies) with sha256 dedupe and polarity-flip conflict detection. Candidates are never promoted by this code — approve/reject stays in the host app. No provider config, no network, no secrets, no platform-specific code, and I've stripped every fork-internal coupling (domain-package imports, app logger, work-tracking comments) so it stands alone. 17/17 tests pass.If that scope works, I'll open the PR against current main.