commit 07a4a522913ccf40b933c1b2efff5724802c43c0 parent 0cbd8346580b9d86ebd6e266c84a2de677e45d57 Author: James Eversole <james@eversole.co> Date: Sun, 18 Oct 2026 12:08:28 -0500 Refresh site assets for accepted name-index compiler Pin publication 0cbd834; authenticate 1191 exports across 28 modules. Refresh compiler, demos, independent captures, contracts/environments, inspector and showcase. Add 18 releases at 0.1.5 while preserving all 107 historical records and exact bundles (125 total). JS parity, 89 serial Node tests, independent compiler/contracts conformance, bounded Chromium (218.8s / 1556.9 MiB), paired site/dependency builds and flake checks pass. Update exact export/module/release expectations against independently audited artifacts; retain all resource and historical-version controls. Local preparation only, no deployment. Diffstat:
19 files changed, 153 insertions(+), 24 deletions(-)
diff --git a/ext/demo-site/bundles/3d364a349e4a623bc022a6cdc558a490d764c4c9d6a224b65a727f2380ce5b0d.arboricx b/ext/demo-site/bundles/3d364a349e4a623bc022a6cdc558a490d764c4c9d6a224b65a727f2380ce5b0d.arboricx Binary files differ. diff --git a/ext/demo-site/bundles/74251492b68205d47f001fe1210d8846b905dae7b4cdf12c3b1c5e563473575d.arboricx b/ext/demo-site/bundles/74251492b68205d47f001fe1210d8846b905dae7b4cdf12c3b1c5e563473575d.arboricx Binary files differ. diff --git a/ext/demo-site/bundles/9bc1c7c66b150fdac8f046b2bad48b07bf585c9ea2c63b416dc72c4191b0128e.arboricx b/ext/demo-site/bundles/9bc1c7c66b150fdac8f046b2bad48b07bf585c9ea2c63b416dc72c4191b0128e.arboricx Binary files differ. diff --git a/ext/demo-site/bundles/9c61d59cd76036000691da6ff5e2e9f641cf5c614b424d7280e052cfcb716e75.arboricx b/ext/demo-site/bundles/9c61d59cd76036000691da6ff5e2e9f641cf5c614b424d7280e052cfcb716e75.arboricx Binary files differ. diff --git a/ext/demo-site/bundles/b588b07ac71f87ab85059ea0788ee2e11d3ee77ad319310e5a21f844c98dabf4.arboricx b/ext/demo-site/bundles/b588b07ac71f87ab85059ea0788ee2e11d3ee77ad319310e5a21f844c98dabf4.arboricx Binary files differ. diff --git a/ext/demo-site/bundles/d70de875988dfa309f2c167992928866f88b08af351918b8c7b5d88c541c6e94.arboricx b/ext/demo-site/bundles/d70de875988dfa309f2c167992928866f88b08af351918b8c7b5d88c541c6e94.arboricx Binary files differ. diff --git a/ext/demo-site/compiler-reference.v1 b/ext/demo-site/compiler-reference.v1 @@ -1,14 +1,15 @@ tricu.compiler-library-fixture.v1 +module source.index source_index lib/source/index.tri d3db01d9854f2371c0e1d36a99de6b21596cc99306a3131f3f753e037a8efbce module source.map source_map lib/source/map.tri 72638c3d2ec6f47598cba67c730249e8381c67cd5ba6437c4d24711e206afced -module source.unit source_unit lib/source/unit.tri df06fabda353c5d88c0463e63f3d260c584abf0258ff2e3b9ca500481f4e0658 +module source.unit source_unit lib/source/unit.tri 0883c40a3f5257574290b9598dca64073f52f9af126adf14c76f6974f26dfff0 module prelude prelude lib/prelude.tri 0c26a0142d15cc2a11a4317264491c797944e76ea8afa07a1efef240a70f4289 module io io lib/io.tri c4ec206590d25d581b9a96f242c22936d8d0b2e9903331ce50b30ad7de254bd6 module source.object source_object lib/source/object.tri 79cd7f19d3de74be38bac823d8674f6b74327a4ae12bb0cf405119b51fbd9ea5 module source.module source_module lib/source/module.tri fb609a75a12659d2a05a63681c0cf96ef606045b4aebe044eac077c8cd23fbf2 -module source.resolve source_resolve lib/source/resolve.tri e31cd89fb71fb7606a05a9bd0afd553f764b40bc0731d944aea1d63e5643c5b9 +module source.resolve source_resolve lib/source/resolve.tri 7f5f726392cbbdaa9f30aef09952a31eda14f034e04112a210f60f10542f6add module source.build source_build lib/source/build.tri 5c24cc853df42e433916b1528fc8cd56334bd393606f54e7b12efb6a7069be0d module parser parser lib/parser.tri 31e8c679e086bdf9b68e05a4bb71fd413e66e53fd93b2e4b4a806930020b36e4 -module source.order source_order lib/source/order.tri bfa6059c7986f263df801f70879da4870ecca95bdbb0b5726d051e92b695cca4 +module source.order source_order lib/source/order.tri ec97f34c89ead701af75053ea340ead1bb0fda13d83b474ca760c3aa359970fa module source.compile source_compile lib/source/compile.tri 3764484ae723d4311cf04b769251badf7f7a190d9480389303847be1ce665bb9 module source.program source_program lib/source/program.tri 67cd6e68d939e49922b1718e0164854a01e5c85023a45bfab485c71c4dde55b1 module source.ast source_ast lib/source/ast.tri b6d05cace61c04032ea39a858dedc7482988dbb3ed47581a9a3239094263d314 @@ -24,6 +25,6 @@ module graph graph lib/graph.tri bc8622d006e357b1045f2cb3c775a8a58045610ee6f4a61 module lexer lexer lib/lexer.tri 946bbf9797a5cf722c6e85f36ac36b1ec2dd3d1f3b2650187c182dff12162bf7 module source.pattern source_pattern lib/source/pattern.tri b27f1eac18cbe8ad80cdd91f9f546b2d2a782b6cc5c5676232491b95751abe5a module source.equations source_equations lib/source/equations.tri 825f175f5c6dd56e103b94e924283acf5913cbc4554fb42fc07a034f460d2076 -module source.stable source_stable lib/source/stable.tri ca105b189c1e70919efe86232915ba0c3bc43a385efa48a3c3269c5a17309e48 +module source.stable source_stable lib/source/stable.tri b407662fec9436bfb7cc06eed2c14961174c6fa19863413ffc74d58ef72c5431 module math.native native_math lib/math/native.tri e9d0b87564d13695bef695c552e9707710d9147877f9d9dc5282c7335664cc57 -bundle 5a856a7f88bdb6988da45636b047204bdfc0b04f9e484d56a5b9fa2fad6cd280 +bundle 110c5740b61f91f8a6dc8926541fd2ca89cebe8771191b13ed284122964b7c2b diff --git a/ext/demo-site/compiler.json b/ext/demo-site/compiler.json @@ -1,8 +1,8 @@ { "schema": 1, - "hash": "cfb11a6ad90810350bd2042d81ec63404c5d6bb418512ffc5218c100431dd8ae", + "hash": "9c61d59cd76036000691da6ff5e2e9f641cf5c614b424d7280e052cfcb716e75", "export": "source_unit.compileStableModuleDefinitions", "backend": "stable", "reference": "test/fixtures/compiler-library.arboricx", - "referenceCommit": "d8c961a7b87f68bb5097e799d6b37a49688573ec" + "referenceCommit": "0cbd8346580b9d86ebd6e266c84a2de677e45d57" } diff --git a/ext/demo-site/demos.json b/ext/demo-site/demos.json @@ -2,9 +2,9 @@ "schema": 1, "backend": "stable", "compilerExport": "source_unit.compileStableModuleDefinitions", - "compilerBundleSha256": "cfb11a6ad90810350bd2042d81ec63404c5d6bb418512ffc5218c100431dd8ae", - "compilerManifest": "e3ddc42beff8a5e766608635b281e69ce6fed96eafccbe599bc28e1e8ee095cd", - "hostSha256": "3a8fdccc62ac1611b7dfe99d311356661e5e890cc1dff083c6a03939cdf0be6f", + "compilerBundleSha256": "9c61d59cd76036000691da6ff5e2e9f641cf5c614b424d7280e052cfcb716e75", + "compilerManifest": "17df7d4ef56684d423ca59d5f4c4d03aa73b24c5579e00f8719e2f06641c39e6", + "hostSha256": "662fcf80231c070e4aa15dff1438aa1f5c99fb27a905f46a62efaff46c49f668", "demos": { "intro": { "demandCases": [], diff --git a/ext/demo-site/environments.json b/ext/demo-site/environments.json @@ -1,6 +1,6 @@ { "schema": 1, - "compiler": "cfb11a6ad90810350bd2042d81ec63404c5d6bb418512ffc5218c100431dd8ae", + "compiler": "9c61d59cd76036000691da6ff5e2e9f641cf5c614b424d7280e052cfcb716e75", "profiles": { "empty": null, "practical": { diff --git a/ext/demo-site/lexer-demo.json b/ext/demo-site/lexer-demo.json @@ -2,7 +2,7 @@ "id": "lexer", "hash": "e756a481b3056a2e76f50316ccf77bfab8b15727b7bec899580c2eb919e668b2", "mode": "pure", - "compilerSha256": "18e03a8ae0730fff1041ebb64076fb0815907642365110b5d33cc2aa030b315c", + "compilerSha256": "d70de875988dfa309f2c167992928866f88b08af351918b8c7b5d88c541c6e94", "sourceSha256": "5478169b100e087b8f8862418a2cd5d0e593edcc299a122b762842483f4525e0", "haskellCases": [ { diff --git a/ext/demo-site/packages.json b/ext/demo-site/packages.json @@ -779,6 +779,134 @@ "manifest": "ed99e054e9c862668e165f458d3afcdc56279f766eea7a3886d440aea7252b63", "title": "Located scans: matched prefix, remainder and character positions", "demo": "lexer" + }, + { + "name": "tricu-base", + "version": "0.1.5", + "hash": "f9f0ab0e44f6ae39479d74c6c66a2bdaba3f40bd26781c3ec95300c2ee3c07f3", + "manifest": "fa9d4df0f82cac2754fdd3e92009cb48064856ff4cc5b18f092309aef7ff5ed4", + "title": "Foundation: lists, Results and decimal formatting" + }, + { + "name": "tricu-file-io", + "version": "0.1.5", + "hash": "401961d889131c735bf48b415f53d3b85dfab0136496299f60cf1dcb0b264f14", + "manifest": "6a22866c2cff143599cb854b2cd3bb3c8948e40835425ed62d942d88bed5c5aa", + "title": "File IO and hashing actions" + }, + { + "name": "arboricx-inspection", + "version": "0.1.5", + "hash": "f571888c5aa3f7a91e9d5d6c45c674851ea8e3598514ad8d535fd3e9056d0314", + "manifest": "fe9b420e1e776fa1dda7b77857e322c0509ed308bb18441b76a3b03023f93468", + "title": "Arboricx inspection: validate without execution" + }, + { + "name": "tricu-compiler", + "version": "0.1.5", + "hash": "9c61d59cd76036000691da6ff5e2e9f641cf5c614b424d7280e052cfcb716e75", + "manifest": "17df7d4ef56684d423ca59d5f4c4d03aa73b24c5579e00f8719e2f06641c39e6", + "title": "Compiler library (stable browser source-unit API; native helpers)" + }, + { + "name": "tricu-source-builder", + "version": "0.1.5", + "hash": "d70de875988dfa309f2c167992928866f88b08af351918b8c7b5d88c541c6e94", + "manifest": "c0ea53b7283b4cce8bc986f3b2c8de4db990c0eaf7d415e8f1d8784580c8d370", + "title": "Stable native application compiler (modules, imports and publication)" + }, + { + "name": "arboricx-server", + "version": "0.1.5", + "hash": "c8bc5c1ebeff9189d64ffd23554026d6f39aed92e2b25a4fa0935a0d25b99608", + "manifest": "451e24aeec39ff1295c0c735897dcefd34b9219ef72a8b0c619b678373afcfa1", + "title": "Arboricx registry server (native sockets and filesystem)" + }, + { + "name": "tricu-http", + "version": "0.1.5", + "hash": "7f7b4191c8780da6a4bf20084835e67007e9e5a7b9af43476b97faf502338545", + "manifest": "e6195e968697ca5799891bcd9096b568dceb717ea6e2b14adbdb8ca041a01691", + "title": "HTTP parsing, responses and native socket handlers" + }, + { + "name": "tricu-intensional-contracts", + "version": "0.1.5", + "hash": "dd39639f1d0a1a14f7856b8d0db682adf36d1e7501ea1889bd185ea500989380", + "manifest": "7467e74f0c5b7dfad8d6a14d34171b2b0bcd7750423894e2ca920e0535fde7d1", + "title": "Intensional contracts: tree shapes and numeric structure" + }, + { + "name": "tricu-graphs", + "version": "0.1.5", + "hash": "b588b07ac71f87ab85059ea0788ee2e11d3ee77ad319310e5a21f844c98dabf4", + "manifest": "7b798a3afae6dce07b718bed855c7209ec3b898bb70b379dece935c4033cf9b6", + "title": "Dependency ordering and cycle witnesses (validated small graphs)" + }, + { + "name": "tricu-parser", + "version": "0.1.5", + "hash": "3d364a349e4a623bc022a6cdc558a490d764c4c9d6a224b65a727f2380ce5b0d", + "manifest": "14282088469cc420dd014700da06998f6bb8dcf990fc885a464c0a1e1858e20d", + "title": "Parser combinators: diagnostics, consumption and commitment" + }, + { + "name": "tricu-math", + "version": "0.1.5", + "hash": "74251492b68205d47f001fe1210d8846b905dae7b4cdf12c3b1c5e563473575d", + "manifest": "7f87549d587fa8c3be88af0ea988db3adcc3b35f1ffb48973553491b075614db", + "title": "Binary arithmetic and ASCII classifiers (canonical naturals only)" + }, + { + "name": "tricu-lexer", + "version": "0.1.5", + "hash": "9bc1c7c66b150fdac8f046b2bad48b07bf585c9ea2c63b416dc72c4191b0128e", + "manifest": "816df1a32853750a1254112aff8ae8c55ca86bf70e809d226969ab1d43a6688b", + "title": "Located character scans and token positions" + }, + { + "name": "tricu-binary", + "version": "0.1.5", + "hash": "fe3b02f68025b90d0ce782885c8f72582642a985694eb4bcd702c2e006846a86", + "manifest": "7a24af56a9ce9b947cadcafd3a9da127b1507275bfac62b9fa55e27490b176dc", + "title": "Checked byte readers, prefix parsing and UTF-8 validation" + }, + { + "name": "tricu-patterns", + "version": "0.1.5", + "hash": "fb81fe47421564ac80fedc90be6003906e017978385f749d2da95297e58587c2", + "manifest": "703db8cd6c5679861257d1cc38c17be200241ade8db3812e8c387e9274aaa56e", + "title": "Ordered predicate/action dispatch and thunked conditionals" + }, + { + "name": "tricu-list-traversal", + "version": "0.1.5", + "hash": "60afc41f04fa65130326eeed4ca9e128bee5e90c7041f9641bbf9cfe87c142cd", + "manifest": "4c79b7ad124027147b8fddd98c2b66cfd776c36d915c95dfb1fbf9b31a51fb88", + "title": "Early-stopping list folds with retained input suffixes" + }, + { + "name": "tricu-formatter", + "version": "0.1.5", + "hash": "3bd4df273ab4e4599417a18210ec3ad39e2ace2f7df6c0b7cad62999c4cb52a2", + "manifest": "e8bad7dcea5944336083f5bfa3ada63d7542286fbdec0f34dfeb65e9879ba2fc", + "title": "Conservative tricu equation alignment (not an AST printer)" + }, + { + "name": "parser-demo", + "version": "0.1.5", + "hash": "355e41506f39e05da8c8a72a68aa810a486e062480322bac11af67e86980520e", + "manifest": "0c34bfdf800f8bd1b742e375a8f7c555c88d0c827268f684259433e834d94fed", + "title": "Parser combinators: complete input, prefixes and committed errors", + "demo": "parser" + }, + { + "name": "lexer-demo", + "version": "0.1.5", + "hash": "e756a481b3056a2e76f50316ccf77bfab8b15727b7bec899580c2eb919e668b2", + "manifest": "ed99e054e9c862668e165f458d3afcdc56279f766eea7a3886d440aea7252b63", + "title": "Located scans: matched prefix, remainder and character positions", + "demo": "lexer" } ] } diff --git a/ext/demo-site/parser-demo.json b/ext/demo-site/parser-demo.json @@ -2,7 +2,7 @@ "id": "parser", "hash": "355e41506f39e05da8c8a72a68aa810a486e062480322bac11af67e86980520e", "mode": "pure", - "compilerSha256": "18e03a8ae0730fff1041ebb64076fb0815907642365110b5d33cc2aa030b315c", + "compilerSha256": "d70de875988dfa309f2c167992928866f88b08af351918b8c7b5d88c541c6e94", "sourceSha256": "3405e18774db8de759b7793880e1568c156d68e5fe4a388e09b95ff301d896f5", "haskellCases": [ { diff --git a/ext/demo-site/test/browser.mjs b/ext/demo-site/test/browser.mjs @@ -217,7 +217,7 @@ try { await evaluate("document.getElementById('program-picker').value='package:tricu-base';document.getElementById('program-picker').dispatchEvent(new Event('change'))"); assert.equal(await evaluate("document.getElementById('program-release').hidden"),false); assert.equal(await evaluate("document.getElementById('program-hash').hidden"),true); - assert.equal(await evaluate("document.getElementById('package-version').value"),'0.1.4','published packages default to newest release'); + assert.equal(await evaluate("document.getElementById('package-version').value"),'0.1.5','published packages default to newest release'); assert.equal(await evaluate("document.getElementById('run').disabled"),true); assert.match(await evaluate("document.getElementById('package-info').textContent"),/No bundle loaded/); for(const name of [...new Set(packageIndex.releases.filter(r=>!r.demo).map(r=>r.name))]) { @@ -383,11 +383,11 @@ try { await evaluate("document.getElementById('export').value='add';document.getElementById('export').dispatchEvent(new Event('change'));document.getElementById('arguments').value=JSON.stringify([{type:'number',value:'123456789'},{type:'number',value:'11'}]);document.getElementById('output-type').value='number'"); await click('run');await wait(status('Finished')); assert.equal(await evaluate("document.getElementById('result').textContent"),'Returned number: "123456800"'); - await evaluate("document.getElementById('program-picker').value='package:tricu-compiler';document.getElementById('program-picker').dispatchEvent(new Event('change'));document.getElementById('package-version').value='0.1.4';document.getElementById('package-version').dispatchEvent(new Event('change'))"); + await evaluate("document.getElementById('program-picker').value='package:tricu-compiler';document.getElementById('program-picker').dispatchEvent(new Event('change'));document.getElementById('package-version').value='0.1.5';document.getElementById('package-version').dispatchEvent(new Event('change'))"); await click('load-release');await wait(status('Ready')); assert.equal(await evaluate("document.getElementById('source-summary').textContent"),'Package details'); assert.equal(await evaluate("document.getElementById('edit-source').hidden"),true); - assert.equal(await evaluate("document.getElementById('export').options.length"),1171); + assert.equal(await evaluate("document.getElementById('export').options.length"),1191); assert.match(await evaluate("document.getElementById('package-info').textContent"),new RegExp(compilerDescriptor.hash)); const indexedCompilerRequests=requests.filter(p=>p.endsWith('/dist/compiler-worker.js')).length; await click('tab-export-definition'); @@ -399,7 +399,7 @@ try { await click('tab-playground'); // Hash loading/sharing must recognize the indexed compiler too, not only its name. await evaluate(`document.getElementById('program-picker').value='hash';document.getElementById('program-picker').dispatchEvent(new Event('change'));document.getElementById('bundle-hash').value=${JSON.stringify(compilerDescriptor.hash)};document.getElementById('program-hash').dispatchEvent(new Event('submit',{cancelable:true}))`);await wait(status('Ready')); - assert.equal(await evaluate("document.getElementById('export').options.length"),1171); + assert.equal(await evaluate("document.getElementById('export').options.length"),1191); await evaluate("document.getElementById('program-picker').value='package:tricu-source-builder';document.getElementById('program-picker').dispatchEvent(new Event('change'))"); await click('load-release');await wait(status('Ready')); assert.deepEqual(await evaluate("[...document.getElementById('export').options].map(o=>o.value)"),['sourceBuildGraph']); diff --git a/ext/demo-site/test/bundle.test.mjs b/ext/demo-site/test/bundle.test.mjs @@ -7,7 +7,7 @@ import {COMPILER_BUNDLE_LIMIT,decodeBundle,loadBundle,bundleHash,fetchBytes,fetc import {makeBundle,sizedBundle} from './bundle-fixture.mjs'; // Independently counted from the authenticated compiler manifest with the // Python bundle reader; older indexed compiler releases remain retained. -const COMPILER_EXPORT_COUNT=1171; +const COMPILER_EXPORT_COUNT=1191; const data=JSON.parse(await readFile(new URL('../demos.json',import.meta.url))); test('stable packaged sources/pins and real compiler bundle decode',async()=>{ for(const [name,demo] of Object.entries(data.demos)){ diff --git a/ext/demo-site/test/compiler-conformance.json b/ext/demo-site/test/compiler-conformance.json @@ -1,6 +1,6 @@ { - "compilerBundleSha256": "cfb11a6ad90810350bd2042d81ec63404c5d6bb418512ffc5218c100431dd8ae", - "hostSha256": "3a8fdccc62ac1611b7dfe99d311356661e5e890cc1dff083c6a03939cdf0be6f", + "compilerBundleSha256": "9c61d59cd76036000691da6ff5e2e9f641cf5c614b424d7280e052cfcb716e75", + "hostSha256": "662fcf80231c070e4aa15dff1438aa1f5c99fb27a905f46a62efaff46c49f668", "backend": "stable", "export": "source_unit.compileStableModuleDefinitions", "cases": [ diff --git a/ext/demo-site/test/compiler.test.mjs b/ext/demo-site/test/compiler.test.mjs @@ -20,7 +20,7 @@ test('compiler shipped pin matches authenticated reference and Haskell golden pr const fixtureDigest=createHash('sha256').update('tricu.compiler-library-fixture.v1\0').update(shipped).digest('hex'); assert.deepEqual(metadata.filter(row=>row.startsWith('bundle\t')),['bundle\t'+fixtureDigest]); const sources=metadata.filter(row=>row.startsWith('module\t')); - assert.equal(sources.length,27); + assert.equal(sources.length,28); assert.ok(sources.every(row=>row.split('\t')[2]!=='patterns')); for(const row of sources){ const pin=row.split('\t')[4];assert.match(pin,/^[0-9a-f]{64}$/); diff --git a/ext/demo-site/test/conformance.json b/ext/demo-site/test/conformance.json @@ -1,5 +1,5 @@ { - "hostSha256": "3a8fdccc62ac1611b7dfe99d311356661e5e890cc1dff083c6a03939cdf0be6f", + "hostSha256": "662fcf80231c070e4aa15dff1438aa1f5c99fb27a905f46a62efaff46c49f668", "description": "All normal trees <=5 nodes, every ordered application pair; lazy regression and partial/multiple applications.", "cases": [ { diff --git a/ext/demo-site/test/contracts-conformance.json b/ext/demo-site/test/contracts-conformance.json @@ -1,6 +1,6 @@ { - "compilerBundleSha256": "cfb11a6ad90810350bd2042d81ec63404c5d6bb418512ffc5218c100431dd8ae", - "hostSha256": "3a8fdccc62ac1611b7dfe99d311356661e5e890cc1dff083c6a03939cdf0be6f", + "compilerBundleSha256": "9c61d59cd76036000691da6ff5e2e9f641cf5c614b424d7280e052cfcb716e75", + "hostSha256": "662fcf80231c070e4aa15dff1438aa1f5c99fb27a905f46a62efaff46c49f668", "contractsSourceSha256": "8f69b32c50461edd5db536becb6faedd5ba33945bf774534592034350702600a", "bindings": { "matchResult": "base.matchResult",