Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
d87b182
docs: plan scoped Hermes skill integration
wolverin0 Aug 7, 2026
ebaceb1
feat: add durable session scope binding
wolverin0 Aug 7, 2026
7404bb9
feat: add governed Hermes memory provider
wolverin0 Aug 7, 2026
3a6a083
feat: add governed personal skill lifecycle
wolverin0 Aug 7, 2026
2cc7265
fix: stabilize capture convergence gate
wolverin0 Aug 7, 2026
2df2bfe
fix: harden scheduled MCP secret loading
wolverin0 Aug 7, 2026
7dda33b
fix: stabilize Windows JSON CLI output
wolverin0 Aug 7, 2026
be192ff
fix: load Hermes scheduler role assignment
wolverin0 Aug 7, 2026
5fb0852
docs: record Hermes rollout convergence
wolverin0 Aug 7, 2026
ffd92b4
fix: expose Hermes memory provider shim
wolverin0 Aug 7, 2026
5bdc8fa
test: isolate MCP host allowlist fixture
wolverin0 Aug 7, 2026
e1a8e85
docs: start Hermes 24-hour observation
wolverin0 Aug 7, 2026
bc368c1
feat: inject governed skills into Hermes recall
wolverin0 Aug 8, 2026
251f0aa
docs: record P5 activation and clean observation gate
wolverin0 Aug 8, 2026
d8a9f8a
docs: add governed paper research roadmap
wolverin0 Aug 8, 2026
41eb544
docs: record primary paper radar review
wolverin0 Aug 8, 2026
0371173
feat: add paper research evaluation harness
wolverin0 Aug 8, 2026
a2a55a9
feat: add sustainability evaluation telemetry
wolverin0 Aug 8, 2026
d10b1ee
feat: add shadow memory budget policy
wolverin0 Aug 8, 2026
335cea9
feat: add governed evidence rehydration
wolverin0 Aug 8, 2026
a840d8b
feat: add governed temporal projections
wolverin0 Aug 8, 2026
1115df7
feat: add governed skill outcome evaluation
wolverin0 Aug 8, 2026
d4d9aad
fix: stabilize scheduled graph capture
wolverin0 Aug 9, 2026
b7ddebd
docs: arm repaired P5 observation
wolverin0 Aug 10, 2026
ea00d63
fix: make P5 observation gates fail closed
wolverin0 Aug 11, 2026
352e3fa
chore: refresh GitNexus worktree index
wolverin0 Aug 11, 2026
79b2f85
docs: record governed remediation checkpoint
wolverin0 Aug 11, 2026
21ba04b
fix: encode observation prompts as UTF-8
wolverin0 Aug 12, 2026
a4dd991
chore: refresh GitNexus after gate fix
wolverin0 Aug 12, 2026
e8c5d3f
fix: lease capture jobs just in time
wolverin0 Aug 12, 2026
92609f0
fix: harden Hermes durable delivery
wolverin0 Aug 12, 2026
c9e05e3
docs: record P5 repair4 OAuth blocker
wolverin0 Aug 12, 2026
d858e9e
chore: refresh GitNexus after P5 repair4
wolverin0 Aug 12, 2026
36db18d
fix: bind Dreaming task providers explicitly
wolverin0 Aug 12, 2026
c8bf745
docs: correct P5 provider drift evidence
wolverin0 Aug 12, 2026
fcbb92b
chore: refresh GitNexus after provider repair
wolverin0 Aug 12, 2026
7be4c83
docs: record P5 repair5 verification
wolverin0 Aug 12, 2026
b4743ff
test: retain P5 repair5 verifier artifacts
wolverin0 Aug 12, 2026
fb7e5d8
chore: refresh GitNexus index metadata
wolverin0 Aug 12, 2026
b46fa74
docs: record P5 PR evidence
wolverin0 Aug 12, 2026
fa284ef
fix: preserve P5 gate and evidence results separately
wolverin0 Aug 12, 2026
bb23d2a
test: limit registry launcher checks to Windows
wolverin0 Aug 12, 2026
f7d1981
docs: refresh generated release truth
wolverin0 Aug 12, 2026
2cc2243
test: harden Hermes timing and delivery checks
wolverin0 Aug 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
675 changes: 675 additions & 0 deletions .planning/HERMES-SCOPE-SKILLS-INTEGRATION-2026-08-07.md

