Skip to content

Latest commit

 

History

History
131 lines (103 loc) · 13.4 KB

File metadata and controls

131 lines (103 loc) · 13.4 KB

Changelog

1.0.2 - 2026-05-07

  • Fixed a project identity edge case where generated codex-agent-mem context inside AGENTS.md could be mistaken for the active project scope by MCP hosts or agent clients.
  • Preserved existing project root_path metadata when a later conflicting project update is observed, preventing accidental project-root drift.
  • Allowed mem_note_create to initialize a missing local project record before storing the first manual note, while keeping --read-only protections unchanged.
  • Added synthetic regression coverage for generated-context scope stripping, first-note project initialization, and conflicting project-root updates without publishing private workspace identifiers.

1.0.1 - Prepared 2026-05-06

  • Stabilized the public local-first MCP runtime for multi-client use while keeping the core package local, auditable, and SQLite-backed.
  • Normalized MCP structuredContent so list-returning tools expose object roots as {items, count} instead of root arrays. This is a wire-format compatibility fix for stricter MCP clients, not a data migration.
  • Added session-aware retrieval for persisted memory: agents can list recent sessions with mem_session_list and pass optional session_id to retrieval tools to avoid cross-session context bleed in broad project scopes. This is retrieval over stored local memory, not live current-turn awareness.
  • Added defensive startup scope resolution for broad workspaces: mem_scope_resolve exposes candidate lanes from explicit hints, and mem_bootstrap_context returns a session-scoped pack only when session_id is explicit; otherwise it returns narrowing guidance instead of silently loading a project-wide pack or auto-selecting a session.
  • Added mem_note_create as the explicit writable path for manual operational memory. Notes are persisted as indexed observations, can be scoped to a validated session_id, are blocked by --read-only, appear in mem_search, and are eligible for mem_context_pack; snapshots remain versioned state captures, not the manual note mechanism.
  • Hardened mem_snapshot_create / mem_snapshot_list provenance for broad project scopes: snapshots can be tied to an explicit internal session_id, invalid cross-project session IDs are rejected, and unscoped snapshots are no longer silently associated with the latest project turn.
  • Recalibrated public quickstart, Codex config examples, runtime guidance, and the MCP contract smoke so normal continuity installations are writable by default; --read-only remains an explicit retrieval-only audit/debug mode.
  • Aligned Codex bootstrap tool approvals with the MCP profile definitions and added anti-drift coverage so minimal, standard, and full approval surfaces stay matched to tools/list.
  • Split public validation claims into retrieval-only and writable-continuity evidence so read-only client smokes are no longer presented as full continuity validation.
  • Extended the MCP contract smoke to verify later-process continuity: a manual note written through one writable MCP subprocess must be found by mem_search, included in mem_context_pack, and return not_modified=true from a later subprocess over the same temporary SQLite database.
  • Documented that mem_note_create requires an existing project_key, and that the full Codex example approves writable note, snapshot, governance, repair, and restore tools.
  • Hardened Codex notify/API project identity resolution so broad workspace roots and technical working directories are not persisted as accidental project keys when the captured turn identifies a narrower repository, AGENTS scope, or project-state canonical name.
  • Hardened broad project-scope retrieval with visible multi-session scope warnings, project-wide candidate objective labeling, retrieval dedupe, per-session dominance caps, clearer session labels, search provenance, and persisted-memory freshness cues.
  • Kept the hardening conservative by excluding volatile age from stable pack hashes, deduping by type/status/text so operational states remain distinct, overfetching before search dedupe, preserving protected operational items under dominance caps, and reporting session-level version metadata without claiming per-observation capture certainty.
  • Added response-diet no-regression coverage for post-hardening retrieval: compact text keeps only scope breadcrumbs, unchanged packs still return not_modified=true, and public token-savings claims remain tied to reproducible fixtures rather than universal guarantees.
  • Kept compact content.text as the default response diet for clients that consume structuredContent, and documented when Google Gemini CLI / Google Antigravity should use response_mode=verbose to expose useful payload text to the model.
  • Changed the stdio bridge default so codex-agent-mem-mcp --daemon-url ... no longer exits after the defensive 300 second idle timeout unless --idle-timeout-seconds is explicitly provided.
  • Kept direct stdio behavior unchanged: direct codex-agent-mem-mcp still defaults to a 300 second defensive idle shutdown, and --idle-timeout-seconds 0 still disables it.
  • Serialized MCP request handling inside the optional threaded local daemon so one shared SQLite-backed server instance is not driven concurrently.
  • Hardened the optional local daemon for the public local-first line: loopback-only bind validation, optional bearer token auth for /mcp, sanitized public /health, and bearer-token forwarding from the stdio bridge.
  • Added a generated-context guardrail that marks retrieved memory as advisory project context rather than higher-priority instruction, plus public documentation that 1.0.x local SQLite storage is plaintext by default and must not be used as a secrets vault.
  • Added release validation coverage for bridge idle-timeout resolution, local daemon request handling, known_pack_hash / not_modified, and object-root list payloads.
  • This release keeps hosted/web/OAuth bridge work outside the public core and keeps token-savings claims tied to reproducible methodology rather than universal guarantees.

