diff --git a/proof/artifacts/SHA256SUMS b/proof/artifacts/SHA256SUMS
index de9c97e..f01735a 100644
--- a/proof/artifacts/SHA256SUMS
+++ b/proof/artifacts/SHA256SUMS
@@ -1,2 +1,2 @@
-7e0ef201630a3231abf4b192ec48f17b78d2e9e6cd4f92b34182e49d6d41c7cd proof/artifacts/webmcpify-proof-source.webm
-8edf979fc56c9df802c65554591377fab85f35de7baa06829a19d5ea2c3df75e proof/artifacts/webmcpify-proof-480p.mp4
+781e79a556dae16ee3fba74f9b48fc0b2781da4acaf48bb2e5365a5ad7153896 proof/artifacts/webmcpify-proof-source.webm
+4ba11207764b6982f202f90eeb4781c9836c038b0be2dba57ec212fbb2929993 proof/artifacts/webmcpify-proof-480p.mp4
diff --git a/proof/artifacts/webmcpify-proof-480p.mp4 b/proof/artifacts/webmcpify-proof-480p.mp4
index 793e538..2480b7c 100644
Binary files a/proof/artifacts/webmcpify-proof-480p.mp4 and b/proof/artifacts/webmcpify-proof-480p.mp4 differ
diff --git a/proof/artifacts/webmcpify-proof-source.webm b/proof/artifacts/webmcpify-proof-source.webm
index 683aae8..769c62d 100644
Binary files a/proof/artifacts/webmcpify-proof-source.webm and b/proof/artifacts/webmcpify-proof-source.webm differ
diff --git a/proof/demo/app.js b/proof/demo/app.js
index 0250e9a..430f085 100644
--- a/proof/demo/app.js
+++ b/proof/demo/app.js
@@ -31,7 +31,10 @@ window.proof = {
line(text) { log.textContent += `${text}\n`; log.scrollTop = log.scrollHeight; },
manifest(show = true) { document.querySelector('#manifest').hidden = !show; },
gate() { document.querySelector('#gate').showModal(); },
- check(text) { document.querySelector('#checks').insertAdjacentHTML('beforeend', `
✓ ${text}
`); },
+ check(text) {
+ document.querySelector('#checks').insertAdjacentHTML('beforeend', `✓ ${text}
`);
+ log.scrollTop = log.scrollHeight;
+ },
chrome(version) { document.querySelector('#chrome').textContent = `Chrome ${version} · native document.modelContext`; },
};
diff --git a/proof/demo/run.mjs b/proof/demo/run.mjs
index a9125c6..a2880d1 100644
--- a/proof/demo/run.mjs
+++ b/proof/demo/run.mjs
@@ -102,7 +102,10 @@ try {
}
await page.waitForFunction(async () => (await document.modelContext.getTools()).some((tool) => tool.name === 'set_release_filter'));
- await page.evaluate(() => window.proof.phase('verify', 'Verify through native Chrome'));
+ await page.evaluate(() => {
+ window.proof.phase('verify', 'Verify through native Chrome');
+ window.proof.manifest(false);
+ });
const tool = await page.evaluate(async () => (await document.modelContext.getTools()).find((item) => item.name === 'set_release_filter'));
assert(tool);
assert.equal(tool.annotations.readOnlyHint, false);
diff --git a/proof/demo/style.css b/proof/demo/style.css
index 13e2985..22c409d 100644
--- a/proof/demo/style.css
+++ b/proof/demo/style.css
@@ -9,7 +9,8 @@ nav span { padding:7px 12px; color:var(--muted); border:1px solid transparent; f
nav span.active { color:var(--bg); background:var(--amber); border-color:var(--amber); }
nav span.done { color:var(--green); border-color:var(--green); }
main { display:grid; grid-template-columns:1fr 1fr; gap:24px; padding:28px 36px; }
-section { min-height:560px; padding:28px; border:1px solid var(--line); background:var(--panel); }
+section { height:560px; padding:28px; border:1px solid var(--line); background:var(--panel); overflow:hidden; }
+.proof-card { display:flex; flex-direction:column; }
.eyebrow { color:var(--amber); font-size:12px; letter-spacing:.12em; font-weight:800; }
h1 { margin:.3em 0 .15em; font:700 42px/1.1 system-ui,sans-serif; }
h2 { margin:.35em 0 .8em; font:700 27px/1.2 system-ui,sans-serif; }
@@ -20,12 +21,12 @@ button[aria-pressed="true"], #approve { color:var(--bg); background:var(--green)
article { display:flex; justify-content:space-between; padding:15px 2px; border-bottom:1px solid var(--line); font-family:system-ui,sans-serif; }
article small { color:var(--muted); }
#visible-count { color:var(--green); font-size:14px; }
-#manifest { padding:18px; border:1px solid var(--amber); background:#101412; }
+#manifest { flex-shrink:0; padding:18px; border:1px solid var(--amber); background:#101412; }
#manifest span { float:right; color:var(--muted); font-size:13px; }
#manifest p { margin:.65em 0 0; color:var(--muted); font-size:14px; }
-#checks { margin-top:20px; }
+#checks { flex-shrink:0; margin-top:20px; }
.check { margin:8px 0; color:var(--green); }
-pre { min-height:260px; margin-top:20px; padding:16px; overflow:hidden; white-space:pre-wrap; color:#cdd7d2; background:#090c0b; border:1px solid #27302d; font-size:13px; line-height:1.55; }
+pre { flex:1; min-height:0; margin-top:20px; padding:16px; overflow:hidden; white-space:pre-wrap; color:#cdd7d2; background:#090c0b; border:1px solid #27302d; font-size:13px; line-height:1.55; }
dialog { width:620px; color:var(--ink); background:#171e1b; border:2px solid var(--amber); box-shadow:0 24px 90px #000; padding:30px; }
dialog::backdrop { background:rgba(0,0,0,.72); }
dialog p, dialog li { font-family:system-ui,sans-serif; color:#c7d0cb; }