Skip to content

refactor(storage): remove the leftover llm-connections.json store #3107

Closed

Description

@Astro-Han

Problem

Connection catalog authority already lives in Runtime Policy (connection-catalog.json). Host bootstrap, config import/export, Desktop, CLI, and Eval all go through that catalog.

FileConnectionStore still maintains a second file, llm-connections.json:

  • packages/storage/src/connection-store.ts — createConnectionStore / createConnectionStoreForFile
  • packages/storage/src/relay-profile-store.ts — write helper used only by that store
  • packages/storage/src/__tests__/connection-store.test.ts

There is no production reader. Host never opens the file. createConnectionStoreForFile has zero callers. The remaining writers are an e2e seeder and a Computer Use script:

  • apps/desktop/src/main/e2e-fixture/scenarios-settings.ts still writes llm-connections.json
  • scripts/computer-use/real-model.mjs still copies or creates that file through createConnectionStore

README still documents llm-connections.json as current workspace layout. After #2749 removed connection v1 compatibility, the leftover store cannot migrate or serve old files. Those files are already inert.

This is a second connection authority that product code no longer consults. Keeping it forces tests, scripts, and docs to stay in sync with a dead path.

Desired outcome

One connection file authority: the Runtime Policy catalog. The old store, its export, its tests, and the leftover writers disappear. Existing llm-connections.json files stay on disk as inert user data; Maka does not import them.

Alternatives or workarounds

Keep the store as a silent importer for pre-catalog files. That path has no Host reader today, so it cannot actually import those files.

Acceptance

  • connection-store.ts, relay-profile-store.ts, their tests, and the ./connection-store export are removed
  • Desktop e2e writeConnections stops writing llm-connections.json; if a fixture still needs connection rows, it seeds connection-catalog.json / the live Runtime Policy writer
  • scripts/computer-use/real-model.mjs seeds catalog + credential vault instead of llm-connections.json
  • README / README.zh-CN stop listing llm-connections.json as current layout
  • Repo-wide search shows no production reader or writer of llm-connections.json
  • Focused storage, desktop fixture, and script typecheck / Biome pass

Non-goals

Related

Verified on main at eea5cd870.

Relevant code:

  • packages/storage/src/connection-store.ts
  • packages/storage/src/runtime-policy/connection-catalog-document.ts
  • packages/runtime-host/src/server/bootstrap-runtime-policy.ts
  • apps/desktop/src/main/e2e-fixture/scenarios-settings.ts
  • scripts/computer-use/real-model.mjs

This issue was identified during a simplification audit and prepared with AI assistance (Pi / grok-4.6). A human contributor reviewed the analysis and owns the submission.

Activity

  1. 1625567290 commented on Aug 16, 2026

    @1625567290
    Contributor

    I'm working on this. I'll remove FileConnectionStore / llm-connections.json and its leftover writers. Desktop e2e and the Computer Use script will seed the Runtime Policy catalog instead.

    Grok is assisting with the implementation; I will review the change and remain the human contributor of record.

    简体中文对照

    我来处理。删除 FileConnectionStore / llm-connections.json 及其残留写入路径。Desktop e2e 和 Computer Use 脚本改为写入 Runtime Policy catalog。

    Grok 协助实现;我会审阅改动,并作为 human contributor of record。

  2. added a commit that references this issue on Aug 16, 2026
    e86494b
  3. added a commit that references this issue on Aug 16, 2026
    12d2ab5
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

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions