Skip to content

fix: align personal configuration and execution persistence - #95

Merged
ackness merged 6 commits into
mainfrom
fix/framework-audit
Sep 30, 2026
Merged

ackness merged 6 commits into
mainfrom
fix/framework-audit

Conversation

@ackness

@ackness ackness commented Sep 30, 2026 •

Copy link
Copy Markdown
Owner

Summary / 摘要

Personal deployments could display one model configuration while executing another, and browser/server mirroring could lose detached results or duplicate player input. Align personal configuration ownership and model routing with actual requests, and enforce execution and persistence boundaries across Memory, SQLite, and PostgreSQL.

  • Keep browser settings and keys device-owned, use IPC for desktop files, unify startup precedence, preserve valid configuration on failed TOML reloads, and propagate UI bindings and complete plugin targets into foreground, embedding, and queued work. Default Docker to personal hosting.
  • Reject vetoed/cancelled commits and cross-session record ownership changes; preserve suspended runtime state, detached worker results, setup recovery changes, and subscription ownership. Commit player input using its original durable ID rather than creating a duplicate mirror row.
  • Prevent invented character-form validators and initialize empty private world libraries from the complete server catalog. Reject executable plugin frontmatter and validate runtime input cardinality correctly.
  • Run Git hooks with the workspace Node version and update oxlint to the selected workspace version.

Type of change / 变更类型

  • New feature / 新功能 (feat)
  • Bug fix / Bug 修复 (fix)
  • Refactor / 重构 (refactor)
  • Documentation / 文档 (docs)
  • Infra / CI / 基础设施 (chore)
  • Performance / 性能 (perf)
  • Breaking change / 破坏性变更 (BREAKING CHANGE)

Verification / 验证方式

  • pnpm lint (also passed by commit hooks)
  • pnpm check
  • pnpm build: all five build tasks passed, including desktop staging preparation
  • VITEST_MAX_WORKERS=2 pnpm test --concurrency=2
  • LIVE_LLM_ENABLED=0 pnpm e2e --workers=2: 119 passed, 6 skipped
  • Manual check: Ego Lite with live gpt-6-luna requests through a local test gateway; provider setup, model bindings, TOML reload, character creation, story/chat, browser refresh, Memory server restart recovery, and desktop/mobile web layouts.
  • Focused store contracts exercised against Memory, SQLite, and PostgreSQL.
  • Desktop environment self-checks and Docker Compose configuration validation. Docker and Electron UI were not run interactively.
  • Redacted gitleaks scan of all six outgoing commits: no leaks.

Related issue / context / 关联

Personal self-hosting and desktop configuration audit, execution/persistence audit, and the reported character-form submission error (Form validator is unavailable; activate and approve its plugin first).

Docs sync / 文档同步

  • Updated docs/reference/ for API, plugins, protocol, transactions, settings, slots, tools, and world initialization.
  • Updated README, environment registry, desktop configuration, storage architecture, and contributor guidance.

Compatibility notes

/api/provider-keys returns availability only. COVEL_HOME selects a directory and does not enable desktop REST administration. Updated suspended continuations and endpoint/protocol/encoding-aware embedding identities require affected development continuations and vector indexes to be recreated. Previously generated forms with undeclared validators require a new character-creation session; existing duplicate messages and simplified private-world seeds are not automatically rewritten.

Keep browser preferences and keys device-owned, use IPC for Electron files,
and unify startup environment precedence. Preserve valid model configuration
on reload failure and report the active source and credential availability.

Propagate role selections and complete plugin targets into execution, scope
embedding and queued work to the originating request, and reject vector-space
drift. Await settings and preparation saves, refresh secret caches separately,
and apply unambiguous display-only prices. Default Docker to personal hosting.

Validated with pnpm lint, pnpm test --concurrency=2, 119 passing browser tests
(6 skipped with live providers disabled), environment checks, Compose config,
and a clean staged gitleaks scan.

BREAKING CHANGE: provider-keys returns availability only; COVEL_HOME does not
activate desktop REST. Existing development vector sessions and indexes must
be recreated for the endpoint/protocol/encoding-aware model identity.
@ackness
ackness merged commit a691f10 into main Sep 30, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant