v0.1.0
What's Changed
- ci: fix PR-gate permissions, add build/test, fix release startup failure by @jscott3201 in #2
- fix(deny): green the cargo-deny release gate + attribution by @jscott3201 in #1
- ci: tag-driven, gated releases via a reusable gate by @jscott3201 in #3
- chore(deps): realign selene-db to development HEAD (d8154b9) by @jscott3201 in #4
- feat(store): bi-temporal fact semantics (M2.T01) by @jscott3201 in #5
- feat(store): maintained current-state providers — typed membership + generation (M2.T02) by @jscott3201 in #6
- feat(consolidate): durable cursor + bounded background scheduler (M2.T03) by @jscott3201 in #7
- feat(consolidate): fact extraction + entity resolution (M2.T04a) by @jscott3201 in #8
- feat(store): supersession/contradiction materialization seam (M2.T05a) by @jscott3201 in #9
- feat(consolidate): supersession & contradiction detection (M2.T05b) by @jscott3201 in #10
- feat(store): summary-note materialization seam (M2.T06a) by @jscott3201 in #11
- feat(consolidate): conservative summarization (M2.T06b) by @jscott3201 in #12
- feat(retrieval): bi-temporal fact retrieval modes (M2.T07) by @jscott3201 in #13
- feat(retrieval): high-precision default path (M2.T08) by @jscott3201 in #14
- fix(consolidate): deterministic replay-idempotent pass audits + explicit namespace scoping by @jscott3201 in #15
- fix(consolidate+store): entity-identity consistency end-to-end + word-boundary retention by @jscott3201 in #16
- fix(consolidate): persist consolidation retry budget in the audit trail by @jscott3201 in #17
- fix(consolidate): mark episodes in_progress before running passes by @jscott3201 in #18
- fix(security): Luhn-validate credit-card redaction to cut false positives by @jscott3201 in #19
- fix: harden L3/L4 surface and config (M0-M2 review items 6-8) by @jscott3201 in #20
- chore: remove stray jiff scratch file committed by accident by @jscott3201 in #21
- feat(store): personalized PageRank associative signal (M3.T01 PR-A) by @jscott3201 in #22
- feat(retrieval): associative graph signal in recall (M3.T01 PR-B) by @jscott3201 in #23
- chore(store): adopt selene algo.pagerank label+limit; bump pin by @jscott3201 in #24
- feat(store): graph-expanded support scoring primitive (M3.T02 PR-A) by @jscott3201 in #25
- feat(retrieval): graph-expanded support scoring in recall (M3.T02 PR-B) by @jscott3201 in #26
- test(retrieval): conditioning validation metric (M3.T03) by @jscott3201 in #27
- feat(store): versioned skill store surface (M3.T04 PR-A) by @jscott3201 in #28
- feat(procedural): reliability-weighted skill memory (M3.T04 PR-B) by @jscott3201 in #29
- feat(procedural): bad-pattern memory (M3.T05) by @jscott3201 in #30
- feat(consolidate): conservative skill induction (M3.T06) by @jscott3201 in #31
- feat(chat): multi-provider chat-completion client (M3.T07) by @jscott3201 in #32
- feat(store): off-cursor distilled-note write surface (M3.T08 PR-A) by @jscott3201 in #33
- feat(consolidate): off-cursor LLM distiller (M3.T08 PR-B) by @jscott3201 in #34
- feat(store): RELATES_TO link-evolution write surface (M3.T09 PR-A) by @jscott3201 in #35
- feat(consolidate): off-cursor LLM link evolver (M3.T09 PR-B) by @jscott3201 in #36
- chore(deps): bump selene-db pin to development HEAD (00d2fd0a) by @jscott3201 in #37
- feat(domain): namespace authorization seam (M4.T01 PR-A) by @jscott3201 in #38
- feat(capture): enforce namespace authorization on writes (M4.T01 PR-B) by @jscott3201 in #39
- feat(retrieval): scope recall to the reader's visible set (M4.T01 PR-C) by @jscott3201 in #40
- refactor(id): migrate Id from ULID string to selene-native UUID (v7 + v8) by @jscott3201 in #41
- feat(mcp): scope recall to host-asserted teams (M4.T01 PR-E) by @jscott3201 in #42
- feat(consolidate): converge functional supersession under reordering (M4.T02 PR-A) by @jscott3201 in #43
- feat(consolidate): converge contradiction quarantine victim under reordering (M4.T02 PR-A2) by @jscott3201 in #44
- test(consolidate): property-test merge convergence and no-silent-loss (M4.T02 PR-B) by @jscott3201 in #45
- M4.T02 PR-C: CRDT formalization doc + Stats LWW convergence assertion by @jscott3201 in #46
- M4.T03 PR-A: Ed25519 verify primitive + Agent key surface by @jscott3201 in #47
- M4.T03 PR-B: signed-write provenance gate on the capture path by @jscott3201 in #48
- M4.T04 PR-A: attestation + quorum-promotion L0 store surface, config, posterior helper by @jscott3201 in #49
- M4.T04 PR-B: attestation gate + quorum promoter, engine API, docs by @jscott3201 in #50
- M4.T05 PR-A: L0 trust_fold store surface by @jscott3201 in #51
- Add brand logo hero to README by @jscott3201 in #52
- Drop the unwired WRITTEN_BY edge by @jscott3201 in #53
- Repo hygiene: rustdoc links, deny advisory ignore, CI doc gate by @jscott3201 in #54
- Document the shipped capture, retrieval, temporal, and consolidation stack by @jscott3201 in #55
- M4.T05 PR-B: pure ReliabilityFold + ReliabilityConfig by @jscott3201 in #56
- M4.T05 PR-C: ReliabilityScorer orchestration + fact-trust recompute by @jscott3201 in #57
- M4.T05 PR-D: reliability-decay demotion (Promoter::evaluate_reliability_demotion) by @jscott3201 in #58
- M4.T05 PR-E: reliability scorer engine facade (Option + refold-first sweep) by @jscott3201 in #59
- M4.T05 PR-F: wire the Signal::Trust re-rank into the retriever (competition ranking) by @jscott3201 in #60
- M4.T05 PR-G: trust-model docs + README + cache docstring by @jscott3201 in #61
- chore(deps): bump selene-db pin to e0234a3c (unblocks M4.T06) by @jscott3201 in #62
- M4.T06 PR-1: index AuditEvent occurred_at + actor_id + temporal composites by @jscott3201 in #63
- M4.T06 PR-2: by-subject and by-kind audit-history readers by @jscott3201 in #64
- M4.T06 PR-3: cross-cycle audit-id discriminator (cycle_id) by @jscott3201 in #65
- M4.T06 PR-4: audit_payload canonical signing codec by @jscott3201 in #66
- M4.T06 PR-5a: config surface for substrate audit signing by @jscott3201 in #67
- M4.T06 PR-5b: KeyRotation payload schema + AuditEventSigner trait seam by @jscott3201 in #68
- M4.T06 PR-5c1: AuditSigner crypto core + audit-keygen CI confinement gate by @jscott3201 in #69
- M4.T06 PR-5c2: seed custody (env-first, 0700/0600) + keyring trust anchor by @jscott3201 in #70
- M4.T06 PR-5d: KeyRotation emitters + keyring-anchored AuditVerifier by @jscott3201 in #71
- M4.T06 PR-5e: audit-write funnel with the blank->signed signature latch by @jscott3201 in #72
- M4.T06 PR-5f: namespace-scoped, verification-mapped audit read facade by @jscott3201 in #73
- M4.T06 PR-5g1: commit-time audit signing seam on the Store by @jscott3201 in #74
- M4.T06 PR-5g2: sign_audit_events goes live (provisioning + engine wiring) by @jscott3201 in #75
- M4.T06 PR-5h: docs/audit-subgraph.md — completes M4.T06 and Milestone 4 by @jscott3201 in #76
- M4.T05 PR-E2: automatic off-cursor D1 reliability-decay sweep by @jscott3201 in #77
- M5.T01 PR-1: pure decay primitives + per-tier half-life config by @jscott3201 in #78
- chore: move the selene-db pin to the Aionforge-Labs org by @jscott3201 in #80
- M5.T01 PR-2: importance + recency re-rank signals behind a caller clock by @jscott3201 in #79
- M5.T01 PR-3: stamp the host clock onto MCP search recalls by @jscott3201 in #81
- M5.T01 PR-4: decay and importance scoring docs by @jscott3201 in #82
- M5.T02 PR-1: pure forget-eligibility predicate by @jscott3201 in #83
- M5.T02 PR-2: ForgettingConfig surface, default off by @jscott3201 in #84
- M5.T02 PR-3: forgetting candidate page + protecting-reference probe by @jscott3201 in #85
- M5.T02 PR-4: soft-forget and unforget store writes by @jscott3201 in #86
- M5.T02 PR-5: the Forgetter orchestrator + forgetting policy by @jscott3201 in #87
- M5.T02 PR-6: engine facade — forget, unforget, and the watermark sweep by @jscott3201 in #88
- M5.T02 PR-7: the soft-forget retrieval gate by @jscott3201 in #89
- M5.T02 PR-8: acceptance mapping + the forgetting feature doc by @jscott3201 in #90
- M5.T02 pin rider: always-available audited pin/unpin point ops by @jscott3201 in #91
- M5.T02 pin-review fixes: per-transition audit ids, fail-loud pin probe, cycle coverage by @jscott3201 in #92
- M5.T03 S1: the erasure-cascade closure walk by @jscott3201 in #93
- M5.T03 S2: the hard-purge write primitive by @jscott3201 in #94
- M5.T03 S3: physical reclaim — Store::compact and the pressure probe by @jscott3201 in #95
- M5.T03 S4: the Eraser orchestrator by @jscott3201 in #96
- M5.T03 S5+S6: namespace authz over the cascade span + Memory::erase facade by @jscott3201 in #97
- M5.T03 S7: erasure docs + spec acceptance chain + S4-S6 review riders by @jscott3201 in #98
- M5.T04 PR-1: CoreBlock store conversion + identity-tier readers by @jscott3201 in #99
- M5.T04 PR-2: core-block write-set — genesis create + attested in-place edit by @jscott3201 in #100
- M5.T04 PR-3: CoreEditor gate + compare-and-swap rider by @jscott3201 in #101
- M5.T04 PR-3b: transition-bound core-edit votes + review riders by @jscott3201 in #102
- M5.T04 PR-4: engine + config — always-on CoreEditor, CoreBlockConfig, Memory facade by @jscott3201 in #103
- M5.T04 PR-5: recall eligibility — the always-include identity pre-pass by @jscott3201 in #104
- M5.T04 PR-6: close the edit-path existence oracle + render-stability riders by @jscott3201 in #105
- M5.T05 PR-1: pure drift primitives + audit kinds + DriftConfig by @jscott3201 in #106
- M5.T05 PR-2: Fact.cooled_until end-to-end + the behavior-window read by @jscott3201 in #107
- M5.T05 PR-3: drift baseline schema + detector in aionforge-forget by @jscott3201 in #108
- M5.T05 PR-4: engine drift wiring — sweep, warnings, baseline proposals by @jscott3201 in #109
- M5.T05 PR-5: off-cursor cooling stamp + rank-time trust modulation by @jscott3201 in #110
- M5.T05 docs: drift detection system doc + README row + retrieval note by @jscott3201 in #111
- M5.T05 rider: bind the drift baseline into the core-edit vote by @jscott3201 in #112
- M6.T01 PR-1: writer-family resolution + note-lineage reads by @jscott3201 in #113
- M6.T01 PR-2: pure CrossFamilyGuard + comparison-time family normalization by @jscott3201 in #116
- M6.T01 PR-3: ConsolidationGuardPolicy + config-surface mirror by @jscott3201 in #115
- M6.T01 PR-4: enforce the cross-family guard in distill + link evolution by @jscott3201 in #117
- M6.T01 PR-5: single-family startup warning via typed accessor + audit row by @jscott3201 in #118
- M6.T01 PR-6: substrate acceptance probe + AUDIT-edge distill-model linkage by @jscott3201 in #119
- M6.T01 PR-7: cross-family guard system doc + cross-references by @jscott3201 in #120
- M6.T01 rider: close the chatgpt-alias bypass + collision-proof guard-audit ids by @jscott3201 in #121
- M6.T02 PR-1: lock the recall-side untrusted-data tagging end to end by @jscott3201 in #122
- M6.T02 PR-2: refuse system-role writes at the capture funnel by @jscott3201 in #123
- M6.T02 PR-3: skip system-role episodes in fact extraction by @jscott3201 in #124
- M6.T02 PR-4: admin-gated reveal for system-role memories by @jscott3201 in #125
- M6.T02 PR-5: recommended MCP untrusted-data prompt template by @jscott3201 in #126
- M6.T02 PR-6: docs-sync — untrusted-data template + system-role exclusion by @jscott3201 in #127
- M6.T02 PR-7: review rider — bind the drift test, scope the residue claim, trust-agnostic errors by @jscott3201 in #128
- M6.T03 PR-1: FilterOutcome.marker_hits per-marker tuning counts by @jscott3201 in #129
- M6.T03 PR-2: vendor injection/benign corpus + report harness by @jscott3201 in #130
- M6.T03: injection-filter hardening — precision-first markers, binding corpus gate, per-marker metrics by @jscott3201 in #131
- M6.T03 review rider: close the possessive-determiner override gap by @jscott3201 in #132
- M6.T04 PR-1: red-team structural probe reports by @jscott3201 in #133
- M6.T05: subliminal trait-transfer red-team probe by @jscott3201 in #134
- M6.T06: signature skew and extraction red-team probes by @jscott3201 in #135
- M8.T01: full public library API surface by @jscott3201 in #136
- M8.T02: MCP prompt/resource foundation by @jscott3201 in #137
- M8.T02: MCP streamable HTTP transport by @jscott3201 in #138
- M8.T02: MCP lifecycle tools by @jscott3201 in #139
- M8.T02: MCP foreground consolidation runner by @jscott3201 in #140
- M8.T02: MCP client setup resources by @jscott3201 in #141
- M8.T02: MCP server status by @jscott3201 in #142
- M8.T02: MCP tool manifest resource by @jscott3201 in #143
- M8.T02: MCP compact server instructions by @jscott3201 in #144
- M8.T02: MCP tool safety annotations by @jscott3201 in #145
- M8.T02: MCP OAuth metadata helpers by @jscott3201 in #146
- M8.T02: MCP HTTP body limit by @jscott3201 in #147
- M8.T03: Doctor snapshot reports by @jscott3201 in #148
- M8.T03: CLI doctor command by @jscott3201 in #149
- M8.T03: Metrics inventory by @jscott3201 in #150
- M8.T03: Tracing spans by @jscott3201 in #151
- M8.T03: Audit subgraph completion by @jscott3201 in #152
- M8.T04: CLI MCP serve by @jscott3201 in #153
- M8.T04: Docker image by @jscott3201 in #154
- M8.T02: MCP token budget by @jscott3201 in #155
- M8.T02: MCP client OAuth guidance by @jscott3201 in #156
- M8.T02: OAuth serve input validation by @jscott3201 in #157
- M8.T02: MCP resource budget guard by @jscott3201 in #158
- M8.T06: Gate M6 red-team probes by @jscott3201 in #159
- M8.T04: Publish release artifacts by @jscott3201 in #160
- M8.T04: Lock down data directory permissions by @jscott3201 in #161
- M8.T04: Add explicit recovery command by @jscott3201 in #162
- M8.T05: Close public documentation by @jscott3201 in #163
- M8.T06: Assert release acceptance gate by @jscott3201 in #164
- fix(mcp): identify the server in the initialize handshake by @jscott3201 in #165
- feat(capture): refuse residue-only writes after marker excision by @jscott3201 in #166
- feat(capture): record a validated supersedes hint (PR-A) by @jscott3201 in #167
- feat(consolidate): enforce the writer-asserted supersedes hint (PR-B) by @jscott3201 in #168
- docs(readme): bring the README current with the built system by @jscott3201 in #169
- Refresh README for public repository by @jscott3201 in #170
- Prepare 0.1.0 release publishing by @jscott3201 in #171
- ci(release): initialize buildx for multiarch images by @jscott3201 in #172
- ci(release): optimize multiarch image builds by @jscott3201 in #173
Full Changelog: https://github.com/Aionforge-Labs/aionforge-memory/commits/v0.1.0