fix core report inspection and vendored roots

This commit is contained in:
thanhnv
2026-07-29 12:29:18 +07:00
parent 1d6384d23c
commit 67d482ae7f
7 changed files with 64 additions and 2 deletions
@@ -103,6 +103,11 @@ main { max-width: 1500px; margin: 0 auto; padding: 28px clamp(20px,4vw,48px) 64p
.hero-meta { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 24px; color: #667085; font: 10px ui-monospace, monospace; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 9px; justify-content: flex-end; }
.trace-hero { border-radius: 18px; padding: 20px 22px; box-shadow: none; }
.run-dossier-anchor { scroll-margin-top: 94px; outline: none; }
.run-dossier-anchor:focus-visible {
border-radius: 20px;
box-shadow: 0 0 0 3px rgba(6, 182, 212, 0.22);
}
.trace-title { margin: 8px 0 !important; font-size: 18px !important; }
.trace-meta { margin-top: 8px; }
.rail-spaced { margin-top: 20px; }
@@ -202,7 +202,7 @@
: empty("No safe evidence fields", "This control has not emitted a sanitized evidence manifest.");
const actions = `<a class="button secondary" href="${downloadUrl(`/api/v1/reports/run/${encodeURIComponent(report.trace_id)}/export`, { format: "json" })}">JSON evidence</a>
<a class="button primary" href="${downloadUrl(`/api/v1/reports/run/${encodeURIComponent(report.trace_id)}/export`, { format: "html" })}">Export dossier</a>`;
return panel(
return `<section id="run-dossier" class="run-dossier-anchor" tabindex="-1">${panel(
"Run assurance",
"Governed execution dossier",
"A control-by-control reconstruction backed by sanitized lifecycle evidence.",
@@ -219,7 +219,7 @@
${disclosure("Safe evidence manifest", "Sanitized fields persisted by the harness · hidden by default", manifest, pill(`${entries.length} fields`))}
</div>`,
actions,
);
)}</section>`;
}
function renderH6() {
@@ -317,6 +317,16 @@
try {
state.run = await api(`/api/v1/reports/run/${encodeURIComponent(traceId)}`);
setView("runs");
const dossier = $("#run-dossier");
if (dossier) {
requestAnimationFrame(() => {
dossier.focus({ preventScroll: true });
dossier.scrollIntoView({
behavior: window.matchMedia("(prefers-reduced-motion: reduce)").matches ? "auto" : "smooth",
block: "start",
});
});
}
} catch (error) {
showError(`Run report could not be reconstructed: ${error.message}`);
} finally {