diff --git a/generate.py b/generate.py index 784da3c..eff98dd 100644 --- a/generate.py +++ b/generate.py @@ -553,7 +553,54 @@ def _job_row(j): *{{box-sizing:border-box;margin:0;padding:0}}html{{scroll-behavior:smooth}}body{{background:var(--bg);color:var(--tx);font:14px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;padding:18px;width:min(1120px,calc(100% - 24px));margin:0 auto;-webkit-font-smoothing:antialiased}}h1{{font:800 15px ui-monospace,SFMono-Regular,monospace;letter-spacing:.06em;text-transform:uppercase;margin:2px 0}}.sub{{color:var(--mut);font:11px ui-monospace,monospace;margin:6px 0 18px}}.grid{{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:10px}}.kpi,.panel{{background:var(--card);border:1px solid var(--line);border-radius:11px}}.kpi{{padding:15px}}.kpi .v{{font:800 28px ui-monospace,monospace;color:var(--acc);font-variant-numeric:tabular-nums}}.vsub{{font-size:13px;color:var(--mut);font-weight:500}}.kpi .l{{color:var(--mut);font:800 9px ui-monospace,monospace;text-transform:uppercase;letter-spacing:.1em;margin-top:4px}}.panel{{padding:15px;margin-bottom:10px;overflow-x:auto}}.panel h2{{font:800 10px ui-monospace,monospace;color:var(--mut);text-transform:uppercase;letter-spacing:.11em;margin-bottom:10px}}.panel.attn{{border-color:#5e3438}}.panel.attn h2{{color:#ff9c9c}}.panel.calm{{opacity:.9}}.anom{{padding:11px 0;border-top:1px solid var(--line);font-size:12px}}.anom:first-of-type{{border-top:0}}.badge{{font:800 9px ui-monospace;padding:4px 7px;border-radius:5px;margin-right:7px}}.nowrap{{white-space:nowrap}}table{{width:100%;min-width:620px;border-collapse:collapse;font-size:12px}}td{{padding:10px 8px;border-top:1px solid var(--line);vertical-align:top}}tr:first-child td{{border-top:0}}.mut{{color:var(--mut)}}.pill{{font:800 9px ui-monospace;padding:4px 7px;border-radius:999px}}.pill.on{{background:#143323;color:#7de3a6}}.pill.off{{border:1px solid var(--line);color:#77818c}}.st{{font-weight:600}}.st.f{{color:var(--bad)}}.st.s{{color:var(--ok)}}.chips{{display:flex;gap:6px;margin-bottom:8px}}.chip{{font:800 10px ui-monospace;padding:6px 10px;border-radius:7px;border:1px solid var(--line);background:transparent;color:var(--mut);cursor:pointer}}.chip.active{{background:#252e43;border-color:#3d4f80;color:#dce4ff}}.hlth{{font:800 10px ui-monospace;padding:3px 7px;border-radius:999px}}.hlth.ok{{color:var(--ok);background:#143323}}.hlth.warn{{color:var(--warn);background:#3d2e18}}.hlth.bad{{color:var(--bad);background:#4a2024}}.ackbtn{{float:right;font:800 9px ui-monospace;padding:4px 8px;border-radius:7px;border:1px solid var(--line);background:transparent;color:var(--mut);cursor:pointer}}.ackbtn:hover{{border-color:#56606c}}.ackbtn:disabled{{cursor:default;opacity:.65}}tr.grp td{{background:#151a20;color:var(--mut);font:800 9px ui-monospace;text-transform:uppercase;letter-spacing:.1em}}footer{{color:#66717d;font:10px ui-monospace;text-align:center;margin-top:14px}} @media(max-width:760px){{body{{width:calc(100% - 20px);padding:12px}}.grid{{grid-template-columns:repeat(2,minmax(0,1fr))}}.kpi .v{{font-size:23px}}.panel{{padding:12px}}}}@media(max-width:420px){{.grid{{grid-template-columns:1fr}}.kpi .v{{font-size:25px}}}} @media(prefers-reduced-motion:reduce){{*{{transition:none!important}}}} + +/* AgentScope shared product UI — generated local dashboard */ +.skip-link{{position:fixed;left:12px;top:12px;z-index:1000;transform:translateY(-160%);background:#fff;color:#172019;padding:10px 12px;border:2px solid currentColor;border-radius:6px;font:600 12px Inter,ui-sans-serif,system-ui,sans-serif}}.skip-link:focus{{transform:translateY(0)}} +:root{{--bg:#f4f5f1;--card:#fff;--line:#dce2d9;--tx:#172019;--mut:#68736b;--acc:#536f59;--ok:#32704b;--bad:#a8453d;--warn:#94651e}} +body{{background:var(--bg);color:var(--tx);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:-.012em;padding:28px;width:min(1200px,calc(100% - 48px))}} +h1{{font:750 clamp(25px,3vw,32px)/1.15 Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:-.055em;text-transform:none;margin:4px 0}} +.sub{{font:13px/1.5 Inter,ui-sans-serif,system-ui,sans-serif;color:var(--mut);margin:8px 0 24px}} +.grid{{gap:12px;margin-bottom:14px}} +.kpi,.panel{{background:var(--card);border:1px solid var(--line);border-radius:9px;box-shadow:0 2px 10px #17201905}} +.kpi{{padding:19px}} +.kpi .v{{font:740 30px/1.1 Inter,ui-sans-serif,system-ui,sans-serif;color:var(--acc);letter-spacing:-.05em;font-variant-numeric:tabular-nums}} +.vsub{{font:500 12px Inter,ui-sans-serif,system-ui,sans-serif;color:var(--mut)}} +.kpi .l{{font:650 10px Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:.07em;text-transform:uppercase;color:var(--mut);margin-top:7px}} +.panel{{padding:18px;margin-bottom:12px;overflow-x:auto}} +.panel h2{{font:700 12px Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:.02em;text-transform:none;color:var(--tx);margin-bottom:12px}} +.panel.attn{{border-color:#e5d1c6;background:#fff}} +.panel.attn h2{{color:#8b4b3b}} +.panel.calm{{opacity:1}} +.anom{{padding:12px 0;border-color:#edf0eb;font-size:13px;line-height:1.6}} +.badge{{font:700 9px Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:.05em;padding:5px 8px;border-radius:5px}} +table{{font-size:13px;min-width:600px}} +td{{padding:12px 10px;border-color:#edf0eb}} +.mut{{color:var(--mut)}} +.pill{{font:700 9px Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:.04em;padding:5px 8px}} +.pill.on{{background:#e8f0e8;color:#376344}} +.pill.off{{border-color:var(--line);color:#79837a}} +.st{{font-weight:650}} +.st.f{{color:var(--bad)}} +.st.s{{color:var(--ok)}} +.chips{{gap:7px;margin:0 0 12px}} +.chip{{font:600 11px Inter,ui-sans-serif,system-ui,sans-serif;padding:8px 12px;border-radius:5px;border-color:var(--line);background:#fff;color:var(--mut);transition:background .18s ease,border-color .18s ease}} +.chip:hover{{border-color:#b9c9b8}} +.chip.active{{background:#e8eee7;border-color:#cbd9ca;color:#38543e}} +.hlth{{font:700 10px Inter,ui-sans-serif,system-ui,sans-serif;padding:4px 8px}} +.hlth.ok{{color:#376344;background:#e8f0e8}} +.hlth.warn{{color:#8b621d;background:#f6f0e1}} +.hlth.bad{{color:#93433c;background:#f8eae7}} +.ackbtn{{font:600 10px Inter,ui-sans-serif,system-ui,sans-serif;padding:6px 10px;border-radius:5px;border-color:var(--line);color:#536f59;background:#fff}} +.ackbtn:hover{{border-color:#9eaf9d;background:#f4f7f2}} +tr.grp td{{background:#f3f5f1;color:#536f59;font:700 10px Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:.05em;text-transform:uppercase}} +footer{{color:#7d887e;font:12px Inter,ui-sans-serif,system-ui,sans-serif;margin-top:20px}} +button:focus-visible{{outline:3px solid #789579;outline-offset:3px}} +@media(max-width:760px){{body{{width:calc(100% - 32px);padding:18px 0}}.grid{{grid-template-columns:repeat(2,minmax(0,1fr))}}.kpi{{padding:15px}}.kpi .v{{font-size:25px}}.panel{{padding:14px}}}} +@media(max-width:420px){{body{{width:calc(100% - 24px);padding:14px 0}}.grid{{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}.kpi{{padding:12px}}.kpi .v{{font-size:22px}}.kpi .l{{font-size:9px;line-height:1.4}}.panel{{padding:12px}}.panel h2{{font-size:12px}}}} +@media(prefers-reduced-motion:reduce){{html{{scroll-behavior:auto}}*,*::before,*::after{{transition:none!important;animation:none!important}}}} + +

{esc(cfg['title'])}

{esc(now)} — supervision view · read-only
@@ -631,7 +678,7 @@ def _job_row(j): }})(); -""" +
""" d = os.path.dirname(out_path) if d: os.makedirs(d, exist_ok=True) diff --git a/site/demo.html b/site/demo.html index 2ce3f19..d65337a 100644 --- a/site/demo.html +++ b/site/demo.html @@ -1,6 +1,60 @@ AgentScope Demo — Morning supervision scan
agentscopeview source ↗
interactive sample

