File size: 8,893 Bytes
05be922
b38f5dc
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
281ef6a
b38f5dc
 
 
 
 
 
 
 
 
 
 
 
 
 
281ef6a
b38f5dc
 
281ef6a
b38f5dc
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
281ef6a
b38f5dc
 
 
 
 
281ef6a
b38f5dc
 
 
 
 
05be922
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
<!doctype html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="description" content="Map an agent-memory evaluation need to public papers, benchmarks, frameworks, and reproducible questions.">
    <meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self'; style-src 'self'; img-src 'self' data:; connect-src 'self'; object-src 'none'; base-uri 'none'; form-action 'none'">
    <title>Agent Memory Evaluation Map</title>
    <link rel="icon" href="favicon.svg" type="image/svg+xml">
    <link rel="stylesheet" href="styles.css">
    <script src="app.js" defer></script>
  </head>
  <body>
    <a class="skip-link" href="#evidence">Skip to evidence</a>
    <header class="site-header">
      <a class="brand" href="#top" aria-label="Agent Memory Evaluation Map home">
        <span class="brand-mark" aria-hidden="true">M</span>
        <span>Memory Evaluation Map</span>
      </a>
      <nav aria-label="Primary">
        <a href="#evidence">Evidence</a>
        <a href="#compare">Compare</a>
        <a href="#recipe">Recipe</a>
        <a href="SOURCES.md">Sources</a>
      </nav>
    </header>

    <main id="top">
      <section class="hero" aria-labelledby="hero-title">
        <div class="hero-copy">
          <p class="eyebrow">Public evidence · no ranking</p>
          <h1 id="hero-title">What should your agent memory actually prove?</h1>
          <p class="hero-lede">Start with the capability, not the architecture. Filter public artifacts, compare their evidence boundaries, then export the questions your evaluation must answer.</p>
          <div class="hero-actions">
            <a class="button primary" href="#evidence">Map the evidence</a>
            <a class="button quiet" href="#recipe">Build a recipe</a>
          </div>
        </div>
        <aside class="principle-card" aria-label="Core principle">
          <span class="signal" aria-hidden="true"></span>
          <p class="principle-label">The core distinction</p>
          <p class="principle">“Not evaluated” is not “failed.” “Unknown” is not “absent.”</p>
          <p class="principle-note">The map keeps evidence gaps visible instead of converting them into a score.</p>
        </aside>
      </section>

      <section class="metrics" aria-label="Map summary">
        <div><strong id="artifact-count">7</strong><span>public artifacts</span></div>
        <div><strong id="target-count">8</strong><span>evaluation targets</span></div>
        <div><strong>0</strong><span>composite rankings</span></div>
        <div><strong id="verified-date">2026-09-20</strong><span>latest source update</span></div>
      </section>

      <section class="workspace" id="evidence" aria-labelledby="evidence-title" tabindex="-1">
        <div class="section-heading">
          <div>
            <p class="eyebrow">01 · Find useful evidence</p>
            <h2 id="evidence-title">Choose what you need to measure</h2>
          </div>
          <p>Results show scope and source boundaries, not recommendations.</p>
        </div>

        <div class="controls" aria-label="Evidence filters">
          <label class="search-control" for="search">
            <span>Search the map</span>
            <input id="search" type="search" placeholder="Try temporal, graph, abstention…" autocomplete="off">
          </label>
          <label for="target-filter">
            <span>Evaluation target</span>
            <select id="target-filter">
              <option value="all">All public evidence</option>
            </select>
          </label>
          <label for="outcome-filter">
            <span>Outcome level</span>
            <select id="outcome-filter">
              <option value="all">All outcome levels</option>
              <option value="retrieval">Retrieval</option>
              <option value="answer">Answer</option>
              <option value="agent_task">Agent task</option>
              <option value="mixed">Mixed</option>
              <option value="unknown">Unknown / not evaluated</option>
            </select>
          </label>
          <button class="button quiet reset" id="reset-filters" type="button">Reset filters</button>
        </div>

        <div class="result-toolbar">
          <p id="result-summary" aria-live="polite">Loading public evidence…</p>
          <div class="view-switch" role="group" aria-label="Evidence view">
            <button class="view-button active" type="button" data-view="cards" aria-pressed="true">Cards</button>
            <button class="view-button" type="button" data-view="matrix" aria-pressed="false">Matrix</button>
          </div>
        </div>

        <div id="card-view" class="evidence-grid" aria-label="Evidence cards"></div>
        <div id="matrix-view" class="matrix-wrap" hidden>
          <table>
            <caption>Source-backed comparison matrix. Scroll horizontally for all fields.</caption>
            <thead>
              <tr>
                <th scope="col">Artifact</th>
                <th scope="col">Memory unit</th>
                <th scope="col">Time model</th>
                <th scope="col">Update / conflict model</th>
                <th scope="col">Outcome</th>
                <th scope="col">Code</th>
                <th scope="col">Dataset</th>
                <th scope="col">License</th>
              </tr>
            </thead>
            <tbody id="matrix-body"></tbody>
          </table>
        </div>
        <div class="empty-state" id="empty-state" hidden>
          <p>No artifact matches these filters.</p>
          <button class="button quiet" type="button" id="empty-reset">Clear filters</button>
        </div>
      </section>

      <section class="compare-section" id="compare" aria-labelledby="compare-title">
        <div class="section-heading">
          <div>
            <p class="eyebrow">02 · Compare without flattening</p>
            <h2 id="compare-title">Put two evidence boundaries side by side</h2>
          </div>
          <p id="compare-status" aria-live="polite">Choose up to two artifacts from the evidence cards.</p>
        </div>
        <div id="compare-grid" class="compare-grid">
          <div class="compare-placeholder">Select an artifact</div>
          <div class="compare-placeholder">Select a second artifact</div>
        </div>
      </section>

      <section class="recipe-section" id="recipe" aria-labelledby="recipe-title">
        <div class="section-heading">
          <div>
            <p class="eyebrow">03 · Make the evaluation reproducible</p>
            <h2 id="recipe-title">Build an evaluation recipe</h2>
          </div>
          <p>Deterministic questions only. No generated vendor recommendation.</p>
        </div>
        <div class="recipe-layout">
          <div class="recipe-builder">
            <fieldset>
              <legend>Capabilities in scope</legend>
              <p class="field-help">Select one or more. The checklist updates immediately.</p>
              <div id="recipe-targets" class="check-grid"></div>
            </fieldset>
            <label for="recipe-name">
              <span>Evaluation name <small>(optional)</small></span>
              <input id="recipe-name" type="text" maxlength="80" placeholder="e.g. Cross-session support agent">
            </label>
            <div class="export-actions">
              <a class="button primary" id="download-markdown" href="#" download="agent-memory-evaluation.md">Download Markdown</a>
              <a class="button quiet" id="download-json" href="#" download="agent-memory-evaluation.json">Download JSON</a>
            </div>
          </div>
          <div class="recipe-output" aria-live="polite">
            <div class="recipe-output-header">
              <span>Evaluation checklist</span>
              <span id="question-count">0 questions</span>
            </div>
            <ol id="recipe-questions"></ol>
          </div>
        </div>
      </section>

      <section class="method-note" aria-labelledby="method-title">
        <p class="eyebrow">Interpretation guardrail</p>
        <h2 id="method-title">Use the map to plan what to test.</h2>
        <p>Reported outcomes remain attached to their original task, data, model, prompts, and system design. Follow the primary sources before citing or comparing a result.</p>
      </section>
    </main>

    <footer>
      <p>Public research map · source-check dates are shown on each card</p>
      <p><a href="data/artifacts.json">Manifest</a> · <a href="data/schema.json">Schema</a> · <a href="SOURCES.md">Sources</a></p>
    </footer>

    <noscript>This map needs JavaScript for filtering, comparison, and recipe exports. The source manifest remains available at data/artifacts.json.</noscript>
  </body>
</html>