1.0.0 - 2026-04-21

  • Added low-impact MCP runtime modes with --profile minimal|standard|full, --read-only, and enriched mem_health_runtime fields for profile, mutability, cache, lazy initialization, and spawn-storm diagnostics.
  • Added response diet support: compact content.text by default, full data retained in structuredContent, and --response-mode compact|balanced|verbose for debugging or compatibility needs.
  • Added lazy store initialization so initialize, tools/list, and mem_health_runtime can run without opening SQLite.
  • Added short in-process caching for expensive read tools using project revision fingerprints instead of SQLite file mtimes.
  • Added stable pack_hash support for mem_context_pack, plus known_pack_hash / not_modified responses to avoid resending unchanged continuity packs.
  • Added local heartbeat-based runtime diagnostics, same_db_process_count, and spawn_storm_warning without adding a process-inspection dependency.
  • Added optional local runtime telemetry with bounded events.jsonl output and off|summary|debug modes.
  • Added an optional local MCP daemon and stdio bridge through codex-agent-mem-daemon and codex-agent-mem-mcp --daemon-url ...; stdio remains the default.
  • Added reproducible public verification evidence under docs/verification/, including token-savings metrics, lazy-init checks, read-only safety, response diet, telemetry smoke, and a sub-agent handoff scenario.

0.9.0 - 2026-04-18

  • Added governed memory policies for inclusion and exclusion control through mem_policy_validate, mem_policy_add, mem_policy_list, and mem_policy_remove.
  • Added selective inheritance links so one project can carry forward approved continuity from another project without blindly importing everything.
  • Added governed repair proposals and derived repair events through mem_repair_propose and mem_repair_apply.
  • Extended the context-pack builder so target policies also apply to inherited memory, preventing excluded items from leaking into generated packs.
  • Added a local policy CLI and inspector/UI support for governance state, including policies, inheritance links, repairs, and their compact summaries.
  • Hardened the MCP stdio runtime with configurable idle shutdown, signal-aware cleanup, explicit SQLite close, and lifecycle logging for process diagnostics.
  • Added mem_health_runtime, plus SQLite WAL / busy_timeout defaults better suited to multiple MCP and notify processes touching the same local database.
  • Switched bootstrap examples so --sync-project-doc is opt-in instead of on by default, while keeping automatic reinjection available when explicitly enabled.

0.8.0 - 2026-04-18

  • Added auditable memory provenance persisted per observation and exposed through mem_provenance.
  • Added diagnostic health reporting through mem_health, plus persisted health reports per project.
  • Added snapshot creation, listing, and restore flows through mem_snapshot_create, mem_snapshot_list, mem_snapshot_restore, and a local snapshot CLI.
  • Added provenance, health, and snapshot visibility to the FastAPI inspector and local UI.
  • Hardened diagnostic-turn filtering so mem_* verification runs do not pollute derived operational state or AGENTS.md.
  • Persisted richer context-sync observability, including budget reasons and sync build timing.

