Skip to content

Commit d7d597c

Browse files
feat: Engraphis 1.7 release — full changeset (#186)
* fix(integrations): default SessionStart hook to terse 300-char context The 1500-char prose context was actively harmful on Qwen 3.7 Flash (bench_v1/V12: -0.067 substring score vs no-memory baseline) and only marginally helpful on larger models. Smaller models get distracted by dense technical context and lose focus on the actual question. Switch the default to a 300-char "[n] first-sentence" compression of the upstream MCP context. The compression prefers the explicit "[n]" markers that engraphis_session already emits; falls back to period-splitting for unnumbered prose. Always fails open: returns the original context unchanged on any parse failure. Users who want the original 1500-char prose can opt in with ENGRAPHIS_HOOK_FORMAT=prose. Tests cover both modes, the env override, the fail-open behaviour, and the per-fact budget cap. 19/19 tests pass (10 existing + 9 new). ruff check clean. * fix(graph): restore correct Line-width range in the classic dashboard slider The classic dashboard shipped a `data-graph-scale="10"` attribute on the Line-width slider that multiplied the displayed value by 10 (min="2" max="45") but never divided it back before reaching the engine. Picking the `communities` preset put `linkw=7.2` into the engine, which renders edges at `0.82 * 7.2 ~= 5.9` pixels - ten times thicker than the `GRAPH_PRESETS.communities.linkw = 0.72` the engine was designed for. The Ledger already ships the raw range (min="0.1" max="2" step="0.01") and a 0.72 default, so the classic dashboard now matches it. Removing the `data-graph-scale` keeps the round-trip lossless: the slider value the user sees is the value the engine receives. A regression test parses `GRAPH_PRESETS` from `classic_assets/dashboard.js`, asserts each preset's `linkw` is reachable on the slider, and asserts the `data-graph-scale` attribute never re-appears on the `linkw` input. Cache busters on the served CSS/JS bumped to v=20260902-classic-linkw-slider-1. Co-authored-by: CommandCodeBot <noreply@commandcode.ai> * feat: Engraphis 1.7 release — full changeset Version 1.7 across pyproject.toml, __init__.py, commercial_manifest.json, marketplace.json, plugin.json, and CHANGELOG.md. Core changes: semantic_confidence_calibration default True, ProfileConfig arm_candidate_k_default=200, graph_seed_fallback opt-in, store id-kind whitelist with allow_unsafe escape hatch, tightened valid_to<=valid_from with quarantine-marker exception, scored LIKE fallback, audit hash-chain prev_hash + AUDIT_ACTORS, per-version schema_migrations, secure_erase_impact, _CAPABILITY_INDEX TTL/LRU, MCP confirmed attestation for destructive tools, CLI --workspace alias. Includes 7 new release test files, grounded distractor dataset, and .gitignore fix for dashboard_slider_test.png. All 12 CI/eval gates verified: ruff clean, pyright 0 errors, pytest all pass, eval harness/ablation/reinforcement/adversarial/ grounded/code_arm all PASS. * fix(pi): bump fast-uri to 3.1.7 and qs to 6.16.0 in shrinkwrap CI's `npm audit --omit=dev` gate fails on fast-uri 3.1.5 (GHSA-5jgf-p345-68v8, GHSA-f65p-4m7j-42xc, GHSA-fph4-wmhf-6fwf, GHSA-jqff-g426-hqxp — high) and qs 6.15.3 (moderate). `npm audit fix --package-lock-only` moves fast-uri to 3.1.7 and qs to 6.16.0 with no API change; verify+integration suites pass locally (21/21) and audit now reports 0 vulnerabilities. * docs: clarify dashboard import wizard zero-token loopback behavior --------- Co-authored-by: CommandCodeBot <noreply@commandcode.ai>
1 parent 6f1b726 commit d7d597c

82 files changed

Lines changed: 5969 additions & 3422 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎.claude-plugin/marketplace.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
"name": "engraphis-memory",
1010
"source": "./",
1111
"description": "Discipline for giving agents durable, scoped, explainable memory across sessions and repos with the Engraphis MCP tools.",
12-
"version": "1.6"
12+
"version": "1.7"
1313
}
1414
]
1515
}

