mcpField
E
engram-plugin-thin

engram-plugin-thin

github.com/gentleman-programmingDevelopment7.7k79 installsUpdated today
Repository

About engram-plugin-thin

A development skill defining boundaries and compatibility checks for Engram plugin hooks, scripts, and adapters. It is for developers extending memory capture or agent setup, and keeps adapters thin while reserving complex logic for the Go core.

Key features

  1. 01Keeps plugin adapters thin
  2. 02Places complex logic in Go core
  3. 03Avoids added script runtime dependencies
  4. 04Reuses a shared agent contract
  5. 05Defines Pi save-acknowledgement recovery limits

Use cases

  1. 01Edit plugin hooks, scripts, or adapters
  2. 02Add passive or active memory capture
  3. 03Wire agent-specific setup behavior
  4. 04Handle ambiguous Pi save acknowledgements

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/gentleman-programming/engram --skill engram-plugin-thin

After installing, type/engram-plugin-thinin Claude Code to confirm it loaded.

Details

From the project README

When to Use

Use this skill when:

  • Editing plugin hooks/scripts/adapters
  • Adding passive/active memory capture integrations
  • Wiring agent-specific setup behavior

Boundary Rules

  1. Keep adapters thin: parse input, call API/tool, return.
  2. Put complex logic in Go core (store/server/mcp).
  3. Avoid extra runtime dependencies in plugin scripts.
  4. Reuse a shared contract across all supported agents.

Narrow Pi Exception: Observation-Save Acknowledgement Recovery

plugin/pi native mem_save may resolve only an ambiguous acknowledgement because the Go server cannot observe that a client lost one. Go remains the sole authority for the durable ledger, canonical fingerprint, validation, conflicts, tombstones, retention, and mutation effects.

  • Generate one operation UUID before the initial dispatch and freeze the exact redacted payload and both destinations.
  • On ambiguity, query only authoritative GET /observations/save-result. A typed 404 with code observation_save_result_not_found permits one exact replay after the cancellable 250 ms backoff. A positive replay receipt succeeds immediately; only an ambiguous replay, including a replay 409 or 410, gets one final GET.
  • Keep existing total-deadline and caller-cancellation bounds. A lookup confirms success only with a positive ID and status: "committed"; a successful initial POST retains legacy positive {id} acknowledgement compatibility.
  • Initial received HTTP errors remain typed and never replay or self-heal. Caller cancellation is propagated; unresolved write uncertainty remains unknown, never saved.
  • This exception grants no other route or tool retry authority, no general retry framework, no local business ledger decision, and no telemetry exemption. Timing telemetry may not log the operation UUID; it grants no broader logging permission or change to existing user-facing unknown-outcome diagnostics that expose it for read-only lookup.

Compatibility Checklist

  • Claude Code flow still works
  • OpenCode flow still works
  • Gemini/Codex config paths remain valid
  • Docs reflect real integration behavior

Comments

Markdown supported