From 2f338a1ab618cb114a3aa5caf825c9f3788fa898 Mon Sep 17 00:00:00 2001 From: claude Date: Wed, 26 Aug 2026 13:21:21 +0400 Subject: [PATCH] Hide the relation filters in the capability views and render inline code (V-725) Two defects found by screenshotting the built page under headless chromium, which is the only way to see either. The six relation filters and the component-type legend do nothing in views 6 and 7. Leaving them on screen reads as controls that are broken. The ledger carries markdown inline code, because docs/spec.md does. The side panel printed the backticks literally beside every path. Co-Authored-By: Claude Opus 5 --- docs/architecture/viewer.template.html | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/docs/architecture/viewer.template.html b/docs/architecture/viewer.template.html index c567495..56605b3 100644 --- a/docs/architecture/viewer.template.html +++ b/docs/architecture/viewer.template.html @@ -190,6 +190,7 @@ ol.steps .ev{display:block;color:var(--dim2);font-size:11.5px;margin-top:3px}

Search

+

Filters

@@ -199,6 +200,7 @@ ol.steps .ev{display:block;color:var(--dim2);font-size:11.5px;margin-top:3px}

Type

+
@@ -379,6 +381,11 @@ const capById = Object.fromEntries(CAPS.capabilities.map(c => [c.id, c])); const BLOCKREASON = new Set(['configuration missing','deployment missing', 'external dependency unavailable','scenario missing']); const dotCls = v => v==='spec-only' ? 'speconly' : v; +// The ledger carries markdown inline code, because docs/spec.md does. Rendering +// it literally puts backticks on screen next to every path. +const md = t => (t||'').replace(/[&<>]/g, m => ({'&':'&','<':'<','>':'>'}[m])) + .replace(/`([^`]+)`/g, '$1') + .replace(/\*\*([^*]+)\*\*/g, '$1'); function capRow(c){ const cls = {'capability missing':'missing','capability exists but unreachable':'unreachable', @@ -436,7 +443,7 @@ function renderCapSide(id){

${c.title}

${c.section} · ${c.domain.join(', ')} · ${c.scope}${ c.implementation.gap_class==='none'?'':' · '+c.implementation.gap_class}
-

${c.state}

+

${md(c.state)}

Implementation

${DIMS.map(d=>{ const v = c.implementation[d]; @@ -449,8 +456,8 @@ function renderCapSide(id){

Definition of done — ${c.criteria.length}

${c.criteria.map(cr=>`
${cr.verified}${cr.reason} -

${cr.text}

- ${cr.detail?`

${cr.detail}

`:''} +

${md(cr.text)}

+ ${cr.detail?`

${md(cr.detail)}

`:''} ${(cr.evidence||[]).length?`

${cr.evidence.join('
')}

`:''}
`).join('')}

Blockers — ${blockers.length}

@@ -659,6 +666,10 @@ document.getElementById('views').innerHTML = VIEWS.map(v=>`