On this page
On this page
Get started
Database worker migration inventory
This snapshot contains 748 non-test files and 2614 call expressions for the five primitives below. The campaign previously reported 404 files; that is a historical estimate, not a fixed target or a count of call expressions. This inventory follows current source and excludes import-only matches, comments, tests, fixtures, and test support. Its scan scope and exclusions are explicit below.
Regenerate with pnpm db:worker-inventory:gen; verify with pnpm db:worker-inventory:check. node scripts/database-worker-inventory.mjs --json emits every call's primitive, line, column, lexical operation path, optional variable-initializer binding, enclosing synchronous guards, file owner, tier, and classification evidence. The script uses the repository's TypeScript parser, entry-point reference graph, and rg; it does not load application code or open a database.
Scope and interpretation
T1 is request/event/timer exposure, including conservatively retained runtime or mixed kernels whose callers still need tracing. T1-compat is deprecated-only SDK compatibility and named shared kernels whose only main-thread paths originate at mechanically guarded deprecated APIs. Named worker/maintenance-only kernels are proven through exact reviewed entry points; filename-only leads are not proof roots. Escaped callbacks and returned-method families remain live/unproven. T2 is startup, migration, or a named boot/lock exception candidate. T3 is CLI, Doctor, or developer one-shot code. W marks worker implementations separately: their synchronous SQL is intentional and is not outstanding main-thread debt. A filename-based T2/T3/W classification is an audit lead, not a proof that every caller is safe. Do not move a mixed kernel or a module with ‘worker’ in its name to W without tracing its callers.
Reviewed mixed modules classify calls by their named lexical operation path, optionally narrowed to a variable initializer or an exact synchronous guard. These qualifiers exclude nested function bodies, and a guard applies only to its then-branch, so unrelated sites remain conservative even when source lines move. Other file tiers retain the broadest applicable counted exposure, including explicit worker/maintenance mixtures. Each file has at most one row per tier; tier file counts overlap, while total files and call expressions are unique. These are not measured runtime call counts. Recheck the operation and all registered callers before changing its classification. Maintenance invoked by Gateway timers remains T1. Prepared results never confer current authority; follow worker access.
Canonical-repair mutations and exact-row readers retain T2 for native Doctor callers; Gateway legacy-main detection compares entries and transcript content in the existing session reader worker. Full generation and node-artifact custody fingerprints remain Doctor-only. Shared cleanup kernels retain T1 where released opaque SDK callbacks require native transactions; initialization rollback uses the worker's commit finalizer. Synchronous lifecycle checks and opaque source validators remain native residuals; conversation-bound final effects consume published binding facts. Memory actor category reads use prepared catalog facts; native approval SDK compatibility retains its existing classification. Template provenance's counted writes are CLI-only; its raw Gateway reads remain runtime debt outside the five-primitive scan. Likewise, worker-only direct Cron receipt calls do not classify the host current-authority reads they transitively expose. Reclassification corrects metadata; it does not move runtime SQL or demonstrate a speedup.
The scan covers JavaScript/TypeScript files under src/, extensions/, packages/, and scripts/ as selected by rg (respecting ignore rules). It recognizes direct calls, property calls with these names, and named-import aliases. It does not resolve higher-order aliases, dynamic dispatch, transitive wrappers, direct DatabaseSync methods, other query primitives, or native-language SQLite. It is a reproducible migration queue, not a complete prohibition checker. Tests are deliberately excluded rather than counted as T3.
| Key | Primitive |
|---|---|
| Q | executeSqliteQuerySync |
| F | executeSqliteQueryTakeFirstSync |
| S | runOpenClawStateWriteTransaction |
| A | runOpenClawAgentWriteTransaction |
| R | withOpenClawAgentDatabaseReadOnly |
| Tier | Files | Call expressions |
|---|---|---|
| T1 | 83 | 168 |
| T1-compat | 10 | 15 |
| T2 | 116 | 423 |
| T3 | 232 | 611 |
| W | 382 | 1397 |
Profile priority and current cutover status
Channel ingress listPending, listClaims, listFailed, listUnsettled, and claim/recovery preparation share the write broker's FIFO with mutations. They must observe earlier committed writes and retain read-write database admission. Explicit read-only inspection remains noncreating inside that broker. Failed-health, pressure, and account-discovery diagnostics use the read-only worker, where bounded staleness is acceptable.
The 2026-09-20 five-second Gateway profile on build ddb31b38a88c attributed 47% of main-thread time in aggregate to synchronous state write coordination, including profile creation and exec-approval updates. No separate per-site timing was captured for the read paths below. Their order follows the reported profile triage, not invented individual costs. The T1 table puts these known owners first; all other owners follow alphabetically.
| Priority | Entry point / owner | Status to verify before a lane |
|---|---|---|
| 1 | ensureProfileForEmail; updateExecApprovals |
Exec policy mutations use the shared-state writer; final SDK authority reads and opaque approval-commit kernels retain their native contract. Profile creation is a separate owner. The 47% is shared, not a measurement of either method alone. |
| 2 | sessions.list → listProjectedSessions → resident session row projection |
Warm requests already reuse resident rows with no host Kysely reads. Hydration, dirty/archived rows, and membership reads remain migration debt; preserve identity-keyed reuse and projection revisions. |
| 3 | chat.history → history worker |
Ordinary durable pages already use the worker. This cutover moves raw cursor delta reads and JSON parsing through the same owner; display/profile projection, byte budgets, and fresh sharing checks stay on the host. |
| 4 | Transcript search → session-transcript-search.ts |
The async facade moves durable FTS reads through the existing worker lifecycle for the runtime callers: sessions-read.ts, sessions-search-projected.ts, and embedded-gateway-stub.ts. Callers recheck current scope and authorization after awaiting. |
| 5 | Task/flow registry | Async read facades already use workers; native mutations and mixed kernels remain. Preserve accepted-write fences and projection publication. |
| 6 | Provider catalog → plugin-model-catalog.ts |
Persisted reads reached from models-config.ts and prepared model runtime; keep Doctor imports distinct. |
The warm sessions.list baseline used 5,000 rows, 50 viewers, and 350 calls: zero host Kysely reads, 3.07538 ms CPU per call, and 3.12680 ms amortized wall time per call. The original per-request store scan was already gone, so this lane does not claim another warm-list database cutover or speedup. These numbers do not cover projection hydration, dirty-row refresh, archived-row materialization, or membership reads.
The history cutover leaves selected/current session entries, the retained transcript-session key, and lazy subagent source/run-input visibility reads as native work. Ordinary full pages and raw cursor deltas use the history worker. Pending-input source and receipt reads also use workers; synchronous SDK completion remains a separate native path. Bound Claude CLI history now uses its temporary merge index: cold preparation scans bounded source windows, and page/anchor requests project only selected messages. Incognito history comes from the session actor memory backend, which never opens SQLite or uses a database worker. Its CLI-history adapter uses the same matching policy over an in-memory display index. A failed durable worker read never selects the memory backend.
Durable session reaction summaries and target-message reads use the admitted history worker; reaction writes use the canonical SQLite worker broker with live transaction and commit admission. Incognito reactions use the session actor memory backend. The synchronous reaction kernel now runs only through the admitted durable worker; the native incognito read/write and test-only synchronous production reader paths are removed. Reaction mirroring reads durable source conversation bindings through the history worker, including a final read after account/config preparation and immediately before dispatch; synchronous handoff guards retain live reactor, session, and config checks. The conversation registry's synchronous reader is deprecated SDK compatibility; its shared conversation-query kernel remains T1 for opaque native voice validation. Schemas, stored bytes, retention, and update behavior are unchanged.
Next four independent lanes
After the history-delta/search cutovers and the separate profile/exec-approval lane, inspect these owners. Only catalog reads have a profile-listed position here; the other three are source-backed candidates without separate timings. Device pairing already dispatches through workers, with native boot/Doctor migration exceptions. Measure each actual entry point before choosing its migration.
| Owner | Concrete caller / boundary |
|---|---|
| Persisted provider catalogs | prepared-model-runtime.facts.ts and prepared-model-runtime.scoped-catalog.ts call loadPersistedPluginModelCatalogsReadOnly; prepare catalog bytes off thread without changing registry generations. |
| Operator approval records | operator-approval-session-events.ts calls listPendingOperatorApprovals; its store also expires/prunes records. Keep fresh resolution and allow-once consumption with the transaction owner. |
| Worker environment inventory | worker-environments/environment-access.ts and prepared-pool.ts call store.list; carry inventory revisions back and revalidate placement/credential authority after waits. |
| Session membership | session-row-projection-materialize.ts consumes prepared membership with row facts; sharing publications invalidate the existing projection revision. Incognito membership comes from its memory actor. |
Call sites by tier and owner
Counts use Q/F/S/A/R in that order. Source locations are available in --json; the first call line below is a navigation hint. Owner labels are source directory boundaries, not CODEOWNERS assignments. Generic runtime candidates require caller evidence before claiming a main-thread defect or a completed migration.
Largest live T1 owners
These are live or unproven call expressions, not measured statements per turn. The T1 table below groups the remaining work by file and lexical API/operation.
| Owner | Live / unproven calls |
|---|---|
src/config/sessions |
120 |
src/state |
11 |
src/agents/auth-profiles |
6 |
src/plugin-state |
4 |
src/secrets |
4 |
src/sessions |
4 |
src/config |
3 |
src/infra/outbound |
3 |
src/proxy-capture |
3 |
src/agents |
2 |
src/acp |
1 |
src/agents/sessions |
1 |
src/infra |
1 |
src/node-host |
1 |
src/pairing |
1 |
T1
| Owner / file | Calls (Q/F/S/A/R) | First line | API / operation | Exposure evidence |
|---|---|---|---|---|
src/infra · src/infra/exec-approvals-sqlite.ts |
0/1/0/0/0 | 92 | readExecApprovalsConfigRow |
Bundled execution guards consume committed policy receipts; deprecated synchronous SDK readers and native approval compatibility retain shared row kernels |
src/config/sessions · src/config/sessions/session-accessor.sqlite-entry-read.ts |
0/2/0/0/0 | 74 | parseReadableSessionEntryData, readSessionKeyBySessionIdInDatabase |
The child-entry reader is worker-owned; other session-entry readers retain native SDK and maintenance callers and require separate operation evidence. |
src/agents · src/agents/plugin-model-catalog.ts |
0/0/0/0/1 | 79 | readPersistedPluginModelCatalogEntries |
Persisted catalog reads in prepared model runtime; also Doctor migration |
src/config/sessions · src/config/sessions/session-sharing-store.kernel.ts |
1/0/0/0/0 | 34 | listSessionMembersInDatabase |
Worker readers share listSessionMembersInDatabase with pending-input/source validation. Gateway voice create/relay reaches client-voice-session-write.ts's native-source branch; client-voice-session-source.ts retains foreign-store authority. Membership is an authorization boundary, not worker-only bookkeeping. |
src/acp · src/acp/runtime/session-meta-keys.ts |
0/1/0/0/0 | 132 | selectAcpSessionRow |
Runtime/mixed candidate; main-thread reachability needs tracing |
src/agents · src/agents/plugin-model-catalog.kernel.ts |
1/0/0/0/0 | 47 | readPluginModelCatalogEntries |
Runtime/mixed candidate; main-thread reachability needs tracing |
src/agents/auth-profiles · src/agents/auth-profiles/sqlite-json-write.ts |
2/0/0/0/0 | 49 | writeAuthProfileJsonCell.write, deleteAuthProfileJsonCell.write |
Runtime/mixed candidate; main-thread reachability needs tracing |
src/agents/auth-profiles · src/agents/auth-profiles/sqlite-json.ts |
0/2/0/0/0 | 97 | readAuthProfileJsonCellText |
Runtime/mixed candidate; main-thread reachability needs tracing |
src/agents/auth-profiles · src/agents/auth-profiles/sqlite.ts |
0/0/1/1/0 | 669 | runAuthProfileWriteTransaction |
Runtime/mixed candidate; main-thread reachability needs tracing |
src/agents/sessions · src/agents/sessions/session-manager-append.ts |
0/0/0/0/1 | 265 | appendEntry |
Runtime/mixed candidate; main-thread reachability needs tracing |
src/config · src/config/io.health-state.kernel.ts |
2/0/0/0/0 | 65 | selectConfigHealthRows, writeConfigHealthPatchInDatabase |
Runtime/mixed candidate; main-thread reachability needs tracing |
src/config · src/config/io.health-state.ts |
0/0/1/0/0 | 100 | patchConfigHealthEntryToStore |
Runtime/mixed candidate; main-thread reachability needs tracing |
src/config/sessions · src/config/sessions/goals-operation-receipts.ts |
2/1/0/0/0 | 73 | readSessionGoalOperationReceipt, writeSessionGoalOperationReceipt |
Runtime/mixed candidate; main-thread reachability needs tracing |
src/config/sessions · src/config/sessions/session-accessor.sqlite-active-context.ts |
3/2/0/0/0 | 77 | readBoundedRetentionRanges, readUnindexedLogicalParents, readIndexedLogicalParents, readSessionTranscriptBoundedActiveContextCore.read |
Runtime/mixed candidate; main-thread reachability needs tracing |
src/config/sessions · src/config/sessions/session-accessor.sqlite-active-projection.ts |
0/0/0/0/1 | 38 | withCurrentProjectionSnapshot |
Runtime/mixed candidate; main-thread reachability needs tracing |
src/config/sessions · src/config/sessions/session-accessor.sqlite-archive-read.ts |
1/0/0/0/0 | 84 | listTranscriptArchivesFromDatabase |
Durable archive enumeration reaches this query through transcript, Memory corpus, and usage-cost workers. session-transcript-inventory-runtime.ts returns an empty archive inventory for memory actors. Synchronous history/SDK readers retain the shared durable kernel. The shared list kernel remains mixed. |
src/config/sessions · src/config/sessions/session-accessor.sqlite-conversation-read.ts |
1/0/0/0/0 | 117 | selectConversationRowsFromDatabase |
selectConversationRowsFromDatabase serves transcript workers and deprecated SDK getConversationSession, but also session-accessor.sqlite-entry-mutation.ts's resolveConversationInDatabase and readSessionSourceValidation. client-voice-session-source.ts and client-voice-session-write.ts still invoke that validator natively for opaque source predicates; published voice authority does not make the shared query worker-only. |
src/config/sessions · src/config/sessions/session-accessor.sqlite-conversation.ts |
7/0/0/0/0 | 46 | preserveSessionConversationIdentity, upsertConversationIdentities, linkSessionConversation.readAssociation, linkSessionConversation |
All mutations flow through writeSessionEntry in entry-store.ts, or conversation.register in openclaw-agent-execution-operations.ts. The latter is worker-only; writeSessionEntry also serves opaque SDK transactions and CLI import. Preserve the mixed classification of the shared identity and association kernels. |
src/config/sessions · src/config/sessions/session-accessor.sqlite-delete-snapshot.ts |
0/1/0/0/0 | 42 | readSessionStateDeleteSnapshot |
Workers and offline reset share this snapshot with SessionManager appendMessage/appendMessageWithTranscriptAnchor -> reloadPersistedTranscriptAfterAppend -> readSessionManagerReload -> inspectTranscriptEventsSync. Those synchronous SDK methods shipped in v2026.10.4. Keep the mixed tier and changed-user-data deletion check. |
src/config/sessions · src/config/sessions/session-accessor.sqlite-deletion.ts |
0/0/0/2/0 | 606 | runSqliteSessionDeletionTransaction |
The transaction wrapper serves workers/maintenance plus sqlite-transcript-turn.ts's native branch. plugin-sdk/session-transcript-runtime.appendSessionTranscriptMessageByIdentityStrict supplies prepareMessageAfterIdempotencyCheck, which excludes worker execution; that callback contract shipped in v2026.10.4. |
src/config/sessions · src/config/sessions/session-accessor.sqlite-display-position.ts |
1/0/0/0/0 | 56 | positionTranscriptDisplayEvents |
History workers share this query with plugin-sdk/session-transcript-runtime.readSessionTranscriptCatalogTitle -> readLegacySessionTranscriptCatalogTitle -> readSessionTranscriptHistoryEventPage. The synchronous SDK reader shipped in v2026.10.4 and remains deprecated through 2026-12-31. |
src/config/sessions · src/config/sessions/session-accessor.sqlite-entry-cache-projection.ts |
1/0/0/0/0 | 77 | readSessionEntrySideMetadata |
Runtime/mixed candidate; main-thread reachability needs tracing |
src/config/sessions · src/config/sessions/session-accessor.sqlite-entry-list.read.ts |
0/0/0/0/1 | 75 | listSessionEntriesReadOnly |
Runtime/mixed candidate; main-thread reachability needs tracing |
src/config/sessions · src/config/sessions/session-accessor.sqlite-entry-select.ts |
1/0/0/0/0 | 181 | readSelectedSessionEntryRows |
Runtime/mixed candidate; main-thread reachability needs tracing |
src/config/sessions · src/config/sessions/session-accessor.sqlite-exact-read.ts |
0/0/0/0/2 | 89 | resolveSessionKeyBySessionId, loadSessionEntryByIdReadOnly |
Runtime/mixed candidate; main-thread reachability needs tracing |
src/config/sessions · src/config/sessions/session-accessor.sqlite-history-projection.ts |
1/1/0/0/0 | 50 | resolveHistoryBoundaryQueryShape, buildVisibleHistoryProjection |
The history builder and boundary-shape query also serve deprecated SDK readSessionTranscriptCatalogTitle through the native page reader. Coordinate reads are classified separately; do not exempt the shared builder. |
src/config/sessions · src/config/sessions/session-accessor.sqlite-initial-entry.ts |
0/0/0/1/0 | 87 | ensureSessionEntrySync |
Runtime/mixed candidate; main-thread reachability needs tracing |
src/config/sessions · src/config/sessions/session-accessor.sqlite-model-context.ts |
0/1/0/0/2 | 175 | validateDetachedSessionTranscriptContext, withTranscriptContextSnapshot |
Runtime/mixed candidate; main-thread reachability needs tracing |
src/config/sessions · src/config/sessions/session-accessor.sqlite-participant-projection.ts |
1/0/0/0/0 | 79 | readParticipantRows |
prepareSqliteSessionEntryRowDecoder in session-accessor.sqlite-entry-read.ts serves generic entry decoding as well as workers and deprecated resolveMemorySessionTargets. Its native/callback closure is not proven worker-only or deprecated-only; retain T1 for this shared participant kernel. |
src/config/sessions · src/config/sessions/session-accessor.sqlite-participant-read.ts |
0/0/0/0/1 | 22 | listSessionParticipantsReadOnly |
Runtime/mixed candidate; main-thread reachability needs tracing |
src/config/sessions · src/config/sessions/session-accessor.sqlite-pending-inputs.ts |
5/2/0/0/0 | 340 | readSessionInputCompletion, writeSessionInputCompletion, readSessionPendingInputByKey, resolveSessionPendingInputAppend, consumeSessionPendingInput |
Completion SQL remains reachable through deprecated UserTurnTranscriptRecorder.completeProcessing (shipped in v2026.10.4); bundled completion awaits completeProcessingAsync. Append/read/consume kernels also serve native transcript transactions carrying opaque source authority. Deletion is classified separately. |
src/config/sessions · src/config/sessions/session-accessor.sqlite-projection-read.ts |
1/0/0/0/0 | 167 | readSnapshotEventRows |
Runtime/mixed candidate; main-thread reachability needs tracing |
src/config/sessions · src/config/sessions/session-accessor.sqlite-provenance.ts |
0/1/0/0/0 | 100 | prepareSessionEntryWindowRow |
writeSessionEntry calls prepareSessionEntryWindowRow from workers and retained native initial-entry/transcript persistence. Actor/prepared window facts bypass the query, but released synchronous SessionManager persistence and opaque transcript callbacks still reach the fallback; keep it mixed. |
src/config/sessions · src/config/sessions/session-accessor.sqlite-read.ts |
2/2/0/0/1 | 395 | inspectTranscriptEventsSync, readTranscriptEventAtSeqInTransaction, readTranscriptEventRows, readTranscriptStorageRows, findTranscriptEventInDatabase |
Runtime/mixed candidate; main-thread reachability needs tracing |
src/config/sessions · src/config/sessions/session-accessor.sqlite-reset-window.ts |
1/3/0/0/0 | 174 | readUnindexedHistoryControls, readLatestActiveBoundaryMetadataByType, readBoundaryWindowFacts, findLatestResetMessageWindow |
Boundary/control queries serve workers plus deprecated SessionManager synchronous context reads and readSessionTranscriptCatalogTitle (shipped in v2026.10.4). Worker-only interval, lookup, oversized-message and accounting queries are classified separately. |
src/config/sessions · src/config/sessions/session-accessor.sqlite-suffix-read.ts |
2/2/0/0/0 | 65 | loadTranscriptSuffixEventsBoundedFromDatabase, readPreviousIndexedTranscriptEventSync |
Runtime/mixed candidate; main-thread reachability needs tracing |
src/config/sessions · src/config/sessions/session-accessor.sqlite-transcript-anchor.ts |
1/0/0/0/0 | 204 | readActiveTranscriptEntryRows |
Runtime/mixed candidate; main-thread reachability needs tracing |
src/config/sessions · src/config/sessions/session-accessor.sqlite-transcript-identity.ts |
1/1/0/0/0 | 97 | readTranscriptAppendIdentities, readTranscriptMessageByIdentity |
Runtime/mixed candidate; main-thread reachability needs tracing |
src/config/sessions · src/config/sessions/session-accessor.sqlite-transcript-metadata-read.ts |
0/1/0/0/0 | 104 | readTranscriptHeaderFromDatabase |
Runtime/mixed candidate; main-thread reachability needs tracing |
src/config/sessions · src/config/sessions/session-accessor.sqlite-transcript-mirror.ts |
1/1/0/0/0 | 42 | readTranscriptMirrorProjection, readTranscriptMirrorFacts |
Runtime/mixed candidate; main-thread reachability needs tracing |
src/config/sessions · src/config/sessions/session-accessor.sqlite-transcript-parent.ts |
0/5/0/0/0 | 311 | transcriptEntryIsAncestor, readTranscriptVisibleTailEntryIdInTransaction, readActiveTranscriptAppendParentId, readTranscriptIdentityInTransaction |
Runtime/mixed candidate; main-thread reachability needs tracing |
src/config/sessions · src/config/sessions/session-accessor.sqlite-transcript-presence.ts |
0/1/0/0/0 | 11 | hasStoredTranscriptEvents |
Runtime/mixed candidate; main-thread reachability needs tracing |
src/config/sessions · src/config/sessions/session-accessor.sqlite-transcript-sequences.ts |
1/0/0/0/0 | 85 | rememberCommittedTranscriptMessageSequencesInTransaction |
Runtime/mixed candidate; main-thread reachability needs tracing |
src/config/sessions · src/config/sessions/session-accessor.sqlite-transcript-state.ts |
6/3/0/0/0 | 177 | readTranscriptGenerationInTransaction, writeTranscriptGeneration, readTranscriptAppendStateInTransaction, ensureTranscriptSessionRoot, readNextTranscriptSeq, advanceTranscriptMutationAtInTransaction, pruneTranscriptReactionsInTransaction |
Runtime/mixed candidate; main-thread reachability needs tracing |
src/config/sessions · src/config/sessions/session-accessor.sqlite-transcript-stats-read.ts |
0/0/0/0/1 | 40 | readTranscriptStatsBatchReadOnlySync |
Runtime/mixed candidate; main-thread reachability needs tracing |
src/config/sessions · src/config/sessions/session-accessor.sqlite-transcript-store.ts |
1/0/0/0/0 | 310 | appendTranscriptEventInTransaction |
Runtime/mixed candidate; main-thread reachability needs tracing |
src/config/sessions · src/config/sessions/session-accessor.sqlite-transcript-suffix-idempotency.ts |
2/0/0/0/0 | 35 | prepareIncrementalSuffixIdempotencyMutation |
Runtime/mixed candidate; main-thread reachability needs tracing |
src/config/sessions · src/config/sessions/session-accessor.sqlite-transcript-suffix-write.ts |
0/0/0/1/0 | 39 | replaceTranscriptSuffixEventsSync |
Runtime/mixed candidate; main-thread reachability needs tracing |
src/config/sessions · src/config/sessions/session-accessor.sqlite-transcript-suffix.ts |
7/3/0/0/0 | 79 | readTranscriptSuffixStorageRows, prepareIncrementalTranscriptSuffixMutation, replaceSqliteTranscriptSuffixInTransaction |
Runtime/mixed candidate; main-thread reachability needs tracing |
src/config/sessions · src/config/sessions/session-accessor.sqlite-transcript-turn.ts |
0/0/0/1/1 | 270 | appendPreparedSessionTranscriptTurn |
Runtime/mixed candidate; main-thread reachability needs tracing |
src/config/sessions · src/config/sessions/session-accessor.sqlite-transcript-watermark.ts |
0/0/0/0/1 | 73 | readSessionTranscriptWatermark |
Runtime/mixed candidate; main-thread reachability needs tracing |
src/config/sessions · src/config/sessions/session-accessor.sqlite-transcript-write-snapshot.ts |
0/0/0/1/0 | 164 | runTranscriptWriteSnapshotSync |
Runtime/mixed candidate; main-thread reachability needs tracing |
src/config/sessions · src/config/sessions/session-accessor.sqlite-transcript-write.ts |
0/0/0/2/0 | 303 | runNativeTranscriptWriteLock.appendMessage, runNativeTranscriptWriteLock.appendMessageWithMessageSequence |
Runtime/mixed candidate; main-thread reachability needs tracing |
src/config/sessions · src/config/sessions/session-entry-snapshots.ts |
2/0/0/0/0 | 114 | writeSessionEntrySnapshots |
Runtime/mixed candidate; main-thread reachability needs tracing |
src/config/sessions · src/config/sessions/session-history-read.ts |
1/0/0/0/2 | 39 | listSessionTranscriptInstances, listTranscriptInstancesFromDatabase, listSessionTranscriptArchivesReadOnly |
Runtime/mixed candidate; main-thread reachability needs tracing |
src/config/sessions · src/config/sessions/session-pending-input-store.ts |
0/0/0/1/0 | 164 | preparePendingInputStore.nativeMutation.writeTransaction |
Only SessionPendingInputReceipt.complete invokes nativeMutation; completeAsync uses the worker. UserTurnTranscriptRecorder.completeProcessing exposes the same synchronous completion contract. Both SDK APIs shipped in v2026.10.4; retain their native transaction until the compatibility cutover. |
src/config/sessions · src/config/sessions/session-transcript-fts.ts |
1/0/0/0/0 | 245 | deleteSessionTranscriptFtsRowsInTransaction |
Runtime/mixed candidate; main-thread reachability needs tracing |
src/config/sessions · src/config/sessions/session-transcript-index.ts |
3/3/0/0/0 | 96 | shouldRebuildSessionTranscriptIndexSynchronously, readSessionTranscriptProjectionState, readSessionTranscriptIndexStatus, deleteActiveEventRows, deleteSessionTranscriptIndexInTransaction, replaceSessionTranscriptIndexSuffixInTransaction |
Runtime/mixed candidate; main-thread reachability needs tracing |
src/config/sessions · src/config/sessions/session-transcript-projection-rebuild.ts |
0/1/0/0/0 | 116 | readProjectionSession |
Runtime/mixed candidate; main-thread reachability needs tracing |
src/config/sessions · src/config/sessions/session-transcript-retained-data.ts |
1/0/0/0/0 | 137 | copyRetainedTranscriptPayload |
Runtime/mixed candidate; main-thread reachability needs tracing |
src/config/sessions · src/config/sessions/targets-discovery.native.ts |
0/0/0/0/2 | 72 | listKnownSessionStoreAgentIds, resolveExistingAgentSessionStoreTargets |
Worker topology shares discovery with plugin-sdk/session-transcript-hit.loadCombinedSessionStoreForGateway (shipped in v2026.10.4), through combined-store-gateway.native.ts and lineage.native.ts. resolveExistingAgentSessionStoreTargets also serves session-turn-predicate.ts in retained native transcript turns. |
src/infra/outbound · src/infra/outbound/current-conversation-bindings.ts |
0/0/3/0/0 | 140 | updateCurrentConversationBindingRecord, listCurrentConversationBindingRecordsBySession, deleteCurrentConversationBindingRecordsBySession |
Bundled mutations use awaited worker methods; final-effect binding inspection remains synchronous. Synchronous update/list/delete remain reachable through v2026.10.2's account manager and SessionBindingService SDK methods. The shared V1/V2 manager factory returns both method sets, so these escaped receivers remain conservative T1, not proven T1-compat or worker-only. |
src/node-host · src/node-host/node-worker-prepared-workspace-store.kernel.ts |
1/0/0/0/0 | 85 | find |
Runtime/mixed candidate; main-thread reachability needs tracing |
src/pairing · src/pairing/pairing-store-sqlite.ts |
1/0/0/0/0 | 76 | readChannelAllowRows |
Runtime/mixed candidate; main-thread reachability needs tracing |
src/plugin-sdk · src/plugin-sdk/sqlite-runtime-legacy.ts |
1/0/0/0/0 | 90 | sdkExecuteSqliteQuerySync |
Runtime/mixed candidate; main-thread reachability needs tracing |
src/plugin-state · src/plugin-state/plugin-state-store.database.ts |
0/0/1/0/0 | 133 | runWriteTransaction |
Runtime/mixed candidate; main-thread reachability needs tracing |
src/plugin-state · src/plugin-state/plugin-state-store.kernel.ts |
2/0/0/0/0 | 313 | deletePluginStateEntryRow, deleteExpiredPluginStateEntries |
Runtime/mixed candidate; main-thread reachability needs tracing |
src/plugin-state · src/plugin-state/plugin-state-store.retention.ts |
1/0/0/0/0 | 213 | enforcePostRegisterLimits |
Runtime/mixed candidate; main-thread reachability needs tracing |
src/plugins · src/plugins/plugin-metadata-state.kernel.ts |
1/0/0/0/0 | 21 | readPluginMetadataStateRowsInDatabase |
Runtime/mixed candidate; main-thread reachability needs tracing |
src/proxy-capture · src/proxy-capture/store-readonly.ts |
1/1/0/0/0 | 181 | readDebugProxyCaptureSessionEvents, readDebugProxyCaptureBlob |
Runtime/mixed candidate; main-thread reachability needs tracing |
src/proxy-capture · src/proxy-capture/store.sqlite.ts |
0/0/1/0/0 | 227 | runWrite |
Runtime/mixed candidate; main-thread reachability needs tracing |
src/secrets · src/secrets/store/secret-store-hidden-github.kernel.ts |
2/2/0/0/0 | 36 | readPersonalGitHubSecret, upsertHiddenGitHubSecret, readHiddenGitHubSecretInDatabase, deleteHiddenGitHubSecretInDatabase |
Shared SQL kernel for worker-owned GitHub records and deprecated synchronous managed/personal Gateway SDK methods. Native compatibility calls remain explicit T1 debt. |
src/sessions · src/sessions/session-state-events.ts |
1/0/0/0/0 | 399 | listAmbientGroupWatchTargets |
Runtime/mixed candidate; main-thread reachability needs tracing |
src/sessions · src/sessions/session-upstream-links.kernel.ts |
2/1/0/0/0 | 151 | (module), upsertSessionUpstreamLinkInDatabase, deleteSessionUpstreamLinkInDatabase |
Runtime/mixed candidate; main-thread reachability needs tracing |
src/skills/library · src/skills/library/selection-read.kernel.ts |
1/0/0/0/0 | 45 | selectSkillLibraryRevisionMetadataBatch |
Runtime/mixed candidate; main-thread reachability needs tracing |
src/state · src/state/agent-deletion-journal.read.ts |
1/0/0/0/0 | 152 | readRetainedAgentDeletionsFromDatabase |
Runtime/mixed candidate; main-thread reachability needs tracing |
src/state · src/state/config-machine-state-row.ts |
0/1/0/0/0 | 101 | readConfigMachineStateRowInDatabase |
Runtime/mixed candidate; main-thread reachability needs tracing |
src/state · src/state/config-machine-state-write.ts |
1/0/1/0/0 | 51 | upsertConfigMachineState, writeConfigMachineState |
Runtime/mixed candidate; main-thread reachability needs tracing |
src/state · src/state/openclaw-agent-db-registry.read.ts |
1/1/0/0/0 | 51 | readOpenClawAgentDatabaseRegistryRows |
Runtime/mixed candidate; main-thread reachability needs tracing |
src/state · src/state/user-model-account-records.kernel.ts |
1/1/0/0/0 | 26 | readUserModelAccountRecord, readUserModelAccountRecords |
Runtime/mixed candidate; main-thread reachability needs tracing |
src/state · src/state/user-model-accounts.ts |
1/0/0/0/0 | 128 | writeRecord |
Runtime/mixed candidate; main-thread reachability needs tracing |
src/state · src/state/user-profile-github-identity.ts |
1/0/0/0/0 | 84 | selectStoredGitHubIdentities |
Runtime/mixed candidate; main-thread reachability needs tracing |
src/state · src/state/user-profiles-internal.ts |
0/1/0/0/0 | 259 | selectResolvedUserProfile |
Runtime/mixed candidate; main-thread reachability needs tracing |
T1-compat
| Owner / file | Calls (Q/F/S/A/R) | First line | API / operation | Exposure evidence |
|---|---|---|---|---|
src/agents · src/agents/github-oauth-records.native.ts |
0/0/1/0/0 | 30 | remove |
Deprecated SDK compatibility only; no bundled value references outside reviewed compatibility boundaries. Remove in a later release after stable deprecation. |
src/config/sessions · src/config/sessions/conversation-registry.ts |
0/0/0/0/1 | 270 | selectConversationRows |
Deprecated SDK compatibility only; no bundled value references outside reviewed compatibility boundaries. Remove in a later release after stable deprecation. |
src/config/sessions · src/config/sessions/session-accessor.sqlite-branch-rewrite.ts |
0/0/0/1/0 | 82 | prepareTranscriptRewriteSync |
Deprecated SDK compatibility only; no bundled value references outside reviewed compatibility boundaries. Remove in a later release after stable deprecation. |
src/plugin-sdk · src/plugin-sdk/sqlite-runtime-legacy.ts |
0/1/0/0/0 | 99 | sdkExecuteSqliteQueryTakeFirstSync |
Deprecated SDK compatibility only; no bundled value references outside reviewed compatibility boundaries. Remove in a later release after stable deprecation. |
src/plugin-state · src/plugin-state/plugin-state-store.mutations.ts |
1/0/0/0/0 | 82 | clearPluginStateNamespace |
Deprecated SDK compatibility only; no bundled value references outside reviewed compatibility boundaries. Remove in a later release after stable deprecation. |
src/plugin-state · src/plugin-state/plugin-state-store.reads.ts |
1/0/0/0/0 | 38 | lookupPluginStateEntries |
Deprecated SDK compatibility only; no bundled value references outside reviewed compatibility boundaries. Remove in a later release after stable deprecation. |
src/sessions · src/sessions/session-upstream-links.ts |
0/0/2/0/0 | 46 | upsertSessionUpstreamLink, deleteSessionUpstreamLink |
Deprecated SDK compatibility only; no bundled value references outside reviewed compatibility boundaries. Remove in a later release after stable deprecation. |
src/state · src/state/user-github-connections.ts |
0/0/2/0/0 | 53 | cancelUserGitHubAuthorizationSync, disconnectUserGitHubConnectionSync |
Deprecated SDK compatibility only; no bundled value references outside reviewed compatibility boundaries. Remove in a later release after stable deprecation. |
src/state · src/state/user-model-accounts.ts |
1/0/2/0/0 | 276 | listUserModelAccounts, setUserProfileAuthLink, clearUserProfileAuthLink |
Deprecated SDK compatibility only; no bundled value references outside reviewed compatibility boundaries. Remove in a later release after stable deprecation. |
src/state · src/state/user-profile-identity.read.ts |
2/0/0/0/0 | 162 | selectHasMultipleSessionSharingIdentities, selectUserProfileDisplaysInDatabase |
Deprecated SDK compatibility only; no bundled value references outside reviewed compatibility boundaries. Remove in a later release after stable deprecation. |
T2
| Owner / file | Calls (Q/F/S/A/R) | First line | Exposure evidence |
|---|---|---|---|
extensions/codex · extensions/codex/src/migration/native-task-assignments.ts |
6/0/0/0/0 | 147 | Schema/startup/migration candidate; verify no runtime caller |
src/acp · src/acp/runtime/session-meta-migration-keys.ts |
1/0/0/0/0 | 110 | Schema/startup/migration candidate; verify no runtime caller |
src/acp · src/acp/runtime/session-meta.ts |
0/0/1/0/0 | 43 | The native writer is retained only by src/infra/state-migrations.acp-session-metadata.ts and test fixtures. Gateway reset rebinding uses session-meta-reset.ts -> commitAcpSessionMutation in the shared-state worker; synchronous SDK readers retain their separate native classification. |
src/agents · src/agents/plugin-model-catalog.kernel.ts |
4/0/0/0/0 | 64 | Native replacement is Doctor import only: src/commands/doctor-plugin-model-catalog.ts:103 -> plugin-model-catalog.ts:495,517 -> :162. The other caller is plugin-model-catalog.worker.ts:94; readPluginModelCatalogEntries remains T1. |
src/agents · src/agents/plugin-model-catalog.ts |
3/0/0/3/0 | 124 | Only doctor-plugin-model-catalog.ts:103,126 reaches repair/import/receipt retirement; runtime replacement dispatches at plugin-model-catalog.ts:584; ModelRegistry synchronous kernel reads stay T1 |
src/agents · src/agents/workspace-alias-rebind.ts |
5/4/1/0/0 | 80 | Only src/commands/doctor-workspace-alias.ts:67,107,131 invokes detect/rebind; readWorkspaceMoveState is private at :166,282. Doctor health/lint reaches detection and reporting via doctor:workspace-alias in src/flows/doctor-health-contributions-final.ts; repair is installed by src/commands/doctor-config-flow.ts:83,93. |
src/agents · src/agents/workspace-state-store.kernel.ts |
4/1/0/0/0 | 102 | Workspace worker/read dispatch plus Doctor alias rebind, workspace setup migration, and relocation retirement; native identity resolution remains only with those maintenance callers |
src/agents/auth-profiles · src/agents/auth-profiles/shared-store-bootstrap.ts |
1/1/0/0/0 | 161 | First-load legacy shared-auth admission and migration only: initializeFreshSharedAuthStore skips already-inspected ownership; shared-store-bootstrap.worker.ts and Doctor own remaining callers. |
src/agents/worktrees · src/agents/worktrees/registry.ts |
3/0/2/0/0 | 73 | Only migration discovery src/infra/state-migrations.doctor-discovery.ts:84 and Doctor repair src/config/sessions/worktree-workspace-migration.ts:116 call the list; the latter requires doctor-fix mode. The private runRegistryMigration transaction is called only by discardLegacyRegistryWorktrees and rewriteRegistryWorktreePathsForMigration; their sole production caller is the managed-worktrees step at src/infra/state-migrations.doctor.ts:1256,1258 (Doctor/startup). It acquires the existing schema-maintenance owner before opening the transaction database.; Synchronous removal-lock assertion immediately before filesystem/Git deletion and process-exit lock cleanup. Ordinary cleanup consumes the existing worker lease census. |
src/agents/worktrees · src/agents/worktrees/run-lease-owner.ts |
2/0/0/0/0 | 41 | Native caller is registry.ts assertWorktreeRemovalAvailable, a removal lock primitive; ordinary runtime lease reads and writes dispatch through shared-state workers. |
src/agents/worktrees · src/agents/worktrees/run-lease-store.kernel.ts |
1/0/0/0/0 | 90 | Native invocation is registry.ts process-exit lock cleanup; normal release dispatches through worktrees/dispatch.worker.ts. |
src/channels · src/channels/message/ingress-queue.migration.ts |
1/1/2/0/0 | 116 | Schema/startup/migration candidate; verify no runtime caller |
src/config/sessions · src/config/sessions/legacy-main-session-key-scan.ts |
1/0/0/0/1 | 112 | legacy-main-session-migration.ts calls full native claims only after detect mode returns; detection uses prepareComparisonClaimsFromStores and session-retirement-read.worker.ts |
src/config/sessions · src/config/sessions/legacy-main-session-migration-operations.ts |
0/0/0/0/2 | 362 | Schema/startup/migration candidate; verify no runtime caller |
src/config/sessions · src/config/sessions/legacy-main-session-migration-restore.ts |
1/0/0/0/2 | 13 | Schema/startup/migration candidate; verify no runtime caller |
src/config/sessions · src/config/sessions/legacy-main-session-migration.ts |
2/0/1/0/0 | 269 | Schema/startup/migration candidate; verify no runtime caller |
src/config/sessions · src/config/sessions/session-accessor.sqlite-canonical-repair.ts |
7/3/0/1/0 | 54 | Doctor canonical-key repair/import and worker-only legacy comparison in session-retirement-read.worker.ts; native full claims run only after detect returns, and allowCanonicalRepair is supplied only by Doctor canonical-key repair |
src/config/sessions · src/config/sessions/session-accessor.sqlite-delivery-repair.ts |
10/4/0/0/0 | 32 | Copy extracted from the reviewed copySqliteSessionOwnedStateForRepair operation in canonical-repair.ts; its other caller is Doctor-only copySessionClaimForRepair. Inventory is called only by doctor-relative-session-store-preservation.ts for offline pre-copy verification and completion fingerprints. No Gateway runtime caller. |
src/config/sessions · src/config/sessions/session-accessor.sqlite-generation-copy.ts |
6/2/0/0/0 | 46 | Comparison reads run in session-retirement-read.worker.ts; full claims and generation copies are Doctor legacy/canonical repair. Native deletion-plan generation reads require expectedGenerations, supplied only by legacy-main-session-migration-operations.ts |
src/config/sessions · src/config/sessions/session-accessor.sqlite-import.ts |
0/2/0/1/0 | 102 | Legacy session migration: commands/doctor-session-sqlite-import.ts:84 and doctor-session-sqlite-active.ts:73; Doctor retained recovery at doctor-session-sqlite-retained.ts:197 -> infra/deferred-plugin-session-sources.ts:541,590 -> deferred-plugin-session-verification.ts:92 -> deferred-plugin-session-empty.ts:78. |
src/config/sessions · src/config/sessions/session-accessor.sqlite-lifecycle-state.ts |
0/1/0/0/0 | 132 | Doctor-only raw-row removal: commands/doctor-session-canonical-keys.ts constructs expectedRawEntryJson; lifecycle-state.ts and projection-state.ts call this guard only for that removal variant. Other lifecycle operations retain their separate classifications. |
src/config/sessions · src/config/sessions/session-accessor.sqlite-node-artifacts.ts |
1/1/0/0/0 | 115 | Member cleanup is Doctor canonical repair. Full readClaim is Doctor-only; deletion-plan fingerprint reads require expectedNodeArtifactFingerprint, supplied only by Doctor deleteExpectedClaim. Worker detection omits artifact custody; other native artifact kernels remain separately classified |
src/config/sessions · src/config/sessions/session-accessor.sqlite-pending-inputs-repair.ts |
0/1/0/0/0 | 144 | node-artifacts.ts:151 is shared, but entry-store.ts:372 runtime alias moves pass the same database and return at pending-inputs-repair.ts:130. The existing initializer is cross-database Doctor repair only, via canonical-repair.ts:514,521 and legacy-main-session-migration-operations.ts:343. |
src/config/sessions · src/config/sessions/session-accessor.sqlite-transcript-state.ts |
1/0/0/0/0 | 524 | Only the unadmitted legacy UPDATE is guarded here. createMigrationDatabaseHandle in state-migrations.agent-database.ts supplies raw media/directive migration handles. Durable runtime openers register identity before exposure; their RETURNING executor remains T1. |
src/config/sessions · src/config/sessions/session-canonical-key-read.ts |
0/0/0/0/1 | 18 | Only startup-migration-runtime.ts calls it, through gateway/server-startup-session-migration.ts:201 and server-startup-plugins.ts:99 or deferred boot admission at server-agent-database-startup.ts:112. |
src/config/sessions · src/config/sessions/session-canonical-key.ts |
2/0/0/0/0 | 667 | The setter serves startup-migration-runtime.ts boot admission and commands/doctor-session-canonical-keys.ts repair. Pending validation is written only by that setter or explicit allowStoredAlias(s)/allowCanonicalRepair imports and repairs: legacy-main-session-migration-operations.ts, session-accessor.sqlite-import.ts, and Doctor projection/rewrite. Import's retained recovery path is Doctor-only via doctor-session-sqlite-retained.ts -> rebuildDeferredPluginSessionSourceIndex. |
src/config/sessions · src/config/sessions/session-claim-repair-copy.ts |
6/0/0/1/1 | 71 | Extracted from legacy-main-session-migration-operations.ts:copyClaimCrossStore. Its only callers are processIdenticalClaims after doctor-fix admission and doctor-relative-session-store.ts under exclusive Doctor maintenance; detect mode returns before copying. Source claims are rechecked inside the destination write transaction. |
src/config/sessions · src/config/sessions/worktree-workspace-migration.ts |
1/0/0/0/1 | 72 | Schema/startup/migration candidate; verify no runtime caller |
src/infra · src/infra/client-credential-migration-data.ts |
4/0/0/0/0 | 75 | Schema/startup/migration candidate; verify no runtime caller |
src/infra · src/infra/client-credential-migration.ts |
9/2/0/0/0 | 143 | Schema/startup/migration candidate; verify no runtime caller |
src/infra · src/infra/deferred-plugin-migrations.cohort.ts |
3/0/0/0/0 | 51 | Schema/startup/migration candidate; verify no runtime caller |
src/infra · src/infra/deferred-plugin-migrations.ts |
2/0/2/0/0 | 114 | Schema/startup/migration candidate; verify no runtime caller |
src/infra · src/infra/deferred-plugin-session-sources.ts |
0/0/1/0/0 | 430 | Doctor retained-source recovery/import: src/commands/doctor-session-sqlite-retained.ts:197 and doctor-session-sqlite.ts:376,1039. |
src/infra · src/infra/delivery-queue-sqlite-bound.ts |
3/0/0/0/0 | 97 | Native migration: src/infra/outbound/delivery-queue-migration.ts:308; schema backfill: src/state/openclaw-state-db-delivery-queue-backfill.ts:93. Bounded pruning also serves native namespace migration through delivery-queue-sqlite.kernel.ts:192. Other terminalization/pruning callers are delivery-queue.worker.ts:117,316,387,457 and session-delivery-queue.worker.ts:264. |
src/infra · src/infra/delivery-queue-sqlite-namespace.kernel.ts |
0/1/0/0/0 | 121 | Native replace/move: src/infra/delivery-queue-sqlite-namespace.ts:34,49 → outbound/delivery-queue-migration.ts:169,205,235,289,349,367,435. Other callers are enqueue/delivery workers. |
src/infra · src/infra/delivery-queue-sqlite-namespace.ts |
0/0/2/0/0 | 24 | Sole native callers src/infra/outbound/delivery-queue-migration.ts:169,205,235,289,349,367,435; Doctor entry src/commands/doctor-outbound-delivery.ts:137,162. |
src/infra · src/infra/delivery-queue-sqlite.kernel.ts |
4/0/0/0/0 | 184 | Native loads/deletes/count and receipt ownership serve Doctor migration via commands/doctor-outbound-delivery.ts and infra/outbound/delivery-queue-migration.ts. Post-ready recovery count and cron receipt selection use delivery-queue.worker.ts; test-only status inspection lives in test support. Initial post-ready recovery is not boot admission. |
src/infra · src/infra/device-pairing-node-desktop-migration.ts |
0/1/1/0/0 | 92 | Schema/startup/migration candidate; verify no runtime caller |
src/infra · src/infra/device-pairing-store.ts |
20/5/5/0/0 | 145 | Runtime uses device-pairing-core.worker.ts and state-read; native snapshots only in device/node-pairing-migration.ts and startup desktop-node migration |
src/infra · src/infra/exec-approvals-sqlite.ts |
1/1/0/0/0 | 64 | Runtime policy writes and mutation guards run in exec-approvals-mutation.worker.ts, exec-approvals-authorization.worker.ts, exec-approvals-retirement.worker.ts and operator-approval-store.transitions.worker.ts via mintMcpToolGrantLocked. Native callers are updateExecApprovalsForMaintenance via exec-approvals-generated-migration.ts (Doctor), and state-migrations.exec-approvals{,-canonical}.ts. The shared synchronous policy reader remains T1. |
src/infra · src/infra/exec-approvals-store.ts |
0/0/1/0/0 | 328 | Only exec-approvals-generated-migration.ts uses the synchronous update adapter in production; runtime edits, removal and restoration dispatch to the writer. |
src/infra · src/infra/gateway-boot-lifecycle.ts |
1/0/1/0/0 | 209 | Boot or lock/lease primitive; exception is operation-scoped |
src/infra · src/infra/gateway-owner-lease.ts |
0/1/0/0/0 | 358 | gateway-lock.ts calls acquisition only after obtaining physical Gateway state custody. This conditional upsert is the process-lock claim; the previous owner is checked in the same transaction. Runtime renewal uses the state lease worker. |
src/infra · src/infra/restart-handoff.ts |
0/1/0/0/0 | 232 | Native reads only serve server-startup-bootstrap.ts boot admission, daemon CLI status.gather.ts, and Doctor gateway-daemon-flow.ts; ordinary Gateway runtime does not call this reader. |
src/infra · src/infra/session-cost-usage-cache-migration.ts |
3/0/0/0/0 | 54 | Schema/startup/migration candidate; verify no runtime caller |
src/infra · src/infra/session-sqlite-migration-readers.ts |
1/0/0/0/0 | 418 | Schema/startup/migration candidate; verify no runtime caller |
src/infra · src/infra/session-sqlite-transcript-verification.ts |
0/1/0/0/1 | 47 | Doctor readers/import verification: src/commands/doctor-session-sqlite-missing-index.ts:80, doctor-session-sqlite-active.ts:60, doctor-session-sqlite-import.ts:302, doctor-session-sqlite-verification.ts:303; retained recovery doctor-session-sqlite-retained.ts:197. |
src/infra · src/infra/sqlite-audit-record-store.ts |
0/0/2/0/0 | 26 | Legacy migration only: src/infra/state-migrations.audit-recovery.ts:561 and state-migrations.audit-logs.ts:435,470,561; Doctor steps state-migrations.doctor.ts:1436,1457. |
src/infra · src/infra/sqlite-audit-record.kernel.ts |
4/1/0/0/0 | 110 | Native entries/upsert/count/next/prune serve state-migrations.audit-checkpoints.ts, audit-recovery.ts, audit-logs.ts and CLI audit-backup.ts. Native latest serves readRecentConfigAuditRecords in Doctor and update-immutable-protection.ts. Runtime config observations use diagnostic.register in sqlite-audit-record.worker.ts; no native register adapter remains. |
src/infra · src/infra/startup-migration-checkpoint.ts |
1/1/0/0/0 | 124 | Schema/startup/migration candidate; verify no runtime caller |
src/infra · src/infra/state-migrations.acp-session-metadata.ts |
0/0/1/0/0 | 40 | Schema/startup/migration candidate; verify no runtime caller |
src/infra · src/infra/state-migrations.apns.ts |
1/2/1/0/0 | 184 | Schema/startup/migration candidate; verify no runtime caller |
src/infra · src/infra/state-migrations.audit-backup.ts |
1/0/0/0/0 | 59 | Schema/startup/migration candidate; verify no runtime caller |
src/infra · src/infra/state-migrations.cold-navigation.ts |
0/3/0/0/0 | 118 | Schema/startup/migration candidate; verify no runtime caller |
src/infra · src/infra/state-migrations.commitments.ts |
0/0/1/0/0 | 110 | Schema/startup/migration candidate; verify no runtime caller |
src/infra · src/infra/state-migrations.debug-proxy.ts |
0/0/1/0/0 | 370 | Schema/startup/migration candidate; verify no runtime caller |
src/infra · src/infra/state-migrations.deferred-session-import.ts |
1/0/1/0/0 | 37 | Schema/startup/migration candidate; verify no runtime caller |
src/infra · src/infra/state-migrations.device-auth.ts |
1/1/0/0/0 | 249 | Schema/startup/migration candidate; verify no runtime caller |
src/infra · src/infra/state-migrations.device-identity.ts |
1/1/0/0/0 | 47 | Schema/startup/migration candidate; verify no runtime caller |
src/infra · src/infra/state-migrations.exec-approvals-canonical.ts |
0/1/1/0/0 | 27 | Schema/startup/migration candidate; verify no runtime caller |
src/infra · src/infra/state-migrations.exec-approvals.ts |
0/0/1/0/0 | 338 | Schema/startup/migration candidate; verify no runtime caller |
src/infra · src/infra/state-migrations.managed-outgoing-images.ts |
1/1/1/0/0 | 233 | Schema/startup/migration candidate; verify no runtime caller |
src/infra · src/infra/state-migrations.media-persistence-database.ts |
2/0/0/0/0 | 159 | Schema/startup/migration candidate; verify no runtime caller |
src/infra · src/infra/state-migrations.media-persistence-inspection.ts |
0/1/0/0/0 | 19 | Schema/startup/migration candidate; verify no runtime caller |
src/infra · src/infra/state-migrations.media-persistence.ts |
2/0/0/0/0 | 375 | Schema/startup/migration candidate; verify no runtime caller |
src/infra · src/infra/state-migrations.meeting-transcripts-insert.ts |
3/0/1/0/0 | 36 | Schema/startup/migration candidate; verify no runtime caller |
src/infra · src/infra/state-migrations.meeting-transcripts.ts |
5/2/2/0/0 | 63 | Schema/startup/migration candidate; verify no runtime caller |
src/infra · src/infra/state-migrations.node-host.ts |
1/1/1/0/0 | 224 | Schema/startup/migration candidate; verify no runtime caller |
src/infra · src/infra/state-migrations.plugin-doctor-context.ts |
2/0/0/0/0 | 350 | Schema/startup/migration candidate; verify no runtime caller |
src/infra · src/infra/state-migrations.receipts.ts |
3/1/1/0/0 | 69 | Schema/startup/migration candidate; verify no runtime caller |
src/infra · src/infra/state-migrations.retired-runtime.ts |
0/1/2/0/0 | 150 | Schema/startup/migration candidate; verify no runtime caller |
src/infra · src/infra/state-migrations.runtime-state.ts |
3/0/1/0/0 | 127 | Schema/startup/migration candidate; verify no runtime caller |
src/infra · src/infra/state-migrations.session-window-repair.ts |
1/2/0/0/0 | 65 | Schema/startup/migration candidate; verify no runtime caller |
src/infra · src/infra/state-migrations.shared-auth-store.ts |
10/1/2/2/0 | 108 | Schema/startup/migration candidate; verify no runtime caller |
src/infra · src/infra/state-migrations.transcript-archive-publication.ts |
3/2/0/0/0 | 84 | Schema/startup/migration candidate; verify no runtime caller |
src/infra · src/infra/state-migrations.transcript-directives-archives.ts |
4/1/0/0/0 | 171 | Schema/startup/migration candidate; verify no runtime caller |
src/infra · src/infra/state-migrations.transcript-directives-providers.ts |
2/1/0/0/0 | 40 | Schema/startup/migration candidate; verify no runtime caller |
src/infra · src/infra/state-migrations.transcript-directives.ts |
3/1/0/0/0 | 156 | Schema/startup/migration candidate; verify no runtime caller |
src/infra · src/infra/state-migrations.tui-last-session.ts |
1/1/1/0/0 | 166 | Schema/startup/migration candidate; verify no runtime caller |
src/infra · src/infra/state-migrations.web-push.ts |
2/3/1/0/0 | 154 | Schema/startup/migration candidate; verify no runtime caller |
src/infra · src/infra/state-migrations.workspace-setup-receipts.ts |
2/1/0/0/0 | 110 | Schema/startup/migration candidate; verify no runtime caller |
src/infra · src/infra/state-migrations.workspace-setup-store.ts |
7/3/1/0/0 | 159 | Schema/startup/migration candidate; verify no runtime caller |
src/infra · src/infra/update-managed-service-handoff-database.ts |
1/1/0/0/0 | 165 | readManagedHandoffRepairMetadata and initializeLeaseSchema serve the managed update source-custody lease, a cross-process lock primitive. |
src/infra · src/infra/update-managed-service-handoff-mutation.ts |
1/0/0/0/0 | 90 | createManagedHandoffMutationReader.childAliases implements managed source-custody lock validation; config/write-lock.ts and daemon/service-operation-lock.ts reach it through the lease owner. |
src/infra · src/infra/update-managed-service-handoff-original-owner.ts |
1/0/0/0/0 | 82 | readOriginalUpdateDependents serves cross-process source-custody lease acquisition/release, not ordinary Gateway state access. |
src/infra · src/infra/update-managed-service-handoff-rows.ts |
4/0/0/0/0 | 104 | descendants/deleteRow/updateRow/readRetainedSources belong to cross-process managed source-custody locks. config/write-lock.ts and daemon/service-operation-lock.ts use assertSourceUnborrowed before effects; Gateway release settles the same lease. |
src/infra · src/infra/update-managed-service-handoff-source-inspection.ts |
0/2/0/0/0 | 7 | Schema discovery supports only the managed source-custody lock primitive's first admission and repair. |
src/pairing · src/pairing/pairing-store-sqlite.ts |
6/0/1/0/0 | 135 | Runtime mutations execute in pairing-store.worker.ts through the shared-state writer registry. Native snapshots remain only in state-migrations.channel-pairing.ts for Doctor. The released synchronous SDK reader calls readChannelAllowEntries only; its shared allowlist query remains T1. |
src/plugin-sdk · src/plugin-sdk/qa-startup-state.ts |
10/0/0/0/0 | 153 | Schema/startup/migration candidate; verify no runtime caller |
src/plugin-state · src/plugin-state/plugin-state-store.kernel.ts |
1/0/0/0/0 | 297 | Native raw-row inspection only: src/infra/state-migrations.plugin-doctor-context.ts:416 -> plugin-state-store.sqlite.ts:394. Other callers are plugin-state.worker.ts:104 -> plugin-state-store.reads.ts:111 and plugin-state.worker.ts:173 -> plugin-state-store.journal.ts:122; public key-range facade is asynchronous at plugin-state-store.ts:580. |
src/plugin-state · src/plugin-state/plugin-state-store.sqlite.ts |
1/0/0/0/0 | 447 | Only src/infra/state-migrations.plugin-doctor-context.ts:466 calls exact-row deletion, after repair-authority validation at :464. Context creation is limited to state-migrations.plugin-doctor.ts:200,325; no runtime keyed-store method exposes this repair operation. |
src/state · src/state/agent-deletion-journal-history.ts |
0/2/0/0/0 | 24 | Missing-schema admission only: openclaw-state-db-schema-runtime.ts initialization, openclaw-state-db-repair.ts and readRetainedAgentDeletionsFromDatabase's pre-journal compatibility branch. |
src/state · src/state/agent-deletion-journal.ts |
1/0/0/0/0 | 126 | Native SQL is limited to openclaw-agent-db lease/schema/registry admission and Doctor journal restore/quarantine. Agent event guards without an explicit database consume published owner facts. Explicit-database deletion/recovery and Cron availability callers execute in their existing workers. |
src/state · src/state/config-machine-state-write.ts |
0/1/1/0/0 | 194 | Only migrations src/infra/state-migrations.config-machine-state.ts:71 and state-migrations.update-check.ts:66; Doctor roots doctor-config-preflight.cron.ts:27 and state-migrations.doctor.ts:910,1394. |
src/state · src/state/openclaw-agent-canonical-validation-receipt.ts |
1/1/0/0/0 | 67 | setOpenClawAgentDatabaseValidation loads the receipt only during registry/schema admission; the other caller is openclaw-agent-db-readonly-open.ts under !isMainThread. Runtime hasPersistedOpenClawAgentCanonicalValidation consumes only the admitted cache.; Invalidation is restricted to startup/Doctor main-key migration and allowStoredAlias import/repair branches; ordinary session writers do not enable those branches. |
src/state · src/state/openclaw-agent-db-lease.ts |
9/2/5/0/0 | 86 | Boot or lock/lease primitive; exception is operation-scoped |
src/state · src/state/openclaw-agent-db-metadata-write.ts |
1/0/0/0/0 | 21 | Only openclaw-agent-db-schema-helpers.ts and openclaw-agent-db-schema.ts call this schema admission/migration writer. |
src/state · src/state/openclaw-agent-db-registry.ts |
2/0/1/0/0 | 55 | Private locator query used only by database-open registration admission and unregisterOpenClawAgentDatabase; unregister runs in openclaw-agent-db-registry.worker.ts or offline state-migrations.media-persistence.ts.; Database-open admission only: openclaw-agent-db.ts registers a newly admitted physical store; openclaw-agent-db-schema.ts registers after schema initialization. Runtime async opens perform admission in the agent executor; synchronous SDK/Doctor opens retain the admission exception. |
src/state · src/state/openclaw-agent-db-schema.ts |
0/0/1/0/0 | 617 | Schema/startup/migration candidate; verify no runtime caller |
src/state · src/state/openclaw-agent-session-snapshots-migration.ts |
1/0/0/0/0 | 75 | Schema/startup/migration candidate; verify no runtime caller |
src/state · src/state/openclaw-migration-witness.ts |
3/4/0/0/0 | 182 | Schema/startup/migration candidate; verify no runtime caller |
src/state · src/state/openclaw-state-db-cron-identity-migration.ts |
7/2/0/0/0 | 43 | Schema/startup/migration candidate; verify no runtime caller |
src/state · src/state/openclaw-state-db-existing-schema.ts |
0/1/0/0/0 | 64 | Schema/startup/migration candidate; verify no runtime caller |
src/state · src/state/openclaw-state-db-image-snapshot-migration.ts |
2/1/0/0/0 | 30 | Schema/startup/migration candidate; verify no runtime caller |
src/state · src/state/openclaw-state-db-legacy-backfills.ts |
1/1/0/0/0 | 208 | Only ensureAdditiveStateColumns calls this accounting repair, from schema-runtime cold admission/migration and the Doctor schema-repair runner; no Gateway runtime caller. |
src/state · src/state/openclaw-state-db-maintenance.ts |
1/0/0/0/0 | 707 | Only openclaw-state-db-schema-runtime.ts schema initialization/admission writes the current schema marker. |
src/state · src/state/openclaw-state-db-schema-v36-template-names.ts |
2/0/0/0/0 | 181 | Schema/startup/migration candidate; verify no runtime caller |
src/state · src/state/openclaw-state-db-session-watch-migration.ts |
3/2/0/0/0 | 36 | Schema/startup/migration candidate; verify no runtime caller |
src/state · src/state/openclaw-state-db.ts |
0/0/3/0/0 | 257 | Startup checkpoint callers only: startup-migration-checkpoint.ts:84,157 serves CLI startup-config-preflight.ts admission/heartbeat/release; gateway-owner-lease.ts:253,282 claims/releases the process lock, whose runtime heartbeat already uses openclaw-state-lease-heartbeat.ts. Other shared-state writes remain T1.; Native callers are openOpenClawStateDatabaseWithBusyTimeout admission; the Gateway watcher awaits reconcileOpenClawStateSchemaPublicationAsync, dispatched as database.publishSchema by openclaw-state.worker.ts. The transaction publishes the admitted schema under exclusive schema maintenance. |
src/state · src/state/openclaw-state-feature-schema-ensure.ts |
0/0/1/0/0 | 32 | Schema/startup/migration candidate; verify no runtime caller |
src/state · src/state/openclaw-state-lease-storage.ts |
0/0/1/0/0 | 107 | Boot or lock/lease primitive; exception is operation-scoped |
src/state · src/state/openclaw-state-lease-store.ts |
6/2/0/0/0 | 36 | Boot or lock/lease primitive; exception is operation-scoped |
src/state · src/state/openclaw-state-schema-publication.ts |
3/0/0/0/0 | 37 | Schema/startup/migration candidate; verify no runtime caller |
src/state · src/state/user-profile-mutation.ts |
0/0/1/0/0 | 47 | Profile mutations run in user-profile-writes.worker.ts and user-profiles.worker.ts; native user-profiles-schema.ts uses this only for once-per-load schema initialization. |
src/state · src/state/user-profiles-schema.ts |
2/0/1/0/0 | 123 | Schema/startup/migration candidate; verify no runtime caller |
src/wizard · src/wizard/setup.migration-promotion.ts |
0/1/0/0/0 | 492 | Schema/startup/migration candidate; verify no runtime caller |
T3
| Owner / file | Calls (Q/F/S/A/R) | First line | Exposure evidence |
|---|---|---|---|
extensions/memory-core · extensions/memory-core/src/memory/manager-status-state.ts |
1/0/0/0/0 | 70 | Only collectMemoryStatusSnapshot calls the storage query, gated by includeStorage from sourceInspections populated through inspectSources. manager-search.worker.ts serves statusAsync; retained synchronous status uses the same snapshot. CLI status/index/search and commands/status.scan.shared.ts request diagnostic inspection; ordinary Gateway status does not. |
scripts/bench-agent-concurrency-worker.ts · scripts/bench-agent-concurrency-worker.ts |
1/0/0/0/0 | 191 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/bench-agent-database-holds.ts · scripts/bench-agent-database-holds.ts |
0/0/0/1/0 | 111 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/bench-channel-ingress-writer.ts · scripts/bench-channel-ingress-writer.ts |
0/0/1/0/0 | 111 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/bench-control-ui-wire.ts · scripts/bench-control-ui-wire.ts |
0/0/0/1/0 | 724 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/bench-gateway-startup.ts · scripts/bench-gateway-startup.ts |
0/0/2/4/0 | 1245 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/bench-session-cost-ready.mts · scripts/bench-session-cost-ready.mts |
0/0/0/1/0 | 247 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/bench-session-projection-ready.mts · scripts/bench-session-projection-ready.mts |
0/0/0/1/0 | 109 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/crabbox-source-mirror.mts · scripts/crabbox-source-mirror.mts |
5/0/0/0/0 | 112 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/lib · scripts/lib/code-mode-matrix-usage.ts |
4/0/0/0/0 | 322 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/acp-ledger-eviction-measure.ts |
0/0/1/0/0 | 102 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/agent-db-close-receipt-measure.mjs |
0/0/0/1/0 | 81 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/agent-deletion-blocked-measure.ts |
0/0/2/0/0 | 121 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/agent-list-read-measure.ts |
0/0/1/0/0 | 89 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/agent-prepare-write-measure.mjs |
0/0/0/1/0 | 172 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/agent-startup-inspection.ts |
0/0/0/3/0 | 162 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/archive-canonical-worker-measure.ts |
0/0/0/2/0 | 178 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/archive-worker-churn-measure.ts |
0/0/0/1/0 | 137 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/archive-worker-retention-measure.ts |
1/0/0/1/0 | 101 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/archive-worker-startup-measure.mjs |
0/0/0/0/1 | 115 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/audit-batch-write-measure.ts |
0/0/1/0/0 | 94 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/audit-context-write-measure.ts |
0/0/1/0/0 | 106 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/branch-summary-identity-measure.ts |
1/0/0/0/0 | 63 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/chat-admission-freshness-measure.ts |
0/0/0/1/0 | 85 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/chat-send-persist-measure.ts |
0/0/0/1/0 | 89 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/cron-delivery-context-measure.mjs |
0/0/0/1/0 | 92 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/cron-own-receipts-measure.mjs |
0/0/1/0/0 | 132 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/delivery-recovery-fixture.ts |
0/0/0/1/0 | 36 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/derived-index-admission-measure.ts |
0/0/0/2/0 | 231 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/doctor-config-measure.mts |
0/0/0/2/0 | 246 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/exec-approvals-receipt-measure.ts |
0/0/1/0/0 | 79 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/health-cron-fixture.ts |
0/0/1/0/0 | 84 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/history-diff-measure.ts |
0/0/1/2/0 | 195 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/local-workspace-checkpoint-measure.ts |
0/0/0/2/0 | 757 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/local-workspace-manifest-read.ts |
0/2/0/0/0 | 186 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/paired-row-encoding-measure.ts |
0/0/1/0/0 | 118 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/pg-footprint.ts |
0/0/0/1/0 | 167 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/placement-identity-recovery-bench.ts |
2/0/1/0/0 | 110 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/placement-recovery-reads-bench.ts |
2/0/1/0/0 | 90 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/plugin-startup-migration-readiness-measure.ts |
0/0/1/0/0 | 105 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/publication-empty-recovery-measure.ts |
1/0/2/0/0 | 93 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/restart-resume-measure.ts |
0/0/0/2/0 | 78 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/seal-version-restart.ts |
0/0/0/1/0 | 148 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/select-environment-scale.ts |
0/0/2/3/0 | 177 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/session-actor-participant-hydration-measure.ts |
0/0/0/1/0 | 83 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/session-actor-retention-seed.ts |
0/0/0/1/0 | 28 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/session-actor-writer-append-measure.ts |
2/0/0/0/0 | 379 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/session-archive-staging-measure.ts |
2/0/0/0/0 | 95 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/session-catalog-selection-measure.ts |
0/0/0/1/0 | 301 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/session-cold-navigation.ts |
9/5/0/5/0 | 161 | Explicit developer-only measurement of cold archive publication, navigation backfill and bounded reads on synthetic state; no runtime imports or Gateway callers |
scripts/perf · scripts/perf/session-cold-restore-memory.ts |
2/0/0/1/0 | 250 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/session-cold-selection.ts |
0/0/0/3/0 | 127 | Explicit developer-only benchmark of cold preparation and mutation on synthetic state; no runtime imports or Gateway callers |
scripts/perf · scripts/perf/session-cold-subscribe.mjs |
0/0/0/2/0 | 115 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/session-cost-usage-cold-read.ts |
0/0/0/2/0 | 220 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/session-delete-measure.ts |
0/0/3/3/0 | 147 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/session-delivery-generation-measure.ts |
0/0/0/1/0 | 90 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/session-event-ancestors-measure.ts |
0/0/0/2/0 | 136 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/session-initial-context-fixture.ts |
0/0/0/2/0 | 133 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/session-lifecycle-boot.ts |
0/0/0/1/0 | 144 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/session-lifecycle-delete-sql-measure.ts |
0/0/0/4/0 | 128 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/session-list-search-measure.ts |
0/0/0/1/0 | 271 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/session-maintenance-kick-measure.mjs |
0/0/0/2/0 | 132 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/session-polling-fixture.ts |
0/0/1/1/0 | 113 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/session-pr-currency-measure.ts |
0/0/0/1/0 | 249 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/session-prepared-list-measure.ts |
0/0/1/1/0 | 205 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/session-read-transactions-fixture.mjs |
0/0/0/2/0 | 113 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/session-reader-volume-measure.mjs |
0/0/0/1/2 | 115 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/session-replacement-write-measure.ts |
0/0/0/3/0 | 135 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/session-resource-loader-fixture.mjs |
0/0/0/2/0 | 116 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/session-row-refresh-measure.ts |
0/0/0/1/0 | 126 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/session-sharing-context-measure.ts |
0/0/1/1/0 | 149 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/session-summary-id-retention.ts |
0/0/0/1/0 | 78 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/session-transcript-code-measure.mjs |
0/0/0/1/0 | 238 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/sessions-usage-measure.ts |
1/0/0/1/0 | 101 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/sidebar-presentation-measure.ts |
0/0/0/1/0 | 292 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/sqlite-native-lease-measure.mjs |
0/0/1/0/0 | 143 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/startup-agent-preparation-measure.ts |
0/0/0/1/0 | 73 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/state-db-cache-admission-measure.ts |
0/0/1/0/0 | 54 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/subagent-run-retention-gateway.ts |
1/0/1/0/0 | 172 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/subagent-timing-write-measure.ts |
0/0/0/1/0 | 78 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/team-shape-extras.ts |
0/0/4/1/0 | 281 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/team-shape-sessions.ts |
1/0/1/3/0 | 97 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/trajectory-persistence.ts |
1/0/0/0/1 | 303 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/trajectory-runtime-append.ts |
0/0/0/2/0 | 161 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/trajectory-skills-metadata-measure.ts |
1/0/0/0/1 | 485 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/transcript-pool-idle-measure.ts |
0/0/0/1/0 | 129 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/turn-preparation-measure.mjs |
0/0/0/1/0 | 279 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/usage-cache-prune-measure.ts |
0/0/0/0/1 | 152 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/usage-refresh-stats-measure.ts |
0/0/0/0/1 | 294 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/warm-reload-fixture.ts |
0/0/1/3/0 | 461 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/worker-cold-fixture.ts |
1/0/0/0/1 | 92 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
scripts/perf · scripts/perf/worker-placement-reconcile-shutdown-measure.ts |
0/0/0/1/0 | 438 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
src/acp · src/acp/runtime/session-meta-doctor.ts |
1/1/3/0/3 | 281 | Doctor repair, including the synchronous createVerifiedSqliteSnapshot validation callback: src/commands/doctor-session-transcripts.ts:318. Plugin Doctor context: src/infra/state-migrations.plugin-doctor-context.ts:403,463, constructed by state-migrations.plugin-doctor.ts:200,325. |
src/acp · src/acp/runtime/session-meta-keys.ts |
1/1/0/0/0 | 272 | Mutators serve the worker kernel, exclusive-maintenance session-meta-write.native.ts, Doctor repair, and the offline migration writer. Ordinary Gateway writes use workers; selectAcpSessionRow retains its separate synchronous SDK classification. |
src/acp · src/acp/runtime/session-meta-write.native.ts |
0/0/2/0/0 | 73 | Only session-meta-write.ts calls this native adapter when supportsOpenClawAgentDatabaseExecution is false under exclusive schema/agent maintenance. Ordinary writes dispatch to the worker; agent-deletion cleanup supplies workerAuthority, and memory readers have no file scope for this adapter. |
src/agents/auth-profiles · src/agents/auth-profiles/authorization-enrollment-runtime.ts |
0/0/0/1/0 | 63 | Only the synchronous exclusive-Doctor branch opens the native agent transaction, with captured live admission, credential-preserving CAS and commit settlement. Ordinary shared/agent enrollment still dispatches through the existing worker/executor; nested callbacks and unguarded calls retain runtime classification. |
src/agents/harness · src/agents/harness/native-hook-relay-bridge-query.ts |
0/1/0/0/0 | 9 | Native Node one-shot CLI: src/cli/native-hook-relay-cli.ts:98 -> native-hook-relay-client.ts:39 -> native-hook-relay-client-store.ts:20 -> native-hook-relay-client-read.ts:22. Gateway reads/mutations use native-hook-relay-store.worker.ts:11,35,44,53 through store.kernel.ts:48; Bun CLI uses its client worker. |
src/agents/worktrees · src/agents/worktrees/registry.ts |
2/0/0/0/0 | 88 | Legacy list is only src/infra/state-migrations.doctor-discovery.ts:52 under doctorOnlyStateMigrations === true (:51); discard is only state-migrations.doctor.ts:1360 under isDoctor (:1359). Ordinary runtime worktree readers and mutations remain T1. |
src/commands · src/commands/database-restore-session-dependencies.input.ts |
0/3/0/0/0 | 126 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
src/commands · src/commands/database-restore-session-dependencies.retained.ts |
0/3/0/0/0 | 47 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
src/commands · src/commands/database-restore-session-dependencies.ts |
0/0/1/0/0 | 107 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
src/commands · src/commands/doctor-a2ui-widgets.ts |
3/0/0/1/1 | 42 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
src/commands · src/commands/doctor-agent-database-paths.ts |
0/0/1/0/0 | 15 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
src/commands · src/commands/doctor-agent-deletion-journal-quarantine.ts |
3/0/1/0/0 | 60 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
src/commands · src/commands/doctor-agent-deletion-journal-restore.ts |
0/2/1/0/0 | 34 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
src/commands · src/commands/doctor-auth-migration-receipts.ts |
3/2/2/0/0 | 138 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
src/commands · src/commands/doctor-heartbeat-cadence-migration.ts |
0/0/1/0/0 | 279 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
src/commands · src/commands/doctor-heartbeat-outcome-migration.ts |
3/0/0/1/1 | 41 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
src/commands · src/commands/doctor-heartbeat-retirement.ts |
0/0/1/0/0 | 96 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
src/commands · src/commands/doctor-heartbeat-scratch-migration.ts |
0/0/1/0/0 | 650 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
src/commands · src/commands/doctor-heartbeat-task-migration.kernel.ts |
2/0/0/0/0 | 237 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
src/commands · src/commands/doctor-heartbeat-task-migration.ts |
0/0/2/0/0 | 125 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
src/commands · src/commands/doctor-heartbeat-task-scratch.ts |
1/0/0/0/0 | 24 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
src/commands · src/commands/doctor-relative-session-store-preservation.ts |
0/2/0/0/0 | 20 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
src/commands · src/commands/doctor-relative-session-store.ts |
1/0/0/0/1 | 173 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
src/commands · src/commands/doctor-session-canonical-keys.ts |
0/0/0/0/1 | 529 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
src/commands · src/commands/doctor-session-incognito-key-repair-state.ts |
10/1/0/0/0 | 36 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
src/commands · src/commands/doctor-session-incognito-key-repair.ts |
3/0/3/1/1 | 107 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
src/commands · src/commands/doctor-session-sqlite-retained.ts |
0/0/1/0/0 | 126 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
src/commands · src/commands/doctor-session-sqlite-verification.ts |
0/1/0/0/1 | 199 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
src/commands · src/commands/doctor-session-sqlite-warnings.ts |
2/0/0/0/1 | 62 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
src/commands · src/commands/doctor-session-transcript-headers.ts |
0/1/0/1/0 | 85 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
src/commands · src/commands/doctor-session-transcript-labels.ts |
0/0/0/1/0 | 103 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
src/commands · src/commands/doctor-skill-workshop-retire-proposals.ts |
0/0/1/0/0 | 622 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
src/commands · src/commands/doctor-telegram-general-topic-conversations.ts |
10/0/0/1/1 | 60 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
src/commands · src/commands/doctor-update-rehearsal-inventory.ts |
0/1/0/0/0 | 306 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
src/commands · src/commands/doctor-update-run.ts |
1/1/0/0/0 | 67 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
src/commands · src/commands/doctor-update-schema-guard.ts |
1/1/0/0/0 | 77 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
src/commands · src/commands/doctor/auth-alias-receipt.ts |
0/0/2/0/0 | 151 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
src/commands · src/commands/doctor/cron/store-inventory.ts |
2/0/0/0/0 | 14 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
src/commands · src/commands/doctor/cron/store-repair.ts |
2/0/1/0/0 | 125 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
src/commands · src/commands/doctor/shared/legacy-webhook-pins.ts |
0/1/0/0/0 | 179 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
src/commands · src/commands/doctor/shared/session-entry-rewrite.ts |
4/0/0/1/0 | 308 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
src/commands · src/commands/startup-client-credentials.ts |
1/0/0/0/0 | 53 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
src/config/sessions · src/config/sessions/session-accessor.reset.ts |
0/0/0/0/1 | 91 | Reply initialization resolves memory first and uses readExactEntries for supported database execution. This helper is reached only when supportsOpenClawAgentDatabaseExecution is false under exclusive native maintenance; ordinary Gateway and deletion cleanup retain their worker authority. |
src/config/sessions · src/config/sessions/session-accessor.sqlite-acp-provenance.ts |
1/2/0/0/1 | 34 | Legacy provenance import/repair only: recordLegacyAcpMigrationSources is called by sqlite-import.ts, and copyLegacyAcpMigrationSourcesForRepair by sqlite-node-artifacts.ts. Runtime entry writes and clearing persist provenance with their existing node upsert.; Only the exclusive-maintenance adapter session-meta-write.native.ts and state-migrations.acp-session-metadata.ts call this native wrapper. Runtime source reads use readLegacyAcpMigrationContextInDatabase in the worker; prepareLegacyAcpMigrationSourcesForEntryWrite remains mixed.; entry-store.ts is the sole caller. This read requires changed sessionId/lifecycleRevision and a partial provenance snapshot. Native transcript/compaction compatibility preserves identity; reset/replacement/message-cut/fork/recovery use workers. Doctor import/repair retains native partial snapshots. Opaque deletion callbacks now become worker finalizers via session-deletion-worker-participant.ts. |
src/config/sessions · src/config/sessions/session-accessor.sqlite-active-events.ts |
2/1/0/0/0 | 248 | Visible delta has only session-history-read-operation.worker.ts and the registered execution-worker visibleDelta operation as callers; the accessor reexport adds no native value caller. Its private range, metadata, and payload helpers are called only by the visible delta core. |
src/config/sessions · src/config/sessions/session-accessor.sqlite-archive-store-kernel.ts |
6/1/0/0/0 | 36 | Only offline full-store reset calls these at session-accessor.sqlite-reset.ts:65,239 via commands/cleanup-utils.ts; other archive operations retain native lifecycle callers; Only archive-transaction.ts:24,30 and openclaw-agent-execution-operations.ts:433,445 call prepare/record. Runtime publication dispatches through session-archive-publication.ts to the agent execution worker. The alternate archive-store.ts route passes reclamation-run.ts:68,140: native reclamation requires a worker or explicit schema/agent maintenance custody; !supportsOpenClawAgentDatabaseExecution alone never admits native reclamation.; Only deleteMaterializedSessionStatePlans calls this: reclamation-run.ts admits native work only in workers/maintenance; projection.ts retains Doctor canonical repair; agent purge receives workerAuthority from agent-lifecycle-registry.ts. Opaque deletion callbacks become worker post-commit finalizers in session-deletion-worker-participant.ts. Archive conflict and final deletion snapshot checks remain intact. |
src/config/sessions · src/config/sessions/session-accessor.sqlite-archive-transaction.ts |
0/0/0/1/0 | 20 | Only session-accessor.sqlite-reclamation.ts:204 calls this archive-publish-prepare/record transaction. Incoming reclamation passes reclamation-run.ts:68,140: !isMainThread or exclusive schema/agent maintenance permits native work; ordinary runtime dispatches to session-accessor.sqlite-archive.worker.ts:500-512. Agent execution publication uses its own worker transaction. |
src/config/sessions · src/config/sessions/session-accessor.sqlite-canonical-inventory.ts |
0/0/0/0/4 | 285 | Doctor callers only: commands/doctor-session-canonical-candidates.ts:94; doctor-session-canonical-keys.ts:132; doctor-state-integrity.ts:1280; doctor-session-title-repair.ts:118; doctor-session-delivery-state.ts:112; doctor/shared/codex-route-session-repair.ts:551,552. |
src/config/sessions · src/config/sessions/session-accessor.sqlite-creation.ts |
0/0/0/1/0 | 230 | The creation entry returns memory state first. Ordinary main-thread durable creation retains the history worker and initializes there; this native initialize transaction runs only off thread or under schema/agent-maintenance custody. The only main-thread deletion-cleanup producer supplies workerAuthority, so it retains worker dispatch. Worker errors do not select this native branch. |
src/config/sessions · src/config/sessions/session-accessor.sqlite-entry-availability.ts |
1/1/0/0/2 | 52 | Only acp/runtime/session-meta-doctor.ts calls this availability probe, from repairAcpSessionMetaKeysForDoctor and readClaimBinding for plugin Doctor claim inspection. Identity evidence has separate worker/Doctor ownership.; state-migrations.plugin-doctor-context.ts is the only native batch caller, through its async Doctor context method. The in-database reader also serves session-history-read-operation.worker.ts; no ordinary Gateway native caller remains. |
src/config/sessions · src/config/sessions/session-accessor.sqlite-entry-clear.ts |
1/0/0/0/0 | 57 | Only deleteSessionEntryRows calls this clearer. Its callers are the worker/maintenance lifecycle projection, reclamation, agent-purge and maintenance-finalization kernels, plus resetSessionStore from cleanup-utils.ts offline reset. |
src/config/sessions · src/config/sessions/session-accessor.sqlite-entry-inventory.ts |
1/0/0/0/0 | 101 | Count callers are projection-state lifecycle commit and maintenance-store preparation, captured apply and fast-path read. Lifecycle native commits require maintenance custody; preparation/apply stays in the execution worker or its reclamation/native-maintenance branch. The fast-path reader is called only by worker maintenance reads. |
src/config/sessions · src/config/sessions/session-accessor.sqlite-entry-store.ts |
5/2/0/0/0 | 72 | Entry deletion is reached by worker/maintenance lifecycle, reclamation, purge and finalization kernels, or cleanup-utils.ts offline reset. Legacy deletion and window rehome also serve replacement-state and Doctor legacy repair. Lifecycle/replacement dispatch durable main-thread work to workers after memory exits; legacy mutation requires doctor-fix, while startup, onboarding and agent creation use detect. |
src/config/sessions · src/config/sessions/session-accessor.sqlite-entry-write.ts |
2/0/0/0/0 | 669 | Only maintenance-store calls the archive batch writer. Its captured apply runs in execution-worker maintenance or immediate inline lifecycle/replacement/purge/reclamation commits whose native branches require maintenance custody. Ordinary entry writes retain their existing mixed ownership. |
src/config/sessions · src/config/sessions/session-accessor.sqlite-history-input-visibility.ts |
0/1/0/0/0 | 110 | Only the readonly history reader calls this projection. Its sole production constructor is gateway/session-history-worker-reader.ts, invoked by session-transcript.worker.ts; callbacks remain inside that worker-owned reader lifetime. |
src/config/sessions · src/config/sessions/session-accessor.sqlite-history-query.ts |
1/0/0/0/0 | 304 | Projection callers are the readonly history reader and transcript-read-kernel selection reader. The latter is constructed only by the former, whose sole production constructor is gateway/session-history-worker-reader.ts inside session-transcript.worker.ts. |
src/config/sessions · src/config/sessions/session-accessor.sqlite-history-recency.ts |
1/0/0/0/0 | 20 | Shared collector/probe query. readHistoricalSessionIdsInDatabase calls the collector through session-transcript.worker.ts or explicit CLI reclamationMode=in-process. Only reclamation.ts and archive.worker.ts materialization call the probe; native reclamation requires an off-thread or schema/agent-maintenance owner, and ordinary durable callers dispatch to workers. |
src/config/sessions · src/config/sessions/session-accessor.sqlite-history-source.ts |
1/0/0/0/0 | 167 | Only session-transcript-read-kernel.ts calls this source projection. Its reader is constructed only in session-history-readonly-reader.ts, whose sole production constructor is gateway/session-history-worker-reader.ts under session-transcript.worker.ts. |
src/config/sessions · src/config/sessions/session-accessor.sqlite-lifecycle-artifacts.ts |
3/1/0/0/1 | 74 | sqlite-artifact-cleanup.ts uses the history worker whenever main-thread database execution is supported, and returns for absent stores before planning. Native planning is exclusive maintenance only; session-transcript.worker.ts is the other planner caller. Agent deletion supplies workerAuthority and memory cleanup never reaches these SQL paths. |
src/config/sessions · src/config/sessions/session-accessor.sqlite-lifecycle-state.ts |
1/0/0/0/0 | 408 | Physical deletion is private to materialized-state deletion, called by lifecycle/reclamation/purge kernels and worker or reclamation maintenance finalization. Native branches require worker or maintenance custody. |
src/config/sessions · src/config/sessions/session-accessor.sqlite-lifecycle.ts |
0/0/0/1/1 | 161 | resetSessionEntryLifecycle dispatches ordinary main-thread database execution to resetSessionEntryInWorker after the memory path. This native helper serves exclusive maintenance or worker execution; ordinary agent-deletion cleanup supplies workerAuthority. |
src/config/sessions · src/config/sessions/session-accessor.sqlite-maintenance-store.ts |
2/0/0/0/0 | 282 | Preparation is called only by maintenance-transaction worker prepare/read and inline maintenance. The captured apply remains in the execution-worker maintenance owner or runs immediately in inline lifecycle/replacement/purge/reclamation commits; their native branches require maintenance custody. Both readInputs calls therefore retain the same worker/maintenance ownership. |
src/config/sessions · src/config/sessions/session-accessor.sqlite-maintenance-transaction.ts |
0/0/0/2/0 | 165 | Only openclaw-agent-execution-maintenance.ts and runSessionMaintenanceMetadataInDatabase call this transaction. The former is registered solely in the execution worker; the latter is called only by the reclamation kernel, whose native branch requires an off-thread or schema/agent-maintenance owner. Its local run callback stays synchronous and never escapes: PostgreSQL invokes it directly; SQLite invokes it inside runWithSqliteBusyTimeout. |
src/config/sessions · src/config/sessions/session-accessor.sqlite-node-artifacts.ts |
25/0/0/0/0 | 143 | Collaboration clear runs only when entry-write.ts replaces a canonical sessionId. Those writes use reset/replacement/message-cut/fork/recovery workers or Doctor; native transcript/compaction compatibility preserves identity. Archive batching retains the same sessionId and cannot enter this branch. Catalog fallback additionally serves repair/copy/delete/fingerprint kernels already classified as maintenance; admitted schema facts bypass it for normal handles.; Copy callers are entry-store legacy alias rehome, Doctor canonical-key repair, Doctor-only canonical-repair aliases and legacy migration guarded by doctor-fix. Alias rehome uses worker/maintenance lifecycle or replacement commits. Node deletion is called only by entry deletion; delivery deletion additionally serves reclamation. These deletion roots are worker/maintenance kernels or cleanup-utils.ts offline reset. |
src/config/sessions · src/config/sessions/session-accessor.sqlite-owner.ts |
1/0/0/0/0 | 83 | Owner replacement serves worker/maintenance lifecycle and replacement commits, Doctor canonical/legacy repair, the offline team-shape-sessions fixture CLI, and assignSessionOwner. Only session-sharing-store.worker.ts calls assignSessionOwner in production; its accessor reexport adds no native SDK caller. |
src/config/sessions · src/config/sessions/session-accessor.sqlite-pending-inputs-repair.ts |
5/0/0/0/0 | 33 | Both copy helpers are called only by copySessionNodeArtifactsForRepair: worker/maintenance alias rehome, Doctor canonical repair and legacy migration guarded by doctor-fix. The cross-database completion lookup retains its narrower Doctor-only classification. |
src/config/sessions · src/config/sessions/session-accessor.sqlite-pending-inputs.ts |
1/0/0/0/0 | 741 | Only deleteSessionNodeArtifacts calls this deletion, from deleteSessionEntryRows. That entry-deletion owner runs in worker/maintenance lifecycle, reclamation, purge and finalization, or cleanup-utils.ts offline reset; it already has the same reviewed T3 classification. |
src/config/sessions · src/config/sessions/session-accessor.sqlite-projection.ts |
0/0/0/1/0 | 319 | Lifecycle mutation returns memory state first and dispatches ordinary main-thread durable planning/commit to workers. This private native commit is called only after that split: off thread, schema/agent-maintenance custody, or allowCanonicalRepair set only by doctor-session-canonical-keys.ts. Live deletion cleanup supplies workerAuthority and retains dispatch. |
src/config/sessions · src/config/sessions/session-accessor.sqlite-raw-delta-read.ts |
1/0/0/0/0 | 130 | The database wrapper is called by session-history-read-operation.worker.ts and the execution-worker rawDelta operation. The projection wrapper is called only by history-query within the transcript worker reader lifetime. The unused native facade has only internal reexports; SDK delta readers use the async reader owner. |
src/config/sessions · src/config/sessions/session-accessor.sqlite-reclamation.ts |
1/0/0/2/0 | 133 | The private row kernel is called only by reclaimSqliteSessionInTransaction. Its entrants are the archive mutation-worker runtime, session-native-binding.worker.ts and reclamation-run.ts, whose native branch requires off-thread or schema/agent-maintenance ownership; ordinary main-thread callers use worker dispatch. |
src/config/sessions · src/config/sessions/session-accessor.sqlite-references.ts |
1/0/0/0/0 | 287 | Moved unchanged from lifecycle-state.ts. Generation reads serve lifecycle planning, deletion planning, maintenance apply and Doctor canonical-repair aliases. Native lifecycle/reclamation/purge branches require worker or maintenance custody; deletion planning with expectedDatabaseIdentity is produced only by Doctor legacy repair. |
src/config/sessions · src/config/sessions/session-accessor.sqlite-replacement-projection.ts |
0/0/0/1/0 | 528 | Replacement returns memory state first. The commit callback reaches this transaction only when useWorker is false: creation always uses the worker, and ordinary main-thread durable replacement uses execution-worker commit. Native execution requires off-thread or schema/agent-maintenance custody; live deletion cleanup supplies workerAuthority. |
src/config/sessions · src/config/sessions/session-accessor.sqlite-replacement-read.ts |
1/0/0/0/0 | 36 | Label keys are read by the replacement snapshot helper in session-entry-read.worker.ts or the native replacement branch, and rechecked by replacement-state commit. The latter serves execution-worker commit or native replacement under worker/maintenance custody after the memory/worker split. |
src/config/sessions · src/config/sessions/session-accessor.sqlite-reset.ts |
3/0/0/0/1 | 49 | Only cleanup-utils.ts:620,628,641 reaches full-store reset from reset.ts:154 and onboard-helpers.ts:254, including CLI dev bootstrap; Gateway session reset is separate |
src/config/sessions · src/config/sessions/session-accessor.sqlite-transcript-anchor.ts |
0/2/0/0/0 | 46 | Current-turn, anchor, activity and entry-patch reads execute in workers. The native entry-patch branch requires !useWorker; execution-scope permits durable native work only under maintenance/cleanup custody. chat-send-active-leaf.ts calls the relation helper only for incognito, whose database opener rejects before SQLite. No SDK value export; the sibling anchor-facts query remains mixed.; Only the expectedAuthority SELECT is covered. model-context.ts:202 forwards it from anchor-read.kernel.ts:215; callers are entry-read, entry-cohort, hydration-read and history-read-operation workers, plus openclaw-agent-execution-operations.ts:185 registered in execution.worker.ts:454. Runtime anchor readers use owned cohorts or transcript-worker readAnchors. Released detached validators accept only version/admission, and withTranscriptContextSnapshot omits expectedAuthority; shared anchor helpers remain mixed. |
src/config/sessions · src/config/sessions/session-accessor.sqlite-transcript-message-rewrite.ts |
0/1/0/2/0 | 49 | The sole production value callers are session-message-rewrite.ts:160,193, each dominated by !isMainThread at :159,191. Main-thread callers take rewritePreparedTranscriptMessage at :176,208. Neither native helper has a plugin-SDK value export; the surrounding mixed module is not exempted. |
src/config/sessions · src/config/sessions/session-accessor.sqlite-transcript-state.ts |
2/0/0/0/0 | 616 | Full replacement only: manual/message-rewrite workers, maintenance-worker branching, internal correction behind !isMainThread, and Doctor header repair. The native manual-compaction adapter is deleted; released SDK append/suffix callbacks do not expose full replacement.; Only full transcript replacement passes no removed IDs, via workers, worker-guarded correction, or Doctor header repair after native manual compaction removal. The bounded suffix branch still serves released synchronous SessionManager.removeTrailingEntries and remains T1. |
src/config/sessions · src/config/sessions/session-accessor.sqlite-transcript-write.ts |
0/0/0/2/0 | 82 | Raw append's only production caller is session-transcript-event.ts:94 under !isMainThread; memory returns earlier and main-thread append dispatches to its worker. sqlite-runtime-testing.ts is a private first-party test helper excluded from the published package. Exact-row rewrite is called only by session-transcript-correction.ts:164 inside runNative, invoked solely under !isMainThread at :190. Internal re-exports are not runtime roots; snapshot/SDK siblings stay mixed. |
src/config/sessions · src/config/sessions/session-cold-storage-chunks.ts |
1/2/0/0/0 | 54 | Mechanically proven kernel: every value reference stays within reviewed worker or maintenance entries; no runtime, SDK, or unproven callback escape. |
src/config/sessions · src/config/sessions/session-cold-storage-navigation.ts |
1/0/0/0/0 | 89 | Only state-migrations.cold-navigation.ts calls backfill under Doctor maintenance custody and its per-archive transaction; the other caller is scripts/perf/session-cold-navigation.ts preparing explicitly selected synthetic state. Runtime cold archive publication calls retainSessionColdNavigationInTransaction from the archive mutation worker, not this backfill operation. |
src/config/sessions · src/config/sessions/session-cold-storage-prepare.ts |
1/3/0/0/6 | 52 | Mechanically proven kernel: every value reference stays within reviewed worker or maintenance entries; no runtime, SDK, or unproven callback escape. |
src/config/sessions · src/config/sessions/session-cold-storage-records.ts |
3/0/0/0/0 | 90 | Mechanically proven kernel: every value reference stays within reviewed worker or maintenance entries; no runtime, SDK, or unproven callback escape. |
src/config/sessions · src/config/sessions/session-creation-receipts.ts |
2/1/0/0/0 | 30 | Read only through session-entry-read.worker.ts. Commits run in session-reset.kernel.ts, replacement-state, and projection-state under their existing execution workers; native creation requires off-thread or schema/agent-maintenance custody (session-accessor.sqlite-creation.ts and openclaw-agent-execution-scope.ts). Memory creation returns before these kernels. |
src/config/sessions · src/config/sessions/session-history-eviction-candidates.ts |
1/0/0/0/0 | 184 | session-transcript.worker.ts reads historical IDs in the worker; session-history-eviction.ts calls the native reader only for reclamationMode=in-process, selected in production only by commands/sessions-cleanup.runtime.ts. |
src/config/sessions · src/config/sessions/session-transcript-context-versions.ts |
1/0/0/0/0 | 29 | Only maintenance-store calls the batch version reader, during worker preparation and captured apply or immediate inline maintenance. Native lifecycle/replacement/purge/reclamation commits require maintenance custody, matching maintenance-store readInputs ownership. |
src/config/sessions · src/config/sessions/session-transcript-index.ts |
2/0/0/0/0 | 725 | Only reconcile.ts:205,206,280 and projection-writer.ts:299,301 call these full scans, in no-execution/publication branches. Ordinary durable reconcile/search captures agent execution and uses projection-publication.worker.ts maintained status. Memory returns before SQL; execution-scope.ts:93-112 confines unsupported execution to explicit maintenance or worker-native deletion cleanup. Synchronous per-session rebuild uses separate helpers. |
src/config/sessions · src/config/sessions/session-transcript-projection-rebuild.ts |
6/1/0/0/0 | 269 | Prepared claim/delete/append/finalize are called only by projection-writer.ts:124,143,184,212 and projection-publication.worker.ts:118-128; snapshot/tail/insertion helpers are private descendants. reconcile.ts:175-192 supplies publication for ordinary durable execution. Memory returns first; execution-scope.ts:93-112 confines native branches to explicit maintenance or worker-native cleanup. The synchronous index.ts:497-531 rebuild uses visitSessionTranscriptProjection/readProjectionSource, not these operations. |
src/config/sessions · src/config/sessions/session-transcript-projection-writer.ts |
0/1/0/1/0 | 103 | runProjectionWrite is called only by this module's native claim/delete/append/finalize/status branches and reconcile.ts:201,277 without publication. Durable reconcile/search uses the publication worker; finalize's worker branch returns before its SELECT. Memory returns before SQL; execution-scope.ts:93-112 limits unsupported execution to maintenance or worker-native cleanup, whose sole host factory supplies workerAuthority in agent-lifecycle-registry.ts:436-439. |
src/config/sessions · src/config/sessions/session-transcript-reconcile-readiness.ts |
0/0/0/0/1 | 64 | Only reconcile.ts:557 calls this after waitForSessionTranscriptProjection's memory return and running-reconcile check. Supported durable execution dispatches via withSessionHistoryWorkerDatabase to session-transcript.worker.ts:460-470. Native reads require the maintenance/worker-native cleanup scopes in execution-scope.ts:93-112; failed execution capture or worker admission never falls back to native SQL. |
src/cron · src/cron/scratch-read.kernel.ts |
1/0/0/0/0 | 41 | Native maintenance reads: Doctor scratch migration, task scratch, and scratch preflight call readScratchStateFromDatabase, directly or through scratch-store.ts. |
src/cron · src/cron/scratch-write.kernel.ts |
2/0/0/0/0 | 86 | Doctor scratch migration calls writeCronJobScratchInDatabase inside its existing transaction; runtime writes enter through src/cron/store/scratch.worker.ts. Synchronous fixture maintenance lives in test/helpers/cron/scratch-store.ts. |
src/cron · src/cron/store.ts |
0/0/1/0/0 | 249 | Direct transaction uses Doctor legacy-repair.ts:395 hooks; ordinary load/save dispatch to workers; transitive current-authority SQL remains mixed |
src/cron · src/cron/store/quarantine.kernel.ts |
2/0/0/0/0 | 80 | Shared by worker operations and native Doctor store-repair transactions |
src/cron · src/cron/store/row-codec.ts |
9/2/0/0/0 | 231 | Cron worker kernels or Doctor legacy-repair.ts:395 transactionHooks / store-repair.ts:178 / doctor-heartbeat-task-migration.ts:261,308. Retained grant generations are read by worker upsert or resolveCronJobGrantDefinitionGenerationFloor for commands/doctor/cron/store-repair.ts only. |
src/cron · src/cron/store/runtime-authority-store.ts |
4/0/0/0/0 | 82 | load/save kernels run in Cron workers; native save hooks only in commands/doctor/cron/legacy-repair.ts:395 |
src/daemon · src/daemon/runtime-pin-state.ts |
1/0/0/0/0 | 175 | CLI service locks; CLI status and Doctor audits; no Gateway caller. |
src/daemon · src/daemon/runtime-pin-store.ts |
0/2/0/0/0 | 188 | CLI service owner / Doctor migration; no Gateway runtime. |
src/gateway/worker-environments · src/gateway/worker-environments/retained-owner-recovery.ts |
2/4/0/0/0 | 52 | Only database-restore-session-dependencies.ts invokes this offline repair under exclusive local-state custody and its synchronous shared-state transaction |
src/hooks · src/hooks/install-record-transaction.ts |
0/0/2/0/0 | 23 | CLI install/update only: cli/plugins-install-command.ts calls stageHookInstall; hooks/update.ts reaches it only through cli/plugins-update-command.ts. Rollback belongs to that same offline install transaction. |
src/infra · src/infra/backup-sqlite-snapshot.ts |
1/0/0/0/0 | 414 | commands/backup.ts:55 calls backup-create.ts:314; createVerifiedSqliteSnapshot invokes this transform against its temporary backup image, never the live credential store. Doctor/update backup and developer reliability callers share that offline snapshot owner. |
src/infra · src/infra/client-credential-legacy.ts |
2/0/0/0/0 | 31 | Only state-migrations.device-identity.ts and state-migrations.device-auth.ts call the consumed-claim importer under Doctor migration custody. |
src/infra · src/infra/client-credential-operations.ts |
12/5/0/0/0 | 54 | Only client-credential-store.ts dispatches these local operations. Runtime identity/token/socket callers use client-credential-async.ts and client-credential.worker.ts; native calls are offline Doctor/CLI identity, legacy exec-policy migration, or verified archive restore. |
src/infra · src/infra/client-credential-readiness.ts |
6/2/0/0/0 | 98 | Receipt admission runs in client-credential.worker.ts for runtime operations and in the offline local owner for Doctor/CLI. Other receipt writers are canonical/legacy credential migration and verified archive relocation; no Gateway main-thread runtime caller. |
src/infra · src/infra/package-update-activation-immutable.ts |
9/0/0/0/0 | 56 | Adoption/preparation writers are called only by update-command-immutable.ts through update-immutable-install.ts; Gateway inspection dispatches immutableInstall.read through the SQLite read-only worker |
src/infra · src/infra/package-update-activation-journal.ts |
6/0/0/0/0 | 138 | CLI admission/status: src/cli/update-cli/update-command-run.ts:208, status.ts:240. Guarded swap: update-command-package.ts:542,645 → src/infra/package-update-swap.ts:342,356 → package-update-activation-prepare.ts:189,298; standalone recovery package-update-activation-sealed.ts opens strict or settlement-only inspection through openJournal; both are cold CLI-only paths with unchanged SQL operations. |
src/infra · src/infra/package-update-activation-status.ts |
2/0/0/0/0 | 50 | CLI status src/cli/update-cli/status.ts:240 → src/infra/package-update-activation.ts:144; CLI preflight update-command-run.ts:208 → activation.ts:79,40. |
src/infra · src/infra/restart-handoff.ts |
1/0/1/0/0 | 395 | Only CLI gateway-cli/register-restart-handoff.ts:61 calls consumeGatewayRestartHandoffSync and its private removeCurrent helper. |
src/infra · src/infra/restart-intent.ts |
2/1/0/0/0 | 403 | Native service CLI intent recording and exact-owned cleanup: daemon-cli/lifecycle-restart-intent.ts, lifecycle-unmanaged.ts, daemon/launchd-stop.ts; runtime signal consumption uses restart-lifecycle.worker.ts. Gateway system-agent uses host.request, not daemon lifecycle. |
src/infra · src/infra/restart-sentinel-store.ts |
2/2/0/0/0 | 242 | src/infra/restart-sentinel.worker.ts:74,150 plus generated one-shot child in src/infra/update-managed-service-handoff.ts:101,439,1639,1649. |
src/infra · src/infra/state-migrations.daemon-runtime-pins.ts |
3/1/1/0/0 | 68 | Doctor config-machine-state / pin fence; exclusive migration lock. |
src/infra · src/infra/update-candidate-state.shared.ts |
1/0/0/0/0 | 42 | CLI backup src/cli/update-cli/update-command-database-backup.ts:104 → src/infra/update-database-backup.ts:387; baseline update-command-initialization-run.ts:224 → update-recovery-baseline-capture.ts:343; worker inventory modes update-candidate-state.worker.ts:49,68,73. |
src/infra · src/infra/update-managed-service-handoff-cancellation.ts |
1/0/0/0/0 | 265 | readCancelledUpdateFamily is called only by reclamation.ts prepareCancelledCustodyRepair, reached through the lease store's prepareRepair from the openclaw update repair CLI (update-repair-command.ts). |
src/infra · src/infra/update-managed-service-handoff-database-recovery.ts |
2/0/0/0/0 | 132 | Explicit update recover CLI -> recoverImmutableUpdate -> withImmutableUpdateOwner({ recover: true }) only; ordinary lease and Gateway readers never call this cold-journal admission |
src/infra · src/infra/update-managed-service-handoff-lease.ts |
1/0/0/0/0 | 270 | createLeaseStore.admit is called by original-acquisition.ts from update/repair/triage CLI and the generated lease-source helper; retarget runs in HANDOFF_SCRIPT. |
src/infra · src/infra/update-managed-service-handoff-reclamation.ts |
1/0/0/0/0 | 127 | observeManagedHandoffReclamation.readPairs is called only by lease.ts createLeaseStore admission in CLI/generated source helpers. |
src/infra · src/infra/update-run-admission.ts |
0/0/1/0/0 | 95 | createUpdateRun is the only caller: Gateway/update campaigns dispatch updateRuns.create to update-run-mutation.worker.ts; native create calls are CLI update-command-run.ts and update-repair-command.ts. The existing-schema and bootstrap transactions retain the worker's transaction/commit admission callback. |
src/infra · src/infra/update-run-ledger.ts |
2/3/0/0/0 | 145 | Gateway server-methods/update.ts and update-startup-auto-run.ts use createUpdateRunAsync; update-run-mutation.worker.ts executes creation. Remaining native callers are update-command-run.ts and update-repair-command.ts. Legacy supersession remains an explicit CLI-only option.; Only update-repair-command.ts calls reconcilePackageOwnerRefusal; update-command-mutable-signals.ts calls finishInterruptedUpdateBeforeActivation under its CLI executor. Their package/activation custody checks remain intact. |
src/infra · src/infra/update-run-read.kernel.ts |
1/2/0/0/0 | 61 | Runtime reads dispatch through update-run-reader.ts to openclaw-state-read.worker.ts; mutations read their current record in update-run-mutation.worker.ts, reconciliation and interruption workers. Native readers serve CLI update-command-* / update-repair-command.ts, Doctor admission, update-migrated-finalize.worker.ts and update-repair-turn-worker.ts. Gateway update/report/restart/notice and startup campaign callers use async APIs; generated managed-handoff ledger reads execute in the helper child. |
src/infra · src/infra/update-run-recovery-store.ts |
3/0/0/0/0 | 62 | Runtime mutation/reconciliation/interruption readers execute in existing workers. Native load/inspect recovery callers are update CLI repair, result, rollback and terminal owners plus CLI managed-handoff cleanup; no Gateway reader uses the synchronous recovery facade. Recovery exclusion is retained as activation/rollback custody, not removed as bookkeeping. Cohort runtime inspection uses inspectPluginCohortRecoveriesAsync through openclaw-state-read-handlers; metadata mutations read the pair inside their worker. Native pair reads serve admitted update/repair/config-capture owners; the synchronous mutation continuation is supplied only by CLI execution-guards with its actual executor fence. |
src/infra · src/infra/update-run-write.ts |
1/0/0/0/0 | 127 | Gateway update/run, boot observations, notices and startup campaigns use update-run-write.async.ts and the existing update-run-mutation.worker.ts writer. Remaining native mutateRun callers are CLI update-command-* and Doctor; update-migrated-finalize.worker.ts, reconciliation/interruption workers and the generated managed-handoff helper also own native transactions. No synchronous runtime fallback is retained. |
src/infra/outbound · src/infra/outbound/current-conversation-bindings.ts |
1/0/1/0/0 | 727 | Explicit testing SDK namespace only: session-binding-service.ts testing.resetSessionBindingAdaptersForTests calls this reset; its callers are tests and contracts/test-helpers/session-binding-registry-backed-contract.ts beforeEach. No production binding cleanup calls it. |
src/session-cards · src/session-cards/progress-card-store.ts |
0/1/0/0/0 | 48 | Durable single and batched resets run through the agent worker and clear the card in the reset transaction. Native lifecycle and canonical-repair callers require maintenance authority; incognito uses the memory actor. progress-card-store.worker.ts also invokes this clearer for conditional card writes. |
src/skills/library · src/skills/library/recovery.ts |
2/2/0/0/0 | 35 | Only database-restore-session-dependencies.ts invokes this repair under exclusive offline CLI custody; runtime skill mutations keep the library worker owner |
src/state · src/state/config-machine-state-write.ts |
1/1/1/0/0 | 109 | Native updates serve CLI hook install/update via hooks/install-record-transaction.ts, onboarding via commands/onboard-guided.ts, Doctor auth and retired/config-state migrations. Other updates execute in existing state, node-config, model-catalog, TUI, push-web, telemetry and promotions workers. Shared writeConfigMachineState/upsertConfigMachineState retain their native auth-profile callers. |
src/state · src/state/openclaw-agent-db-path-repair.ts |
4/0/0/0/0 | 39 | Only noteDoctorAgentDatabasePathHealth calls the repair, within its Doctor transaction. Entry: doctor:state-integrity run callback in src/flows/doctor-health-contributions-initial.ts. |
src/state · src/state/openclaw-agent-db-registry.ts |
1/0/1/0/0 | 194 | Plural unregister: CLI claw removal src/templates/lifecycle-delete-support.ts:519 → cli/templates-cli.runtime.ts:562; CLI agent deletion src/commands/agents.commands.delete.ts:450 → cli/program/register.agent.ts:183. |
src/state · src/state/openclaw-state-ownership-operations.ts |
1/0/1/0/0 | 85 | Only src/cli/program/register.database.ts:56 invokes claim; its private claimOwnershipRow calls remain within this CLI operation. |
src/state · src/state/openclaw-state-snapshot-sanitizer.ts |
2/0/0/0/0 | 52 | CLI SQLite/git backups: src/snapshot/local-repository.ts:148, git-backup.ts:310 → openclaw-snapshot-copy.ts:68; archive/Doctor backup via src/infra/backup-create.ts:320,332,352 → backup-sqlite-snapshot.ts:287; developer reliability scripts also use the provider. |
src/state · src/state/session-repository-workspaces.kernel.ts |
0/1/0/0/0 | 485 | Only retained-owner-recovery.ts invokes this operation from the offline database restore command; ordinary workspace operations remain worker-owned |
src/state · src/state/session-repository-workspaces.recovery.ts |
1/2/0/0/0 | 23 | Only database-restore-session-dependencies.ts invokes this repair inside its offline shared-state transaction; no Gateway callers |
src/state · src/state/user-channel-identities.ts |
4/3/0/0/0 | 109 | Gateway uses user-channel-identities.worker.ts and state-read; native resolver serves channel-operator-authority.ts CLI/updater capture via update-requester-authority.ts |
src/state · src/state/user-model-accounts.ts |
2/0/1/0/0 | 563 | Only src/commands/doctor-auth-flat-profiles.ts:1727 (Doctor alias migration), invoked by doctor/repair-sequencing.ts:189 and doctor/auth-profile-repair.ts:45. |
src/state · src/state/user-profile-events.ts |
1/0/0/0/0 | 227 | Native calls only user-profiles-owner-migration.ts:68 and user-profiles-tailscale-migration.ts:98 from src/commands/doctor/repair-sequencing.ts:353,354; remaining calls run in profile/preferences/channel-identity workers. |
src/state · src/state/user-profile-identity.read.ts |
1/0/0/0/0 | 185 | Mechanically proven kernel: every value reference stays within reviewed worker or maintenance entries; no runtime, SDK, or unproven callback escape. |
src/state · src/state/user-profiles-internal.ts |
2/0/0/0/0 | 137 | Mechanically proven kernel: every value reference stays within reviewed worker or maintenance entries; no runtime, SDK, or unproven callback escape.; Profile authority/snapshot reads and catalog publication run in profile/channel/enterprise workers. The native publication caller is user-profiles-owner-migration.ts repairMergedGatewayOwnerProfile via Doctor repair-sequencing.ts; preview-warnings.ts inspects without publishing. Shared selectResolvedUserProfile retains native SDK callers. |
src/state · src/state/user-profiles-owner-migration.ts |
3/0/1/0/0 | 46 | Doctor repair-sequencing.ts invokes merged-owner repair; preview-warnings.ts invokes the same entry with shouldRepair false. No Gateway caller. |
src/state · src/state/user-profiles-owner.ts |
1/0/0/0/0 | 16 | Native reader only user-profiles-owner-migration.ts:25,52 → src/commands/doctor/shared/preview-warnings.ts:683 and doctor/repair-sequencing.ts:354; other caller is user-profiles.worker.ts:78. |
src/state · src/state/user-profiles-tailscale-migration.ts |
3/1/1/0/0 | 37 | Only commands/doctor/repair-sequencing.ts invokes the legacy Tailscale identity repair. |
src/trajectory · src/trajectory/runtime-store.sqlite.ts |
1/1/0/0/1 | 262 | Native row reads are CLI-only: commands/sessions-tail.ts tail/follow. The other caller is session-history-read-operation.worker.ts. Trajectory export and the runtime-testing SDK use the async loader, not this native row reader. |
src/tui · src/tui/tui-last-session.kernel.ts |
1/0/0/0/0 | 48 | CLI/Doctor/developer one-shot; reclassify if called by Gateway |
W
| Owner / file | Calls (Q/F/S/A/R) | First line | Exposure evidence |
|---|---|---|---|
extensions/imessage · extensions/imessage/src/chat-db.worker.ts |
2/2/0/0/0 | 42 | Worker implementation; keep SQL in this owner |
extensions/knowledge · extensions/knowledge/src/identity-store.ts |
1/0/0/0/0 | 231 | Worker implementation; keep SQL in this owner |
extensions/knowledge · extensions/knowledge/src/recent-activity.ts |
2/0/0/0/0 | 114 | Worker implementation; keep SQL in this owner |
extensions/knowledge · extensions/knowledge/src/registry-schema.ts |
1/0/0/0/0 | 58 | Worker implementation; keep SQL in this owner |
extensions/knowledge · extensions/knowledge/src/retrieval.ts |
1/0/0/0/0 | 312 | Worker implementation; keep SQL in this owner |
extensions/knowledge · extensions/knowledge/src/storage-base.ts |
3/1/0/0/0 | 117 | Worker implementation; keep SQL in this owner |
extensions/knowledge · extensions/knowledge/src/storage-journal.ts |
2/0/0/0/0 | 229 | Worker implementation; keep SQL in this owner |
extensions/knowledge · extensions/knowledge/src/storage-schema.ts |
1/1/0/0/0 | 29 | Worker implementation; keep SQL in this owner |
extensions/knowledge · extensions/knowledge/src/store-registry.ts |
1/0/0/0/0 | 169 | Worker implementation; keep SQL in this owner |
extensions/logbook · extensions/logbook/src/store.worker.ts |
11/7/0/0/0 | 276 | Worker implementation; keep SQL in this owner |
extensions/memory-core · extensions/memory-core/src/memory-entry-origin-reads.ts |
0/0/0/0/1 | 42 | Worker implementation; keep SQL in this owner |
extensions/memory-core · extensions/memory-core/src/memory-entry-origins-delete.ts |
1/0/0/0/0 | 39 | Worker implementation; keep SQL in this owner |
extensions/memory-core · extensions/memory-core/src/memory-entry-origins.worker.ts |
1/0/0/0/0 | 117 | Worker implementation; keep SQL in this owner |
extensions/memory-core · extensions/memory-core/src/memory-forget-index-read.ts |
6/0/0/0/0 | 41 | Worker implementation; keep SQL in this owner |
extensions/memory-core · extensions/memory-core/src/memory-forget-kernel.ts |
4/0/0/0/0 | 65 | Worker implementation; keep SQL in this owner |
extensions/memory-core · extensions/memory-core/src/memory-index-revision.worker.ts |
1/0/0/0/0 | 9 | Worker implementation; keep SQL in this owner |
extensions/memory-core · extensions/memory-core/src/memory-session-tombstones.ts |
2/0/0/0/0 | 28 | memory-entry-origins.worker.ts -> memory-forget-kernel.ts owns tombstone writes; origin reads and publication workers consume live tombstones. Direct source/cache publication checks the live owner, while private shadow cutover rejects a changed published revision; no per-session shadow preflight remains. |
extensions/memory-core · extensions/memory-core/src/memory/manager-chunk-writer.ts |
3/0/0/0/0 | 74 | Worker implementation; keep SQL in this owner |
extensions/memory-core · extensions/memory-core/src/memory/manager-embedding-cache.ts |
8/0/0/0/0 | 114 | Worker implementation; keep SQL in this owner |
extensions/memory-core · extensions/memory-core/src/memory/manager-index-metadata.ts |
2/0/0/0/0 | 15 | Worker implementation; keep SQL in this owner |
extensions/memory-core · extensions/memory-core/src/memory/manager-publication-postgres.ts |
1/0/0/0/0 | 313 | Worker implementation; keep SQL in this owner |
extensions/memory-core · extensions/memory-core/src/memory/manager-rebuild-embeddings.ts |
0/1/0/0/0 | 64 | Worker implementation; keep SQL in this owner |
extensions/memory-core · extensions/memory-core/src/memory/manager-retrieval-read.ts |
0/1/0/0/0 | 55 | Worker implementation; keep SQL in this owner |
extensions/memory-core · extensions/memory-core/src/memory/manager-search-postgres.ts |
3/0/0/0/0 | 217 | Worker implementation; keep SQL in this owner |
extensions/memory-core · extensions/memory-core/src/memory/manager-search.ts |
3/0/0/0/0 | 396 | Worker implementation; keep SQL in this owner |
extensions/memory-core · extensions/memory-core/src/memory/manager-search.worker.ts |
1/0/0/0/2 | 148 | Worker implementation; keep SQL in this owner |
extensions/memory-core · extensions/memory-core/src/memory/manager-source-index-kernel.ts |
7/2/0/0/0 | 104 | Worker implementation; keep SQL in this owner |
extensions/memory-core · extensions/memory-core/src/memory/manager-source-state.ts |
2/0/0/0/0 | 113 | manager-publication.worker.ts source.state and manager-search.worker.ts source-state/recall-metadata are the only runtime callers. Source synchronization and inspection await MemoryIndexDatabase.readSourceState; the kernel remains directly callable only by isolated tests. |
extensions/memory-core · extensions/memory-core/src/standing-intents-kernel.ts |
8/2/0/0/0 | 64 | Worker implementation; keep SQL in this owner |
extensions/qa-lab · extensions/qa-lab/src/execution-identity-storage-inspection.worker.ts |
1/2/0/0/0 | 59 | Worker implementation; keep SQL in this owner |
extensions/team-reports · extensions/team-reports/src/store-database.ts |
1/1/0/0/0 | 114 | Worker implementation; keep SQL in this owner |
extensions/team-reports · extensions/team-reports/src/store.worker.ts |
16/4/0/0/0 | 118 | Worker implementation; keep SQL in this owner |
extensions/workboard · extensions/workboard/src/sqlite-store-kernel.ts |
1/7/0/0/0 | 82 | Worker implementation; keep SQL in this owner |
extensions/workboard · extensions/workboard/src/sqlite-store-sessions-board.ts |
5/0/0/0/0 | 67 | Worker implementation; keep SQL in this owner |
extensions/workboard · extensions/workboard/src/sqlite-store-write.ts |
0/1/0/0/0 | 122 | Worker implementation; keep SQL in this owner |
packages/memory-host-sdk · packages/memory-host-sdk/src/host/memory-recall-metadata.ts |
2/0/0/0/0 | 101 | extensions/memory-core/src/memory/manager-search.worker.ts owns curated and recall-metadata reads, including fused session-only keyword requests. The private-local-only memory-core-host-engine-storage facade only re-exports kernels; no host runtime reader remains. |
packages/memory-host-sdk · packages/memory-host-sdk/src/memory-entry-origins.ts |
1/0/0/0/0 | 69 | Worker implementation; keep SQL in this owner |
src/acp · src/acp/event-ledger.worker.ts |
2/0/0/0/0 | 476 | Worker implementation; keep SQL in this owner |
src/acp · src/acp/runtime/session-meta-entry.worker.ts |
0/0/0/1/0 | 26 | Worker implementation; keep SQL in this owner |
src/acp · src/acp/runtime/session-meta-keys.ts |
2/0/0/0/0 | 118 | session-meta-list.ts submits acpSessions.list to the shared read worker. Batched exact-key reads are called only by session-meta-read.worker.ts; ordinary bundled entry readers await that worker and the deprecated synchronous SDK reader uses its separate single-row operation. |
src/acp · src/acp/runtime/session-meta-read.worker.ts |
2/0/0/0/0 | 43 | Worker implementation; keep SQL in this owner |
src/agents · src/agents/bash-durable-process-store.ts |
2/0/0/0/0 | 52 | Only openclaw-state-worker-registry.ts loads durableProcessOperations for durableProcess.write (writeDurableProcess), and openclaw-state-read-operation-registry.ts loads durableProcessReadOperations for durableProcess.list (listDurableProcesses). The main-thread createDurableProcessStore facade only awaits those worker operations; the native store fixture forbids host SQL during its warm read/write flow. |
src/agents · src/agents/mcp-oauth-store.kernel.ts |
3/2/0/0/0 | 220 | Worker implementation; keep SQL in this owner |
src/agents · src/agents/mcp-oauth-store.worker.ts |
5/0/2/0/0 | 61 | Worker implementation; keep SQL in this owner |
src/agents · src/agents/plugin-model-catalog-read.worker.ts |
1/0/0/0/0 | 81 | Worker implementation; keep SQL in this owner |
src/agents · src/agents/plugin-model-catalog.worker.ts |
5/0/0/0/0 | 60 | Worker implementation; keep SQL in this owner |
src/agents · src/agents/workspace-state-store.kernel.ts |
8/0/0/0/0 | 369 | workspace.replaceAttestation, workspace.expire and workspace.delete dispatch in the shared-state worker; shared snapshot/alias helpers retain Doctor/migration exposure |
src/agents · src/agents/workspace-state-store.worker.ts |
2/1/0/0/0 | 49 | Worker implementation; keep SQL in this owner |
src/agents/auth-profiles · src/agents/auth-profiles/shared-store-bootstrap.worker.ts |
0/1/1/0/0 | 41 | Worker implementation; keep SQL in this owner |
src/agents/auth-profiles · src/agents/auth-profiles/sqlite-json.ts |
2/0/0/0/0 | 122 | Auth-profile inspection workers and the shared/agent usage workers call these paired readers; synchronous SDK cell readers remain T1. |
src/agents/auth-profiles · src/agents/auth-profiles/store.worker.ts |
0/0/3/0/0 | 109 | Worker implementation; keep SQL in this owner |
src/agents/harness · src/agents/harness/context-engine-turn-outbox.kernel.worker.ts |
7/3/0/0/0 | 81 | Worker implementation; keep SQL in this owner |
src/agents/harness · src/agents/harness/native-hook-relay-store.kernel.ts |
5/0/0/0/0 | 58 | Worker implementation; keep SQL in this owner |
src/agents/harness · src/agents/harness/native-hook-relay-store.worker.ts |
0/0/1/0/0 | 16 | Worker implementation; keep SQL in this owner |
src/agents/sandbox · src/agents/sandbox/persistent-exec-store.kernel.ts |
4/0/0/0/0 | 188 | Worker implementation; keep SQL in this owner |
src/agents/sandbox · src/agents/sandbox/registry-import.worker.ts |
0/0/1/0/0 | 16 | Worker implementation; keep SQL in this owner |
src/agents/sandbox · src/agents/sandbox/registry.kernel.ts |
5/0/0/0/0 | 128 | Registry mutations, including reservation and removal-intent selection, run only through sandboxRegistryOperations in registry-write.worker.ts; insertIfMissing delegates to registry-import.worker.ts. Read helpers run through openclaw-state-read-handlers.ts in the read worker. Synchronous sandbox effect checks consume registry-currentness.ts facts maintained by committed receipts. |
src/agents/sessions · src/agents/sessions/session-manager-maintenance.worker.ts |
0/0/0/1/0 | 43 | Worker implementation; keep SQL in this owner |
src/agents/sessions · src/agents/sessions/session-manager-metadata.worker.ts |
0/0/0/2/0 | 209 | Worker implementation; keep SQL in this owner |
src/agents/subagents · src/agents/subagents/completion/subagent-completion-admission.worker.ts |
1/0/1/0/0 | 57 | Worker implementation; keep SQL in this owner |
src/agents/subagents · src/agents/subagents/registry/subagent-registry.store.kernel.ts |
2/0/0/0/0 | 36 | Registry persistence and completion admission workers invoke the batch write kernel after the host FIFO owner plans from committed receipts. Completion mutation writes are reached only through the admission worker; no native writer caller remains. |
src/agents/subagents · src/agents/subagents/registry/subagent-registry.store.sqlite.ts |
5/0/0/0/0 | 37 | Exact rows serve completion admission workers. Session-list and child reads serve openclaw-state-read.worker.ts. Registry rows serve store.worker.ts maintenance/versioned/session reads or completion-mutation.kernel.ts through completion-admission.worker.ts. Descendant selection is called only by store.worker.ts; the native digest comparison has been removed. |
src/agents/worktrees · src/agents/worktrees/capacity.worker.ts |
4/0/1/0/0 | 90 | Worker implementation; keep SQL in this owner |
src/agents/worktrees · src/agents/worktrees/pending-slots.worker.ts |
5/0/0/0/0 | 29 | Worker implementation; keep SQL in this owner |
src/agents/worktrees · src/agents/worktrees/provisioned-snapshot.worker.ts |
2/0/0/0/0 | 14 | Worker implementation; keep SQL in this owner |
src/agents/worktrees · src/agents/worktrees/registry-read.kernel.ts |
8/0/0/0/0 | 140 | Runtime reads and exact-row predicates use worktrees/dispatch.worker.ts and registry-run-end.worker.ts through the shared-state worker registry. Cleanup inventory uses openclaw-state-read-handlers.ts in the read worker. Live-path discovery is private to worktreeReadOperations, loaded by openclaw-state-read-operation-registry.ts and executed by openclaw-state-read.worker.ts. Native fixture readers live only in registry.test-support.ts; Doctor migration lists keep their separate registry.ts queries. |
src/agents/worktrees · src/agents/worktrees/registry-retirement.worker.ts |
2/0/2/0/0 | 33 | Worker implementation; keep SQL in this owner |
src/agents/worktrees · src/agents/worktrees/registry-run-end.worker.ts |
11/0/1/0/0 | 85 | Worker implementation; keep SQL in this owner |
src/agents/worktrees · src/agents/worktrees/run-lease-owner.ts |
2/0/0/0/0 | 104 | Run-lease inventory is dispatched by openclaw-state-read-handlers.ts in the read worker. Registry mutation custody is called only by registry-run-end.worker.ts. The actual lease read/reap primitives remain synchronous exemptions. |
src/agents/worktrees · src/agents/worktrees/run-lease-store.kernel.ts |
2/0/0/0/0 | 32 | worktrees/dispatch.worker.ts owns run admission. Persistent execution reaches the shared worktree check only through local-workspace-store.kernel.ts and stream-source-admission.ts from persistent-exec-store.worker.ts. Native exit cleanup calls only releaseWorktreeRunLeaseInDatabase and remains a separate lock primitive. |
src/agents/worktrees · src/agents/worktrees/template-registry.worker.ts |
12/0/1/0/0 | 63 | Worker implementation; keep SQL in this owner |
src/audit · src/audit/audit-event-read.kernel.ts |
1/0/0/0/0 | 54 | Worker implementation; keep SQL in this owner |
src/audit · src/audit/audit-event-store.ts |
2/2/5/0/0 | 119 | Worker implementation; keep SQL in this owner |
src/audit · src/audit/audit-event-writer.worker.ts |
0/0/1/0/0 | 129 | Worker implementation; keep SQL in this owner |
src/audit · src/audit/audit-identity.ts |
1/3/0/0/0 | 76 | Worker implementation; keep SQL in this owner |
src/audit · src/audit/execution-decision-facts.ts |
4/4/2/0/0 | 152 | Worker implementation; keep SQL in this owner |
src/audit · src/audit/execution-identity-context.ts |
5/3/2/0/0 | 123 | Worker implementation; keep SQL in this owner |
src/audit · src/audit/execution-owner-lifecycle-binding-store.ts |
2/1/0/0/0 | 42 | Worker implementation; keep SQL in this owner |
src/audit · src/audit/execution-owner-lifecycle-receipts.ts |
1/3/0/0/0 | 58 | Worker implementation; keep SQL in this owner |
src/audit · src/audit/message-delivery-audit-store.ts |
1/2/0/0/0 | 123 | Worker implementation; keep SQL in this owner |
src/audit · src/audit/message-delivery-progress-store.ts |
3/5/3/0/0 | 72 | Worker implementation; keep SQL in this owner |
src/audit · src/audit/message-execution-binding.ts |
1/1/1/0/0 | 78 | Worker implementation; keep SQL in this owner |
src/boards · src/boards/sqlite-board-store.kernel.ts |
7/0/0/0/0 | 133 | Worker implementation; keep SQL in this owner |
src/channels · src/channels/message/ingress-queue-health.kernel.ts |
2/0/0/0/0 | 17 | Worker implementation; keep SQL in this owner |
src/channels · src/channels/message/ingress-queue.kernel.ts |
14/5/0/0/0 | 43 | Worker implementation; keep SQL in this owner |
src/channels · src/channels/message/ingress-queue.worker.ts |
0/0/1/0/0 | 48 | Worker implementation; keep SQL in this owner |
src/config · src/config/config-journal-snapshot.worker.ts |
0/0/2/0/0 | 20 | Worker implementation; keep SQL in this owner |
src/config · src/config/io.health-state.kernel.ts |
1/0/0/0/0 | 173 | Only configSnapshotOperations[config.health.patch] in config-journal-snapshot.worker.ts calls this conditional patch through the shared-state worker. Native config compatibility reads and writes remain T1. |
src/config/sessions · src/config/sessions/cleanup-service-read.worker.ts |
0/0/0/0/1 | 13 | Worker implementation; keep SQL in this owner |
src/config/sessions · src/config/sessions/conversation-binding-facts.worker.ts |
1/0/0/0/0 | 18 | Worker implementation; keep SQL in this owner |
src/config/sessions · src/config/sessions/conversation-delivery-store.kernel.ts |
3/0/0/0/0 | 151 | Worker implementation; keep SQL in this owner |
src/config/sessions · src/config/sessions/legacy-main-session-ledger.read.worker.ts |
0/1/0/0/0 | 8 | Worker implementation; keep SQL in this owner |
src/config/sessions · src/config/sessions/provider-review-store.worker.ts |
0/0/0/1/0 | 24 | Worker implementation; keep SQL in this owner |
src/config/sessions · src/config/sessions/session-accessor.sqlite-archive-read.ts |
1/3/0/0/1 | 114 | Only session-transcript.worker.ts:230 (presence) and session-accessor.sqlite-archive.worker.ts:483,491 (page/final) call these readers; shared archive listing remains T1. |
src/config/sessions · src/config/sessions/session-accessor.sqlite-archive-selection.ts |
0/1/0/0/0 | 192 | Worker implementation; keep SQL in this owner |
src/config/sessions · src/config/sessions/session-accessor.sqlite-archive-store-kernel.ts |
0/1/0/0/0 | 88 | Direct callers are session-entry-read.worker.ts, session-lifecycle-projection.worker.ts and session-transcript.worker.ts. replacement-state.ts calls only when checkPendingArchiveRecovery is true; only sqlite-creation.ts sets that flag, and its creation replacement always selects the worker in replacement-projection.ts. |
src/config/sessions · src/config/sessions/session-accessor.sqlite-archive.worker.ts |
1/0/0/0/0 | 326 | Worker implementation; keep SQL in this owner |
src/config/sessions · src/config/sessions/session-accessor.sqlite-closed-reset-interval.ts |
0/2/0/0/0 | 35 | Closed intervals are called only by history-interval's worker-owned ID/anchor readers. |
src/config/sessions · src/config/sessions/session-accessor.sqlite-compaction.ts |
0/0/0/1/0 | 72 | Worker implementation; keep SQL in this owner |
src/config/sessions · src/config/sessions/session-accessor.sqlite-entry-facts.worker.ts |
1/0/0/0/0 | 91 | Worker implementation; keep SQL in this owner |
src/config/sessions · src/config/sessions/session-accessor.sqlite-entry-identity.ts |
0/1/0/0/0 | 12 | Worker implementation; keep SQL in this owner |
src/config/sessions · src/config/sessions/session-accessor.sqlite-entry-list.read.ts |
1/0/0/0/0 | 185 | Only session-entry-read-runtime.ts:458,488 produces cronRetention/expiredCronRuns through withSessionStoreReaderInWorker; session-entry-read.worker.ts:166 calls listSessionEntriesReadOnly. Other native list callers omit both selectors; only the rows initializer is worker-only. |
src/config/sessions · src/config/sessions/session-accessor.sqlite-entry-read.ts |
1/0/0/0/0 | 305 | Only session-entry-read.worker.ts invokes the child-entry reader. Other readers in this module retain native SDK and maintenance callers. |
src/config/sessions · src/config/sessions/session-accessor.sqlite-entry-replace.ts |
0/0/0/1/0 | 13 | The only production caller is applyPreparedTranscriptCommit in gateway/worker-environments/transcript-commit.kernel.ts, invoked by transcript-commit.worker.ts. Other callers are fixtures; the remaining entry operations retain their own classifications. |
src/config/sessions · src/config/sessions/session-accessor.sqlite-history-interval.ts |
2/4/0/0/0 | 165 | Only history-query's ID/lookup/anchor readers execute this SQL: session-transcript.worker.ts owns the readonly history reader; session-history-read-operation.worker.ts owns the prepared anchor-message callback. Native catalog title calls only the page reader; other imports use pure expression/parser helpers. |
src/config/sessions · src/config/sessions/session-accessor.sqlite-history-projection.ts |
0/1/0/0/0 | 416 | Source pages run in session-history-worker-reader.ts under session-transcript.worker.ts. The other caller, resolveHistoryReadWindowChange, returns before this read without an expected anchor; deprecated catalog title's only native page calls supply no expectedReadWindow. |
src/config/sessions · src/config/sessions/session-accessor.sqlite-history-projection.worker.ts |
1/0/0/0/0 | 53 | Worker implementation; keep SQL in this owner |
src/config/sessions · src/config/sessions/session-accessor.sqlite-involvement.worker.ts |
0/0/0/1/0 | 32 | Worker implementation; keep SQL in this owner |
src/config/sessions · src/config/sessions/session-accessor.sqlite-maintenance-store.ts |
1/0/0/0/0 | 54 | Only openclaw-agent-execution-operations.ts handles session.maintenance.size and session-accessor.sqlite-archive.worker.ts handles maintenance-size with this reader. Other maintenance preparation operations remain mixed. |
src/config/sessions · src/config/sessions/session-accessor.sqlite-mutation-worker.runtime.ts |
0/0/0/1/0 | 384 | Worker implementation; keep SQL in this owner |
src/config/sessions · src/config/sessions/session-accessor.sqlite-owner.ts |
0/0/0/1/0 | 137 | Only session-sharing-store.worker.ts executes assignSessionOwner under owner.assign; session-metadata-write.async.ts dispatches through runSessionCollaborationWrite. The accessor reexport serves fixtures. Owner replacement has a separate worker/maintenance classification. |
src/config/sessions · src/config/sessions/session-accessor.sqlite-participants.native.ts |
2/1/0/1/0 | 103 | Worker implementation; keep SQL in this owner |
src/config/sessions · src/config/sessions/session-accessor.sqlite-pending-input-receipts.ts |
1/0/0/0/1 | 37 | Only session-history-read-operation.worker.ts invokes this receipt reader for session-pending-input-receipts. The host receipt facade and worker contracts import its type only. |
src/config/sessions · src/config/sessions/session-accessor.sqlite-read.ts |
0/0/0/0/2 | 222 | Transcript hydration, memory-entry export, and reset-recall dispatch run in transcript workers. Main-thread buildSessionEntry supplies a worker snapshot for SQLite; its in-process branch has no SQLite identity. Actor projection also receives a supplied snapshot. Other readers retain native SDK callers.; Only captureAuthoritativeMemoryEvents supplies readOnly: true, through readSessionMemoryCapture dispatched by session-history-read-operation.worker.ts or openclaw-agent-execution-operations.ts. Native SessionManager open/reload, loadTranscriptEventsSync, and transcript-commit.kernel.ts omit this option and return before this opener; their shared SQL remains T1. |
src/config/sessions · src/config/sessions/session-accessor.sqlite-reset-window.ts |
0/3/0/0/0 | 560 | Unindexed-message probing is called only by history-query's lookup reader, constructed by the readonly history reader inside session-transcript.worker.ts.; Only the bounded-tail projection's oversizedMessageCheck branch calls this query. Projection consumers run in workers; its native facade is used only by the title worker and Doctor title repair, neither of which supplies oversizedMessageCheck.; Only session-actor-context-stats.worker.ts and session-transcript-accounting.ts call this reader; accounting's sole production caller is the readonly history reader inside session-transcript.worker.ts. |
src/config/sessions · src/config/sessions/session-accessor.sqlite-summary.ts |
1/0/0/0/1 | 57 | Worker implementation; keep SQL in this owner |
src/config/sessions · src/config/sessions/session-accessor.sqlite-transcript-binding.ts |
0/1/0/0/0 | 15 | Worker implementation; keep SQL in this owner |
src/config/sessions · src/config/sessions/session-accessor.sqlite-transcript-incremental-read.ts |
1/0/0/0/0 | 24 | Worker implementation; keep SQL in this owner |
src/config/sessions · src/config/sessions/session-accessor.sqlite-transcript-metadata-read.ts |
0/1/0/0/0 | 34 | Only session-transcript-anchor-read.kernel.ts and session-history-read-operation.worker.ts call this query. The anchor kernel is reached by entry-read, entry-cohort, hydration-read and history-read-operation workers, plus openclaw-agent-execution-operations.ts registered in execution.worker.ts. The sibling header query retains its synchronous SDK callers. |
src/config/sessions · src/config/sessions/session-accessor.sqlite-transcript-reports.worker.ts |
0/0/0/1/0 | 127 | Worker implementation; keep SQL in this owner |
src/config/sessions · src/config/sessions/session-accessor.sqlite-transcript-state.ts |
1/0/0/0/0 | 532 | Only the actor-window UPDATE is covered. readSessionActorTransactionState returns facts installed by withSessionActorTransactionState, whose only production caller is session-actor.worker.ts. The unbound RETURNING update remains mixed; the raw migration update retains its separate exception. |
src/config/sessions · src/config/sessions/session-accessor.sqlite-transcript-store.ts |
1/0/0/0/0 | 481 | Full replacement runs only inside worker write transactions: session-manual-compact.worker.ts:59, session-message-rewrite.worker.ts:371, session-manager-maintenance.worker.ts:46 through session-accessor.sqlite-transcript-write.ts:131, and runNativeTranscriptWriteLock.replaceEvents (reviewed W); doctor-session-transcript-headers.ts:195 is a Doctor one-shot. Append and other operations in this mixed module stay T1. |
src/config/sessions · src/config/sessions/session-accessor.sqlite-transcript-write.ts |
0/0/0/1/0 | 270 | The full replacement method is consumed only by session-transcript-correction.ts runNative, invoked under !isMainThread. Public transcript and Codex mirror SDK callbacks receive projected contexts without replaceEvents; their append/read methods remain mixed. Internal accessor barrels and the private SDK context projector are not public entry points. |
src/config/sessions · src/config/sessions/session-accessor.sqlite-worktree-owner.ts |
1/0/0/0/0 | 52 | Worker implementation; keep SQL in this owner |
src/config/sessions · src/config/sessions/session-accessor.transcript-range.worker.ts |
1/5/0/0/0 | 122 | Worker implementation; keep SQL in this owner |
src/config/sessions · src/config/sessions/session-actor-hydration.worker.ts |
1/0/0/0/0 | 80 | Worker implementation; keep SQL in this owner |
src/config/sessions · src/config/sessions/session-canonical-validation.ts |
5/1/0/0/0 | 41 | Only session-accessor.sqlite-mutation-worker.runtime.ts calls these operations in the mutation-worker message handler. Startup and Doctor readiness trust the canonical-validation receipt instead of probing pending rows. |
src/config/sessions · src/config/sessions/session-cold-storage-backup.worker.ts |
2/4/0/0/0 | 25 | Only session-accessor.sqlite-archive.worker.ts cold-embed-snapshot dispatch and snapshot/database-backup-core.worker.ts PostgreSQL export call this kernel. The host facade awaits the existing archive worker, including the public SDK deleteSessionEntry backupDir path; SQL targets the retained private snapshot. |
src/config/sessions · src/config/sessions/session-cold-storage-inventory.ts |
0/2/0/0/0 | 14 | Worker implementation; keep SQL in this owner |
src/config/sessions · src/config/sessions/session-cold-storage-navigation.ts |
1/0/0/0/0 | 41 | Mechanically proven kernel: every value reference stays within reviewed worker or maintenance entries; no runtime, SDK, or unproven callback escape. |
src/config/sessions · src/config/sessions/session-cold-storage-read.worker.ts |
0/0/0/0/2 | 32 | Worker implementation; keep SQL in this owner |
src/config/sessions · src/config/sessions/session-cold-storage-selection.ts |
2/0/0/0/1 | 22 | Worker implementation; keep SQL in this owner |
src/config/sessions · src/config/sessions/session-cold-storage-worker.ts |
7/1/0/1/2 | 96 | Worker implementation; keep SQL in this owner |
src/config/sessions · src/config/sessions/session-entry-cohort.worker.ts |
1/0/0/0/1 | 43 | Worker implementation; keep SQL in this owner |
src/config/sessions · src/config/sessions/session-entry-current-admission.worker.ts |
0/0/0/0/2 | 194 | Worker implementation; keep SQL in this owner |
src/config/sessions · src/config/sessions/session-entry-list.worker.ts |
1/0/0/0/1 | 44 | Worker implementation; keep SQL in this owner |
src/config/sessions · src/config/sessions/session-entry-patch.worker.ts |
0/0/0/1/0 | 114 | Worker implementation; keep SQL in this owner |
src/config/sessions · src/config/sessions/session-entry-read.worker.ts |
1/0/0/0/2 | 94 | Worker implementation; keep SQL in this owner |
src/config/sessions · src/config/sessions/session-group-categories.read.ts |
1/0/0/0/0 | 13 | Worker implementation; keep SQL in this owner |
src/config/sessions · src/config/sessions/session-history-archive-pruning.worker.ts |
4/0/0/3/1 | 39 | Worker implementation; keep SQL in this owner |
src/config/sessions · src/config/sessions/session-history-eviction-candidates.ts |
1/0/0/0/0 | 55 | Only session-transcript.worker.ts reads archived eviction batches after the incognito disk path was removed. Native historical-ID reads are CLI cleanup; admission-reference readers retain separate classifications. |
src/config/sessions · src/config/sessions/session-history-read-operation.worker.ts |
0/0/0/0/2 | 214 | Worker implementation; keep SQL in this owner |
src/config/sessions · src/config/sessions/session-membership-facts.ts |
2/0/0/0/0 | 65 | Worker implementation; keep SQL in this owner |
src/config/sessions · src/config/sessions/session-memory-entry.worker.ts |
0/0/0/0/2 | 74 | Worker implementation; keep SQL in this owner |
src/config/sessions · src/config/sessions/session-message-rewrite.worker.ts |
0/1/0/0/0 | 589 | Worker implementation; keep SQL in this owner |
src/config/sessions · src/config/sessions/session-participant-contribution.worker.ts |
1/0/0/0/0 | 116 | Worker implementation; keep SQL in this owner |
src/config/sessions · src/config/sessions/session-pending-input-history-read.worker.ts |
0/0/0/0/1 | 12 | Worker implementation; keep SQL in this owner |
src/config/sessions · src/config/sessions/session-pending-input-history.kernel.ts |
1/1/0/0/0 | 69 | Worker implementation; keep SQL in this owner |
src/config/sessions · src/config/sessions/session-pending-input-operations.kernel.ts |
1/2/0/0/0 | 184 | Stage SQL executes only through session.pendingInputs.mutate in openclaw-agent-execution.worker.ts or session-actor-phase.worker.ts. The host nativeMutation adapter accepts only complete, so this guard excludes native completion and its shared helpers.; The result initializer is the finish-only update reached through session.pendingInputs.mutate or session-actor-phase.worker.ts. Native complete calls writeSessionInputCompletion instead; the shared operation remains mixed. |
src/config/sessions · src/config/sessions/session-pending-input-source.kernel.ts |
0/5/0/0/0 | 23 | Only session-history-read-operation.worker.ts handles session-pending-input-source, or readPendingInput reaches this reader through session.pendingInputs.read in openclaw-agent-execution.worker.ts. The host native adapter invokes only completion. |
src/config/sessions · src/config/sessions/session-pending-input-withdrawal.worker.ts |
4/1/0/1/1 | 29 | Worker implementation; keep SQL in this owner |
src/config/sessions · src/config/sessions/session-reaction-store.kernel.ts |
2/2/0/0/0 | 27 | Only the agent execution worker reaction registry invokes this SQL kernel. The host imports its error classes; incognito mutations run through the memory actor. |
src/config/sessions · src/config/sessions/session-reaction-store.read.ts |
1/0/0/0/0 | 54 | Worker implementation; keep SQL in this owner |
src/config/sessions · src/config/sessions/session-retirement-read.worker.ts |
1/0/0/0/1 | 16 | Worker implementation; keep SQL in this owner |
src/config/sessions · src/config/sessions/session-runtime-target-read.worker.ts |
0/0/0/0/1 | 19 | Worker implementation; keep SQL in this owner |
src/config/sessions · src/config/sessions/session-sharing-store.native.ts |
1/1/0/2/0 | 91 | Worker implementation; keep SQL in this owner |
src/config/sessions · src/config/sessions/session-suggestion-store.kernel.ts |
6/2/0/0/0 | 85 | Worker implementation; keep SQL in this owner |
src/config/sessions · src/config/sessions/session-transcript-hydration-read.worker.ts |
0/0/0/0/1 | 39 | Worker implementation; keep SQL in this owner |
src/config/sessions · src/config/sessions/session-transcript-hydration.worker.ts |
1/0/0/0/0 | 197 | Worker implementation; keep SQL in this owner |
src/config/sessions · src/config/sessions/session-transcript-index-status.worker.ts |
9/2/0/0/0 | 170 | Worker implementation; keep SQL in this owner |
src/config/sessions · src/config/sessions/session-transcript-projection-publication.worker.ts |
0/1/0/0/0 | 141 | Worker implementation; keep SQL in this owner |
src/config/sessions · src/config/sessions/session-transcript-report-read.ts |
0/1/0/0/0 | 79 | The report kernel calls this reader only through prepareTranscriptReportSelection and appendAbortedSessionTranscriptPartialInTransaction, invoked by session-accessor.sqlite-transcript-reports.worker.ts. The other caller is readSessionTranscriptMaintenance, invoked only by session-transcript-hydration-read.worker.ts. The host report facade uses only prepareCustomTranscriptReport serialization. |
src/config/sessions · src/config/sessions/session-transcript-search.ts |
1/1/0/0/1 | 182 | The synchronous search operation is called only by session-transcript.worker.ts. The async facade reads memory actor history directly and never enters SQLite for incognito sessions. |
src/config/sessions · src/config/sessions/session-transcript.worker.ts |
0/0/0/0/15 | 172 | Worker implementation; keep SQL in this owner |
src/config/sessions · src/config/sessions/targets-read-availability.worker.ts |
0/0/0/0/1 | 96 | Worker implementation; keep SQL in this owner |
src/cron · src/cron/default-proactive-job.worker.ts |
0/0/1/0/0 | 22 | Worker implementation; keep SQL in this owner |
src/cron · src/cron/scratch-read.kernel.ts |
2/0/0/0/0 | 58 | Only cron/store/read-command.ts calls the snapshot through openclaw-state-read-handlers.ts in openclaw-state-read.worker.ts. The private heartbeat reader is called only by that snapshot; host callers dispatch cron.scratch through scratch-read.ts. |
src/cron · src/cron/store/dispatch.worker.ts |
0/0/3/0/0 | 187 | Worker implementation; keep SQL in this owner |
src/cron · src/cron/store/external-state.worker.ts |
0/0/1/0/0 | 19 | Worker implementation; keep SQL in this owner |
src/cron · src/cron/store/guarded-mutation.worker.ts |
0/0/1/0/0 | 191 | Worker implementation; keep SQL in this owner |
src/cron · src/cron/store/job-name.kernel.ts |
1/0/0/0/0 | 23 | Worker implementation; keep SQL in this owner |
src/cron · src/cron/store/load.worker.ts |
0/0/1/0/0 | 35 | Worker implementation; keep SQL in this owner |
src/cron · src/cron/store/row-codec.ts |
2/0/0/0/0 | 299 | run-admission.worker.ts:458 and worker runtime-state saves; Doctor never requests stateOnly saves |
src/cron · src/cron/store/run-finalization.worker.ts |
0/0/1/0/0 | 31 | Worker implementation; keep SQL in this owner |
src/cron · src/cron/store/run-history-read.worker.ts |
2/0/0/0/0 | 112 | Worker implementation; keep SQL in this owner |
src/cron · src/cron/store/run-history.kernel.ts |
6/1/0/0/0 | 131 | Worker implementation; keep SQL in this owner |
src/cron · src/cron/store/run-queue.worker.ts |
3/1/4/0/0 | 130 | Worker implementation; keep SQL in this owner |
src/cron · src/cron/store/run-receipt-delivery.ts |
2/0/0/0/0 | 11 | Worker implementation; keep SQL in this owner |
src/cron · src/cron/store/run-receipt-read.ts |
1/0/0/0/0 | 133 | read-command.ts currentReceipt and run-recovery.read.ts route through openclaw-state-read.worker.ts; remaining direct callers are run-admission.worker.ts and runtime-maintenance.worker.ts |
src/cron · src/cron/store/run-receipt-store.ts |
5/2/0/0/0 | 61 | Admission/recovery/reservation/state/maintenance/dispatch workers own direct primitives; service message guards consume receipt-authority-owner facts without the deleted native current-job reader |
src/cron · src/cron/store/run-receipt-trigger-state.ts |
1/2/0/0/0 | 54 | Worker implementation; keep SQL in this owner |
src/cron · src/cron/store/run-receipt.worker.ts |
0/0/3/0/0 | 20 | Worker implementation; keep SQL in this owner |
src/cron · src/cron/store/run-recovery.worker.ts |
1/0/1/0/0 | 19 | Worker implementation; keep SQL in this owner |
src/cron · src/cron/store/runtime-maintenance.worker.ts |
0/0/4/0/0 | 61 | Worker implementation; keep SQL in this owner |
src/cron · src/cron/store/save.worker.ts |
0/0/1/0/0 | 26 | Worker implementation; keep SQL in this owner |
src/cron · src/cron/store/scheduler-actor.worker.ts |
0/0/2/0/0 | 126 | Worker implementation; keep SQL in this owner |
src/cron · src/cron/store/scheduler-state.worker.ts |
0/0/1/0/0 | 34 | Worker implementation; keep SQL in this owner |
src/cron · src/cron/store/scratch.worker.ts |
0/0/1/0/0 | 16 | Worker implementation; keep SQL in this owner |
src/gateway · src/gateway/cli-session-history-index.coverage.ts |
5/0/0/0/0 | 64 | Worker implementation; keep SQL in this owner |
src/gateway · src/gateway/cli-session-history-index.worker.ts |
4/3/0/0/0 | 291 | Worker implementation; keep SQL in this owner |
src/gateway · src/gateway/config-revision-key.worker.ts |
0/1/1/0/0 | 19 | Worker implementation; keep SQL in this owner |
src/gateway · src/gateway/github-personal-publication-store.worker.ts |
3/4/0/0/0 | 52 | Worker implementation; keep SQL in this owner |
src/gateway · src/gateway/github-publication-shared-read.kernel.ts |
0/6/0/0/0 | 37 | Worker implementation; keep SQL in this owner |
src/gateway · src/gateway/github-publication-store.worker.ts |
4/6/0/0/0 | 53 | Worker implementation; keep SQL in this owner |
src/gateway · src/gateway/github-repository-publication-read.worker.ts |
1/0/0/0/0 | 58 | Worker implementation; keep SQL in this owner |
src/gateway · src/gateway/github-repository-publication-store.worker.ts |
1/9/0/0/0 | 75 | Worker implementation; keep SQL in this owner |
src/gateway · src/gateway/managed-image-record-store.kernel.ts |
6/3/0/0/0 | 101 | Worker implementation; keep SQL in this owner |
src/gateway · src/gateway/mention-inbox-store.worker.ts |
3/1/0/0/0 | 37 | Worker implementation; keep SQL in this owner |
src/gateway · src/gateway/mention-inbox.worker.ts |
0/0/1/0/0 | 24 | Worker implementation; keep SQL in this owner |
src/gateway · src/gateway/operator-approval-placement-grants.read.worker.ts |
1/0/0/0/0 | 50 | Worker implementation; keep SQL in this owner |
src/gateway · src/gateway/operator-approval-standing-grants.worker.ts |
11/4/2/0/0 | 136 | Worker implementation; keep SQL in this owner |
src/gateway · src/gateway/operator-approval-store.kernel.worker.ts |
6/2/3/0/0 | 99 | Worker implementation; keep SQL in this owner |
src/gateway · src/gateway/operator-approval-store.receipts.ts |
1/2/0/0/0 | 414 | Worker implementation; keep SQL in this owner |
src/gateway · src/gateway/operator-approval-store.rows.worker.ts |
3/2/0/0/0 | 20 | Worker implementation; keep SQL in this owner |
src/gateway · src/gateway/operator-approval-store.transitions.worker.ts |
5/0/4/0/0 | 50 | Worker implementation; keep SQL in this owner |
src/gateway · src/gateway/operator-approval-store.worker.ts |
0/0/1/0/0 | 48 | Worker implementation; keep SQL in this owner |
src/gateway · src/gateway/session-group-catalog.kernel.ts |
11/0/2/0/0 | 33 | Catalog snapshots and mutation commands run in shared-state workers; category destination reads are called only by session-sharing-store.worker.ts after the native category callback was removed |
src/gateway · src/gateway/session-row-transcript-backfill.worker.ts |
1/0/0/0/0 | 75 | Worker implementation; keep SQL in this owner |
src/gateway/worker-environments · src/gateway/worker-environments/inference-store.kernel.ts |
7/3/0/0/0 | 92 | Worker implementation; keep SQL in this owner |
src/gateway/worker-environments · src/gateway/worker-environments/local-workspace-cas.kernel.ts |
14/3/0/0/0 | 28 | Worker implementation; keep SQL in this owner |
src/gateway/worker-environments · src/gateway/worker-environments/local-workspace-manifest-scan.ts |
1/1/0/0/0 | 98 | Worker implementation; keep SQL in this owner |
src/gateway/worker-environments · src/gateway/worker-environments/local-workspace-store.kernel.ts |
0/8/0/0/0 | 24 | Worker implementation; keep SQL in this owner |
src/gateway/worker-environments · src/gateway/worker-environments/local-workspace-store.worker.ts |
0/0/5/0/0 | 28 | Worker implementation; keep SQL in this owner |
src/gateway/worker-environments · src/gateway/worker-environments/placement-drain.ts |
1/0/0/0/0 | 92 | Only placement turn/transition workers and the move mutation kernel in placement-lifecycle.worker.ts drain placements. |
src/gateway/worker-environments · src/gateway/worker-environments/placement-lifecycle.worker.ts |
2/0/0/0/0 | 145 | Worker implementation; keep SQL in this owner |
src/gateway/worker-environments · src/gateway/worker-environments/placement-move-intent.ts |
4/2/0/0/0 | 121 | Worker implementation; keep SQL in this owner |
src/gateway/worker-environments · src/gateway/worker-environments/placement-move-row-codec.ts |
1/0/0/0/0 | 161 | Worker implementation; keep SQL in this owner |
src/gateway/worker-environments · src/gateway/worker-environments/placement-pending-failure.ts |
2/0/0/0/0 | 63 | Only placementTurns.failResult in placement-turn-claims.worker.ts constructs the terminal-failure kernel, including its transaction-local transition helper; all runtime callers await its worker facade |
src/gateway/worker-environments · src/gateway/worker-environments/placement-read-projection.ts |
5/0/0/0/0 | 50 | Worker implementation; keep SQL in this owner |
src/gateway/worker-environments · src/gateway/worker-environments/placement-retirement.ts |
0/1/0/0/0 | 23 | Only placement-lifecycle.worker.ts retires placement rows; host placement APIs dispatch through the lifecycle worker. |
src/gateway/worker-environments · src/gateway/worker-environments/placement-row-codec.ts |
7/1/0/0/0 | 180 | State read and placement workers own all row queries; the identity census runs through placement-lifecycle.worker.ts workerPlacements.readIdentities. GitHub deferral selection runs only in state/github-publication.worker.ts. Host consumers use pure row codecs or async/receipt-backed readers.; Dispatch in placement-lifecycle.worker.ts and the placement-turn-claims.ts claim path run in workers; placement-store.ts uses the async worker facade.; Transitions run only in placement-transitions.worker.ts and prepared binding in placement-lifecycle.worker.ts. |
src/gateway/worker-environments · src/gateway/worker-environments/placement-session-tool-operations.kernel.ts |
12/0/0/0/0 | 38 | Factory runs in placement-session-tool-operations.worker.ts; claim, reconcile and terminal-failure cleanup now only run through placement-turn-claims.worker.ts |
src/gateway/worker-environments · src/gateway/worker-environments/placement-transitions.worker.ts |
2/0/0/0/0 | 226 | Worker implementation; keep SQL in this owner |
src/gateway/worker-environments · src/gateway/worker-environments/placement-turn-claims.ts |
8/0/0/0/0 | 68 | Only placement-lifecycle.worker.ts clears local claims after restart; the released synchronous SDK method now rejects with async migration guidance.; Claim/release/cancel mutations run only through placement-turn-claims.worker.ts; host wait and validation consume async reads and published claim facts.; placement-store.ts:132 supplies worker mutations; placement-turn-claims.worker.ts:299,355,360 executes release/manifest methods |
src/gateway/worker-environments · src/gateway/worker-environments/placement-turn-claims.worker.ts |
1/0/1/0/0 | 71 | Worker implementation; keep SQL in this owner |
src/gateway/worker-environments · src/gateway/worker-environments/placement-workspace-journal.ts |
8/0/0/0/0 | 63 | Read dispatch at state-read.worker.ts:653 and journal mutation factory at placement-workspace-journal.worker.ts:30; Acceptance at placement-turn-claims.worker.ts:190, journal abort via placement-workspace-journal.worker.ts:30 and manifest drain via placement-transitions.worker.ts:82; native move drain supplies no manifest and skips cleanup |
src/gateway/worker-environments · src/gateway/worker-environments/placement-workspace-reservation.kernel.ts |
0/1/0/0/0 | 29 | Only placement-lifecycle.worker.ts and worker-owned claim kernels check the reservation before the effect; host preparation uses worker reads. |
src/gateway/worker-environments · src/gateway/worker-environments/placement-workspace-result.ts |
15/0/0/0/0 | 50 | Mutation helpers run through placement turn/lifecycle workers; reconciliation and pending-result reads run in the state read worker. GitHub deferral selection also runs only in state/github-publication.worker.ts. Host exports are async readers or pure row/claim helpers.; Only placement-turn-claims.worker.ts publishes staged results; host callers use async readers and published result facts. |
src/gateway/worker-environments · src/gateway/worker-environments/prepared-environment-store.ts |
2/3/0/0/0 | 94 | Prepared mutations run in store.worker.ts; consumption and its placement-reference predicate run only in placement-lifecycle.worker.ts. |
src/gateway/worker-environments · src/gateway/worker-environments/prepared-pool-presence-store.worker.ts |
2/1/0/0/0 | 69 | Worker implementation; keep SQL in this owner |
src/gateway/worker-environments · src/gateway/worker-environments/session-attachment-store.ts |
1/2/0/0/0 | 58 | Worker implementation; keep SQL in this owner |
src/gateway/worker-environments · src/gateway/worker-environments/store-mutations.ts |
0/2/0/0/0 | 33 | Worker implementation; keep SQL in this owner |
src/gateway/worker-environments · src/gateway/worker-environments/store-row-codec.ts |
3/1/0/0/0 | 194 | Worker implementation; keep SQL in this owner |
src/gateway/worker-environments · src/gateway/worker-environments/store-transitions.ts |
1/1/0/0/0 | 79 | Worker implementation; keep SQL in this owner |
src/gateway/worker-environments · src/gateway/worker-environments/store-write.ts |
1/0/0/0/0 | 15 | Worker implementation; keep SQL in this owner |
src/gateway/worker-environments · src/gateway/worker-environments/store.kernel.ts |
0/1/0/0/0 | 286 | Worker implementation; keep SQL in this owner |
src/gateway/worker-environments · src/gateway/worker-environments/store.worker.ts |
0/0/1/0/0 | 47 | Worker implementation; keep SQL in this owner |
src/gateway/worker-environments · src/gateway/worker-environments/transcript-commit-store.worker.ts |
5/2/0/0/0 | 70 | Worker implementation; keep SQL in this owner |
src/gateway/worker-environments · src/gateway/worker-environments/transcript-commit.worker.ts |
0/0/0/1/0 | 72 | Worker implementation; keep SQL in this owner |
src/infra · src/infra/deferred-plugin-session-source-recovery.worker.ts |
2/0/0/0/0 | 45 | Worker implementation; keep SQL in this owner |
src/infra · src/infra/delivery-queue-sqlite-bound.ts |
2/0/0/0/0 | 158 | Sole runtime caller: src/infra/delivery-queue.worker.ts:480 → delivery-queue-sqlite.kernel.ts:409. |
src/infra · src/infra/delivery-queue-sqlite-namespace.kernel.ts |
1/0/0/0/0 | 43 | src/infra/outbound/delivery-queue-enqueue.worker.ts:95; registered dispatch src/infra/delivery-queue.worker.ts:445. |
src/infra · src/infra/delivery-queue-sqlite.kernel.ts |
3/0/0/0/0 | 70 | Expiry snapshot: src/infra/delivery-queue.worker.ts:487 → outbound/delivery-queue-media-staging.kernel.ts:74. Failed count: delivery-queue.worker.ts:455. |
src/infra · src/infra/delivery-queue.worker.ts |
0/0/1/0/0 | 295 | Worker implementation; keep SQL in this owner |
src/infra · src/infra/device-pairing-cloud-worker.ts |
1/2/0/0/0 | 18 | Worker implementation; keep SQL in this owner |
src/infra · src/infra/device-pairing-dispatch.worker.ts |
0/0/1/0/0 | 39 | Worker implementation; keep SQL in this owner |
src/infra · src/infra/device-pairing-join-code.worker.ts |
3/1/0/0/0 | 28 | Worker implementation; keep SQL in this owner |
src/infra · src/infra/exec-approvals-sqlite.ts |
1/0/0/0/0 | 206 | exec-approvals-mutation.worker.ts restores an absent policy row through the shared-state writer. |
src/infra · src/infra/gateway-boot-lifecycle.kernel.ts |
0/2/0/0/0 | 54 | SQL readers execute only through gatewayBootReadOperations in the shared-state read worker or gatewayBootOperations begin/recover in the shared-state writer. Host lifecycle APIs dispatch these operations; remaining host imports from this kernel are pure helpers and constants. |
src/infra · src/infra/gateway-boot-lifecycle.worker.ts |
5/3/3/0/0 | 46 | Worker implementation; keep SQL in this owner |
src/infra · src/infra/gateway-owner-lease.worker.ts |
1/0/0/0/0 | 189 | Worker implementation; keep SQL in this owner |
src/infra · src/infra/push-apns-store-transaction.ts |
1/4/0/0/0 | 36 | Worker implementation; keep SQL in this owner |
src/infra · src/infra/push-apns-store.ts |
1/1/0/0/0 | 367 | Worker implementation; keep SQL in this owner |
src/infra · src/infra/push-apns-store.worker.ts |
2/0/2/0/0 | 64 | Worker implementation; keep SQL in this owner |
src/infra · src/infra/push-web-store.database.worker.ts |
12/5/6/0/0 | 83 | Worker implementation; keep SQL in this owner |
src/infra · src/infra/restart-lifecycle.worker.ts |
1/1/0/0/0 | 24 | Worker implementation; keep SQL in this owner |
src/infra · src/infra/restart-sentinel-store.ts |
2/0/0/0/0 | 380 | Deletion and snapshot reads run in restart-sentinel.worker.ts or restart-sentinel.read.worker.ts; managed-handoff snapshot callers are also worker operations. |
src/infra · src/infra/session-cost-usage-cache.kernel.ts |
5/0/0/0/0 | 200 | Worker implementation; keep SQL in this owner |
src/infra · src/infra/session-cost-usage-partitions.worker.ts |
5/0/0/0/0 | 44 | Worker implementation; keep SQL in this owner |
src/infra · src/infra/session-cost-usage-quarters.worker.ts |
3/0/0/0/0 | 72 | Worker implementation; keep SQL in this owner |
src/infra · src/infra/session-cost-usage-refresh-inputs.worker.ts |
4/0/0/0/4 | 153 | Worker implementation; keep SQL in this owner |
src/infra · src/infra/session-cost-usage-worker.ts |
0/0/0/0/3 | 163 | Worker implementation; keep SQL in this owner |
src/infra · src/infra/sqlite-audit-record.kernel.ts |
1/1/0/0/0 | 244 | src/config/config-journal-snapshot.worker.ts → config-journal-snapshot.kernel.ts; greeting comparisons use diagnostic.compareAndSet in src/infra/sqlite-audit-record.worker.ts. No native comparison adapter remains. |
src/infra · src/infra/sqlite-page-cache.worker.ts |
6/2/0/0/0 | 58 | Worker implementation; keep SQL in this owner |
src/infra · src/infra/state-migrations.mcp-oauth.worker.ts |
2/1/1/0/0 | 45 | Worker implementation; keep SQL in this owner |
src/infra · src/infra/telemetry-store.worker.ts |
0/1/2/0/0 | 29 | Worker implementation; keep SQL in this owner |
src/infra · src/infra/update-candidate-exec-approvals.ts |
1/0/0/0/0 | 29 | Worker implementation; keep SQL in this owner |
src/infra · src/infra/update-candidate-plugins.ts |
1/1/0/0/0 | 216 | Worker implementation; keep SQL in this owner |
src/infra · src/infra/update-candidate-state.ts |
3/0/0/0/0 | 638 | Snapshot sole executor src/infra/update-candidate-state.worker.ts:63 (isolated candidate child). |
src/infra · src/infra/update-database-restore-source.ts |
3/0/0/0/0 | 117 | Worker implementation; keep SQL in this owner |
src/infra · src/infra/update-failure-report-receipt-store.ts |
3/0/0/0/0 | 78 | Receipt mutations and authoritative revision rereads are called only by restart-sentinel.worker.ts; report submission and artifact sweep await that physical shared-state owner. |
src/infra · src/infra/update-run-interruption-store.ts |
0/1/0/0/0 | 126 | Worker implementation; keep SQL in this owner |
src/infra · src/infra/update-run-reconciliation.read.ts |
1/0/0/0/0 | 64 | Worker implementation; keep SQL in this owner |
src/infra · src/infra/update-run-reconciliation.worker.ts |
0/1/0/0/0 | 98 | Worker implementation; keep SQL in this owner |
src/infra/database-engine · src/infra/database-engine/agent-port-descriptor.ts |
1/1/0/0/0 | 372 | inspectSqliteSource is called only by port-command.worker.ts inspectSqliteImage; migrateSqliteSource is called only by port.worker.ts migrateDatabasePortSource on the CLI's private source copy. Other descriptor consumers use admission/export operations, not these SQL callbacks. |
src/infra/database-engine · src/infra/database-engine/port-descriptor.ts |
0/1/0/0/0 | 148 | Worker implementation; keep SQL in this owner |
src/infra/database-engine · src/infra/database-engine/postgres-vector.ts |
2/0/0/0/0 | 88 | Worker implementation; keep SQL in this owner |
src/infra/database-engine · src/infra/database-engine/text-tokens.worker.ts |
1/2/0/0/0 | 14 | Worker implementation; keep SQL in this owner |
src/infra/outbound · src/infra/outbound/current-conversation-bindings.worker.ts |
0/0/1/0/0 | 34 | Worker implementation; keep SQL in this owner |
src/infra/outbound · src/infra/outbound/delivery-queue-enqueue.worker.ts |
0/0/1/0/0 | 42 | Worker implementation; keep SQL in this owner |
src/infra/outbound · src/infra/outbound/delivery-queue-media-staging.kernel.ts |
1/0/0/0/0 | 95 | Worker implementation; keep SQL in this owner |
src/infra/outbound · src/infra/outbound/delivery-queue-pending-failure.worker.ts |
0/0/1/0/0 | 27 | Worker implementation; keep SQL in this owner |
src/infra/outbound · src/infra/outbound/delivery-queue-storage.kernel.ts |
1/0/0/0/0 | 99 | Worker implementation; keep SQL in this owner |
src/media · src/media/generated-html-provenance.worker.ts |
3/1/0/0/0 | 20 | Worker implementation; keep SQL in this owner |
src/node-host · src/node-host/node-worker-launch-store.kernel.ts |
10/5/1/0/0 | 116 | Worker implementation; keep SQL in this owner |
src/node-host · src/node-host/node-worker-lineage-completion.ts |
2/0/0/0/0 | 58 | Detached anchor spawned at src/process/supervisor/service-child-relay.ts:167; only service-child-group-anchor.ts:229,273 calls completion. W denotes the isolated supervisor subprocess. |
src/node-host · src/node-host/node-worker-prepared-workspace-store.kernel.ts |
5/2/1/0/0 | 35 | List/mutations run only in node-worker-journal.worker.ts:14,19,26,31,36; selectRow/write are mutation-only helpers; native findSync at node-worker-prepared-workspace-store.ts:31 reaches only find, which stays T1 |
src/node-host · src/node-host/node-worker-turn-settlement.worker.ts |
1/1/0/0/0 | 47 | Worker implementation; keep SQL in this owner |
src/node-host · src/node-host/node-worker-turn-store.kernel.ts |
1/3/1/0/0 | 52 | Worker implementation; keep SQL in this owner |
src/pairing · src/pairing/pairing-store.worker.ts |
4/0/0/0/0 | 80 | Worker implementation; keep SQL in this owner |
src/plugin-state · src/plugin-state/plugin-blob-store.sqlite.ts |
7/4/0/0/0 | 202 | Worker implementation; keep SQL in this owner |
src/plugin-state · src/plugin-state/plugin-blob-store.worker.ts |
0/0/1/0/0 | 30 | Worker implementation; keep SQL in this owner |
src/plugin-state · src/plugin-state/plugin-state-store.kernel.ts |
0/1/0/0/0 | 415 | Only plugin-state-store.journal.ts:202 calls allocation, and only plugin-state.worker.ts:173 calls that journal kernel; host facade plugin-state-store.ts:555 dispatches registerPluginStateJournalInWorker. |
src/plugin-state · src/plugin-state/plugin-state-store.moves.worker.ts |
3/0/0/0/0 | 48 | Worker implementation; keep SQL in this owner |
src/plugin-state · src/plugin-state/plugin-state.worker.ts |
2/0/3/0/0 | 88 | Worker implementation; keep SQL in this owner |
src/plugins · src/plugins/conversation-binding-state.kernel.ts |
2/0/0/0/0 | 14 | Worker implementation; keep SQL in this owner |
src/plugins · src/plugins/installed-plugin-index-store-write.ts |
0/1/2/0/0 | 144 | Live install-record commits, direct index writes, refresh, and exact-revision rollback dispatch through plugins/state.worker.ts under the retained lifecycle lease. Source-admission publication uses that worker too. The synchronous refresh kernel has no remaining non-worker production callers. |
src/plugins · src/plugins/installed-plugin-snapshot-candidates.kernel.ts |
0/1/0/0/0 | 24 | Worker implementation; keep SQL in this owner |
src/plugins · src/plugins/installed-plugin-source-snapshot.worker.ts |
0/0/1/0/0 | 30 | Worker implementation; keep SQL in this owner |
src/plugins · src/plugins/official-external-plugin-catalog-snapshot-store.kernel.ts |
1/1/0/0/0 | 156 | Worker implementation; keep SQL in this owner |
src/plugins · src/plugins/state.worker.ts |
0/0/5/0/0 | 57 | Worker implementation; keep SQL in this owner |
src/projects · src/projects/project-registry.kernel.ts |
6/7/0/0/0 | 45 | Worker implementation; keep SQL in this owner |
src/projects · src/projects/project-registry.worker.ts |
0/0/1/0/0 | 31 | Worker implementation; keep SQL in this owner |
src/proxy-capture · src/proxy-capture/store.worker.ts |
0/0/1/0/0 | 17 | Worker implementation; keep SQL in this owner |
src/secrets · src/secrets/store/secret-store-config-ref.kernel.ts |
1/1/1/0/0 | 47 | Worker implementation; keep SQL in this owner |
src/secrets · src/secrets/store/secret-store-expiry.kernel.ts |
3/1/1/0/0 | 52 | Worker implementation; keep SQL in this owner |
src/secrets · src/secrets/store/secret-store-github-handoff.worker.ts |
0/1/0/0/0 | 58 | Worker implementation; keep SQL in this owner |
src/secrets · src/secrets/store/secret-store-hidden-github.kernel.ts |
2/0/0/0/0 | 72 | Only user-github-connections.kernel.ts mergeUserGitHubConnection passes null, through user-profiles-merge.ts in user-profile-writes.worker.ts. Native personal cancel/disconnect pass serialized records and retain the shared upsert path.; Only githubSecrets.list in secret-store-github-handoff.worker.ts selects hidden record listings; native SDK compatibility uses exact read/delete operations only. |
src/secrets · src/secrets/store/secret-store-metadata.kernel.ts |
1/1/0/0/0 | 65 | Worker implementation; keep SQL in this owner |
src/secrets · src/secrets/store/secret-store-write.ts |
4/1/4/0/0 | 76 | Only secretStoreOperations in secret-store.worker.ts calls these ordinary secret mutation kernels |
src/session-cards · src/session-cards/progress-card-store.ts |
0/2/0/0/0 | 22 | session-transcript.worker.ts owns card reads; progress-card-store.worker.ts owns writes and their fallback reads. Gateway references are type uses; other writeSessionProgressCard callers are fixtures. |
src/sessions · src/sessions/session-state-events.kernel.ts |
11/4/0/0/0 | 97 | session-state-events.worker.ts and session-upstream-links.worker.ts; Watch commands and event recording execute only in session-state-events.worker.ts and subagent-registry.store.worker.ts; Seed cursors run through sessionState.record/registerWatch; periodic and restart pruning dispatch sessionState.prune; All producers await sessionState.record; the only direct production kernel callers are session-state-events.worker.ts and subagent-registry.store.worker.ts |
src/sessions · src/sessions/session-state-events.read.worker.ts |
4/3/0/0/0 | 19 | Worker implementation; keep SQL in this owner |
src/sessions · src/sessions/session-state-events.worker.ts |
6/0/0/0/0 | 46 | Worker implementation; keep SQL in this owner |
src/sessions · src/sessions/session-upstream-links.kernel.ts |
1/0/0/0/0 | 96 | Only sessionUpstream.listWatched dispatches this read; mutation kernels retain v2026.9.8 synchronous SDK callers until removal after stable deprecation. |
src/sessions · src/sessions/session-upstream-links.worker.ts |
1/0/0/0/0 | 79 | Worker implementation; keep SQL in this owner |
src/skills/library · src/skills/library/import.kernel.ts |
4/0/0/0/0 | 41 | Worker implementation; keep SQL in this owner |
src/skills/library · src/skills/library/selection-read.kernel.ts |
1/0/0/0/0 | 56 | Manifest batch only called by openclaw-state-read.worker.ts:477; metadata batch remains host-reachable |
src/skills/library · src/skills/library/service.kernel.ts |
6/0/0/0/0 | 122 | Worker implementation; keep SQL in this owner |
src/skills/library · src/skills/library/store.ts |
3/3/1/0/0 | 90 | Library actor, owner, row, revision, upload, and mutation kernels run only through the shared-state reader/writer (read.kernel.ts, service.kernel.ts, import.kernel.ts, and store.worker.ts); readOwners is private to the worker list projection. The SDK metadata batch remains in selection-read.kernel.ts. |
src/skills/library · src/skills/library/store.worker.ts |
0/0/3/0/0 | 31 | Worker implementation; keep SQL in this owner |
src/skills/lifecycle · src/skills/lifecycle/upload-store-commit.ts |
2/0/1/0/0 | 96 | Worker implementation; keep SQL in this owner |
src/skills/lifecycle · src/skills/lifecycle/upload-store.kernel.ts |
7/3/5/0/0 | 48 | Worker implementation; keep SQL in this owner |
src/skills/lifecycle · src/skills/lifecycle/upload-store.sqlite.ts |
4/5/3/0/0 | 63 | Worker implementation; keep SQL in this owner |
src/skills/runtime · src/skills/runtime/skill-usage.kernel.ts |
2/0/0/0/0 | 27 | Worker implementation; keep SQL in this owner |
src/skills/runtime · src/skills/runtime/skill-usage.worker.ts |
0/0/1/0/0 | 13 | Worker implementation; keep SQL in this owner |
src/skills/workshop-changes · src/skills/workshop-changes/changes.kernel.ts |
3/0/0/0/0 | 82 | Worker implementation; keep SQL in this owner |
src/skills/workshop-changes · src/skills/workshop-changes/changes.worker.ts |
0/0/1/0/0 | 14 | Worker implementation; keep SQL in this owner |
src/state · src/state/agent-deletion-cleanup.worker.ts |
0/0/1/0/0 | 103 | Worker implementation; keep SQL in this owner |
src/state · src/state/agent-deletion-journal-authority.worker.ts |
1/2/0/0/0 | 21 | Worker implementation; keep SQL in this owner |
src/state · src/state/agent-deletion-journal-recovery.ts |
1/0/0/0/0 | 169 | Only agent-deletion-recovery.worker.ts and worker-only journal completion resolve holds; reconstruction and Doctor hold producers remain separate native maintenance operations |
src/state · src/state/agent-deletion-journal.read.ts |
0/1/0/0/0 | 100 | src/state/openclaw-state-read-handlers.ts under read worker; other executor src/state/openclaw-agent-execution.worker.ts:190. |
src/state · src/state/agent-deletion-journal.snapshot.worker.ts |
1/0/0/0/0 | 17 | Worker implementation; keep SQL in this owner |
src/state · src/state/agent-deletion-journal.ts |
6/2/0/0/0 | 352 | agent-deletion.worker.ts owns all production journal mutations; synchronous fixture adapters live under test-utils. Native SDK cleanup retains only live journal/lease reads around agent COMMIT |
src/state · src/state/agent-deletion.worker.ts |
4/0/0/0/0 | 312 | Worker implementation; keep SQL in this owner |
src/state · src/state/agent-lifecycle-read.worker.ts |
0/1/0/0/0 | 51 | Worker implementation; keep SQL in this owner |
src/state · src/state/agent-provenance.kernel.ts |
2/0/0/0/0 | 41 | agentProvenance.list/readBatch execute through agentProvenanceReadOperations in the read-only registry; record executes through agentProvenanceOperations in agent-provenance.worker.ts; native synchronous lifecycle guards use the joined projection in agent-lifecycle-read.kernel.ts |
src/state · src/state/agent-provenance.ts |
1/0/0/0/0 | 97 | Only completeAgentDeletionJournalInDatabase, reached from agent-deletion.worker.ts, deletes provenance; lifecycle incarnation readers retain synchronous live-authority checks |
src/state · src/state/backup-run-records.kernel.ts |
3/0/0/0/0 | 27 | Worker implementation; keep SQL in this owner |
src/state · src/state/config-machine-state-write.ts |
1/0/1/0/0 | 164 | src/state/onboarding-recommendations.ts:77 submits clear → worker registry :171 → onboarding-recommendations.kernel.ts:178. |
src/state · src/state/github-personal-publication-lifecycle.ts |
3/2/1/0/0 | 117 | Worker implementation; keep SQL in this owner |
src/state · src/state/github-publication-session-lifecycles.worker.ts |
1/1/0/0/0 | 41 | Worker implementation; keep SQL in this owner |
src/state · src/state/github-publication-source.kernel.ts |
0/2/0/0/0 | 71 | Worker implementation; keep SQL in this owner |
src/state · src/state/github-publication-source.worker.ts |
0/0/1/0/0 | 123 | Worker implementation; keep SQL in this owner |
src/state · src/state/github-publication-task-reads.worker.ts |
1/0/0/0/0 | 152 | Worker implementation; keep SQL in this owner |
src/state · src/state/github-publication.worker.ts |
0/0/1/0/0 | 74 | Worker implementation; keep SQL in this owner |
src/state · src/state/openclaw-agent-canonical-validation-receipt.ts |
1/0/0/0/0 | 93 | src/config/sessions/session-accessor.sqlite-mutation-worker.runtime.ts:392; loaded only by archive.worker.ts:523,594. |
src/state · src/state/openclaw-agent-db-registry.ts |
1/0/1/0/0 | 164 | Runtime removal is dispatched by openclaw-agent-db-registry.worker.ts; the only native production caller is offline Doctor migration state-migrations.media-persistence.ts. No Gateway native caller remains. |
src/state · src/state/openclaw-agent-db-registry.worker.ts |
0/0/1/0/0 | 18 | Worker implementation; keep SQL in this owner |
src/state · src/state/openclaw-agent-execution-cleanup.worker.ts |
0/0/1/0/0 | 16 | Worker implementation; keep SQL in this owner |
src/state · src/state/openclaw-agent-execution-maintenance.ts |
0/1/1/0/0 | 176 | Worker implementation; keep SQL in this owner |
src/state · src/state/openclaw-agent-execution.worker.ts |
0/0/1/1/0 | 436 | Worker implementation; keep SQL in this owner |
src/state · src/state/openclaw-state-lease-renewal.worker.ts |
1/0/0/0/0 | 96 | Worker implementation; keep SQL in this owner |
src/state · src/state/openclaw-state.worker.ts |
0/0/3/0/0 | 187 | Worker implementation; keep SQL in this owner |
src/state · src/state/session-repository-workspaces.kernel.ts |
0/7/0/0/0 | 105 | Worker implementation; keep SQL in this owner |
src/state · src/state/session-repository-workspaces.worker.ts |
0/0/1/0/0 | 91 | Worker implementation; keep SQL in this owner |
src/state · src/state/user-background.store.ts |
3/2/0/0/0 | 22 | Worker implementation; keep SQL in this owner |
src/state · src/state/user-channel-identities.ts |
2/0/2/0/0 | 263 | Only user-channel-identities.worker.ts executes channel link/unlink mutations; Gateway callers await the registered worker operations. |
src/state · src/state/user-channel-identities.worker.ts |
0/0/1/0/0 | 82 | Worker implementation; keep SQL in this owner |
src/state · src/state/user-github-connections.worker.ts |
1/0/0/0/0 | 44 | Worker implementation; keep SQL in this owner |
src/state · src/state/user-model-accounts.ts |
2/0/2/0/0 | 393 | Only agents/auth-profiles/store.worker.ts calls this writer, in authProfiles.personalReplace and authProfiles.personalUsage. These registered worker handlers update credentials and usage respectively; no Gateway main-thread receiver remains.; Personal sign-in persistence executes only through userProfiles.modelAccount.connect in user-profiles.worker.ts. Inventory/link/unlink kernels retain T1 for deprecated v2026.9.8 Gateway SDK methods; bundled callers use the Async replacements. Shared credential/OAuth kernels and the live account pin guard also retain T1.; Only src/state/user-profiles-merge.ts:57, executed by user-profile-writes.worker.ts:375,425,482. |
src/state · src/state/user-preferences.store.ts |
9/0/0/0/0 | 75 | Preference read/write dispatch at user-preferences.worker.ts:52,74; merge/GitHub helpers only in user-profile-writes.worker.ts:375,425,482 and openclaw-state-read.worker.ts:616; private key scans serve these worker writers |
src/state · src/state/user-profile-enterprise-github-identity.ts |
3/0/0/0/0 | 33 | Worker implementation; keep SQL in this owner |
src/state · src/state/user-profile-enterprise-github-write.worker.ts |
3/2/0/0/0 | 39 | Worker implementation; keep SQL in this owner |
src/state · src/state/user-profile-github-identity.ts |
5/2/0/0/0 | 154 | Read dispatcher src/state/openclaw-state-read.worker.ts:577; mutations user-profile-writes.worker.ts:474,482 and merges :375,425. Role authority runs only through user-profiles.worker.ts:152. ensureEmail path user-profiles.worker.ts:61; private writeIdentity only from applyVerifiedGitHubIdentity; private selectGitHubProfileAlias only from readGitHubIdentityBinding and the read-worker cached-binding command (openclaw-state-read.worker.ts:520). |
src/state · src/state/user-profile-identity.read.ts |
1/0/0/0/0 | 53 | Registered profile writers and openclaw-state-read.worker.ts execute these readers. Full-profile and project-alias reads use the committed catalog. Released SDK identity/display fallbacks retain native reads. |
src/state · src/state/user-profile-writes.worker.ts |
6/2/0/0/0 | 93 | Worker implementation; keep SQL in this owner |
src/state · src/state/user-profiles-internal.ts |
2/2/0/0/0 | 59 | Creation/link/merge/sync calls flow through src/state/user-profiles.worker.ts:61,69,71 and user-profile-writes.worker.ts:375,400,409,425,480; identity/avatar reads dispatch only from openclaw-state-read.worker.ts:577,604,631. |
src/state · src/state/user-profiles-merge.ts |
6/0/0/0/0 | 35 | Only src/state/user-profile-writes.worker.ts:375,425,482 executes mergeUserProfiles. |
src/state · src/state/user-profiles-owner.ts |
3/0/0/0/0 | 83 | src/state/user-profiles.ts:320 invokes ensureGatewayOwnerProfileRow; sole executor user-profiles.worker.ts:78. |
src/state · src/state/user-profiles.ts |
3/1/0/0/0 | 128 | Sole executor src/state/user-profiles.worker.ts:69 → ensureProfileForTailscaleIdentity → user-profiles.ts:339,345. |
src/state · src/state/user-profiles.worker.ts |
2/0/2/0/0 | 193 | Worker implementation; keep SQL in this owner |
src/talk · src/talk/client-voice-session-lookup.worker.ts |
0/0/0/0/1 | 76 | Worker implementation; keep SQL in this owner |
src/templates · src/templates/provenance-runtime-read.kernel.ts |
1/0/0/0/0 | 18 | Worker implementation; keep SQL in this owner |
src/trajectory · src/trajectory/runtime-retention.sqlite.ts |
2/1/0/0/0 | 107 | Worker implementation; keep SQL in this owner |
src/trajectory · src/trajectory/runtime-store.sqlite.ts |
3/0/0/0/0 | 140 | Durable sinks dispatch trajectory.events.append through openclaw-agent-execution-operations.ts. Incognito sinks append through the session actor memory backend without SQLite. Synchronous fixture append and retention exist only in runtime-store.test-support.ts. |
src/transcripts · src/transcripts/store-export.worker.ts |
0/1/0/0/0 | 34 | Worker implementation; keep SQL in this owner |
src/transcripts · src/transcripts/store-read.ts |
0/4/0/0/0 | 328 | Ordinary reads dispatch through store-worker-read.ts; streamed library exports dispatch through store-export.worker.ts. TranscriptsStore no longer invokes a native generator; remaining host references are types and pure helpers. |
src/transcripts · src/transcripts/store-sqlite-read.ts |
5/4/0/0/0 | 31 | Worker implementation; keep SQL in this owner |
src/transcripts · src/transcripts/store-sqlite-write.ts |
3/4/0/0/0 | 59 | Worker implementation; keep SQL in this owner |
src/transcripts · src/transcripts/store-sqlite.ts |
2/5/0/0/0 | 75 | Worker implementation; keep SQL in this owner |
src/transcripts · src/transcripts/store-worker-write.ts |
0/0/1/0/0 | 39 | Worker implementation; keep SQL in this owner |