feat(session-query): ship full-text session search opt-in via openAt never
The shipped bundles keep ctx.sessionQuery mounted but set the new session-query-sqlite `openAt: never` phase: searchSessions/searchEvents fail with the typed SESSION_QUERY_SEARCH_DISABLED code before any request normalization, node:sqlite is never imported or opened, and no source observation or reconciliation runs. Every inherited exact read, filter, and trace — session export descendants, subagent-fork Workspace inheritance, title reads — keeps working, and the Web sidebar search degrades to its designed local title/workspace matching. Enabling content search is a one-line openAt override in a later patch layer; the web e2e scaffold keeps it enabled as the assembled opt-in coverage.
This commit is contained in:
@@ -106,13 +106,19 @@
|
||||
- id: attachment-local
|
||||
name: '@deepseek-ai/dsh-attachment-local'
|
||||
|
||||
# Raw configs can supply a process-local path or disable this shared session
|
||||
# capability. The neutral default is process-local and opens only when used.
|
||||
# Full-text session search is opt-in. `openAt: never` keeps
|
||||
# ctx.sessionQuery mounted — exact reads, titles, and lineage traces
|
||||
# (session export, subagent-fork Workspace inheritance) stay available —
|
||||
# while search calls fail with SESSION_QUERY_SEARCH_DISABLED and SQLite is
|
||||
# never opened; the Web sidebar search matches titles and workspace names
|
||||
# only. Deployments enabling content search override `openAt` to
|
||||
# `first-search` or `startup` in a later patch layer (profile
|
||||
# cordis.patch.yml or a --patch overlay), typically with a durable `path`.
|
||||
- id: session-query-sqlite
|
||||
name: '@deepseek-ai/dsh-session-query-sqlite'
|
||||
config:
|
||||
path: ':memory:'
|
||||
openAt: first-search
|
||||
openAt: never
|
||||
|
||||
# Shared projection registry: subagent catalog identity (mode/label) folds
|
||||
# through its registered units, so the `list_agents` surface below fails
|
||||
|
||||
@@ -22,14 +22,15 @@
|
||||
- id: hmr
|
||||
disabled: true
|
||||
|
||||
# Web content search runs on an ephemeral in-memory index. The service
|
||||
# activates at boot, while first-search defers the node:sqlite import and
|
||||
# in-memory handle so Node 22 startup stays quiet until content search
|
||||
# actually uses SQLite. That search then reconciles this boot's sources.
|
||||
# Full-text session search is opt-in (the base row's `openAt: never`). This
|
||||
# restatement keeps the Web values on one ephemeral in-memory index; a
|
||||
# deployment enabling content search overrides `openAt` to `first-search` in a
|
||||
# later patch layer, which defers the node:sqlite import and in-memory handle
|
||||
# to the first search so Node 22 startup stays quiet.
|
||||
- id: session-query-sqlite
|
||||
config:
|
||||
path: ':memory:'
|
||||
openAt: first-search
|
||||
openAt: never
|
||||
|
||||
- id: tools
|
||||
config:
|
||||
|
||||
Reference in New Issue
Block a user