1.7 KiB
1.7 KiB
TESS-M4-003 — Operator Plugin Foundations
- Task: TESS-M4-003 / TESS-MEM-001
- Branch/base:
feat/tess-operator-pluginsrebased onorigin/main76325ca3 - Scope: first leaf-package memory/retrieval slice only; no durable inbox ownership, gateway integration, or Mosaic catalog implementation.
Handoff
Coder4's uncommitted implementation was preserved first in commit 5b99c821 before review. The completion pass corrected the contract so namespace is injected configuration rather than caller-selected scope data, storage keys include tenant/owner/session via collision-safe tuple encoding, and malformed runtime scope values fail closed.
Delivered boundary
OperatorMemoryPluginexposescapture,search,recent,stats, andstartupContextthroughMemoryAdapteronly.- Scope is server-derived
{tenantId, ownerId, sessionId}; adapter and namespace are configuration, not operation input. - Capture redacts before persistence and records configured instance/namespace/source provenance.
- Wildcard retrieval is documented at the
MemoryAdapterboundary and implemented by the keyword adapter. - Startup context uses a bounded 64-result candidate window, then prioritizes project and flat-file provenance before slicing the configured output limit.
- No
Tessidentity is hardcoded in storage keys or defaults; tests use configuredNova.
Verification
pnpm --filter @mosaicstack/memory test— PASS (32 tests)pnpm --filter @mosaicstack/memory typecheck— PASSpnpm --filter @mosaicstack/memory lint— PASSpnpm --filter @mosaicstack/memory build— PASS- Codex code review — APPROVE after remediation
- Codex security review — no findings after runtime scope-validation remediation