0.7.0 - 2026-04-18

  • Added mem_recent_changes to expose open-work deltas since the last meaningful sync baseline.
  • Added mem_scope_guard to surface must-not-drop continuity, active constraints, and closure conflicts.
  • Added budget=auto for context packs, selecting the smallest fitting reinjection profile from micro, normal, and full.
  • Persisted context-sync metrics by budget, including event counts and average compression ratio per budget.
  • Filtered diagnostic MCP and no-tools verification turns out of derived operational state so inspection runs do not pollute continuity.
  • Expanded the local inspection UI to surface recent changes and scope guard state alongside closure and sync metrics.

0.6.0 - 2026-04-18

  • Added hierarchical Definition of Done tracking across project, mission, and session scopes.
  • Added deterministic closure control with mem_open_work and mem_completion_check.
  • Added closure_mismatch metrics and persisted closure-check event summaries per project.
  • Added budgeted context packs (micro, normal, full) with compact reinjection stats.
  • Hardened inline extraction and semantic deduplication so DoD labels and near-duplicate blockers are classified correctly.

0.5.0 - 2026-04-18

  • Added derived operational state for objective, constraints, pending work, completed work, blockers, and completion claims.
  • Added scope guard rules to the generated continuity block so Codex carries forward open work and avoids false completion.
  • Added context sync metrics and persistence for generated pack events.
  • Expanded the inspector and API to surface operational state and context sync metrics.
  • Hardened heuristic extraction so semicolon-separated operational clauses are split instead of contaminating one field with another.

0.4.1 - 2026-04-18

  • Fixed the Windows MCP stdio transport by emitting ASCII-safe JSON on the wire and reconfiguring stdio to UTF-8.
  • Stabilized mem_context_pack and the other MCP retrieval tools when called from Codex CLI on Windows.

0.4.0 - 2026-04-17

  • Added generated working-memory context packs built from durable decisions and recent session summaries.
  • Added automatic AGENTS.md synchronization after Codex notify ingest so future sessions start with compressed continuity context.
  • Added mem_context_pack to the MCP surface and codex-agent-mem-refresh-context for manual context regeneration.
  • Added project UI support to inspect the generated working-memory pack and its approximate token budget.

0.3.0 - 2026-04-17

  • Added a local inspection UI served by FastAPI for projects, sessions, turns, observations, and decisions.
  • Added packaged HTML templates and CSS so the inspector works from installed wheels, not just from source checkouts.
  • Expanded the store and tests to cover inspector views and turn-level browsing.

0.2.1 - 2026-04-17

  • Updated the generated Codex config snippet to auto-approve the read-only MCP retrieval tools.
  • Updated the Codex config example and integration docs to match the real non-interactive Codex behavior.

0.2.0 - 2026-04-17

  • Restructured the project into a GitHub-ready repository root.
  • Added release-oriented packaging metadata, CI, and repository hygiene files.
  • Added codex-agent-mem-bootstrap-codex to generate ready-to-paste Codex config snippets.
  • Added codex-agent-mem-smoke to verify install, ingest, persistence, and retrieval quickly.
  • Fixed the optional HTTP notify wrapper to post the correct payload shape.
  • Aligned --api-base ingestion with the same /ingest/codex-notify contract used by direct Codex notify capture.
  • Hardened search with fallback behavior when FTS queries are malformed.
  • Expanded test coverage beyond the original v0.1 slice.
  • Added agent-facing and public-facing repository docs: AGENTS.md, CONTRIBUTING.md, SECURITY.md, quickstart, integration, support matrix, design decisions, and discoverability metadata.
  • Updated package metadata to reflect Apache 2.0 licensing and stronger public discoverability keywords.

0.1.0 - 2026-04-17

  • First executable slice: notify ingestion, SQLite persistence, FastAPI inspection API, and MCP retrieval.