Morning supervision scan

Sample data demonstrates the read-only experience. Use the filters below to see how a morning scan stays focused on signal instead of telemetry.

SAMPLE DATA · 08:02
+:root{--bg:#0b0d10;--card:#11151a;--line:#272e37;--tx:#eef1f4;--mut:#89939f;--blue:#7694ff;--good:#56d68b;--bad:#ff7373;--warn:#e6ad59}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--tx);font:14px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}.shell{width:min(1180px,calc(100% - 32px));margin:auto;padding:22px 0 45px}.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.brand{color:#fff;text-decoration:none;font:800 15px ui-monospace,monospace;letter-spacing:.04em;text-transform:uppercase}.brand i{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--blue);margin-right:8px}.top a:not(.brand){color:#9ba5b0;text-decoration:none;font:12px ui-monospace,monospace}.hero{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:20px}.eyebrow{font:800 10px ui-monospace,monospace;letter-spacing:.14em;color:var(--blue);text-transform:uppercase}.hero h1{font:800 clamp(28px,4vw,44px)/1.05 ui-monospace,monospace;letter-spacing:-.06em;margin:8px 0}.hero p{color:var(--mut);margin:0;max-width:720px}.sample{font:10px ui-monospace;color:#7c8692;border:1px solid var(--line);border-radius:999px;padding:6px 10px;white-space:nowrap}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0}.kpi{background:var(--card);border:1px solid var(--line);border-radius:11px;padding:16px}.kpi b{font:800 28px ui-monospace}.kpi span{display:block;color:var(--mut);font:10px ui-monospace;text-transform:uppercase;letter-spacing:.08em;margin-top:3px}.blue{color:var(--blue)}.good{color:var(--good)}.bad{color:var(--bad)}.panel{background:var(--card);border:1px solid var(--line);border-radius:11px;margin:10px 0;overflow:hidden}.head{display:flex;justify-content:space-between;align-items:center;padding:15px 16px;border-bottom:1px solid var(--line)}.head b{font:800 11px ui-monospace;letter-spacing:.1em;text-transform:uppercase}.head small{color:var(--mut)}.attention{border-color:#5e3438}.attention .head{background:#181113;color:#ff9c9c}.issue{display:flex;gap:10px;padding:13px 16px;border-top:1px solid var(--line)}.issue:first-of-type{border-top:0}.badge{font:800 9px ui-monospace;padding:4px 7px;border-radius:5px;white-space:nowrap}.fail{color:#ffb1b1;background:#4a2024}.warn{color:#f0c986;background:#3d2e18}.issue strong{font-size:13px}.issue p{color:var(--mut);margin:3px 0 0;font-size:12px}.grid{display:grid;grid-template-columns:1.2fr .8fr;gap:10px}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:11px 14px;border-top:1px solid var(--line);font-size:12px}.table th{color:#707a86;font:800 9px ui-monospace;text-transform:uppercase;letter-spacing:.1em;border-top:0}.pill{font:800 9px ui-monospace;padding:4px 7px;border-radius:999px}.on{background:#143323;color:#7de3a6}.off{border:1px solid var(--line);color:#77818c}.health{font:800 10px ui-monospace}.spark{height:104px;padding:20px;display:flex;align-items:end;gap:8px}.spark i{display:block;flex:1;background:#344a86;border-radius:4px 4px 1px 1px;min-height:8px}.activity{padding:0 14px 5px}.act{display:grid;grid-template-columns:65px 1fr auto;gap:10px;align-items:center;padding:10px 2px;border-top:1px solid var(--line);font-size:12px}.act time{color:#6f7985;font:10px ui-monospace}.act .ok{color:var(--good)}.act .err{color:var(--bad)}.controls{display:flex;gap:6px}.filter{border:1px solid var(--line);background:transparent;color:#89939f;border-radius:7px;padding:5px 9px;font:10px ui-monospace;cursor:pointer}.filter.active{background:#252e43;color:#dce4ff;border-color:#3d4f80}.footer{display:flex;justify-content:space-between;color:#66717d;font:10px ui-monospace;margin-top:18px}.footer a{color:#8c99a8;text-decoration:none}@media(max-width:800px){.grid{grid-template-columns:1fr}.kpis{grid-template-columns:repeat(2,1fr)}.hero{display:block}.sample{display:inline-block;margin-top:12px}}@media(max-width:480px){.table{display:block;overflow-x:auto;white-space:nowrap}.table th:nth-child(2),.table td:nth-child(2){display:table-cell}.shell{width:calc(100% - 20px);padding-top:14px}.kpis{gap:7px}.kpi{padding:12px}.kpi b{font-size:22px}.table th:nth-child(2),.table td:nth-child(2){display:none}.act{grid-template-columns:52px 1fr}.act span:last-child{display:none}.footer{display:block}.footer>*{display:block;margin:8px 0}} + +/* Shared AgentScope interface system — demo */ +:root{--bg:#f4f5f1;--card:#fff;--line:#dce2d9;--tx:#172019;--mut:#68736b;--blue:#536f59;--good:#32704b;--bad:#a8453d;--warn:#94651e} +body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--tx);background:var(--bg);letter-spacing:-.012em} +.shell{width:min(1200px,calc(100% - 48px));padding:24px 0 52px} +.top{padding-bottom:17px;border-bottom:1px solid var(--line);margin-bottom:48px} +.brand{color:var(--tx);font:750 17px/1 Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:-.05em;text-transform:none} +.brand i{background:var(--blue);width:9px;height:9px} +.top a:not(.brand){font:600 12px Inter,ui-sans-serif,system-ui,sans-serif;color:#59655d} +.hero{align-items:end;margin-bottom:30px} +.eyebrow{font:700 11px Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:.13em;color:var(--blue)} +.hero h1{font:740 clamp(34px,4.2vw,48px)/1.08 Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:-.06em} +.hero p{font-size:15px;line-height:1.7;color:var(--mut)} +.sample{font:650 10px Inter,ui-sans-serif,system-ui,sans-serif;color:#536f59;background:#e8eee7;border:1px solid #d5e0d4;border-radius:5px;letter-spacing:.06em} +.kpis{gap:12px;margin:22px 0} +.kpi,.panel{background:var(--card);border-color:var(--line);border-radius:9px;box-shadow:0 2px 10px #17201905} +.kpi{padding:19px} +.kpi b{font:720 30px/1.1 Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:-.05em;font-variant-numeric:tabular-nums} +.kpi span{font:650 10px Inter,ui-sans-serif,system-ui,sans-serif;color:var(--mut);letter-spacing:.08em} +.panel{margin:12px 0} +.head{padding:17px 18px;border-color:var(--line)} +.head b{font:700 12px Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:.045em} +.head small{font:500 11px Inter,ui-sans-serif,system-ui,sans-serif;color:var(--mut)} +.attention{border-color:#e5d1c6} +.attention .head{background:#faf3ee;color:#8b4b3b} +.issue{padding:15px 18px;border-color:#edf0eb} +.badge{font:700 9px Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:.06em} +.fail{color:#93433c;background:#f8eae7} +.warn{color:#8b621d;background:#f6f0e1} +.issue strong{font-size:13px;font-weight:650} +.issue p{font-size:12px;line-height:1.55;color:var(--mut)} +.table th,.table td{padding:13px 16px;border-color:#edf0eb;font-size:12px} +.table th{font:700 10px Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:.08em;color:#79837a} +.pill{font:700 9px Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:.04em} +.on{background:#e8f0e8;color:#376344} +.off{border-color:#dce2d9;color:#79837a} +.health{font:700 11px Inter,ui-sans-serif,system-ui,sans-serif} +.spark{padding:22px 20px;height:120px} +.spark i{background:#9bad9a;border-radius:3px 3px 0 0} +.controls{gap:7px} +.filter{font:600 11px Inter,ui-sans-serif,system-ui,sans-serif;border-radius:5px;padding:7px 11px;color:#68736b;background:#fff} +.filter.active{background:#e8eee7;color:#38543e;border-color:#cbd9ca} +.act{padding:13px 2px;border-color:#edf0eb;font-size:12px} +.act time{font:600 10px Inter,ui-sans-serif,system-ui,sans-serif;color:#89938a} +.act .ok,.act .err{font-weight:650} +.footer{font:11px Inter,ui-sans-serif,system-ui,sans-serif;color:#7d887e} +.footer a{color:#536f59} +button:focus-visible,a:focus-visible{outline:3px solid #789579;outline-offset:3px} +@media(max-width:800px){.shell{width:calc(100% - 32px)}.top{margin-bottom:34px}} +@media(max-width:480px){.shell{width:calc(100% - 24px)}.kpi{padding:14px}.kpi b{font-size:24px}.table th,.table td{padding:11px 10px}.act{grid-template-columns:60px minmax(0,1fr) auto}.act span:last-child{display:block}} +@media(max-width:360px){.act{grid-template-columns:50px minmax(0,1fr)}.act span:last-child{grid-column:2}.head{padding:14px}.issue{padding:13px 14px}} + +.skip-link{position:fixed;left:12px;top:12px;z-index:1000;transform:translateY(-160%);background:#fff;color:#172019;padding:10px 12px;border:2px solid currentColor;border-radius:6px;font:600 12px Inter,ui-sans-serif,system-ui,sans-serif}.skip-link:focus{transform:translateY(0)} +@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}} +
agentscopeview source ↗
interactive sample

Morning supervision scan

Sample data demonstrates the read-only experience. Use the filters below to see how a morning scan stays focused on signal instead of telemetry.

SAMPLE DATA · 08:02
8/10scheduled jobs on
2failed runs · 24h
46successful runs · 24h
14active sessions · 7d
Needs attention2 items
FAIL
Nightly enrichment is skipping

Model configuration drift was detected. The scheduler skipped the run.

WARN
Lead follow-up credentials rejected

Three recent attempts returned an authentication failure.

Scheduled jobs & health10 jobs
JobCadenceStateHealth
Research digestevery 6hON92%
Nightly enrichment02:00 dailyON41%
Lead follow-up09:00 dailyON67%
Weekly learningMon 09:00ON100%
Archive cleanupSun 03:00OFF—
Daily digest08:00 dailyON100%
Session activity7 days
diff --git a/site/index.html b/site/index.html index d342167..6687758 100644 --- a/site/index.html +++ b/site/index.html @@ -21,6 +21,55 @@ @media(max-width:850px){header{grid-template-columns:1fr;gap:42px;padding-top:70px}.cards{grid-template-columns:1fr}.wrap{width:min(100% - 28px,1160px)}}@media(max-width:640px){nav .links a:not(.navcta){display:none}header{padding:58px 0 52px}h1{font-size:42px}section{padding:64px 0}.footer{display:block}.footer>*{display:block;margin:8px 0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}} .skip-link{position:fixed;left:12px;top:12px;z-index:1000;transform:translateY(-160%);background:#fff;color:#0b0d10;padding:9px 12px;border:2px solid currentColor;border-radius:8px}.skip-link:focus{transform:translateY(0)} a:focus-visible,button:focus-visible{outline:3px solid currentColor;outline-offset:3px} + +/* AgentScope design system refresh */ +:root{--bg:#f4f5f1;--ink:#172019;--mut:#68736b;--line:#dce2d9;--card:#fff;--accent:#536f59;--dark:#172019;--good:#32704b} +body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:-.012em} +.wrap{width:min(1200px,calc(100% - 48px))} +nav{height:72px;border-bottom-color:var(--line)} +.wordmark{font:750 18px/1.1 Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:-.055em} +.wordmark i{width:10px;height:10px;background:var(--accent);box-shadow:0 0 0 4px #536f5918} +nav .links{gap:28px} +nav .links a{font:600 13px/1.2 Inter,ui-sans-serif,system-ui,sans-serif;color:#59655d;transition:color .18s ease} +nav .links a:hover{color:var(--accent)} +.links .navcta{background:var(--ink);border-radius:7px;padding:10px 15px;color:#fff} +header{padding:94px 0 82px;gap:72px} +.tag,.kicker{font:700 11px/1.3 Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:.13em;color:var(--accent)} +h1{font:750 clamp(44px,5.5vw,72px)/1.045 Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:-.067em} +h1 em{color:var(--accent)} +.hero-sub{font-size:18px;line-height:1.65;color:#667168;max-width:590px} +.btn{font:650 13px/1 Inter,ui-sans-serif,system-ui,sans-serif;padding:14px 18px;border-radius:7px;transition:transform .18s ease,background .18s ease,border-color .18s ease} +.btn:hover{background:#2b3a2e} +.btn-ghost{background:transparent;border-color:#cbd4ca;color:var(--ink)} +.btn-ghost:hover{background:#e9ede7;border-color:#aebcaf} +.microline{font-size:12px;color:#7b857d} +.stage{border-radius:12px;padding:17px;box-shadow:0 26px 70px #17201920} +.stage-kpis>div{border-radius:6px} +.stage-alert{border-radius:6px} +.stage-table{border-radius:6px} +section{padding:82px 0} +h2{font:720 clamp(30px,3.7vw,44px)/1.12 Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:-.055em} +.lede{font-size:16px;line-height:1.7;color:#68736b} +.cards{gap:16px;margin-top:34px} +.card{border-radius:9px;padding:25px 24px;border-color:#dfe4dc;box-shadow:0 2px 8px #17201905} +.card h3{font:680 16px/1.35 Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:-.025em;margin:26px 0 9px} +.card p{font-size:14px;line-height:1.7} +.story{border-left-color:#77917a} +.story p{font:500 clamp(20px,2.8vw,27px)/1.45 Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:-.025em} +.story .who{font:12px Inter,ui-sans-serif,system-ui,sans-serif} +.spec{font-size:14px} +.spec td:first-child{font:700 11px Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:.07em;color:#536f59} +pre{border-radius:8px;background:#18221b;border-color:#27382b;font-size:12px} +.dark{background:#172019;color:#f5f7f3;border-color:#26352a} +.dark .kicker{color:#a6c2a9} +.dark .lede{color:#b7c2b8} +.dark .card{background:#f8faf6;border-color:#e1e7df} +.end{padding-bottom:88px} +.footer{font-size:12px} +@media(max-width:850px){header{gap:38px;padding-top:66px}.wrap{width:min(100% - 32px,1200px)}} +@media(max-width:640px){header{padding:54px 0 50px}h1{font-size:clamp(39px,10vw,48px)}section{padding:60px 0}.cta-row .btn{flex:1 1 auto;justify-content:center}} +@media(max-width:360px){.wrap{width:calc(100% - 24px)}nav .wordmark{font-size:16px}.links .navcta{padding:9px 10px}.btn{padding:12px 13px;font-size:12px}} + diff --git a/site/proofs.html b/site/proofs.html index 36dce38..ea427a3 100644 --- a/site/proofs.html +++ b/site/proofs.html @@ -1,5 +1,38 @@ Evidence proofs — AgentScope

Habitat · portable evidence

Proof snapshots.

Historical Habitat proof exports copied into AgentScope. Each bundle is checked in your browser for its embedded SHA-256 content digest and claim/action consistency.

Important: a matching content hash detects changes to the exported bundle, but does not authenticate who published it. These are historical records, not live status. An unsigned proof does not independently establish that the claimed work happened in the outside world.
Loading proof index…
+:root{--bg:#f7f7f5;--ink:#0b0d10;--mut:#626a73;--line:#dedfdf;--card:#fff;--blue:#315cff;--green:#137a43;--amber:#8a5a12;--red:#a32929}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.6 system-ui,-apple-system,"Segoe UI",sans-serif}.wrap{width:min(920px,calc(100% - 32px));margin:auto}nav{height:72px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}nav a{color:inherit;text-decoration:none;font-weight:700}.mono{font:11px ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--blue)}h1{font:800 clamp(34px,6vw,56px)/1.05 ui-monospace,monospace;letter-spacing:-.06em;margin:54px 0 14px}.lede{color:var(--mut);max-width:700px}.notice{border:1px solid #e3d4b4;background:#fffaf0;padding:14px 16px;border-radius:9px;color:#604c2a;font-size:13px;margin:26px 0}.list{display:grid;gap:12px;margin:28px 0}.proof{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:20px}.proof h2{font:800 17px ui-monospace,monospace;margin:0 0 5px}.meta{color:var(--mut);font-size:12px;overflow-wrap:anywhere}.claim{margin:14px 0}.checks{display:flex;flex-wrap:wrap;gap:7px}.check{border:1px solid var(--line);border-radius:6px;padding:4px 8px;font:10px ui-monospace,monospace}.ok{color:var(--green);border-color:#b8ddc6}.warn{color:var(--amber);border-color:#e5d3ad}.bad{color:var(--red);border-color:#e6bcbc}.proof a{display:inline-block;margin-top:14px;color:var(--blue);font:700 12px ui-monospace,monospace}.empty{padding:20px;border:1px dashed var(--line);color:var(--mut)}footer{border-top:1px solid var(--line);padding:24px 0 40px;color:var(--mut);font-size:12px}a:focus-visible{outline:3px solid var(--blue);outline-offset:3px}@media(max-width:500px){.proof{padding:15px}.checks{gap:5px}} +/* Shared AgentScope interface system — proof explorer */ +:root{--bg:#f4f5f1;--ink:#172019;--mut:#68736b;--line:#dce2d9;--card:#fff;--blue:#536f59;--green:#32704b;--amber:#94651e;--red:#a8453d} +body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:-.012em} +.wrap{width:min(980px,calc(100% - 48px))} +nav{height:72px;border-color:var(--line)} +nav a{font-weight:700;text-decoration:none} +nav a:first-child{font:750 17px Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:-.05em} +nav a:last-child{font-size:13px;color:#536f59} +.mono{font:700 11px Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:.13em;color:#536f59} +h1{font:740 clamp(38px,5.5vw,56px)/1.05 Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:-.065em;margin:58px 0 16px} +.lede{font-size:16px;line-height:1.7;color:var(--mut)} +.notice{background:#f8f4e9;border-color:#e8dfc9;color:#665633;border-radius:7px;padding:16px 18px;line-height:1.65} +.list{gap:14px;margin:30px 0 40px} +.proof{border-radius:9px;padding:23px 24px;box-shadow:0 2px 10px #17201905;transition:border-color .18s ease,box-shadow .18s ease} +.proof:hover{border-color:#c4d1c2;box-shadow:0 8px 24px #1720190b} +.proof h2{font:680 17px Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:-.025em} +.meta{font:12px/1.6 Inter,ui-sans-serif,system-ui,sans-serif;color:#758078;overflow-wrap:anywhere} +.claim{font-size:14px;line-height:1.65;color:#2d3930} +.checks{gap:7px} +.check{border-radius:5px;padding:6px 9px;font:700 9px Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:.045em} +.ok{color:#376344;border-color:#c7d9c8;background:#edf4ed} +.warn{color:#87601f;border-color:#e7d9b8;background:#faf5e8} +.bad{color:#93433c;border-color:#e6c9c4;background:#fbefed} +.proof a{font:650 12px Inter,ui-sans-serif,system-ui,sans-serif;color:#536f59;text-decoration:none} +.proof a:hover{text-decoration:underline} +footer{font:12px Inter,ui-sans-serif,system-ui,sans-serif;color:#79837a} +footer a{color:#536f59} +a:focus-visible{outline:3px solid #789579;outline-offset:3px} +@media(max-width:500px){.wrap{width:calc(100% - 28px)}.proof{padding:17px}.checks{gap:6px}.check{font-size:8px;padding:5px 7px}h1{margin-top:44px}} + +.skip-link{position:fixed;left:12px;top:12px;z-index:1000;transform:translateY(-160%);background:#fff;color:#172019;padding:10px 12px;border:2px solid currentColor;border-radius:6px;font:600 12px Inter,ui-sans-serif,system-ui,sans-serif}.skip-link:focus{transform:translateY(0)} +@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}} +

Habitat · portable evidence

Proof snapshots.

Historical Habitat proof exports copied into AgentScope. Each bundle is checked in your browser for its embedded SHA-256 content digest and claim/action consistency.

Important: a matching content hash detects changes to the exported bundle, but does not authenticate who published it. These are historical records, not live status. An unsigned proof does not independently establish that the claimed work happened in the outside world.
Loading proof index…