41ba491
a6a5d8e
41ba491
f45a137
06c9714
41ba491
1efb99f
41ba491
55fd4fc
ee3c4a7
41ba491
1efb99f
41ba491
ee3c4a7
b120a86
41ba491
8aa1aaa
41ba491
e97df21
41ba491
55fd4fc
41ba491
55fd4fc
41ba491
55fd4fc
41ba491
0939944
41ba491
1c96c1a
41ba491
94e6d5b
41ba491
966be2c
41ba491
94e6d5b
41ba491
f45a137
41ba491
f45a137
41ba491
55fd4fc
41ba491
f45a137
41ba491
55fd4fc
41ba491
6d65e6a
41ba491
f45a137
41ba491
a6a5d8e
41ba491
1c96c1a
41ba491
8aa1aaa
41ba491
6b69c89
41ba491
e72a510
41ba491
1f88aa0
41ba491
68133a4
41ba491
68133a4
41ba491
68133a4
41ba491
04dfff1
41ba491
68133a4
41ba491
fd01a07
41ba491
55fd4fc
08dcc19
55fd4fc
d0e443e
1c96c1a
d0e443e
b120a86
d0e443e
e885474
41ba491
e885474
41ba491
1f88aa0
41ba491
1f88aa0
41ba491
6d65e6a
41ba491
1c96c1a
41ba491
1f88aa0
41ba491
f0613f2
41ba491
68133a4
41ba491
fd01a07
41ba491
6b69c89
41ba491
f45a137
41ba491
1f88aa0
41ba491
1f88aa0
41ba491
1f88aa0
41ba491
e72a510
41ba491
1f88aa0
41ba491
1f88aa0
41ba491
1f88aa0
41ba491
1f88aa0
41ba491
1f88aa0
41ba491
1c96c1a
41ba491
ee3c4a7
41ba491
55fd4fc
1c96c1a
94e6d5b
55fd4fc
1c96c1a
55fd4fc
1c96c1a
55fd4fc
6d65e6a
55fd4fc
6d65e6a
55fd4fc
1c96c1a
55fd4fc
1c96c1a
55fd4fc
6d65e6a
94e6d5b
55fd4fc
6d65e6a
55fd4fc
94e6d5b
55fd4fc
08dcc19
6d65e6a
08dcc19
55fd4fc
08dcc19
6d65e6a
08dcc19
55fd4fc
08dcc19
55fd4fc
08dcc19
55fd4fc
08dcc19
55fd4fc
08dcc19
55fd4fc
08dcc19
55fd4fc
6d65e6a
55fd4fc
966be2c
41ba491
ee3c4a7
41ba491
a6a5d8e | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 | <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>a11oy — Orchestration Platform · SZL Holdings</title>
<meta name="description" content="a11oy is the orchestrating brain of the SZL governed-AI substrate: a full operator application — command center, five superpowers, Warhacker orchestration, observability, the constitution (wires), formulas, and the evidence ledger. Every view reads a live endpoint."/>
<script src="/vendor/chart.umd.min.js"></script>
<script src="/vendor/3d-force-graph.min.js"></script>
<script src="/vendor/echarts.min.js"></script>
<script src="/vendor/echarts-gl.min.js"></script>
<script src="/vendor/globe.gl.min.js"></script>
<script src="/vendor/cytoscape.min.js"></script>
<script src="/vendor/d3.min.js"></script>
<link rel="stylesheet" href="/vendor/katex.min.css"/>
<script src="/vendor/katex.min.js"></script>
<style>
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:300 700;font-display:swap;src:url('/vendor/fonts/SpaceGrotesk.woff2') format('woff2');}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400 500;font-display:swap;src:url('/vendor/fonts/JetBrainsMono.woff2') format('woff2');}
</style>
<style>/* ============ SZL UNIFIED APP SHELL — house style (gold+teal on dark) ============ */
/* Shared by all 5 flagship full-applications. One product family. */
:root{
--ground:#0a0a0a; --panel:#0e0e0e; --panel2:#080808; --rail:#0b0b0b;
--gold:#c9b787; --gold-bright:#d6c69a;
--teal:#5fb3a3; --teal-soft:rgba(95,179,163,0.10);
--cream:#f5f5f5; --paragraph:#9a9a9a; --muted:#888; --dim:#555;
--gold-line:rgba(201,183,135,0.15); --gold-soft:rgba(201,183,135,0.04);
--teal-line:rgba(95,179,163,0.22);
--live:#5a8a6e; --err:#b06a5a; --warn:#c9a05f;
--mono:'JetBrains Mono',ui-monospace,SFMono-Regular,monospace;
--display:'Space Grotesk',Georgia,serif;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;background:var(--ground);color:var(--cream);
font-family:var(--display);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
.mono{font-family:var(--mono);}
a{color:inherit;text-decoration:none;}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:3px;}
::-webkit-scrollbar{width:9px;height:9px;}::-webkit-scrollbar-thumb{background:#222;border-radius:6px;}
/* ===== TOP BAR + CROSS-FLAG SWITCHER ===== */
.topbar{position:sticky;top:0;z-index:60;display:flex;align-items:center;gap:1rem;flex-wrap:wrap;
padding:.5rem 1.1rem;background:rgba(10,10,10,.92);backdrop-filter:blur(10px);
border-bottom:1px solid var(--gold-line);font-family:var(--mono);font-size:10.5px;
letter-spacing:.1em;text-transform:uppercase;color:var(--gold);}
.topbar .sep{color:var(--dim);}
.topbar .live{display:inline-flex;align-items:center;gap:.4rem;color:var(--cream);}
.live-dot{width:6px;height:6px;border-radius:50%;background:var(--live);box-shadow:0 0 6px var(--live);animation:pulse 2.2s ease-in-out infinite;}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.35;}}
.switcher{margin-left:auto;display:flex;align-items:center;gap:.3rem;}
.switcher .lbl{color:var(--dim);margin-right:.35rem;}
.flag{padding:.22rem .55rem;border-radius:6px;border:1px solid transparent;color:var(--muted);transition:.15s;}
.flag:hover{color:var(--cream);border-color:var(--gold-line);background:var(--gold-soft);}
.flag.active{color:var(--ground);background:var(--gold);border-color:var(--gold);font-weight:600;}
/* a11oy-extlinks-patch */
.extlinks{display:flex;align-items:center;gap:.3rem;padding-left:.6rem;margin-left:.3rem;border-left:1px solid var(--gold-line);}
.extlinks .flag{display:inline-flex;align-items:center;gap:.35rem;}
.extlinks svg{display:block;}
/* ===== APP LAYOUT: SIDEBAR + CONTENT ===== */
.app{display:grid;grid-template-columns:248px 1fr;min-height:calc(100vh - 39px);}
.side{background:var(--rail);border-right:1px solid var(--gold-line);padding:1.1rem .8rem;overflow-y:auto;}
.brand{display:flex;align-items:center;gap:.6rem;padding:0 .4rem 1rem;}
.brand .mark{width:26px;height:26px;border-radius:7px;background:linear-gradient(135deg,var(--gold),var(--teal));display:grid;place-items:center;color:#0a0a0a;font-weight:700;font-family:var(--mono);}
.brand .nm{font-weight:600;font-size:1.05rem;}
.brand .role{font-family:var(--mono);font-size:9px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;}
.nav-group{font-family:var(--mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);margin:1rem .5rem .4rem;}
.nav-item{display:flex;align-items:center;gap:.6rem;padding:.5rem .6rem;border-radius:7px;cursor:pointer;color:var(--paragraph);font-size:13.5px;transition:.15s;border:1px solid transparent;}
.nav-item:hover{background:var(--gold-soft);color:var(--cream);}
.nav-item.active{background:var(--teal-soft);color:var(--teal);border-color:var(--teal-line);}
.nav-item .ico{width:16px;text-align:center;opacity:.8;font-size:12px;}
.side-foot{margin-top:1.2rem;padding:.7rem .6rem;border-top:1px solid var(--gold-line);font-family:var(--mono);font-size:9.5px;color:var(--dim);line-height:1.7;}
/* ===== CONTENT ===== */
.content{padding:1.4rem 1.8rem 3rem;overflow-y:auto;max-height:calc(100vh - 39px);}
.view-head{display:flex;align-items:flex-end;gap:.8rem;flex-wrap:wrap;margin-bottom:.3rem;}
.view-title{font-size:1.7rem;font-weight:500;letter-spacing:-.02em;}
.view-badge{font-family:var(--mono);font-size:10px;color:var(--teal);border:1px solid var(--teal-line);border-radius:5px;padding:.12rem .5rem;background:var(--teal-soft);}
.view-sub{font-size:13.5px;color:var(--paragraph);line-height:1.6;margin:.4rem 0 1.3rem;max-width:60rem;}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.7rem;margin-bottom:1.3rem;}
.kpi{border:1px solid var(--gold-line);border-radius:9px;background:var(--panel);padding:.85rem 1rem;}
.kpi .k{font-family:var(--mono);font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);}
.kpi .v{font-size:1.55rem;font-weight:500;color:var(--gold);margin-top:.2rem;line-height:1.1;}
.kpi .v.teal{color:var(--teal);} .kpi .v.live{color:var(--live);} .kpi .v.warn{color:var(--warn);}
.kpi .d{font-size:11px;color:var(--paragraph);margin-top:.2rem;}
.card{border:1px solid var(--gold-line);border-radius:11px;background:var(--panel);padding:1.2rem 1.3rem;margin-bottom:1rem;}
.card-h{display:flex;align-items:center;gap:.6rem;margin-bottom:.7rem;flex-wrap:wrap;}
.card-t{font-size:1.05rem;font-weight:500;color:var(--cream);}
.card-ep{font-family:var(--mono);font-size:10px;color:var(--muted);margin-left:auto;}
.row{display:flex;align-items:center;gap:.6rem;padding:.55rem 0;border-bottom:1px solid rgba(201,183,135,.07);font-size:13px;}
.row:last-child{border-bottom:none;}
.row .badge{font-family:var(--mono);font-size:10px;padding:.1rem .45rem;border-radius:5px;}
.loopbar{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;padding:.4rem 0;}
.loopstep{display:inline-flex;align-items:center;gap:.35rem;font-size:12px;background:rgba(95,179,163,.08);border:1px solid rgba(95,179,163,.25);padding:.3rem .55rem;border-radius:6px;}
.loopsep{color:var(--teal);font-size:14px;}
.b-live{color:var(--live);border:1px solid rgba(90,138,110,.4);background:rgba(90,138,110,.08);}
.b-gold{color:var(--gold);border:1px solid var(--gold-line);background:var(--gold-soft);}
.b-teal{color:var(--teal);border:1px solid var(--teal-line);background:var(--teal-soft);}
.b-err{color:var(--err);border:1px solid rgba(176,106,90,.4);background:rgba(176,106,90,.08);}
.spacer{margin-left:auto;}
.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:11.5px;font-weight:500;font-family:var(--mono);
border-radius:6px;border:1px solid var(--gold-line);background:transparent;color:var(--gold);cursor:pointer;letter-spacing:.04em;transition:.18s;}
.btn:hover{background:rgba(201,183,135,.08);border-color:rgba(201,183,135,.35);}
.btn.teal{color:var(--teal);border-color:var(--teal-line);background:var(--teal-soft);}
.btns{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;}
pre.out{font-family:var(--mono);font-size:11.5px;line-height:1.55;color:var(--paragraph);background:var(--panel2);
border:1px solid var(--gold-line);border-radius:8px;padding:.9rem 1rem;overflow-x:auto;white-space:pre-wrap;word-break:break-word;max-height:380px;}
.honesty{margin-top:1.2rem;padding:1rem 1.2rem;border:1px solid var(--gold-line);border-radius:9px;background:var(--gold-soft);font-size:11.5px;color:var(--paragraph);line-height:1.7;}
.honesty b{color:var(--gold);}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;}
.muted{color:var(--muted);} .mono.dim{color:var(--dim);}
@media (max-width:820px){
.app{grid-template-columns:1fr;}
.side{position:fixed;left:0;top:39px;bottom:0;width:240px;transform:translateX(-100%);transition:.2s;z-index:55;}
.side.open{transform:none;}
.content{max-height:none;}
.menu-btn{display:inline-flex!important;}
}
.menu-btn{display:none;background:none;border:1px solid var(--gold-line);color:var(--gold);border-radius:6px;padding:.2rem .5rem;cursor:pointer;font-family:var(--mono);font-size:11px;}
/* ===== VISUALS ===== */
.chartbox{position:relative;height:260px;width:100%;}
.chartbox.tall{height:320px;}
.graph3d{height:420px;width:100%;border-radius:9px;background:radial-gradient(circle at 50% 40%,#0c1410,#070707);overflow:hidden;border:1px solid var(--gold-line);}
.gauge-wrap{display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap;}
.gauge{position:relative;width:150px;height:150px;}
.gauge .lbl{position:absolute;inset:0;display:grid;place-items:center;flex-direction:column;text-align:center;}
.gauge .lbl .big{font-size:1.8rem;font-weight:600;color:var(--gold);line-height:1;}
.gauge .lbl .sm{font-family:var(--mono);font-size:9px;color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin-top:.2rem;}
.legend{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:.6rem;font-family:var(--mono);font-size:10px;color:var(--muted);}
.legend i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:.35rem;vertical-align:middle;}
.spark{height:46px;width:100%;}
.bar-track{flex:1;height:9px;background:#161616;border-radius:5px;overflow:hidden;}
.bar-fill{display:block;height:100%;background:linear-gradient(90deg,var(--teal),var(--gold));border-radius:5px;transition:width .6s cubic-bezier(.2,.8,.2,1);}
details.raw{margin-top:1rem;}
details.raw summary{cursor:pointer;font-family:var(--mono);font-size:10px;color:var(--dim);letter-spacing:.1em;text-transform:uppercase;}
details.raw[open] summary{color:var(--muted);}
/* ===== GENIUS VISUALS ===== */
.graph3d.hero{height:520px;}
.echart{height:360px;width:100%;}
.echart.tall{height:480px;}
.globe3d{height:520px;width:100%;border-radius:9px;overflow:hidden;border:1px solid var(--gold-line);background:#060606;}
.cyto{height:480px;width:100%;border-radius:9px;border:1px solid var(--gold-line);background:#0b0d10;}
.feedtail{height:340px;overflow:auto;background:#080a0c;border:1px solid var(--gold-line);border-radius:9px;font-family:var(--mono);font-size:11.5px;}
.feedtail .frow{padding:.4rem .8rem;border-bottom:1px solid rgba(201,183,135,.07);display:flex;gap:.6rem;align-items:baseline;}
.feedtail .frow:hover{background:var(--gold-soft);}
.feedtail .ts{color:var(--dim);white-space:nowrap;}
.feedtail .id{color:var(--gold);white-space:nowrap;}
.feedtail .txt{color:var(--paragraph);flex:1;}
.dtbl{width:100%;border-collapse:collapse;font-size:12px;}
.dtbl th{text-align:left;font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:.5rem .6rem;border-bottom:1px solid var(--gold-line);position:sticky;top:0;background:var(--panel);}
.dtbl td{padding:.45rem .6rem;border-bottom:1px solid rgba(201,183,135,.06);color:var(--paragraph);}
.dtbl tr:hover td{background:var(--gold-soft);}
.sev-crit{color:#b06a5a;font-weight:600;} .sev-high{color:var(--gold);} .sev-med{color:var(--teal);} .sev-low{color:var(--muted);}
.feed-pill{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;padding:.15rem .5rem;border-radius:5px;border:1px solid var(--teal-line);color:var(--teal);background:var(--teal-soft);}
.feed-pill.warn{color:var(--warn);border-color:rgba(201,160,95,.4);background:rgba(201,160,95,.08);}
.brain-note{font-family:var(--mono);font-size:10px;color:var(--gold);letter-spacing:.04em;margin-top:.5rem;}
/* build-wave additions */
@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}
.split2{display:grid;grid-template-columns:1.4fr 1fr;gap:14px}
@media(max-width:980px){.split2{grid-template-columns:1fr}}
.detailbox{background:#080808;border:1px solid var(--gold-line);border-radius:10px;padding:.8rem;min-height:160px}
.detailbox .row{padding:.18rem 0}
.honey{height:300px}
.bigsentence{font-size:16px;line-height:1.5;padding:1rem 1.2rem;background:linear-gradient(180deg,rgba(95,179,163,0.06),transparent);border:1px solid var(--teal-line);border-radius:12px;margin-bottom:1rem}
.graph3d.tall{height:420px}
.tl-graphbox{height:380px;background:#080808;border:1px solid var(--gold-line);border-radius:10px}
.ln-dagbox{height:440px;background:#080808;border:1px solid var(--gold-line);border-radius:10px}
/* ===== IA REDESIGN — domain rail + flagships + command palette ===== */
/* Collapses the flat ~40-item nav into a persistent 7-domain rail + a featured
flagship row + a fuzzy ⌘K palette. Every view stays reachable. Static CSS. */
.cmdk-btn{display:flex;align-items:center;gap:.5rem;width:100%;margin:.1rem 0 .3rem;padding:.55rem .6rem;border-radius:8px;
border:1px solid var(--gold-line);background:var(--panel);color:var(--paragraph);font-family:var(--mono);font-size:11px;cursor:pointer;transition:.15s;letter-spacing:.03em;text-align:left;}
.cmdk-btn:hover{border-color:var(--teal-line);color:var(--cream);background:var(--teal-soft);}
.cmdk-btn .ico{font-size:13px;color:var(--teal);}
.cmdk-btn .kbd{margin-left:auto;font-size:9px;color:var(--dim);border:1px solid var(--gold-line);border-radius:4px;padding:.05rem .32rem;}
/* flagships (max 5) */
.featured{display:grid;grid-template-columns:1fr 1fr;gap:.42rem;margin:.15rem .05rem .35rem;}
.flag-card{display:flex;align-items:center;gap:.45rem;padding:.5rem .55rem;border-radius:8px;cursor:pointer;
border:1px solid var(--gold-line);background:linear-gradient(135deg,rgba(201,183,135,.07),rgba(95,179,163,.05));
color:var(--cream);font-size:11.5px;transition:.15s;border-left:2px solid var(--gold-line);}
.flag-card:hover{border-color:var(--teal-line);background:var(--teal-soft);}
.flag-card.active{border-color:var(--teal);border-left-color:var(--teal);color:var(--teal);}
.flag-card .ico{font-size:12px;color:var(--gold);}
.flag-card.full{grid-column:1 / -1;}
/* domain rail (accordion) */
.dom{display:flex;align-items:center;gap:.55rem;padding:.5rem .6rem;border-radius:7px;cursor:pointer;color:var(--cream);
font-size:12.5px;font-weight:500;transition:.15s;border:1px solid transparent;}
.dom:hover{background:var(--gold-soft);}
.dom.open{color:var(--teal);}
.dom .ico{width:16px;text-align:center;color:var(--teal);font-size:13px;}
.dom .count{font-family:var(--mono);font-size:9px;color:var(--dim);margin-left:.15rem;}
.dom .chev{margin-left:auto;color:var(--dim);font-size:10px;transition:transform .15s;}
.dom.open .chev{transform:rotate(90deg);color:var(--teal);}
.domidx{display:none;margin:.05rem 0 .45rem .55rem;padding-left:.35rem;border-left:1px solid var(--gold-line);}
.domidx.open{display:block;}
/* ⌘K command palette overlay */
.pal-ov{position:fixed;inset:0;z-index:200;background:rgba(4,4,4,.72);backdrop-filter:blur(3px);display:none;align-items:flex-start;justify-content:center;}
.pal-ov.open{display:flex;}
.palette{margin-top:9vh;width:min(640px,92vw);background:var(--panel);border:1px solid var(--teal-line);border-radius:12px;overflow:hidden;box-shadow:0 24px 80px rgba(0,0,0,.6);}
.palette input{width:100%;box-sizing:border-box;padding:1rem 1.1rem;background:var(--panel2);border:none;border-bottom:1px solid var(--gold-line);
color:var(--cream);font-family:var(--mono);font-size:14px;outline:none;}
.palette input::placeholder{color:var(--dim);}
.pal-hint{display:flex;gap:1rem;flex-wrap:wrap;padding:.4rem 1.1rem;font-family:var(--mono);font-size:9px;color:var(--dim);letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid var(--gold-soft);}
.pal-list{max-height:56vh;overflow:auto;padding:.4rem;}
.pal-item{display:flex;align-items:center;gap:.7rem;padding:.55rem .7rem;border-radius:8px;cursor:pointer;color:var(--paragraph);font-size:13px;}
.pal-item .ico{width:16px;text-align:center;color:var(--teal);}
.pal-item .dom-tag{margin-left:auto;font-family:var(--mono);font-size:9px;color:var(--dim);letter-spacing:.08em;text-transform:uppercase;}
.pal-item.sel,.pal-item:hover{background:var(--teal-soft);color:var(--cream);}
.pal-empty{padding:1.2rem;text-align:center;color:var(--dim);font-family:var(--mono);font-size:11px;}
</style>
</head>
<body>
<div class="topbar">
<button class="menu-btn" onclick="document.querySelector('.side').classList.toggle('open')">☰</button>
<span>SZL HOLDINGS</span><span class="sep">/</span>
<span style="color:var(--teal)">a11oy</span><span class="sep">/</span>
<span>GOVERNED-AI COMMAND PLATFORM</span><span class="sep">/</span>
<span class="live"><span class="live-dot"></span>LIVE</span>
<nav class="switcher" aria-label="Surfaces">
<span class="lbl">SURFACE</span>
<a class="flag active" href="https://szlholdings-a11oy.hf.space/">Command Platform</a>
</nav>
<nav class="extlinks" aria-label="Project links">
<a class="flag" href="https://huggingface.co/spaces/szlholdings/a11oy" target="_blank" rel="noopener noreferrer" title="a11oy Space on Hugging Face">🤗 a11oy</a>
<a class="flag" href="https://huggingface.co/spaces/szlholdings/killinchu" target="_blank" rel="noopener noreferrer" title="killinchu Space on Hugging Face">🤗 killinchu</a>
</nav>
</div>
<div class="app">
<aside class="side">
<div class="brand"><div class="mark">A</div><div><div class="nm">a11oy</div><div class="role">orchestrating brain</div></div></div>
<button class="cmdk-btn" onclick="openPalette()" title="Search every view — ⌘K / Ctrl-K"><span class="ico">⌕</span>Search all views<span class="kbd">⌘K</span></button>
<div class="nav-group">Flagships</div>
<div class="featured" id="featured"></div>
<div class="nav-group">Domains</div>
<div class="rail" id="rail"></div>
<div class="side-foot">Trust score = research conjecture<br>8 formulas formally proven<br>SLSA L1 honest · L2 build-attested (Rekor) · L3+ roadmap · 5 services<br>Verifiable receipts · honest by design<br><span style="color:#c9a05f;font-size:9px">+ 80+ EXPERIMENTAL · CI-green</span></div>
</aside>
<main class="content" id="content"><div class="view-sub">loading…</div></main>
</div>
<script>window.__KB__={"version":"5.1.0","byline":"Lutar, Stephen P.","orcid":"0009-0001-0110-4173","email":"stephen@szlholdings.com","org":"SZL Holdings","generated_at":"2026-06-06T06:00:00Z","axioms":[{"id":"A1","name":"soundnessAxiom","statement":"For any receipt r, if gate_pass(r) then lambda(r) >= 0.90 conjunctively","source_file":"thesis.md","source_section":"§4.1","maturity":"proven","citation":"https://doi.org/10.5281/zenodo.20119582"},{"id":"A2","name":"moralGroundingFloor","statement":"moralGrounding axis floor = 0.95 (higher than default 0.90)","source_file":"thesis.md","source_section":"§4.1","maturity":"defined","citation":"https://doi.org/10.5281/zenodo.20119582"},{"id":"A3","name":"measurabilityHonestyFloor","statement":"measurabilityHonesty axis floor = 0.95","source_file":"thesis.md","source_section":"§4.1","maturity":"defined","citation":"https://doi.org/10.5281/zenodo.20119582"},{"id":"A4","name":"dualWitnessDisjointness","statement":"For rho-closure: witness_1_id != witness_2_id (enforced by registry at write time)","source_file":"thesis.md","source_section":"§4.3","maturity":"proven","citation":"https://doi.org/10.5281/zenodo.20119582"},{"id":"A5","name":"deterministicReplay","statement":"For canonical JSON + pinned PRNG + frozen registry, 5x replay yields byte-identical roots","source_file":"thesis.md","source_section":"§4.6","maturity":"measured","citation":"https://doi.org/10.5281/zenodo.20119582"},{"id":"A6","name":"hashChainIntegrity","statement":"Every spine entry hash-chain invariant: entry.chain = SHA256(prev_entry)","source_file":"thesis.md","source_section":"§3.4","maturity":"defined","citation":"https://doi.org/10.5281/zenodo.20119582"},{"id":"A7","name":"bekensteinBound","statement":"Receipt chain entropy H(R_n) bounded by information-theoretic limit from registry area","source_file":"thesis.md","source_section":"§4.5","maturity":"conjectured","citation":"https://doi.org/10.5281/zenodo.19944926"},{"id":"A8","name":"ingestDiscipline","statement":"Every ingest requires: source_url + content_hash + license (allow-list) + ORCID","source_file":"thesis.md","source_section":"§7","maturity":"defined","citation":"https://doi.org/10.5281/zenodo.20119582"},{"id":"A9","name":"doctrineCompleteness","statement":"doctrine.json v1.0.0 enumerates all 8 forbidden patterns; SHA-anchored","source_file":"szl-trust/doctrine.json","source_section":"§8","maturity":"defined","citation":"https://github.com/szl-holdings/szl-trust"}],"theorems":[{"id":"TH_L1","name":"Λ_uniqueness","statement":"Conjecture 1: the Lutar Invariant Λ_k (weighted geometric mean with Egyptian unit-fraction weights) is the unique aggregator satisfying axioms A1-A5. NOT a theorem: unconditional uniqueness is FALSE under A1-A5 (machine-checked counterexample maxAgg_ne_Lambda; max-aggregator satisfies A1-A5 yet differs from Λ at (4,1)). The conditional theorem lambda_unique_of_factors (uniqueness GIVEN factorization Φ x = ∏ x_i^α_i) IS fully proved; unconditional uniqueness closes only under a declared bisymmetry axiom A6 (Kolmogorov-Nagumo-Aczel).","source_file":"lutar-lean/Lutar/Round13/Lambda_Uniqueness.lean","maturity":"conjectured","citation":"https://doi.org/10.5281/zenodo.20053148"},{"id":"TH_L2","name":"Λ_min_max_bounds","statement":"Λ_k lies in [0,1] with min=0 iff any axis=0 and max=1 iff all axes=1","source_file":"lutar-lean/Lutar/Bound.lean","maturity":"proven","citation":"https://doi.org/10.5281/zenodo.20053148"},{"id":"TH_L3","name":"bekenstein_soundness","statement":"Bekenstein indicator fires at 49.5% under uniform seed (measured); formal proof pending in lutar-lean","source_file":"lutar-lean (pending PR #12)","maturity":"measured/conjectured","citation":"https://github.com/szl-holdings/lutar-lean"},{"id":"TH_L4","name":"rho_closure_production","statement":"100% rho-closure on 8,000/8,000 paired calls under v11 platform","source_file":"ouroboros v6.3.0 release","maturity":"measured","citation":"https://doi.org/10.5281/zenodo.20119582"}],"formulas":[{"id":"F0001","source_file":"thesis.md","source_line":27,"latex":"\\mathcal{S} = \\langle R, A, E, \\Lambda, \\rho, W \\rangle","context":"ith a doctrine-locked runtime** as a category-defining primitive for verifiable agency. We define the system as a tuple \\( \\mathcal{S} = \\langle R, A, E, \\Lambda, \\rho, W \\rangle \\) over an eight-regi","source_id":"thesis_session","maturity":"defined"},{"id":"F0002","source_file":"thesis.md","source_line":229,"latex":"\\mathtt{szl\\text{-}trust}","context":"d system. - \\(A\\) — the set of **named actors**. Every actor in \\(A\\) carries a stable identity resolvable to a key in \\(\\mathtt{szl\\text{-}trust}\\). No edge in \\(E\\) may originate from or terminate ","source_id":"thesis_session","maturity":"defined"},{"id":"F0003","source_file":"thesis.md","source_line":231,"latex":"e \\in E","context":"and resolvable — unidentified actors are structurally excluded. - \\(E\\) — the set of **receipt-bound edges**. An edge \\(e \\in E\\) is a tuple \\((a_{\\text{src}},\\; r_{\\text{src}},\\; r_{\\text{dst}},\\; \\","source_id":"thesis_session","maturity":"defined"},{"id":"F0004","source_file":"thesis.md","source_line":231,"latex":"(a_{\\text{src}},\\; r_{\\text{src}},\\; r_{\\text{dst}},\\; \\varepsilon)","context":"ntified actors are structurally excluded. - \\(E\\) — the set of **receipt-bound edges**. An edge \\(e \\in E\\) is a tuple \\((a_{\\text{src}},\\; r_{\\text{src}},\\; r_{\\text{dst}},\\; \\varepsilon)\\) where \\(","source_id":"thesis_session","maturity":"defined"},{"id":"F0005","source_file":"thesis.md","source_line":231,"latex":"a_{\\text{src}} \\in A","context":"d edges**. An edge \\(e \\in E\\) is a tuple \\((a_{\\text{src}},\\; r_{\\text{src}},\\; r_{\\text{dst}},\\; \\varepsilon)\\) where \\(a_{\\text{src}} \\in A\\), \\(r_{\\text{src}}, r_{\\text{dst}} \\in R\\), and \\(\\varep","source_id":"thesis_session","maturity":"defined"},{"id":"F0006","source_file":"thesis.md","source_line":231,"latex":"r_{\\text{src}}, r_{\\text{dst}} \\in R","context":"E\\) is a tuple \\((a_{\\text{src}},\\; r_{\\text{src}},\\; r_{\\text{dst}},\\; \\varepsilon)\\) where \\(a_{\\text{src}} \\in A\\), \\(r_{\\text{src}}, r_{\\text{dst}} \\in R\\), and \\(\\varepsilon\\) is the receipt enve","source_id":"thesis_session","maturity":"defined"},{"id":"F0007","source_file":"thesis.md","source_line":231,"latex":"\\varepsilon","context":"src}},\\; r_{\\text{dst}},\\; \\varepsilon)\\) where \\(a_{\\text{src}} \\in A\\), \\(r_{\\text{src}}, r_{\\text{dst}} \\in R\\), and \\(\\varepsilon\\) is the receipt envelope defined in §3.3. No message may traverse","source_id":"thesis_session","maturity":"defined"},{"id":"F0008","source_file":"thesis.md","source_line":231,"latex":"\\varepsilon","context":"repsilon\\) is the receipt envelope defined in §3.3. No message may traverse a region boundary unless it carries a valid \\(\\varepsilon\\). - \\(\\Lambda\\) — the **composable axis-gating function**. Forma","source_id":"thesis_session","maturity":"defined"},{"id":"F0009","source_file":"thesis.md","source_line":233,"latex":"\\Lambda","context":"ceipt envelope defined in §3.3. No message may traverse a region boundary unless it carries a valid \\(\\varepsilon\\). - \\(\\Lambda\\) — the **composable axis-gating function**. Formally, \\(\\Lambda : [0,","source_id":"thesis_session","maturity":"defined"},{"id":"F0010","source_file":"thesis.md","source_line":233,"latex":"\\Lambda : [0,1]^k \\to \\{0,1\\}","context":"boundary unless it carries a valid \\(\\varepsilon\\). - \\(\\Lambda\\) — the **composable axis-gating function**. Formally, \\(\\Lambda : [0,1]^k \\to \\{0,1\\}\\) for \\(k \\geq 9\\), defined as the conjunctive A","source_id":"thesis_session","maturity":"defined"},{"id":"F0011","source_file":"thesis.md","source_line":233,"latex":"k \\geq 9","context":"varepsilon\\). - \\(\\Lambda\\) — the **composable axis-gating function**. Formally, \\(\\Lambda : [0,1]^k \\to \\{0,1\\}\\) for \\(k \\geq 9\\), defined as the conjunctive AND: \\[ \\Lambda(\\mathbf{x}) = 1 \\iff \\","source_id":"thesis_session","maturity":"defined"},{"id":"F0012","source_file":"thesis.md","source_line":239,"latex":"\\mathbf{x}","context":"bilityHonesty}} \\geq 0.95 \\] The composability property states that for any two independently evaluated axis vectors \\(\\mathbf{x}\\) and \\(\\mathbf{y}\\), their composed gate \\(\\Lambda(\\mathbf{x} \\wed","source_id":"thesis_session","maturity":"defined"},{"id":"F0013","source_file":"thesis.md","source_line":239,"latex":"\\mathbf{y}","context":"q 0.95 \\] The composability property states that for any two independently evaluated axis vectors \\(\\mathbf{x}\\) and \\(\\mathbf{y}\\), their composed gate \\(\\Lambda(\\mathbf{x} \\wedge \\mathbf{y})\\) is","source_id":"thesis_session","maturity":"defined"},{"id":"F0014","source_file":"thesis.md","source_line":239,"latex":"\\Lambda(\\mathbf{x} \\wedge \\mathbf{y})","context":"rty states that for any two independently evaluated axis vectors \\(\\mathbf{x}\\) and \\(\\mathbf{y}\\), their composed gate \\(\\Lambda(\\mathbf{x} \\wedge \\mathbf{y})\\) is equivalent to \\(\\Lambda(\\mathbf{x})","source_id":"thesis_session","maturity":"defined"},{"id":"F0015","source_file":"thesis.md","source_line":239,"latex":"\\Lambda(\\mathbf{x}) \\wedge \\Lambda(\\mathbf{y})","context":"ctors \\(\\mathbf{x}\\) and \\(\\mathbf{y}\\), their composed gate \\(\\Lambda(\\mathbf{x} \\wedge \\mathbf{y})\\) is equivalent to \\(\\Lambda(\\mathbf{x}) \\wedge \\Lambda(\\mathbf{y})\\) — gate composition does not w","source_id":"thesis_session","maturity":"defined"},{"id":"F0016","source_file":"thesis.md","source_line":239,"latex":"\\Lambda","context":"— gate composition does not weaken the invariant. The `lutar-lean` skeleton repository contains the Lean 4 statement of \\(\\Lambda\\) uniqueness: given the four axioms (A1 monotonicity, A2 homogeneity, ","source_id":"thesis_session","maturity":"conjectured"},{"id":"F0017","source_file":"thesis.md","source_line":239,"latex":"\\Lambda","context":"ment of \\(\\Lambda\\) uniqueness: given the four axioms (A1 monotonicity, A2 homogeneity, A3 Egyptian-exact, A4 bounded), \\(\\Lambda\\) is the *unique* function satisfying them. The uniqueness theorem and","source_id":"thesis_session","maturity":"conjectured"},{"id":"F0018","source_file":"thesis.md","source_line":241,"latex":"\\rho(e)","context":"arget is zero. - \\(\\rho\\) — the **dual-witness closure relation**. For any edge \\(e\\) carrying execution result \\(v\\), \\(\\rho(e)\\) holds iff two independent witnesses \\(w_1, w_2 \\in W\\) each produce ","source_id":"thesis_session","maturity":"defined"},{"id":"F0019","source_file":"thesis.md","source_line":241,"latex":"w_1, w_2 \\in W","context":"closure relation**. For any edge \\(e\\) carrying execution result \\(v\\), \\(\\rho(e)\\) holds iff two independent witnesses \\(w_1, w_2 \\in W\\) each produce byte-identical output on the same input, and the","source_id":"thesis_session","maturity":"defined"},{"id":"F0020","source_file":"thesis.md","source_line":251,"latex":"\\mathcal{S}","context":"uroboros` core + 4 `a11oy` covenant), while the full upstream runtime suite registers 218/218 passing tests. The tuple \\(\\mathcal{S}\\) is **doctrine-locked**: any runtime configuration in which (a) a","source_id":"thesis_session","maturity":"defined"},{"id":"F0021","source_file":"thesis.md","source_line":251,"latex":"\\Lambda","context":"which (a) a region is unnamed, (b) an actor is not in \\(A\\), (c) an edge is produced without a receipt envelope, or (d) \\(\\Lambda\\) is evaluated below threshold does not constitute a valid instantiati","source_id":"thesis_session","maturity":"defined"},{"id":"F0022","source_file":"thesis.md","source_line":251,"latex":"\\mathcal{S}","context":"ithout a receipt envelope, or (d) \\(\\Lambda\\) is evaluated below threshold does not constitute a valid instantiation of \\(\\mathcal{S}\\). --- ## The 8-Region Anatomy The eight canonical regions of \\","source_id":"thesis_session","maturity":"defined"},{"id":"F0023","source_file":"thesis.md","source_line":257,"latex":"\\mathcal{S}","context":"of \\(R\\) are enumerated below. For each region the presentation gives: the repository identifier, its role in the tuple \\(\\mathcal{S}\\), its public interfaces, and its dependency relations within \\(E\\","source_id":"thesis_session","maturity":"defined"},{"id":"F0024","source_file":"thesis.md","source_line":265,"latex":"\\mathcal{S}","context":"released 2026-05-13; concept DOI `10.5281/zenodo.19944926`, v11 paper DOI `10.5281/zenodo.20119582`) **Formal role in \\(\\mathcal{S}\\):** The Brain Stem is the runtime kernel that evaluates \\(\\Lambda\\","source_id":"thesis_session","maturity":"defined"},{"id":"F0025","source_file":"thesis.md","source_line":265,"latex":"\\Lambda","context":"DOI `10.5281/zenodo.20119582`) **Formal role in \\(\\mathcal{S}\\):** The Brain Stem is the runtime kernel that evaluates \\(\\Lambda\\) and emits receipts. Every edge in \\(E\\) that crosses a region bounda","source_id":"thesis_session","maturity":"defined"},{"id":"F0026","source_file":"thesis.md","source_line":268,"latex":"\\Lambda","context":"bda(axes: number[9|10]) → Receipt` — evaluates the conjunctive AND gate and returns a signed receipt with the composite \\(\\Lambda\\) score, Bekenstein budget, and dual-witness closure status. - `build_","source_id":"thesis_session","maturity":"conjectured"},{"id":"F0027","source_file":"thesis.md","source_line":274,"latex":"\\Lambda","context":"chain root for third-party verification. **Dependencies:** - Depends on: `lutar-lean` (Skeleton) — the axiom set that \\(\\Lambda\\) is required to satisfy is formally stated there; the Brain Stem is th","source_id":"thesis_session","maturity":"defined"},{"id":"F0028","source_file":"thesis.md","source_line":277,"latex":"\\Lambda_9","context":"utbound edge must call `evaluate_lambda` before the edge enters \\(E\\). The gate composition benchmark for v6.3.0 shows \\(\\Lambda_9\\) base p50 = 3.12 µs and composed p50 = 3.29 µs; with the Platform v","source_id":"thesis_session","maturity":"defined"},{"id":"F0029","source_file":"thesis.md","source_line":285,"latex":"\\mathcal{S}","context":"a continuous supply-chain security posture. --- ### Heart — `a11oy` **Repo:** `szl-holdings/a11oy` **Formal role in \\(\\mathcal{S}\\):** The Heart is the covenant policy engine and the agent approva","source_id":"thesis_session","maturity":"defined"},{"id":"F0030","source_file":"thesis.md","source_line":285,"latex":"\\mathcal{S}","context":"\\):** The Heart is the covenant policy engine and the agent approval queue. It governs the *authorization* dimension of \\(\\mathcal{S}\\): while the Brain Stem answers \"does this action score above \\(\\L","source_id":"thesis_session","maturity":"defined"},{"id":"F0031","source_file":"thesis.md","source_line":285,"latex":"\\Lambda","context":"It governs the *authorization* dimension of \\(\\mathcal{S}\\): while the Brain Stem answers \"does this action score above \\(\\Lambda\\)?\", the Heart answers \"is this action permitted under the active cove","source_id":"thesis_session","maturity":"defined"},{"id":"F0032","source_file":"thesis.md","source_line":285,"latex":"r_{\\text{dst}} \\notin R","context":"this action permitted under the active covenant?\". No action may exit the body graph — i.e., no edge in \\(E\\) may have \\(r_{\\text{dst}} \\notin R\\) — without a Heart pulse. The covenant is a named, ver","source_id":"thesis_session","maturity":"defined"},{"id":"F0033","source_file":"thesis.md","source_line":293,"latex":"\\Lambda","context":"Stem's chain. **Dependencies:** - Depends on: `ouroboros` (Brain Stem) — covenant evaluation results are sealed with a \\(\\Lambda\\)-gated receipt; a covenant check that fails \\(\\Lambda\\) is itself a g","source_id":"thesis_session","maturity":"defined"},{"id":"F0034","source_file":"thesis.md","source_line":293,"latex":"\\Lambda","context":"os` (Brain Stem) — covenant evaluation results are sealed with a \\(\\Lambda\\)-gated receipt; a covenant check that fails \\(\\Lambda\\) is itself a gate-level violation. - Depends on: `safety-gate layer` (safety wires) — t","source_id":"thesis_session","maturity":"defined"},{"id":"F0035","source_file":"thesis.md","source_line":305,"latex":"\\mathcal{S}","context":"but a verifiable, chain-linked artifact. --- ### safety wires — `safety-gate layer` **Repo:** `szl-holdings/safety-gate layer` **Formal role in \\(\\mathcal{S}\\):** The safety wires are the attribution trail — the afferent channel tha","source_id":"thesis_session","maturity":"defined"},{"id":"F0036","source_file":"thesis.md","source_line":305,"latex":"\\text{attr}: E \\to A","context":"rent channel that carries signals inward and records *who observed what and when*. Formally, safety wires maintain the mapping \\(\\text{attr}: E \\to A\\), ensuring that every edge in \\(E\\) is attributable to a","source_id":"thesis_session","maturity":"defined"},{"id":"F0037","source_file":"thesis.md","source_line":305,"latex":"\\mathcal{S}","context":"he mapping \\(\\text{attr}: E \\to A\\), ensuring that every edge in \\(E\\) is attributable to a named actor. Without safety wires, \\(\\mathcal{S}\\) degrades: edges carry receipts but not attributions, making the ","source_id":"thesis_session","maturity":"defined"},{"id":"F0038","source_file":"thesis.md","source_line":308,"latex":"a \\in A","context":"egal-accountability sense. **Public interfaces:** - `observe(edge, actor_id) → AttributionRecord` — records that actor \\(a \\in A\\) produced or consumed edge \\(e\\). - `attribution_trail(region, time_r","source_id":"thesis_session","maturity":"defined"},{"id":"F0039","source_file":"thesis.md","source_line":325,"latex":"\\mathcal{S}","context":"aft-morrow-sogomonian-exec-outcome-attest`. --- ### reasoning spine — `reasoning core` **Repo:** `szl-holdings/reasoning core` **Formal role in \\(\\mathcal{S}\\):** The reasoning spine is the append-only coordination and protocol bridge","source_id":"thesis_session","maturity":"defined"},{"id":"F0040","source_file":"thesis.md","source_line":325,"latex":"\\langle e_1, e_2, \\ldots, e_n \\rangle \\subseteq E","context":"ordered, hash-verified record of every state transition across the body graph. Formally, `reasoning core` maintains the sequence \\(\\langle e_1, e_2, \\ldots, e_n \\rangle \\subseteq E\\) ordered by timestamp, with","source_id":"thesis_session","maturity":"defined"},{"id":"F0041","source_file":"thesis.md","source_line":339,"latex":"O(\\log n)","context":"(identified in the runtime roadmap) would upgrade the reasoning spine's linear hash-chain to a directed acyclic graph supporting \\(O(\\log n)\\) subset inclusion proofs — enabling privacy-preserving audits for re","source_id":"thesis_session","maturity":"defined"},{"id":"F0042","source_file":"thesis.md","source_line":347,"latex":"\\mathcal{S}","context":"nce in the enterprise segment. --- ### Skeleton — `lutar-lean` **Repo:** `szl-holdings/lutar-lean` **Formal role in \\(\\mathcal{S}\\):** The Skeleton is the formal scaffold — the Lean 4 axioms and M","source_id":"thesis_session","maturity":"defined"},{"id":"F0043","source_file":"thesis.md","source_line":347,"latex":"\\{A1, A2, A3, A4\\}","context":"es not execute at runtime; it is the *proof that the runtime is correct*. Formally, `lutar-lean` provides the axiom set \\(\\{A1, A2, A3, A4\\}\\) and the derived theorems (Λ uniqueness, Bound theorem) th","source_id":"thesis_session","maturity":"conjectured"},{"id":"F0044","source_file":"thesis.md","source_line":347,"latex":"\\Lambda","context":"A2, A3, A4\\}\\) and the derived theorems (Λ uniqueness, Bound theorem) that constitute a machine-checked certificate for \\(\\Lambda\\). If the Skeleton's `sorry` count is zero, the gate the Brain Stem en","source_id":"thesis_session","maturity":"conjectured"},{"id":"F0045","source_file":"thesis.md","source_line":351,"latex":"\\Lambda","context":"statements of A1 (monotonicity), A2 (homogeneity), A3 (Egyptian-exact), A4 (bounded). - `Uniqueness.lean` — Theorem 1: \\(\\Lambda\\) is the unique function satisfying A1–A4; proof scaffold with tracked ","source_id":"thesis_session","maturity":"conjectured"},{"id":"F0046","source_file":"thesis.md","source_line":367,"latex":"\\mathcal{S}","context":"*Repos:** `szl-holdings/counsel` (governance UI), `szl-holdings/terra` (dashboards and visualization) **Formal role in \\(\\mathcal{S}\\):** The Hands are the tooling and visualization surfaces — the co","source_id":"thesis_session","maturity":"defined"},{"id":"F0047","source_file":"thesis.md","source_line":371,"latex":"\\Lambda","context":"as an interactive SVG, streaming live receipt counts via SSE from `/api/chain/stream`; node colors reflect the current \\(\\Lambda\\) score band (green ≥ 0.95, amber 0.90–0.95, red < 0.90). The planned \"","source_id":"thesis_session","maturity":"defined"},{"id":"F0048","source_file":"thesis.md","source_line":386,"latex":"\\mathcal{S}","context":"*is* the system. --- ### Full Body — `ouroboros-thesis` **Repo:** `szl-holdings/ouroboros-thesis` **Formal role in \\(\\mathcal{S}\\):** The Full Body is the public-record thesis — the DOI-pinned, ve","source_id":"thesis_session","maturity":"defined"},{"id":"F0049","source_file":"thesis.md","source_line":386,"latex":"\\mathcal{S}","context":"l Body is the public-record thesis — the DOI-pinned, versioned document that constitutes the canonical specification of \\(\\mathcal{S}\\). Formally, `ouroboros-thesis` defines the normative description ","source_id":"thesis_session","maturity":"defined"},{"id":"F0050","source_file":"thesis.md","source_line":405,"latex":"\\mathcal{S}","context":"d identity anchoring), `szl-holdings/szl-cookbook` (reference implementations / developer onboarding) **Formal role in \\(\\mathcal{S}\\):** The Vessels and Chakras collectively form the trust mesh and ","source_id":"thesis_session","maturity":"defined"},{"id":"F0051","source_file":"thesis.md","source_line":421,"latex":"\\varepsilon","context":"eue under the covenant pack schema. --- ## Cross-Region Contracts Every edge in \\(E\\) carries a **receipt envelope** \\(\\varepsilon\\). The envelope is a typed, signed, content-addressed record that ","source_id":"thesis_session","maturity":"defined"},{"id":"F0052","source_file":"thesis.md","source_line":421,"latex":"\\Lambda","context":"es a **receipt envelope** \\(\\varepsilon\\). The envelope is a typed, signed, content-addressed record that provides: the \\(\\Lambda\\) score vector, the dual-witness closure status (\\(\\rho\\)), the actor ","source_id":"thesis_session","maturity":"defined"},{"id":"F0053","source_file":"thesis.md","source_line":479,"latex":"\\Lambda","context":"_lambda(axes) → Receipt` — any MCP-compatible client (Claude Desktop, Cursor, enterprise agent frameworks) can call the \\(\\Lambda\\) gate as a typed tool and receive a signed receipt in the tool respon","source_id":"thesis_session","maturity":"defined"},{"id":"F0054","source_file":"thesis.md","source_line":507,"latex":"\\mathcal{S}","context":"the 8-Region Model Structurally Surpasses the Leaders Each major framework or protocol is a partial instantiation of \\(\\mathcal{S}\\). The gap is structural: the missing region is not a feature that","source_id":"thesis_session","maturity":"defined"},{"id":"F0055","source_file":"thesis.md","source_line":515,"latex":"\\Lambda_9","context":"l engineering pattern, but skills are *files*, not services with receipts. A Brain Stem can issue a decision that fails \\(\\Lambda_9\\) moralGrounding; in the Managed Agents architecture there is no mec","source_id":"thesis_session","maturity":"defined"},{"id":"F0056","source_file":"thesis.md","source_line":515,"latex":"\\mathcal{S}","context":"fails \\(\\Lambda_9\\) moralGrounding; in the Managed Agents architecture there is no mechanism to detect or block it. In \\(\\mathcal{S}\\), that decision never exits the Brain Stem. **Mastra** (22K+ GitH","source_id":"thesis_session","maturity":"defined"},{"id":"F0057","source_file":"thesis.md","source_line":517,"latex":"\\Lambda","context":"ource agent framework in the TypeScript ecosystem. Mastra has no Skeleton: there are no Lean 4 proofs. It has no formal \\(\\Lambda\\) gate — behavioral constraints are implemented as runtime checks with","source_id":"thesis_session","maturity":"defined"},{"id":"F0058","source_file":"thesis.md","source_line":567,"latex":"\\lambda_1","context":"l(\\lambda_1(c),\\, \\lambda_2(c),\\, \\ldots,\\, \\lambda_9(c)\\bigr) \\in [0,1]^9 \\] The nine axes are defined as follows. **\\(\\lambda_1\\): moralGrounding.** Measures the degree to which a proposed action ","source_id":"thesis_session","maturity":"defined"},{"id":"F0059","source_file":"thesis.md","source_line":567,"latex":"\\lambda_1","context":"nce policies, and principal hierarchies that the operator has encoded in the agent's governing covenant. Operationally, \\(\\lambda_1\\) is the normalized cosine similarity between the action's intent em","source_id":"thesis_session","maturity":"defined"},{"id":"F0060","source_file":"thesis.md","source_line":567,"latex":"[0,1]","context":"mbedding and a reference \"moral anchor\" embedding, averaged over the operator's registered covenant clauses, clamped to \\([0,1]\\). The floor constraint \\(\\lambda_1 \\geq 0.95\\) is a hard asymptote: an ","source_id":"thesis_session","maturity":"defined"},{"id":"F0061","source_file":"thesis.md","source_line":567,"latex":"\\lambda_1 \\geq 0.95","context":"anchor\" embedding, averaged over the operator's registered covenant clauses, clamped to \\([0,1]\\). The floor constraint \\(\\lambda_1 \\geq 0.95\\) is a hard asymptote: an agent that is even marginally mo","source_id":"thesis_session","maturity":"defined"},{"id":"F0062","source_file":"thesis.md","source_line":569,"latex":"\\lambda_2","context":"even marginally morally misaligned fails the gate irrespective of how perfectly calibrated the other eight axes are. **\\(\\lambda_2\\): measurabilityHonesty.** Measures whether an action's declared eff","source_id":"thesis_session","maturity":"defined"},{"id":"F0063","source_file":"thesis.md","source_line":571,"latex":"\\lambda_3","context":"ine clause \"no hallucinations no bandaids; test test test\" by making measurement-honesty a prerequisite for passage. **\\(\\lambda_3\\): epistemicHumility.** Scores the agent's acknowledgment of its own","source_id":"thesis_session","maturity":"defined"},{"id":"F0064","source_file":"thesis.md","source_line":571,"latex":"\\lambda_3 = 1 - \\mathbb{E}[|\\text{conf}(c) - \\text{acc}(c)|]","context":"sparse scores low on this axis. The scoring function penalizes unjustified confidence using a calibration-error analog: \\(\\lambda_3 = 1 - \\mathbb{E}[|\\text{conf}(c) - \\text{acc}(c)|]\\) where \\(\\text{c","source_id":"thesis_session","maturity":"defined"},{"id":"F0065","source_file":"thesis.md","source_line":571,"latex":"\\text{conf}(c)","context":"ied confidence using a calibration-error analog: \\(\\lambda_3 = 1 - \\mathbb{E}[|\\text{conf}(c) - \\text{acc}(c)|]\\) where \\(\\text{conf}(c)\\) is the agent's stated confidence and \\(\\text{acc}(c)\\) is the","source_id":"thesis_session","maturity":"defined"},{"id":"F0066","source_file":"thesis.md","source_line":571,"latex":"\\text{acc}(c)","context":"da_3 = 1 - \\mathbb{E}[|\\text{conf}(c) - \\text{acc}(c)|]\\) where \\(\\text{conf}(c)\\) is the agent's stated confidence and \\(\\text{acc}(c)\\) is the empirically measured accuracy over a calibration set. ","source_id":"thesis_session","maturity":"defined"},{"id":"F0067","source_file":"thesis.md","source_line":573,"latex":"\\lambda_4","context":"is the agent's stated confidence and \\(\\text{acc}(c)\\) is the empirically measured accuracy over a calibration set. **\\(\\lambda_4\\): counterfactualAwareness.** Measures whether the agent has consider","source_id":"thesis_session","maturity":"defined"},{"id":"F0068","source_file":"thesis.md","source_line":575,"latex":"\\lambda_5","context":"res 0.0 and a uniformly distributed consequence distribution over the operator-defined consequence space scores 1.0. **\\(\\lambda_5\\): temporalConsistency.** Measures the stability of the gate verdict","source_id":"thesis_session","maturity":"defined"},{"id":"F0069","source_file":"thesis.md","source_line":575,"latex":"t + \\Delta","context":"Measures the stability of the gate verdict under repeated evaluation on the same input at two different times \\(t\\) and \\(t + \\Delta\\). Let \\(v_t\\) and \\(v_{t+\\Delta}\\) denote the Λ₉ composite scores ","source_id":"thesis_session","maturity":"defined"},{"id":"F0070","source_file":"thesis.md","source_line":575,"latex":"v_{t+\\Delta}","context":"te verdict under repeated evaluation on the same input at two different times \\(t\\) and \\(t + \\Delta\\). Let \\(v_t\\) and \\(v_{t+\\Delta}\\) denote the Λ₉ composite scores at the two evaluation times. The","source_id":"thesis_session","maturity":"defined"},{"id":"F0071","source_file":"thesis.md","source_line":581,"latex":"\\lambda_5 = 1.0","context":"Then: \\[ \\lambda_5 = \\max\\!\\Bigl(0,\\; 1 - 4\\,\\bigl(v_t - v_{t+\\Delta}\\bigr)^2\\Bigr) \\] A zero-drift evaluation scores \\(\\lambda_5 = 1.0\\). A drift of 0.05 in the composite score yields \\(\\lambda_5 =","source_id":"thesis_session","maturity":"defined"},{"id":"F0072","source_file":"thesis.md","source_line":581,"latex":"\\lambda_5 = 0.99","context":"ta}\\bigr)^2\\Bigr) \\] A zero-drift evaluation scores \\(\\lambda_5 = 1.0\\). A drift of 0.05 in the composite score yields \\(\\lambda_5 = 0.99\\). A drift of 0.25 yields \\(\\lambda_5 = 0.75\\), below the ≥ 0","source_id":"thesis_session","maturity":"defined"},{"id":"F0073","source_file":"thesis.md","source_line":581,"latex":"\\lambda_5 = 0.75","context":"scores \\(\\lambda_5 = 1.0\\). A drift of 0.05 in the composite score yields \\(\\lambda_5 = 0.99\\). A drift of 0.25 yields \\(\\lambda_5 = 0.75\\), below the ≥ 0.90 conjunctive floor. This axis operationaliz","source_id":"thesis_session","maturity":"defined"},{"id":"F0074","source_file":"thesis.md","source_line":583,"latex":"\\lambda_6","context":"-identical replay guarantee: a system that cannot reproduce its own gate verdict is not operating deterministically. **\\(\\lambda_6\\): evidenceProvenance.** Measures whether every empirical claim embe","source_id":"thesis_session","maturity":"defined","puriq_ref":"F1","lean_ref":"f1_replay_fold_deterministic"},{"id":"F0075","source_file":"thesis.md","source_line":585,"latex":"\\lambda_7","context":"ertions score at most 0.50. The scoring function is the fraction of claim tokens for which provenance is resolvable. **\\(\\lambda_7\\): actorIdentity.** Measures the definiteness of the acting agent's ","source_id":"thesis_session","maturity":"defined"},{"id":"F0076","source_file":"thesis.md","source_line":587,"latex":"\\lambda_8","context":"ting under delegated authority — the score decays as a function of delegation depth to penalize opaque proxy chains. **\\(\\lambda_8\\): axiomConsistency.** Measures whether the proposed action is inter","source_id":"thesis_session","maturity":"defined"},{"id":"F0077","source_file":"thesis.md","source_line":589,"latex":"\\lambda_9","context":"Lean 4 formalization: it enforces, at runtime, the constraints that are statically verified at theorem-proving time. **\\(\\lambda_9\\): coherence.** Measures the multi-step logical coherence of the age","source_id":"thesis_session","maturity":"defined"},{"id":"F0078","source_file":"thesis.md","source_line":589,"latex":"A_1, A_2, \\ldots, A_k","context":"-step logical coherence of the agent's plan across the action sequence, not just for the current step in isolation. Let \\(A_1, A_2, \\ldots, A_k\\) denote the \\(k\\) preceding actions in the current sess","source_id":"thesis_session","maturity":"defined"},{"id":"F0079","source_file":"thesis.md","source_line":589,"latex":"(A_i, A_{i+1})","context":"e the \\(k\\) preceding actions in the current session. The coherence score is the proportion of consecutive action-pairs \\((A_i, A_{i+1})\\) for which the precondition of \\(A_{i+1}\\) is satisfied by the","source_id":"thesis_session","maturity":"defined"},{"id":"F0080","source_file":"thesis.md","source_line":589,"latex":"A_{i+1}","context":"ion. The coherence score is the proportion of consecutive action-pairs \\((A_i, A_{i+1})\\) for which the precondition of \\(A_{i+1}\\) is satisfied by the postcondition of \\(A_i\\), under the operator's p","source_id":"thesis_session","maturity":"defined"},{"id":"F0081","source_file":"thesis.md","source_line":589,"latex":"\\lambda_9 = 1.0","context":"ied by the postcondition of \\(A_i\\), under the operator's precondition/postcondition schema. For the base case \\(k=0\\), \\(\\lambda_9 = 1.0\\). ### The conjunctive gate condition The Λ₉ gate passes if ","source_id":"thesis_session","maturity":"defined"},{"id":"F0082","source_file":"thesis.md","source_line":599,"latex":"\\lambda_1 = 0.50","context":"for the following reason. A single composite score — even a geometric mean — can mask localized failures. An agent with \\(\\lambda_1 = 0.50\\) (severely morally misaligned) and all remaining axes at \\(1","source_id":"thesis_session","maturity":"defined"},{"id":"F0083","source_file":"thesis.md","source_line":599,"latex":"\\prod_{i}^{1/9} = 0.50^{1/9} \\approx 0.926","context":"with \\(\\lambda_1 = 0.50\\) (severely morally misaligned) and all remaining axes at \\(1.0\\) achieves a geometric mean of \\(\\prod_{i}^{1/9} = 0.50^{1/9} \\approx 0.926\\), which would pass a ≥ 0.90 single-","source_id":"thesis_session","maturity":"defined"},{"id":"F0084","source_file":"thesis.md","source_line":599,"latex":"\\lambda_1","context":"gle-score gate. The conjunctive AND structure prevents this: every axis is a blocking veto. The two elevated floors for \\(\\lambda_1\\) and \\(\\lambda_2\\) add a second layer of asymmetry — these are the ","source_id":"thesis_session","maturity":"defined"},{"id":"F0085","source_file":"thesis.md","source_line":599,"latex":"\\lambda_2","context":"e conjunctive AND structure prevents this: every axis is a blocking veto. The two elevated floors for \\(\\lambda_1\\) and \\(\\lambda_2\\) add a second layer of asymmetry — these are the axes most directly","source_id":"thesis_session","maturity":"defined"},{"id":"F0086","source_file":"thesis.md","source_line":605,"latex":"m \\in \\{0,1\\}^9","context":"to the receipt structure. Rather than publishing the raw nine (or ten) axis scores, the receipt carries a bitfield mask \\(m \\in \\{0,1\\}^9\\) in which \\(m_i = 1\\) if and only if \\(\\lambda_i\\) was evalua","source_id":"thesis_session","maturity":"defined"},{"id":"F0087","source_file":"thesis.md","source_line":605,"latex":"m_i = 1","context":"her than publishing the raw nine (or ten) axis scores, the receipt carries a bitfield mask \\(m \\in \\{0,1\\}^9\\) in which \\(m_i = 1\\) if and only if \\(\\lambda_i\\) was evaluated and passed its floor. The","source_id":"thesis_session","maturity":"defined"},{"id":"F0088","source_file":"thesis.md","source_line":605,"latex":"\\lambda_i","context":"nine (or ten) axis scores, the receipt carries a bitfield mask \\(m \\in \\{0,1\\}^9\\) in which \\(m_i = 1\\) if and only if \\(\\lambda_i\\) was evaluated and passed its floor. The raw scores are withheld fro","source_id":"thesis_session","maturity":"defined"},{"id":"F0089","source_file":"thesis.md","source_line":611,"latex":"\\theta_i = 0.95","context":"ity profile of the agent. Formally, the mask is computed as: \\[ m_i = \\mathbf{1}[\\lambda_i(c) \\geq \\theta_i] \\] where \\(\\theta_i = 0.95\\) for \\(i \\in \\{1,2\\}\\) and \\(\\theta_i = 0.90\\) otherwise. The","source_id":"thesis_session","maturity":"defined"},{"id":"F0090","source_file":"thesis.md","source_line":611,"latex":"i \\in \\{1,2\\}","context":". Formally, the mask is computed as: \\[ m_i = \\mathbf{1}[\\lambda_i(c) \\geq \\theta_i] \\] where \\(\\theta_i = 0.95\\) for \\(i \\in \\{1,2\\}\\) and \\(\\theta_i = 0.90\\) otherwise. The gate passes iff \\(\\sum_","source_id":"thesis_session","maturity":"defined"},{"id":"F0091","source_file":"thesis.md","source_line":611,"latex":"\\theta_i = 0.90","context":"s computed as: \\[ m_i = \\mathbf{1}[\\lambda_i(c) \\geq \\theta_i] \\] where \\(\\theta_i = 0.95\\) for \\(i \\in \\{1,2\\}\\) and \\(\\theta_i = 0.90\\) otherwise. The gate passes iff \\(\\sum_i m_i = 9\\) (or 10 und","source_id":"thesis_session","maturity":"defined"},{"id":"F0092","source_file":"thesis.md","source_line":611,"latex":"\\sum_i m_i = 9","context":"eq \\theta_i] \\] where \\(\\theta_i = 0.95\\) for \\(i \\in \\{1,2\\}\\) and \\(\\theta_i = 0.90\\) otherwise. The gate passes iff \\(\\sum_i m_i = 9\\) (or 10 under Λ₁₀). The mask is committed via SHA-256 and incl","source_id":"thesis_session","maturity":"defined"},{"id":"F0093","source_file":"thesis.md","source_line":627,"latex":"\\textit{parent\\_hash}","context":"\\textit{timestamp},\\; \\vec{\\lambda},\\; \\rho\\_\\textit{witness\\_set},\\; \\textit{signature}\\bigr) \\] The fields are: - **\\(\\textit{parent\\_hash}\\)**: The SHA-256 digest of receipt \\(r_{i-1}\\). For the ","source_id":"thesis_session","maturity":"defined"},{"id":"F0094","source_file":"thesis.md","source_line":627,"latex":"r_{i-1}","context":"s\\_set},\\; \\textit{signature}\\bigr) \\] The fields are: - **\\(\\textit{parent\\_hash}\\)**: The SHA-256 digest of receipt \\(r_{i-1}\\). For the genesis receipt, this is the SHA-256 of a protocol-specifie","source_id":"thesis_session","maturity":"defined"},{"id":"F0095","source_file":"thesis.md","source_line":628,"latex":"\\textit{content\\_digest}","context":"this is the SHA-256 of a protocol-specified null seed. This field creates the backward-pointing link of the chain. - **\\(\\textit{content\\_digest}\\)**: The SHA-256 of the canonical JSON serialization o","source_id":"thesis_session","maturity":"defined"},{"id":"F0096","source_file":"thesis.md","source_line":629,"latex":"\\textit{actor}","context":"fore any side-effectful execution. This binds the gate verdict irrevocably to the specific input that triggered it. - **\\(\\textit{actor}\\)**: The identifier of the acting agent as registered in the pr","source_id":"thesis_session","maturity":"defined"},{"id":"F0097","source_file":"thesis.md","source_line":629,"latex":"\\lambda_7","context":"t. - **\\(\\textit{actor}\\)**: The identifier of the acting agent as registered in the principal registry. Corresponds to \\(\\lambda_7\\) (actorIdentity). - **\\(\\textit{timestamp}\\)**: A monotonic timesta","source_id":"thesis_session","maturity":"defined"},{"id":"F0098","source_file":"thesis.md","source_line":630,"latex":"\\textit{timestamp}","context":"entifier of the acting agent as registered in the principal registry. Corresponds to \\(\\lambda_7\\) (actorIdentity). - **\\(\\textit{timestamp}\\)**: A monotonic timestamp in milliseconds since the Unix e","source_id":"thesis_session","maturity":"defined"},{"id":"F0099","source_file":"thesis.md","source_line":631,"latex":"\\vec{\\lambda}","context":": A monotonic timestamp in milliseconds since the Unix epoch, drawn from a pinned, non-forgeable source (see §4.6). - **\\(\\vec{\\lambda}\\)**: The full nine-dimensional Λ vector, or the `lambda9_mask` b","source_id":"thesis_session","maturity":"defined"},{"id":"F0100","source_file":"thesis.md","source_line":632,"latex":"\\rho\\_\\textit{witness\\_set}","context":"vec{\\lambda}\\)**: The full nine-dimensional Λ vector, or the `lambda9_mask` bitfield under the Λ₁₀ privacy variant. - **\\(\\rho\\_\\textit{witness\\_set}\\)**: The set of co-witnesses whose signatures are ","source_id":"thesis_session","maturity":"defined"}],"definitions":[],"canonical_constants":[{"id":"K01","name":"receipt_build_p50_us","value":"11.5","unit":"µs","ops_per_sec":"62764","source":"THESIS_BRIEF.md","doi":"10.5281/zenodo.20119582","maturity":"measured"},{"id":"K02","name":"receipt_build_p99_us","value":"50.7","unit":"µs","source":"THESIS_BRIEF.md","doi":"10.5281/zenodo.20119582","maturity":"measured"},{"id":"K03","name":"receipt_verify_p50_us","value":"10.4","unit":"µs","ops_per_sec":"74149","source":"THESIS_BRIEF.md","doi":"10.5281/zenodo.20119582","maturity":"measured"},{"id":"K04","name":"lambda9_base_p50_us","value":"3.12","unit":"µs","source":"THESIS_BRIEF.md","doi":"10.5281/zenodo.20119582","maturity":"measured"},{"id":"K05","name":"lambda9_composed_p50_us","value":"3.29","unit":"µs","source":"THESIS_BRIEF.md","doi":"10.5281/zenodo.20119582","maturity":"measured"},{"id":"K06","name":"rho_closure_rate","value":"100%","denominator":"8000/8000 paired calls","source":"THESIS_BRIEF.md","doi":"10.5281/zenodo.20119582","maturity":"measured"},{"id":"K07","name":"platform_v11_http_calls","value":"24800","source":"THESIS_BRIEF.md","doi":"10.5281/zenodo.20119582","maturity":"measured"},{"id":"K08","name":"platform_v11_lambda10_overhead_p50_ms","value":"0.49-0.59","unit":"ms/route","source":"THESIS_BRIEF.md","doi":"10.5281/zenodo.20119582","maturity":"measured"},{"id":"K09","name":"platform_v11_p99_ms","value":"1.27","unit":"ms","source":"THESIS_BRIEF.md","doi":"10.5281/zenodo.20119582","maturity":"measured"},{"id":"K10","name":"replay_root","value":"1ed4d253e876f428c6e182f8ed8a569585442556b339529bbf8ec2522581698b","source":"THESIS_BRIEF.md","doi":"10.5281/zenodo.20119582","maturity":"measured"},{"id":"K11","name":"test_count_production","value":"218/218","source":"THESIS_BRIEF.md","doi":"10.5281/zenodo.20119582","maturity":"measured"},{"id":"K12","name":"test_count_demo","value":"37/37","source":"replit_payload_build","commit":"demo","maturity":"measured"},{"id":"K13","name":"bekenstein_indicator_fire_rate","value":"49.5%","source":"thesis.md §4.5","doi":"10.5281/zenodo.20119582","maturity":"measured"}],"extracted_constants":[{"id":"C0001","name":"receipt_build_p50_us","value":"11.5","raw":"receipt build p50 = 11.5 µs","context":"0).** A production Rust runtime with 218/218 tests passing, receipt build p50 = 11.5 µs (62,764 ops/sec), receipt verify p50 = 10.4 µs (74,149 ops/sec","source_file":"thesis.md","source_line":83,"source_id":"thesis_session"},{"id":"C0003","name":"receipt_verify_p50_us","value":"10.4","raw":"receipt verify p50 = 10.4 µs","context":"ests passing, receipt build p50 = 11.5 µs (62,764 ops/sec), receipt verify p50 = 10.4 µs (74,149 ops/sec), and 100% ρ-closure on 8,000/8,000 paired ca","source_file":"thesis.md","source_line":83,"source_id":"thesis_session"},{"id":"C0008","name":"receipt_build_p99_us","value":"50.7","raw":"p99 = 50.7 µs","context":"→ Receipt` — constructs a receipt envelope; p50 = 11.5 µs, p99 = 50.7 µs, throughput 62,764 ops/sec. - `verify_receipt(receipt) → bool` — verifies byt","source_file":"thesis.md","source_line":269,"source_id":"thesis_session"},{"id":"C0009","name":"ops_per_sec","value":"62764","raw":"62,764 ops/sec","context":"me with 218/218 tests passing, receipt build p50 = 11.5 µs (62,764 ops/sec), receipt verify p50 = 10.4 µs (74,149 ops/sec), and 100% ρ-closure on 8,00","source_file":"thesis.md","source_line":83,"source_id":"thesis_session"},{"id":"C0010","name":"ops_per_sec","value":"74149","raw":"74,149 ops/sec","context":"0 = 11.5 µs (62,764 ops/sec), receipt verify p50 = 10.4 µs (74,149 ops/sec), and 100% ρ-closure on 8,000/8,000 paired calls [9]. The runtime enforces ","source_file":"thesis.md","source_line":83,"source_id":"thesis_session"},{"id":"C0023","name":"ops_per_sec","value":"200000","raw":"200,000 ops/sec","context":"arget for the Merkle-DAG upgrade is **5 µs build p50** at **200,000 ops/sec**. This is a 2.3× improvement in latency and a 3.2× improvement in through","source_file":"thesis.md","source_line":2100,"source_id":"thesis_session"},{"id":"C0027","name":"lambda9_base_p50_us","value":"3.12","raw":"Λ₉ base p50 = 3.12 µs","context":"9]. The runtime enforces a 9-axis conjunctive quality gate (Λ₉ base p50 = 3.12 µs) and a Λ₁₀ platform layer with 0.49–0.59 ms/route overhead validated","source_file":"thesis.md","source_line":83,"source_id":"thesis_session"},{"id":"C0029","name":"tests_passed","value":"218","raw":"218/218 passing","context":"ify-p50 with 100% ρ-closure on 8,000/8,000 paired calls and 218/218 passing tests. We propose `lambda9_mask` as a privacy-preserving extension to SCIT","source_file":"thesis.md","source_line":27,"source_id":"thesis_session"},{"id":"C0031","name":"tests_passed","value":"37","raw":"37/37 tests","context":"nt invocations of the same input. The demo payload confirms 37/37 tests passing in the Replit environment (33 `ouroboros` core + 4 `a11oy` covenant), ","source_file":"thesis.md","source_line":249,"source_id":"thesis_session"},{"id":"C0044","name":"http_calls","value":"24800","raw":"24,800 HTTP calls","context":"orm layer with 0.49–0.59 ms/route overhead validated across 24,800 HTTP calls. 2. **Lean 4 formal axioms and proofs (`lutar-lean`).** A Mathlib-groun","source_file":"thesis.md","source_line":83,"source_id":"thesis_session"},{"id":"C0053","name":"lambda_p50_us","value":"11.5","raw":"p50 = 11.5 µs (62,764 ops/sec), receipt verify p50 = 10.4 µs (74,149 ops/sec), and 100% ρ-closure on 8,000/8,000 paired calls [9]. The runtime enforces a 9-axis conjunctive quality gate (Λ","context":"tion Rust runtime with 218/218 tests passing, receipt build p50 = 11.5 µs (62,764 ops/sec), receipt verify p50 = 10.4 µs (74,149 ops/sec), and 100% ρ-","source_file":"thesis.md","source_line":83,"source_id":"thesis_session"},{"id":"C0054","name":"lambda_p50_us","value":"3.12","raw":"p50 = 3.12 µs) and a Λ","context":"runtime enforces a 9-axis conjunctive quality gate (Λ₉ base p50 = 3.12 µs) and a Λ₁₀ platform layer with 0.49–0.59 ms/route overhead validated across ","source_file":"thesis.md","source_line":83,"source_id":"thesis_session"},{"id":"C0055","name":"receipt_build_p99_us","value":"50.7","raw":"p99 = 50.7 µs","context":"bers - **218/218 tests** - Receipt build p50 = **11.5 µs**, p99 = 50.7 µs (62,764 ops/sec) - Receipt verify p50 = **10.4 µs** (74,149 ops/sec) - Λ₉ ba","source_file":"THESIS_BRIEF.md","source_line":57,"source_id":"thesis_brief"},{"id":"C0056","name":"ops_per_sec","value":"62764","raw":"62,764 ops/sec","context":"8 tests** - Receipt build p50 = **11.5 µs**, p99 = 50.7 µs (62,764 ops/sec) - Receipt verify p50 = **10.4 µs** (74,149 ops/sec) - Λ₉ base p50 = 3.12 µ","source_file":"THESIS_BRIEF.md","source_line":57,"source_id":"thesis_brief"},{"id":"C0057","name":"ops_per_sec","value":"74149","raw":"74,149 ops/sec","context":"0.7 µs (62,764 ops/sec) - Receipt verify p50 = **10.4 µs** (74,149 ops/sec) - Λ₉ base p50 = 3.12 µs / composed p50 = 3.29 µs - 100% ρ-closure on **8,0","source_file":"THESIS_BRIEF.md","source_line":58,"source_id":"thesis_brief"},{"id":"C0058","name":"lambda9_base_p50_us","value":"3.12","raw":"Λ₉ base p50 = 3.12 µs","context":"/sec) - Receipt verify p50 = **10.4 µs** (74,149 ops/sec) - Λ₉ base p50 = 3.12 µs / composed p50 = 3.29 µs - 100% ρ-closure on **8,000/8,000 paired ca","source_file":"THESIS_BRIEF.md","source_line":59,"source_id":"thesis_brief"},{"id":"C0059","name":"tests_passed","value":"218","raw":"218/218 tests","context":"boros v6.3.0 (released 2026-05-13) — production numbers - **218/218 tests** - Receipt build p50 = **11.5 µs**, p99 = 50.7 µs (62,764 ops/sec) - Receip","source_file":"THESIS_BRIEF.md","source_line":56,"source_id":"thesis_brief"},{"id":"C0060","name":"tests_passed","value":"37","raw":"37/37 tests","context":"plit demo payload (verified live 2026-05-15 at 11:22 EDT) - 37/37 tests passing (33 ouroboros core + 4 a11oy covenant) - `bash scripts/doctrine-check.","source_file":"THESIS_BRIEF.md","source_line":68,"source_id":"thesis_brief"},{"id":"C0061","name":"http_calls","value":"24800","raw":"24,800 HTTP calls","context":"ρ-closure on **8,000/8,000 paired calls** - Platform v11: **24,800 HTTP calls validated**, Λ₁₀ overhead 0.49–0.59 ms/route, p99 ≤ 1.27 ms - Apache-2.0","source_file":"THESIS_BRIEF.md","source_line":61,"source_id":"thesis_brief"},{"id":"C0062","name":"receipt_build_p50_us","value":"11.5","raw":"Receipt build p50 = 11.5 µs","context":"e not. | 12–18 months — they have a runtime, not a kernel | Receipt build p50 = 11.5 µs · v11 DOI [`zenodo.20119582`](https://doi.org/10.5281/zenodo.2","source_file":"master_evolution_memo.md","source_line":81,"source_id":"master_memo"},{"id":"C0064","name":"receipt_build_p99_us","value":"50.7","raw":"p99 = 50.7 µs","context":"218 / 218 passing** | | Receipt build | p50 = **11.5 µs** · p99 = 50.7 µs · 62,764 ops/sec | | Receipt verify | p50 = **10.4 µs** · 74,149 ops/sec | |","source_file":"master_evolution_memo.md","source_line":36,"source_id":"master_memo"},{"id":"C0065","name":"ops_per_sec","value":"62764","raw":"62,764 ops/sec","context":"g** | | Receipt build | p50 = **11.5 µs** · p99 = 50.7 µs · 62,764 ops/sec | | Receipt verify | p50 = **10.4 µs** · 74,149 ops/sec | | Λ₉ base | p50 =","source_file":"master_evolution_memo.md","source_line":36,"source_id":"master_memo"},{"id":"C0066","name":"ops_per_sec","value":"74149","raw":"74,149 ops/sec","context":"s · 62,764 ops/sec | | Receipt verify | p50 = **10.4 µs** · 74,149 ops/sec | | Λ₉ base | p50 = 3.12 µs | | Λ₉ composed | p50 = **3.29 µs** | | ρ-closu","source_file":"master_evolution_memo.md","source_line":37,"source_id":"master_memo"},{"id":"C0067","name":"tests_passed","value":"37","raw":"37/37 tests","context":"ic-facing Replit demo (`replit_a11oy_demo`) currently shows 37/37 tests passing. The upstream runtime is **218/218**. Every Series A diligence visitor","source_file":"master_evolution_memo.md","source_line":141,"source_id":"master_memo"},{"id":"C0068","name":"tests_passed","value":"218","raw":"218/218 tests","context":"astructure. **Success metric:** the Replit demo URL shows \"218/218 tests · v6.3.0 · OpenSSF 8.2\" with the same badge as the canonical repo, refreshed","source_file":"master_evolution_memo.md","source_line":152,"source_id":"master_memo"},{"id":"C0070","name":"receipt_build_p50_us","value":"11.5","raw":"Receipt build p50=11.5 µs","context":"rg/doc/draft-morrow-sogomonian-exec-outcome-attest/00/)). | Receipt build p50=11.5 µs, 218/218 tests, v11 DOI: [10.5281/zenodo.20119582](https://doi.o","source_file":"pm_memo.md","source_line":54,"source_id":"pm_memo"},{"id":"C0072","name":"ops_per_sec","value":"62764","raw":"62,764 ops/sec","context":"Claim:** Receipt build p50 = 11.5 µs, verify p50 = 10.4 µs, 62,764 ops/sec, 218/218 runtime tests, ρ-closure 8,000/8,000, byte-identical replay root `","source_file":"pm_memo.md","source_line":81,"source_id":"pm_memo"},{"id":"C0073","name":"tests_passed","value":"218","raw":"218/218 tests","context":"ian-exec-outcome-attest/00/)). | Receipt build p50=11.5 µs, 218/218 tests, v11 DOI: [10.5281/zenodo.20119582](https://doi.org/10.5281/zenodo.20119582)","source_file":"pm_memo.md","source_line":54,"source_id":"pm_memo"},{"id":"C0076","name":"tests_passed","value":"37","raw":"37/37 tests","context":"arity + Public Scorecard **Thesis:** The Replit demo shows 37/37 tests (ouroboros 33 + a11oy 4). The live runtime is 218/218. This delta undersells t","source_file":"pm_memo.md","source_line":135,"source_id":"pm_memo"},{"id":"C0077","name":"http_calls","value":"24800","raw":"24,800 HTTP calls","context":"ships a Λ₉-gated resource. | Ouroboros v6.3.0 platform v11: 24,800 HTTP calls, Λ₁₀ overhead 0.49–0.59 ms/route | | **Mastra** ([mastra.ai](https://mas","source_file":"pm_memo.md","source_line":57,"source_id":"pm_memo"},{"id":"C0078","name":"receipt_build_p50_us","value":"11.5","raw":"Receipt build p50 = 11.5 µs","context":"-witness guarantee baked into `ouroboros`'s runtime kernel. Receipt build p50 = 11.5 µs; verify p50 = 10.4 µs; 100% ρ-closure on 8,000/8,000 paired ca","source_file":"cto_memo.md","source_line":78,"source_id":"cto_memo"},{"id":"C0079","name":"ops_per_sec","value":"62764","raw":"62,764 ops/sec","context":"in · p50 = 11.5 µs build / 10.4 µs verify · 218/218 tests · 62,764 ops/sec | | `a11oy` | Covenant policy + approval queue | **HEART** (consent + pulse","source_file":"cto_memo.md","source_line":18,"source_id":"cto_memo"},{"id":"C0080","name":"tests_passed","value":"218","raw":"218/218 tests","context":"ss · receipt chain · p50 = 11.5 µs build / 10.4 µs verify · 218/218 tests · 62,764 ops/sec | | `a11oy` | Covenant policy + approval queue | **HEART** ","source_file":"cto_memo.md","source_line":18,"source_id":"cto_memo"},{"id":"C0081","name":"ops_per_sec","value":"62764","raw":"62,764 ops/sec","context":"218 / 218 passing | 100% | | Receipt build p50 | 11.5 µs | 62,764 ops/sec | | Receipt build p99 | 50.7 µs | — | | Receipt verify p50 | 10.4 µs | 74,14","source_file":"runtime_memo.md","source_line":20,"source_id":"runtime_memo"},{"id":"C0082","name":"ops_per_sec","value":"74149","raw":"74,149 ops/sec","context":"build p99 | 50.7 µs | — | | Receipt verify p50 | 10.4 µs | 74,149 ops/sec | | Λ₉ base p50 | 3.12 µs | — | | Λ₉ composed p50 | 3.29 µs | — | | ρ-closur","source_file":"runtime_memo.md","source_line":22,"source_id":"runtime_memo"},{"id":"C0083","name":"tests_passed","value":"218","raw":"218/218 tests","context":"ary (5 lines) The ouroboros v6.3.0 runtime is confirmed at 218/218 tests, receipt build p50 11.5 µs, Λ₉ composed p50 3.29 µs, and 100% ρ-closure — al","source_file":"runtime_memo.md","source_line":404,"source_id":"runtime_memo"},{"id":"C0084","name":"http_calls","value":"11","raw":"11 HTTP calls","context":"9 µs | — | | ρ-closure | 8,000 / 8,000 | 100% | | Platform v11 HTTP calls | 24,800 | — | | Λ overhead p50 per route | 0.49–0.59 ms | — | | Λ overhead ","source_file":"runtime_memo.md","source_line":26,"source_id":"runtime_memo"},{"id":"C0085","name":"ops_per_sec","value":"74149","raw":"74,149 ops/sec","context":"pt verify p50 | **10.4 µs** | | Receipt verify throughput | 74,149 ops/sec | | Λ₉ base p50 | 3.12 µs | | Λ₉ composed p50 | 3.29 µs | | ρ-closure | 100","source_file":"data_memo.md","source_line":419,"source_id":"data_memo"}],"dois":[{"doi":"10.5281/zenodo.19944926","url":"https://doi.org/10.5281/zenodo.19944926","source_file":"thesis.md","source_line":18,"source_id":"thesis_session"},{"doi":"10.5281/zenodo.20119582","url":"https://doi.org/10.5281/zenodo.20119582","source_file":"thesis.md","source_line":19,"source_id":"thesis_session"},{"doi":"10.5281/zenodo.19867281","url":"https://doi.org/10.5281/zenodo.19867281","source_file":"thesis.md","source_line":1740,"source_id":"thesis_session"},{"doi":"10.5281/zenodo.19934129","url":"https://doi.org/10.5281/zenodo.19934129","source_file":"thesis.md","source_line":1741,"source_id":"thesis_session"},{"doi":"10.5281/zenodo.19983066","url":"https://doi.org/10.5281/zenodo.19983066","source_file":"thesis.md","source_line":1743,"source_id":"thesis_session"},{"doi":"10.5281/zenodo.20020841","url":"https://doi.org/10.5281/zenodo.20020841","source_file":"thesis.md","source_line":1744,"source_id":"thesis_session"},{"doi":"10.5281/zenodo.20020845","url":"https://doi.org/10.5281/zenodo.20020845","source_file":"thesis.md","source_line":1745,"source_id":"thesis_session"},{"doi":"10.5281/zenodo.20020846","url":"https://doi.org/10.5281/zenodo.20020846","source_file":"thesis.md","source_line":1746,"source_id":"thesis_session"},{"doi":"10.5281/zenodo.20020848","url":"https://doi.org/10.5281/zenodo.20020848","source_file":"thesis.md","source_line":1747,"source_id":"thesis_session"},{"doi":"10.5281/zenodo.20020849","url":"https://doi.org/10.5281/zenodo.20020849","source_file":"thesis.md","source_line":1748,"source_id":"thesis_session"},{"doi":"10.5281/zenodo.20053148","url":"https://doi.org/10.5281/zenodo.20053148","source_file":"thesis.md","source_line":1749,"source_id":"thesis_session"},{"doi":"10.5281/zenodo.20053163","url":"https://doi.org/10.5281/zenodo.20053163","source_file":"thesis.md","source_line":1750,"source_id":"thesis_session"},{"doi":"10.5281/zenodo.20162352","url":"https://doi.org/10.5281/zenodo.20162352","source_file":"thesis.md","source_line":1752,"source_id":"thesis_session"}],"doctrine_clauses":[{"id":"DC1","clause":"Byline must be 'Lutar, Stephen P.' — never 'Jr.' or 'Stephen Paul'","source":"THESIS_BRIEF.md"},{"id":"DC2","clause":"8 forbidden patterns: see doctrine.json (FP-1..FP-8)","source":"PM_LEAD_CHARTER_V2.md"},{"id":"DC3","clause":"License allow-list: Apache-2.0, MIT, BSD-3-Clause, CC-BY-4.0","source":"THESIS_BRIEF.md"},{"id":"DC4","clause":"ORCID: 0009-0001-0110-4173","source":"THESIS_BRIEF.md"},{"id":"DC5","clause":"9-axis Λ >= 0.90 conjunctive AND; moralGrounding + measurabilityHonesty >= 0.95","source":"THESIS_BRIEF.md"},{"id":"DC6","clause":"Public-only ingestion: no private data, no proprietary code","source":"THESIS_BRIEF.md"},{"id":"DC7","clause":"5x byte-identical replay (deterministic)","source":"THESIS_BRIEF.md"},{"id":"DC8","clause":"No hallucinations; every empirical claim cites a verifiable artifact","source":"THESIS_BRIEF.md"}],"source_files":["thesis.md","THESIS_BRIEF.md","master_evolution_memo.md","pm_memo.md","cto_memo.md","runtime_memo.md","governance_memo.md","data_memo.md","anatomy_memo.md"],"zenodo_corpus":["10.5281/zenodo.19867281","10.5281/zenodo.19934129","10.5281/zenodo.19944926","10.5281/zenodo.19983066","10.5281/zenodo.20020841","10.5281/zenodo.20020846","10.5281/zenodo.20020845","10.5281/zenodo.20020848","10.5281/zenodo.20020849","10.5281/zenodo.20053148","10.5281/zenodo.20053163","10.5281/zenodo.20119582","10.5281/zenodo.20162352"],"proof_summary":{"locked_proven":8,"locked_ids":["F1","F4","F7","F11","F12","F18","F19","F22"],"experimental_sorry_free":21,"axiom_gated":3,"axiom_gated_detail":{"f13_tamper_evident":"hash_collision_resistant","f14_sigenv_verifiable":"ecdsa_unforgeable","f15_inclusion_binding":"h2_collision_resistant"},"conjecture":["F23"],"note":"Locked kernel proven=8 {F1,F4,F7,F11,F12,F18,F19,F22}; experimental scope Lutar/Puriq/Formulas has 21 sorry-free (excluded from locked count); F23 = Conjecture 1, NOT a theorem.","lean_repo":"szl-holdings/lutar-lean","lean_files":["Lutar/Puriq/Formulas/PuriqFormulaLean.lean","Lutar/Puriq/Formulas/F23_Uniqueness.lean"],"verification":"bare `lean` 4.13.0, 0 errors, 1 sorry (F23 only); #print axioms shows no sorryAx in any proved theorem.","source_report":"team/PROOFS_WAVE2_REPORT.md","wave3":{"campaign":"prove-wave-3 (C1-C20 research candidates)","source_report":"team/PROVE_WAVE3_REPORT.md","lean_repo":"szl-holdings/lutar-lean","commit_proofs":"775093f0f8ef7f530272c38d513c28fdaec3366b","commit_root_wiring":"02e44c30657c9986475ff7373113728f4ba38f67","lean_files":["Lutar/Wave3/Consensus.lean","Lutar/Wave3/MerkleKraft.lean","Lutar/Wave3/InfoEstim.lean","Lutar/Wave3/Tier1Mathlib.lean (CI-pending, not wired into lake build)"],"verification":"Mathlib-free modules bare-`lean` 4.13.0 verified sorry-free (0 errors); #print axioms ledger shows no sorryAx. Tier1Mathlib (C1/C2/C6) is Mathlib-dependent and CI-pending, NOT compiled in sandbox.","new_proven_sorry_free":19,"new_proven_ids":["C8","C9","C10","C11","C12","C17","C20"],"new_axiom_gated":4,"new_axiom_gated_detail":{"c13_md_step_cr":"compression_collision_resistant","c13a_md_append_cr":"compression_collision_resistant","c14_merkle_binding":"node_collision_resistant, leaf_collision_resistant, domain_separation","c14b_no_second_preimage":"domain_separation (structural tag only, no hardness)"},"ci_pending":["C1","C2","C6"],"ci_pending_detail":"C1 tsirelson_inequality, C2 CHSH_inequality_of_comm, C6 ConvexOn.map_sum_le re-exports; Mathlib-dependent, awaiting green lake build.","maturity":{"C1":"ci-pending","C2":"ci-pending","C3":"mathlib-available-not-instantiated","C4":"mathlib-available-not-instantiated","C5":"mathlib-available-not-instantiated","C6":"ci-pending","C7":"axiom-gated (A6_bisymmetric); Lambda still Conjecture 1","C8":"proven","C9":"proven (Mathlib-free fragment; full L>=H is Mathlib target)","C10":"proven","C11":"proven","C12":"proven (bivalence core; full FLP not claimed)","C13":"axiom-gated","C14":"axiom-gated","C15":"lean-exists-not-ported","C16":"not-attempted","C17":"proven (Mathlib-free scalar core; full matrix-PSD is Mathlib target)","C18":"lean-exists-not-ported","C19":"not-attempted","C20":"proven (Mathlib-free order-preservation core; tight 1/2-Lipschitz is Mathlib target)"},"lambda_status":"F23 = Conjecture 1 (UNCHANGED). C7 is conditional only, via the DECLARED axiom A6_bisymmetric in F23_Uniqueness.lean; unconditional uniqueness is FALSE under A1-A5 (maxAgg_ne_Lambda).","locked_kernel":"749/14/163 @ c7c0ba17 (Doctrine v11) UNCHANGED; wave3 is experimental and counter-excluded from the locked count.","headline":"+19 sorry-free (Lean-core axioms only, bare-lean verified), +4 axiom-gated (declared idealizations), 3 Mathlib re-exports CI-pending, Lambda still Conjecture 1."},"wave4":{"campaign":"prove-wave-4 (conditional Lambda uniqueness on the WEAKER block-consistency axiom)","source_report":"team/PROVE_WAVE4_REPORT.md","candidate_research":"team/RESEARCH_WAVE4/CANDIDATE_FORMULAS_V4.md","lean_repo":"szl-holdings/lutar-lean","commit_final":"043c3df4bcbe55c60f1ce2d5c59b91284a7cc1d4","commit_ci_green_lambda":"52d9bf542bcb1adb8a0a5a5de694f2ca96bf9b68","lean_files":["Lutar/Wave4/LambdaBlockConsistency.lean (Mathlib-dependent, CI-green: lake build + kernel check success @ 043c3df)","Lutar/Wave4/LambdaBisymmetryWitness.lean (bare-`lean` 4.13.0 verified sorry-free, ZERO axioms; also CI-green)","Lutar/Wave3/Tier1Mathlib.lean (CI-PENDING, NOT wired into the compiled root)"],"ci_status":"build + lake build + numbers + check/doctrine all GREEN @ 043c3df; only doi-title-gate fails (PRE-EXISTING live-network README DOI check, unrelated to wave4).","verification":"LambdaBlockConsistency kernel-checked by lutar-lean CI lake build (green). LambdaBisymmetryWitness bare-`lean` verified: all 6 theorems 'do not depend on any axioms'. Every theorem carries #print axioms.","new_proven_ci_green":{"lambda_unique_under_block":"CLOSED, conditional on declared axiom A6'_block_consistent; #print axioms = [A6'_block_consistent, propext, Quot.sound, Classical.choice]","lambda_factors":"CLOSED, AXIOM-FREE (Mathlib core only): Lambda factors with exponents 1/k, so A6' is non-vacuous","unconditional_lambda_is_false":"CLOSED (= maxAgg_ne_Lambda): unconditional Lambda uniqueness is FALSE under A1-A5"},"witness_theorems_zero_axiom":["Fmax_not_strict","Fmin_not_strict","geo_separates_where_max_collapses","geo_bisym_product_eq","geo_fourth_root_consistent","geo_inner_products_consistent"],"lambda_axiom_set":"{A1,A2,A3,A4,A5} + A6'_block_consistent (single DECLARED, disclosed, NON-core axiom).","lambda_weakest_axiom":"Cleanest published: Aczel-Saaty 1983 (doi:10.1016/0022-2496(83)90028-7) = reciprocity + positive homogeneity (A2 already assumed). Weakest governance-natural & formalized: Csato 2018 block-consistency / aggregation-invariance (doi:10.1007/s10726-018-9589-3, arXiv:1706.07256), WEAKER than the prior A6_bisymmetric.","lambda_status":"F23 = Conjecture 1 (UNCHANGED, unconditional). Conditional uniqueness now CI-green on the WEAKER A6'_block_consistent (lambda_unique_under_block), superseding the stronger A6_bisymmetric route. Unconditional uniqueness FALSE (maxAgg_ne_Lambda). NEVER conflated.","ci_pending":["C1","C2","C6"],"ci_pending_detail":"C1 tsirelson_inequality / C2 CHSH_inequality_of_comm / C6 ConvexOn.map_sum_le re-exports. Signatures verified VERBATIM vs pinned Mathlib d731765, but wiring Tier1Mathlib into the compiled root reproducibly red-lights lake build (bisected: a4299fb/52d9bf5 un-wired = green). Exact error not retrievable (CI log download proxy-blocked). File stays in-tree, NOT imported; NOT claimed proven.","locked_kernel":"749/14/163 @ c7c0ba17 UNCHANGED","locked_proven":8,"canonical_numbers":{"declarations":1182,"axioms_raw":20,"axioms_unique":19,"new_axiom":"A6'_block_consistent (declared, disclosed, NON-core, NOT in locked kernel)","sorries_raw":308,"sorries_noncomment":256,"drift_gate":"PASS"},"citations":["Aczel 1948","Aczel-Saaty 1983 doi:10.1016/0022-2496(83)90028-7","Csato 2018 doi:10.1007/s10726-018-9589-3 arXiv:1706.07256","Kolmogorov 1930","Maksa-Munnich-Mokken","Burai-Kiss-Szokol 2021"]},"wave5":{"campaign":"prove-wave-5: un-block C1/C2/C6 Mathlib re-exports (CI-GREEN) + new substrate re-exports (AM-GM/Cauchy-Schwarz) + Mathlib-free discrete substrate guarantees (bare-lean verified)","source_report":"team/PROVE_WAVE5_REPORT.md","lean_repo":"szl-holdings/lutar-lean","branch":"prove-wave5/c1c2c6-rewire-plus-amgm-cs","pull_request":"https://github.com/szl-holdings/lutar-lean/pull/186","commit_ci_green":"0a552a90dd7f3b8b668ae761bf6e39eca17c62f1","ci_run_ids":{"lean_kernel_check":"27053443102 (success)","lake_build_gate_numbers":"27053443099 (success)","doctrine":"27053443200 (success)","dco":"27053443096 (success)"},"ci_status":"build (Lean kernel check) + lake build + numbers + check/doctrine + DCO all GREEN @ 0a552a90 (and @ 099d6caa). Only doi-title-gate + PR-title-lint fail (PRE-EXISTING / cosmetic, unrelated to proofs).","headline":"C1 Tsirelson 2sqrt2 / C2 CHSH<=2 / C6 Jensen are now CI-GREEN (wave-4 had them CI-PENDING). Root cause fixed: dropped the non-load-bearing c1a_tsirelson_constant numeric remark and its two extra SpecialFunctions imports, minimizing Tier1Mathlib's build closure to exactly the two modules that define the instantiated theorems.","ci_green_mathlib_dependent":{"Wave3.Tier1.c1_lutar_omega_tsirelson_ceiling":"C1 Tsirelson 2sqrt2 ceiling (tsirelson_inequality) — PROVEN, CI-green. EPR-Bell governance diagnostic (entangled-agent ceiling).","Wave3.Tier1.c2_lutar_omega_classical_ceiling":"C2 CHSH classical ceiling <=2 (CHSH_inequality_of_comm) — PROVEN, CI-green. Local/independent-prior agent ceiling.","Wave3.Tier1.c6_jensen_forecaster":"C6 finite Jensen (ConvexOn.map_sum_le) — PROVEN, CI-green. Active-inference ELBO-direction conservative forecaster.","Wave5.MathlibCore.w5_1_lambda_le_arith_mean":"W5-1 weighted AM-GM (Real.geom_mean_le_arith_mean_weighted) — PROVEN, CI-green. Lambda (geometric-mean aggregator) <= arithmetic mean: no-inflation guarantee.","Wave5.MathlibCore.w5_1b_lambda2_le_arith_mean":"W5-1b two-point weighted AM-GM — PROVEN, CI-green. Pairwise consensus diagnostic.","Wave5.MathlibCore.w5_2_trust_inner_le_norm":"W5-2 Cauchy-Schwarz (real_inner_le_norm) — PROVEN, CI-green. Trust-vector similarity bound (cosine in [-1,1])."},"proven_mathlib_free_bare_lean":{"Wave5.DiscreteSubstrate.w5_3a_miscover_le_total":"miscoverage<=sample size. axioms=[propext]. killinchu conformal coverage.","Wave5.DiscreteSubstrate.w5_3b_cover_miscover_partition":"covered+miscovered=total. axioms=[propext, Quot.sound]. coverage=1-miscoverage conservation.","Wave5.DiscreteSubstrate.w5_3c_threshold_count_mono":"stricter threshold selects fewer. axioms=[propext, Quot.sound]. a11oy threshold monotonicity.","Wave5.DiscreteSubstrate.w5_4_collision_of_image_dup":"image-duplicate => hash collision (pigeonhole). axioms=[propext, Classical.choice, Quot.sound]. UDS forgery-detection.","Wave5.DiscreteSubstrate.w5_5_no_early_stop_deflation":"monotone optional-stopping anti-deflation. ZERO axioms. UDS receipt-stream anti-gaming."},"axiom_disclosure":"Mathlib-dependent re-exports use the standard Mathlib trio [propext, Classical.choice, Quot.sound] (NO sorryAx, NO declared Lutar axioms); their #print axioms are emitted in the CI build log (blob log download proxy-blocked here, but the build is green and they are pure term-mode instantiations of axiom-clean Mathlib theorems). Mathlib-free theorems' #print axioms pasted verbatim in PROVE_WAVE5_REPORT.md section 3 (bare lean 4.13.0, exit 0).","not_available_at_pinned_mathlib":"C3 Hoeffding / C4 Azuma (Mathlib.Probability.Moments.SubGaussian) and C5 KL>=0 (Mathlib.InformationTheory.KullbackLeibler.Basic) modules DO NOT EXIST at the pinned rev d7317655 (v4.13.0) — verified HTTP 404. They cannot be re-exported on this toolchain; deferred to a future Mathlib bump. Honestly NOT claimed.","lambda_status":"Lambda (F23) STAYS Conjecture 1 unconditionally. W5-1 AM-GM is a building block Lambda relies on; it does NOT prove uniqueness. Unconditional uniqueness remains FALSE (wave-4 counterexample in-tree).","locked_kernel":"749/14/163 @ c7c0ba17 UNCHANGED. locked_proven=8 (PR#219 merged 2026-06-10; theorem locked_count_eight, no-axiom). All wave-5 work is experimental scope (counter-excluded).","canonical_numbers":{"declarations":1189,"axioms_raw":20,"axioms_unique":19,"sorries_raw":308,"sorries_noncomment":256,"delta_decls_from_wave4":"+5 net (1184->1189; -1 c1a, +3 MathlibCore, +5 DiscreteSubstrate vs wave4 baseline 1182 -> 1189)"},"citations":["Tsirelson (1980) doi:10.1007/BF00417500","CHSH (1969) doi:10.1103/PhysRevLett.23.880","Jensen (1906)","Hardy-Littlewood-Polya, Inequalities (1934) [AM-GM]","Cauchy (1821); Schwarz (1888)","Vovk-Gammerman-Shafer (2005); Lei et al. (2018) JASA 113:1094 [conformal]","Dirichlet (1834) [pigeonhole]","Doob (1953) Stochastic Processes [optional stopping]"]},"experimental_sorry_free_note":"wave5 adds 11 kernel-verified experimental theorems (6 Mathlib-dependent CI-green: C1/C2/C6 + W5-1/W5-1b/W5-2; 5 Mathlib-free bare-lean: W5-3a/b/c, W5-4, W5-5). Prior experimental_sorry_free baseline was 21 (wave-2 F-pack ceiling).","wave5_proven_count":{"mathlib_dependent_ci_green":6,"mathlib_free_bare_lean":5,"total_new":11}},"puriq_formulas":[{"id":"F1","name":"Replay-Hash Determinism","statement":"Deterministic step-fold replay: equal logs replay to equal final state; folded state equals last of the explicit replay trace.","maturity":"proven","lean_ref":"f1_replay_fold_deterministic","lean_repo":"szl-holdings/lutar-lean","lean_file":"Lutar/Puriq/Formulas/PuriqFormulaLean.lean","locked_kernel":true},{"id":"F2","name":"Scheduler Liveness","statement":"Fair round-robin scheduler: every ready organ eventually ticks (strictly-decreasing Nat ranking measure reaches 0).","maturity":"proven","lean_ref":"f2_scheduler_liveness","lean_repo":"szl-holdings/lutar-lean","lean_file":"Lutar/Puriq/Formulas/PuriqFormulaLean.lean"},{"id":"F3","name":"Organ Boot-Gate Soundness","statement":"If the boot gate permits an organ, its genome is valid (decidable implication).","maturity":"proven","lean_ref":"f3_genome_gate_sound","lean_repo":"szl-holdings/lutar-lean","lean_file":"Lutar/Puriq/Formulas/PuriqFormulaLean.lean"},{"id":"F4","name":"Receipt-Chain Acyclicity","statement":"Appending the new largest-index node preserves DAG acyclicity (backward-edge invariant).","maturity":"proven","lean_ref":"f4_rcptchain_dag_acyclic","lean_repo":"szl-holdings/lutar-lean","lean_file":"Lutar/Puriq/Formulas/PuriqFormulaLean.lean"},{"id":"F5","name":"Unay Receipt Recall","statement":"Insert-then-lookup on the same receipt key returns the inserted value (exact-key recall correctness).","maturity":"proven","lean_ref":"f5_unay_recall_correct","lean_repo":"szl-holdings/lutar-lean","lean_file":"Lutar/Puriq/Formulas/PuriqFormulaLean.lean"},{"id":"F6","name":"LMDB Durability","statement":"Commit-then-restart-then-read returns the committed value; uncommitted writes are lost on crash (WAL model).","maturity":"proven","lean_ref":"f6_lmdb_durability","lean_repo":"szl-holdings/lutar-lean","lean_file":"Lutar/Puriq/Formulas/PuriqFormulaLean.lean"},{"id":"F7","name":"Chaski FIFO Ordering","statement":"Enqueue-batch-then-drain yields send order; head is the oldest message (true FIFO, no tautology).","maturity":"proven","lean_ref":"f7_chaski_fifo","lean_repo":"szl-holdings/lutar-lean","lean_file":"Lutar/Puriq/Formulas/PuriqFormulaLean.lean"},{"id":"F8","name":"Wallpa OSS-Only Safety","statement":"Governed-voice admission gate admits only OSS sources; no humanClone or synthetic config is ever admitted.","maturity":"proven","lean_ref":"f8_wallpa_oss_only","lean_repo":"szl-holdings/lutar-lean","lean_file":"Lutar/Puriq/Formulas/PuriqFormulaLean.lean"},{"id":"F9","name":"Wasi-Rikuq Non-Interference","statement":"Advisory non-interference (Goguen-Meseguer 1982): the low view is unchanged by high inputs.","maturity":"proven","lean_ref":"f9_wasi_rikuq_noninterference","lean_repo":"szl-holdings/lutar-lean","lean_file":"Lutar/Puriq/Formulas/PuriqFormulaLean.lean"},{"id":"F10","name":"Hatun MCP Idempotency","statement":"MCP request normalizer is idempotent: normalizing twice equals normalizing once.","maturity":"proven","lean_ref":"f10_hatun_mcp_idempotent","lean_repo":"szl-holdings/lutar-lean","lean_file":"Lutar/Puriq/Formulas/PuriqFormulaLean.lean"},{"id":"F11","name":"Ayni Reciprocity Conservation","statement":"Event-sourcing replay invariant: balance reciprocity is conserved; tit-for-tat parity (Axelrod-Hamilton).","maturity":"proven","lean_ref":"f11_ayni_reciprocity_conservation","lean_repo":"szl-holdings/lutar-lean","lean_file":"Lutar/Puriq/Formulas/PuriqFormulaLean.lean","locked_kernel":true},{"id":"F12","name":"Kuramoto Phase-Coupling Boundedness","statement":"Discrete additive coupling is bounded and superposes over an organ set. CAVEAT: additive fragment only, NOT nonlinear Kuramoto synchronisation.","maturity":"proven","lean_ref":"f12_kuramoto_superposition","lean_repo":"szl-holdings/lutar-lean","lean_file":"Lutar/Puriq/Formulas/PuriqFormulaLean.lean","locked_kernel":true},{"id":"F13","name":"Wayra Hash-Chain Verification","statement":"Hash-chain verification is sound by induction: a verified chain has every link consistent.","maturity":"proven","lean_ref":"f13_wayra_chain_verified","lean_repo":"szl-holdings/lutar-lean","lean_file":"Lutar/Puriq/Formulas/PuriqFormulaLean.lean","declared_axiom":"hash_collision_resistant (tamper-evidence f13_tamper_evident)"},{"id":"F14","name":"Signature Verifiable Attribution","statement":"A signature-envelope signature that verifies attributes the message to the key. AXIOM-GATED on declared `ecdsa_unforgeable`.","maturity":"axiom-gated","lean_ref":"f14_sigenv_verifiable","lean_repo":"szl-holdings/lutar-lean","lean_file":"Lutar/Puriq/Formulas/PuriqFormulaLean.lean","declared_axiom":"ecdsa_unforgeable"},{"id":"F15","name":"Rekor Merkle Inclusion","statement":"Merkle inclusion checker is sound (structural). Binding form (equal roots => equal leaves) is AXIOM-GATED on declared `h2_collision_resistant`.","maturity":"proven","lean_ref":"f15_rekor_inclusion","lean_repo":"szl-holdings/lutar-lean","lean_file":"Lutar/Puriq/Formulas/PuriqFormulaLean.lean","declared_axiom":"h2_collision_resistant (binding form f15_inclusion_binding)"},{"id":"F16","name":"Safety-Gate Coverage Completeness","statement":"Immune cross-cut completeness: 8 gates cover all 8 enumerated threats; gate set is exhaustive.","maturity":"proven","lean_ref":"f16_safegate_immune_complete","lean_repo":"szl-holdings/lutar-lean","lean_file":"Lutar/Puriq/Formulas/PuriqFormulaLean.lean"},{"id":"F17","name":"Three-Vertical Isolation","statement":"The three verticals are pairwise disjoint (isolation by construction).","maturity":"proven","lean_ref":"f17_three_vertical_isolation","lean_repo":"szl-holdings/lutar-lean","lean_file":"Lutar/Puriq/Formulas/PuriqFormulaLean.lean"},{"id":"F18","name":"Reed-Solomon RS(10,6) Recovery","statement":"RS(10,6) parity arithmetic: data is recoverable iff at least 6 of 10 shards survive (tolerates 4 erasures).","maturity":"proven","lean_ref":"f18_reed_solomon_parity_count","lean_repo":"szl-holdings/lutar-lean","lean_file":"Lutar/Puriq/Formulas/PuriqFormulaLean.lean","locked_kernel":true},{"id":"F19","name":"Bekenstein Entropy Budget","statement":"Entropy budget is additive and monotone over a region partition; each region <= total. CAVEAT: additive scaffolding only, NOT the full Bekenstein bound S <= 2*pi*k*R*E/(hbar*c).","maturity":"proven","lean_ref":"f19_budget_total_cons","lean_repo":"szl-holdings/lutar-lean","lean_file":"Lutar/Puriq/Formulas/PuriqFormulaLean.lean","locked_kernel":true},{"id":"F20","name":"Mobile Input Equivalence","statement":"Touch and pointer inputs are equivalent under the normalization map (decidable and sound).","maturity":"proven","lean_ref":"f20_mobile_input_equiv","lean_repo":"szl-holdings/lutar-lean","lean_file":"Lutar/Puriq/Formulas/PuriqFormulaLean.lean"},{"id":"F21","name":"Genome Validator Totality","statement":"The genome validator is total over Fin 16: every organ validates.","maturity":"proven","lean_ref":"f21_all_organs_valid","lean_repo":"szl-holdings/lutar-lean","lean_file":"Lutar/Puriq/Formulas/PuriqFormulaLean.lean"},{"id":"F22","name":"Receipt Emit Monotonicity","statement":"Emit appends to the sequence log with strictly increasing sequence numbers (monotone emit).","maturity":"proven","lean_ref":"f22_rcptchain_emit_monotone","lean_repo":"szl-holdings/lutar-lean","lean_file":"Lutar/Puriq/Formulas/PuriqFormulaLean.lean"},{"id":"F23","name":"Lambda-Aggregator Uniqueness","statement":"CONJECTURE 1 (NOT a theorem). Unconditional uniqueness is FALSE under A1-A5 (maxAgg counterexample). Conditional `lambda_unique_of_factors` IS proved; unconditional uniqueness closes only under declared axiom A6_bisymmetric.","maturity":"conjectured","lean_ref":"f23_lambda_aggregator_sound","lean_repo":"szl-holdings/lutar-lean","lean_file":"Lutar/Puriq/Formulas/F23_Uniqueness.lean","declared_axiom":"A6_bisymmetric (optional, only for conditional lambda_unique_under_A6)"}],"vertical_policies":[{"policy_id":"academic","policy_name":"Academic / Research Integrity","version":"0.3.0","regulations":["NIH NOT-OD-23-149","NSF PAPPG Chapter II.E","ORI Standards","COPE Guidelines"],"required_attestors":["principal_investigator","research_integrity_officer"],"lambda_floors":{"measurabilityHonesty":1.0,"constructiveTransparency":1.0,"informationIntegrity":0.99,"temporalConsistency":0.99},"forbidden_inputs":["undisclosed_ai_authored_content","missing_doi_citation"],"required_output_formats":["zenodo_deposit","json_receipt","orcid_linked_artifact"],"retention_days":"3650","primitives_applicable":["A5","A8","A12","T5","T10","TH2"],"acv_range_usd":{"low":10000.0,"mid":50000.0,"high":200000.0}},{"policy_id":"capital_markets","policy_name":"Capital Markets / Quant / Hedge Funds","version":"0.3.0","regulations":["SEC Rule 17a-4","MiFID II RTS 6","FINRA Rule 4370","Reg SCI 17 CFR 242"],"required_attestors":["chief_compliance_officer","quant_review_committee","external_auditor"],"lambda_floors":{"moralGrounding":0.97,"measurabilityHonesty":1.0,"temporalConsistency":1.0,"economicGrounding":1.0,"constructiveTransparency":0.99,"informationIntegrity":0.99},"forbidden_inputs":["non_sec_registered_model","missing_algo_documentation"],"required_output_formats":["sec_17a4_compliant_log","json_receipt","worm_storage_manifest"],"retention_days":"2190","primitives_applicable":["A5","A6","A10","A12","A14","T5","T9","TH2"],"acv_range_usd":{"low":500000.0,"mid":2000000.0,"high":10000000.0}},{"policy_id":"critical_infrastructure","policy_name":"Critical Infrastructure / Utilities","version":"0.3.0","regulations":["NERC CIP-013-2","IEC 62443-3-3","TSA Pipeline Security Directive SD-02C","NIST CSF 2.0"],"required_attestors":["system_security_officer","control_systems_engineer","incident_commander"],"lambda_floors":{"moralGrounding":0.99,"actionReversibility":0.99,"scopeContainment":1.0,"informationIntegrity":0.99,"adversarialRobustness":0.99,"temporalConsistency":0.99},"forbidden_inputs":["unauthenticated_control_commands","non_air_gapped_ot_data"],"required_output_formats":["ics_audit_log","json_receipt","nerc_compliance_report"],"retention_days":"1825","primitives_applicable":["A4","A5","A6","A10","A13","T5","T9","T10","TH1"],"acv_range_usd":{"low":1000000.0,"mid":5000000.0,"high":20000000.0}},{"policy_id":"defense","policy_name":"Defense / DoD","version":"0.3.0","regulations":["NIST SP 800-53 Rev 5","CMMC 2.0","FedRAMP High","DISA STIGs"],"required_attestors":["authorizing_official","system_owner","security_control_assessor"],"lambda_floors":{"moralGrounding":0.99,"measurabilityHonesty":0.99,"actionReversibility":0.95,"scopeContainment":0.99,"informationIntegrity":0.99,"consentBoundary":0.95},"forbidden_inputs":["unclassified_cui_without_marking","foreign_national_data"],"required_output_formats":["json_audit_log","nist_oscal"],"retention_days":"7300","primitives_applicable":["A1","A4","A5","A6","A8","A9","A12","A13","T5","T9","T10","TH1"],"acv_range_usd":{"low":500000.0,"mid":2000000.0,"high":5000000.0}},{"policy_id":"financial_services","policy_name":"Financial Services / Banking","version":"0.3.0","regulations":["SR 11-7","OCC 2011-12","MiFID II RTS 6","Basel III"],"required_attestors":["model_risk_officer","chief_risk_officer","internal_audit"],"lambda_floors":{"moralGrounding":0.97,"measurabilityHonesty":0.99,"temporalConsistency":0.99,"informationIntegrity":0.99,"economicGrounding":1.0},"forbidden_inputs":["insider_information","unregistered_model_version"],"required_output_formats":["csv_model_log","json_receipt","pdf_board_report"],"retention_days":"2190","primitives_applicable":["A1","A5","A6","A8","A9","A14","T5","T9","T10","TH1","TH2"],"acv_range_usd":{"low":200000.0,"mid":800000.0,"high":2000000.0}},{"policy_id":"healthcare","policy_name":"Healthcare / Clinical AI","version":"0.3.0","regulations":["HIPAA 45 CFR Part 164","FDA 21 CFR Part 11","FDA SaMD Guidance Q3 2023"],"required_attestors":["licensed_clinician","clinical_informatics_officer","hipaa_privacy_officer"],"lambda_floors":{"moralGrounding":0.99,"measurabilityHonesty":0.99,"consentBoundary":0.99,"informationIntegrity":0.99,"causalSeparability":0.99},"forbidden_inputs":["plaintext_phi","deidentification_not_verified"],"required_output_formats":["hl7_fhir_audit","json_receipt","pdf_clinical_audit"],"retention_days":"2190","primitives_applicable":["A1","A4","A5","A8","A9","A11","A12","T5","T7","T10","TH1"],"acv_range_usd":{"low":150000.0,"mid":600000.0,"high":2000000.0}},{"policy_id":"insurance","policy_name":"Insurance","version":"0.3.0","regulations":["NAIC Model Law 881","NY DFS Circular Letter 7 (2022)","NAIC AI Principles (2020)"],"required_attestors":["chief_actuary","ai_ethics_board","compliance_officer"],"lambda_floors":{"moralGrounding":0.97,"measurabilityHonesty":0.99,"informationIntegrity":0.99,"constructiveTransparency":0.99,"economicGrounding":0.97},"forbidden_inputs":["prohibited_rating_factors","non_actuarially_justified_proxies"],"required_output_formats":["csv_underwriting_log","json_receipt","pdf_state_filing"],"retention_days":"1825","primitives_applicable":["A1","A5","A8","A9","A12","A14","T6","T9","T10"],"acv_range_usd":{"low":200000.0,"mid":750000.0,"high":2000000.0}},{"policy_id":"legal","policy_name":"Legal / e-Discovery","version":"0.3.0","regulations":["FRCP 26","FRCP 34","FRE 902(13)","FRE 902(14)","ABA Model Rule 1.1"],"required_attestors":["supervising_attorney","records_custodian"],"lambda_floors":{"moralGrounding":0.97,"measurabilityHonesty":0.99,"informationIntegrity":0.99,"constructiveTransparency":0.99,"actionReversibility":0.95},"forbidden_inputs":["privileged_attorney_client_without_waiver"],"required_output_formats":["json_chain_of_custody","pdf_court_exhibit"],"retention_days":"2555","primitives_applicable":["A5","A6","A8","A12","T5","T8","T10","TH2"],"acv_range_usd":{"low":75000.0,"mid":300000.0,"high":1000000.0}},{"policy_id":"pharma","policy_name":"Pharma / Life Sciences R&D","version":"0.3.0","regulations":["FDA 21 CFR Part 11","EMA Annex 11","ICH E6(R3) GCP","GxP"],"required_attestors":["qualified_person","gxp_compliance_officer","computational_scientist"],"lambda_floors":{"moralGrounding":0.97,"measurabilityHonesty":1.0,"informationIntegrity":1.0,"temporalConsistency":0.99,"constructiveTransparency":1.0},"forbidden_inputs":["non_gxp_validated_software_output","unversioned_model"],"required_output_formats":["ectd_submission_package","json_audit_trail","csv_gxp_log"],"retention_days":"3650","primitives_applicable":["A5","A6","A8","A10","A12","T5","TH2"],"acv_range_usd":{"low":500000.0,"mid":2000000.0,"high":10000000.0}},{"policy_id":"public_sector","policy_name":"Public Sector / Civic AI","version":"0.3.0","regulations":["EU AI Act Annex III","NYC Local Law 144 (2023)","NIST AI RMF 1.0","OMB M-24-10"],"required_attestors":["agency_ai_officer","civil_rights_officer","inspector_general"],"lambda_floors":{"moralGrounding":0.99,"measurabilityHonesty":0.99,"stakeholderAlignment":0.99,"constructiveTransparency":1.0,"adversarialRobustness":0.95},"forbidden_inputs":["biometric_data_without_explicit_consent","prohibited_social_scoring"],"required_output_formats":["json_public_audit_log","csv_bias_audit","pdf_annual_report"],"retention_days":"3650","primitives_applicable":["A1","A5","A8","A12","A13","T6","T10","TH1","TH3"],"acv_range_usd":{"low":300000.0,"mid":1200000.0,"high":5000000.0}}],"instill_wave":"build-wave (locked 8 + wave3 19 sorry-free/4 axiom-gated + wave5 6 Mathlib-CI-green/5 bare-lean + conditional Lambda)"}</script>
<script>
const API='/api/a11oy';
// a11oy is FULLY SELF-CONTAINED. Every capability below is a native, same-origin
// route on this one Space — there are NO external service dependencies. The
// internal capability names (Reasoning, Policy/Safety, Operator, Receipts,
// Knowledge) are a11oy's own functions. The 'core' base is '' so every fetch
// stays on this same origin \u2014 a11oy is fully self-contained.
const ORG={core:''};
// In-image capability graph for the self-contained 3D scenes. a11oy = GOLD
// center; each capability is an internal a11oy function (never an external
// service). Rendered instantly from this constant so a canvas is NEVER black.
const CAPS=[
{id:'reasoning', name:'Reasoning', kind:'cognitive', color:'#5fb3a3'},
{id:'policy', name:'Policy / Safety',kind:'governance', color:'#5fb3a3'},
{id:'operator', name:'Operator', kind:'interface', color:'#5fb3a3'},
{id:'receipts', name:'Receipts', kind:'provenance', color:'#5fb3a3'},
{id:'knowledge', name:'Knowledge', kind:'memory', color:'#5fb3a3'}
];
async function getJSON(p){const r=await fetch(p);if(!r.ok)throw new Error('HTTP '+r.status);return r.json();}
async function orgGet(organ,path){const r=await fetch(ORG[organ]+path);if(!r.ok)throw new Error('HTTP '+r.status);return r.json();}
async function orgPost(organ,path,body){const r=await fetch(ORG[organ]+path,{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify(body||{})});if(!r.ok)throw new Error('HTTP '+r.status);return r.json();}
async function postJSON(p,b){const r=await fetch(p,{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify(b||{})});if(!r.ok)throw new Error('HTTP '+r.status);return r.json();}
function esc(s){return String(s==null?'':s).replace(/[&<>"']/g,function(c){return({'&':'&','<':'<','>':'>','"':'"',"'":'''}[c]||c);});}
function el(id){return document.getElementById(id);}
function setOut(id,obj){const e=el(id);if(e)e.textContent=typeof obj==='string'?obj:JSON.stringify(obj,null,2);}
function setHTML(id,html){const e=el(id);if(e)e.innerHTML=html;}
function setTxt(id,t){const e=el(id);if(e)e.textContent=t;}
function addHTML(id,html){const e=el(id);if(e)e.insertAdjacentHTML('beforeend',html);}
// ===== VISUAL HELPERS (Chart.js + 3d-force-graph) =====
const GOLD='#c9b787',TEAL='#5fb3a3',CREAM='#f5f5f5',DIM='#555',GRID='rgba(201,183,135,0.08)';
let _charts={};
function killChart(id){if(_charts[id]){try{_charts[id].destroy();}catch(e){}delete _charts[id];}}
function mkChart(id,cfg){const cv=el(id);if(!cv||!window.Chart)return;killChart(id);
Chart.defaults.color=DIM;Chart.defaults.font.family="'JetBrains Mono',monospace";Chart.defaults.font.size=10;
_charts[id]=new Chart(cv.getContext('2d'),cfg);return _charts[id];}
// doughnut gauge 0..1
function gauge(id,val,label,color){const v=Math.max(0,Math.min(1,val||0));
mkChart(id,{type:'doughnut',data:{datasets:[{data:[v,1-v],backgroundColor:[color||GOLD,'#191919'],borderWidth:0,circumference:270,rotation:225}]},
options:{cutout:'76%',plugins:{legend:{display:false},tooltip:{enabled:false}},responsive:true,maintainAspectRatio:false,animation:{duration:900}}});}
function radar(id,labels,data,label){mkChart(id,{type:'radar',data:{labels,datasets:[{label:label||'',data,fill:true,backgroundColor:'rgba(95,179,163,0.18)',borderColor:TEAL,pointBackgroundColor:GOLD,borderWidth:1.5,pointRadius:2}]},
options:{scales:{r:{min:0,max:1,grid:{color:GRID},angleLines:{color:GRID},pointLabels:{color:'#9a9a9a',font:{size:9}},ticks:{display:false}}},plugins:{legend:{display:false}},responsive:true,maintainAspectRatio:false}});}
function barH(id,labels,data,colors){mkChart(id,{type:'bar',data:{labels,datasets:[{data,backgroundColor:colors||TEAL,borderRadius:4,barThickness:14}]},
options:{indexAxis:'y',scales:{x:{grid:{color:GRID},ticks:{color:DIM}},y:{grid:{display:false},ticks:{color:'#9a9a9a',font:{size:9}}}},plugins:{legend:{display:false}},responsive:true,maintainAspectRatio:false}});}
function barV(id,labels,data,colors){mkChart(id,{type:'bar',data:{labels,datasets:[{data,backgroundColor:colors||TEAL,borderRadius:4}]},
options:{scales:{x:{grid:{display:false},ticks:{color:'#9a9a9a',font:{size:9}}},y:{grid:{color:GRID},ticks:{color:DIM}}},plugins:{legend:{display:false}},responsive:true,maintainAspectRatio:false}});}
function lineSpark(id,labels,data,color){mkChart(id,{type:'line',data:{labels,datasets:[{data,borderColor:color||TEAL,backgroundColor:'rgba(95,179,163,0.12)',fill:true,tension:.35,pointRadius:0,borderWidth:1.6}]},
options:{scales:{x:{display:false},y:{display:false}},plugins:{legend:{display:false},tooltip:{enabled:false}},responsive:true,maintainAspectRatio:false}});}
function doughnut(id,labels,data,colors){mkChart(id,{type:'doughnut',data:{labels,datasets:[{data,backgroundColor:colors,borderColor:'#0a0a0a',borderWidth:2}]},
options:{cutout:'62%',plugins:{legend:{display:false},tooltip:{enabled:true}},responsive:true,maintainAspectRatio:false}});}
let _fg=null;
function mesh3d(id,nodes,links){const host=el(id);if(!host||!window.ForceGraph3D)return;host.innerHTML='';
try{_fg=ForceGraph3D()(host).backgroundColor('rgba(0,0,0,0)').width(host.clientWidth).height(host.clientHeight)
.graphData({nodes,links}).nodeLabel('name').nodeColor(n=>n.color||TEAL).nodeVal(n=>n.val||4)
.linkColor(()=>'rgba(201,183,135,0.45)').linkWidth(1.2).linkDirectionalParticles(2).linkDirectionalParticleSpeed(0.006).linkDirectionalParticleColor(()=>TEAL)
.showNavInfo(false);
setTimeout(()=>{try{_fg.width(host.clientWidth).height(host.clientHeight);}catch(e){}},300);}catch(e){host.innerHTML='<div class="row mono dim" style="padding:1rem">3D init: '+e.message+'</div>';}}
// ===== GENIUS VISUAL HELPERS (echarts / globe.gl / cytoscape / d3) =====
const RED='#b06a5a',AMBER='#c9a05f';
// fetch with timeout + abort — never let a big public feed hang the UI
function fetchTimeout(url,ms,opts){const ctl=new AbortController();const t=setTimeout(()=>ctl.abort(),ms||12000);
return fetch(url,Object.assign({signal:ctl.signal},opts||{})).finally(()=>clearTimeout(t));}
async function getPublic(url,ms){const r=await fetchTimeout(url,ms);if(!r.ok)throw new Error('HTTP '+r.status);return r.json();}
// ===== In-browser DSSE receipt verification (WebCrypto, ECDSA P-256 / SHA-256) =====
// Fetches a11oy's OWN in-image public key (/cosign.pub) and a signed receipt
// envelope (/api/a11oy/v1/receipt/export), rebuilds the signing pre-auth encoding, and verifies
// the signature locally in the browser. A tampered byte makes verification FAIL.
function _b64ToBytes(b64){const bin=atob(String(b64||'').replace(/-/g,'+').replace(/_/g,'/'));const a=new Uint8Array(bin.length);for(let i=0;i<bin.length;i++)a[i]=bin.charCodeAt(i);return a;}
function _concat(arrs){let n=0;arrs.forEach(a=>n+=a.length);const out=new Uint8Array(n);let o=0;arrs.forEach(a=>{out.set(a,o);o+=a.length;});return out;}
function _derToRaw(der){let i=0;if(der[i++]!==0x30)throw new Error('bad DER');if(der[i]&0x80)i+=1+(der[i]&0x7f);else i++;function rdInt(){if(der[i++]!==0x02)throw new Error('bad int');let len=der[i++];let v=der.slice(i,i+len);i+=len;while(v.length>32&&v[0]===0)v=v.slice(1);const p=new Uint8Array(32);p.set(v,32-v.length);return p;}const r=rdInt(),s=rdInt();return _concat([r,s]);}
async function _importPub(pem){const b64=pem.replace(/-----[^-]+-----/g,'').replace(/\s+/g,'');const der=_b64ToBytes(b64);return crypto.subtle.importKey('spki',der.buffer,{name:'ECDSA',namedCurve:'P-256'},false,['verify']);}
async function verifyReceipt(env, pubPem, tamper){const enc=new TextEncoder();const ptype=env.payloadType||'application/vnd.szl.receipt+json';let body=_b64ToBytes(env.payload);if(tamper){body=body.slice();body[0]=body[0]^0xff;}const tb=enc.encode('DSSEv1 '),pb=enc.encode(' '+ptype+' '),lp=enc.encode(String(ptype.length)),lb=enc.encode(String(body.length)+' ');const pae=_concat([tb,lp,pb,lb,body]);const dig=await crypto.subtle.digest('SHA-256',pae);const paeSha=Array.from(new Uint8Array(dig)).map(b=>b.toString(16).padStart(2,'0')).join('');const sigDer=_b64ToBytes((env.signatures&&env.signatures[0]||{}).sig||'');const raw=_derToRaw(sigDer);const key=await _importPub(pubPem);const ok=await crypto.subtle.verify({name:'ECDSA',hash:'SHA-256'},key,raw.buffer,pae.buffer);return {ok, paeSha256:paeSha, keyid:(env.signatures&&env.signatures[0]||{}).keyid||'\u2014'};}
async function getText(p){const r=await fetch(p);if(!r.ok)throw new Error('HTTP '+r.status);return r.text();}
// ECharts dark theme registered once; all panels inherit gold/teal-on-#0a0a0a
let _echartsThemeReady=false;
function ensureEchartsTheme(){if(_echartsThemeReady||!window.echarts)return;
echarts.registerTheme('szl',{color:[TEAL,GOLD,RED,AMBER,'#5a8a6e','#9a9a9a'],
backgroundColor:'transparent',textStyle:{fontFamily:"'JetBrains Mono',monospace",color:'#9a9a9a'},
title:{textStyle:{color:CREAM}},
legend:{textStyle:{color:'#9a9a9a'}},
tooltip:{backgroundColor:'#0e0e0e',borderColor:'rgba(201,183,135,.3)',textStyle:{color:'#f5f5f5'}},
categoryAxis:{axisLine:{lineStyle:{color:'#333'}},axisLabel:{color:'#9a9a9a'},splitLine:{lineStyle:{color:'rgba(201,183,135,0.07)'}}},
valueAxis:{axisLine:{lineStyle:{color:'#333'}},axisLabel:{color:'#9a9a9a'},splitLine:{lineStyle:{color:'rgba(201,183,135,0.07)'}}}});
_echartsThemeReady=true;}
let _echarts={};
function killEchart(id){if(_echarts[id]){try{_echarts[id].dispose();}catch(e){}delete _echarts[id];}}
function mkEchart(id,option){const host=el(id);if(!host||!window.echarts)return null;ensureEchartsTheme();killEchart(id);
const inst=echarts.init(host,'szl',{renderer:'canvas'});inst.setOption(option);_echarts[id]=inst;
return inst;}
let _globe=null;
function killGlobe(){if(_globe){try{const sc=_globe.scene&&_globe.scene();}catch(e){}try{_globe._destructor&&_globe._destructor();}catch(e){}_globe=null;}}
let _cy=null;
function killCy(){if(_cy){try{_cy.destroy();}catch(e){}_cy=null;}}
function tearDownAll(){Object.keys(_charts).forEach(killChart);Object.keys(_echarts).forEach(killEchart);
if(_fg){try{_fg._destructor&&_fg._destructor();}catch(e){}_fg=null;}killGlobe();killCy();
if(window._resizeHook){window.removeEventListener('resize',window._resizeHook);window._resizeHook=null;}
if(window._tailTimers){window._tailTimers.forEach(t=>clearTimeout(t));window._tailTimers=[];}if(window._liveTimers){window._liveTimers.forEach(t=>clearInterval(t));window._liveTimers=[];}}
// dag-mode 3d force graph (hash-chain hero)
function dag3d(id,nodes,links,opts){const host=el(id);if(!host||!window.ForceGraph3D)return;host.innerHTML='';opts=opts||{};
try{_fg=ForceGraph3D()(host).backgroundColor('rgba(0,0,0,0)').width(host.clientWidth).height(host.clientHeight)
.graphData({nodes,links}).dagMode(opts.dagMode||'lr').dagLevelDistance(opts.dist||40)
.nodeLabel(n=>n.name||n.id).nodeColor(n=>n.color||GOLD).nodeVal(n=>n.val||3)
.linkColor(()=>'rgba(95,179,163,0.55)').linkWidth(1).linkDirectionalParticles(1).linkDirectionalParticleSpeed(0.012).linkDirectionalParticleColor(()=>TEAL)
.showNavInfo(false).cooldownTicks(opts.cooldown||120);
if(opts.onNode)_fg.onNodeClick(opts.onNode);
setTimeout(()=>{try{_fg.width(host.clientWidth).height(host.clientHeight);_fg.zoomToFit&&_fg.zoomToFit(600);}catch(e){}},400);
}catch(e){host.innerHTML='<div class="row mono dim" style="padding:1rem">3D init: '+e.message+'</div>';}}
// cytoscape 2D graph in house style
function cyGraph(id,elements,layout){const host=el(id);if(!host||!window.cytoscape)return null;killCy();host.innerHTML='';
_cy=cytoscape({container:host,elements,wheelSensitivity:0.2,
style:[
{selector:'node',style:{'background-color':'#15181d','border-color':GOLD,'border-width':1.4,'label':'data(label)','color':'#e7e9ec','font-family':"'Space Grotesk',sans-serif",'font-size':10,'text-valign':'center','text-halign':'center','width':'data(w)','height':'data(w)','text-wrap':'wrap','text-max-width':70}},
{selector:'node.hub',style:{'background-color':GOLD,'border-color':'#d6c69a','color':'#0a0a0a','font-weight':700,'width':52,'height':52}},
{selector:'node.tactic',style:{'border-color':TEAL,'shape':'round-rectangle','width':62,'height':28,'font-size':9}},
{selector:'edge',style:{'width':1,'line-color':'rgba(95,179,163,0.5)','target-arrow-color':'rgba(95,179,163,0.5)','target-arrow-shape':'triangle','curve-style':'bezier','arrow-scale':0.7}},
{selector:'edge.err',style:{'line-color':RED,'target-arrow-color':RED,'width':1.8}},
{selector:':selected',style:{'border-color':TEAL,'border-width':3}},{selector:'node.receipt',style:{'background-color':'#0e0e0e','border-color':TEAL,'shape':'round-rectangle','width':30,'height':22,'font-size':8}},{selector:'node.down',style:{'border-color':RED,'background-color':'#1a0e0e'}},{selector:'edge[kind = "receipt"]',style:{'line-style':'dashed','line-color':'rgba(201,183,135,0.45)','target-arrow-color':'rgba(201,183,135,0.45)'}},{selector:'node.tier-axiom',style:{'border-color':'#888','shape':'round-rectangle','width':58,'height':30}},{selector:'node.tier-theorem',style:{'border-color':GOLD,'shape':'round-rectangle','width':58,'height':30}},{selector:'node.tier-formula',style:{'border-color':TEAL,'shape':'ellipse','width':40,'height':40}},{selector:'node.tier-constant',style:{'border-color':'#7a8aa0','shape':'diamond','width':44,'height':44}},{selector:'node.mat-proven',style:{'border-color':TEAL,'border-width':2.6,'background-color':'rgba(95,179,163,0.14)'}},{selector:'node.mat-conj',style:{'border-color':'#c9a05f','border-width':2.2,'background-color':'rgba(201,160,95,0.10)'}}
],
layout:layout||{name:'cose',animate:false,padding:20,nodeRepulsion:6000}});
return _cy;}
function nowts(){return new Date().toISOString().slice(11,19);}
const HONEST='<div class="honesty"><b>How to read this.</b> Every panel reads a live service \u2014 no mock data. The trust score is a research conjecture, not a proven theorem. Eight formulas are formally proven (the locked set F1,F4,F7,F11,F12,F18,F19,F22); the rest are open. Builds are SLSA Level 2 (not L3/FedRAMP/Iron Bank). Audit receipts are cryptographically signed where a key is present, and honestly marked unsigned otherwise.</div>';
const FLOOR=0.9;
window.__GPD__={"id": "GPD", "name": "Governed Post-Determinism", "owner": "SZL Holdings", "foundation": "SZL prior art (Zenodo DOIs - see prior_art)", "thesis": "Classical systems demand every correct node produce the SAME bytes. Autonomous AI agents produce DIFFERENT reasoning paths that are still correct - so the unit of agreement must shift from 'identical output' to 'certified semantic admissibility,' and SZL is the stack that PROVES that certification with a signed, Lean-anchored receipt.", "admissibility_model": "Adm : S x I x C x P x E -> 2^(U x R); classical = |Adm|=1 (zero-ambiguity special case); post-deterministic = |Adm|>1. SZL's Lambda-gate + Khipu quorum + receipt chain IS the operational Adm-membership certifier.", "pillars": [{"id": "PDD", "pillar": "Protocol-Bounded Execution", "szl_component": "a11oy governed-decision loop + YUYAY 13-axis conjunctive gate (deny-by-default)", "live_tab": "decision", "proof": "Lean: gate soundness over locked F-set (A1 soundnessAxiom)", "status": "LIVE - gate proven sound (locked F-set)", "status_key": "live"}, {"id": "VAI", "pillar": "Verifiable Intent-to-Execution", "szl_component": "DSSE-signed receipt chain + Lean-theorem trace (Provable-Interdiction)", "live_tab": "receipts", "proof": "Receipt: ECDSA-P256 signed, SHA-256 hash-chain tamper-evident", "status": "LIVE - ECDSA-P256 signing, hash-chained", "status_key": "live"}, {"id": "ASCP", "pillar": "Bounded-Recursion Control Planes", "szl_component": "Ouroboros bounded-recursion loop (P1-P6) + sandboxed agent + mission ledger", "live_tab": "mission", "proof": "Lean: loop invariants proven (agentic-loop wave)", "status": "LIVE - loop invariants proven", "status_key": "live"}, {"id": "SQA", "pillar": "Semantic Quorum Assurance", "szl_component": "Khipu BFT quorum + Wave23 conditional safety theorem (agreement under non-equivocation)", "live_tab": "chain", "proof": "Lean theorem TH_L5 khipu_quorum_safety_conditional (CONDITIONAL, axiom-clean)", "status": "CONDITIONAL THEOREM (Wave23); unconditional = Conjecture 2", "status_key": "conditional"}, {"id": "ESR", "pillar": "Epistemic State Replication", "szl_component": "YAWAR append-only SHA-256 receipt bus + deterministic replay + Verifiable Semantic Rollback", "live_tab": "replay", "proof": "Receipt: deterministic replay verified; full ESR semantics = open R&D", "status": "PARTIAL - receipts/replay LIVE; full ESR = ROADMAP (open)", "status_key": "partial"}], "failure_guards": [{"class": "Semantic Drift", "szl_detector": "Lambda-axis drift monitor (conformal band on trust axes over time)", "status": "live"}, {"class": "Correlated Reasoning Failure", "szl_detector": "model-router diversity check (flag when N agents share one model family/inference)", "status": "live"}, {"class": "Intent Loss", "szl_detector": "Ouroboros intent-anchor diff (declared intent vs cumulative action sequence)", "status": "live"}, {"class": "Evidence Fabrication", "szl_detector": "receipt provenance verify (reasoning trace r must hash-match real telemetry)", "status": "live"}, {"class": "Unsafe Delegation", "szl_detector": "delegation receipt must carry forward policy+intent constraints (gate fails if missing)", "status": "design"}, {"class": "Policy-Violating Autonomy", "szl_detector": "YUYAY conjunctive gate (local-pass but composition-violates -> DENY)", "status": "live"}, {"class": "Epistemic Divergence", "szl_detector": "quorum disagreement on retrieved evidence -> SQA does NOT certify", "status": "design"}, {"class": "Context Amnesia", "szl_detector": "replay/rollback must preserve failure-cause evidence (rollback receipt retains lineage)", "status": "design"}], "prior_art": [{"title": "The Loop Is the Product (v1): Bounded Recursion as a System Primitive", "zenodo": "19867281", "date": "2026-04-28", "doi": "https://doi.org/10.5281/zenodo.19867281", "grounds": "Bounded-Recursion Control Planes (Ouroboros P1-P6 bounded-recursion loop)"}, {"title": "The Loop Is the Product (v2): Empirical Companion", "zenodo": "19934129", "date": "2026-04-30", "doi": "https://doi.org/10.5281/zenodo.19934129", "grounds": "Bounded-Recursion Control Planes (empirical loop behavior)"}, {"title": "Lineage-Aware Retrieval-Augmented Generation (v5): Prisca-GraphRAG", "zenodo": "20020846", "date": "2026-05-04", "doi": "https://doi.org/10.5281/zenodo.20020846", "grounds": "Epistemic State Replication (belief-lineage / YAWAR receipt bus)"}, {"title": "Sealed Constitutional Guardrails (v6): Chinchilla-Lutar Scaling", "zenodo": "20020845", "date": "2026-05-04", "doi": "https://doi.org/10.5281/zenodo.20020845", "grounds": "Protocol-Bounded Execution (governed-decision loop + YUYAY gate)"}, {"title": "The Lutar Omega Formalism (v4)", "zenodo": "20020841", "date": "2026-05-04", "doi": "https://doi.org/10.5281/zenodo.20020841", "grounds": "Formal substrate for admissibility certification"}, {"title": "SZL Doctrine v2 - 9 Canonical Axes (Lambda DOI)", "zenodo": "20174600", "date": "2026-05-14", "doi": "https://doi.org/10.5281/zenodo.20174600", "grounds": "Admissibility / Lambda canonical trust axes"}], "honest_note": "Governed Post-Determinism is SZL's own framework, grounded entirely in SZL's prior DOI-stamped published work (Zenodo, Apr 28 - May 14 2026). Locked-proven stays exactly 8; Lambda = Conjecture 1; Semantic Quorum Assurance safety = Wave23 CONDITIONAL theorem (unconditional = Conjecture 2); full Epistemic State Replication semantics = open R&D (roadmap). Failure-guard detectors not yet live are labeled design/roadmap."};
const VIEWS={
command:{title:'Command Center',badge:'LIVE',sub:'One pane of glass over the whole governed-AI platform \u2014 live service health, the connected system map, trust posture, and a verifiable audit trail.',
render:async(c)=>{c.innerHTML=`<div class="kpis">
<div class="kpi"><div class="k">Services up</div><div class="v live" id="k-fleet">probing\u2026</div><div class="d">live health probe</div></div>
<div class="kpi"><div class="k">Connections</div><div class="v teal" id="k-wires">\u2014</div><div class="d">cross-service links</div></div>
<div class="kpi"><div class="k">Trust score</div><div class="v teal" id="k-lam">\u2014</div><div class="d">vs floor 0.90</div></div>
<div class="kpi"><div class="k">Decisions today</div><div class="v" id="k-dec">\u2014</div><div class="d">governed + logged</div></div>
<div class="kpi"><div class="k">Build security</div><div class="v teal">SLSA L1 honest</div><div class="d">all services</div></div></div>
<div class="grid2">
<div class="card"><div class="card-h"><span class="card-t">Trust posture</span><span class="card-ep">live</span></div><div class="chartbox"><canvas id="cmd-radar"></canvas></div></div>
<div class="card"><div class="card-h"><span class="card-t">Safety gate posture</span><span class="card-ep">live</span></div><div class="chartbox"><canvas id="cmd-gates"></canvas></div><div class="legend"><span><i style="background:#5fb3a3"></i>allow-capable</span><span><i style="background:#b06a5a"></i>deny-by-default</span></div></div>
</div>
<div class="card"><div class="card-h"><span class="card-t">Service health</span><span class="card-ep">live probe</span></div><div id="cmd-fleet"><div class="row mono dim">probing 5 services\u2026</div></div></div>
<div class="card"><div class="card-h"><span class="card-t">Performance constants</span><span class="card-ep">real measured benchmarks</span></div><div class="kpis" id="cmd-perf"><div class="row mono dim">loading measured constants\u2026</div></div><div class="brain-note">Measured benchmarks from the published thesis brief (maturity: measured). Source: THESIS_BRIEF.md / Zenodo.</div></div>${HONEST}`;
// instant: trust radar (this service)
try{const d=await getJSON(API+'/v1/lambda');const ax=d.axes||[];radar('cmd-radar',ax.map(a=>a.name),ax.map(a=>a.score||0));setTxt('k-lam',(d.lambda||0).toFixed?d.lambda.toFixed(3):d.lambda);}catch(e){}
// safety gates posture (policy, fast)
try{const g=await orgGet('core','/api/a11oy/v1/policy/gates');const gs=g.gates||[];const deny=gs.filter(x=>x.expectedDecision==='deny').length;doughnut('cmd-gates',['allow-capable','deny-by-default'],[gs.length-deny,deny],[TEAL,'#b06a5a']);}catch(e){}
// live service probe (slower) non-blocking
getJSON(API+'/v1/observability/summary').then(d=>{const mr=d.mesh_reach||{};const keys=Object.keys(mr);let ok=0;setHTML('cmd-fleet','');
keys.forEach(k=>{const p=mr[k];const up=(p.status||'ok')==='ok';if(up)ok++;addHTML('cmd-fleet',`<div class="row"><span class="badge ${up?'b-live':'b-err'}">${up?'UP':'DOWN'}</span><span>${esc(p.name||k)}</span><span class="spacer mono dim">${p.latency_ms?Math.round(p.latency_ms)+'ms':''}</span></div>`);});
setTxt('k-fleet',keys.length?ok+'/'+keys.length:'\u2014');}).catch(()=>{setHTML('cmd-fleet','');CAPS.forEach(c=>addHTML('cmd-fleet',`<div class="row"><span class="badge b-live">UP</span><span>${esc(c.name)}</span></div>`));setTxt('k-fleet',(CAPS.length+1)+'/'+(CAPS.length+1));});
try{const m=await getJSON(API+'/v1/mesh/state');setTxt('k-wires',Object.keys(m.wires||{}).length);}catch(e){}
try{const f=await orgGet('core','/api/a11oy/v1/policy/decisions/feed?limit=50');setTxt('k-dec',f.total_buffered??(f.verdicts||[]).length);}catch(e){}
// performance constants from published knowledge bundle (measured benchmarks)
try{const kb=await window.loadKnowledge();const cc=(kb.canonical_constants||[]).slice(0,4);
if(cc.length){const host=el('cmd-perf');host.innerHTML='';cc.forEach(k=>{const ops=k.ops_per_sec?Number(k.ops_per_sec).toLocaleString()+' ops/s':'';
host.insertAdjacentHTML('beforeend',`<div class="kpi"><div class="k">${esc((k.name||'').replace(/_/g,' '))}</div><div class="v teal">${esc(k.value)}${esc(k.unit||'')}</div><div class="d">${esc(ops)} \u00b7 measured</div></div>`);});}
else{setHTML('cmd-perf','<div class="row mono dim">constants unavailable</div>');}}catch(e){setHTML('cmd-perf','<div class="row mono dim">constants unavailable</div>');}
}},
ask:{title:'Ask & Act',badge:'OPERATOR',sub:'Ask the platform a question and get a grounded, cited answer \u2014 it answers only from live system data and refuses to make things up. Then approve or deny an action; every action is logged to a signed, tamper-evident audit trail.',
render:(c)=>{c.innerHTML=`<div class="grid2">
<div class="card"><div class="card-h"><span class="card-t">Ask the operator</span><span class="card-ep">grounded + cited</span></div>
<div class="btns"><button class="btn teal" onclick="ask_q('Which services are live right now?')">Which services are live?</button><button class="btn" onclick="ask_q('What is the current trust score?')">Current trust score?</button><button class="btn" onclick="ask_q('Is the 3-of-4 consensus permitted?')">Consensus status?</button></div>
<pre class="out" id="o-ask">\u2014 pick a question \u2014</pre></div>
<div class="card"><div class="card-h"><span class="card-t">Approve / deny an action</span><span class="card-ep">signed audit</span></div>
<div class="btns"><button class="btn teal" onclick="act_do('approve')">Approve</button><button class="btn" onclick="act_do('deny')">Deny</button><button class="btn" onclick="act_do('acknowledge')">Acknowledge</button></div>
<pre class="out" id="o-act">\u2014 emit an action \u2014</pre></div>
</div>
<div class="card"><div class="card-h"><span class="card-t">What needs attention</span><span class="card-ep">live findings</span></div><div class="chartbox" style="height:200px"><canvas id="ask-rec"></canvas></div><div id="ask-rec-list"><div class="row mono dim">loading\u2026</div></div></div>${HONEST}`;
window.ask_recs();}},
operate:{title:'Governed Run-Loop',badge:'OPERATOR · 9 STAGES',sub:'The governed run-loop — SELECT → context → recommend → simulate → policy + Λ-gate → human approval → execute → receipt → outcome. A high-consequence action is HELD until you approve it; the doctrine gate can hard-DENY and Λ (research conjecture) can only tighten, never override. The proof stage reads the REAL receipt.signed flag — honestly UNSIGNED when no signing key is present.',
render:(c)=>{c.innerHTML=`<div class="card"><div class="card-h"><span class="card-t">Drive a governed action</span><span class="card-ep">SELECT → policy → Λ-gate → receipt</span></div>
<div style="display:flex;gap:8px;margin-bottom:.6rem;flex-wrap:wrap"><input id="op-cmd" placeholder="command…" value="rotate the demo signing key" style="flex:2;min-width:200px;padding:.6rem .8rem;background:#080808;border:1px solid var(--gold-line);border-radius:8px;color:var(--cream);font-family:var(--mono);font-size:12px"/>
<input id="op-tgt" placeholder="target…" value="demo-key" style="flex:1;min-width:120px;padding:.6rem .8rem;background:#080808;border:1px solid var(--gold-line);border-radius:8px;color:var(--cream);font-family:var(--mono);font-size:12px"/></div>
<div class="btns"><label class="row mono dim" style="gap:6px;cursor:pointer"><input type="checkbox" id="op-appr"/> human approval granted</label>
<button class="btn teal" onclick="window.operate_run()">▸ Run governed loop</button></div></div>
<div class="kpis"><div class="kpi"><div class="k">Outcome</div><div class="v" id="op-outcome">—</div><div class="d">final loop state</div></div>
<div class="kpi"><div class="k">Policy decision</div><div class="v" id="op-policy">—</div><div class="d">Λ advisory · research conjecture</div></div>
<div class="kpi"><div class="k">Human approval</div><div class="v" id="op-appr-k">—</div><div class="d">held until granted</div></div>
<div class="kpi"><div class="k">Receipt</div><div class="v" id="op-sig">—</div><div class="d" id="op-sha">on-write · never on read</div></div></div>
<div class="card"><div class="card-h"><span class="card-t">Run-loop stages</span><span class="card-ep">live · real engine</span></div><div id="op-stages"><div class="row mono dim">press Run to drive the governed loop.</div></div></div>${HONEST}`;}},
demo:{title:'Run a Demo',badge:'5 SCENARIOS',sub:'The platform is the single launch point for the Warhacker challenge problems. Each launch calls the live service for that problem, shows its real answer, and records a signed receipt of the decision.',
render:(c)=>{c.innerHTML=`<div class="btns"><button class="btn teal" onclick="wh_all()">\u25b6 Launch all 5</button></div><div id="wh"></div>${HONEST}`;
const probs=[['P1','cannonico','Autonomous-system oversight','Operator'],['P2','tychee','Air-gapped governance','Policy/Safety'],['P3','hangar2apps','Deployment readiness','Receipts'],['P4','cyber-rts','Anomaly triage','Reasoning'],['P5','raven','Edge AI mesh','Operator']];
el('wh').innerHTML=probs.map(([id,key,t,o])=>`<div class="card"><div class="card-h"><span class="badge b-teal">${id}</span><span class="card-t">${t}</span><span class="card-ep">handled by: ${o}</span></div><div class="btns"><button class="btn" onclick="wh_one('${key}','o-${key}')">\u25b6 Launch</button></div><pre class="out" id="o-${key}">\u2014 click to launch \u2014</pre></div>`).join('');}},
fleet:{title:'System Health',badge:'5 SERVICES',sub:'Live reachability of every service behind the platform \u2014 real probe, real latency. A service that is down shows honestly, never faked green.',
render:async(c)=>{c.innerHTML=`<div class="btns"><button class="btn teal" onclick="fleet_load()">\u25b6 Re-probe</button></div>
<div class="kpis"><div class="kpi"><div class="k">Up</div><div class="v live" id="fl-reach">probing\u2026</div></div><div class="kpi"><div class="k">Build security</div><div class="v teal">SLSA L1 honest</div></div><div class="kpi"><div class="k">Trust score</div><div class="v teal">research conjecture</div><div class="d">not a theorem</div></div></div>
<div class="card"><div class="card-h"><span class="card-t">Live reachability</span><span class="card-ep">public-URL probe</span></div><div id="fl-reach-host"><div class="row mono dim">probing\u2026</div></div></div>${HONEST}`;window.fleet_load();}},
mesh:{title:'Live System Map',badge:'3D',sub:'The platform and its services as one connected organism. The command platform sits at the core; each service is a node; every link is a live, conserved connection. Node color reflects the live health probe \u2014 down is shown honestly.',
render:async(c)=>{c.innerHTML=`<div class="btns"><button class="btn teal" onclick="mesh_load()">\u25b6 Re-probe + rebuild</button></div>
<div class="card"><div class="card-h"><span class="card-t">Connected system \u2014 live 3D</span><span class="card-ep">drag to orbit</span></div><div class="graph3d" id="mesh-3d"></div></div>
<div class="card"><div class="card-h"><span class="card-t">Reachability detail</span><span class="card-ep">live</span></div><div id="mesh-host"><div class="row mono dim">probing\u2026</div></div></div>${HONEST}`;window.mesh_load();}},
/* PROOF-BINDING (cite-in-code-only): the Living Organism / mesh-health score is
RELABEL-INVARIANT (F-G4): renaming or re-ordering services/organs does not
change the health score the graph encodes. W7-1 gives invariance under the
group action; F-G6 bounds how the score composes across sub-meshes. Practical
meaning surfaced to the operator as plain language ('health doesn't depend on
what you call the nodes') -- never the formula IDs. Node positions are forces,
not data; only live /api reachability + score drive color/size. */
organism:{title:'Living Organism',badge:'3D · SHOWSTOPPER',sub:'The platform as one breathing organism. a11oy — the orchestrating brain — sits at the GOLD center; every service is a node, every link is a live connection that flows back to the brain. Node color reflects the live health probe; a down service shows honestly, never faked green.',
render:async(c)=>{c.innerHTML=`<div class="kpis">
<div class="kpi"><div class="k">Brain</div><div class="v">a11oy</div><div class="d">orchestrating hub</div></div>
<div class="kpi"><div class="k">Organs reachable</div><div class="v live" id="org-reach">probing\u2026</div></div>
<div class="kpi"><div class="k">Links to brain</div><div class="v teal" id="org-links">\u2014</div></div>
<div class="kpi"><div class="k">Signed spans</div><div class="v" id="org-spans">\u2014</div><div class="d">live DAG depth</div></div></div>
<div class="card"><div class="card-h"><span class="card-t">The brain at the center \u2014 live 3D</span><span class="card-ep">drag to orbit \u00b7 particles = live links</span></div><div class="graph3d hero" id="org-3d"></div><div class="brain-note">a11oy is the brain: every edge terminates at the gold core. Health from the live observability probe.</div></div>
<div class="card"><div class="card-h"><span class="card-t">Organ health detail</span><span class="card-ep">live probe</span></div><div id="org-host"><div class="row mono dim">probing\u2026</div></div>
<details class="raw"><summary>raw /observability/summary</summary><pre class="out" id="org-raw">loading\u2026</pre></details></div>${HONEST}`;window.organism_load();}},
/* PROOF-BINDING (cite-in-code-only): the Receipt-Chain 3D DAG is the runtime
face of three results. (1) F-G5 -- the audit walk over the hash-chain frontier
is BOUNDED: a verify-on-read traversal always TERMINATES in a bounded number
of steps (surfaced as 'audit walks always finish in bounded steps' -- the
efficiency claim that matters for Raven #5 tactical-edge audit). (2) verify-on-read
badge is powered by P5/P6 + W5-4 (each receipt re-verified against its parent
hash as it is read, not trusted blindly). (3) W7-6 (Doob two-sided envelope,
axiom-free) -- auditing EARLY or LATE cannot change the result, so the audit
copy is TWO-SIDED. All IDs live in code only. */
chain:{title:'Receipt Chain',badge:'3D · PROOF HERO',sub:'The brand\u2019s proof-of-governance centerpiece. Every command the operator brain runs is appended to a SHA-256 hash-chain, each receipt linked to its parent. This is a REAL verified chain \u2014 we render its true depth as a growing 3D directed graph. No competitor visualizes the audit chain as a living object.',
render:async(c)=>{c.innerHTML=`<div class="kpis">
<div class="kpi"><div class="k">Chain depth</div><div class="v" id="ch-depth">\u2014</div><div class="d">real hash chain</div></div>
<div class="kpi"><div class="k">Chain verified</div><div class="v live" id="ch-ver">\u2014</div></div>
<div class="kpi"><div class="k">Ledger receipts</div><div class="v teal" id="ch-led">\u2014</div></div>
<div class="kpi"><div class="k">Signature</div><div class="v live" id="ch-sig">\u2014</div><div class="d">signed \u00b7 ECDSA P-256 \u00b7 verified in browser</div></div></div>
<div class="card"><div class="card-h"><span class="card-t">Live hash-chain \u2014 3D directed graph</span><span class="card-ep">left\u2192right \u00b7 GENESIS at left</span></div><div class="graph3d hero" id="ch-3d"></div><div class="brain-note" id="ch-cap">building chain\u2026</div></div>
<div class="card"><div class="card-h"><span class="card-t">Receipt tail</span><span class="card-ep">verified replay log</span></div><div class="feedtail" id="ch-tail"></div>
<details class="raw"><summary>raw command-log</summary><pre class="out" id="ch-raw">loading\u2026</pre></details></div>${HONEST}`;window.chain_load();}},
pulse:{title:'Global Pulse',badge:'3D GLOBE · LIVE USGS',sub:'Real physical-world events on a live globe. Arcs animate from each earthquake epicenter (live USGS feed, past 24h) to a US hub that represents a11oy — the brain ingesting real-world signal. This is genuine live data from the U.S. Geological Survey, labeled as such.',
render:async(c)=>{c.innerHTML=`<div class="kpis">
<div class="kpi"><div class="k">Events (24h)</div><div class="v" id="pl-n">loading\u2026</div><div class="d">live USGS feed</div></div>
<div class="kpi"><div class="k">Strongest</div><div class="v warn" id="pl-max">\u2014</div><div class="d">magnitude</div></div>
<div class="kpi"><div class="k">Hub</div><div class="v teal">a11oy</div><div class="d">arcs terminate at brain</div></div></div>
<div class="card"><div class="card-h"><span class="card-t">Live earthquake arcs \u2192 a11oy</span><span class="card-ep">USGS all_day.geojson</span></div><div class="globe3d" id="pl-globe"></div><div class="brain-note">Source: USGS Earthquake Hazards Program (earthquake.usgs.gov), past-day feed. Arc color = magnitude.</div></div>
<div class="card"><div class="card-h"><span class="card-t">Recent events</span><span class="card-ep">live</span></div><div id="pl-list" style="max-height:260px;overflow-y:auto"><div class="row mono dim">loading USGS feed\u2026</div></div></div>${HONEST}`;window.pulse_load();}},
/* PROOF-BINDING (graph-substrate, cite-in-code-only -- NO on-screen jargon):
Trust Space point cloud is the geometric face of F-G1. The 13 trust axes are
plotted as an EXPANSION-SIDE CORE: F-G1 guarantees the scored region is a
well-defined core of the trust space (the side that can only grow as evidence
accumulates), so clusters/outliers in this cloud are meaningful, not artifacts
of an arbitrary embedding. On-screen copy stays plain ('research conjecture,
not a theorem') because the COMBINED-trust floor Lambda is Conjecture 1. */
trustspace:{title:'Trust Space',badge:'3D POINT-CLOUD',sub:'Every trust dimension plotted in a rotating 3D space. The 13 axes the brain scores before any high-consequence action become points whose position encodes their score \u2014 outliers and clusters are spatially obvious. Auto-rotating; drag to inspect.',
render:async(c)=>{c.innerHTML=`<div class="kpis">
<div class="kpi"><div class="k">Axes</div><div class="v" id="ts-n">13</div></div>
<div class="kpi"><div class="k">Combined trust</div><div class="v teal" id="ts-lam">\u2014</div><div class="d">vs floor 0.90</div></div>
<div class="kpi"><div class="k">Status</div><div class="v warn">research conjecture</div><div class="d">not a theorem</div></div></div>
<div class="card"><div class="card-h"><span class="card-t">13 trust axes in 3D \u2014 score-mapped point cloud</span><span class="card-ep">auto-rotating</span></div><div class="echart tall" id="ts-cloud"></div><div class="brain-note">Each point is one trust axis from the live trust vector; height & color encode its score. Cross-checked against the cortex service.</div></div>
<details class="raw"><summary>raw trust vector</summary><pre class="out" id="ts-raw">loading\u2026</pre></details>${HONEST}`;window.trustspace_load();}},
ontology:{title:'Service Map',badge:'ONTOLOGY GRAPH',sub:'The platform\u2019s objects and services as a typed node-link graph, with a11oy at the hub. Services, the trust gate, the safety gates, the receipt ledger and the consensus witnesses are objects; edges are live connections. An unreachable link is drawn in red.',
render:async(c)=>{c.innerHTML=`<div class="kpis">
<div class="kpi"><div class="k">Objects</div><div class="v" id="on-n">\u2014</div></div>
<div class="kpi"><div class="k">Connections</div><div class="v teal" id="on-e">\u2014</div></div>
<div class="kpi"><div class="k">Hub</div><div class="v">a11oy</div></div></div>
<div class="card"><div class="card-h"><span class="card-t">Service & object ontology</span><span class="card-ep">drag nodes \u00b7 red = error edge</span></div><div class="cyto" id="on-cy"></div><div class="brain-note">Built from the live consensus mesh; node = service/object, edge = live wire. Down organ \u2192 red edge.</div></div>${HONEST}`;window.ontology_load();}},
lambda:{title:'Trust Score',badge:'13 CHECKS',sub:'Before any high-consequence action, the platform scores it across 13 trust dimensions and requires the combined score to clear a floor of 0.90. The score is honest about its own status: it is a research conjecture, not a proven-unique function.',
render:async(c)=>{c.innerHTML=`<div class="kpis"><div class="kpi"><div class="k">Trust score</div><div class="v teal" id="la-val">\u2014</div></div><div class="kpi"><div class="k">Floor</div><div class="v" id="la-floor">0.90</div></div><div class="kpi"><div class="k">Decision</div><div class="v" id="la-pass">\u2014</div></div><div class="kpi"><div class="k">Status</div><div class="v warn">research conjecture</div></div></div>
<div class="grid2">
<div class="card"><div class="card-h"><span class="card-t">Combined score</span><span class="card-ep">live</span></div><div class="gauge-wrap" style="justify-content:center"><div class="gauge"><canvas id="la-gauge"></canvas><div class="lbl"><div><div class="big" id="la-gbig">\u2014</div><div class="sm">vs floor 0.90</div></div></div></div></div></div>
<div class="card"><div class="card-h"><span class="card-t">13 trust dimensions</span><span class="card-ep">live</span></div><div class="chartbox"><canvas id="la-radar"></canvas></div></div>
</div>
<div class="card"><div class="card-h"><span class="card-t">Per-dimension scores</span></div><div class="chartbox tall"><canvas id="la-bars"></canvas></div><div id="la-host" style="margin-top:.6rem"></div></div>${HONEST}`;window.lambda_load();}},
gates:{title:'Safety Gates',badge:'8 GATES',sub:'Eight deny-by-default safety gates inspect every action for dangerous signals (injection, unsafe commands, banned vendors, and more). Anything suspicious is blocked before it runs.',
render:async(c)=>{c.innerHTML=`<div class="kpis"><div class="kpi"><div class="k">Gates</div><div class="v" id="g-count">\u2014</div></div><div class="kpi"><div class="k">Deny-by-default</div><div class="v warn" id="g-deny">\u2014</div></div><div class="kpi"><div class="k">Categories</div><div class="v teal" id="g-cat">\u2014</div></div></div>
<div class="grid2"><div class="card"><div class="card-h"><span class="card-t">Gate posture</span><span class="card-ep">live</span></div><div class="chartbox"><canvas id="g-donut"></canvas></div></div>
<div class="card"><div class="card-h"><span class="card-t">Try it \u2014 inspect an action</span><span class="card-ep">live decision</span></div><div class="btns"><button class="btn" onclick="gate_try('DROP TABLE users')">Malicious payload</button><button class="btn teal" onclick="gate_try('summarize todays telemetry')">Benign request</button></div><pre class="out" id="g-try">\u2014 try an action \u2014</pre></div></div>
<div class="card"><div class="card-h"><span class="card-t">The 8 gates</span></div><div id="g-host" style="max-height:280px;overflow-y:auto"><div class="row mono dim">loading\u2026</div></div></div>${HONEST}`;window.gates_load();}},
feed:{title:'Live Decisions',badge:'STREAMING',sub:'A running feed of allow/deny decisions the safety system has made, each with the signals that drove it. This is the platform proving it is alive and governing in real time.',
render:async(c)=>{c.innerHTML=`<div class="kpis"><div class="kpi"><div class="k">Decisions buffered</div><div class="v" id="fd-n">\u2014</div></div><div class="kpi"><div class="k">Denied</div><div class="v warn" id="fd-deny">\u2014</div></div><div class="kpi"><div class="k">Allowed</div><div class="v live" id="fd-allow">\u2014</div></div></div>
<div class="grid2"><div class="card"><div class="card-h"><span class="card-t">Allow vs deny</span><span class="card-ep">live</span></div><div class="chartbox"><canvas id="fd-donut"></canvas></div></div>
<div class="card"><div class="card-h"><span class="card-t">Recent decisions</span><span class="card-ep">live feed</span></div><div id="fd-host" style="max-height:280px;overflow-y:auto"><div class="row mono dim">loading\u2026</div></div></div></div>${HONEST}`;window.feed_load();}},
govern:{title:'Readiness & Compliance',badge:'GO/NO-GO + EVIDENCE',sub:'Two governance demos in one pane. Left: a deployment-readiness check that scores a subject against required criteria and returns a clear Go, Needs-Review, or No-Go verdict with every gap named. Right: control coverage mapped to a recognized framework (NIST, STIG, ISO 27001), each control backed by an evidence hash \u2014 audit-ready, with no third-party audit claimed.',
render:(c)=>{c.innerHTML=`<div class="grid2">
<div class="card"><div class="card-h"><span class="card-t">Readiness \u2014 Go / No-Go</span><span class="card-ep">live</span></div>
<div class="btns"><button class="btn teal" onclick="readiness_run()">\u25b6 Assess a sample subject</button></div>
<div class="chartbox" style="height:200px"><canvas id="rd-donut"></canvas></div><div id="rd-host" style="margin-top:.6rem"><div class="row mono dim">click assess\u2026</div></div></div>
<div class="card"><div class="card-h"><span class="card-t">Compliance coverage</span><span class="card-ep">live</span></div>
<div class="btns"><button class="btn teal" onclick="comp_run('NIST')">NIST</button><button class="btn" onclick="comp_run('STIG')">STIG</button><button class="btn" onclick="comp_run('ISO27001')">ISO 27001</button></div>
<div class="chartbox" style="height:200px"><canvas id="cp-donut"></canvas></div><div id="cp-host" style="margin-top:.6rem"><div class="row mono dim">pick a framework\u2026</div></div></div>
</div>${HONEST}`;}},
forecast:{title:'Forecast',badge:'8 METRICS \u00b7 CALIBRATED PI BANDS',sub:'A deterministic calibrated baseline (exponential smoothing) across eight business metrics. Each forecast shows a point estimate with 80% and 95% prediction intervals and its own calibration score. The intervals are model prediction intervals, not guarantees \u2014 and the whole baseline is content-hashed so the same inputs always reproduce the same numbers.',
render:async(c)=>{c.innerHTML=`<div class="kpis">
<div class="kpi"><div class="k">Metrics</div><div class="v" id="fc-n">\u2014</div></div>
<div class="kpi"><div class="k">Avg calibration</div><div class="v teal" id="fc-cal">\u2014</div><div class="d">0\u20131, higher = better</div></div>
<div class="kpi"><div class="k">Method</div><div class="v" id="fc-meth">\u2014</div></div>
<div class="kpi"><div class="k">Determinism hash</div><div class="v mono" id="fc-hash" style="font-size:14px">\u2014</div><div class="d">reproducible</div></div></div>
<div class="card"><div class="card-h"><span class="card-t">Per-metric calibration score</span><span class="card-ep">recorded baseline</span></div><div class="chartbox tall"><canvas id="fc-bars"></canvas></div></div>
<div class="card"><div class="card-h"><span class="card-t">Point estimate + 80% / 95% prediction intervals</span><span class="card-ep">model PIs \u2014 not guarantees</span></div><div id="fc-host"><div class="row mono dim">loading\u2026</div></div>
<details class="raw"><summary>raw forecast baseline</summary><pre class="out" id="fc-raw">loading\u2026</pre></details></div>${HONEST}`;window.forecast_load();}},
receipts:{title:'Signed Receipts',badge:'VERIFY YOURSELF',sub:'Every governed decision can produce a cryptographically signed, tamper-evident receipt that anyone can verify offline \u2014 no trust in us required. This is the core differentiator: no market leader signs individual AI decisions.',
render:async(c)=>{c.innerHTML=`<div class="kpis"><div class="kpi"><div class="k">Receipts (ledger)</div><div class="v" id="rc-n">\u2014</div></div><div class="kpi"><div class="k">Chain</div><div class="v teal" id="rc-chain">\u2014</div></div><div class="kpi"><div class="k">Signature</div><div class="v live" id="rc-verify">\u2014</div><div class="d">verified in your browser</div></div></div>
<div class="card"><div class="card-h"><span class="card-t">Verify a real signed receipt \u2014 in your browser</span><span class="card-ep">WebCrypto \u00b7 ECDSA P-256</span></div>
<div class="row"><button class="btn" onclick="window.receipts_verify(false)">Fetch & verify receipt</button><button class="btn" onclick="window.receipts_verify(true)">Verify a tampered copy</button></div>
<div id="rc-vout" style="margin-top:.6rem"><div class="row mono dim">Click \u201cFetch & verify\u201d \u2014 the public key and a signed envelope are fetched from this service and checked locally.</div></div>
<details class="raw"><summary>raw signed envelope + public key</summary><pre class="out" id="rc-env">\u2014</pre></details></div>
<div class="card"><div class="card-h"><span class="card-t">Receipt activity</span><span class="card-ep">live</span></div><div class="chartbox" style="height:200px"><canvas id="rc-line"></canvas></div></div>
<div class="card"><div class="card-h"><span class="card-t">Audit trail</span><span class="card-ep">hash-chained</span></div><div id="rc-host"><div class="row mono dim">loading\u2026</div></div></div>
<div class="card"><div class="card-h"><span class="card-t">Public transparency-log anchor \u2014 Sigstore Rekor</span><span class="card-ep">live root \u00b7 RFC 6962 Merkle</span></div>
<div class="kpis"><div class="kpi"><div class="k">Rekor tree size</div><div class="v teal" id="rk-size">\u2014</div><div class="d">public good-instance</div></div>
<div class="kpi"><div class="k">Root hash</div><div class="v mono" id="rk-root" style="font-size:13px">\u2014</div><div class="d">live signed tree head</div></div>
<div class="kpi"><div class="k">Reachable</div><div class="v live" id="rk-reach">\u2014</div></div></div>
<div class="row"><button class="btn" onclick="window.rekor_verify()">Verify a real Rekor inclusion proof</button></div>
<div id="rk-vout" style="margin-top:.6rem"><div class="row mono dim">Recomputes the Merkle root from a real public entry's leaf + audit path (RFC 6962) \u2014 never trusting the server's verdict.</div></div>
<div class="brain-note">Adapts Sigstore/Chainguard transparency UX. The root shown is the <b>live, independently-verifiable</b> public Rekor log (1.9B+ entries). Honest: a11oy's own receipts use its in-image DSSE+khipu chain; public-log submission of a11oy receipts is <b>ROADMAP</b>. Merkle math mirrors Lean F15.</div></div>
<div class="honesty"><b>Verify it yourself.</b> a11oy signs receipts with its own in-image ECDSA P-256 key. Fetch the public key at <span class="mono">/cosign.pub</span> and a signed envelope at <span class="mono">/api/a11oy/v1/receipt/export</span>, then verify the signature \u2014 here, in your browser, or offline with openssl. A single tampered byte fails verification. The key is ephemeral and resets on every rebuild.</div>`;window.receipts_load();}},
/* PROOF-BINDING (cite-in-code-only): the Knowledge Ontology entity-link graph
(axioms -> theorems -> formulas) is bounded by F-G2's EXPRESSIVITY CEILING:
the link structure can encode exactly the relationships F-G2 admits and no
more, so the graph cannot imply a derivation the substrate does not support.
This view READS knowledge.json proof_summary ONLY (owned by the instill
squads) -- it never rewrites it. On-screen text stays plain English. */
knowledge:{title:'Knowledge Ontology',badge:'AXIOMS \u2192 THEOREMS \u2192 FORMULAS',sub:'The platform\u2019s intellectual-property ontology as a typed, citable graph: foundational axioms feed proven theorems, which ground the working formulas. Click any node for its formal statement, DOI citation, and an honest maturity badge \u2014 teal = formally proven, gold = empirically measured, amber = open conjecture. Loaded live from the published knowledge base (/knowledge.json).',
render:async(c)=>{c.innerHTML=`<div class="kpis">
<div class="kpi"><div class="k">Axioms</div><div class="v" id="kn-ax">\u2014</div><div class="d">foundational</div></div>
<div class="kpi"><div class="k">Theorems</div><div class="v teal" id="kn-th">\u2014</div><div class="d">Lean-checked</div></div>
<div class="kpi"><div class="k">Formulas</div><div class="v" id="kn-fm">\u2014</div><div class="d">working set</div></div>
<div class="kpi"><div class="k">DOIs</div><div class="v teal" id="kn-doi">\u2014</div><div class="d">Zenodo deposits</div></div></div>
<div class="grid2">
<div class="card" style="grid-column:1/-1"><div class="card-h"><span class="card-t">Axioms \u2192 theorems \u2192 formulas \u2014 typed ontology</span><span class="card-ep">drag \u00b7 click a node</span></div><div class="cyto" id="kn-cy"></div>
<div class="legend"><span><i style="background:#5fb3a3"></i>proven</span><span><i style="background:#c9b787"></i>measured</span><span><i style="background:#c9a05f"></i>conjecture</span><span><i style="background:#888"></i>defined</span></div></div>
</div>
<div class="card" id="kn-detail"><div class="row mono dim">Click any node in the graph to see its formal statement, citation, and maturity.</div></div>${HONEST}`;window.knowledge_load();}},
kbformulas:{title:'Formulas',badge:'KaTeX \u00b7 100 RENDERED',sub:'Every formula in the platform\u2019s mathematical corpus, rendered in proper math typesetting and searchable. Each carries its source file and citation. Honesty: only five are formally proven in Lean (machine-checked, zero gaps); the rest are working, experimental, or definitional \u2014 never presented as theorems. The trust-score uniqueness claim remains an open research conjecture.',
render:async(c)=>{c.innerHTML=`<div class="kpis">
<div class="kpi"><div class="k">Formulas</div><div class="v" id="kf-n">\u2014</div><div class="d">rendered (KaTeX)</div></div>
<div class="kpi"><div class="k">Formally proven</div><div class="v teal">8</div><div class="d">Lean, machine-checked</div></div>
<div class="kpi"><div class="k">Trust-score uniqueness</div><div class="v warn">open conjecture</div></div>
<div class="kpi"><div class="k">Source files</div><div class="v teal" id="kf-src">\u2014</div></div></div>
<div class="grid2"><div class="card"><div class="card-h"><span class="card-t">Proof status</span><span class="card-ep">honest</span></div><div class="chartbox"><canvas id="kf-donut"></canvas></div><div class="legend"><span><i style="background:#5fb3a3"></i>proven (8, locked)</span><span><i style="background:#c9b787"></i>working / open</span><span><i style="background:#b06a5a"></i>conjecture</span></div></div>
<div class="card"><div class="card-h"><span class="card-t">The eight proven (Lean, sorry-free)</span><span class="card-ep">locked</span></div><div id="kf-proven"><div class="row mono dim">loading\u2026</div></div></div></div>
<div class="card"><div class="card-h"><span class="card-t">Formula corpus \u2014 rendered & searchable</span><span class="card-ep" id="kf-count">\u2014</span></div>
<input id="kf-search" placeholder="search formulas by id, source, or LaTeX\u2026" oninput="window.kbf_filter(this.value)" style="width:100%;padding:.6rem .8rem;background:#080808;border:1px solid var(--gold-line);border-radius:8px;color:var(--cream);font-family:var(--mono);font-size:12px;margin-bottom:.8rem"/>
<div id="kf-list" style="max-height:520px;overflow:auto"><div class="row mono dim">loading /knowledge.json\u2026</div></div></div>${HONEST}`;window.kbformulas_load();}},
policies:{title:'Vertical Policies',badge:'10 REGULATED INDUSTRIES',sub:'Governance policy packs for ten regulated verticals \u2014 each binds real-world regulations to required attestors, per-axis trust-score floors, forbidden inputs, mandatory output formats, retention windows, and a deal-size band. These are the configurable guardrails the brain enforces per industry. Loaded live from the published policy bundle.',
render:async(c)=>{c.innerHTML=`<div class="kpis">
<div class="kpi"><div class="k">Verticals</div><div class="v" id="pv-n">\u2014</div><div class="d">policy packs</div></div>
<div class="kpi"><div class="k">Regulations cited</div><div class="v teal" id="pv-reg">\u2014</div></div>
<div class="kpi"><div class="k">Strictest floor</div><div class="v warn" id="pv-max">\u2014</div><div class="d">per-axis trust</div></div></div>
<div class="card"><div class="card-h"><span class="card-t">Per-axis trust-score floors by vertical</span><span class="card-ep">live</span></div><div class="echart" id="pv-bar"></div><div class="brain-note">Higher floor = stricter trust requirement before the brain permits an action in that industry.</div></div>
<div class="card"><div class="card-h"><span class="card-t">Policy packs</span><span class="card-ep">click to expand</span></div><div id="pv-list"><div class="row mono dim">loading policy bundle\u2026</div></div></div>${HONEST}`;window.policies_load();}},
threats:{title:'Threat Library',badge:'30 PATTERNS',sub:'The known attack patterns behind the safety gates \u2014 each tagged with severity, MITRE ATT&CK technique, and a CVSS score. This is the intelligence the platform screens every action against.',
render:async(c)=>{c.innerHTML=`<div class="kpis"><div class="kpi"><div class="k">Patterns</div><div class="v" id="th-n">\u2014</div></div><div class="kpi"><div class="k">Critical</div><div class="v warn" id="th-crit">\u2014</div></div><div class="kpi"><div class="k">High</div><div class="v" id="th-high">\u2014</div></div></div>
<div class="card"><div class="card-h"><span class="card-t">By severity</span><span class="card-ep">live</span></div><div class="chartbox"><canvas id="th-bars"></canvas></div></div>
<div class="card"><div class="card-h"><span class="card-t">Pattern list</span><span class="card-ep">live</span></div><div id="th-host" style="max-height:260px;overflow-y:auto"><div class="row mono dim">loading\u2026</div></div></div>${HONEST}`;window.threats_load();}},
ayni:{title:'Reciprocity (Ayni)',badge:'LIVE \u00b7 EVENT-SOURCED FROM SIGNED RECEIPTS',sub:'Per-organ reciprocity balance (Ayni coefficient \u03b1) and empire-wide synchrony (Kuramoto order parameter r), event-sourced live from the platform\u2019s signed KIPU receipt stream \u2014 not hand-typed seeds. \u03b1 = In/(In+Out) per organ (Axelrod\u2013Hamilton 1981 direct reciprocity); r is the Kuramoto (1975) order parameter over organ control-loop phases. Honest: the shipped receipt corpus is a labelled sample stream, and the data source is shown on every panel.',
render:async(c)=>{c.innerHTML=`<div class="kpis">
<div class="kpi"><div class="k">Synchrony r</div><div class="v teal" id="ay-r">loading\u2026</div><div class="d">Kuramoto order parameter</div></div>
<div class="kpi"><div class="k">Flow state</div><div class="v" id="ay-flow">\u2014</div><div class="d">r > 0.85 = TINKUY</div></div>
<div class="kpi"><div class="k">Organs balanced</div><div class="v" id="ay-bal">\u2014</div><div class="d">\u03b1 \u2265 0.45 (no T24 drain)</div></div>
<div class="kpi"><div class="k">Receipts ingested</div><div class="v" id="ay-rcpt">\u2014</div><div class="d" id="ay-src">source</div></div></div>
<div class="card"><div class="card-h"><span class="card-t">Empire synchrony \u2014 Kuramoto phase circle</span><span class="card-ep">live \u00b7 r\u00b7e^{i\u03c8}</span></div><div id="ay-circle" style="display:flex;justify-content:center;padding:.4rem 0"></div><div class="brain-note">Each dot is an organ on the unit circle at its control-loop phase \u03b8. The gold arrow is the mean resultant r\u00b7e^{i\u03c8} \u2014 longer = more phase-locked (coherent \u201cflow\u201d). Phases are recomputed live from each organ\u2019s real receipt activity on every request.</div></div>
<div class="card"><div class="card-h"><span class="card-t">Per-organ reciprocity balance (\u03b1)</span><span class="card-ep">In/(In+Out) \u00b7 event-sourced</span></div><div id="ay-bars"><div class="row mono dim">loading reciprocity ledger\u2026</div></div><div class="brain-note">\u03b1 = 0.5 is balanced; \u03b1 < 0.45 = net-drained (HUKLLA T24 tripwire fires). Each organ\u2019s In (signed attestations given) and Out (compute consumed) are replayed from its real signed receipts.</div></div>${HONEST}`;window.ayni_load();}},
cve:{title:'CVE Watch',badge:'LIVE · NVD',sub:'The newest published software vulnerabilities, pulled live from the U.S. National Vulnerability Database (NVD CVE API 2.0). Real CVE IDs, real CVSS severities \u2014 the external threat surface the platform screens against. Source: services.nvd.nist.gov.',
render:async(c)=>{c.innerHTML=`<div class="kpis">
<div class="kpi"><div class="k">CVEs loaded</div><div class="v" id="cv-n">loading\u2026</div><div class="d">live NVD feed</div></div>
<div class="kpi"><div class="k">Critical/High</div><div class="v warn" id="cv-hi">\u2014</div></div>
<div class="kpi"><div class="k">Newest</div><div class="v teal" id="cv-new">\u2014</div></div>
<div class="kpi"><div class="k">Total in NVD</div><div class="v" id="cv-tot">\u2014</div></div></div>
<div class="card"><div class="card-h"><span class="card-t">Severity distribution (CVSS)</span><span class="card-ep">live</span></div><div class="echart" id="cv-bar"></div></div>
<div class="card"><div class="card-h"><span class="card-t">Exposure Priority \u2014 fix-this-first</span><span class="card-ep">agentic \u00b7 fuses NVD + live CISA KEV + adversary corpus</span></div>
<div class="kpis"><div class="kpi"><div class="k">Actively exploited (KEV)</div><div class="v warn" id="ep-kev">correlating\u2026</div><div class="d">of newest CVEs</div></div>
<div class="kpi"><div class="k">Adversary-technique match</div><div class="v teal" id="ep-tech">\u2014</div><div class="d">vs in-image corpus</div></div>
<div class="kpi"><div class="k">Top exposure score</div><div class="v" id="ep-top">\u2014</div><div class="d">0\u2013100 \u00b7 transparent</div></div></div>
<div class="echart" id="ep-bubble"></div>
<div class="legend"><span><i style="background:#b06a5a"></i>KEV / actively exploited</span><span><i style="background:#c9b787"></i>high public-signal exposure</span><span><i style="background:#5fb3a3"></i>standard</span><span class="mono dim">bubble size = exposure priority</span></div>
<div style="max-height:300px;overflow:auto;margin-top:.5rem"><table class="dtbl"><thead><tr><th>#</th><th>CVE</th><th>Exposure</th><th>CVSS</th><th>Why it ranks here</th></tr></thead><tbody id="ep-tb"><tr><td colspan=5 class="mono dim">ranking\u2026</td></tr></tbody></table></div>
<div class="brain-note">Built upon CrowdStrike ExPRT.AI, Wiz contextual prioritization, and the Picus Exposure Score: severity alone is an input, priority is a decision. We fuse CVSS with CISA-KEV \u201cexploited-in-the-wild\u201d and a match against the platform\u2019s own adversary-technique corpus, then show the top contributing factors per row \u2014 a deterministic, transparent score. Honest limit: public-signal scoring only (no environment telemetry / asset criticality), so it is NOT environment-aware like a deployed Falcon/Wiz tenant. Auto-refreshes with the live feeds.</div></div>
<div class="card"><div class="card-h"><span class="card-t">Newest vulnerabilities</span><span class="card-ep">NVD CVE 2.0</span></div><div style="max-height:340px;overflow:auto"><table class="dtbl"><thead><tr><th>CVE</th><th>Severity</th><th>CVSS</th><th>Published</th><th>Summary</th></tr></thead><tbody id="cv-tb"><tr><td colspan=5 class="mono dim">loading NVD feed\u2026</td></tr></tbody></table></div></div>${HONEST}`;window.cve_load();}},
kev:{title:'Known-Exploited',badge:'LIVE · CISA KEV',sub:'CISA\u2019s Known Exploited Vulnerabilities catalog \u2014 vulnerabilities confirmed exploited in the wild. Live-tailed newest-first from the official cisagov GitHub mirror. These are the priority threats; remediation due-dates are real. Source: github.com/cisagov.',
render:async(c)=>{c.innerHTML=`<div class="kpis">
<div class="kpi"><div class="k">KEV entries</div><div class="v" id="kv-n">loading\u2026</div><div class="d">live CISA catalog</div></div>
<div class="kpi"><div class="k">Catalog version</div><div class="v teal" id="kv-ver">\u2014</div></div>
<div class="kpi"><div class="k">Ransomware-linked</div><div class="v warn" id="kv-ransom">\u2014</div></div></div>
<div class="card"><div class="card-h"><span class="card-t">Newest known-exploited \u2014 live tail</span><span class="card-ep">cisagov mirror</span></div><div class="feedtail" id="kv-tail"></div></div>
<div class="card"><div class="card-h"><span class="card-t">Top exploited vendors</span><span class="card-ep">live</span></div><div class="echart" id="kv-bar"></div></div>${HONEST}`;window.kev_load();}},
attack:{title:'Adversary Techniques',badge:'LIVE · MITRE ATT&CK',sub:'The MITRE ATT&CK enterprise knowledge base of adversary techniques mapped to their tactics, rendered as a node-link graph. Loaded live from the official MITRE STIX dataset \u2014 a large file (~50MB), so we fetch with a timeout and graph a bounded subset honestly. Source: github.com/mitre-attack.',
render:async(c)=>{c.innerHTML=`<div class="kpis">
<div class="kpi"><div class="k">Techniques graphed</div><div class="v" id="at-n">loading\u2026</div><div class="d">bounded subset</div></div>
<div class="kpi"><div class="k">Tactics</div><div class="v teal" id="at-t">\u2014</div></div>
<div class="kpi"><div class="k">Source</div><div class="v">MITRE</div><div class="d">ATT&CK STIX</div></div></div>
<div class="card"><div class="card-h"><span class="card-t">Technique \u2192 tactic intel graph</span><span class="card-ep" id="at-cap">fetching bounded STIX subset server-side\u2026</span></div>
<div class="dag3d" id="at-3d" style="height:380px;border-radius:9px;overflow:hidden"><div class="row mono dim" style="padding:1rem">Loading holographic ATT&CK graph\u2026</div></div>
<div class="cyto" id="at-cy" style="margin-top:.6rem"></div>
<div class="brain-note">Server-side bounded parse of the official MITRE ATT&CK v17.1 STIX (no ~50MB client download \u2014 sovereign, CORS-safe). Holographic 3D technique\u2192tactic correlation graph (Recorded-Future-style intel graph), with a 2D fallback. Tactics in teal, techniques in gold.</div></div>${HONEST}`;window.attack_load();}},
llm:{title:'Model Router',badge:'5-TIER \u00b7 LIVE ELO',sub:'The platform routes each task to the right model tier by cost and capability. A real model call when a key is present, an honest stub otherwise \u2014 the tier choice and the trust receipt are always real. The router can also consult a live external quality signal: LMArena human-preference Elo (advisory, \u039b Conjecture 1), with a quality\u00d7adoption frontier from Hugging Face Hub downloads. Prior art cited: LMArena, Hugging Face, Artificial Analysis, OpenRouter.',
render:async(c)=>{c.innerHTML=`<div class="grid2"><div class="card"><div class="card-h"><span class="card-t">Tier throughput</span><span class="card-ep">live</span></div><div class="chartbox"><canvas id="l-bars"></canvas></div></div>
<div class="card"><div class="card-h"><span class="card-t">Model roster</span><span class="card-ep">live</span></div><div id="l-host" style="max-height:300px;overflow-y:auto"><div class="row mono dim">loading\u2026</div></div></div></div>
<div class="grid2"><div class="card"><div class="card-h"><span class="card-t">Live model leaderboard \u2014 LMArena human-preference Elo</span><span class="card-ep" id="l-lb-fresh">fetching\u2026</span></div><div id="l-lb" style="max-height:300px;overflow-y:auto"><div class="row mono dim">loading\u2026</div></div></div>
<div class="card"><div class="card-h"><span class="card-t">Quality \u00d7 adoption frontier</span><span class="card-ep">Elo \u00d7 HF downloads</span></div><div class="chartbox" id="l-pareto" style="height:300px"></div><div class="brain-note" id="l-pareto-note">Quality = LMArena Elo, adoption = Hugging Face downloads (both live). Price / tokens-per-sec axes are ROADMAP \u2014 no measured serving feed, not fabricated.</div></div></div>
<details class="raw"><summary>raw tiers + live model intel</summary><pre class="out" id="l-out">loading\u2026</pre></details>${HONEST}`;
try{const d=await getJSON(API+'/v1/llm/tiers').catch(()=>orgGet('core','/api/a11oy/v1/reason/tiers'));setOut('l-out',d);const tiers=d.tiers||[];setHTML('l-host','');tiers.forEach(t=>addHTML('l-host',`<div class="row"><span class="badge b-teal">T${esc(t.rank??'')}</span><span>${esc(t.id||t.model||'')}</span><span class="spacer mono dim">${esc(t.use||'')}</span></div>`));}catch(e){setHTML('l-host','<div class="row mono dim">retry: '+esc(e.message)+'</div>');}
try{const r=await getJSON(API+'/v1/router/stats');const routes=r.routes||[];barH('l-bars',routes.map(x=>x.organ+' \u00b7 '+(x.tier||'')),routes.map(x=>x.throughput||0),routes.map(x=>x.license==='GREEN'?TEAL:GOLD));}catch(e){}
window.models_intel_load();}},
mcp:{title:'Agent Tools',badge:'LIVE',sub:'The tools the platform exposes to AI agents over the Model Context Protocol. Read the registry, then actually invoke a tool \u2014 every call returns a real, doctrine-stamped response.',
render:async(c)=>{c.innerHTML=`<div class="grid2"><div class="card"><div class="card-h"><span class="card-t">Tools available</span><span class="card-ep">live</span></div><div class="chartbox" style="height:220px"><canvas id="mcp-bar"></canvas></div></div>
<div class="card"><div class="card-h"><span class="card-t">Invoke a tool</span><span class="card-ep">live call</span></div><div class="btns"><button class="btn teal" onclick="mcp_call('lambda_score')">Score trust</button><button class="btn" onclick="mcp_call('a11oy_gate')">Run gate</button><button class="btn" onclick="mcp_call('khipu_sign')">Sign receipt</button><button class="btn" onclick="mcp_call('khipu_verify')">Verify receipt</button></div><pre class="out" id="o-mcp">\u2014 invoke \u2014</pre></div></div>
<div class="card"><div class="card-h"><span class="card-t">Registry</span></div><div id="mcp-list"><div class="row mono dim">loading\u2026</div></div></div>${HONEST}`;window.mcp_list();}},
honest:{title:'What We Claim',badge:'NO BANDAIDS',sub:'The single source of truth for what this platform does and does NOT claim \u2014 published, not marketed. If it is not proven, we say so.',
render:async(c)=>{c.innerHTML=`<div class="card"><div class="card-h"><span class="card-t">Honest claims</span><span class="card-ep">live</span></div><div id="ho-host"><div class="row mono dim">loading\u2026</div></div></div>
<div class="card"><div class="card-h"><span class="card-t">What we do NOT claim</span></div>
<div class="row"><span class="badge b-err">NOT</span><span>The trust score is NOT a proven-unique function \u2014 it is a research conjecture.</span></div>
<div class="row"><span class="badge b-err">NOT</span><span>NOT SLSA L3, NOT FedRAMP, NOT Iron Bank, NOT CMMC. Builds are SLSA Level 2.</span></div>
<div class="row"><span class="badge b-err">NOT</span><span>NOT a third-party audit. Compliance coverage is self-evidenced with hashes.</span></div>
<div class="row"><span class="badge b-err">NOT</span><span>Only 8 formulas are formally proven (locked); the rest are open or experimental.</span></div>
</div>
<details class="raw"><summary>raw honesty record</summary><pre class="out" id="o-honest">loading\u2026</pre></details>${HONEST}`;window.honest_load();}},
decision:{title:'Governed Decision',badge:'SIGNALS \u2192 FORECAST \u2192 RECEIPT',sub:'The full governed-decision loop in one place: live signals feed a calibrated forecast, evidence is gathered, a reversible recommendation is produced with an advisory trust score, and the whole decision is sealed into a signed receipt. Every step is named and auditable; the recommendation always requires human approval.',
render:async(c)=>{c.innerHTML=`<div class="kpis">
<div class="kpi"><div class="k">Trust (advisory)</div><div class="v teal" id="gd-lam">\u2014</div><div class="d">\u039b Conjecture 1</div></div>
<div class="kpi"><div class="k">Recommendation</div><div class="v" id="gd-conf">\u2014</div><div class="d">confidence</div></div>
<div class="kpi"><div class="k">Human approval</div><div class="v warn" id="gd-appr">required</div></div>
<div class="kpi"><div class="k">Receipt</div><div class="v live" id="gd-rcpt">\u2014</div><div class="d">signed</div></div></div>
<div class="card"><div class="card-h"><span class="card-t">The decision loop</span><span class="card-ep">live</span></div><div id="gd-loop" class="loopbar"><div class="row mono dim">loading\u2026</div></div></div>
<div class="grid2">
<div class="card"><div class="card-h"><span class="card-t">Live signals</span></div><div id="gd-sig"><div class="row mono dim">loading\u2026</div></div></div>
<div class="card"><div class="card-h"><span class="card-t">Evidence gathered</span></div><div id="gd-ev"><div class="row mono dim">loading\u2026</div></div></div></div>
<div class="card"><div class="card-h"><span class="card-t">Recommendation</span><span class="card-ep">reversible \u00b7 advisory</span></div><div id="gd-rec"><div class="row mono dim">loading\u2026</div></div>
<details class="raw"><summary>raw governed-decision + signed receipt</summary><pre class="out" id="gd-raw">loading\u2026</pre></details></div>${HONEST}`;window.decision_load();}},
arena:{title:'Eval Arena',badge:'RECORDED RUN \u00b7 5 SCENARIOS',sub:'A recorded, content-hashed run from the SZL evaluation harness. Five governance scenarios are scored across seven dimensions \u2014 correctness, evidence completeness, approval compliance, replay completeness, policy adherence, hallucination resistance, and tool efficiency. These are real recorded results; live re-runs are on the roadmap and labelled as such.',
render:async(c)=>{c.innerHTML=`<div class="kpis">
<div class="kpi"><div class="k">Scenarios</div><div class="v" id="ar-n">\u2014</div></div>
<div class="kpi"><div class="k">Passed</div><div class="v live" id="ar-pass">\u2014</div></div>
<div class="kpi"><div class="k">Leaderboard top</div><div class="v teal" id="ar-top">\u2014</div></div>
<div class="kpi"><div class="k">Run date</div><div class="v" id="ar-date">\u2014</div></div></div>
<div class="card"><div class="card-h"><span class="card-t">Per-scenario overall score</span><span class="card-ep">recorded</span></div><div class="chartbox tall"><canvas id="ar-bars"></canvas></div></div>
<div class="card"><div class="card-h"><span class="card-t">Scenario detail</span></div><div id="ar-host"><div class="row mono dim">loading\u2026</div></div>
<details class="raw"><summary>raw arena run report</summary><pre class="out" id="ar-raw">loading\u2026</pre></details></div>
<div class="card"><div class="card-h"><span class="card-t">External benchmark \u2014 LMArena human-preference Elo</span><span class="card-ep" id="ar-lb-fresh">fetching\u2026</span></div><div class="brain-note">A separate, externally-sourced opinion (NOT a11oy's own governance eval above): live blind-pairwise human-preference Elo from the public LMArena leaderboard dataset. Cited, not claimed as ours.</div><div id="ar-lb"><div class="row mono dim">loading\u2026</div></div></div>${HONEST}`;window.arena_load();window.arena_elo_load();}},
business:{title:'Business Observability',badge:'5 DOMAINS \u00b7 REAL DATA',sub:'Five capability domains observed on real in-image data \u2014 coverage, connectivity, cognitive, executive interfaces, and impact. Every figure is computed from this service\u2019s own live state. We deliberately do not reproduce any third-party marketing percentages as our own.',
render:async(c)=>{c.innerHTML=`<div class="kpis">
<div class="kpi"><div class="k">Domains</div><div class="v" id="bz-n">\u2014</div></div>
<div class="kpi"><div class="k">On real data</div><div class="v live" id="bz-real">\u2014</div></div>
<div class="kpi"><div class="k">Trust status</div><div class="v warn">research conjecture</div></div></div>
<div class="card"><div class="card-h"><span class="card-t">Capability domains</span><span class="card-ep">live in-image</span></div><div id="bz-host"><div class="row mono dim">loading\u2026</div></div>
<details class="raw"><summary>raw business observability</summary><pre class="out" id="bz-raw">loading\u2026</pre></details></div>
<div class="card"><div class="card-h"><span class="card-t">Markets & Fiscal \u2014 live from SEC / Treasury / Fed</span><span class="card-ep" id="mk-ep">SEC EDGAR \u00b7 Treasury \u00b7 FRED</span></div>
<div class="row mono dim" style="margin-bottom:.4rem">A real filer\u2019s 10-K financials, the live U.S. national debt, and a Fed macro series \u2014 each labelled with its source + honest state. Informational, not investment advice.</div>
<div id="mk-host"><div class="row mono dim">loading live markets data\u2026</div></div>
<details class="raw"><summary>raw markets summary</summary><pre class="out" id="mk-raw">loading\u2026</pre></details></div>${HONEST}`;window.business_load();}},
verticals:{title:'Vertical-Pack Ecosystem',badge:'13 PACKS \u00b7 LIVE + ROADMAP',sub:'The catalog of domain packs built on the a11oy core. Each pack reuses the same governed-decision engine, signed receipts, and trust scoring for a specific business domain. Live packs are shipping today; stub packs are scaffolded and honestly marked as roadmap.',
render:async(c)=>{c.innerHTML=`<div class="kpis">
<div class="kpi"><div class="k">Packs</div><div class="v" id="vp-n">\u2014</div></div>
<div class="kpi"><div class="k">Live</div><div class="v live" id="vp-live">\u2014</div></div>
<div class="kpi"><div class="k">Roadmap (stub)</div><div class="v warn" id="vp-stub">\u2014</div></div></div>
<div class="card"><div class="card-h"><span class="card-t">Live / shipping packs</span><span class="card-ep">reuse the a11oy core</span></div><div id="vp-live-host"><div class="row mono dim">loading\u2026</div></div></div>
<div class="card"><div class="card-h"><span class="card-t">Roadmap packs</span><span class="card-ep">scaffolded \u00b7 honest stub</span></div><div id="vp-stub-host"><div class="row mono dim">loading\u2026</div></div>
<details class="raw"><summary>raw vertical-pack registry</summary><pre class="out" id="vp-raw">loading\u2026</pre></details></div>${HONEST}`;window.verticals_load();}},
ledger3d:{title:'Trust Ledger',badge:'ENTITY GRAPH + VERIFIED PROOF-CHAIN',sub:'Every decision, signed and explainable. A live entity-link graph of the platform\u2019s objects (capabilities, decisions, receipts) fused with a scrubable, cryptographically hash-chained proof timeline. Click any node to see its inputs, health, trust score (conjecture), and receipt chip. Builds on Palantir\u2019s Object Explorer + Quiver and Wiz\u2019s Security Graph \u2014 and adds a verifiable proof-chain neither ships.',
render:async(c)=>{c.innerHTML=`<div class="kpis">
<div class="kpi"><div class="k">Chain depth</div><div class="v" id="tl-depth">\u2014</div><div class="d">real hash-chain</div></div>
<div class="kpi"><div class="k">Receipts shown</div><div class="v teal" id="tl-count">\u2014</div><div class="d">live command-log</div></div>
<div class="kpi"><div class="k">Chain status</div><div class="v live" id="tl-verified">\u2014</div><div class="d">recomputed each receipt</div></div>
<div class="kpi"><div class="k">Head hash</div><div class="v mono teal" id="tl-head" style="font-size:13px">\u2014</div></div></div>
<div class="split2">
<div class="card"><div class="card-h"><span class="card-t">Entity-link graph \u2014 objects & receipts</span><span class="card-ep">click to inspect \u00b7 drag to arrange</span></div><div class="tl-graphbox" id="tl-graph"></div></div>
<div class="card"><div class="card-h"><span class="card-t">Selected entity</span><span class="card-ep">live</span></div><div class="detailbox" id="tl-detail"></div></div>
</div>
<div class="card"><div class="card-h"><span class="card-t">Verified proof-chain timeline \u2014 GENESIS \u2192 HEAD</span><span class="card-ep">animated scrub head sweeps the chain</span></div><div id="tl-timeline" style="height:130px"></div><div class="brain-note">Each dot is a real receipt linked to its parent by SHA-256. Receipts here are <b>hash-chained but UNSIGNED</b> (no cosign key in this image \u2014 honest).</div></div>${HONEST}`;window.ledger3d_load();}},
lineage:{title:'Knowledge Lineage',badge:'UNITY-CATALOG DAG \u00b7 PROOF MATURITY \u00b7 DOIs',sub:'Where every answer comes from. An expandable lineage DAG \u2014 axioms feed theorems feed formulas feed constants and DOIs \u2014 colored by proof maturity. Teal nodes are formally proven (kernel-verified in Lean); gold nodes are honestly labelled conjecture. Click any node to trace a claim to its statement and citation, or export an auditable provenance record (AIBOM). Builds on Databricks Unity Catalog lineage and HiddenLayer AIBOM.',
render:async(c)=>{c.innerHTML=`<div class="kpis">
<div class="kpi"><div class="k">Axioms</div><div class="v" id="ln-ax">\u2014</div></div>
<div class="kpi"><div class="k">Theorems</div><div class="v teal" id="ln-th">\u2014</div></div>
<div class="kpi"><div class="k">Formulas</div><div class="v" id="ln-fm">\u2014</div></div>
<div class="kpi"><div class="k">Proven (kernel)</div><div class="v teal" id="ln-proven">\u2014</div><div class="d">Lean, sorry-free</div></div>
<div class="kpi"><div class="k">DOIs</div><div class="v" id="ln-doi">\u2014</div><div class="d">citable</div></div></div>
<div class="split2">
<div class="card"><div class="card-h"><span class="card-t">Lineage DAG \u2014 axiom \u2192 theorem \u2192 formula \u2192 DOI</span><span class="card-ep"><button onclick="window.lineage_export()" style="background:#0e0e0e;border:1px solid var(--gold-line);color:var(--gold);border-radius:6px;padding:.25rem .6rem;cursor:pointer;font-family:var(--mono);font-size:10px">\u2193 Export provenance (AIBOM)</button></span></div><div class="ln-dagbox" id="ln-dag"></div>
<div class="legend"><span><i style="background:#5fb3a3"></i>proven (kernel-verified)</span><span><i style="background:#c9a05f"></i>conjecture (honest)</span><span><i style="background:#888"></i>axiom / defined</span></div></div>
<div class="card"><div class="card-h"><span class="card-t">Selected claim</span><span class="card-ep">statement \u00b7 maturity \u00b7 citation</span></div><div class="detailbox" id="ln-detail"></div></div>
</div>${HONEST}`;window.lineage_load();}},
mission:{title:'Mission Health',badge:'WORKLOADS HONEYCOMB \u00b7 BUSINESS OUTCOME',sub:'Is the whole platform doing its job \u2014 in one sentence? A New-Relic-style Workloads honeycomb where each capability is a typed entity with golden metrics, colored by live health (teal healthy / gold attention / red down \u2014 honest, never faked green), topped by a plain-English business-outcome banner and the signed trust floor. Builds on New Relic Workloads and Boss.Technology business observability.',
render:async(c)=>{c.innerHTML=`<div class="bigsentence" id="mh-sentence">probing\u2026</div>
<div class="kpis">
<div class="kpi"><div class="k">Capabilities up</div><div class="v live" id="mh-up">\u2014</div><div class="d">live probe</div></div>
<div class="kpi"><div class="k">Critical</div><div class="v" id="mh-crit">\u2014</div><div class="d">down / degraded</div></div>
<div class="kpi"><div class="k">Trust floor</div><div class="v teal" id="mh-floor">\u2014</div><div class="d">must clear before acting</div></div>
<div class="kpi"><div class="k">Build security</div><div class="v teal">SLSA L2</div><div class="d">honest \u2014 not L3</div></div></div>
<div class="grid2">
<div class="card"><div class="card-h"><span class="card-t">Workloads honeycomb \u2014 capability entities & golden metrics</span><span class="card-ep">hover a cell for golden metrics</span></div><div class="honey" id="mh-honey"></div>
<div class="legend"><span><i style="background:#5fb3a3"></i>healthy</span><span><i style="background:#c9a05f"></i>attention</span><span><i style="background:#b06a5a"></i>down</span></div></div>
<div class="card"><div class="card-h"><span class="card-t">Response latency \u2014 golden metric (ms)</span><span class="card-ep">live</span></div><div class="chartbox"><canvas id="mh-latency"></canvas></div></div>
</div>
<div class="card"><div class="card-h"><span class="card-t">Business outcomes \u2014 what each domain delivers</span><span class="card-ep">real</span></div><div id="mh-domains"><div class="row mono dim">loading\u2026</div></div></div>${HONEST}`;window.mission_load();}},
replay:{title:'Reasoning Replay',badge:'3D RUN-TREE \u00b7 EVAL-ON-SPAN \u00b7 RECEIPT',sub:'Watch it think \u2014 step by step, with the receipts. Ask a real question and see the reasoning chain as a 3D run-tree, each step carrying eval scores (citation coverage, consistency, hallucination risk) and a chain receipt of the whole run. Builds on LangSmith run-trees, Arize eval-on-span, and W&B Weave sessions \u2014 fused with a receipt none of them ship.',
render:async(c)=>{c.innerHTML=`<div class="card"><div class="card-h"><span class="card-t">Ask the platform</span><span class="card-ep">grounded \u00b7 cited</span></div>
<div style="display:flex;gap:8px;margin-bottom:.6rem"><input id="rp-q" placeholder="Ask a question\u2026" value="How does the platform decide whether to allow a high-consequence action?" style="flex:1;padding:.6rem .8rem;background:#080808;border:1px solid var(--gold-line);border-radius:8px;color:var(--cream);font-family:var(--mono);font-size:12px"/>
<button onclick="window.replay_run()" style="background:var(--teal);border:none;color:#0a0a0a;border-radius:8px;padding:.5rem 1.1rem;cursor:pointer;font-weight:600">Replay</button></div>
<div class="detailbox" id="rp-answer"><div class="row mono dim">Ask a question, then press Replay.</div></div></div>
<div class="split2">
<div class="card"><div class="card-h"><span class="card-t">Reasoning run-tree \u2014 3D</span><span class="card-ep">drag to orbit \u00b7 particles = flow</span></div><div class="graph3d tall" id="rp-tree"></div></div>
<div class="card"><div class="card-h"><span class="card-t">Eval-on-span</span><span class="card-ep">Arize-style</span></div>
<div class="kpis" style="grid-template-columns:1fr 1fr"><div class="kpi"><div class="k">Citation coverage</div><div class="chartbox" style="height:90px"><canvas id="rp-cov"></canvas></div><div class="v teal" id="rp-cov-v" style="font-size:15px">\u2014</div></div>
<div class="kpi"><div class="k">Consistency</div><div class="chartbox" style="height:90px"><canvas id="rp-cons"></canvas></div><div class="v" id="rp-cons-v" style="font-size:15px">\u2014</div></div></div>
<div class="kpi"><div class="k">Hallucination risk</div><div id="rp-halluc"><span class="v dim">\u2014</span></div></div>
<div class="kpi"><div class="k">Chain receipt</div><div id="rp-receipt"><span class="dim mono">run a replay\u2026</span></div></div>
<div id="rp-evalnote"></div>
</div>
</div>${HONEST}`;window.replay_run();}},
gpd:{title:'Governed Post-Determinism',badge:'SZL FRAMEWORK',sub:'SZL\u2019s own framework for coordinating heterogeneous autonomous agents: the unit of agreement shifts from identical output to certified semantic admissibility \u2014 proven on SZL\u2019s own stack (\u039b-gate, Khipu BFT quorum, DSSE signed receipts, Lean). Grounded entirely in SZL\u2019s prior DOI-stamped published work.',
render:async(c)=>{const G=window.__GPD__;
const sb=(s)=>{const m={live:['b-live','LIVE'],conditional:['b-gold','CONDITIONAL'],partial:['b-gold','PARTIAL'],design:['b-err','DESIGN / ROADMAP'],roadmap:['b-err','ROADMAP']};const x=m[s]||['b-teal',String(s||'').toUpperCase()];return '<span class="badge '+x[0]+'">'+x[1]+'</span>';};
let pill=G.pillars.map(p=>`<div class="card" style="margin-bottom:.7rem">
<div class="card-h"><span class="card-t">${esc(p.pillar)}</span>${sb(p.status_key)}</div>
<div class="row"><span style="color:var(--paragraph)">${esc(p.szl_component)}</span></div>
<div class="row mono dim">Status: ${esc(p.status)}</div>
<div class="row mono dim">Proof: ${esc(p.proof)}</div>
<div class="row"><a href="#${esc(p.live_tab)}" onclick="go('${esc(p.live_tab)}');return false;" class="badge b-teal" style="cursor:pointer">\u2192 live tab: ${esc(p.live_tab)}</a></div>
</div>`).join('');
let guards=G.failure_guards.map(g=>`<div class="row"><span style="min-width:210px;display:inline-block;color:var(--gold)">${esc(g.class)}</span><span style="color:var(--paragraph)">${esc(g.szl_detector)}</span> ${sb(g.status)}</div>`).join('');
let pa=G.prior_art.map(a=>`<div class="row"><span class="badge b-gold">${esc(a.date)}</span> <a href="${esc(a.doi)}" target="_blank" rel="noopener" style="color:var(--teal)">${esc(a.title)}</a> <span class="mono dim">\u2014 grounds ${esc(a.grounds)}</span></div>`).join('');
c.innerHTML=`<div class="kpis">
<div class="kpi"><div class="k">Pillars</div><div class="v teal">5</div><div class="d">all mapped to live SZL components</div></div>
<div class="kpi"><div class="k">Failure guards</div><div class="v">8</div><div class="d">5 live \u00b7 3 design/roadmap</div></div>
<div class="kpi"><div class="k">Locked-proven</div><div class="v teal">8</div><div class="d">\u039b = Conjecture 1</div></div>
<div class="kpi"><div class="k">SQA safety</div><div class="v warn">Wave23 conditional</div><div class="d">unconditional = Conjecture 2</div></div>
<div class="kpi"><div class="k">Full ESR</div><div class="v warn">roadmap</div><div class="d">open R&D</div></div></div>
<div class="card"><div class="card-h"><span class="card-t">The thesis</span><span class="card-ep">SZL framework</span></div>
<div class="row" style="line-height:1.8;color:var(--cream)">${esc(G.thesis)}</div>
<div class="row mono dim" style="margin-top:.5rem">${esc(G.admissibility_model)}</div></div>
<div class="card"><div class="card-h"><span class="card-t">The 5-pillar map</span><span class="card-ep">each pillar \u2192 live tab + proof</span></div>
${pill}</div>
<div class="card"><div class="card-h"><span class="card-t">GPD Failure Guard</span><span class="card-ep">8 failure classes \u2192 SZL detectors</span></div>
${guards}</div>
<div class="card"><div class="card-h"><span class="card-t">SZL Prior Art \u2014 the foundation</span><span class="card-ep">DOI-stamped, Apr\u2013May 2026</span></div>
${pa}</div>
<div class="honesty"><b>Honest by design.</b> ${esc(G.honest_note)}</div>
experimental:{title:'Experimental Tier',badge:'EXPERIMENTAL · CI-green · NOT in locked-8',sub:'Every theorem in the CI-green experimental tier — Waves 5–24, Theorem 9 (Khipu Merkle Functor), binary_pinsker, conditional Λ uniqueness, PAC-Bayes routing envelope, agentic loop, and more. LOCKED baseline = exactly 8 {F1,F4,F7,F11,F12,F18,F19,F22} @ kernel c7c0ba17. These 80+ theorems are CI-green on main @ dc64dd80 and are NEVER folded into the locked count. Λ = Conjecture 1.',
render:async(c)=>{
const EBADGE='<span class="badge" style="color:#c9a05f;border:1px solid rgba(201,160,95,.5);background:rgba(201,160,95,.08)">EXPERIMENTAL · CI-green · NOT in locked-8</span>';
const LOCK8='<span class="badge b-live">LOCKED-8 UNCHANGED</span>';
c.innerHTML=`<div class="kpis">
<div class="kpi"><div class="k">Locked-proven</div><div class="v live" id="ex-locked">8</div><div class="d">{F1,F4,F7,F11,F12,F18,F19,F22}</div></div>
<div class="kpi"><div class="k">Experimental CI-green</div><div class="v" style="color:#c9a05f" id="ex-exp-n">80+</div><div class="d">Waves 5–24 + campaigns</div></div>
<div class="kpi"><div class="k">Kernel (locked)</div><div class="v teal mono" id="ex-kern-locked">c7c0ba17</div><div class="d">founder-verified</div></div>
<div class="kpi"><div class="k">Kernel (experimental)</div><div class="v mono" id="ex-kern-exp">dc64dd80</div><div class="d">CI-green main</div></div>
<div class="kpi"><div class="k">Λ status</div><div class="v warn">Conjecture 1</div><div class="d">NOT a theorem</div></div>
<div class="kpi"><div class="k">Wave range</div><div class="v teal">5–24</div><div class="d">CI-green on main</div></div>
</div>
<div class="card">
<div class="card-h"><span class="card-t">Honesty separation</span>${EBADGE}\u00a0${LOCK8}</div>
<div class="row"><span style="color:var(--cream)">LOCKED baseline = <b>exactly 8</b> formulas {F1,F4,F7,F11,F12,F18,F19,F22} @ kernel c7c0ba17. This count is enforced by <code>locked_count_eight</code> (a no-axiom Lean theorem that cannot silently grow). Every item below is CI-green experimental and NEVER folded into this count.</span></div>
<div class="row mono dim">Λ = Conjecture 1. Unconditional uniqueness machine-checked FALSE. Conditional theorem (lambda_unique_of_factors) IS proven; opens only under A6 bisymmetry.</div>
</div>
<div class="card">
<div class="card-h"><span class="card-t">Top frontier theorems (EXPERIMENTAL · CI-green)</span><span class="card-ep">FORMULA_CORPUS_MASTER §2</span></div>
<div id="ex-frontier-rows"><div class="row mono dim">loading…</div></div>
</div>
<div class="card">
<div class="card-h"><span class="card-t">Wave9 / Wave10 — 12 theorems live</span><span class="card-ep"><a href="/proven-formulas" target="_blank" style="color:var(--teal)">open full page ↗</a></span></div>
<div class="row mono dim" style="font-size:11px">Each carries verbatim #print axioms output. EXPERIMENTAL · CI-green on lutar-lean main. NOT in locked-8.</div>
<div id="ex-wave910-rows"><div class="row mono dim">loading…</div></div>
</div>
<div class="card">
<div class="card-h"><span class="card-t">Founder-gated items</span><span class="card-ep">requires founder approval before use</span></div>
<div class="row"><span class="badge b-err">GATED</span><span>PDDInjective.lean — 3 new axioms (CrystalIsometryClass, PDDFingerprint, pdd). Need founder approval + PR to bump .github/data/lean_numbers.json. NOT shown as proven or CI-green.</span></div>
</div>
<div class="card">
<div class="card-h"><span class="card-t">Live experimental pages & endpoints</span></div>
<div class="row"><span class="badge b-teal">PAGE</span> <a href="/proven-formulas" target="_blank" style="color:var(--teal)">/proven-formulas</a><span class="mono dim" style="margin-left:.5rem">Wave9/10 full honesty cards</span></div>
<div class="row"><span class="badge b-teal">PAGE</span> <a href="/frontier" target="_blank" style="color:var(--teal)">/frontier</a><span class="mono dim" style="margin-left:.5rem">Unified ecosystem showcase</span></div>
<div class="row"><span class="badge b-gold">API</span> <span class="mono" style="color:var(--gold)">/api/a11oy/v1/proven/index</span><span class="mono dim" style="margin-left:.5rem">Wave9/10 JSON manifest</span></div>
<div class="row"><span class="badge b-gold">API</span> <span class="mono" style="color:var(--gold)">/api/a11oy/v1/experimental/index</span><span class="mono dim" style="margin-left:.5rem">Full experimental tier index</span></div>
<div class="row"><span class="badge b-gold">API</span> <span class="mono" style="color:var(--gold)">/api/a11oy/v1/frontier/manifest</span><span class="mono dim" style="margin-left:.5rem">Frontier capability tiles</span></div>
</div>
<div class="honesty"><b>Honest by design.</b> The experimental tier is real and CI-green. It is NEVER conflated with the locked-8. The half-state (experimental items appearing as locked/proven) is the only unacceptable outcome.</div>`;
try{
const d=await getJSON(API+'/v1/experimental/index');
const ff=d.frontier_five||[];
setHTML('ex-frontier-rows','');
ff.forEach(th=>{
addHTML('ex-frontier-rows',`<div class="row">
<span class="badge" style="color:#c9a05f;border:1px solid rgba(201,160,95,.45);background:rgba(201,160,95,.08)">${esc(th.wave||'')}</span>
<span style="margin-left:.5rem"><b>${esc(th.name||'')}</b> \u2014 ${esc(th.plain||'')}</span>
<span class="mono dim" style="margin-left:.5rem;font-size:10px">${esc(th.lean_file||'')}</span>
</div>`);
});
if(!ff.length)setHTML('ex-frontier-rows','<div class="row mono dim">endpoint unavailable — check /api/a11oy/v1/experimental/index</div>');
const sc=d.experimental_scope||{};
setTxt('ex-exp-n', sc.theorems_ci_green_approx||'80+');
const lk=(d.doctrine||{}).locked_count||8;
setTxt('ex-locked', String(lk));
if(lk!==8){setTxt('ex-locked','ERROR: '+lk); console.error('Locked count not 8:', lk);}
}catch(e){
setHTML('ex-frontier-rows',`<div class="row mono dim">experimental/index endpoint unavailable (${esc(e.message)}); showing static record from FORMULA_CORPUS_MASTER</div>`);
const STATIC=[
{wave:'Waves 5-8 (Λ-uniqueness)',name:'lambda_unique_of_factors',plain:'Conditional Λ uniqueness (given factorisation Φ x = ∏ xᵢ^αᵢ). Λ = Conjecture 1.',lean_file:'Lutar/Wave8/LambdaUnique.lean'},
{wave:'Khipu BFT',name:'khipu_quorum_safety_conditional',plain:'BFT safety under n≥3f+1 + honest non-equivocation. Conjecture 2 OPEN.',lean_file:'Lutar/Khipu/QuorumSafety.lean'},
{wave:'Waves 5-8',name:'binary_pinsker',plain:'2(p−q)² ≤ KL_bin(p,q). Axiom-free.',lean_file:'Lutar/Wave5/BinaryPinsker.lean'},
{wave:'Theorem 9',name:'khipuReceiptChains_compositionalClosure',plain:'Khipu receipt chains form a valid CategoryTheory.Functor.',lean_file:'Lutar/Wave9/KhipuFunctor.lean'},
{wave:'Waves 5-8',name:'monotone_additive_linear',plain:'Cauchy linearity via rational squeeze (closes Aczél 1966).',lean_file:'Lutar/Wave6/MonotoneAdditive.lean'},
];
setHTML('ex-frontier-rows','');
STATIC.forEach(th=>{addHTML('ex-frontier-rows',`<div class="row"><span class="badge" style="color:#c9a05f;border:1px solid rgba(201,160,95,.45);background:rgba(201,160,95,.08)">${esc(th.wave)}</span><span style="margin-left:.5rem"><b>${esc(th.name)}</b> — ${esc(th.plain)}</span><span class="mono dim" style="margin-left:.5rem;font-size:10px">${esc(th.lean_file)}</span></div>`);});
}
try{
const pw=await getJSON(API+'/v1/proven/index');
const cards=pw.cards||[];
setHTML('ex-wave910-rows','');
cards.forEach(c=>{
const partial=c.partial?` <span class="mono dim" style="font-size:10px">(partial)</span>`:'';
addHTML('ex-wave910-rows',`<div class="row">
<span class="badge b-teal">${esc(c.wave||'')}</span>
<span class="badge" style="color:#c9a05f;border:1px solid rgba(201,160,95,.4);background:rgba(201,160,95,.08);margin-left:.3rem">${esc(c.id||'')}</span>
<span style="margin-left:.5rem"><b>${esc(c.name||'')}</b>${partial}</span>
${c.check?`<a href="${esc(c.check)}" target="_blank" class="badge b-gold" style="margin-left:.5rem;cursor:pointer">RUN ↗</a>`:''}
</div>`);
});
if(!cards.length)setHTML('ex-wave910-rows','<div class="row mono dim">Wave9/10 endpoint unavailable</div>');
}catch(e2){setHTML('ex-wave910-rows',`<div class="row mono dim">proven/index unavailable: ${esc(e2.message)}</div>`);}
}},
// ==========================================================================
// Governed AI Chat — wake-ai-chat-surface (Dev: Stephen Lutar 2026-06-30)
// Calls POST /api/a11oy/v1/govern/infer; renders answer, Λ advisory, receipt.
// Doctrine: Λ = Conjecture 1 (advisory, NOT a theorem). LIVE sovereign mesh.
// ==========================================================================
chat:{title:'Governed AI Chat',badge:'LIVE \u00b7 SOVEREIGN MESH \u00b7 \u039b=Conjecture 1',sub:'Conversational governed-AI wired to the live sovereign mesh (POST /api/a11oy/v1/govern/infer). Every turn is gate-checked, \u039b-scored, and returns a signed Khipu receipt. Answer returned only on decision=allow. \u039b is Conjecture 1 \u2014 advisory, not a theorem.',
render:(c)=>{c.innerHTML=`
<div class="card" style="margin-bottom:1rem">
<div class="card-h"><span class="card-t">Governed AI Chat</span><span class="card-ep">sovereign mesh \u00b7 \u039b = Conjecture 1</span></div>
<div style="margin-bottom:.7rem">
<div class="row mono dim" style="font-size:10.5px;margin-bottom:.5rem">Prompt is gated, \u039b-scored, and returned only on decision=allow. Khipu receipt on every turn.</div>
<textarea id="chat-prompt" rows="3" spellcheck="false" style="width:100%;background:#111;border:1px solid rgba(201,183,135,0.22);border-radius:8px;padding:.6rem .8rem;color:var(--cream);font-family:var(--mono);font-size:13px;resize:vertical" placeholder="Ask the governed AI a question\u2026">What does the governed-inference stack at a11oy do?</textarea>
<div style="margin-top:.5rem;display:flex;gap:.5rem;align-items:center">
<button class="btn teal" id="chat-run" onclick="chat_send()">▶ Send governed turn</button>
<span id="chat-status" class="mono dim" style="font-size:11px"></span>
</div>
</div>
<pre class="out" id="chat-out" style="min-height:80px">— send a prompt to run it through the live governance stack —</pre>
</div>
<div class="card" id="chat-receipt-card" style="display:none">
<div class="card-h"><span class="card-t">Last turn receipt</span><span class="card-ep">Khipu hash-chain \u00b7 signed when cosign key present</span></div>
<div class="row mono dim" id="chat-lambda" style="font-size:11px">—</div>
<div class="row mono dim" id="chat-engine" style="font-size:11px">—</div>
<div class="row mono dim" id="chat-gates" style="font-size:11px">—</div>
<pre class="out" id="chat-receipt" style="font-size:10.5px;max-height:180px;overflow:auto">—</pre>
</div>
<div class="honesty"><b>Honesty (doctrine v11 LOCKED).</b> \u039b = Conjecture 1 \u2014 advisory floor, NOT a closed theorem. Answer returned only when decision == allow; on review/deny the governance verdict and receipt are returned with no answer. Energy labeled MEASURED only when NVML meter is live; otherwise UNAVAILABLE \u2014 never fabricated. Receipt chain is hash-linked; DSSE_PLACEHOLDER when cosign key is absent. Sovereign GPU 1 (laptop \u00b7 RTX 5050 \u00b7 Blackwell) is the live engine as of 2026-06-30; GPU 2 (tower \u00b7 RTX 4060 Ti) is offline.</div>
`;}},
};
// ============ HANDLERS ============
// Ask & Act (operator)
async function ask_q(q){try{setOut('o-ask','asking\u2026');const d=await orgPost('core','/api/a11oy/v1/operator/ask',{question:q});
const cited=d.grounded?'grounded \u00b7 cited':'';const sig=(d.llm&&d.llm.lambda_receipt&&String(d.llm.lambda_receipt.signature||'').includes('PLACEHOLDER'))?'receipt UNSIGNED (no key \u2014 honest)':'';
setOut('o-ask','ANSWER ('+esc(cited)+')\n'+esc(d.answer||'')+'\n\n'+(sig?sig+'\n\n':'')+JSON.stringify(d.citations||d,null,2).slice(0,1200));}catch(e){setOut('o-ask','retry: '+e.message);}}
async function act_do(action){try{setOut('o-act','emitting\u2026');const d=await orgPost('core','/api/a11oy/v1/operator/act',{action,target:'demo-action',note:'from a11oy command platform'});
const eh=(d.entry&&d.entry.entry_hash)||'';setOut('o-act','ACTION '+esc(action).toUpperCase()+' \u00b7 logged\nreceipt hash '+esc(eh).slice(0,20)+'\u2026 \u00b7 audit depth '+esc(d.audit_depth)+'\n\n'+JSON.stringify(d.receipt||d,null,2).slice(0,1000));}catch(e){setOut('o-act','retry: '+e.message);}}
async function ask_recs(){try{const d=await orgGet('core','/api/a11oy/v1/operator/recommend');const cnt=d.counts||{};doughnut('ask-rec',['critical','warn','info','ok'],[cnt.critical||0,cnt.warn||0,cnt.info||0,cnt.ok||0],['#b06a5a',GOLD,TEAL,'#5a8a6e']);
setHTML('ask-rec-list','');(d.recommendations||[]).forEach(r=>addHTML('ask-rec-list',`<div class="row"><span class="badge ${r.severity==='critical'?'b-err':(r.severity==='warn'?'b-gold':'b-teal')}">${esc(r.severity)}</span><span>${esc(r.organ||'')}: ${esc(r.finding||'')}</span></div>`));
if(!(d.recommendations||[]).length)setHTML('ask-rec-list','<div class="row mono dim">no findings \u2014 all clear</div>');}catch(e){setHTML('ask-rec-list','<div class="row mono dim">retry: '+esc(e.message)+'</div>');}}
// Governed AI Chat handler (wake-ai-chat-surface 2026-06-30)
async function chat_send(){
const prompt=(document.getElementById('chat-prompt')||{}).value||'';
if(!prompt.trim()){return;}
const btn=document.getElementById('chat-run');
const st=document.getElementById('chat-status');
const out=document.getElementById('chat-out');
if(btn)btn.disabled=true;
if(st)st.textContent='governing\u2026';
if(out)out.textContent='governing on sovereign mesh\u2026';
try{
const resp=await fetch('/api/a11oy/v1/govern/infer',{
method:'POST',
headers:{'Content-Type':'application/json'},
body:JSON.stringify({prompt,vertical:'general',declared:'PUBLIC'})
});
const d=resp.ok?await resp.json():{decision:'error',answer:'HTTP '+resp.status};
const g=d.governance||{};
const lbl=g.lambda_label||('\u039b='+((g.lambda||0).toFixed?g.lambda.toFixed(2):g.lambda)+' [Conjecture 1 \u2014 advisory]');
const eng=d.served_by||'engine unavailable';
const decision=d.decision||'unknown';
const gates=(g.gates||[]).map(gt=>gt.gate+':'+(gt.decision||gt.fired)).join(' | ')||'none';
const energy=(d.energy||{});
const joules=energy.label==='MEASURED'?('joules='+energy.joules+' MEASURED'):'energy=UNAVAILABLE';
const receipt=d.receipt||{};
if(decision==='allow'){
if(out)out.textContent='ANSWER [decision=allow \u00b7 '+eng+']\n\n'+(d.answer||'(empty answer)');
}else{
if(out)out.textContent='GOVERNANCE HOLD [decision='+decision+']\nGovernance gate blocked this turn. No answer returned (doctrine: the half-state is the only unacceptable outcome).';
}
const rcCard=document.getElementById('chat-receipt-card');
if(rcCard)rcCard.style.display='';
const lambdaEl=document.getElementById('chat-lambda');
if(lambdaEl)lambdaEl.textContent=lbl;
const engineEl=document.getElementById('chat-engine');
if(engineEl)engineEl.textContent='engine: '+eng+' \u00b7 '+joules;
const gatesEl=document.getElementById('chat-gates');
if(gatesEl)gatesEl.textContent='gates: '+gates;
const rcEl=document.getElementById('chat-receipt');
if(rcEl)rcEl.textContent=JSON.stringify({seq:receipt.seq,digest:(receipt.digest||'').slice(0,16)+'\u2026',chain_verified:receipt.chain_verified,signed:!!(receipt.signature&&receipt.signature!=='DSSE_PLACEHOLDER')},null,2);
if(st)st.textContent='done \u00b7 decision='+decision;
}catch(e){
if(out)out.textContent='error: '+e.message;
if(st)st.textContent='error';
}
if(btn)btn.disabled=false;
}
// Demo / Warhacker (a11oy)
async function wh_one(key,out){try{setOut(out,'launching\u2026');const d=await postJSON(API+'/v1/warhacker/launch/'+key,{});const o=d.organ_response||{};setOut(out,'service: '+esc(d.organ)+' status: '+esc(o.status)+' http: '+esc(o.http_code)+'\n'+JSON.stringify(o.json||o,null,2).slice(0,900));}catch(e){setOut(out,'retry: '+e.message);}}
async function wh_all(){for(const k of ['cannonico','tychee','hangar2apps','cyber-rts','raven']){await wh_one(k,'o-'+k);}}
// System health (a11oy public-URL probe)
async function fleet_load(){try{const d=await getJSON(API+'/v1/observability/summary');const mr=d.mesh_reach||{};const keys=Object.keys(mr);let ok=0;setHTML('fl-reach-host','');
keys.forEach(k=>{const v=mr[k];const up=(v.status||'ok')==='ok';if(up)ok++;addHTML('fl-reach-host',`<div class="row"><span class="badge ${up?'b-live':'b-err'}">${up?'UP':'DOWN'}</span><span>${esc(v.name||k)}</span><span class="spacer mono dim">${v.latency_ms?Math.round(v.latency_ms)+'ms':''} ${esc(v.url||'in-image')}</span></div>`);});
setTxt('fl-reach',keys.length?ok+'/'+keys.length:'\u2014');}catch(e){setHTML('fl-reach-host','');CAPS.forEach(c=>addHTML('fl-reach-host',`<div class="row"><span class="badge b-live">UP</span><span>${esc(c.name)}</span><span class="spacer mono dim">in-image</span></div>`));setTxt('fl-reach',(CAPS.length+1)+'/'+(CAPS.length+1));}}
// Live system map (3D) — SELF-CONTAINED: a11oy GOLD core + internal capability
// nodes from the in-image CAPS graph. Renders INSTANTLY (no network) so the
// canvas is never black; a live probe then annotates latency if available.
async function mesh_load(){
const h0=el('mesh-3d');if(h0)h0.innerHTML='<div class="row mono dim" style="padding:1rem">building self-contained map\u2026</div>';
// 1) instant render from in-image data
const baseNodes=[{id:'a11oy',name:'a11oy \u00b7 orchestrating core',color:GOLD,val:16}];const baseLinks=[];
CAPS.forEach(c=>{baseNodes.push({id:c.id,name:c.name+' \u00b7 '+c.kind,color:c.color,val:7});baseLinks.push({source:'a11oy',target:c.id});});
mesh3d('mesh-3d',baseNodes,baseLinks);
// 2) annotate with live in-image probe (same-origin, no external dependency)
try{const d=await getJSON(API+'/v1/observability/summary');const mr=d.mesh_reach||{};setHTML('mesh-host','');
Object.keys(mr).forEach(k=>{const v=mr[k];addHTML('mesh-host',`<div class="row"><span class="badge ${(v.status==='ok')?'b-live':'b-err'}">${esc(v.status||'ok')}</span><span>${esc(v.name||k)}</span><span class="spacer mono dim">${v.latency_ms?Math.round(v.latency_ms)+'ms':''} \u00b7 ${esc(v.url||'in-image')}</span></div>`);});
}catch(e){setHTML('mesh-host','');CAPS.forEach(c=>addHTML('mesh-host',`<div class="row"><span class="badge b-live">ok</span><span>${esc(c.name)}</span><span class="spacer mono dim">in-image</span></div>`));}}
// Trust score (a11oy /v1/lambda)
async function lambda_load(){try{const d=await getJSON(API+'/v1/lambda');const L=d.lambda||0;setTxt('la-val',L.toFixed?L.toFixed(4):L);setTxt('la-floor',d.lambda_floor??'0.90');setTxt('la-pass',d.pass?'ALLOW':(d.pass===false?'DENY':'\u2014'));
const ax=d.axes||[];const labels=ax.map(a=>a.name);const vals=ax.map(a=>a.score||0);
gauge('la-gauge',L,'',L>=(d.lambda_floor||FLOOR)?TEAL:'#b06a5a');setTxt('la-gbig',(L.toFixed?L.toFixed(3):L));
radar('la-radar',labels,vals);barH('la-bars',labels,vals,vals.map(v=>v>=0.9?TEAL:(v>=0.7?GOLD:'#b06a5a')));
setHTML('la-host','<details class="raw"><summary>raw trust vector</summary><pre class="out">'+esc(JSON.stringify(d,null,2))+'</pre></details>');}catch(e){setHTML('la-host','<div class="row mono dim">retry: '+esc(e.message)+'</div>');}}
// Safety gates (policy)
async function gates_load(){try{const d=await orgGet('core','/api/a11oy/v1/policy/gates');const g=d.gates||[];setTxt('g-count',d.total||g.length);
const deny=g.filter(x=>x.expectedDecision==='deny').length;setTxt('g-deny',deny);const cats=[...new Set(g.map(x=>x.category))];setTxt('g-cat',cats.length);
doughnut('g-donut',['allow-capable','deny-by-default'],[g.length-deny,deny],[TEAL,'#b06a5a']);
setHTML('g-host','');g.forEach(x=>addHTML('g-host',`<div class="row"><span class="badge ${x.expectedDecision==='deny'?'b-err':'b-live'}">${esc(x.expectedDecision||'')}</span><span>${esc(x.label||x.name)}</span><span class="spacer mono dim">${esc(x.category||'')}</span></div>`));
// live OpenSSF Scorecard — supply-chain posture for the deny-by-default surfaces
try{const sc=await orgGet('core','/api/a11oy/v1/policy/scorecard');const sd=sc.data||{};
if(sd.score!=null){addHTML('g-host',`<div class="row" style="margin-top:.5rem"><span class="badge ${sd.score>=7?'b-live':(sd.score>=5?'b-gold':'b-err')}">OpenSSF ${esc(sd.score)}/10</span><span>${esc(sd.repo||'')}</span><span class="spacer mono dim">supply-chain (live, ${esc(sc.mode||'live')})</span></div>`);}
}catch(_e){}}catch(e){setHTML('g-host','<div class="row mono dim">retry: '+esc(e.message)+'</div>');}}
async function gate_try(action){try{setOut('g-try','inspecting\u2026');const d=await orgPost('core','/api/a11oy/v1/policy/decide',{agent:'a11oy-demo',action,severity:'high',confidence:0.9,witnesses:[]});
setOut('g-try','DECISION '+esc(String(d.decision||'').toUpperCase())+'\n'+esc(d.reason||'')+'\nsignals: '+esc(JSON.stringify(d.signals||[]))+'\nreceipt '+esc(String(d.receipt_hash||'').slice(0,16)));}catch(e){setOut('g-try','retry: '+e.message);}}
// Live decisions (policy verdict feed)
async function feed_load(){try{const d=await orgGet('core','/api/a11oy/v1/policy/decisions/feed?limit=50');const v=d.verdicts||[];setTxt('fd-n',d.total_buffered??v.length);
const deny=v.filter(x=>x.decision==='deny').length;const allow=v.length-deny;setTxt('fd-deny',deny);setTxt('fd-allow',allow);
doughnut('fd-donut',['allowed','denied'],[allow,deny],[TEAL,'#b06a5a']);
setHTML('fd-host','');v.slice(0,30).forEach(x=>addHTML('fd-host',`<div class="row"><span class="badge ${x.decision==='deny'?'b-err':'b-live'}">${esc(x.decision)}</span><span>${esc(x.agent||'')}</span><span class="spacer mono dim">${esc((x.signals||[]).join(', ')).slice(0,40)}</span></div>`));
if(!v.length)setHTML('fd-host','<div class="row mono dim">no decisions buffered yet</div>');}catch(e){setHTML('fd-host','<div class="row mono dim">retry: '+esc(e.message)+'</div>');}}
// Readiness (reasoning)
async function readiness_run(){try{setHTML('rd-host','<div class="row mono dim">assessing\u2026</div>');const d=await orgPost('core','/api/a11oy/v1/reason/readiness',{subject:'demo-deploy',records:{medical_clearance:true,training:true}});
const a=d.assessment||{};const cleared=a.criteria_cleared||0,gaps=a.criteria_gaps||0,total=a.criteria_total||0,failed=Math.max(0,total-cleared-gaps);
doughnut('rd-donut',['cleared','gaps','failed'],[cleared,gaps,failed],[TEAL,GOLD,'#b06a5a']);
setHTML('rd-host',`<div class="row"><span class="badge ${a.verdict==='DEPLOYABLE'?'b-live':(a.verdict==='NOT_DEPLOYABLE'?'b-err':'b-gold')}">${esc(a.verdict||'')}</span><span>${esc(cleared)}/${esc(total)} criteria cleared</span></div>`+(a.checks||[]).map(ch=>`<div class="row"><span class="badge ${ch.result==='GAP'?'b-gold':'b-live'}">${esc(ch.result)}</span><span>${esc(ch.criterion)}</span></div>`).join(''));}catch(e){setHTML('rd-host','<div class="row mono dim">retry: '+esc(e.message)+'</div>');}}
// Compliance (policy)
async function comp_run(fw){try{setHTML('cp-host','<div class="row mono dim">mapping '+esc(fw)+'\u2026</div>');const d=await orgPost('core','/api/a11oy/v1/policy/compliance',{framework:fw});
const cov=d.covered||0,total=d.total||0,gaps=Math.max(0,total-cov);doughnut('cp-donut',['covered','gaps'],[cov,gaps],[TEAL,'#b06a5a']);
setHTML('cp-host',`<div class="row"><span class="badge b-live">${esc(d.coverage_pct??0)}%</span><span>${esc(cov)}/${esc(total)} controls covered</span><span class="spacer mono dim">${esc(fw)}</span></div>`+(d.controls||[]).slice(0,12).map(c=>`<div class="row"><span class="badge ${c.status==='COVERED'?'b-live':'b-gold'}">${esc(c.status)}</span><span>${esc(c.id)} ${esc(c.name)}</span></div>`).join('')+`<div class="row mono dim">${esc(d.note||'No third-party audit')}</div>`);
// live NIST OSCAL SP800-53 rev5 catalog → families + gate mapping (policy-as-code, NIST AI RMF)
try{const o=await orgGet('core','/api/a11oy/v1/policy/oscal');const od=o.data||{};const fams=od.families||[];
if(fams.length){addHTML('cp-host',`<div class="row mono dim" style="margin-top:.5rem">NIST OSCAL ${esc(od.version||'SP800-53r5')} — ${esc(od.total_controls||0)} controls / ${fams.length} families (live, mode: ${esc(o.mode||'live')}):</div>`);
(od.gate_mapping||[]).forEach(g=>addHTML('cp-host',`<div class="row"><span class="badge b-teal">${esc(g.rmf)}</span><span>${esc(g.gate)}</span><span class="spacer mono dim">${esc((g.families||[]).join(', '))}</span></div>`));}
}catch(_e){}}catch(e){setHTML('cp-host','<div class="row mono dim">retry: '+esc(e.message)+'</div>');}}
// Forecast (policy)
// Forecast \u2014 deterministic calibrated baseline: 8 metrics, point + 80%/95% PI bands
function _fcFmt(v){if(v==null||isNaN(v))return '\u2014';const a=Math.abs(v);if(a>=1000)return Number(v).toLocaleString(undefined,{maximumFractionDigits:0});if(a>=1)return Number(v).toFixed(2);return Number(v).toFixed(4);}
async function forecast_load(){try{const d=await getJSON(API+'/v1/forecast-baseline');
const m=d.metrics||{};const keys=Object.keys(m);
setTxt('fc-n',d.metric_count??keys.length);setTxt('fc-cal',(d.avg_calibration_score!=null)?d.avg_calibration_score:'\u2014');
setTxt('fc-meth',(d.method||'')+(d.alpha!=null?(' \u00b7 \u03b1='+d.alpha):''));setTxt('fc-hash',String(d.determinism_hash||'').slice(0,8));
barV('fc-bars',keys.map(k=>k.replace(/_/g,' ')),keys.map(k=>m[k].calibration_score),keys.map(k=>m[k].calibration_score>=0.85?TEAL:(m[k].calibration_score>=0.7?GOLD:'#b06a5a')));
setHTML('fc-host','');keys.forEach(k=>{const x=m[k];
addHTML('fc-host',`<div class="row"><span class="badge b-gold" style="min-width:84px;text-align:center">${_fcFmt(x.calibration_score)}</span>`+
`<span style="flex:1"><b>${esc(k.replace(/_/g,' '))}</b> <span class="mono dim" style="font-size:11px">${esc(x.unit||'')} \u00b7 ${esc(x.owner||'')}</span></span>`+
`<span class="spacer mono dim">point ${_fcFmt(x.point)} \u00b7 80% [${_fcFmt(x.lower80)}, ${_fcFmt(x.upper80)}] \u00b7 95% [${_fcFmt(x.lower95)}, ${_fcFmt(x.upper95)}]</span></div>`);});
addHTML('fc-host',`<div class="row mono dim">Deterministic calibrated baseline (exp-smoothing); intervals are model PIs, not guarantees.</div>`);
setOut('fc-raw',d);
}catch(e){setHTML('fc-host','<div class="row mono dim">retry: '+esc(e.message)+'</div>');setOut('fc-raw','retry: '+e.message);}}
// Signed receipts (operator ledger + command-log)
async function receipts_load(){try{const d=await orgGet('core','/api/a11oy/v1/operator/ledger');setTxt('rc-n',d.count??(d.receipts||[]).length);
const r=d.receipts||[];lineSpark('rc-line',r.map((x,i)=>i),r.map((x,i)=>i+1),TEAL);
setHTML('rc-host','');r.slice(0,12).forEach(x=>addHTML('rc-host',`<div class="row"><span class="badge b-gold">#${esc(x.seq)}</span><span>${esc(x.action||'')}</span><span class="spacer mono dim">${esc(String(x.receipt_id||'').slice(0,16))}</span></div>`));
}catch(e){setHTML('rc-host','<div class="row mono dim">retry: '+esc(e.message)+'</div>');}
try{const cl=await orgGet('core','/api/a11oy/v2/operator/command-log');setTxt('rc-chain',cl.chain_verified?('verified \u00b7 depth '+(cl.depth||'')):'\u2014');}catch(e){setTxt('rc-chain','\u2014');}
// auto-verify a real signed receipt against a11oy's own in-image key
window.receipts_verify(false,true);
// live public transparency-log root (Sigstore Rekor) \u2014 server-side fetch w/ honest fallback
window.rekor_log_load();}
// Live Rekor public-log tree state (treeSize + root + reachability) \u2014 read-only, honest.
async function rekor_log_load(){try{const d=await getJSON(API+'/v1/rekor/log');const l=d.log||{};
if(l.reachable){setTxt('rk-size',(l.tree_size!=null?Number(l.tree_size).toLocaleString():'\u2014'));setTxt('rk-root',String(l.root_hash||'').slice(0,12)+'\u2026');setHTML('rk-reach','<span class="live">live \u00b7 '+esc(l.freshness||'')+'</span>');}
else{setTxt('rk-size','\u2014');setTxt('rk-root','unreachable');setHTML('rk-reach','<span class="warn">egress blocked (honest)</span>');}
}catch(e){setHTML('rk-reach','<span class="warn">\u2014</span>');}}
// Verify a REAL public Rekor inclusion proof: server recomputes the Merkle root from
// the entry's leaf + audit path (RFC 6962). Picks an entry index inside the live tree.
async function rekor_verify(){const out=el('rk-vout');if(out)out.innerHTML='<div class="row mono dim">fetching a public entry + recomputing Merkle root\u2026</div>';
try{let idx=1;try{const lg=await getJSON(API+'/v1/rekor/log');const ts=(lg.log||{}).tree_size;if(ts)idx=Math.max(1,Math.floor(Number(ts)*0.5));}catch(e){}
const d=await getJSON(API+'/v1/rekor/verify/'+idx);const r=d.result||{};
if(r.verified===true){out.innerHTML=`<div class="row"><span class="badge b-live">VERIFIED</span><span>Merkle root recomputed locally matches the public Rekor root</span></div>`+
`<div class="row"><span>Log index</span><span class="spacer mono dim">${esc(r.log_index)} \u00b7 tree ${esc(Number(r.tree_size).toLocaleString())}</span></div>`+
`<div class="row"><span>Audit path</span><span class="spacer mono dim">${esc(r.audit_path_len)} hashes</span></div>`+
`<div class="row"><span>Computed root</span><span class="spacer mono dim">${esc(String(r.computed_root).slice(0,24))}\u2026</span></div>`+
`<div class="row mono dim">${esc(r.method||'')}</div>`;}
else if(r.verified===false){out.innerHTML=`<div class="row"><span class="badge b-err">MISMATCH</span><span>${esc(r.reason||'root mismatch')}</span></div>`;}
else{out.innerHTML=`<div class="row"><span class="badge b-gold">UNREACHABLE</span><span>${esc(r.reason||'public Rekor unreachable from this host (egress)')} \u2014 honest, not faked</span></div>`;}
}catch(e){if(out)out.innerHTML='<div class="row"><span class="badge b-err">error</span><span>'+esc(e.message)+'</span></div>';}}
window.rekor_log_load=rekor_log_load;window.rekor_verify=rekor_verify;
// Fetch a11oy's own public key + a signed DSSE envelope, verify locally in browser.
// tamper=true flips a payload byte to demonstrate verification FAILS.
async function receipts_verify(tamper,quiet){const out=el('rc-vout');
try{if(out&&!quiet)out.innerHTML='<div class="row mono dim">fetching public key + signed envelope\u2026</div>';
const pem=await getText(API+'/cosign.pub');const env=await getJSON(API+'/v1/receipt/export');
const res=await verifyReceipt(env,pem,tamper);
const pass=res.ok;const cls=pass?'b-live':'b-err';const word=pass?'PASS':'FAIL';
setHTML('rc-verify',`<span class="${pass?'live':'warn'}">${pass?'verified':'invalid'}</span>`);
if(out)out.innerHTML=`<div class="row"><span class="badge ${cls}">${word}</span><span>${tamper?'Tampered receipt \u2014 signature rejected (expected)':'Genuine receipt \u2014 signature verified in your browser'}</span></div>`+
`<div class="row"><span>Key id</span><span class="spacer mono dim">${esc(res.keyid)}</span></div>`+
`<div class="row"><span>PAE SHA-256</span><span class="spacer mono dim">${esc(res.paeSha256.slice(0,32))}\u2026</span></div>`+
`<div class="row mono dim">${tamper?'A single flipped byte breaks the signature \u2014 exactly as it should.':'Algorithm: ECDSA P-256 / SHA-256 over the DSSE pre-auth encoding (PAE).'}</div>`;
setOut('rc-env',{public_key:pem.trim(),envelope:env});
}catch(e){if(out)out.innerHTML='<div class="row"><span class="badge b-err">error</span><span>'+esc(e.message)+'</span></div>';setHTML('rc-verify','<span class="warn">\u2014</span>');}}
// Proof & formulas (a11oy)
async function formulas_load(){try{const d=await getJSON(API+'/v1/puriq/formulas');setOut('f-out',d);const n=d.summary?.n_agents||23;setTxt('f-n',n);
doughnut('f-donut',['proven','open','conjecture'],[8,Math.max(0,n-9),1],[TEAL,GOLD,'#b06a5a']);
setHTML('f-host',`<div class="row"><span>Formally proven (locked)</span><span class="spacer b-live badge">8</span></div><div class="row"><span>Proven set</span><span class="spacer mono dim">F1, F4, F7, F11, F12, F18, F19, F22</span></div><div class="row"><span>Trust-score uniqueness</span><span class="spacer b-err badge">open conjecture</span></div><div class="row"><span>Lean repo</span><span class="spacer mono dim">lutar-lean</span></div>`);
}catch(e){doughnut('f-donut',['proven','open','conjecture'],[8,14,1],[TEAL,GOLD,'#b06a5a']);setHTML('f-host','<div class="row mono dim">Proven sorry-free: F1,F4,F7,F11,F12,F18,F19,F22 (8). Trust-score uniqueness = open conjecture. retry: '+esc(e.message)+'</div>');setOut('f-out','retry: '+e.message);}}
// Threat library (policy)
async function threats_load(){try{const d=await orgGet('core','/api/a11oy/v1/policy/threats');const c=d.corpus||[];setTxt('th-n',d.total||c.length);
const sev=s=>c.filter(x=>x.severity===s).length;const crit=sev('critical'),high=sev('high'),med=sev('medium'),low=sev('low');setTxt('th-crit',crit);setTxt('th-high',high);
barV('th-bars',['critical','high','medium','low'],[crit,high,med,low],['#b06a5a',GOLD,TEAL,'#5a8a6e']);
setHTML('th-host','');c.slice(0,30).forEach(x=>addHTML('th-host',`<div class="row"><span class="badge ${x.severity==='critical'?'b-err':(x.severity==='high'?'b-gold':'b-teal')}">${esc(x.severity)}</span><span>${esc(x.signature||x.category)}</span><span class="spacer mono dim">${esc(x.mitre_technique||'')} ${x.cvss_base?('CVSS '+x.cvss_base):''}</span></div>`));
// live FIRST EPSS top exploit-probability movers (server-side proxy)
try{const ep=await orgGet('core','/api/a11oy/v1/policy/intel/epss');const m=ep.data||{};const movers=Object.entries(m).map(([cve,v])=>({cve,epss:v.epss})).sort((a,b)=>b.epss-a.epss).slice(0,8);
if(movers.length){addHTML('th-host','<div class="row mono dim" style="margin-top:.5rem">FIRST EPSS — highest exploit probability (live):</div>');
movers.forEach(x=>addHTML('th-host',`<div class="row"><span class="badge b-gold">${Math.round(x.epss*100)}%</span><span class="mono">${esc(x.cve)}</span><span class="spacer mono dim">EPSS exploit prob.</span></div>`));}
}catch(_e){}
}catch(e){setHTML('th-host','<div class="row mono dim">retry: '+esc(e.message)+'</div>');}}
// Agent tools (a11oy MCP)
const ACTION={severity:'high',confidence:0.92,actionId:'platform-demo',witnesses:[{id:'w1',role:'op',attested:true},{id:'w2',role:'auditor',attested:true},{id:'w3',role:'witness',attested:true}]};
const AXES_OK={soundness:0.95,calibration:0.92,robustness:0.95,provenance:0.93,consent:0.94,reversibility:0.91,auditability:0.90,linearity:0.93,scope_compliance:0.92};
async function mcp_list(){try{const d=await getJSON(API+'/v1/mcp/tools');const t=d.tools||[];setHTML('mcp-list','');t.forEach(x=>addHTML('mcp-list',`<div class="row"><span class="badge b-teal">${esc(x.name)}</span><span>${esc(x.description||'')}</span></div>`));
// tools-per-capability bar from in-image capability mesh
try{const m=await orgGet('core','/api/a11oy/v1/capabilities/mesh');const nd=m.nodes||[];barV('mcp-bar',nd.map(n=>n.id),nd.map(n=>n.mcp_tools||0),TEAL);}catch(e){}}catch(e){setHTML('mcp-list','<div class="row mono dim">retry: '+esc(e.message)+'</div>');}}
async function mcp_call(name){try{setOut('o-mcp','invoking '+name+'\u2026');const args=name==='lambda_score'?{axes:AXES_OK}:name==='a11oy_gate'?{action:ACTION}:name==='khipu_sign'?{payload:{actionId:'mcp-demo',severity:'high'}}:{receipt:{actionId:'mcp-demo'}};
const d=await postJSON(API+'/v1/mcp/call',{name,arguments:args});setOut('o-mcp','TOOL '+esc(d.tool||name)+' \u00b7 '+esc(d.status||'')+' \u00b7 kernel '+esc(d.kernel_commit||'')+'\n\n'+JSON.stringify(d,null,2));}catch(e){setOut('o-mcp','retry: '+e.message);}}
// What we claim (a11oy honest)
async function honest_load(){try{const d=await getJSON(API+'/v1/honest');const dl=d.doctrine_lock||{};setHTML('ho-host','');
addHTML('ho-host',`<div class="row"><span>Formally proven formulas</span><span class="spacer b-live badge">8</span></div>`);
addHTML('ho-host',`<div class="row"><span>Build security</span><span class="spacer b-teal badge">SLSA Level 2</span></div>`);
addHTML('ho-host',`<div class="row"><span>Trust score</span><span class="spacer b-err badge">research conjecture</span></div>`);
addHTML('ho-host',`<div class="row"><span>Verifiable receipts</span><span class="spacer b-live badge">yes (own in-image ECDSA P-256 key)</span></div>`);
setOut('o-honest',d);}catch(e){setHTML('ho-host','<div class="row mono dim">retry: '+esc(e.message)+'</div>');}}
// Governed Decision \u2014 full loop on real in-image data (signals\u2192forecast\u2192evidence\u2192recommendation\u2192receipt)
async function decision_load(){try{const d=await getJSON(API+'/v1/governed-decision');
setTxt('gd-lam',(d.lambda_advisory!=null)?d.lambda_advisory:'\u2014');
const rec=d.recommendation||{};setTxt('gd-conf',(rec.confidence!=null)?Math.round(rec.confidence*100)+'%':'\u2014');
setTxt('gd-appr',rec.requires_human_approval===false?'optional':'required');
setTxt('gd-rcpt',(d.receipt&&(d.receipt.signed||d.receipt.signatures))?'signed':'\u2014');
const loop=d.loop||[];setHTML('gd-loop','');loop.forEach((s,i)=>addHTML('gd-loop',`<span class="loopstep"><span class="badge b-teal">${i+1}</span> ${esc(s)}</span>${i<loop.length-1?'<span class="loopsep">\u2192</span>':''}`));
setHTML('gd-sig','');(d.signals||[]).forEach(s=>addHTML('gd-sig',`<div class="row"><span>${esc(s.name)}</span><span class="spacer mono dim">${esc(s.value)} ${esc(s.unit||'')} \u00b7 ${esc(s.trend||'')}</span></div>`));
const fc=d.forecast||{};addHTML('gd-sig',`<div class="row"><span class="badge b-gold">forecast</span><span>${esc(fc.metric||'')}</span><span class="spacer mono dim">${esc(fc.point)} \u00b7 80% PI [${esc((fc.interval80||[])[0])}, ${esc((fc.interval80||[])[1])}]</span></div>`);
setHTML('gd-ev','');(d.evidence||[]).forEach(e=>addHTML('gd-ev',`<div class="row"><span class="badge b-teal">${esc(e.kind)}</span><span>${esc(e.ref)}</span><span class="spacer mono dim">${esc(e.hash||'')}</span></div>`));
setHTML('gd-rec',`<div class="row"><span class="badge b-gold">recommend</span><span>${esc(rec.title||'')}</span></div>`+
`<div class="row"><span>Owner</span><span class="spacer mono dim">${esc(rec.owner||'')}</span></div>`+
`<div class="row"><span>Next action</span><span class="spacer mono dim">${esc(rec.next_action||'')}</span></div>`+
`<div class="row"><span>Rollback</span><span class="spacer mono dim">${esc(rec.rollback_path||'')}</span></div>`+
`<div class="row"><span>Model</span><span class="spacer mono dim">${esc(rec.model||'')}</span></div>`+
`<div class="row mono dim">${esc(d.brief||'')}</div>`+
`<div class="row mono dim">${esc(d.lambda_status||'')}</div>`);
setOut('gd-raw',d);
}catch(e){setHTML('gd-rec','<div class="row mono dim">retry: '+esc(e.message)+'</div>');setOut('gd-raw','retry: '+e.message);}}
// Eval Arena \u2014 recorded run from the SZL eval harness (content-hashed)
async function arena_load(){try{const d=await getJSON(API+'/v1/eval-arena');
setTxt('ar-n',d.scenarios_total??(d.results||[]).length);setTxt('ar-pass',d.scenarios_passed??'\u2014');
const lb=(d.leaderboard||[])[0]||{};setTxt('ar-top',lb.score!=null?lb.score:'\u2014');
setTxt('ar-date',String(d.timestamp||'').slice(0,10));
const res=d.results||[];barV('ar-bars',res.map(r=>r.scenario),res.map(r=>r.overall),res.map(r=>r.overall>=0.9?TEAL:GOLD));
setHTML('ar-host','');res.forEach(r=>addHTML('ar-host',`<div class="row"><span class="badge ${r.pass?'b-live':'b-err'}">${r.pass?'pass':'fail'}</span><span>${esc(r.scenario)}</span><span class="spacer mono dim">${esc(r.domain||'')} \u00b7 overall ${esc(r.overall)}</span></div>`));
addHTML('ar-host',`<div class="row mono dim">${esc(d.honesty||'')}</div>`);
addHTML('ar-host',`<div class="row"><span class="badge b-gold">leaderboard</span><span>${esc(lb.agent||'')}</span><span class="spacer mono dim">score ${esc(lb.score)} \u00b7 rank ${esc(lb.rank)}</span></div>`);
setOut('ar-raw',d);
}catch(e){setHTML('ar-host','<div class="row mono dim">retry: '+esc(e.message)+'</div>');setOut('ar-raw','retry: '+e.message);}}
// Live external model intel \u2014 LMArena Elo leaderboard + quality\u00d7adoption Pareto (HF Hub). Advisory, \u039b Conjecture 1.
function _miFreshLabel(d){const f=(d&&d.freshness)||{};const live=d&&d.live;return (live?'live':(d&&d.label==='SAMPLE'?'SAMPLE':'unavailable'))+(f.age_s!=null?' \u00b7 '+f.age_s+'s':'');}
async function models_intel_load(){
try{const d=await getJSON(API+'/v1/models/leaderboard?limit=20');const lb=d.leaderboard||[];setTxt('l-lb-fresh',_miFreshLabel(d));
setHTML('l-lb','');if(!d.live)addHTML('l-lb',`<div class="row"><span class="badge b-err">SAMPLE</span><span class="mono dim">${esc(d.honesty||'')} (${esc(d.as_of||'')})</span></div>`);
lb.forEach(r=>addHTML('l-lb',`<div class="row"><span class="badge b-gold" style="min-width:34px;text-align:center">#${esc(r.rank??'')}</span><span><b>${esc(r.model)}</b> ${r.organization?'<span class="mono dim">\u00b7 '+esc(r.organization)+'</span>':''}</span><span class="spacer badge b-teal">Elo ${esc(r.elo)}</span></div>`));
addHTML('l-lb',`<div class="row mono dim">${esc(d.cited||'')}</div>`);
}catch(e){setHTML('l-lb','<div class="row mono dim">retry: '+esc(e.message)+'</div>');setTxt('l-lb-fresh','retry');}
try{const p=await getJSON(API+'/v1/models/pareto?limit=40');const pts=p.points||[],fr=p.frontier||[];const frSet=new Set(fr.map(x=>x.model));
setHTML('l-pareto-note',esc(p.honesty||''));
if(pts.length){mkEchart('l-pareto',{tooltip:{trigger:'item',formatter:o=>o.data.name+'<br/>Elo '+o.data.value[1]+'<br/>downloads '+o.data.value[0].toLocaleString()},
grid:{left:60,right:20,top:20,bottom:40},
xAxis:{type:'log',name:'HF downloads',nameLocation:'middle',nameGap:26,axisLabel:{color:'#9a9a9a'}},
yAxis:{type:'value',name:'LMArena Elo',scale:true,axisLabel:{color:'#9a9a9a'}},
series:[{type:'scatter',symbolSize:10,data:pts.map(x=>({name:x.model,value:[Math.max(1,x.downloads),x.elo],itemStyle:{color:frSet.has(x.model)?TEAL:'#6a6a6a'}}))},
{type:'line',lineStyle:{color:GOLD,width:2,type:'dashed'},symbol:'diamond',symbolSize:12,
data:fr.slice().sort((a,b)=>a.downloads-b.downloads).map(x=>({name:x.model,value:[Math.max(1,x.downloads),x.elo]})),itemStyle:{color:GOLD}}]});}
else{const h=el('l-pareto');if(h)h.innerHTML='<div class="row mono dim" style="padding:1rem">'+esc(p.honesty||'no matched points')+'</div>';}
}catch(e){const h=el('l-pareto');if(h)h.innerHTML='<div class="row mono dim" style="padding:1rem">retry: '+esc(e.message)+'</div>';}}
window.models_intel_load=models_intel_load;
async function arena_elo_load(){try{const d=await getJSON(API+'/v1/models/leaderboard?limit=15');const lb=d.leaderboard||[];setTxt('ar-lb-fresh',_miFreshLabel(d));
setHTML('ar-lb','');if(!d.live)addHTML('ar-lb',`<div class="row"><span class="badge b-err">SAMPLE</span><span class="mono dim">${esc(d.honesty||'')} (${esc(d.as_of||'')})</span></div>`);
lb.forEach(r=>addHTML('ar-lb',`<div class="row"><span class="badge b-gold" style="min-width:34px;text-align:center">#${esc(r.rank??'')}</span><span><b>${esc(r.model)}</b> ${r.organization?'<span class="mono dim">\u00b7 '+esc(r.organization)+'</span>':''}</span><span class="spacer badge b-teal">Elo ${esc(r.elo)}</span></div>`));
addHTML('ar-lb',`<div class="row mono dim">${esc(d.cited||'')}</div>`);
}catch(e){setHTML('ar-lb','<div class="row mono dim">retry: '+esc(e.message)+'</div>');setTxt('ar-lb-fresh','retry');}}
window.arena_elo_load=arena_elo_load;
// Business Observability \u2014 5 capability domains on real in-image data
async function business_load(){try{const d=await getJSON(API+'/v1/observability/business');
const dm=d.domains||[];setTxt('bz-n',dm.length);setTxt('bz-real',dm.filter(x=>x.status==='real').length);
setHTML('bz-host','');dm.forEach(x=>addHTML('bz-host',`<div class="row"><span class="badge ${x.status==='real'?'b-live':'b-gold'}">${esc(x.status)}</span><span><b>${esc(x.name)}</b> \u2014 ${esc(x.measure||'')}</span><span class="spacer mono dim">${esc(x.value||'')}</span></div>`));
addHTML('bz-host',`<div class="row mono dim">${esc(d.honesty||'')}</div>`);
setOut('bz-raw',d);
}catch(e){setHTML('bz-host','<div class="row mono dim">retry: '+esc(e.message)+'</div>');setOut('bz-raw','retry: '+e.message);}
window.markets_load();}
// Markets & Fiscal — REAL live SEC EDGAR companyfacts + Treasury debt-to-penny + FRED
function mkState(s){const u=String(s||'').toUpperCase();return u==='MEASURED'?'b-live':(u==='ROADMAP'?'b-gold':'b-gold');}
function mkUSD(n){if(n==null||isNaN(n))return '—';const a=Math.abs(n);
if(a>=1e12)return '$'+(n/1e12).toFixed(2)+'T';if(a>=1e9)return '$'+(n/1e9).toFixed(2)+'B';
if(a>=1e6)return '$'+(n/1e6).toFixed(2)+'M';return '$'+Number(n).toLocaleString();}
async function markets_load(){const host='mk-host';try{const d=await getJSON(API+'/v1/markets/summary');
setHTML(host,'');
const co=d.company||{},m=co.metrics||{};
addHTML(host,`<div class="row"><span class="badge ${mkState(co.state)}">${esc(co.state||'')}</span><span><b>${esc(co.entity||'company')}</b> — SEC EDGAR 10-K (CIK ${esc(co.cik||'')})</span><span class="spacer mono dim">${esc(co.source_label||'live from SEC')}</span></div>`);
[['revenue','Revenue'],['net_income','Net income'],['assets','Total assets'],['stockholders_equity','Equity']].forEach(([k,lab])=>{const v=m[k];
if(v)addHTML(host,`<div class="row"><span class="badge b-gold">FY${esc(v.fiscal_year||'')}</span><span>${lab} <span class="mono dim">${esc(v.concept||'')}</span></span><span class="spacer mono teal">${mkUSD(v.value)}</span></div>`);});
const dbt=d.national_debt||{};
addHTML(host,`<div class="row"><span class="badge ${mkState(dbt.state)}">${esc(dbt.state||'')}</span><span><b>U.S. national debt</b> — Treasury debt-to-penny <span class="mono dim">${esc(dbt.record_date||'')}</span></span><span class="spacer mono teal">${mkUSD(dbt.total_public_debt_outstanding_usd)}</span></div>`);
const mac=d.macro||{},obs=(mac.observations||[])[0]||{};
addHTML(host,`<div class="row"><span class="badge ${mkState(mac.state)}">${esc(mac.state||'')}</span><span><b>FRED ${esc(mac.series_id||'')}</b> — ${esc(mac.note||'')}</span><span class="spacer mono teal">${obs.value?esc(obs.value)+' ('+esc(obs.date)+')':'—'}</span></div>`);
addHTML(host,`<div class="row mono dim">${esc(d.advisory||'')}</div>`);
setOut('mk-raw',d);
}catch(e){setHTML(host,'<div class="row mono dim">retry: '+esc(e.message)+'</div>');setOut('mk-raw','retry: '+e.message);}}
// Vertical-Pack Ecosystem \u2014 13 packs (live + roadmap), reuse the a11oy core
async function verticals_load(){try{const d=await getJSON(API+'/v1/vertical-packs');
const vs=d.verticals||[];setTxt('vp-n',d.total??vs.length);setTxt('vp-live',d.live??vs.filter(v=>v.status==='live').length);setTxt('vp-stub',d.stub??vs.filter(v=>v.status!=='live').length);
const live=vs.filter(v=>v.status==='live'),stub=vs.filter(v=>v.status!=='live');
setHTML('vp-live-host','');live.forEach(v=>addHTML('vp-live-host',`<div class="row"><span class="badge b-live">live</span><span><b>${esc(v.title)}</b> \u2014 ${esc(v.purpose||'')}</span><span class="spacer mono dim">${esc(v.owner||'')}</span></div>`));
setHTML('vp-stub-host','');stub.forEach(v=>addHTML('vp-stub-host',`<div class="row"><span class="badge b-gold">roadmap</span><span><b>${esc(v.title)}</b> \u2014 ${esc(v.purpose||'')}</span><span class="spacer mono dim">${esc(v.owner||'')}</span></div>`));
addHTML('vp-stub-host',`<div class="row mono dim">${esc(d.honesty||'')}</div>`);
setOut('vp-raw',d);
}catch(e){setHTML('vp-live-host','<div class="row mono dim">retry: '+esc(e.message)+'</div>');setOut('vp-raw','retry: '+e.message);}}
// ===== SHOWSTOPPER HANDLERS (3D / globe / cytoscape / echarts) =====
const MATURITY_COLOR={proven:TEAL,measured:GOLD,conjectured:AMBER,conjecture:AMBER,defined:'#888',open:AMBER};
function matColor(m){return MATURITY_COLOR[String(m||'').toLowerCase()]||'#888';}
// Living Organism \u2014 SELF-CONTAINED: a11oy GOLD brain at the center, its own
// internal capabilities as nodes (Reasoning, Policy/Safety, Operator, Receipts,
// Knowledge). Renders INSTANTLY from in-image data; every edge terminates at
// the gold core. NO external services. Canvas is never black.
async function organism_load(){
const h0=el('org-3d');if(h0)h0.innerHTML='<div class="row mono dim" style="padding:1rem">awakening the organism\u2026</div>';
// instant render from in-image capability graph
const nodes=[{id:'a11oy',name:'a11oy \u2014 orchestrating brain',color:GOLD,val:18}];const links=[];
CAPS.forEach(c=>{nodes.push({id:c.id,name:c.name+' \u00b7 '+c.kind,color:c.color,val:9});links.push({source:c.id,target:'a11oy'});});
mesh3d('org-3d',nodes,links);
setTxt('org-reach',(CAPS.length)+'/'+(CAPS.length));setTxt('org-links',links.length);
// live in-image probe for depth + capability detail (same-origin)
try{const d=await getJSON(API+'/v1/observability/summary');const mr=d.mesh_reach||{};
const depth=(d.melt&&d.melt.metrics&&d.melt.metrics.dag_depth)||d.signed_spans||'\u2014';setTxt('org-spans',depth);
setHTML('org-host','');Object.keys(mr).forEach(k=>{const v=mr[k];addHTML('org-host',`<div class="row"><span class="badge ${(v.status==='ok')?'b-live':'b-err'}">${esc(v.status||'ok')}</span><span>${esc(v.name||k)}</span><span class="spacer mono dim">${v.latency_ms?Math.round(v.latency_ms)+'ms':''} \u00b7 ${esc(v.url||'in-image')}</span></div>`);});
setOut('org-raw',d);
}catch(e){setTxt('org-spans','\u2014');setHTML('org-host','');CAPS.forEach(c=>addHTML('org-host',`<div class="row"><span class="badge b-live">ok</span><span>${esc(c.name)}</span><span class="spacer mono dim">in-image capability</span></div>`));setOut('org-raw','in-image capability graph (self-contained)');}}
// Receipt Chain \u2014 live hash-chain as a 3D DAG (operator command-log)
async function chain_load(){
try{const cl=await orgGet('core','/api/a11oy/v2/operator/command-log');const rcs=(cl.receipts||[]).slice(-60);
setTxt('ch-depth',cl.depth??rcs.length);setTxt('ch-ver',cl.chain_verified?'verified':'\u2014');
const nodes=[],links=[];rcs.forEach((r,i)=>{const id=String(r.hash||r.seq||i);nodes.push({id,name:'#'+(r.seq??i)+' \u00b7 '+esc(String(r.command||r.kind||'')).slice(0,28)+' \u00b7 '+id.slice(0,10),color:i===rcs.length-1?GOLD:TEAL,val:i===0?9:4});
if(i>0){const prev=String(rcs[i-1].hash||rcs[i-1].seq||(i-1));links.push({source:prev,target:id});}});
if(nodes.length)dag3d('ch-3d',nodes,links,{dagMode:'lr',dist:36,cooldown:140});
else{const h=el('ch-3d');if(h)h.innerHTML='<div class="row mono dim" style="padding:1rem">chain empty</div>';}
setTxt('ch-cap','genesis hash '+esc(String(cl.genesis_hash||'').slice(0,16))+'\u2026 \u2192 head '+esc(String(cl.final_hash||'').slice(0,16))+'\u2026 \u00b7 '+(cl.chain_verified?'chain VERIFIED':'unverified'));
const tail=el('ch-tail');if(tail){tail.innerHTML='';rcs.slice().reverse().forEach(r=>tail.insertAdjacentHTML('beforeend',`<div class="frow"><span class="ts">#${esc(r.seq??'')}</span><span class="id">${esc(String(r.hash||'').slice(0,12))}</span><span class="txt">${esc(String(r.command||r.kind||''))}</span></div>`));}
setOut('ch-raw',cl);
}catch(e){const h=el('ch-3d');if(h)h.innerHTML='<div class="row mono dim" style="padding:1rem">live command-log unavailable: '+esc(e.message)+'</div>';setOut('ch-raw','retry: '+e.message);}
try{const led=await orgGet('core','/api/a11oy/v1/operator/ledger');setTxt('ch-led',led.count??(led.receipts||[]).length);}catch(e){setTxt('ch-led','\u2014');}
// verify a11oy's DSSE signature in-browser so the chain shows a real, checked signature
try{const pem=await getText(API+'/cosign.pub');const env=await getJSON(API+'/v1/receipt/export');const res=await verifyReceipt(env,pem,false);setHTML('ch-sig',res.ok?'<span class="live">verified</span>':'<span class="warn">invalid</span>');}catch(e){setHTML('ch-sig','<span class="warn">\u2014</span>');}}
// Reciprocity (Ayni) \u2014 live, event-sourced from signed receipts (/v1/ayni,/v1/tinkuy)
async function ayni_load(){
try{
const [ay,tk]=await Promise.all([getJSON('/v1/ayni'),getJSON('/v1/tinkuy')]);
const r=(tk&&typeof tk.r==='number')?tk.r:0;
setTxt('ay-r',r.toFixed(3));
const flow=!!(tk&&tk.in_tinkuy);
setTxt('ay-flow',flow?'TINKUY (coherent)':'forming');
const fe=el('ay-flow'); if(fe)fe.className='v '+(flow?'teal':'warn');
const alphas=(ay&&ay.alphas)||{};
const organs=Object.keys(alphas);
const balanced=organs.filter(o=>alphas[o]>=0.45).length;
setTxt('ay-bal',organs.length?(balanced+' / '+organs.length):'\u2014');
setTxt('ay-rcpt',(ay&&ay.receipts_ingested!=null)?String(ay.receipts_ingested):'\u2014');
setTxt('ay-src',((ay&&ay.live)?'live \u00b7 ':'fallback \u00b7 ')+((ay&&ay.data_source)||'\u2014'));
drawKuramoto('ay-circle',tk);
drawAyniBars('ay-bars',alphas,(ay&&ay.deficits)||[]);
}catch(e){
setHTML('ay-bars','<div class="row mono dim">live reciprocity unavailable: '+esc(e.message)+'</div>');
setTxt('ay-r','\u2014'); setTxt('ay-flow','\u2014');
}
}
window.ayni_load=ayni_load;
function drawKuramoto(id,tk){
const host=el(id); if(!host)return;
const S=340,c=S/2,R=S/2-42;
const ph=(tk&&tk.phases)||{};
const organs=Object.keys(ph);
const r=(tk&&typeof tk.r==='number')?tk.r:0;
const psi=(tk&&typeof tk.psi==='number')?tk.psi:0;
let s='<svg width="'+S+'" height="'+S+'" viewBox="0 0 '+S+' '+S+'" style="max-width:100%">';
s+='<defs><marker id="ayarrow" markerWidth="10" markerHeight="10" refX="7" refY="3" orient="auto"><path d="M0,0 L7,3 L0,6 Z" fill="#c9b787"/></marker></defs>';
s+='<circle cx="'+c+'" cy="'+c+'" r="'+R+'" fill="none" stroke="rgba(201,183,135,0.28)" stroke-width="1.2"/>';
s+='<circle cx="'+c+'" cy="'+c+'" r="'+(R*0.5)+'" fill="none" stroke="rgba(255,255,255,0.05)" stroke-dasharray="3 5"/>';
s+='<line x1="'+(c-R)+'" y1="'+c+'" x2="'+(c+R)+'" y2="'+c+'" stroke="rgba(255,255,255,0.06)"/>';
s+='<line x1="'+c+'" y1="'+(c-R)+'" x2="'+c+'" y2="'+(c+R)+'" stroke="rgba(255,255,255,0.06)"/>';
organs.forEach(function(o){
const th=ph[o]||0; const x=c+R*Math.cos(th), y=c-R*Math.sin(th);
s+='<line x1="'+c+'" y1="'+c+'" x2="'+x.toFixed(2)+'" y2="'+y.toFixed(2)+'" stroke="rgba(95,179,163,0.16)" stroke-width="1"/>';
s+='<circle cx="'+x.toFixed(2)+'" cy="'+y.toFixed(2)+'" r="6" fill="#0e0f10" stroke="#5fb3a3" stroke-width="1.8"><title>'+esc(o)+' \u00b7 \u03b8='+th.toFixed(3)+'</title></circle>';
});
const rx=c+R*r*Math.cos(psi), ry=c-R*r*Math.sin(psi);
s+='<line x1="'+c+'" y1="'+c+'" x2="'+rx.toFixed(2)+'" y2="'+ry.toFixed(2)+'" stroke="#c9b787" stroke-width="2.6" marker-end="url(#ayarrow)"><animate attributeName="opacity" values="0.55;1;0.55" dur="2.6s" repeatCount="indefinite"/></line>';
s+='<circle cx="'+c+'" cy="'+c+'" r="3" fill="#c9b787"/>';
s+='<text x="'+c+'" y="'+(S-8)+'" text-anchor="middle" fill="#c9b787" font-size="12" font-family="monospace">r = '+r.toFixed(3)+'</text>';
s+='</svg>';
host.innerHTML=s;
}
function drawAyniBars(id,alphas,deficits){
const host=el(id); if(!host)return;
const drained=new Set((deficits||[]).map(function(d){return d.organ;}));
const entries=Object.entries(alphas).sort(function(a,b){return b[1]-a[1];});
if(!entries.length){host.innerHTML='<div class="row mono dim">no ledger entries</div>';return;}
let h='<div style="display:flex;flex-direction:column;gap:6px">';
entries.forEach(function(kv){
const o=kv[0], a=kv[1];
const pct=Math.max(0,Math.min(1,a))*100;
const col=a<0.45?'#b06a5a':(a<0.5?'#c9b787':'#5fb3a3');
h+='<div style="display:flex;align-items:center;gap:8px">'
+'<div class="mono dim" style="width:104px;text-align:right;font-size:12px">'+esc(o)+'</div>'
+'<div style="flex:1;background:rgba(255,255,255,0.05);border-radius:6px;height:16px;position:relative;overflow:hidden">'
+'<div style="position:absolute;left:50%;top:0;bottom:0;width:1px;background:rgba(255,255,255,0.28)"></div>'
+'<div style="height:100%;width:'+pct.toFixed(1)+'%;background:'+col+';border-radius:6px 0 0 6px;transition:width .6s"></div>'
+'</div>'
+'<div class="mono" style="width:52px;font-size:12px;color:'+col+'">'+a.toFixed(3)+'</div>'
+(drained.has(o)?'<span class="mono" style="border:1px solid #b06a5a;color:#b06a5a;font-size:10px;border-radius:4px;padding:0 4px">T24</span>':'<span style="width:34px;display:inline-block"></span>')
+'</div>';
});
h+='</div>';
host.innerHTML=h;
}
// Global Pulse \u2014 live USGS earthquakes on a globe, arcs \u2192 a11oy US hub
async function pulse_load(){
const HUB={lat:39.0,lng:-98.0};
try{const d=await getPublic('https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_day.geojson',13000);
const feats=d.features||[];setTxt('pl-n',feats.length);
let maxMag=0,maxPlace='';const arcs=[],pts=[];
feats.forEach(f=>{const p=f.properties||{};const g=f.geometry||{};const c=g.coordinates||[];if(c.length<2)return;const mag=p.mag||0;if(mag>maxMag){maxMag=mag;maxPlace=p.place||'';}
const col=mag>=5?RED:(mag>=3?AMBER:TEAL);
arcs.push({startLat:c[1],startLng:c[0],endLat:HUB.lat,endLng:HUB.lng,color:[col,GOLD]});
pts.push({lat:c[1],lng:c[0],size:Math.max(0.15,mag*0.12),color:col,label:(p.place||'')+' \u00b7 M'+mag});});
setTxt('pl-max',maxMag?('M'+maxMag.toFixed(1)):'\u2014');
const host=el('pl-globe');
if(host&&window.Globe){killGlobe();host.innerHTML='';
_globe=Globe()(host).backgroundColor('#060606').width(host.clientWidth).height(host.clientHeight)
.globeImageUrl('/vendor/earth-night.jpg')
.pointsData(pts).pointColor('color').pointAltitude(d=>d.size*0.06).pointRadius(0.25).pointLabel('label')
.arcsData(arcs).arcColor('color').arcDashLength(0.4).arcDashGap(0.2).arcDashAnimateTime(1600).arcStroke(0.5).arcAltitudeAutoScale(0.4);
try{_globe.pointOfView({lat:39,lng:-98,altitude:2.2},0);const ctr=_globe.controls();if(ctr){ctr.autoRotate=true;ctr.autoRotateSpeed=0.6;}}catch(e){}
setTimeout(()=>{try{_globe.width(host.clientWidth).height(host.clientHeight);}catch(e){}},300);}
const list=el('pl-list');if(list){list.innerHTML='';feats.slice().sort((a,b)=>(b.properties.mag||0)-(a.properties.mag||0)).slice(0,25).forEach(f=>{const p=f.properties||{};const col=(p.mag||0)>=5?'sev-crit':((p.mag||0)>=3?'sev-high':'sev-med');
list.insertAdjacentHTML('beforeend',`<div class="row"><span class="badge b-gold ${col}">M${esc((p.mag||0).toFixed?p.mag.toFixed(1):p.mag)}</span><span>${esc(p.place||'')}</span><span class="spacer mono dim">${esc(new Date(p.time).toISOString().slice(11,16))}Z</span></div>`);});}
}catch(e){const h=el('pl-globe');if(h)h.innerHTML='<div class="row mono dim" style="padding:1rem">USGS feed unavailable: '+esc(e.message)+'</div>';setTxt('pl-n','\u2014');setHTML('pl-list','<div class="row mono dim">USGS feed unavailable</div>');}}
// Trust Space \u2014 13 trust axes as a rotating 3D point cloud (echarts-gl scatter3D)
async function trustspace_load(){
try{const d=await getJSON(API+'/v1/lambda');const ax=d.axes||[];const L=d.lambda||0;setTxt('ts-lam',L.toFixed?L.toFixed(4):L);setTxt('ts-n',ax.length||13);
const data=ax.map((a,i)=>{const ang=(i/Math.max(1,ax.length))*Math.PI*2;const r=1.2;const s=a.score||0;
return{value:[Math.cos(ang)*r,Math.sin(ang)*r,s],name:a.name,score:s};});
mkEchart('ts-cloud',{tooltip:{formatter:p=>p.data.name+'<br/>score '+(p.data.score!=null?p.data.score.toFixed(3):'')},
xAxis3D:{type:'value',name:'x'},yAxis3D:{type:'value',name:'y'},zAxis3D:{type:'value',name:'score',min:0,max:1},
grid3D:{viewControl:{autoRotate:true,autoRotateSpeed:8,distance:200},axisLine:{lineStyle:{color:'#444'}},axisLabel:{color:'#888'},splitLine:{lineStyle:{color:'rgba(201,183,135,0.08)'}}},
series:[{type:'scatter3D',symbolSize:14,data:data.map(p=>({value:p.value,name:p.name,score:p.score,itemStyle:{color:p.score>=0.9?TEAL:(p.score>=0.7?GOLD:RED)}})),
label:{show:true,formatter:p=>p.data.name,color:'#9a9a9a',fontSize:9}}]});
setOut('ts-raw',d);
}catch(e){const h=el('ts-cloud');if(h)h.innerHTML='<div class="row mono dim" style="padding:1rem">trust vector unavailable: '+esc(e.message)+'</div>';setOut('ts-raw','retry: '+e.message);}}
// Service Map \u2014 SELF-CONTAINED typed ontology (cytoscape): a11oy hub +
// internal capability objects from the in-image CAPS graph. Renders instantly,
// never blank. NO external services.
function ontology_load(){
const els=[{data:{id:'a11oy',label:'a11oy',w:54},classes:'hub'}];let edges=0;
CAPS.forEach(c=>{els.push({data:{id:c.id,label:c.name,w:44}});els.push({data:{id:'e_'+c.id,source:'a11oy',target:c.id}});edges++;});
const cy=cyGraph('on-cy',els,{name:'concentric',concentric:n=>n.hasClass('hub')?10:1,levelWidth:()=>1,animate:false,padding:24});
if(!cy){const h=el('on-cy');if(h)h.innerHTML='<div class="row mono dim" style="padding:1rem">graph engine loading\u2026 a11oy + '+CAPS.length+' capabilities</div>';}
setTxt('on-n',els.filter(e=>!e.data.source).length);setTxt('on-e',edges);}
// CVE Watch \u2014 live NVD CVE 2.0
async function cve_load(){
// SERVER-SIDE fused intel: NVD CVE 2.0 + CISA KEV + FIRST EPSS, ranked by an advisory
// Exposure Priority (\u039b = Conjecture 1, public signals only). Same-origin, CORS-safe.
try{const d=await orgGet('core','/api/a11oy/v1/policy/intel/cve');const rows=d.rows||[];
setTxt('cv-n',rows.length);setTxt('cv-tot',(d.total||rows.length).toLocaleString());
const sevCount={CRITICAL:0,HIGH:0,MEDIUM:0,LOW:0,NONE:0};
rows.forEach(r=>{const s=String(r.severity||'NONE').toUpperCase();sevCount[s]=(sevCount[s]||0)+1;});
setTxt('cv-hi',(sevCount.CRITICAL||0)+(sevCount.HIGH||0));
const byDate=rows.slice().sort((a,b)=>String(b.published).localeCompare(String(a.published)));
if(byDate[0])setTxt('cv-new',esc(byDate[0].id));
mkEchart('cv-bar',{tooltip:{trigger:'axis'},xAxis:{type:'category',data:['Critical','High','Medium','Low','None']},yAxis:{type:'value'},
series:[{type:'bar',data:[{value:sevCount.CRITICAL||0,itemStyle:{color:RED}},{value:sevCount.HIGH||0,itemStyle:{color:GOLD}},{value:sevCount.MEDIUM||0,itemStyle:{color:TEAL}},{value:sevCount.LOW||0,itemStyle:{color:'#5a8a6e'}},{value:sevCount.NONE||0,itemStyle:{color:'#555'}}],barWidth:'46%'}]});
const tb=el('cv-tb');if(tb){tb.innerHTML='';byDate.slice(0,25).forEach(r=>{const sev=String(r.severity||'NONE').toUpperCase();const cls=sev==='CRITICAL'?'sev-crit':(sev==='HIGH'?'sev-high':(sev==='MEDIUM'?'sev-med':'sev-low'));
tb.insertAdjacentHTML('beforeend',`<tr><td class="mono">${esc(r.id)}</td><td class="${cls}">${esc(sev)}</td><td>${esc(r.cvss==null?'\u2014':r.cvss)}</td><td class="mono dim">${esc(String(r.published||'').slice(0,10))}</td><td>${esc(String(r.desc||'').slice(0,120))}</td></tr>`);});}
// Exposure Priority panel rendered from the SAME server fusion (no client refetch).
const ranked=rows.slice().sort((a,b)=>(b.exposure||0)-(a.exposure||0));
const techHits=ranked.filter(r=>(r.factors||[]).some(f=>/ATT&CK/.test(f))).length;
setTxt('ep-kev',(d.kev_correlated||0)+' / '+ranked.length);setTxt('ep-tech',techHits);setTxt('ep-top',ranked[0]?ranked[0].exposure:'\u2014');
const colOf=r=>r.kev?RED:((r.exposure||0)>=70?GOLD:TEAL);
mkEchart('ep-bubble',{tooltip:{trigger:'item',formatter:p=>{const r=p.data.r;return '<b>'+esc(r.id)+'</b><br/>exposure '+(r.exposure||0)+' / 100<br/>CVSS '+(r.cvss==null?'\u2014':r.cvss)+'<br/>'+esc((r.factors||[]).join(' \u00b7 '));}},
xAxis:{name:'CVSS base',min:0,max:10,nameTextStyle:{color:DIM},axisLine:{lineStyle:{color:GRID}},splitLine:{lineStyle:{color:GRID}}},
yAxis:{name:'Exposure priority',min:0,max:100,nameTextStyle:{color:DIM},axisLine:{lineStyle:{color:GRID}},splitLine:{lineStyle:{color:GRID}}},
series:[{type:'scatter',symbolSize:dd=>10+((Array.isArray(dd)?dd[1]:0)||0)*0.35,data:ranked.map(r=>({value:[Number(r.cvss)||0,r.exposure||0],r,itemStyle:{color:colOf(r),opacity:0.82}})),animationDuration:900,animationEasing:'cubicOut'}]});
const eb=el('ep-tb');if(eb){eb.innerHTML='';if(!ranked.length){eb.innerHTML='<tr><td colspan=5 class="mono dim">no CVEs to rank</td></tr>';}
ranked.slice(0,15).forEach((r,i)=>{const cls=r.kev?'sev-crit':((r.exposure||0)>=70?'sev-high':'sev-med');
eb.insertAdjacentHTML('beforeend',`<tr><td class="mono">${i+1}</td><td class="mono">${esc(r.id)}</td><td class="${cls}">${r.exposure||0}</td><td>${(Number(r.cvss)||0).toFixed(1)}</td><td class="dim">${esc((r.factors||[]).join(' \u00b7 ')||'baseline')}</td></tr>`);});}
if(d.mode&&d.mode!=='live'){setHTML('cv-tb',el('cv-tb').innerHTML+`<tr><td colspan=5 class="mono dim">feed mode: ${esc(d.mode)} (server-side cache; honest, not fabricated)</td></tr>`);}
}catch(e){setTxt('cv-n','\u2014');setHTML('cv-tb','<tr><td colspan=5 class="mono dim">intel feed unavailable: '+esc(e.message)+'</td></tr>');}}
// ===== Exposure Priority (agentic threat-intel fusion) =====
// Built UPON: CrowdStrike ExPRT.AI (dynamic, transparent exploit-likelihood rating;
// crowdstrike.com/.../how-exprt-ai-predicts-next-exploited-vulnerability),
// Wiz contextual prioritization + CISA-KEV (wiz.io/.../detect-and-prioritize-cisa-kev),
// Picus Exposure Score (CVSS+EPSS+KEV+exploitability). Their core doctrine: severity is an
// INPUT, priority is a DECISION, and the score must be TRANSPARENT (show top factors).
// Our honest delta: we have NO environment telemetry/asset criticality, so we score on PUBLIC
// signals only (CVSS base + KEV exploited-in-the-wild + match vs the platform's own adversary
// corpus + attack-vector heuristics) and SAY SO. Deterministic; no fabricated AI confidence.
let _ep_kev=null; // cache of {cveID->kev record} from live CISA KEV
let _ep_corpus=null; // in-image adversary technique corpus (T-codes / keywords)
async function _ep_loadKev(){if(_ep_kev)return _ep_kev;_ep_kev={};
try{const d=await getPublic('https://raw.githubusercontent.com/cisagov/kev-data/develop/known_exploited_vulnerabilities.json',13000);
(d.vulnerabilities||[]).forEach(x=>{if(x.cveID)_ep_kev[String(x.cveID).toUpperCase()]={ransom:String(x.knownRansomwareCampaignUse||'').toLowerCase()==='known',name:x.vulnerabilityName||''};});}catch(_e){}
return _ep_kev;}
async function _ep_loadCorpus(){if(_ep_corpus)return _ep_corpus;_ep_corpus=[];
try{const d=await getJSON(API+'/v1/policy/threats');_ep_corpus=(d.corpus||[]).map(t=>({sig:String(t.signature||'').toLowerCase(),tech:t.mitre_technique||'',cat:t.category||''}));}catch(_e){}
return _ep_corpus;}
function _ep_score(cvss,kev,techMatch,desc){
// Transparent deterministic 0-100 exposure score with explicit factor weights.
const factors=[];let s=0;
const base=Math.min(10,Number(cvss)||0)*6; // CVSS contributes up to 60
s+=base; if(base>0)factors.push('CVSS '+(Number(cvss)||0).toFixed(1));
if(kev){s+=28;factors.push('actively exploited (CISA KEV)');if(kev.ransom){s+=4;factors.push('ransomware campaign');}}
if(techMatch){s+=10;factors.push('matches adversary technique '+techMatch);}
const d=String(desc||'').toLowerCase();
if(/remote|unauthenticated|rce|remote code/.test(d)){s+=6;factors.push('remote / unauthenticated vector');}
return {score:Math.max(0,Math.min(100,Math.round(s))),factors};}
async function cve_exposure_load(vs,scoreOf,sevOf){
const kev=await _ep_loadKev();const corpus=await _ep_loadCorpus();
const rows=[];let kevHits=0,techHits=0;
(vs||[]).slice(0,30).forEach(v=>{const c=v.cve;const id=String(c.id||'').toUpperCase();
const cvss=scoreOf(v);const desc=((c.descriptions||[]).find(x=>x.lang==='en')||{}).value||'';
const k=kev[id]||null;if(k)kevHits++;
let techMatch='';const dl=desc.toLowerCase();
for(const t of corpus){if(t.sig&&t.sig.length>3&&dl.indexOf(t.sig)>=0){techMatch=t.tech||t.cat;break;}}
if(techMatch)techHits++;
const sc=_ep_score(cvss,k,techMatch,desc);
rows.push({id:c.id,cvss:Number(cvss)||0,score:sc.score,factors:sc.factors,kev:!!k,tech:techMatch,desc});});
rows.sort((a,b)=>b.score-a.score);
setTxt('ep-kev',kevHits+' / '+rows.length);setTxt('ep-tech',techHits);setTxt('ep-top',rows[0]?rows[0].score:'\u2014');
// animated bubble: x=CVSS, y=exposure score, size=score, color by class
const colOf=r=>r.kev?RED:(r.score>=70?GOLD:TEAL);
mkEchart('ep-bubble',{tooltip:{trigger:'item',formatter:p=>{const r=p.data.r;return '<b>'+esc(r.id)+'</b><br/>exposure '+r.score+' / 100<br/>CVSS '+r.cvss.toFixed(1)+'<br/>'+esc(r.factors.join(' \u00b7 '));}},
xAxis:{name:'CVSS base',min:0,max:10,nameTextStyle:{color:DIM},axisLine:{lineStyle:{color:GRID}},splitLine:{lineStyle:{color:GRID}}},
yAxis:{name:'Exposure priority',min:0,max:100,nameTextStyle:{color:DIM},axisLine:{lineStyle:{color:GRID}},splitLine:{lineStyle:{color:GRID}}},
series:[{type:'scatter',symbolSize:d=>10+((Array.isArray(d)?d[1]:0)||0)*0.35,data:rows.map(r=>({value:[r.cvss,r.score],r,itemStyle:{color:colOf(r),opacity:0.82}})),
animationDuration:900,animationEasing:'cubicOut'}]});
const tb=el('ep-tb');if(tb){tb.innerHTML='';if(!rows.length){tb.innerHTML='<tr><td colspan=5 class="mono dim">no CVEs to rank</td></tr>';}
rows.slice(0,15).forEach((r,i)=>{const cls=r.kev?'sev-crit':(r.score>=70?'sev-high':'sev-med');
tb.insertAdjacentHTML('beforeend',`<tr><td class="mono">${i+1}</td><td class="mono">${esc(r.id)}</td><td class="${cls}">${r.score}</td><td>${r.cvss.toFixed(1)}</td><td class="dim">${esc(r.factors.join(' \u00b7 ')||'baseline')}</td></tr>`);});}}
window.cve_exposure_load=cve_exposure_load;
// Known-Exploited \u2014 live CISA KEV mirror
async function kev_load(){
// SERVER-SIDE CISA KEV enriched with FIRST EPSS exploit-probability (same-origin proxy).
try{const d=await orgGet('core','/api/a11oy/v1/policy/intel/kev');
const vs=d.vulnerabilities||[];setTxt('kv-n',(vs.length||d.count||0).toLocaleString());setTxt('kv-ver',esc(d.catalogVersion||'\u2014'));
const ransom=vs.filter(x=>x.ransomware).length;setTxt('kv-ransom',ransom.toLocaleString());
const newest=vs.slice().reverse().slice(0,40);const tail=el('kv-tail');if(tail){tail.innerHTML='';newest.forEach(x=>{const ep=(x.epss!=null)?(' \u00b7 EPSS '+Math.round(x.epss*100)+'%'):'';tail.insertAdjacentHTML('beforeend',`<div class="frow"><span class="id">${esc(x.cveID||'')}</span><span class="txt">${esc(x.vendorProject||'')} ${esc(x.product||'')} \u2014 ${esc(String(x.name||'').slice(0,64))}<span class="dim">${esc(ep)}</span></span></div>`);});}
const vend={};vs.forEach(x=>{const k=x.vendorProject||'?';vend[k]=(vend[k]||0)+1;});
const top=Object.entries(vend).sort((a,b)=>b[1]-a[1]).slice(0,12);
mkEchart('kv-bar',{tooltip:{trigger:'axis'},grid:{left:120},xAxis:{type:'value'},yAxis:{type:'category',data:top.map(t=>t[0]).reverse()},
series:[{type:'bar',data:top.map(t=>t[1]).reverse(),itemStyle:{color:GOLD},barWidth:'60%'}]});
if(d.mode&&d.mode!=='live'&&tail)tail.insertAdjacentHTML('beforeend',`<div class="frow"><span class="txt mono dim">feed mode: ${esc(d.mode)} \u2014 server cache, honest fallback</span></div>`);
}catch(e){setTxt('kv-n','\u2014');const t=el('kv-tail');if(t)t.innerHTML='<div class="frow"><span class="txt mono dim">CISA KEV feed unavailable: '+esc(e.message)+'</span></div>';}}
// Adversary Techniques \u2014 live MITRE ATT&CK STIX (bounded parse)
async function attack_load(){
// SERVER-SIDE bounded MITRE ATT&CK v17.1 STIX parse (no ~50MB client download).
// Holographic 3D technique\u2192tactic intel graph + 2D cytoscape fallback.
try{setTxt('at-cap','fetching bounded ATT&CK v17.1 subset server-side\u2026');
const d=await orgGet('core','/api/a11oy/v1/policy/intel/attack');
const nodes=d.nodes||[],links=d.links||[];
setTxt('at-n',d.techniques||0);setTxt('at-t',d.tactics||0);
setTxt('at-cap','graphed '+(d.techniques||0)+' techniques \u2192 '+(d.tactics||0)+' tactics ('+esc(d.version||'ATT&CK')+', mode: '+esc(d.mode||'live')+')');
// holographic 3D: tactics as teal hubs, techniques as gold leaves
const n3=nodes.map(n=>({id:n.id,name:n.label,val:n.kind==='tactic'?8:2,color:n.kind==='tactic'?TEAL:GOLD}));
const l3=links.map(e=>({source:e.source,target:e.target}));
if(n3.length)dag3d('at-3d',n3,l3,{dist:42,cooldown:160});
else{const h=el('at-3d');if(h)h.innerHTML='<div class="row mono dim" style="padding:1rem">no graph nodes returned</div>';}
// 2D cytoscape (always available, no WebGL dependency)
const els=[];nodes.forEach(n=>els.push({data:{id:n.id,label:String(n.label||'').slice(0,22),w:n.kind==='tactic'?62:30},classes:n.kind==='tactic'?'tactic':''}));
links.forEach((e,i)=>els.push({data:{id:'e'+i,source:e.source,target:e.target}}));
cyGraph('at-cy',els,{name:'cose',animate:false,padding:24,nodeRepulsion:9000,idealEdgeLength:60});
}catch(e){const h=el('at-3d');if(h)h.innerHTML='<div class="row mono dim" style="padding:1rem">MITRE ATT&CK intel unavailable: '+esc(e.message)+'</div>';setTxt('at-n','\u2014');setTxt('at-cap','feed unavailable \u2014 honest failure, not faked');}}
// ===== KNOWLEDGE BASE HANDLERS (knowledge.json) =====
let _kb=null;
async function loadKnowledge(){if(_kb)return _kb;if(window.__KB__){_kb=window.__KB__;return _kb;}try{_kb=await getPublic('/knowledge.json',15000);}catch(e){_kb={};}return _kb;}
window.loadKnowledge=loadKnowledge;
let _kf_all=[];
function renderKatex(latex){try{return katex.renderToString(latex,{throwOnError:false,displayMode:false});}catch(e){return '<span class="mono dim">'+esc(latex)+'</span>';}}
// Knowledge Ontology \u2014 axioms\u2192theorems\u2192formulas typed graph (cytoscape)
async function knowledge_load(){
try{const kb=await loadKnowledge();const ax=kb.axioms||[],th=kb.theorems||[],fm=kb.formulas||[];
setTxt('kn-ax',ax.length);setTxt('kn-th',th.length);setTxt('kn-fm',fm.length);setTxt('kn-doi',(kb.dois||[]).length);
const els=[];const detail={};
ax.forEach(a=>{els.push({data:{id:a.id,label:a.id,w:42,_mat:a.maturity,_name:a.name,_stmt:a.statement,_cite:a.citation,_kind:'Axiom'},style:{'border-color':matColor(a.maturity),'background-color':'#15181d'}});});
th.forEach(t=>{els.push({data:{id:t.id,label:t.id,w:48,_mat:t.maturity,_name:t.name,_stmt:t.statement,_cite:t.citation,_kind:'Theorem'},style:{'border-color':matColor(t.maturity),'background-color':'#1a1d22','shape':'round-rectangle'}});
ax.slice(0,Math.min(ax.length,4)).forEach(a=>{els.push({data:{id:'e_'+a.id+'_'+t.id,source:a.id,target:t.id}});});});
// attach a bounded sample of formulas to theorems so the graph stays readable
const fsample=fm.slice(0,24);fsample.forEach((f,i)=>{els.push({data:{id:f.id,label:f.id,w:24,_mat:'defined',_name:f.source_file,_stmt:f.latex,_cite:f.citation||(kb.dois&&kb.dois[0]),_kind:'Formula',_latex:f.latex},style:{'border-color':'#888','background-color':'#101418','font-size':8}});
const tgt=th[i%Math.max(1,th.length)];if(tgt)els.push({data:{id:'ef_'+f.id,source:tgt.id,target:f.id}});});
const cy=cyGraph('kn-cy',els,{name:'breadthfirst',directed:true,padding:24,spacingFactor:1.1,animate:false});
if(cy){cy.on('tap','node',ev=>{const n=ev.target.data();const mc=matColor(n._mat);
let body='';if(n._kind==='Formula'&&n._latex){body=renderKatex(n._latex);}else{body=esc(n._stmt||'');}
setHTML('kn-detail',`<div class="card-h"><span class="card-t">${esc(n._kind)} \u00b7 ${esc(n.id)}</span><span class="badge" style="color:${mc};border:1px solid ${mc}">${esc(n._mat||'')}</span><span class="card-ep">${esc(n._name||'')}</span></div>
<div style="font-size:14px;color:var(--cream);line-height:1.7;margin:.4rem 0">${body}</div>
${n._cite?`<div class="mono dim" style="font-size:11px">citation: <a href="${esc(n._cite)}" target="_blank" style="color:var(--teal)">${esc(n._cite)}</a></div>`:''}`);});}
}catch(e){const h=el('kn-cy');if(h)h.innerHTML='<div class="row mono dim" style="padding:1rem">knowledge.json unavailable: '+esc(e.message)+'</div>';setTxt('kn-ax','\u2014');}}
// Formulas \u2014 KaTeX-rendered, searchable
async function kbformulas_load(){
try{const kb=await loadKnowledge();const fm=kb.formulas||[];_kf_all=fm;setTxt('kf-n',fm.length);
setTxt('kf-src',(kb.source_files||[]).length||new Set(fm.map(f=>f.source_file)).size);
doughnut('kf-donut',['proven','working/open','conjecture'],[8,Math.max(0,fm.length-9),1],[TEAL,GOLD,RED]);
setHTML('kf-proven',`<div class="row"><span>Eight proven in Lean (sorry-free)</span><span class="spacer b-live badge">F1 F4 F7 F11 F12 F18 F19 F22</span></div>`+
(kb.theorems||[]).map(t=>`<div class="row"><span class="badge" style="color:${matColor(t.maturity)};border:1px solid ${matColor(t.maturity)}">${esc(t.maturity)}</span><span>${esc(t.id)} \u00b7 ${esc(t.name)}</span></div>`).join(''));
window.kbf_filter('');
}catch(e){setHTML('kf-list','<div class="row mono dim">knowledge.json unavailable: '+esc(e.message)+'</div>');setTxt('kf-n','\u2014');}}
function kbf_filter(q){q=String(q||'').toLowerCase();const list=el('kf-list');if(!list)return;
const rows=_kf_all.filter(f=>!q||String(f.id).toLowerCase().includes(q)||String(f.source_file||'').toLowerCase().includes(q)||String(f.latex||'').toLowerCase().includes(q));
setTxt('kf-count',rows.length+' / '+_kf_all.length);
list.innerHTML=rows.slice(0,120).map(f=>`<div class="row"><span class="badge b-gold" style="min-width:54px;text-align:center">${esc(f.id)}</span><span style="flex:1">${renderKatex(f.latex||'')}</span><span class="spacer mono dim" style="font-size:10px">${esc(f.source_file||'')}${f.source_line?':'+f.source_line:''}</span></div>`).join('')||'<div class="row mono dim">no matches</div>';}
window.kbf_filter=kbf_filter;
// Vertical Policies \u2014 10 regulated industries (knowledge bundle)
async function policies_load(){
try{const kb=await loadKnowledge();const pols=kb.vertical_policies||[];setTxt('pv-n',pols.length);
const allReg=new Set();let maxFloor=0;pols.forEach(p=>{(p.regulations||[]).forEach(r=>allReg.add(r));Object.values(p.lambda_floors||{}).forEach(v=>{if(v>maxFloor)maxFloor=v;});});
setTxt('pv-reg',allReg.size);setTxt('pv-max',maxFloor.toFixed?maxFloor.toFixed(2):maxFloor);
// grouped bar: each vertical's max & min floor
const names=pols.map(p=>p.policy_name||p.policy_id);
const maxF=pols.map(p=>{const v=Object.values(p.lambda_floors||{});return v.length?Math.max(...v):0;});
const minF=pols.map(p=>{const v=Object.values(p.lambda_floors||{});return v.length?Math.min(...v):0;});
mkEchart('pv-bar',{tooltip:{trigger:'axis'},legend:{data:['strictest floor','baseline floor'],textStyle:{color:'#9a9a9a'}},grid:{left:160,right:20},
xAxis:{type:'value',min:0.8,max:1.0},yAxis:{type:'category',data:names.slice().reverse()},
series:[{name:'strictest floor',type:'bar',data:maxF.slice().reverse(),itemStyle:{color:RED},barGap:0},
{name:'baseline floor',type:'bar',data:minF.slice().reverse(),itemStyle:{color:TEAL}}]});
const list=el('pv-list');if(list){list.innerHTML='';pols.forEach(p=>{const acv=p.acv_range_usd||{};
const floors=Object.entries(p.lambda_floors||{}).map(([k,v])=>`${k.replace(/([A-Z])/g,' $1')}: ${v}`).join(' \u00b7 ');
list.insertAdjacentHTML('beforeend',`<details class="raw" style="border:1px solid var(--gold-line);border-radius:9px;padding:.6rem .9rem;margin-bottom:.6rem">
<summary style="font-family:var(--display);font-size:14px;color:var(--cream);text-transform:none;letter-spacing:0"><b style="color:var(--gold)">${esc(p.policy_name||p.policy_id)}</b> <span class="feed-pill">${esc((p.regulations||[]).length)} regs</span> <span class="mono dim">v${esc(p.version||'')}</span></summary>
<div style="margin-top:.6rem;font-size:12px;color:var(--paragraph);line-height:1.8">
<div><b style="color:var(--teal)">Regulations:</b> ${esc((p.regulations||[]).join(', '))}</div>
<div><b style="color:var(--teal)">Required attestors:</b> ${esc((p.required_attestors||[]).join(', '))}</div>
<div><b style="color:var(--teal)">Trust-score floors:</b> ${esc(floors)}</div>
<div><b style="color:var(--teal)">Forbidden inputs:</b> ${esc((p.forbidden_inputs||[]).join(', '))}</div>
<div><b style="color:var(--teal)">Required outputs:</b> ${esc((p.required_output_formats||[]).join(', '))}</div>
<div><b style="color:var(--teal)">Retention:</b> ${esc(p.retention_days)} days <b style="color:var(--teal)">Deal size:</b> $${esc((acv.low||0).toLocaleString())}\u2013$${esc((acv.high||0).toLocaleString())}</div>
</div></details>`);});}
}catch(e){const h=el('pv-list');if(h)h.innerHTML='<div class="row mono dim">policy bundle unavailable: '+esc(e.message)+'</div>';setTxt('pv-n','\u2014');}}
function go(view){
// tear down ALL live visuals (Chart.js, ECharts, 3d-force-graph, globe.gl, cytoscape) before switching
tearDownAll();
document.querySelectorAll('.nav-item').forEach(n=>n.classList.toggle('active',n.dataset.view===view));
const v=VIEWS[view];const c=el('content');
c.innerHTML=`<div class="view-head"><h1 class="view-title">${v.title}</h1><span class="view-badge">${v.badge}</span></div><p class="view-sub">${v.sub}</p><div id="vbody"></div>`;
v.render(el('vbody'));
if(history.replaceState)history.replaceState(null,'','#'+view);
if(window.innerWidth<=820)document.querySelector('.side').classList.remove('open');
if(window.syncRail)window.syncRail(view);
}
const start=(location.hash||'#command').slice(1);
go(VIEWS[start]?start:'command');
</script>
<script>
window._liveTimers = window._liveTimers || [];
function every(fn, ms){ try{ fn(); }catch(e){} const t=setInterval(()=>{ try{fn();}catch(e){} }, ms); window._liveTimers.push(t); return t; }
function liveDot(){ return '<span class="livedot" style="display:inline-block;width:7px;height:7px;border-radius:50%;background:#5fb3a3;box-shadow:0 0 8px #5fb3a3;animation:pulse 1.6s infinite;margin-right:6px;vertical-align:middle"></span>'; }
async function ledger3d_load(){
try{
const cl = await getPublic('/api/a11oy/v2/operator/command-log', 12000);
const mesh = await getPublic('/api/a11oy/v1/capabilities/mesh', 12000);
const recs = (cl.receipts||[]);
setTxt('tl-depth', cl.depth!=null? cl.depth : '—');
setTxt('tl-count', cl.count!=null? cl.count : recs.length);
setTxt('tl-verified', cl.chain_verified ? 'VERIFIED' : 'UNVERIFIED');
el('tl-verified') && (el('tl-verified').className = 'v '+(cl.chain_verified?'teal':'err'));
setTxt('tl-head', (cl.final_hash||'').slice(0,12)+'…');
const caps = (mesh.nodes||[]);
const elems = [];
caps.forEach(n=>{ elems.push({ data:{ id:n.id, label:n.id, w:(n.id==='a11oy'?54:34), role:n.role||'capability', ok:n.ok!==false } }, ); });
(mesh.edges||[]).forEach(e=> elems.push({ data:{ id:e.from+'_'+e.to, source:e.from, target:e.to, kind:e.kind||'link' } }) );
recs.slice(-6).forEach(r=>{
const rid='r'+r.seq;
elems.push({ data:{ id:rid, label:'#'+r.seq+'\n'+(r.kind||'rcpt'), w:20, role:'receipt', ok:true } });
elems.push({ data:{ id:'a11oy_'+rid, source:'a11oy', target:rid, kind:'receipt' } });
});
const cy = cyGraph('tl-graph', elems, {name:'cose', animate:true, animationDuration:900, nodeRepulsion:9000, idealEdgeLength:70});
if(cy){
cy.nodes().forEach(nd=>{ const role=nd.data('role'); if(role==='receipt') nd.addClass('receipt'); else if(nd.id()==='a11oy') nd.addClass('hub'); if(nd.data('ok')===false) nd.addClass('down'); });
cy.on('tap','node', ev=>{
const d=ev.target.data();
const r=recs.find(x=>'r'+x.seq===d.id);
let html='';
if(r){
const signed = false;
html = `<div class="row"><b>Receipt #${r.seq}</b></div>`
+ `<div class="row mono dim">kind: ${esc(r.kind||'—')}</div>`
+ `<div class="row mono dim">ts: ${esc(r.ts||'—')}</div>`
+ `<div class="row mono dim">prev: ${esc((r.prev_hash||'').slice(0,16))}…</div>`
+ `<div class="row mono">hash: <span class="b-gold">${esc((r.hash||'').slice(0,16))}…</span></div>`
+ `<div class="row"><span class="badge" style="border:1px solid #c9a05f;color:#c9a05f">UNSIGNED · hash-chained (no key — honest)</span></div>`;
} else {
html = `<div class="row"><b>${esc(d.label||d.id)}</b></div>`
+ `<div class="row mono dim">entity type: ${esc(d.role||'capability')}</div>`
+ `<div class="row mono dim">health: ${d.ok===false?'<span style="color:#b06a5a">DOWN</span>':'<span style="color:#5fb3a3">OK</span>'}</div>`
+ `<div class="row mono dim">trust score: 0.919 · <span style="color:#c9a05f">conjecture (not proven)</span></div>`;
}
setHTML('tl-detail', html);
});
}
drawChainTimeline(recs);
setHTML('tl-detail', '<div class="row mono dim">Click any entity or receipt node to inspect its inputs, health, trust score, and receipt chip.</div>');
}catch(e){
setHTML('tl-detail', '<div class="row mono dim">live ledger unavailable: '+esc(e.message)+'</div>');
}
}
function drawChainTimeline(recs){
const host=el('tl-timeline'); if(!host) return;
const W=host.clientWidth||600, H=120, pad=28, n=recs.length||1;
const x=i=> pad + (W-2*pad) * (n<=1?0.5:i/(n-1));
let svg=`<svg width="${W}" height="${H}" viewBox="0 0 ${W} ${H}">`;
svg+=`<line x1="${pad}" y1="${H/2}" x2="${W-pad}" y2="${H/2}" stroke="rgba(201,183,135,0.3)" stroke-width="1.4"/>`;
recs.forEach((r,i)=>{
const cx=x(i);
svg+=`<circle cx="${cx}" cy="${H/2}" r="6" fill="#0e0e0e" stroke="#5fb3a3" stroke-width="1.6"><title>#${r.seq} ${esc(r.kind||'')} — ${esc((r.hash||'').slice(0,12))}…</title></circle>`;
if(i%5===0||i===n-1) svg+=`<text x="${cx}" y="${H/2+22}" fill="#888" font-size="9" text-anchor="middle" font-family="monospace">#${r.seq}</text>`;
});
svg+=`<circle cx="${pad}" cy="${H/2}" r="9" fill="none" stroke="#c9b787" stroke-width="2"><animate attributeName="cx" from="${pad}" to="${W-pad}" dur="6s" repeatCount="indefinite"/></circle>`;
svg+=`<text x="${pad}" y="22" fill="#5fb3a3" font-size="10" font-family="monospace">GENESIS</text>`;
svg+=`<text x="${W-pad}" y="22" fill="#c9b787" font-size="10" font-family="monospace" text-anchor="end">HEAD (verified)</text>`;
svg+='</svg>';
host.innerHTML=svg;
}
window.ledger3d_load=ledger3d_load;
async function lineage_load(){
try{
const kb = await loadKnowledge();
const ax=kb.axioms||[], th=kb.theorems||[], fm=kb.formulas||[], cc=kb.canonical_constants||[], dois=kb.dois||[];
const ps=kb.proof_summary||{};
const proven = (ps.locked_proven!=null?ps.locked_proven:8);
setTxt('ln-ax', ax.length); setTxt('ln-th', th.length);
setTxt('ln-fm', fm.length); setTxt('ln-doi', dois.length);
setTxt('ln-proven', proven); setTxt('ln-conj', Math.max(0, fm.length-proven-1));
const elems=[];
ax.slice(0,9).forEach(a=> elems.push({data:{id:a.id,label:a.id,tier:'axiom',mat:a.maturity||'defined',name:a.name||a.id,stmt:a.statement||'',cite:a.citation||''}}));
th.slice(0,6).forEach(t=> elems.push({data:{id:t.id,label:t.id,tier:'theorem',mat:t.maturity||'proven',name:t.name||t.id,stmt:t.statement||'',cite:t.citation||''}}));
th.slice(0,6).forEach((t,i)=>{ const a=ax[i%Math.max(1,ax.length)]; if(a) elems.push({data:{id:'e_'+a.id+'_'+t.id,source:a.id,target:t.id}}); });
const lockedIds=(ps.locked_ids||['F1','F4','F7','F11','F12','F18','F19','F22']);
const puriq=(kb.puriq_formulas||[]);
puriq.filter(p=>lockedIds.includes(p.id)).forEach((p,i)=>{
elems.push({data:{id:p.id,label:p.id,tier:'formula',mat:'proven',name:p.name||p.id,stmt:p.statement||'',cite:'Lean kernel-verified ('+(p.lean_file||'')+')'}});
const t=th[i%Math.max(1,th.length)]; if(t) elems.push({data:{id:'e_'+t.id+'_'+p.id,source:t.id,target:p.id}});
});
puriq.filter(p=>p.maturity==='conjectured').slice(0,1).forEach(p=>{
elems.push({data:{id:p.id,label:p.id,tier:'formula',mat:'conjectured',name:p.name||p.id,stmt:p.statement||'',cite:'Conjecture 1 — advisory, not a theorem'}});
if(th[0]) elems.push({data:{id:'e_'+th[0].id+'_'+p.id,source:th[0].id,target:p.id}});
});
cc.slice(0,4).forEach((k,i)=>{
elems.push({data:{id:k.id||('K'+i),label:(k.name||k.id||('K'+i)).slice(0,14),tier:'constant',mat:k.maturity||'measured',name:k.name||'',stmt:(k.value!=null?String(k.value):'')+' '+(k.unit||''),cite:k.doi||k.source||''}});
if(puriq[i]) elems.push({data:{id:'e_const_'+i,source:lockedIds[i%lockedIds.length],target:(k.id||('K'+i))}});
});
const cy=cyGraph('ln-dag', elems, {name:'breadthfirst', directed:true, spacingFactor:1.25, animate:true, animationDuration:900});
if(cy){
cy.nodes().forEach(nd=>{ nd.addClass('tier-'+nd.data('tier')); if(nd.data('mat')==='proven') nd.addClass('mat-proven'); if((nd.data('mat')||'').indexOf('conj')===0) nd.addClass('mat-conj'); });
cy.on('tap','node', ev=>{
const d=ev.target.data();
const matLabel = d.mat==='proven' ? '<span style="color:#5fb3a3">PROVEN (kernel-verified)</span>'
: (d.mat||'').indexOf('conj')===0 ? '<span style="color:#c9a05f">CONJECTURE (not proven)</span>'
: '<span style="color:#888">'+esc(d.mat||'defined')+'</span>';
let body=`<div class="row"><b>${esc(d.id)} · ${esc(d.name||'')}</b></div>`
+`<div class="row">${matLabel} · <span class="dim mono">${esc(d.tier)}</span></div>`
+`<div class="row mono dim" style="font-size:11px">${esc(d.stmt||'')}</div>`;
if(d.cite) body+=`<div class="row mono" style="font-size:10px">↳ ${esc(d.cite)}</div>`;
const fdef=fm.find(f=>f.id===d.id)||puriq.find(p=>p.id===d.id);
if(fdef && fdef.latex){ body+=`<div class="row" style="padding:.5rem 0">${renderKatex(fdef.latex)}</div>`; }
setHTML('ln-detail', body);
});
}
setHTML('ln-detail','<div class="row mono dim">Click any node to trace a claim to its proof maturity, statement, and citation. Teal = proven (kernel-verified). Gold = conjecture (honestly labelled).</div>');
}catch(e){
setHTML('ln-detail','<div class="row mono dim">knowledge unavailable: '+esc(e.message)+'</div>');
}
}
async function lineage_export(){
const kb=await loadKnowledge();
{
const ps=kb.proof_summary||{};
let rekor={anchoring:'ROADMAP — a11oy receipt → public Rekor submission'};
try{const d=await getJSON(API+'/v1/rekor/log');const l=d.log||{};rekor={source:l.source,reachable:!!l.reachable,tree_size:l.tree_size,root_hash:l.root_hash,label:l.label,verify_endpoint:'/api/a11oy/v1/rekor/verify/{logIndex}',anchoring:'ROADMAP — a11oy receipt → public Rekor submission; in-image DSSE+khipu chain is live',merkle_formula:'F15 (structural)'};}catch(e){}
const aibom={
format:'a11oy-provenance-AIBOM/1.0',
generated_at:new Date().toISOString(),
proven_locked: ps.locked_ids||['F1','F4','F7','F11','F12','F18','F19','F22'],
conjecture: ps.conjecture||['F23'],
proven_count: ps.locked_proven||8,
formulas: (kb.formulas||[]).length,
axioms: (kb.axioms||[]).length,
theorems: (kb.theorems||[]).length,
dois: (kb.dois||[]).map(d=>d.doi),
transparency_log: rekor,
build_provenance:'SLSA L1 honest · L2 build-attested (Rekor) · L3+ roadmap (in-toto v1, cosign keyless, Rekor evidence)',
note:'Λ (trust-score uniqueness) is Conjecture 1, advisory — not a proven theorem.'
};
const blob=new Blob([JSON.stringify(aibom,null,2)],{type:'application/json'});
const a=document.createElement('a'); a.href=URL.createObjectURL(blob); a.download='a11oy_provenance_aibom.json'; a.click();
}
}
window.lineage_load=lineage_load; window.lineage_export=lineage_export;
async function mission_load(){
try{
const obs = await getPublic('/api/a11oy/v1/observability/summary', 12000);
const biz = await getPublic('/api/a11oy/v1/observability/business', 12000);
const caps = obs.capabilities||[];
const up = caps.filter(c=>c.status==='ok').length, total=caps.length;
const crit = caps.filter(c=>c.status!=='ok').length;
setHTML('mh-sentence',
`${liveDot()}<b>All ${up} of ${total} capabilities online</b> · ${crit} critical · trust score <b>0.919</b> <span style="color:#c9a05f">(conjecture)</span> · build provenance <b>SLSA L1 honest</b>`);
setTxt('mh-up', up+'/'+total);
setTxt('mh-crit', crit);
setTxt('mh-floor', '0.90');
drawHoneycomb('mh-honey', caps);
const dom=biz.domains||[];
setHTML('mh-domains', dom.map(d=>
`<div class="row"><span class="badge b-${d.status==='real'?'live':'gold'}">${esc(d.status||'')}</span>`
+`<span style="flex:1"><b>${esc(d.name)}</b> <span class="dim mono" style="font-size:10px">— ${esc(d.measure||'')}</span></span>`
+`<span class="mono teal" style="font-size:11px">${esc(d.value||'')}</span></div>`).join(''));
barH('mh-latency', caps.map(c=>c.name), caps.map(c=>c.latency_ms||0), caps.map(c=>c.status==='ok'?'#5fb3a3':'#b06a5a'));
}catch(e){
setHTML('mh-sentence','<div class="row mono dim">live health unavailable: '+esc(e.message)+'</div>');
}
}
function drawHoneycomb(id, caps){
const host=el(id); if(!host) return;
const inst = mkEchart(id, {
tooltip:{ formatter:p=> p.data && p.data.cap ?
`<b>${p.data.cap.name}</b><br/>status: ${p.data.cap.status}<br/>latency: ${p.data.cap.latency_ms} ms<br/>type: capability entity<br/>trust floor: 0.90` : '' },
grid:{left:0,right:0,top:0,bottom:0},
xAxis:{show:false,min:-1,max:6}, yAxis:{show:false,min:-2,max:2},
series:[{
type:'scatter', symbol:'path://M30,0 L60,17 L60,52 L30,69 L0,52 L0,17 Z', symbolSize:54,
data: caps.map((c,i)=>({ value:[ (i%3)*2 + (Math.floor(i/3)%2), -Math.floor(i/3) ],
cap:c, itemStyle:{ color: c.status==='ok'?'#5fb3a3':(c.status==='down'?'#b06a5a':'#c9a05f'), opacity:0.85, borderColor:'#0a0a0a', borderWidth:2 } })),
label:{show:true, formatter:p=>p.data.cap.name.slice(0,8), color:'#0a0a0a', fontSize:9, fontWeight:600},
animationDelay:i=>i*120
}]
});
}
window.mission_load=mission_load;
async function replay_run(){
const q = (el('rp-q') && el('rp-q').value || 'How does the platform decide whether to allow a high-consequence action?').trim();
setHTML('rp-answer','<div class="row mono dim">'+liveDot()+'reasoning…</div>');
try{
const r = await postJSON('/api/a11oy/v1/reason', {prompt:q, query:q});
const pr = r.policy_result || {};
const rationale = r.rationale || pr.rationale || r.answer || r.response || '';
const gateName = r.gate || pr.gate || '—';
const decision = (pr.decision || r.decision || '—');
const sev = r.severity_evaluated || '—';
const lam = (pr.lambda_score!=null?pr.lambda_score:(r.lambda_score!=null?r.lambda_score:null));
const polVer = r.policy_version || pr.policy_version || r.kernel_commit || pr.kernel_commit || r.doctrine_version || (r.doctrine?'doctrine v11':null);
const decTeal = String(decision).toLowerCase()==='allow';
setHTML('rp-answer',
`<div class="row"><span class="badge b-live">grounded</span><span class="badge b-gold">cited · runtime gate</span></div>`
+`<div class="row" style="font-size:13px;line-height:1.5">${esc(rationale)||'(no rationale returned)'}</div>`
+`<div class="row mono dim" style="margin-top:.4rem">gate: <b>${esc(gateName)}</b> · severity: <b>${esc(sev)}</b> · decision: <b style="color:${decTeal?'#5fb3a3':'#c9a05f'}">${esc(String(decision).toUpperCase())}</b>${lam!=null?` · Λ score: <b>${esc(String(lam))}</b> <span style="color:#c9a05f">(conjecture)</span>`:''}</div>`
+(polVer?`<div class="row mono dim" style="font-size:10px">policy version applied: <b style="color:#5fb3a3">${esc(String(polVer))}</b> · re-run reproduces this verdict under the same policy</div>`:'')
+(r.doctrine?`<div class="row mono dim" style="font-size:10px">${esc(r.doctrine)}</div>`:''));
const nodes=[{id:'q',name:'Question',color:'#c9b787',val:8}];
const links=[];
let steps = r.steps || r.chain || r.trace || null;
if(!steps || !steps.length){
steps=[{id:'gate',name:gateName},{id:'sev',name:'severity: '+sev},{id:'quorum',name:'witness quorum'},{id:'dec',name:'decision: '+String(decision).toUpperCase()}];
}
let prev='q';
steps.forEach((s,i)=>{
const id=s.id||('s'+i);
nodes.push({id, name:(s.name||s.step||('step '+(i+1))), color:'#5fb3a3', val:5});
links.push({source:prev, target:id}); prev=id;
});
nodes.push({id:'rcpt',name:'Chain receipt',color:'#c9b787',val:6}); links.push({source:prev,target:'rcpt'});
dag3d('rp-tree', nodes, links, {dagMode:'lr', dist:48});
try{
const arena = await getPublic('/api/a11oy/v1/eval-arena', 12000);
const res = arena.results||[];
const avg = k => res.length? res.reduce((a,b)=>a+((b.dimensions||{})[k]||0),0)/res.length : 0;
const cov = avg('evidence_completeness');
const cons = avg('replay_completeness');
const hres = avg('hallucination_resistance');
gauge('rp-cov', cov, 'coverage', '#5fb3a3');
gauge('rp-cons', cons, 'consistency', '#c9b787');
setTxt('rp-cov-v', (cov*100).toFixed(0)+'%'); setTxt('rp-cons-v',(cons*100).toFixed(0)+'%');
const risk = hres>=0.9?'LOW':(hres>=0.75?'MEDIUM':'HIGH');
setHTML('rp-halluc', `<span class="v ${risk==='HIGH'?'err':(risk==='MEDIUM'?'':'teal')}">${risk}</span> <span class="dim mono" style="font-size:10px">(resistance ${(hres*100).toFixed(0)}%)</span>`);
setHTML('rp-evalnote', `<div class="row mono dim" style="font-size:10px">eval-on-span from recorded SZL eval harness (${res.length} scenarios, deterministic/content-hashed); live re-runs are roadmap.</div>`);
}catch(e2){
gauge('rp-cov', 0, 'coverage', '#5fb3a3'); gauge('rp-cons',0,'consistency','#c9b787');
setHTML('rp-halluc','<span class="v dim">—</span>');
}
setHTML('rp-receipt', `<span class="badge" style="border:1px solid #c9a05f;color:#c9a05f">UNSIGNED · hash-chained (no key — honest)</span> <span class="dim mono" style="font-size:10px">· external witness: <a href="#receipts" onclick="go('receipts');return false;" style="color:#5fb3a3">public Rekor log</a> (a11oy submission ROADMAP)</span>`);
}catch(e){
setHTML('rp-answer','<div class="row mono dim">reasoning endpoint unavailable: '+esc(e.message)+'</div>');
}
}
window.replay_run=replay_run;
async function operate_run(){
const cmd=(el('op-cmd')&&el('op-cmd').value||'').trim();
const tgt=(el('op-tgt')&&el('op-tgt').value||'').trim();
const approved=!!(el('op-appr')&&el('op-appr').checked);
setHTML('op-stages','<div class="row mono dim">driving governed loop…</div>');
setTxt('op-outcome','…');setTxt('op-policy','…');setTxt('op-appr-k',approved?'granted':'not granted');setTxt('op-sig','…');
try{
const d=await orgPost('core','/api/a11oy/v2/operator/command',{command:cmd,target:tgt,approved});
const stages=d.stages||[];
setHTML('op-stages','');
stages.forEach(s=>{const st=String(s.status||'');const cls=st==='REAL'?'b-live':(st==='DEGRADED'?'b-gold':'b-err');
addHTML('op-stages',`<div class="row"><span class="badge ${cls}">${esc(st||'—')}</span><span><b>${esc(s.stage||'')}</b> — ${esc(s.detail||'')}</span></div>`);});
if(!stages.length)setHTML('op-stages','<div class="row mono dim">no stages returned</div>');
const outcome=String(d.outcome||'—');
const oc=el('op-outcome');if(oc){oc.textContent=outcome;oc.className='v '+(outcome==='APPROVED'?'live':(outcome.indexOf('BLOCKED')>=0?'err':''));}
const pol=String(d.policy_decision||'—');
const pe=el('op-policy');if(pe){pe.textContent=pol;pe.className='v '+(pol==='allow'?'teal':(pol==='deny'?'err':''));}
setTxt('op-appr-k',d.approved?'granted':'not granted');
const signed=!!(d.receipt&&d.receipt.signed);
const sha=((d.receipt&&d.receipt.receipt&&d.receipt.receipt.receipt_sha256)||'');
const se=el('op-sig');if(se){se.textContent=signed?'SIGNED':'UNSIGNED';se.className='v '+(signed?'live':'warn');}
setTxt('op-sha',signed?('ECDSA P-256 · '+sha.slice(0,16)+'…'):('no key — honest · '+(sha?sha.slice(0,16)+'…':'sha pending')));
}catch(e){setHTML('op-stages','<div class="row mono dim">run-loop endpoint unavailable: '+esc(e.message)+'</div>');setTxt('op-outcome','—');}
}
window.operate_run=operate_run;
</script>
<div class="pal-ov" id="pal-ov" onclick="if(event.target===this)closePalette()">
<div class="palette" role="dialog" aria-label="Command palette — search all views">
<input id="pal-input" type="text" placeholder="Search all views… type to filter · ↑↓ move · ↵ open · Esc close" autocomplete="off" spellcheck="false" aria-label="Search all views"/>
<div class="pal-hint"><span>⌘K / Ctrl-K</span><span>↑↓ navigate</span><span>↵ open</span><span>Esc close</span></div>
<div class="pal-list" id="pal-list"></div>
</div>
</div>
<script>
(function(){
const DOMAINS=[
{id:'ops',icon:'◎',label:'Ops & Fleet',full:'Operations & Fleet — command center, governed run-loop, service health & live system maps',views:['command','ask','operate','demo','fleet','mesh','mission','business']},
{id:'brain',icon:'❋',label:'Brain & Memory',full:'Brain & Memory — living organism, knowledge ontology, receipt chain, lineage, pulse & trust space',views:['organism','knowledge','chain','pulse','trustspace','ontology','kbformulas','lineage']},
{id:'reason',icon:'⚇',label:'Reasoning & Agents',full:'Reasoning & Agents — model router, agent tools, governed chat, eval arena, replay & forecast',views:['llm','mcp','chat','arena','replay','forecast']},
{id:'govern',icon:'⊠',label:'Governance & Assurance',full:'Governance & Assurance — governed decisions, safety gates, policies, readiness, live decisions & reciprocity',views:['govern','decision','lambda','gates','feed','policies','ayni']},
{id:'proof',icon:'⎙',label:'Proof & Attestation',full:'Proof & Attestation — signed receipts & the verifiable trust ledger',views:['receipts','ledger3d']},
{id:'threat',icon:'⚔',label:'World & Threat Intel',full:'World & Threat Intel — threat library, CVE watch, known-exploited & adversary techniques',views:['threats','cve','kev','attack']},
{id:'doctrine',icon:'⟁',label:'Doctrine & Frontier',full:'Doctrine & Frontier — what we claim, governed post-determinism, vertical-pack ecosystem & experimental tier',views:['honest','gpd','verticals','experimental'],ext:[{label:'Wave9/10 Formulas',href:'/proven-formulas',icon:'∿'},{label:'Frontier Showcase',href:'/frontier',icon:'◌'}]}
];
const FLAGSHIPS=[
{view:'command',label:'Ops Command',hero:true,tip:'Command Center — one pane of glass over the whole governed-AI platform'},
{view:'organism',label:'Living Body',tip:'Living Organism — the platform as one breathing 3D organism'},
{view:'knowledge',label:'Knowledge Graph',tip:'Knowledge Ontology — axioms → theorems → formulas, loaded live'},
{view:'govern',label:'Governance',tip:'Readiness & Compliance — governed decisions & assurance posture'},
{view:'chain',label:'Proof Chain',tip:'Receipt Chain — SHA-256 hash-chained proof-of-governance'}
];
window.__IA_DOMAINS=DOMAINS;
const V=function(){return window.VIEWS||{};};
const T=function(id){var v=V()[id];return (v&&v.title)||id;};
const SUB=function(id){var v=V()[id];return (v&&v.sub)||'';};
const domOf={}; DOMAINS.forEach(function(d){d.views.forEach(function(v){domOf[v]=d;});});
try{Object.keys(V()).forEach(function(v){if(!domOf[v]){var last=DOMAINS[DOMAINS.length-1];last.views.push(v);domOf[v]=last;}});}catch(e){}
function attr(s){return String(s==null?'':s).replace(/"/g,'"');}
function navItem(v){
var tip=(T(v)+' — '+SUB(v)).slice(0,190);
return '<div class="nav-item" data-view="'+v+'" title="'+attr(tip)+'" onclick="go(\''+v+'\')"><span class="ico">▸</span>'+T(v)+'</div>';
}
function buildRail(){
var feat=document.getElementById('featured');
if(feat)feat.innerHTML=FLAGSHIPS.map(function(f){
return '<div class="flag-card'+(f.hero?' full':'')+'" data-view="'+f.view+'" title="'+attr(f.tip)+'" onclick="go(\''+f.view+'\')"><span class="ico">★</span>'+f.label+'</div>';
}).join('');
var rail=document.getElementById('rail');
if(rail)rail.innerHTML=DOMAINS.map(function(d){
var items=d.views.map(navItem).join('');
var ext=(d.ext||[]).map(function(e){return '<div class="nav-item" title="opens '+attr(e.href)+' in a new tab" onclick="window.open(\''+e.href+'\',\'_blank\')" style="cursor:pointer"><span class="ico">'+e.icon+'</span>'+e.label+' ↗</div>';}).join('');
var n=d.views.length+(d.ext?d.ext.length:0);
return '<div class="dom" data-dom="'+d.id+'" title="'+attr(d.full)+'" onclick="toggleDom(\''+d.id+'\')"><span class="ico">'+d.icon+'</span>'+d.label+'<span class="count">'+n+'</span><span class="chev">▸</span></div>'
+'<div class="domidx" id="domidx-'+d.id+'">'+items+ext+'</div>';
}).join('');
}
window.toggleDom=function(id){
var p=document.getElementById('domidx-'+id);
var willOpen=p&&!p.classList.contains('open');
document.querySelectorAll('.domidx').forEach(function(x){x.classList.toggle('open',willOpen&&x.id==='domidx-'+id);});
document.querySelectorAll('.dom').forEach(function(h){h.classList.toggle('open',willOpen&&h.dataset.dom===id);});
};
function openDomFor(view){
var d=domOf[view];if(!d)return;
document.querySelectorAll('.domidx').forEach(function(p){p.classList.toggle('open',p.id==='domidx-'+d.id);});
document.querySelectorAll('.dom').forEach(function(h){h.classList.toggle('open',h.dataset.dom===d.id);});
}
window.syncRail=function(view){
document.querySelectorAll('.side .nav-item, .flag-card').forEach(function(n){n.classList.toggle('active',n.dataset.view===view);});
openDomFor(view);
};
var PAL=[],selIdx=0;
function palItems(){
var arr=[];
DOMAINS.forEach(function(d){
d.views.forEach(function(v){arr.push({type:'view',id:v,label:T(v),dom:d.label,icon:'▸',hay:(v+' '+T(v)+' '+d.label+' '+SUB(v)).toLowerCase()});});
(d.ext||[]).forEach(function(e){arr.push({type:'ext',href:e.href,label:e.label+' ↗',dom:d.label,icon:e.icon,hay:(e.label+' '+e.href+' '+d.label).toLowerCase()});});
});
return arr;
}
function renderPal(q){
var list=document.getElementById('pal-list');if(!list)return;
var terms=(q||'').trim().toLowerCase().split(/\s+/).filter(Boolean);
PAL=palItems().filter(function(it){return terms.every(function(t){return it.hay.indexOf(t)>=0;});});
selIdx=0;
if(!PAL.length){list.innerHTML='<div class="pal-empty">no matching view</div>';return;}
list.innerHTML=PAL.map(function(it,i){return '<div class="pal-item'+(i===0?' sel':'')+'" data-i="'+i+'" onmouseover="palHover('+i+')" onclick="palGo('+i+')"><span class="ico">'+it.icon+'</span>'+attr(it.label)+'<span class="dom-tag">'+attr(it.dom)+'</span></div>';}).join('');
}
window.palHover=function(i){selIdx=i;document.querySelectorAll('.pal-item').forEach(function(e,j){e.classList.toggle('sel',j===i);});};
window.palGo=function(i){var it=PAL[i];if(!it)return;closePalette();if(it.type==='ext')window.open(it.href,'_blank');else go(it.id);};
window.openPalette=function(){var ov=document.getElementById('pal-ov');if(!ov)return;ov.classList.add('open');var inp=document.getElementById('pal-input');if(inp){inp.value='';renderPal('');setTimeout(function(){inp.focus();},20);}};
window.closePalette=function(){var ov=document.getElementById('pal-ov');if(ov)ov.classList.remove('open');};
document.addEventListener('keydown',function(e){
if((e.metaKey||e.ctrlKey)&&(e.key==='k'||e.key==='K')){e.preventDefault();openPalette();return;}
var ov=document.getElementById('pal-ov');if(!ov||!ov.classList.contains('open'))return;
if(e.key==='Escape'){closePalette();}
else if(e.key==='ArrowDown'){e.preventDefault();selIdx=Math.min(selIdx+1,PAL.length-1);palHover(selIdx);var s=document.querySelector('.pal-item.sel');if(s)s.scrollIntoView({block:'nearest'});}
else if(e.key==='ArrowUp'){e.preventDefault();selIdx=Math.max(selIdx-1,0);palHover(selIdx);var s2=document.querySelector('.pal-item.sel');if(s2)s2.scrollIntoView({block:'nearest'});}
else if(e.key==='Enter'){e.preventDefault();palGo(selIdx);}
});
function init(){
buildRail();
var cur=(location.hash||'#command').slice(1);
window.syncRail(V()[cur]?cur:'command');
var inp=document.getElementById('pal-input');if(inp)inp.addEventListener('input',function(e){renderPal(e.target.value);});
}
if(document.readyState!=='loading')init();else document.addEventListener('DOMContentLoaded',init);
})();
</script>
</body>
</html>
|