E
engram-plugin-thin
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
- 01Keeps plugin adapters thin
- 02Places complex logic in Go core
- 03Avoids added script runtime dependencies
- 04Reuses a shared agent contract
- 05Defines Pi save-acknowledgement recovery limits
Use cases
- 01Edit plugin hooks, scripts, or adapters
- 02Add passive or active memory capture
- 03Wire agent-specific setup behavior
- 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-thinAfter installing, type/engram-plugin-thinin Claude Code to confirm it loaded.
Details
From the project READMEWhen to Use
Use this skill when:
- Editing plugin hooks/scripts/adapters
- Adding passive/active memory capture integrations
- Wiring agent-specific setup behavior
Boundary Rules
- Keep adapters thin: parse input, call API/tool, return.
- Put complex logic in Go core (
store/server/mcp). - Avoid extra runtime dependencies in plugin scripts.
- 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 typed404with codeobservation_save_result_not_foundpermits one exact replay after the cancellable 250 ms backoff. A positive replay receipt succeeds immediately; only an ambiguous replay, including a replay409or410, 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