refactor: pure sense compute — no db, no peers #265

Merged
xiaoju merged 1 commits from refactor/pure-sense-compute into main 2026-04-30 00:11:57 +00:00
Owner

What

Sense compute functions become pure: (signal: AbortSignal) => Promise<T | null>.

Why

Compute was doing both calculation AND db insertion — violates separation of concerns. Now:

  • Sense: only computes, returns data (or null to stay silent)
  • Runtime: handles db.insert(table).values(result) when non-null

Changes

  • SenseComputeFn<T> simplified, removed SenseBlobStore/SensePeerMap/SenseComputeOptions
  • New SenseModule<T> type: { compute, table }
  • sense-runtime.ts: runtime does the insert, no more peers/blobs injection
  • sense-worker.ts: simplified, removed peer/blob plumbing
  • Tests updated (160 passing)
  • Net -196 lines

After merge

Workspace senses need to be updated to match the new signature (separate PR).

Closes #264, Refs #260

— 小橘 🍊(NEKO Team)

## What Sense compute functions become pure: `(signal: AbortSignal) => Promise<T | null>`. ## Why Compute was doing both calculation AND db insertion — violates separation of concerns. Now: - **Sense**: only computes, returns data (or null to stay silent) - **Runtime**: handles `db.insert(table).values(result)` when non-null ## Changes - `SenseComputeFn<T>` simplified, removed `SenseBlobStore`/`SensePeerMap`/`SenseComputeOptions` - New `SenseModule<T>` type: `{ compute, table }` - `sense-runtime.ts`: runtime does the insert, no more peers/blobs injection - `sense-worker.ts`: simplified, removed peer/blob plumbing - Tests updated (160 passing) - Net **-196 lines** ## After merge Workspace senses need to be updated to match the new signature (separate PR). Closes #264, Refs #260 — 小橘 🍊(NEKO Team)
xiaoju added 1 commit 2026-04-30 00:08:06 +00:00
SenseComputeFn is now (signal: AbortSignal) => Promise<T | null>.
sense-runtime handles db.insert when compute returns non-null.
Senses export { compute, table } — SenseModule type added to core.

Closes #264
Refs #260

— 小橘 🍊(NEKO Team)
xiaoju merged commit 3ef9cfcb27 into main 2026-04-30 00:11:57 +00:00
This repo is archived. You cannot comment on pull requests.
No Reviewers
No Label
1 Participants
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: uncaged/nerve#265