diff --git a/.claude-plugin/skill-assets.sha256 b/.claude-plugin/skill-assets.sha256 index c74687e6e..24d8b908e 100644 --- a/.claude-plugin/skill-assets.sha256 +++ b/.claude-plugin/skill-assets.sha256 @@ -1,6 +1,6 @@ f6343d92f4c7249ea5789facf391c754537df888f0ca83373acad147e7a41c83 .claude-plugin/marketplace.json bb219dc0cec6364a6c29f3f5fdd4d4aee191840404a61e015a35d63b25d42b38 .claude-plugin/plugin.json -aeee7a94671ceb306fe2d24c5acc9f2d96ad8a8e7410536566799eea6265f080 skills/engraphis-memory/SKILL.md +84b3792a88446667ca75893b2dcd30280dd89ee7fb7a88c90bc0b123dc005ccd skills/engraphis-memory/SKILL.md 055655db84af07561d002f0c69744313d8413c39f3e873f941f0fa0b1e76dc66 skills/engraphis-memory/references/CONVENTIONS.md 9d090a03f5b3f36a34d91f66b72c3844591f6915755ac3a6c6ba5f1b16977de5 skills/engraphis-memory/references/SCOPING.md 3e9b71a1730407e1cb7bdd266d84582e90c4d231135abbfbc8c646c0a99c8786 skills/engraphis-memory/references/TOOLS.md diff --git a/docs/AGENT_CONNECT.md b/docs/AGENT_CONNECT.md index 47c9bef25..ae7faa136 100644 --- a/docs/AGENT_CONNECT.md +++ b/docs/AGENT_CONNECT.md @@ -73,6 +73,25 @@ actual Engraphis tool call; connecting an app does not copy its entire chat hist Engraphis documents and tests generic MCP transports; it does not claim client-specific support unless that client has a maintained setup guide and integration test. +## Advisory decisions (Jev) + +Engraphis exposes its advisory decision engine as a discovered capability rather than a direct +Smart tool. Call `engraphis_discover_actions(task="advisory decision")`, confirm the returned +canonical action is `decide`, then run it through `engraphis_execute_action` with its +`schema_digest`; local heuristics answer by default. Remote Jev also needs +`ENGRAPHIS_DECISION_BACKEND=byok|managed` and per-call opt-in (`allow_remote=true` plus a +`public` or `internal` classification), and uses TypeSafe BYOK or an included Pro/Team allowance +when the hosted service enables it. Decisions are advice: they never authorize a command, change +memory, or certify completion. + +A standalone Jev surface is also available for harnesses that want it: +[jev-decision](https://github.com/Coding-Dev-Tools/jev-decision) provides `jev`/`jev-mcp` with +`jev_decide`, `jev_guard_command`, `jev_verify_completion`, `jev_read_evidence`, +`jev_prune_output`, and `jev_status`, a shared daily budget ledger, and an optional +escalate-only pre-tool shell guard. Its harness entries reference a credential environment +variable; never paste the key into a configuration file. Engraphis keeps its own provider key in +`~/.engraphis/config.env`. + ## Host-owned conversation history An SDK or HTTP host that already owns the conversation transcript can call diff --git a/skills/engraphis-memory/SKILL.md b/skills/engraphis-memory/SKILL.md index 74ddae816..04cfbe578 100644 --- a/skills/engraphis-memory/SKILL.md +++ b/skills/engraphis-memory/SKILL.md @@ -31,6 +31,19 @@ absent, see [Setup](#setup). Do not fall back to ad-hoc notes. The Smart gateway exposes these nine tools directly; advanced capabilities remain available through discovery and the validated executors. +### Advisory decisions + +The decision engine is available through the same gateway and is **advisory only**. When a shell +command looks risky, two remembered facts may contradict each other, retrieved evidence looks too +weak to answer, or you are about to claim a task is complete, call +`engraphis_discover_actions(task="advisory decision")` and confirm the returned canonical action +is `decide`; then run it through `engraphis_execute_action` with its `schema_digest` and the +matching `kind` (`guard_command`, `classify_contradiction`, `verify_support`, `verify_completion`, +or `custom`). Local heuristics answer by default. Remote Jev also needs +`ENGRAPHIS_DECISION_BACKEND=byok|managed`, per-call opt-in with `allow_remote=true`, and a +`public` or `internal` data classification; without all of those, nothing leaves the machine. A decision never +authorizes a command, replaces tests or user approval, or certifies completion. + Memory here is **scoped, typed, bi-temporal, and self-maintaining**: writes are deduplicated and contradictions supersede (never silently overwrite), and forgetting lowers priority instead of hard-deleting. You get those guarantees for free *if* you use the right tool with the right scope.