OP

OpenNorve/CogEval-Bench

Dataset

CogEval-Bench

2

6 commits

2 linked in READMEs

updated May 19, 2026

See the code

README

CogEval-Bench

A structural diagnostic benchmark for evaluating whether an agent's memory substrate forms cognitive structure under continuous event streams β€” not just whether it can retrieve facts. CogEval-Bench is the structural-evaluation half of the two-layer evaluation in CogniFold: Always-On Proactive Memory via Cognitive Folding (Wang et al., 2026).

PaperarXiv:2605.13438
Codegithub.com/OpenNorve/CogniFold
Scenarios6 (academic_research, customer_support, health_journey, news_stream, software_engineer, team_project)
Scales2 per scenario (small β‰ˆ 50 events, medium β‰ˆ 90 events)
GenerationTop-down: gold concept graph β†’ event stream β†’ distractor injection (10–15%) β†’ temporal shuffle

Why structural diagnostics?

Conventional memory benchmarks (LoCoMo, LongMemEval, MuSiQue, …) measure end-to-end retrieval accuracy β€” they reward a system that returns the right fact, but they cannot tell whether the underlying memory has formed cognitive structure or whether it is just keyword-matching. CogEval-Bench inverts the setup:

  1. Gold first. For each scenario, a hand-specified gold concept graph $\mathcal{G}^* = (\mathcal{C}^, \mathcal{R}^, \mathcal{H}^, \mathcal{I}^)$ defines the concepts, inter-concept relationships, hierarchy, expected emergent intents, and planted multi-hop chains a competent memory should form.
  2. Events grounded from gold. First-person events are generated from the gold graph, then ~12% distractor events are added and the stream is temporally shuffled.
  3. Score the topology, not the answer. A memory system ingests the stream; we then score the formed graph against $\mathcal{G}^*$ on three tracks (concept quality, topology, compression Γ— proactivity).

Files

gold_graphs/
β”œβ”€β”€ academic_research.json
β”œβ”€β”€ customer_support.json
β”œβ”€β”€ health_journey.json
β”œβ”€β”€ news_stream.json
β”œβ”€β”€ software_engineer.json
└── team_project.json

generated/
β”œβ”€β”€ academic_research_small.json    academic_research_medium.json
β”œβ”€β”€ customer_support_small.json     customer_support_medium.json
β”œβ”€β”€ health_journey_small.json       health_journey_medium.json
β”œβ”€β”€ news_stream_small.json          news_stream_medium.json
β”œβ”€β”€ software_engineer_small.json    software_engineer_medium.json
└── team_project_small.json         team_project_medium.json

gold_graphs/<scenario>.json

The reference cognitive structure for one scenario:

FieldDescription
scenario_id, name, description, domainIdentification
conceptslist of $\mathcal{C}^*$ β€” concept nodes with id, label, description
relationshipslist of $\mathcal{R}^*$ β€” inter-concept edges with source, target, type (e.g. PART_OF, CAUSES, RELATED_TO)
planted_chainsmulti-hop reasoning chains across concepts (for Track B)
expected_intents$\mathcal{I}^*$ β€” intents the memory should emerge (with grounding_concepts)
state_trackingentities whose state should be tracked over time
belief_trackingbelief transitions the substrate should record
distractor_ratiofraction of distractor events injected (default ~0.12)
total_events, temporal_span_daysstream-level statistics

generated/<scenario>_<scale>.json

A self-contained generated stream + QA bundle:

FieldDescription
scenario_id, name, description, scaleIdentification
generation_timestampwhen this stream was synthesised
statisticscounts (total_events, concept_events, chain_events, distractor_events, total_questions, questions_by_type)
gold_graphembedded copy of the corresponding gold_graphs/<scenario>.json (for self-contained loading)
eventsthe event stream β€” each event has event_id, timestamp, source, event_type, title, description, data, context
questionsQA pairs derived from the gold graph (state-tracking, multi-hop chain, intent-emergence, etc.)

Evaluation tracks

TrackWhat it measuresExample metrics
A β€” Concept qualityAre the concepts the substrate forms semantically aligned to $\mathcal{C}^*$?concept purity, recall, label coherence, event-anchoring
B β€” TopologyIs the inter-concept graph $\mathcal{R}^* \cup \mathcal{H}^*$ correctly recovered? Can it traverse planted chains?hierarchy F1, relationship recall, chain traversal
C β€” Compression Γ— ProactivityDoes the substrate compress redundant events into stable concepts? Does it crystallise intents from converging evidence?compression ratio, intent emergence rate

