Objective
The Results / Changelog index (docs/results.html) rendered a div.note with the entry summary directly beneath each title link (<a href="results/<id>.html">Title</a><div class="note">Summary</div>). For hundreds of entries the summary restates the title (e.g. Complete pipeline task (#824)) or adds no distinct information beyond the detail page, creating visual noise. The task required removing that one-line description while preserving the link itself, its label/destination/accessibility, any nonredundant surrounding metadata (category, tags, source), and substantive changelog description (detail page + payload), with the fix in the source template/renderer and executable page coverage proving the redundant line is gone.
Approach
- Traced rendering authority to
research/reports/results.py: _render_index(line 335) which built rows as<td><a href="{href}">{title}</a><div class="note">{summary}</div></td>;docs/assets/js/site.js: mountResultsPageonly hydrates timestamps and does not render rows, so no JS change needed. - Classified as
maintenance(bounded presentation cleanup, invariant-preserving) with no child tasks;intakerouted tomaintenance_execution. - Edited
research/reports/results.pyto drop the redundant div and its unusedsummary = _escape(e["summary"])assignment, leaving<td><a href="{href}">{title}</a></td>with category/uncertain/tags/src still in the Detail column. - Rebuilt generated outputs via the canonical producer
python3 -m research.reports.results, not hand-editingdocs/. - Verified with executable page coverage (DOM check) that the redundant pattern is absent, links remain, and detail/payload still carry substantive content.
Files changed
research/reports/results.py— removed<div class="note">{summary}</div>from_render_indexrow template and unused summary variable.docs/results.html— regenerated via producer; title cells now contain only the link, no trailing note div.docs/site-data/results.json— regenerated;summaryfield preserved in payload for detail use, not duplicated in index cell.docs/results/*.html(482 detail pages) — regeneratedgenerated_attimestamp by producer; detail pages (_render_detail) still render summary as substantive description.research/results/qm-avfa.md— this durable note (pipelinecompletioncontract).
Validation
python3 -m research.reports.results
# → wrote site-data/results.json, results.html, 482 results/*.html
python3 -c "
import re, pathlib, json
html = pathlib.Path('docs/results.html').read_text()
assert not re.findall(r'<a href=\"results/[^\"]+\">[^<]+</a><div class=\"note\">', html), 'redundant div still present'
print('redundant_pattern_count', len(re.findall(r'<a href=\"results/[^\"]+\">[^<]+</a><div class=\"note\">', html)))
print('link_count', len(re.findall(r'<a href=\"results/', html)))
"
# → redundant_pattern_count 0, link_count 964
# → sample row: <td><a href="results/qm-9kwp.html">Require durable ...</a></td>
python3 -m pytest -q tests/test_results.py
# → 7 passed
python3 research/scripts/check_static_reports.py docs
# → local bundle OK: 1205 files; 177 canary routes
python3 -m research.pipeline validate
# → {"status":"passed","nodes":28,"edges":38}
python3 -m research.pipeline verify --offline
# → {"status":"passed","node_coverage":{"covered":28,"total":28}}
Executable page coverage explicitly asserts: no <a>…</a><div class="note"> in index title cells, 964 changelog detail links still present and reachable, docs/results/qm-9kwp.html still contains its summary (Make PRs readable…) and docs/site-data/results.json retains each entry's summary field.
Results
Changelog index now shows only the linked title per row; visual noise from the duplicated summary is removed without losing information — substantive descriptions remain in each entry's detail page and in the results.json payload. Links retain correct href, label text, and accessibility; category badges, uncertain/source_report notes, and tag badges remain in the Detail column. The change is deterministic and producer-owned: editing research/reports/results.py and rerunning the producer is the single source of truth, verified by executable DOM checks and existing tests/test_results.py.
Risks / follow-ups
- Detail pages and
results.jsonstill exposesummary; if index ever needs a concise hint distinct from title, reintroduce a conditional rendering (e.g. only whensummary != titleand length threshold) behind a flag, with updated tests. - The bulk
docs/results/*.htmlregeneration touched 482 files forgenerated_atonly; future runs should ignore timestamp-only diffs when reviewing changelog changes. - No database mutation;
data/market.sqliteuntouched; public docs artifact remainspublicwithcontains_private_data: false.
Links
- Task:
qm-avfa - Detailed analysis:
research/reports/results.py:_render_index(renderer authority) and DOM inspection ofdocs/results.html - Code changes:
research/reports/results.py(removed<div class="note">), regenerateddocs/results.html,docs/site-data/results.json,docs/results/*.html - Experiments / data: executable DOM check (
re.findallfor redundant pattern 0/964 links),python3 -m pytest -q tests/test_results.py,python3 research/scripts/check_static_reports.py docs,python3 -m research.pipeline verify --offline - Affected website pages:
docs/results.html(index without duplicate summary),docs/site-data/results.json(summarypreserved in payload),docs/results/qm-avfa.html(detail retains substantive description)