Repository navigation
academy/memory-v07: episode-scoped causal memory + controlled transfer evaluation - #42
Merged
Merged
Conversation
…r evaluation Root-cause diagnosis (Audit v0.6): the global cross-task contradiction accumulator destroys verified hypotheses. The agent's context signature is the episode-start state (identical across tasks) and the consecutive- nonevent window is never reset at task boundaries, so a rule valid in task A is contradicted in task B (different hidden mechanism, same observable context) and permanently marked unusable. Intervention (minimal, bounded, interpretable): memory_episode_scoped — per-episode support/contradiction records, status relative to the active epoch only (promotion/demotion, no global replacement), epoch-boundary reset of the nonevent window, and cross-epoch uncertainty-aware retrieval (verified in >=2 epochs, untested in active epoch). No new neural architecture; no reliance on topology labels or environment IDs. Measured (2 seeds x 160 episodes, frozen 16-config grid, pinned hash): - epoch frozen 0.594 vs fresh 0.312 (Δ +0.285, CI [0.063, 0.531]) and vs shuffled-memory negative control (Δ +0.315, CI [0.094, 0.531]) — same training stream with broken associations loses the gain entirely - epoch vs novocab planning-only control: +0.134 (CI [-0.047, 0.320]) — positive but not significant at 95%; cautious genuine-transfer claim - all v0.6 baselines preserved (original/memory_wiped/atomtx <= fresh); shuffled ≡ original bit-identical; negative results preserved Attribution: 23/32 frozen cells with memory-driven actions (3568), 47 cross-epoch verified hypotheses, contradiction count -5x vs original. Tests: test_memory_v07.py (12).
…canonical hashes) Verifier: 47 PASS / 0 FAIL / 1 INCONCLUSIVE (memory-limit not recorded). Artifact gate currently covers the Audit-owned frozen targets (v13, memory_v06); memory_v07 provenance is established via this covering manifest.
…manifest + preliminary labeling Integrate origin/main (PR #41, Quality v0.7: transfer-eval-protocol-v01, transfer_checks). Manifest now declares protocol version, transfer role mapping (fresh/original/memory_wiped/shuffled/novocab), frozen eval mode, unseen-split declaration and frozen immutability attestation; verifier (incl. --transfer): 52 PASS / 0 FAIL / 4 INCONCLUSIVE (memory-limit, format-level duplicate-records check, unseen separation resting on declaration, attribution-consistency block absent from the merged runs JSONL - the committed JSONL predates the per-seed trace merge; action- side attribution is recorded and reported). Honest reporting: the v0.7 experiment ran before the Quality v0.7 protocol was frozen, so it is labeled preliminary evidence (protocol level_1_preliminary), not protocol-preregistered nor confirmatory. Frozen cells disable learn(), so door-outcome counters are 0 by construction there; action-side attribution and shuffled ablation are the decisive controls.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Academy Memory v0.7 — Persistent Causal Memory
Summary
Audit v0.6 confirmed that retained memory does not demonstrate genuine
zero-shot knowledge transfer and that cross-task negative evidence
destroys previously verified hypotheses. v0.7:
contradiction accumulator. The agent's context signature is the
episode-start state (identical across tasks), and the consecutive-
nonevent window used to count contradictions is never reset at task
boundaries. A hypothesis verified in task A is contradicted in task B
(different hidden mechanism, same observable context) and permanently
marked unusable — even when the same rule recurs in task C.
memory_episode_scoped— per-episode support/contradiction records,status computed relative to the active epoch only (evidence-based
promotion/demotion, no global replacement), epoch-boundary reset of
the nonevent window, and cross-epoch uncertainty-aware retrieval
(hypotheses verified in ≥2 past epochs, untested in the active epoch).
counters for hypothesis retrieval, cross-epoch retrieval, memory-
driven actions, correct/incorrect memory-driven decisions, and a
memory-attributable improvement metric.
baseline), memory_wiped, atomtx (v0.6 atom-transfer baseline),
shuffled-memory negative control, and epoch (v0.7). Evaluation
configuration is that of v0.6 (eval seed 20261108, 16-config classic
grid, 12-config OOD, 8-config retention substrate; no new eval seeds).
Registration note: the Quality v0.7 transfer protocol
(
transfer-eval-protocol-v01) was frozen by the audit after theseruns; this experiment is therefore reported as preliminary
evidence (protocol level_1_preliminary), not as protocol-
preregistered or confirmatory.
Measured results (2 seeds × 160 episodes, frozen 16-config grid, pinned hash)
Paired frozen deltas (candidate − baseline):
Controls: random_walk 0.050, novocab 0.463 (same frozen grid).
Honest statement (preliminary)
v0.7 offers preliminary memory-dependent transfer evidence, not yet
independent confirmatory proof:
seeds (pilot-grade per protocol v01), CI excludes 0 for this primary
delta;
loses the gain entirely (0.281; Δ vs shuffled +0.315, CI
[0.094, 0.531]) — the memory-attributable component;
novocabcontrol the delta is positive(+0.134) but its CI includes 0 — a planning-only contribution cannot
be fully excluded at 95%; the claim is therefore preliminary, not
confirmatory (confirmatory would require ≥5 train seeds and
independent audit recomputation);
shuffled do not transfer.
Memory diagnosis (confirmed)
(~75/77 contradicted at checkpoint); epoch reduces contradicted to
~15 and raises verified to ~10, with 47 hypotheses verified in ≥2
epochs (transferable).
actions). Frozen cells disable learn(), so door-outcome counters are
0 by construction there; action-side attribution and success splits
are measurable, and the shuffled ablation is the decisive control
(see docs/MEMORY_V07.md §4.1 limitation).
Quality v0.7 checks
(memory-limit; format-level c_missing_duplicate_records;
transfer.unseen.separation — resting on declaration; transfer.
attribution.consistency — no merged frozen_trace_mean block).
(fresh/original/memory_wiped/shuffled/novocab), frozen immutability
attested + trace artifact, ablation paired, budgets.
Testing
python -m unittest academy.tests.test_memory_v07→ 12 tests OKDeliverables
academy/agents/memory.py,metargon_agent.pyacademy/tools/memory_experiment_v07.py,memory_merge_v07.pyacademy/tests/test_memory_v07.py;x/run_chunks_v07.pydocs/MEMORY_V07.mdresults/academy_v01/memory_v07/(raw artifacts: summary, runs JSONL,fresh control)
generalization_audit/manifests/memory_v07.manifest.json(Quality v0.5)