Standalone Python evaluators are bundled in this dataset under scripts/ β€” concept_evaluator.py (Track A + B) and compression_evaluator.py (Track C). The same scripts plus the LLM-assisted generator generate_dataset.py let you reproduce or extend the dataset; see scripts/README.md. Full evaluation harness lives in the CogniFold repo at benchmarks/cogeval/.

Quick start

from datasets import load_dataset
import json
from huggingface_hub import hf_hub_download

# Load one generated stream
path = hf_hub_download(
    repo_id="OpenNorve/CogEval-Bench",
    repo_type="dataset",
    filename="generated/academic_research_small.json",
)
stream = json.loads(open(path).read())
print(f"{stream['statistics']['total_events']} events, "
      f"{stream['statistics']['total_questions']} questions")

# Load the matching gold graph
path = hf_hub_download(
    repo_id="OpenNorve/CogEval-Bench",
    repo_type="dataset",
    filename="gold_graphs/academic_research.json",
)
gold = json.loads(open(path).read())
print(f"{len(gold['concepts'])} gold concepts, "
      f"{len(gold['relationships'])} relationships, "
      f"{len(gold['expected_intents'])} expected intents")

To run the full benchmark on the CogniFold substrate:

git clone https://github.com/OpenNorve/CogniFold.git && cd CogniFold
bash scripts/reproduce.sh cogeval

Citation