‎.claude-plugin/plugin.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "engraphis-memory",
3-
"version": "1.6",
3+
"version": "1.7",
44
"description": "Give agents durable, scoped, explainable memory across sessions and repos via the Engraphis MCP tools. Use when you learn something worth keeping, need prior context before acting, or ask why/how a fact changed. Covers remember/recall, why/timeline, forget/pin/correct, sessions, and code search.",
55
"author": {
66
"name": "The Engraphis Authors",

‎.claude-plugin/skill-assets.sha256‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
4c18cdb509babb853ac7e5283ca9b309e2669b82ff098f3acf33238a9e4c1114 .claude-plugin/marketplace.json
2-
94bfa06317a8fe6a6a7e204bb70c5abdc9e4bbc34d79dd6f8447a30140bc8b85 .claude-plugin/plugin.json
1+
cfff3064e31d0547e990f325d26fc172397d2d7b453230d5d52aebc7ea3cc79b .claude-plugin/marketplace.json
2+
02259d5c35da8c46aac9891655ae3623fc9cb4002aa65d429435714319999745 .claude-plugin/plugin.json
3+
4bc8979b9ffeb97190960e551dbf4ddc6f7aeeb7b86894fd2298a59ff0001efa skills/engraphis-memory/SKILL.md
34
055655db84af07561d002f0c69744313d8413c39f3e873f941f0fa0b1e76dc66 skills/engraphis-memory/references/CONVENTIONS.md
45
62019760766ff472a76a0f81437898f39e3c1fe2631732b7b7733e50c1ad837f skills/engraphis-memory/references/SCOPING.md
5-
fcb5b4d939bda7d18e4b75c0e9106df4240aa7f8eabe8218e4e41f0038fa3df8 skills/engraphis-memory/references/TOOLS.md
6-
0f98098df695b9a00dc78402911124ebf09a4a058f6c8bec2c6234ec61fac13a skills/engraphis-memory/SKILL.md
6+
d65721c1cc29faf975138a99f07bdee29ac49a9bc64b0737001781abc14407be skills/engraphis-memory/references/TOOLS.md

‎.env.example‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@
77
# ── Server ──────────────────────────────────────────────────────────────────
88
ENGRAPHIS_HOST=127.0.0.1
99
ENGRAPHIS_PORT=8700
10+
# Port precedence for the dashboard bind: a platform-injected $PORT (Railway/Fly/Heroku)
11+
# wins over ENGRAPHIS_PORT; local and Compose runs without $PORT use ENGRAPHIS_PORT.
12+
# Docker Compose pins both PORT and ENGRAPHIS_PORT to ENGRAPHIS_COMPOSE_PORT (below).
1013
# The public package supports only customer mode: dashboard, memory, and managed-service
1114
# clients. Hosted vendor, relay, compute, and worker roles are not distributed here.
1215
ENGRAPHIS_SERVICE_MODE=customer

‎.github/workflows/release.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ jobs:
6060
6161
- name: Full release gate
6262
run: |
63-
python scripts/check_commercial_manifest.py
63+
if [ -d website ]; then python scripts/check_commercial_manifest.py --website-root website; else python scripts/check_commercial_manifest.py; fi
6464
python scripts/externalize_dashboard_assets.py
6565
ruff check .
6666
pyright

‎.gitignore‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,9 @@ internal/
8888
# tracked _smoke*.mjs / _measure_*.mjs must be removed with `git rm` (see audit handoff).
8989
/_*.mjs
9090

91+
# Generated screenshot from tools/manual_slider_test.js — throwaway test artifact.
92+
/dashboard_slider_test.png
93+
9194
# Local machine-specific launchers (absolute user paths / PM2 deploy specifics — not portable)
9295
/Start-Engraphis-Dashboard.bat
9396
/Engraphis Dashboard.lnk

‎BENCHMARKS.md‎

Lines changed: 380 additions & 380 deletions
Large diffs are not rendered by default.

‎CHANGELOG.md‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
All notable changes to Engraphis are documented here. Format loosely follows
44
[Keep a Changelog](https://keepachangelog.com/); versions use SemVer.
55

6-
## [Unreleased]
6+
## [1.7] - 2026-09-03
77

88
### Added
99

@@ -200,10 +200,10 @@ All notable changes to Engraphis are documented here. Format loosely follows
200200
the matching `RecallEngine(arm_candidate_k_cap=...)` constructor argument) that clamps both
201201
the first-page widening (`candidate_k + min(250, candidate_k*3)`) and the second-page
202202
ceiling, so operators can trade untrusted-scope widening for latency on the new k=50
203-
default without code changes. The accompanying benchmark test,
204-
`test_recall_arm_candidate_k_cap.py`, uses a 300-fact trusted corpus because both requested
205-
arm depths clamp to the same 49 rows on a smaller corpus and the timing assertion was
206-
unreliable. Default behaviour is unchanged.
203+
default without code changes. The accompanying benchmark test,
204+
`test_recall_arm_candidate_k_cap.py`, uses a 300-fact trusted corpus because both requested
205+
arm depths clamp to the same 49 rows on a smaller corpus and the timing assertion was
206+
unreliable. Default behaviour is unchanged.
207207
- Import previews now page the source manifest exactly like execution, so vaults whose manifest
208208
outgrew one list page (10k identities) no longer show manifest-only files as silently absent
209209
from the preview plan; beyond-boundary rows are reported as `missing` instead of dropped.

0 commit comments

Comments
 (0)