Large diffs are not rendered by default.

30 changes: 15 additions & 15 deletions .planning/MEMORYMASTER-DREAMING-V1.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
<!-- doc-head: native Dreaming contract; Gemini extraction and GLM consolidation -->
# MemoryMaster Native Dreaming V1
> Covers: quiet transcript capture, asynchronous LLM consolidation, governed candidate writes, rollout, measurement, and rollback.
> Key terms: Codex, Claude, OpenCode OAuth, GPT-5.6 Terra, exact evidence spans, capture ledger, candidate-first.
> Read this before enabling Dreaming hooks, scheduling the worker, changing provider models, or activating candidate writes.
> Default safety posture: disabled until explicitly installed; shadow processing before activation; never auto-confirms claims.
> Authority: the claims store remains authoritative; the auxiliary capture ledger is replay state, not a second memory database.
> Status: CURRENT implementation and stabilization contract; replacement 24-hour observation passed.
# Covers: quiet capture, asynchronous consolidation, governed writes, rollout, measurement, and rollback.
# Key terms: Gemini, GLM, exact evidence spans, capture ledger, candidate-first, task-bound providers.
# Read when: enabling Dreaming, scheduling the worker, changing provider models, or activating writes.
# Authority: claims remain authoritative; the auxiliary capture ledger is replay state, not a memory database.
# Status: CURRENT; task-bound providers prevent ambient configuration drift and false-success results.
<!-- /doc-head -->

## Intent

Expand Down Expand Up @@ -82,20 +83,19 @@ including schema-rejection paths, so hourly runs do not accumulate a second
transcript archive. OpenCode credentials remain owned by OpenCode and are never
read, copied, logged, or persisted by MemoryMaster.

The local vNext stabilization uses ChatGPT OAuth for both stages:
`openai/gpt-5.6-terra` at medium effort extracts typed evidence-linked
candidates, while `openai/gpt-5.6-luna` at low effort performs the harder
lifecycle comparison. GPT-5.4 Mini was removed from the local extraction
configuration after live runs reproduced exit failures, malformed JSON, and
low exact-evidence yield. Terra remains separate from Luna so model-specific
stage budgets cannot consume one another. These are local activation choices;
the portable extractor default remains Gemini.
The active local configuration uses `gemini-3.5-flash-lite` for typed,
evidence-linked extraction and `zai-coding-plan/glm-5.2` for lifecycle
comparison. The scheduled action embeds both selections, clears stale variants,
and runs Python in isolated mode, so ambient user variables cannot silently
replace the chosen pair. Capture errors make the task fail nonzero even if the
separate Dreaming phase has no errors. The portable extractor default remains
Gemini and the portable consolidator default remains GLM.

Verify account readiness without exposing credentials:

```powershell
opencode auth list
opencode models openai | Select-String 'openai/gpt-5.6-luna'
opencode models zai-coding-plan | Select-String 'zai-coding-plan/glm-5.2'
```

The scheduled task must run as the same Windows user that authenticated OpenCode. Missing CLI/account/model availability produces an actionable, retryable failure; it never silently switches providers.
Expand Down
216 changes: 216 additions & 0 deletions .planning/PAPER-RADAR-REVIEW-2026-08-08.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,216 @@
# MemoryMaster paper-radar review - 2026-08-08
# Covers: primary-paper findings, current-system gaps, and bounded implementation decisions for MemoryMaster.
# Key terms: paper radar, filesystem memory, BudgetMem, A2RAG, temporal memory, governed skills, Mem2ActBench.
# Read when: selecting research-derived work or checking why a memory technique was adopted, benchmarked, or rejected.
# Sources: VoltAgent radar commit c8502b6 plus 18 version-pinned arXiv PDFs; upstream summaries are discovery only.
# Verdict: adopt bounded capabilities, benchmark seven hypotheses, retain existing boundaries, reject wholesale rewrites.
# Updated: 2026-08-08 after metadata triage, primary-PDF extraction, result/limitation review, and figure inspection.

## Executive verdict

The papers do not justify replacing MemoryMaster. They reinforce its strongest
choices: authoritative governed claims, preserved evidence, explicit scope,
lifecycle state, human promotion, and graph results rehydrated through claims.
They also expose five useful gaps:

1. LongMemEval retrieval and QA do not prove that an agent can apply memory to
a tool action without hallucinating missing parameters.
2. Graph recall rehydrates claims, but it lacks a bounded fallback that maps a
graph/claim signal back to exact evidence excerpts when extraction omitted a
qualifier.
3. `event_time`, validity intervals, and supersession exist, but temporal recall
still ranks mostly by freshness instead of query time, occurrence time, and
durative state.
4. `personal-skill-v1` has governance, versions, validation, and citations, but
not explicit execution outcomes or failure-derived warnings.
5. Token budgets exist, but cost is not attributed consistently to retrieval,
extraction, graph expansion, evidence admission, skill review, and answer
generation stages.

The first implementation wave must add evaluation and telemetry before changing
retrieval. No paper-derived behavior becomes a default without a reproducible
quality or cost win on MemoryMaster's authoritative path.

## Review scope and evidence standard

- Discovery feed: `VoltAgent/awesome-ai-agent-papers` at commit
`c8502b6acd3978a84b8b25453eda24be83088d00`.
- The pinned Memory & RAG section contains 57 parseable paper records although
its heading says 56 and its table of contents says 57. Parser output, not the
displayed count, is authoritative for the radar snapshot.
- All 57 Memory & RAG records received metadata and abstract-level triage using
primary arXiv metadata.
- Fifteen high-relevance Memory & RAG PDFs, the earlier filesystem-memory PDF,
and two cross-section evaluation/cost PDFs received a method, result,
ablation, limitation, and applicability review.
- Key pages from the filesystem, BudgetMem, Skill-Pro, A2RAG, temporal-memory,
and Mem2ActBench papers were rendered and visually inspected to verify tables
and diagrams rather than relying only on extracted text.
- Upstream descriptions and paper claims are not accepted as facts about
MemoryMaster. Every proposal below is compared with current code and must be
tested locally.

## Current MemoryMaster baseline

| Surface | Already present | Research-exposed gap |
|---|---|---|
| Retrieval | Explicit profiles, query classification, score explanations, token-bounded packing | Profiles mostly change weights; no measured multi-stage evidence sufficiency or admission policy |
| Scope | SQLite and graph queries filter authorized scopes before trusted results are returned | Add invariant tests proving every future routing stage masks unauthorized data before scoring or provider calls |
| Evidence | Source -> evidence -> claim lineage with content hashes and citations | No query-time exact-evidence map-back when a claim/edge lacks a required qualifier |
| Graph | Supported edges, confirmed active claim authority, scope filtering, replay-safe support, claim rehydration | No progressive local -> path -> evidence fallback with explicit sufficiency diagnostics |
| Temporal | `event_time`, `valid_from`, `valid_until`, supersession, freshness profile | No occurrence-time intent matching, interval overlap, or durative-state projection |
| Skills | Strict `personal-skill-v1`, activation cues, workflow, validation, immutable versions, citations, human promotion | No success/failure/ambiguous execution evidence, termination condition, or negative warning path |
| Evaluation | LongMemEval retrieval/QA, capture/graph quality, latency, replay and scope gates | No active tool-use benchmark, preservation score, or per-stage cost attribution |

## Paper decisions

