Skip to content

Latest commit

 

History

History
107 lines (92 loc) · 4.78 KB

File metadata and controls

107 lines (92 loc) · 4.78 KB

Changelog

All notable changes to the Starshard memory hub reference implementation are recorded here. Versions follow semver in spirit; this is a Phase-0 reference artifact, so breaking changes may happen — they will be called out.

[0.3.1] — 2026-04-25

Fixed

  • Removed maintainer-specific identifier (owner:macheng literal tag) from scripts/assumption_checker.py proposal payload and the SPEC-GAPS §12 rationale. The public reference implementation should not carry maintainer-specific identifiers; users running their own instance tag memories however they like.

[0.3.0] — 2026-04-25

Added

  • Assumption-layer conflict detection (Brian Williams ATMS-inspired). Each memory record may now carry an assumptions: list[str] field — the implicit preconditions a fact rests on — plus supersedes and superseded_by pointers for explicit replacement chains. See SPEC-GAPS.md §12 for the design rationale.
  • scripts/assumption_checker.py — runs every 12h via deploy/assumption-checker.{service,timer}. Reads memories with non-empty assumption lists, asks an LLM to find conflicts at the assumption-entailment level (not embedding similarity), writes proposal + awaits-user-approval + assumption-conflict memos. Nothing auto-applied; surface-don't-judge preserved.
  • Bidirectional supersedes pointers — creating a memory with supersedes: X automatically sets superseded_by: new_id on X in the same transaction.

Changed

  • Memory schema gains 3 optional fields: assumptions_json, supersedes_id, superseded_by_id. Idempotent ALTER TABLE migration on startup; v0.2 databases upgrade transparently.
  • MCP tool schemas for create_memory / update_memory reflect the new optional inputs.

Tests

  • 19/19 pytest passing (13 v0.2 + 6 new assumption-layer tests).
  • 0 PII hits (audit grep).

[0.2.1] — 2026-04-23

Fixed

  • Mirror sensitive-tag hard filter parity with digest. Mirror now drops memories tagged sensitive-* / relationship:* / tier-0-private before any LLM exposure. Per SAFETY-CHARTER cross-tier red line, redaction-by-filter is more auditable than redaction-by-prompting. Implementation lives in shared scripts/filters.py.

[0.2.0] — 2026-04-23

Added

  • scripts/mirror.py — nightly consolidation pass. Reads recent memories, asks an LLM to propose merge / supersede / add-tag / link / surface-conflict operations, writes one proposal + awaits-user-approval memory per run with up to 5 items. Surface only — never auto-applied.
  • scripts/digest.py — weekly Sunday-evening email digest. Pulls the last 7 days, generates a 400-700 word plain-text summary (headline + 5 learning bullets + open Mirror proposals + themes + stuck items), SMTPs to the configured address.
  • templates/CLAUDE.md — drop-in agent-side configuration that teaches a Claude Code (or compatible MCP client) session to list_memories(tag=briefing) at session start, search_memories before asking the user to re-explain context, and create_memory on every non-trivial decision with conventional tags + provenance.
  • scripts/deploy-aws.sh — one-command provisioner: resolves Ubuntu 24.04 arm64 AMI, creates key pair + security group, launches a t4g.small with cloud-init that installs Docker + runs the hub. Prints public IP and an MCP client config snippet on exit.
  • deploy/ — systemd unit files (mirror.service / mirror.timer / digest.service / digest.timer) and a launchd example for macOS hosts.
  • SPEC-GAPS.md — explicit log of design ambiguities encountered while implementing from architecture-v1 docs and the choices made. Companion document for architecture-v2 evolution.

Changed

  • Server entrypoint switched to ASGI factory pattern (uvicorn --factory app.main:create_app) so module imports do not open a database connection. Tests can import the package without touching disk.
  • README restructured to introduce the four-layer story (memory hub + mirror + assumption checker + digest) plus the Cloudflare Tunnel + Access production walkthrough.

[0.1.0] — 2026-04-23

Added

  • Initial Phase 0 reference implementation:
    • app/ — FastAPI server with SQLite (WAL + FTS5) backing, bearer-token middleware, JSON-RPC MCP bridge.
    • 5 core memory tools: create_memory, get_memory, update_memory, list_memories, search_memories.
    • REST surface mirroring the MCP tool set.
    • Dockerfile + compose.yaml for one-command local bringup.
    • 13 pytest smoke tests covering REST + MCP bridge + auth + archive semantics + content-size limit + FTS search.
  • INSTALL.md Cloudflare Tunnel + Access walkthrough.
  • Apache-2.0 license, SPDX headers on every source file.