Skip to content

[Feature] Scope upstreaming a large downstream personal-agent derivative #53

Open

Description

@onlinegill

Outcome

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.

Activity

  1. onlinegill commented on Sep 25, 2026

    @onlinegill
    Author

    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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions