Skip to content

feat: 1.4.5 release — governed recall, schema v8, Smart gateway - #111

Merged
Coding-Dev-Tools merged 20 commits into
mainfrom
release/1.4.0
Aug 4, 2026
Merged

feat: 1.4.5 release — governed recall, schema v8, Smart gateway#111
Coding-Dev-Tools merged 20 commits into
mainfrom
release/1.4.0

Conversation

@Coding-Dev-Tools

@Coding-Dev-Tools Coding-Dev-Tools commented Aug 4, 2026

Copy link
Copy Markdown
Owner

Release-ready 1.4.5: review-gated writes, prompt-eligibility enforcement, bounded adaptive context, schema v8 (confidence, pin lattice, tombstones), and the nine-tool Smart MCP gateway.

Core

  • schema v8: memories.confidence/pinned_at/unpinned_at + memory_tombstones, additive auto-migration on open (gated, idempotent)
  • governed recall: prompt-eligible gating on every ranking/capacity path, legacy provenance fallback, scoped canonical-seed expansion
  • conflict repair: deterministic conflicts_with relation + confidence discount clamped to never raise a neighbor's confidence
  • entity canonicalization: close two-hop chains to their root, gated to v4
  • sync: tombstone dedupe (earliest-wins) + tombstones_applied in totals
  • v1: external /documents/upload now untrusted (poisoning gate)

MCP

  • Smart gateway (9 tools): session, recall, remember, discovery, read/action, get_memory, update_memory, conflict_review; stable error envelopes
  • classic 33-tool surface preserved via engraphis-mcp-classic

Quality

  • 2788 tests collected; full suite green; 40/40 Playwright e2e green
  • ruff clean; eval gates recall@5 1.000; wheel/sdist build verified
  • docs: tool counts, schema v8, CHANGELOG reconciled with code

Coding-Dev-Tools and others added 2 commits August 3, 2026 02:16
Release-ready 1.4.0: review-gated writes, prompt-eligibility enforcement,
bounded adaptive context, schema v8 (confidence, pin lattice, tombstones),
and the nine-tool Smart MCP gateway.

Core:
- schema v8: memories.confidence/pinned_at/unpinned_at + memory_tombstones,
  additive auto-migration on open (gated, idempotent)
- governed recall: prompt-eligible gating on every ranking/capacity path,
  legacy provenance fallback, scoped canonical-seed expansion
- conflict repair: deterministic conflicts_with relation + confidence
  discount clamped to never raise a neighbor's confidence
- entity canonicalization: close two-hop chains to their root, gated to v4
- sync: tombstone dedupe (earliest-wins) + tombstones_applied in totals
- v1: external /documents/upload now untrusted (poisoning gate)

MCP:
- Smart gateway (9 tools): session, recall, remember, discovery, read/action,
  get_memory, update_memory, conflict_review; stable error envelopes
- classic 33-tool surface preserved via engraphis-mcp-classic

Tests/quality:
- 2788 collected; full suite green; 40/40 Playwright e2e green
- ruff clean; eval gates recall@5 1.000; wheel/sdist build verified
- docs: tool counts, schema v8, CHANGELOG reconciled with code

Co-authored-by: CommandCodeBot <noreply@commandcode.ai>
Comment thread engraphis/routes/v2_api.py Fixed

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 2ebf72ffcc

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread engraphis/mcp_server.py Outdated
Comment thread engraphis/core/store.py
Comment thread engraphis/mcp_server.py
Comment thread engraphis/core/scoring.py Outdated
Comment thread engraphis/mcp_server.py Outdated
Review fixes:
- v2_api: narrow exception handler so no internal details reach the response (CodeQL)
- mcp_server get_memory: enforce repo scope on links/chain (cross-repo title leak)
- mcp_server get_memory: return real confidence from the inspected record
- store: run entity canonicalization on every open + live token-overlap merge on
  upsert_entity (aliases now merge in normal operation, not only v4 migration)
- scoring: drop non-finite arm scores before normalization (NaN no longer max)
- docs: MCP_TOOLS/SKILL/ARCHITECTURE now list nine Smart tools; checksums updated

Graph layout:
- communities mode keeps origin-based centering so a released drag stays put
  (function-target community grid fought the drag-release e2e contract)
- classic/static copies stay byte-identical

Co-authored-by: CommandCodeBot <noreply@commandcode.ai>
@Coding-Dev-Tools

Copy link
Copy Markdown
Owner Author

All six review findings are addressed in b96b2d0:

  • CodeQL (v2_api.py): narrowed the broad exception handler so no internal details or exception object reach the response.
  • P1 repo-scope leak (mcp_server.py get_memory): links/chain now confined to the target's repo when repo-scoped; workspace-scope reads still surface the full workspace.
  • P1 canonicalization reachability (store.py): the canonicalization pass now runs on every open (not only v4), and upsert_entity performs a live bounded token-overlap merge so aliases written after open converge. Verified: fresh DB, token-overlap compact-equality, distinct-identity (C++/C#), and upgrade scenarios.
  • P1 tool inventory (docs): docs/MCP_TOOLS.md, skills/engraphis-memory/SKILL.md, and docs/ARCHITECTURE_V3.md now list nine Smart tools; skill-assets.sha256 regenerated.
  • P2 NaN normalization (scoring.py): non-finite values are dropped as missing evidence (all-NaN arm contributes nothing, never a max score); test updated to the corrected contract.
  • P2 confidence null (mcp_server.py): engraphis_get_memory now returns the record's real confidence.

Local verification: full offline suite green, ruff clean, 40/40 Playwright e2e green (including the graph drag-release specs).

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: b96b2d031d

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread engraphis/service.py
Comment thread engraphis/service.py Outdated
Comment thread engraphis/core/store.py Outdated
Comment thread engraphis/core/store.py Outdated
…rejected

Policy: every local-agent write is immediately prompt-eligible. The review
gate now applies only to explicitly external/imported sources, and the
deterministic poisoning guard still overrides approval for detected payloads
(quarantine always wins, never hidden from the review inbox).

- service: local-agent sources (agent, intent_api) create approved memories
  directly; external sources remain pending; quarantine overrides both
- poisoning: apply_quarantine_metadata resets review_state to quarantined so
  a detected payload can never keep an approved label
- engine: re-approving an approved record is an idempotent no-op
- mcp: ingest uses the local-agent source path
- docs: WRITE_REVIEW/MCP_TOOLS updated to the new boundary
- tests: updated to the new policy; full suite green, ruff clean

Also:
- .dockerignore: drop BuildKit-incompatible character-class patterns (docker CI)
- pi integration test: expect nine Smart tools
- consolidate: exception type (not message) in client-facing error report (CodeQL)

Co-authored-by: CommandCodeBot <noreply@commandcode.ai>
@Coding-Dev-Tools

Copy link
Copy Markdown
Owner Author

Policy: memory creation needs no permission — only poisoned content is rejected

Pushed in 31843ea. Every local-agent write is now immediately prompt-eligible; the review gate applies only to explicitly external/imported sources, and the deterministic poisoning guard still overrides approval for detected payloads (quarantine always wins and is never hidden from the review inbox).

Also included in this push:

  • docker CI fix: removed BuildKit-incompatible character-class patterns from .dockerignore (was failing \docker build + health smoke)
  • Pi extension: integration test now expects the nine-tool Smart surface (was failing both Pi CI jobs)
  • CodeQL: consolidate's client-facing error report now carries only the exception type, not the message (was failing \Analyze python\ with 52 stack-trace-exposure findings)

Local verification: full offline suite green, ruff clean, 40/40 Playwright e2e green.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

self.store._fts_upsert(mid, row["title"], row["content"], kw)

P2 Badge Rebuild semantic indexes after changing the title

When title changes, this refreshes only FTS even though memory embeddings are created from title + "\n" + content. The portable vector and active ANN index therefore continue representing the old title, so semantic ranking remains stale for queries matching either the old or new title until a full embedding rebuild; re-embed the updated text and upsert both vector mirrors here.

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread engraphis/core/sync.py Outdated
Comment thread engraphis/core/engine.py Outdated
- secrets: add redact_secrets() — PEM blocks, credential patterns, DSNs, and
  assignments become a safe marker (reject_secrets still fails closed for
  product writes; this is for callers that need a safe copy, e.g. eval corpora)
- eval.external: LoCoMo/LongMemEval loaders redact source text before the
  fixture reaches the engine and report source_secret_redactions
- pi: override hono >= 4.12.34 (npm audit moderate ReDoS in CORS middleware)
- dockerignore: replace character-class pattern with plain globs (BuildKit
  "syntax error in pattern")

Co-authored-by: CommandCodeBot <noreply@commandcode.ai>

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 166a7fbd68

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread engraphis/core/consolidate.py
Comment thread engraphis/routes/memory.py
Comment thread engraphis/update_check.py Outdated
@Coding-Dev-Tools Coding-Dev-Tools changed the title feat: 1.4.0 release — governed recall, schema v8, Smart gateway feat: 1.4.5 release — governed recall, schema v9, Smart gateway Aug 4, 2026
@Coding-Dev-Tools Coding-Dev-Tools changed the title feat: 1.4.5 release — governed recall, schema v9, Smart gateway feat: 1.4.5 release — governed recall, schema v8, Smart gateway Aug 4, 2026

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: ea7c8f1c6c

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread engraphis/app.py
Comment thread engraphis/core/consolidate.py Outdated

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: efa51fe85c

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread engraphis/service.py

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: e2bf95d063

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread integrations/hermes/engraphis/__init__.py
Comment thread engraphis/core/consolidate.py
Comment thread engraphis/core/consolidate.py Outdated

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 873f0b3d1c

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread engraphis/core/consolidate.py Outdated
Comment thread engraphis/core/consolidate.py
Comment thread engraphis/core/consolidate.py
Comment thread engraphis/core/consolidate.py
Comment thread engraphis/core/sync.py

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 9f0cc4cf07

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread engraphis/core/store.py Outdated
Comment thread engraphis/core/store.py Outdated

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: e14ff3a4d1

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread engraphis/core/consolidate.py

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 61698f739c

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread engraphis/core/recall.py Outdated

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 68196d852a

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread engraphis/core/consolidate.py Outdated
Comment thread engraphis/core/recall.py
@Coding-Dev-Tools
Coding-Dev-Tools merged commit 26a7344 into main Aug 4, 2026
22 checks passed

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 93f085a9b1

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread engraphis/core/consolidate.py
Comment thread tests/test_eval_consolidation_ranking.py
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants