diff --git a/docs/refactor/database-first.md b/docs/refactor/database-first.md index e457aba3f50..795fc68a12e 100644 --- a/docs/refactor/database-first.md +++ b/docs/refactor/database-first.md @@ -115,9 +115,9 @@ The remaining work is not choosing SQLite; it is keeping the new boundary clean and deleting any compatibility-shaped interfaces that still look like the old file world: -- Session `storePath` is no longer a runtime identity or test fixture shape. - Explicit `storePath` names that remain are unrelated auth-profile display - fields or doctor/migration inputs. +- Session `storePath` is no longer a runtime identity, test fixture shape, or + status payload field. Remaining `storePath` names are doctor/migration inputs + or legacy negative assertions. - Session writes no longer pass through the old in-process `store-writer.ts` queue. SQLite patch writes use conflict detection and bounded retry instead. - Legacy path discovery still has valid migration uses, but runtime code should @@ -1182,7 +1182,7 @@ keeps only the version-1 schema plus doctor file-to-database import. `/status`, chat-driven trajectory export, and CLI dependency proxies no longer propagate legacy store paths; transcript usage fallback reads SQLite by agent/session identity. Remaining `storePath` references are - unrelated auth-profile display fields or doctor/migration inputs. + doctor/migration inputs. Gateway combined-session loading no longer has a special runtime branch for non-templated `session.store` values; it aggregates per-agent SQLite rows. The legacy session-lock doctor lane and its `.jsonl.lock` cleanup helper diff --git a/src/commands/models/list.status-command.ts b/src/commands/models/list.status-command.ts index c4116e80ad0..4f068568baf 100644 --- a/src/commands/models/list.status-command.ts +++ b/src/commands/models/list.status-command.ts @@ -618,7 +618,7 @@ export async function modelsStatusCommand( aliases, allowed, auth: { - storePath: resolveAuthProfileStoreLocationForDisplay(agentDir), + storeLocation: resolveAuthProfileStoreLocationForDisplay(agentDir), shellEnvFallback: { enabled: shellFallbackEnabled, appliedKeys: applied, diff --git a/src/commands/models/list.status.test.ts b/src/commands/models/list.status.test.ts index 333ea390b30..2db74b076bf 100644 --- a/src/commands/models/list.status.test.ts +++ b/src/commands/models/list.status.test.ts @@ -369,7 +369,7 @@ describe("modelsStatusCommand auth overview", () => { expect(mocks.ensureAuthProfileStore).toHaveBeenCalled(); expect(payload.defaultModel).toBe("anthropic/claude-opus-4-6"); expect(payload.configPath).toBe("/tmp/openclaw-dev/openclaw.json"); - expect(payload.auth.storePath).toBe( + expect(payload.auth.storeLocation).toBe( "/tmp/openclaw.sqlite#kv/auth-profiles//tmp/openclaw-agent", ); expect(payload.auth.shellEnvFallback.enabled).toBe(true); @@ -434,7 +434,7 @@ describe("modelsStatusCommand auth overview", () => { expect(mocks.ensureAuthProfileStore).toHaveBeenCalledWith("/tmp/openclaw-isolated-agent"); const payload = JSON.parse(String((localRuntime.log as Mock).mock.calls[0]?.[0])); expect(payload.agentDir).toBe("/tmp/openclaw-isolated-agent"); - expect(payload.auth.storePath).toBe( + expect(payload.auth.storeLocation).toBe( "/tmp/openclaw.sqlite#kv/auth-profiles//tmp/openclaw-isolated-agent", ); });