| Paper | Verdict | What MemoryMaster should take | What it should not take |
|---|---|---|---|
| [Filesystem-Based Memory for LLM Agents](https://arxiv.org/abs/2607.26637v1) | **Adopt evaluation** | Measure answer quality, preservation, store health, consumer strength, and total retrieval cost separately | Filesystem authority, autonomous reorganization, or organization as a quality proxy |
| [BudgetMem](https://arxiv.org/abs/2602.06025v1) | **Benchmark** | Explicit low/mid/high query budgets and stage-level cost/quality frontiers | An RL router or multiple model tiers before deterministic policies beat the baseline |
| [Skill-Pro / ProcMEM](https://arxiv.org/abs/2602.01869v1) | **Adopt bounded schema ideas** | Activation, execution, termination, outcome evidence, and validation before reuse | Autonomous PPO evolution, score-based deletion, or automatic promotion |
| [E-mem](https://arxiv.org/abs/2601.21714v1) | **Benchmark** | Bounded reconstruction from preserved contiguous evidence for multi-hop/narrative queries | Multiple resident memory agents or unbounded uncompressed contexts |
| [ShardMemo](https://arxiv.org/abs/2601.21545v1) | **Retain and harden** | Scope-before-routing, cheap-first tiers, versioned skills, safe fallback to evidence | Learned MoE sharding for a personal SQLite corpus without measured scale pressure |
| [A2RAG](https://arxiv.org/abs/2601.21162v1) | **Adopt** | Progressive local/path expansion, evidence-sufficiency diagnostics, and exact provenance map-back | Graph-only answers, unrestricted retry loops, or PPR before simpler traversal is measured |
| [Less is More for RAG](https://arxiv.org/abs/2601.17532v1) | **Benchmark** | Admission control, redundancy/conflict pruning, pass-rate and drift telemetry | Treating uncertainty reduction as truth or adding an LLM probe to every recall by default |
| [Grounding Agent Memory in Contextual Intent](https://arxiv.org/abs/2601.10702v1) | **Benchmark** | Explicit goal/action/entity cues and coarse episode boundaries for opt-in task retrieval | Multiple ingestion LLM calls per turn or uncontrolled label evolution |
| [Beyond Dialogue Time](https://arxiv.org/abs/2601.07468v1) | **Adopt** | Occurrence-time retrieval, interval overlap, and a derived durative-state projection | Rewriting atomic evidence into a new authority or fixed monthly granularity |
| [Reliable Graph-RAG for Codebases](https://arxiv.org/abs/2601.08773v1) | **Retain boundary** | Prefer deterministic structural providers and measure indexing coverage | A second MemoryMaster code graph; GitNexus remains the code-topology specialist |
| [Seeing through the Conflict](https://arxiv.org/abs/2601.06842v1) | **Adopt observability only** | Separate semantic relevance, evidence consistency, and answer sufficiency in diagnostics | Trusting model-parametric memory over confirmed evidence or learned soft prompts |
| [Amory](https://arxiv.org/abs/2601.06282v1) | **Benchmark** | Narrative-arc co-retrieval from preserved evidence | Autonomous narrative rewriting or synthetic-conversation conclusions as production proof |
| [Controllable Memory Usage](https://arxiv.org/abs/2601.05107v1) | **Benchmark later** | An explicit caller-selected memory-reliance profile for fresh-start versus continuity tasks | Silent inference of how much history to obey or model fine-tuning for the first version |
| [Proactive Memory Extraction](https://arxiv.org/abs/2601.04463v1) | **Benchmark** | Targeted re-extraction when a query exposes missing evidence; track integrity separately from accuracy | Repeated self-questioning on every capture or automatic replacement of preserved evidence |
| [Membox](https://arxiv.org/abs/2601.03785v2) | **Adopt deterministic subset** | Retrieve adjacent evidence spans and link recurring source episodes without rewriting them | LLM-created topic boxes as authoritative memory |
| [MAGMA](https://arxiv.org/abs/2601.03236v1) | **Defer architecture** | Compare temporal, causal, and entity path signals inside the supported graph | Parallel semantic/temporal/causal graph authorities or policy-learned traversal |
| [Mem2ActBench](https://arxiv.org/abs/2601.19935v1) | **Adopt benchmark shape** | Score retrieval miss, retrieved-but-unused, hallucinated default, lossless-retention failure, tool error, and exact argument grounding | Treat its synthetic offline tool calls as sufficient production proof |
| [Tokenomics](https://arxiv.org/abs/2601.14470v1) | **Adopt telemetry** | Attribute input/output/reasoning tokens and latency by MemoryMaster stage | Generalize its 30-task, one-framework results as MemoryMaster's expected distribution |

## Ordered implementation packages

### PPR-1 - Representation and active-use evaluation

Add a versioned evaluation set and harness before product behavior changes:

- latest versus superseded state;
- occurrence time versus dialogue time;
- valid interval and durative-state questions;
- affect/emphasis preservation;
- narrative-arc co-retrieval;
- active tool invocation with exact parameters;
- missing/default/inferred parameter distinctions;
- retrieval miss, retrieved-but-unused, hallucinated default, lossless-retention
failure, and wrong-tool attribution;
- answer correctness and citation correctness scored independently.

Run the matrix against claims-only, evidence-only, claims+evidence,
claims+approved-skills, and claims+ephemeral-guidance. Retain the existing
LongMemEval R@5/MRR and full-QA regression gates.

### PPR-2 - Stage-level sustainability telemetry

Emit bounded per-request stage observations for retrieval, graph expansion,
evidence map-back, admission, packing, skill recall/review, and answer/judge
generation. Record elapsed time, provider calls, content read, input/output
tokens when available, cache state, selected tier, fallback reason, and final
correctness in evaluation artifacts. Do not persist private query or evidence
text in aggregate telemetry.

### PPR-3 - Deterministic budget and admission policy

Introduce an explicit versioned policy selected by the caller:

- `low`: lexical/confirmed claims, small evidence budget, no provider call;
- `balanced`: current governed recall plus bounded graph/evidence fallback;
- `high`: larger candidate window and explicit evidence-sufficiency check;
- `temporal`: lifecycle timeline, occurrence-time/interval matching, evidence;
- `procedural`: confirmed skills, warnings, and supporting claims.

Start with deterministic rules and shadow evaluation. Add redundancy,
near-duplicate, lifecycle-conflict, and weak-support admission diagnostics before
testing any generator-aligned LLM pruning. Scope and sensitivity filtering must
occur before tier selection, scoring, provider access, or cache lookup.

### PPR-4 - Progressive claim-to-evidence rehydration

Treat graph/entity matches only as navigation signals:

1. retrieve authorized confirmed claims;
2. expand one bounded supported path when the query is relational;
3. test whether required entities, relations, temporal qualifiers, and citations
are present;
4. map selected claims through `claim_evidence_links` to exact evidence excerpts;
5. return a diagnostic fallback reason when evidence remains insufficient.

No graph-generated fact may bypass claim status, scope, sensitivity, retired
source, or citation checks.

### PPR-5 - Temporal and episode projections

Add derived, rebuildable projections over authoritative claims/evidence:

- query-time versus occurrence-time intent;
- interval overlap using `valid_from`/`valid_until`;
- explicit latest/current versus historical selection;
- bounded adjacent evidence windows from source order;
- recurring episode links derived from stable source/session metadata;
- durative state summaries that cite every contributing claim and never replace
atomic history.

This package needs temporal precision and supersession adversarial tests before
any schema or ranking change.

### PPR-6 - Outcome-aware governed skills

Extend skill evidence additively with execution observations:

- outcome: `success`, `failure`, or `ambiguous`;
- consumer/model profile and tool/schema snapshot;
- activation match, termination result, validation result, and bounded metrics;
- failure-derived warnings kept separate from positive procedures.

Success may strengthen a review signal; failure must not strengthen a positive
skill. No outcome automatically confirms, rewrites, prunes, or archives a skill.
The steward and operator remain the only promotion authority.

## Remaining radar triage

The other 42 Memory & RAG papers remain in the radar, not discarded:

- training-heavy routers, reinforcement-learning retrieval, and learned memory
controllers are deferred until deterministic policies have a measured ceiling;
- domain-specific financial, supply-chain, scientific, SOP, embodied, multimodal,
and text-table systems are reference material unless MemoryMaster acquires the
corresponding use case;
- surveys inform terminology but cannot establish an implementation gain;
- multi-agent memory managers, autonomous compaction, learned forgetting, and
self-rewriting memory require adversarial preservation and governance evidence;
- alternative GraphRAG systems remain benchmarks; they do not create another
authoritative graph or answer path.

The next radar refresh should diff the pinned revision, classify only new or
changed entries, and choose the next full-PDF batch from untested gaps rather
than repeatedly rereading similar architectures.

## Non-adoptions fixed by this review

- No filesystem or Obsidian authority.
- No automatic deletion, compression, consolidation, or trusted promotion.
- No autonomous PPO/RL router in the personal SQLite profile.
- No graph-only or vector-only answer authority.
- No bulk paper-PDF ingestion into governed memory.
- No full-context or multi-agent memory process as a default retrieval path.
- No claimed improvement from paper-reported metrics without a MemoryMaster
baseline, mutation-relevant comparison, and reproducible local result.

## Exit evidence required

A research-derived package is complete only when its artifact records:

- the exact dataset and provider/model identity;
- the unchanged baseline and the candidate run;
- quality, preservation, citation, cost, latency, scope, and replay results;
- a wiring-relevant negative control or mutation where applicable;
- explicit `adopt`, `retain`, `defer`, or `reject` disposition;
- code and rollback scope;
- zero secret and cross-scope leakage;
- no regression beyond the existing LongMemEval and full-QA thresholds.
Loading
Loading