@article{wang2026cognifold,
  title   = {CogniFold: Always-On Proactive Memory via Cognitive Folding},
  author  = {Wang, Suli and Duan, Yiqun and Deng, Yu and Zhao, Rundong and Shi, Dai and Zhou, Xinliang},
  journal = {arXiv preprint arXiv:2605.13438},
  year    = {2026},
  url     = {https://arxiv.org/abs/2605.13438}
}

License

Apache-2.0 β€” see LICENSE.

agent-memory
benchmark
cognifold
cognitive-folding
concept-graph
evaluation
proactive-memory

Contributors

claudecc

6 commits

OP

OpenNorve/CogEval-Bench

Dataset

CogEval-Bench

2

6 commits

2 linked in READMEs

updated May 19, 2026

See the code

README

CogEval-Bench

A structural diagnostic benchmark for evaluating whether an agent's memory substrate forms cognitive structure under continuous event streams β€” not just whether it can retrieve facts. CogEval-Bench is the structural-evaluation half of the two-layer evaluation in CogniFold: Always-On Proactive Memory via Cognitive Folding (Wang et al., 2026).

PaperarXiv:2605.13438
Codegithub.com/OpenNorve/CogniFold
Scenarios6 (academic_research, customer_support, health_journey, news_stream, software_engineer, team_project)
Scales2 per scenario (small β‰ˆ 50 events, medium β‰ˆ 90 events)
GenerationTop-down: gold concept graph β†’ event stream β†’ distractor injection (10–15%) β†’ temporal shuffle

Why structural diagnostics?

Conventional memory benchmarks (LoCoMo, LongMemEval, MuSiQue, …) measure end-to-end retrieval accuracy β€” they reward a system that returns the right fact, but they cannot tell whether the underlying memory has formed cognitive structure or whether it is just keyword-matching. CogEval-Bench inverts the setup:

  1. Gold first. For each scenario, a hand-specified gold concept graph $\mathcal{G}^* = (\mathcal{C}^, \mathcal{R}^, \mathcal{H}^, \mathcal{I}^)$ defines the concepts, inter-concept relationships, hierarchy, expected emergent intents, and planted multi-hop chains a competent memory should form.
  2. Events grounded from gold. First-person events are generated from the gold graph, then ~12% distractor events are added and the stream is temporally shuffled.
  3. Score the topology, not the answer. A memory system ingests the stream; we then score the formed graph against $\mathcal{G}^*$ on three tracks (concept quality, topology, compression Γ— proactivity).

Files

gold_graphs/
β”œβ”€β”€ academic_research.json
β”œβ”€β”€ customer_support.json
β”œβ”€β”€ health_journey.json
β”œβ”€β”€ news_stream.json
β”œβ”€β”€ software_engineer.json
└── team_project.json

generated/
β”œβ”€β”€ academic_research_small.json    academic_research_medium.json
β”œβ”€β”€ customer_support_small.json     customer_support_medium.json
β”œβ”€β”€ health_journey_small.json       health_journey_medium.json
β”œβ”€β”€ news_stream_small.json          news_stream_medium.json
β”œβ”€β”€ software_engineer_small.json    software_engineer_medium.json
└── team_project_small.json         team_project_medium.json

gold_graphs/<scenario>.json

The reference cognitive structure for one scenario:

FieldDescription
scenario_id, name, description, domainIdentification
conceptslist of $\mathcal{C}^*$ β€” concept nodes with id, label, description
relationshipslist of $\mathcal{R}^*$ β€” inter-concept edges with source, target, type (e.g. PART_OF, CAUSES, RELATED_TO)
planted_chainsmulti-hop reasoning chains across concepts (for Track B)
expected_intents$\mathcal{I}^*$ β€” intents the memory should emerge (with grounding_concepts)
state_trackingentities whose state should be tracked over time
belief_trackingbelief transitions the substrate should record
distractor_ratiofraction of distractor events injected (default ~0.12)
total_events, temporal_span_daysstream-level statistics

generated/<scenario>_<scale>.json

A self-contained generated stream + QA bundle:

FieldDescription
scenario_id, name, description, scaleIdentification
generation_timestampwhen this stream was synthesised
statisticscounts (total_events, concept_events, chain_events, distractor_events, total_questions, questions_by_type)
gold_graphembedded copy of the corresponding gold_graphs/<scenario>.json (for self-contained loading)
eventsthe event stream β€” each event has event_id, timestamp, source, event_type, title, description, data, context
questionsQA pairs derived from the gold graph (state-tracking, multi-hop chain, intent-emergence, etc.)

Evaluation tracks

TrackWhat it measuresExample metrics
A β€” Concept qualityAre the concepts the substrate forms semantically aligned to $\mathcal{C}^*$?concept purity, recall, label coherence, event-anchoring
B β€” TopologyIs the inter-concept graph $\mathcal{R}^* \cup \mathcal{H}^*$ correctly recovered? Can it traverse planted chains?hierarchy F1, relationship recall, chain traversal
C β€” Compression Γ— ProactivityDoes the substrate compress redundant events into stable concepts? Does it crystallise intents from converging evidence?compression ratio, intent emergence rate

Standalone Python evaluators are bundled in this dataset under scripts/ β€” concept_evaluator.py (Track A + B) and compression_evaluator.py (Track C). The same scripts plus the LLM-assisted generator generate_dataset.py let you reproduce or extend the dataset; see scripts/README.md. Full evaluation harness lives in the CogniFold repo at benchmarks/cogeval/.

Quick start

from datasets import load_dataset
import json
from huggingface_hub import hf_hub_download

# Load one generated stream
path = hf_hub_download(
    repo_id="OpenNorve/CogEval-Bench",
    repo_type="dataset",
    filename="generated/academic_research_small.json",
)
stream = json.loads(open(path).read())
print(f"{stream['statistics']['total_events']} events, "
      f"{stream['statistics']['total_questions']} questions")

# Load the matching gold graph
path = hf_hub_download(
    repo_id="OpenNorve/CogEval-Bench",
    repo_type="dataset",
    filename="gold_graphs/academic_research.json",
)
gold = json.loads(open(path).read())
print(f"{len(gold['concepts'])} gold concepts, "
      f"{len(gold['relationships'])} relationships, "
      f"{len(gold['expected_intents'])} expected intents")

To run the full benchmark on the CogniFold substrate:

git clone https://github.com/OpenNorve/CogniFold.git && cd CogniFold
bash scripts/reproduce.sh cogeval

Citation

@article{wang2026cognifold,
  title   = {CogniFold: Always-On Proactive Memory via Cognitive Folding},
  author  = {Wang, Suli and Duan, Yiqun and Deng, Yu and Zhao, Rundong and Shi, Dai and Zhou, Xinliang},
  journal = {arXiv preprint arXiv:2605.13438},
  year    = {2026},
  url     = {https://arxiv.org/abs/2605.13438}
}

License

Apache-2.0 β€” see LICENSE.

agent-memory
benchmark
cognifold
cognitive-folding
concept-graph
evaluation
proactive-memory

Contributors

claudecc

6 commits