From dca675935cb299bb92af0eaf5e2eea8798a2086c Mon Sep 17 00:00:00 2001 From: Dylan Roy <249851642+d6g8k5htny-coder@users.noreply.github.com> Date: Wed, 14 Oct 2026 12:17:38 -0500 Subject: [PATCH 1/4] WIP #388: record failing compact-route and paging regressions New successor from public main. Unfinished author checkpoint; four tests intentionally fail on missing APIs. No review or acceptance claimed. --- tests/test_current_site.mjs | 73 +++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) diff --git a/tests/test_current_site.mjs b/tests/test_current_site.mjs index e09866bad..bb9356fee 100644 --- a/tests/test_current_site.mjs +++ b/tests/test_current_site.mjs @@ -139,3 +139,76 @@ test('node identifiers and recorded source paths require own literal string fiel assert.equal(m.sourceForNode(f,{source:['proof/PROOF.md']}),null); assert.equal(m.nodePage({toString:()=> 'a'}),null); }); + +test('all current metadata filters are conjunctive in both branches and independent of historical state',()=>{ + const f=fixture(),g=f.graph.data,before=structuredClone(g); + const state=m.readState('?q=legacy&classification=HOLD&atlas-q=candidate&atlas-classification=OPEN_ACTIVE&atlas-kind=candidate&atlas-layer=D1',f); + for(const query of [()=>m.searchGraph(g,'',state),()=>m.neighborhood(g,['a'],state)])assert.deepEqual(query().ids,['a']); + for(const field of ['classification','kind','layer'])for(const query of [opts=>m.searchGraph(g,'',opts),opts=>m.neighborhood(g,['a'],opts)]){ + assert.equal(query({...state,[field]:'unknown'}).matches,0); + assert.equal(query({...state,[field]:state[field].toLowerCase()}).matches,field==='kind'?1:0); + } + assert.equal(m.searchGraph(g,'',{classification:'',kind:'',layer:''}).matches,3); + assert.deepEqual(g,before); +}); + +test('route page bookmark is a safe positive integer independent of the graph offset ceiling',()=>{ + for(const [raw,expected] of [['1',1],['333367',333367],['0',1],['-1',1],['1.5',1],['Infinity',1],['9007199254740992',1],['',1]]) + assert.equal(m.readState('?atlas-route-page='+raw,fixture()).routePage,expected); +}); + +test('compact route windows concatenate to exact complete routes including incoming boundary edges',()=>{ + assert.equal(typeof m.requiredDependencyAnalysis,'function');assert.equal(typeof m.requiredDependencyWindow,'function'); + const g=diamond();g.nodes.E={kind:'candidate',classification:'OPEN_ACTIVE'};g.edges.push({from:'D',to:'E',required:true,relation:'continuation',extra:'literal'}); + const full=m.requiredDependencyPaths(g,'A'),analysis=m.requiredDependencyAnalysis(g,'A'); + assert.equal(analysis.targetCount,full.length);assert.equal(analysis.totalOccurrences,full.reduce((n,r)=>n+r.ids.length,0)); + const actual=[]; + for(let page=1;page<=Math.ceil(analysis.totalOccurrences/2);page++){ + const result=m.requiredDependencyWindow(analysis,{page,limit:2});assert.ok(result.occurrences<=2); + for(const segment of result.segments)for(let i=0;iroute.ids.map((id,position)=>({target:route.ids.at(-1),position,id,edge:position?route.edges[position-1]:null}))); + assert.deepEqual(actual,expected);for(let i=0;i{ + assert.equal(typeof m.requiredDependencyAnalysis,'function');const g=chainFixture(10000),analysis=m.requiredDependencyAnalysis(g,'chain.00000'); + assert.equal(analysis.targetCount,9999);assert.equal(analysis.totalOccurrences,50004999); + assert.equal(analysis.predecessors.size,9999);assert.equal(analysis.depths.size,10000);assert.equal(analysis.targets.length,9999);assert.equal(analysis.prefixSums.length,10000); + assert.equal(analysis.traversedEdges,9999); + const pages=Math.ceil(analysis.totalOccurrences/150); + for(const page of [1,Math.floor(pages/2),pages]){ + const result=m.requiredDependencyWindow(analysis,{page});assert.ok(result.occurrences<=150);assert.equal(result.offset,(page-1)*150); + assert.equal(result.totalOccurrences,50004999);assert.equal(result.omitted,50004999-result.occurrences); + assert.ok(result.reconstructedNodes<=2*10000+150,'Only two boundary routes may need long reconstruction'); + assert.equal(result.segments.reduce((n,s)=>n+s.ids.length,0),result.occurrences); + for(const s of result.segments)for(let i=0;i100000); + assert.equal(m.requiredDependencyAnalysis(g,'chain.00000'),analysis,'Selected-root compact analysis is reused'); +}); + +test('admitted 10000-node 50000-edge shared fanout indexes exact reverse reach and relation pages',()=>{ + assert.equal(typeof m.downstreamReachCounts,'function');assert.equal(typeof m.directRelationWindow,'function'); + const nodes={root:{kind:'candidate',classification:'OPEN_ACTIVE'}},edges=[]; + for(let i=1;i<10000;i++){const id='fan.'+String(i).padStart(5,'0');nodes[id]={kind:'candidate',classification:'OPEN_ACTIVE'};edges.push({from:'root',to:id,required:true,relation:'fan',ordinal:edges.length});} + for(let i=0;edges.length<50000;i++)edges.push({from:'fan.'+String(i%9998+1).padStart(5,'0'),to:'fan.09999',required:i%2===0,relation:'shared.'+i,ordinal:edges.length}); + const g={nodes,edges},a=m.requiredDependencyAnalysis(g,'root');assert.equal(a.targetCount,9999);assert.equal(a.totalOccurrences,19998);assert.equal(a.traversedEdges,edges.filter(e=>e.required).length); + const complete=m.downstreamReach(g,'fan.09999'),scalar=m.downstreamReachCounts(g,'fan.09999'); + assert.equal(scalar.allEdge,9999);assert.equal(scalar.requiredOnly,5000);assert.deepEqual(scalar,{known:true,allEdge:complete.allEdge,requiredOnly:complete.requiredOnly,labels:complete.labels});assert.equal('allEdgeIds' in scalar,false); + for(const [id,direction] of [['root','outgoing'],['fan.09999','incoming']]){ + const expected=edges.filter(e=>e[direction==='outgoing'?'from':'to']===id),actual=[]; + for(let page=1;page<=Math.ceil(expected.length/150);page++){const w=m.directRelationWindow(g,id,direction,{page});assert.ok(w.rows.length<=150);assert.equal(w.total,expected.length);actual.push(...w.rows);} + assert.deepEqual(actual,expected);actual.forEach((edge,i)=>assert.equal(edge,expected[i])); + } + assert.deepEqual(m.requiredDependencyWindow(a).segments.map(s=>s.ids),m.requiredDependencyPaths(g,'root').slice(0,75).map(r=>r.ids)); +}); From b10c78fe3b87e03b63f3d091d71721ea1cc680f5 Mon Sep 17 00:00:00 2001 From: Dylan Roy <249851642+d6g8k5htny-coder@users.noreply.github.com> Date: Wed, 14 Oct 2026 12:21:48 -0500 Subject: [PATCH 2/4] WIP #388: add hosted browser regressions before atlas implementation New filter/history and admitted-scale route/neighbor cases retain existing launch and timeouts. Expected RED against current atlas; no browser pass claimed. --- tools/current_site_browser_check.py | 78 +++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) diff --git a/tools/current_site_browser_check.py b/tools/current_site_browser_check.py index cfc695c60..b847448ea 100644 --- a/tools/current_site_browser_check.py +++ b/tools/current_site_browser_check.py @@ -182,6 +182,84 @@ def valid_share(checkpoint,node): synthetic=json.loads(json.dumps(data));nodes={'fixture.root':{'kind':'candidate','classification':'OPEN_ACTIVE','layer':'D1'}};nodes.update({f'fixture.node{i:04d}':{'kind':'candidate','classification':'OPEN_ACTIVE','layer':'D1'} for i in range(1000)});synthetic['graph']['data']['nodes']=nodes;synthetic['graph']['data']['edges']=[{'from':'fixture.root','to':node,'required':True,'relation':'synthetic_required_fixture'} for node in nodes if node!='fixture.root'];fixture_raw=json.dumps(synthetic,ensure_ascii=False).encode();fixture_sha=sha256(fixture_raw).hexdigest();html=(ROOT/'docs/site/dependencies.html').read_text().replace(report['source_payload_sha256'],fixture_sha).replace(f'data-current-bytes="{len(raw)}"',f'data-current-bytes="{len(fixture_raw)}"');page.route('**/dependencies.html?*',lambda route:route.fulfill(status=200,content_type='text/html',body=html));page.route('**/current.json',lambda route:route.fulfill(status=200,content_type='application/json',body=fixture_raw));started=time.perf_counter();page.goto(origin+'dependencies.html?atlas-node=fixture.root&atlas-view=list');expect(page.locator('#atlas-list button')).to_have_count(150);expect(page.locator('#atlas-count')).to_contain_text('1001 nodes in the loaded neighborhood');expect(page.locator('#atlas-count')).to_contain_text('851 outside this page');first=page.locator('#atlas-list button').evaluate_all('(nodes)=>nodes.map(n=>n.firstChild.textContent)');page.locator('#atlas-next').click();expect(page.locator('#atlas-count')).to_contain_text('851 outside this page');second=page.locator('#atlas-list button').evaluate_all('(nodes)=>nodes.map(n=>n.firstChild.textContent)');require(not set(first)&set(second),'Paged large fixture duplicated the first window');page.locator('#atlas-previous').click();require(first==page.locator('#atlas-list button').evaluate_all('(nodes)=>nodes.map(n=>n.firstChild.textContent)'),'Previous window is not deterministic');case['load_and_page_seconds']=round(time.perf_counter()-started,3);session=context.new_cdp_session(page);session.send('Performance.enable');case['js_heap_bytes']=next((m['value'] for m in session.send('Performance.getMetrics')['metrics'] if m['name']=='JSHeapUsedSize'),None);case['fixture_bytes']=len(fixture_raw);case['fixture_sha256']=fixture_sha;case['indexed_nodes']=len(nodes);case['rendered_nodes']=150;case['passed']=True except Exception:case['error']=traceback.format_exc() finally:context.close() + # NEW successor controls: synthetic current payloads enter through + # the existing byte/digest admission, never through DOM fixtures. + def synthetic_reader(nodes,edges,case): + synthetic=json.loads(json.dumps(data));synthetic['graph']['data']={'nodes':nodes,'edges':edges} + fixture_raw=json.dumps(synthetic,ensure_ascii=False).encode();fixture_sha=sha256(fixture_raw).hexdigest() + html=(ROOT/'docs/site/dependencies.html').read_text().replace(report['source_payload_sha256'],fixture_sha).replace(f'data-current-bytes="{len(raw)}"',f'data-current-bytes="{len(fixture_raw)}"') + context=browser.new_context(reduced_motion='reduce');page=context.new_page();page.set_default_timeout(20000) + case['page_errors']=[];page.on('pageerror',lambda e:case['page_errors'].append(str(e))) + page.route('**/dependencies.html?*',lambda route:route.fulfill(status=200,content_type='text/html',body=html)) + page.route('**/current.json',lambda route:route.fulfill(status=200,content_type='application/json',body=fixture_raw)) + case.update(fixture_sha256=fixture_sha,fixture_bytes=len(fixture_raw),indexed_nodes=len(nodes),indexed_edges=len(edges),scope='Synthetic display fixture only; not research-corpus evidence.') + return context,page + def measured_heap(context,page): + session=context.new_cdp_session(page);session.send('Performance.enable') + value=next((m['value'] for m in session.send('Performance.getMetrics')['metrics'] if m['name']=='JSHeapUsedSize'),None);session.detach();require(value is not None,'Browser heap measurement missing');return value + case={'case':'current-metadata-filter-roundtrips','passed':False};report['cases'].append(case) + nodes={ + 'filter.root':{'kind':'candidate','classification':'OPEN_ACTIVE','layer':'D1'}, + 'filter.keep':{'kind':'candidate','classification':'OPEN_ACTIVE','layer':'D1'}, + 'filter.other-class':{'kind':'candidate','classification':'HOLD','layer':'D1'}, + 'filter.other-kind':{'kind':'axiom','classification':'OPEN_ACTIVE','layer':'D1'}, + 'filter.other-layer':{'kind':'candidate','classification':'OPEN_ACTIVE','layer':'D2'}} + edges=[{'from':'filter.root','to':node,'required':True,'relation':'filter_fixture'} for node in nodes if node!='filter.root'] + context,page=synthetic_reader(nodes,edges,case) + try: + from urllib.parse import urlencode,urlsplit,parse_qs + filters={'atlas-classification':'OPEN_ACTIVE','atlas-kind':'candidate','atlas-layer':'D1'} + address=origin+'dependencies.html?'+urlencode({'atlas-node':'filter.root','atlas-view':'list',**filters,'q':'historical','classification':'HOLD','equation':data['equations'][0]['id']})+'#search-heading' + page.goto(address);expect(page.locator('#atlas-list button')).to_have_count(2);require(page.url==address,'Initial current filters rewrote saved legacy URL') + expect(page.locator('#atlas-count')).to_contain_text('classification=OPEN_ACTIVE');expect(page.locator('#atlas-count')).to_contain_text('kind=candidate');expect(page.locator('#atlas-count')).to_contain_text('layer=D1') + first=page.locator('#atlas-list button').evaluate_all('(nodes)=>nodes.map(n=>n.firstChild.textContent)');require(first==['filter.root','filter.keep'],'Neighborhood filters were not conjunctive') + require(first==page.locator('#atlas-canvas .atlas-node').evaluate_all('(nodes)=>nodes.map(n=>n.firstChild.textContent)'),'Filtered graph/list differ') + page.locator('#atlas-search').fill('filter.');expect(page.locator('#atlas-list button')).to_have_count(2);expect(page.locator('#atlas-count')).to_contain_text('matching source nodes') + shared=page.locator('#atlas-share').get_attribute('href');params=parse_qs(urlsplit(shared).query) + for key,value in filters.items():require(params.get(key)==[value],f'Share dropped {key}') + require(params.get('classification')==['HOLD'] and params.get('q')==['historical'],'Current filters changed historical namespace') + page.goto(shared);expect(page.locator('#atlas-list button')).to_have_count(2);expect(page.locator('#atlas-search')).to_have_value('filter.') + before=page.url;page.locator('#atlas-list button').filter(has_text=re.compile(r'^filter\.keep')).click();expect(page.locator('#atlas-inspector h3')).to_have_text('filter.keep');after=page.url + page.go_back();expect(page.locator('#atlas-inspector h3')).to_have_text('filter.root');require(page.url==before,'Filter Back rewrote saved address');page.go_forward();expect(page.locator('#atlas-inspector h3')).to_have_text('filter.keep');require(page.url==after,'Filter Forward rewrote saved address') + page.locator('#atlas-collapse').click();expect(page.locator('#atlas-search')).to_have_value('');require(all(parse_qs(urlsplit(page.url).query).get(k)==[v] for k,v in filters.items()),'Collapse cleared metadata filters') + page.locator('#atlas-reset').click();expect(page.locator('#atlas-inspector h3')).to_have_text('filter.keep');params=parse_qs(urlsplit(page.url).query);require(all(k not in params for k in filters),'Reset retained current filters');require(params.get('classification')==['HOLD'] and params.get('q')==['historical'],'Reset changed historical namespace');expect(page.locator('#equation-content pre')).to_have_text(data['equations'][0]['text']) + page.goto(address.replace('atlas-kind=candidate','atlas-kind=UNKNOWN'));expect(page.locator('#atlas-list button')).to_have_count(0);expect(page.locator('#atlas-count')).to_contain_text('kind=UNKNOWN');expect(page.locator('#atlas-count')).to_contain_text('No nodes match');expect(page.locator('#atlas-inspector h3')).to_have_text('filter.root');expect(page.locator('#equation-content pre')).to_have_text(data['equations'][0]['text']) + require(not case['page_errors'],f'Page errors: {case["page_errors"]}');case['passed']=True + except Exception:case['error']=traceback.format_exc() + finally:context.close() + for shape in ['chain','fanout-shared']: + case={'case':'synthetic-admitted-'+shape,'passed':False,'measurements':[]};report['cases'].append(case) + ids=[f'bound.{i:05d}' for i in range(10000)];nodes={id:{'kind':'candidate','classification':'OPEN_ACTIVE','layer':'D1'} for id in ids} + if shape=='chain':edges=[{'from':ids[i-1],'to':ids[i],'required':True,'relation':'chain','ordinal':i} for i in range(1,10000)] + else: + edges=[{'from':ids[0],'to':id,'required':True,'relation':'fanout','ordinal':i} for i,id in enumerate(ids[1:],1)] + for i in range(40001):edges.append({'from':ids[i%9998+1],'to':ids[-1],'required':i%2==0,'relation':'shared.'+str(i),'ordinal':i+9999}) + context,page=synthetic_reader(nodes,edges,case) + try: + started=time.perf_counter();page.goto(origin+'dependencies.html?atlas-node='+ids[0]+'&atlas-view=list');expect(page.locator('#atlas-route-count')).to_contain_text('9999 unresolved targets') + total=50004999 if shape=='chain' else 19998;pages=(total+149)//150;expect(page.locator('#atlas-route-count')).to_contain_text(str(total)+' route-node occurrences');baseline_reach=page.locator('#atlas-reach').inner_text() + page.locator('#atlas-routes > summary').click() + def route_checkpoint(label,expected_page): + expect(page.locator('#atlas-route-page')).to_have_value(str(expected_page));require(page.locator('#atlas-routes').evaluate('(e)=>e.open'),'Paging closed route disclosure') + count=page.locator('#atlas-route-list button').count();require(0 li[data-relation-row]').count()<=150,'Consumes row budget exceeded');require(page.locator('#atlas-consumed-by-list > li[data-relation-row]').count()<=150,'Consumed-by row budget exceeded') + case['measurements'].append({'step':label,'page':expected_page,'rendered_route_nodes':count,'heap_bytes':measured_heap(context,page),'elapsed_seconds':round(time.perf_counter()-started,3),'route_count_text':page.locator('#atlas-route-count').inner_text()}) + route_checkpoint('first',1) + middle=pages//2;page.locator('#atlas-route-page').fill(str(middle));page.locator('#atlas-route-page').press('Enter');route_checkpoint('middle',middle) + require(page.evaluate('document.activeElement.id')=='atlas-route-page','Direct route paging lost keyboard focus') + if shape=='chain':expect(page.locator('#atlas-route-list')).to_contain_text('Continuation');require((middle-1)*150>100000,'Chain case did not exceed graph offset ceiling') + page.locator('#atlas-route-last').focus();page.keyboard.press('Enter');route_checkpoint('last',pages) + page.locator('#atlas-route-previous').click();route_checkpoint('previous',pages-1);page.locator('#atlas-route-next').click();route_checkpoint('last-again',pages) + shared=page.locator('#atlas-share').get_attribute('href');require(parse_qs(urlsplit(shared).query).get('atlas-route-page')==[str(pages)],'Share dropped route page');page.reload();expect(page.locator('#atlas-route-page')).to_have_value(str(pages));page.locator('#atlas-routes > summary').click();route_checkpoint('reloaded-last',pages) + if shape=='chain': + require(page.locator('#atlas-route-list button').last.evaluate('(e)=>e.firstChild.textContent')==ids[-1],'Last route segment omitted final target') + expect(page.locator('#atlas-route-list [data-route-edge]').last).to_contain_text(ids[-2]+' → '+ids[-1]) + else: + expect(page.locator('#atlas-consumes-count')).to_contain_text('9999 relations');page.locator('#atlas-consumes-last').click();require(page.locator('#atlas-consumes-list > li[data-relation-row]').count()==99,'Last outgoing relation page is incomplete');page.locator('#atlas-consumes-first').click();require(page.locator('#atlas-consumes-list > li[data-relation-row]').count()==150,'First outgoing relation page changed') + page.goto(origin+'dependencies.html?atlas-node='+ids[-1]+'&atlas-view=list');expect(page.locator('#atlas-consumed-by-count')).to_contain_text('40002 relations');expect(page.locator('#atlas-reach')).to_contain_text('all edges: 9999');expect(page.locator('#atlas-reach')).to_contain_text('required edges: 5000');page.locator('#atlas-consumed-by-last').click();require(page.locator('#atlas-consumed-by-list > li[data-relation-row]').count()==102,'Last incoming relation page is incomplete') + require(not case['page_errors'],f'Page errors: {case["page_errors"]}');case['passed']=True + except Exception:case['error']=traceback.format_exc() + finally:context.close() case={'case':'no-javascript-static-parity','passed':False};report['cases'].append(case);context=browser.new_context(java_script_enabled=False);page=context.new_page() try: page.goto(origin+'nodes/index.html');links=page.locator('main a[href]').all();require(len(links)>=len(data['graph']['data']['nodes']),'Static index omitted nodes');node='math.uniform-matrix-cap-lifetime';page.locator('main a[href="'+node+'.html"]').click();expect(page.locator('main')).to_contain_text('kernel');expect(page.locator('main')).to_contain_text('not_recorded');edge=next(e for e in data['graph']['data']['edges'] if e['from']==node);expect(page.locator('main')).to_contain_text(edge['relation']);page.locator('main a[href="'+edge['to']+'.html"]').first.click();require(page.url==origin+'nodes/'+edge['to']+'.html','Current static neighbor left the selected current observation');expect(page.locator('main h1')).to_have_text(edge['to']);tree=page.locator('main').aria_snapshot();require('Typed neighbors' in tree and 'not_recorded' in tree,'Static accessible reading omitted typed relationships or evidence');path=args.output/'static-accessibility-tree.txt';path.write_text(tree);case['accessibility_tree']={'path':path.name,'sha256':sha256(path.read_bytes()).hexdigest()};case['passed']=True From a014b39a81f2a7a85b60195950e0d09ae8e1f4e9 Mon Sep 17 00:00:00 2001 From: Dylan Roy <249851642+d6g8k5htny-coder@users.noreply.github.com> Date: Wed, 14 Oct 2026 13:25:38 -0500 Subject: [PATCH 3/4] Implement compact atlas filters and bounded route inspection Refs #388. New DOT388-AUTHOR-1 candidate. Exact source tree matches local model and offline controls; hosted browser qualification remains pending. Scientific effect NONE; no independent review or integration claimed. --- docs/site/app.js | 6 +- docs/site/atlas.mjs | 56 +++++++--- docs/site/brand.css | 2 +- docs/site/cite.html | 8 +- docs/site/cite.mjs | 2 +- docs/site/conditionals.mjs | 2 +- docs/site/current-model.mjs | 103 +++++++++++++----- docs/site/current.mjs | 2 +- docs/site/curvature-export.mjs | 2 +- docs/site/dependencies.html | 16 +-- docs/site/dependencies.mjs | 2 +- docs/site/explore-models.mjs | 2 +- docs/site/explore.html | 14 +-- docs/site/explore.mjs | 12 +- docs/site/formal.html | 8 +- docs/site/index.html | 8 +- docs/site/measure.html | 14 +-- docs/site/measure.mjs | 2 +- docs/site/museum.html | 10 +- docs/site/museum.mjs | 6 +- .../nodes/eng.d0-packet-allowlist-fix.html | 2 +- docs/site/nodes/eng.hard-gate.html | 2 +- docs/site/nodes/eng.main-pr87-crosswalk.html | 2 +- docs/site/nodes/hist.ALLCELL-FDZ-Q4.html | 2 +- docs/site/nodes/hist.CH-LIFT.html | 2 +- ...CL_ANTHROPIC_BUNDLE_2026-09-17_v5.zip.html | 2 +- docs/site/nodes/hist.ENV-RESCOV.html | 2 +- docs/site/nodes/hist.LOGQ-TAIL.html | 2 +- docs/site/nodes/hist.OBL-H5-JETMOD.html | 2 +- docs/site/nodes/hist.Piece-2-annulus.html | 2 +- docs/site/nodes/hist.SYM-Fw-jet.html | 2 +- .../hist.allcell_fdz_enclosures.json.html | 2 +- docs/site/nodes/hist.lemma_closed.html | 2 +- docs/site/nodes/hist.rnu_env.py.html | 2 +- docs/site/nodes/index.html | 2 +- .../math.d1-component.congruence-erratum.html | 2 +- ...math.d1-component.marked-cylinder-cap.html | 2 +- ...th.d1-component.reconciliation-record.html | 2 +- ...1-component.section9-replacement-v1_1.html | 2 +- .../math.d5-component.annulus-proof.html | 2 +- .../math.d5-component.annulus-review.html | 2 +- .../nodes/math.d5-component.collar-proof.html | 2 +- .../math.d5-component.collar-review.html | 2 +- .../math.d5-component.i5-review-claude.html | 2 +- .../math.d5-component.i5-review-xai.html | 2 +- ...5-component.intermediate-window-proof.html | 2 +- ...component.offpin-second-moment-review.html | 2 +- ...mponent.punctured-pin-continuum-check.html | 2 +- ...ponent.punctured-pin-continuum-review.html | 2 +- ...math.d5-component.punctured-pin-proof.html | 2 +- ...d5-component.punctured-pin-review-111.html | 2 +- ...math.d5-component.remote-window-proof.html | 2 +- ...math.d5-pin-neighborhood-first-moment.html | 2 +- docs/site/nodes/math.lifetime-remainder.html | 2 +- docs/site/nodes/math.p15-full-price.html | 2 +- docs/site/nodes/math.p15-price-boundary.html | 2 +- docs/site/nodes/math.rn-count-interface.html | 2 +- .../nodes/math.rn-fixed-annulus-window.html | 2 +- .../nodes/math.rn-fixed-remote-window.html | 2 +- .../nodes/math.rn-mesoscopic-reduction.html | 2 +- .../math.rn-region.fixed-annulus-window.html | 2 +- .../nodes/math.rn-region.fixed-remote.html | 2 +- .../math.rn-region.intermediate-r-to-rho.html | 2 +- ...h.rn-region.mesoscopic-scaled-annulus.html | 2 +- .../nodes/math.rn-region.pin-collision.html | 2 +- .../math.rn-region.witness-collision.html | 2 +- .../math.rn-selector-region-crosswalk.html | 2 +- docs/site/nodes/math.side24-coefficient.html | 2 +- .../math.uniform-matrix-cap-lifetime.html | 2 +- ...regional.fixed-annulus.high-jet-route.html | 2 +- docs/site/palette-export.mjs | 4 +- docs/site/pin-export.mjs | 4 +- docs/site/reproduce.html | 8 +- docs/site/research.html | 4 +- .../nodes/eng.d0-packet-allowlist-fix.html | 2 +- .../nodes/eng.hard-gate.html | 2 +- .../nodes/eng.main-pr87-crosswalk.html | 2 +- .../nodes/hist.ALLCELL-FDZ-Q4.html | 2 +- .../nodes/hist.CH-LIFT.html | 2 +- ...CL_ANTHROPIC_BUNDLE_2026-09-17_v5.zip.html | 2 +- .../nodes/hist.ENV-RESCOV.html | 2 +- .../nodes/hist.LOGQ-TAIL.html | 2 +- .../nodes/hist.OBL-H5-JETMOD.html | 2 +- .../nodes/hist.Piece-2-annulus.html | 2 +- .../nodes/hist.SYM-Fw-jet.html | 2 +- .../hist.allcell_fdz_enclosures.json.html | 2 +- .../nodes/hist.lemma_closed.html | 2 +- .../nodes/hist.rnu_env.py.html | 2 +- .../nodes/index.html | 2 +- .../math.d1-component.congruence-erratum.html | 2 +- ...math.d1-component.marked-cylinder-cap.html | 2 +- ...th.d1-component.reconciliation-record.html | 2 +- ...1-component.section9-replacement-v1_1.html | 2 +- .../math.d5-component.annulus-proof.html | 2 +- .../math.d5-component.annulus-review.html | 2 +- .../nodes/math.d5-component.collar-proof.html | 2 +- .../math.d5-component.collar-review.html | 2 +- .../math.d5-component.i5-review-claude.html | 2 +- .../math.d5-component.i5-review-xai.html | 2 +- ...5-component.intermediate-window-proof.html | 2 +- ...component.offpin-second-moment-review.html | 2 +- ...mponent.punctured-pin-continuum-check.html | 2 +- ...ponent.punctured-pin-continuum-review.html | 2 +- ...math.d5-component.punctured-pin-proof.html | 2 +- ...d5-component.punctured-pin-review-111.html | 2 +- ...math.d5-component.remote-window-proof.html | 2 +- ...math.d5-pin-neighborhood-first-moment.html | 2 +- .../nodes/math.lifetime-remainder.html | 2 +- .../nodes/math.p15-full-price.html | 2 +- .../nodes/math.p15-price-boundary.html | 2 +- .../nodes/math.rn-count-interface.html | 2 +- .../nodes/math.rn-fixed-annulus-window.html | 2 +- .../nodes/math.rn-fixed-remote-window.html | 2 +- .../nodes/math.rn-mesoscopic-reduction.html | 2 +- .../math.rn-region.fixed-annulus-window.html | 2 +- .../nodes/math.rn-region.fixed-remote.html | 2 +- .../math.rn-region.intermediate-r-to-rho.html | 2 +- ...h.rn-region.mesoscopic-scaled-annulus.html | 2 +- .../nodes/math.rn-region.pin-collision.html | 2 +- .../math.rn-region.witness-collision.html | 2 +- .../math.rn-selector-region-crosswalk.html | 2 +- .../nodes/math.side24-coefficient.html | 2 +- .../math.uniform-matrix-cap-lifetime.html | 2 +- ...regional.fixed-annulus.high-jet-route.html | 2 +- .../nodes/eng.d0-packet-allowlist-fix.html | 2 +- .../nodes/eng.hard-gate.html | 2 +- .../nodes/eng.main-pr87-crosswalk.html | 2 +- .../nodes/hist.ALLCELL-FDZ-Q4.html | 2 +- .../nodes/hist.CH-LIFT.html | 2 +- ...CL_ANTHROPIC_BUNDLE_2026-09-17_v5.zip.html | 2 +- .../nodes/hist.ENV-RESCOV.html | 2 +- .../nodes/hist.LOGQ-TAIL.html | 2 +- .../nodes/hist.OBL-H5-JETMOD.html | 2 +- .../nodes/hist.Piece-2-annulus.html | 2 +- .../nodes/hist.SYM-Fw-jet.html | 2 +- .../hist.allcell_fdz_enclosures.json.html | 2 +- .../nodes/hist.lemma_closed.html | 2 +- .../nodes/hist.rnu_env.py.html | 2 +- .../nodes/index.html | 2 +- .../math.d1-component.congruence-erratum.html | 2 +- ...math.d1-component.marked-cylinder-cap.html | 2 +- ...th.d1-component.reconciliation-record.html | 2 +- ...1-component.section9-replacement-v1_1.html | 2 +- .../math.d5-component.annulus-proof.html | 2 +- .../math.d5-component.annulus-review.html | 2 +- .../nodes/math.d5-component.collar-proof.html | 2 +- .../math.d5-component.collar-review.html | 2 +- .../math.d5-component.i5-review-claude.html | 2 +- .../math.d5-component.i5-review-xai.html | 2 +- ...5-component.intermediate-window-proof.html | 2 +- ...component.offpin-second-moment-review.html | 2 +- ...mponent.punctured-pin-continuum-check.html | 2 +- ...ponent.punctured-pin-continuum-review.html | 2 +- ...math.d5-component.punctured-pin-proof.html | 2 +- ...d5-component.punctured-pin-review-111.html | 2 +- ...math.d5-component.remote-window-proof.html | 2 +- ...math.d5-pin-neighborhood-first-moment.html | 2 +- .../nodes/math.lifetime-remainder.html | 2 +- .../nodes/math.p15-full-price.html | 2 +- .../nodes/math.p15-price-boundary.html | 2 +- .../nodes/math.rn-count-interface.html | 2 +- .../nodes/math.rn-fixed-annulus-window.html | 2 +- .../nodes/math.rn-fixed-remote-window.html | 2 +- .../nodes/math.rn-mesoscopic-reduction.html | 2 +- .../math.rn-region.fixed-annulus-window.html | 2 +- .../nodes/math.rn-region.fixed-remote.html | 2 +- .../math.rn-region.intermediate-r-to-rho.html | 2 +- ...h.rn-region.mesoscopic-scaled-annulus.html | 2 +- .../nodes/math.rn-region.pin-collision.html | 2 +- .../math.rn-region.witness-collision.html | 2 +- .../math.rn-selector-region-crosswalk.html | 2 +- .../nodes/math.side24-coefficient.html | 2 +- .../math.uniform-matrix-cap-lifetime.html | 2 +- ...regional.fixed-annulus.high-jet-route.html | 2 +- docs/site/workspace.html | 10 +- tests/test_current_site.mjs | 11 ++ tools/current_site_browser_check.py | 6 +- 177 files changed, 361 insertions(+), 263 deletions(-) diff --git a/docs/site/app.js b/docs/site/app.js index ea7399e5b..52e2fae9b 100644 --- a/docs/site/app.js +++ b/docs/site/app.js @@ -1,6 +1,6 @@ -import {verifiedJSON, verifiedBytes, validateStatus, validateCoefficient, safeSourceURL, hex40, hex64} from './core.mjs?site-release=4764cf2cfa0123b97aca3ec6ff8a1aba79e9ad1b5506d8616775b59c20e65ebc'; -import {connectCatalogQuery} from './catalog-query.mjs?site-release=4764cf2cfa0123b97aca3ec6ff8a1aba79e9ad1b5506d8616775b59c20e65ebc'; -import {prepareWorkspaceFragment} from './workspace-fragment.mjs?site-release=4764cf2cfa0123b97aca3ec6ff8a1aba79e9ad1b5506d8616775b59c20e65ebc'; +import {verifiedJSON, verifiedBytes, validateStatus, validateCoefficient, safeSourceURL, hex40, hex64} from './core.mjs?site-release=81664321ae3536ab28eeb2dd5e8b18e82157243b8a9d89b25c23588d21008c0c'; +import {connectCatalogQuery} from './catalog-query.mjs?site-release=81664321ae3536ab28eeb2dd5e8b18e82157243b8a9d89b25c23588d21008c0c'; +import {prepareWorkspaceFragment} from './workspace-fragment.mjs?site-release=81664321ae3536ab28eeb2dd5e8b18e82157243b8a9d89b25c23588d21008c0c'; const finishFragment=prepareWorkspaceFragment(); const el=id=>document.getElementById(id); const node=(tag,text,cls)=>{const n=document.createElement(tag);if(text!==undefined)n.textContent=text;if(cls)n.className=cls;return n;}; diff --git a/docs/site/atlas.mjs b/docs/site/atlas.mjs index 628d55ef9..191f5a8f1 100644 --- a/docs/site/atlas.mjs +++ b/docs/site/atlas.mjs @@ -1,5 +1,5 @@ -import {currentSnapshot,element,anchor} from './current.mjs?site-release=4764cf2cfa0123b97aca3ec6ff8a1aba79e9ad1b5506d8616775b59c20e65ebc'; -import {hasNode,readState,neighborhood,searchGraph,downstreamReach,requiredDependencyPaths,REQUIRED_ROUTE_SEMANTICS,evidenceAxes,sourceURL,sourceForNode,nodePage} from './current-model.mjs?site-release=4764cf2cfa0123b97aca3ec6ff8a1aba79e9ad1b5506d8616775b59c20e65ebc'; +import {currentSnapshot,element,anchor} from './current.mjs?site-release=81664321ae3536ab28eeb2dd5e8b18e82157243b8a9d89b25c23588d21008c0c'; +import {hasNode,readState,neighborhood,searchGraph,downstreamReachCounts,requiredDependencyAnalysis,requiredDependencyWindow,directRelationWindow,REQUIRED_ROUTE_SEMANTICS,evidenceAxes,sourceURL,sourceForNode,nodePage} from './current-model.mjs?site-release=81664321ae3536ab28eeb2dd5e8b18e82157243b8a9d89b25c23588d21008c0c'; const byId=id=>document.getElementById(id); const svgElement=(tag,attrs)=>{const n=document.createElementNS('http://www.w3.org/2000/svg',tag);for(const [k,v]of Object.entries(attrs))n.setAttribute(k,String(v));return n;}; function linkRecord(label,value){const p=element('p');if(typeof value==='string'){try{const u=new URL(value);if(u.protocol==='https:'&&u.hostname==='github.com'&&!u.username&&!u.password&&!u.port){p.append(anchor(label,value));return p;}}catch{}}p.textContent=`${label}: ${value||'not recorded'}`;return p;} @@ -9,7 +9,8 @@ async function start() { if(!data){byId('atlas-status').textContent='Unavailable: current snapshot did not verify. Use the static source index and preserved snapshot below.';return;} const graph=data.graph.data;let state=readState(location.search,data);let selected=state.node,view=state.view,expanded=new Set([selected]),zoom=1,offset=state.offset||0; if(!new URLSearchParams(location.search).has('atlas-view')&&matchMedia('(max-width:720px)').matches)view='list'; - const reaches=new Map();const reach=id=>{if(!reaches.has(id))reaches.set(id,downstreamReach(graph,id));return reaches.get(id);}; + const reaches=new Map();const reach=id=>{if(!reaches.has(id))reaches.set(id,downstreamReachCounts(graph,id));return reaches.get(id);}; + let routePage=state.routePage,routeOpen=false,relationPages={outgoing:1,incoming:1}; const recordedExpanded=new URLSearchParams(location.search).get('atlas-expanded'); if(recordedExpanded){const ids=recordedExpanded.split(',');if(ids.length<=150&&ids.every(id=>hasNode(graph,id)))expanded=new Set(ids);} let trail=[];const query=byId('atlas-search'); @@ -18,10 +19,20 @@ async function start() { byId('atlas-status').textContent=`Source snapshot ${data.observed_at} · Math ${data.graph.identity.commit.slice(0,8)} · ${Object.keys(graph.nodes).length} nodes, ${graph.edges.length} edges (${graph.edges.filter(e=>e.required).length} required). Classifications are the graph's recorded values. No scientific status inferred.`; byId('atlas-coverage').textContent=`${Object.values(graph.nodes).filter(n=>n.source).length} source-bearing metadata records; 0 explicit graph-to-artifact bindings. Source metadata presence does not establish acquired proof content. ${data.equations.length} separately acquired equation excerpts from the named analytic sources. No logical joins from equations to graph nodes are recorded.`; for(const button of root.querySelectorAll('button'))button.disabled=false;query.disabled=false;byId('atlas-view').disabled=false;byId('equation-select').disabled=false;byId('equation-search').disabled=false; - function urlState(push=false,write=true){const u=new URL(location.href);u.searchParams.set('atlas-node',selected);u.searchParams.set('snapshot',data.graph.identity.commit);u.searchParams.set('main-snapshot',data.repositories.find(r=>r.repository.endsWith('/main')).commit);u.searchParams.set('atlas-view',view);u.searchParams.set('atlas-expanded',[...expanded].slice(0,150).join(','));if(offset)u.searchParams.set('atlas-offset',String(offset));else u.searchParams.delete('atlas-offset');if(query.value)u.searchParams.set('atlas-q',query.value);else u.searchParams.delete('atlas-q');if(byId('equation-search').value)u.searchParams.set('equation-q',byId('equation-search').value);else u.searchParams.delete('equation-q');if(byId('equation-select').value)u.searchParams.set('equation',byId('equation-select').value);else u.searchParams.delete('equation');u.hash='current-atlas';if(write)try{history[push?'pushState':'replaceState'](null,'',u);}catch{}byId('atlas-share').href=u.href;} - function select(id,{push=true,focus=true}={}){if(!hasNode(graph,id))return;trail.push(selected);selected=id;expanded.add(id);offset=0;state.error=null;error.hidden=true;render();urlState(push);if(focus)byId('atlas-inspector').focus({preventScroll:true});} + function urlState(push=false,write=true){const u=new URL(location.href);u.searchParams.set('atlas-node',selected);u.searchParams.set('snapshot',data.graph.identity.commit);u.searchParams.set('main-snapshot',data.repositories.find(r=>r.repository.endsWith('/main')).commit);u.searchParams.set('atlas-view',view);u.searchParams.set('atlas-expanded',[...expanded].slice(0,150).join(','));for(const field of ['classification','kind','layer']){if(state[field])u.searchParams.set('atlas-'+field,state[field]);else u.searchParams.delete('atlas-'+field);}if(routePage>1)u.searchParams.set('atlas-route-page',String(routePage));else u.searchParams.delete('atlas-route-page');if(offset)u.searchParams.set('atlas-offset',String(offset));else u.searchParams.delete('atlas-offset');if(query.value)u.searchParams.set('atlas-q',query.value);else u.searchParams.delete('atlas-q');if(byId('equation-search').value)u.searchParams.set('equation-q',byId('equation-search').value);else u.searchParams.delete('equation-q');if(byId('equation-select').value)u.searchParams.set('equation',byId('equation-select').value);else u.searchParams.delete('equation');u.hash='current-atlas';if(write)try{history[push?'pushState':'replaceState'](null,'',u);}catch{}byId('atlas-share').href=u.href;} + function select(id,{push=true,focus=true}={}){if(!hasNode(graph,id))return;trail.push(selected);selected=id;expanded.add(id);offset=0;routePage=1;relationPages={outgoing:1,incoming:1};state.error=null;error.hidden=true;render();urlState(push);if(focus)byId('atlas-inspector').focus({preventScroll:true});} function nodeButton(id){const n=graph.nodes[id],r=reach(id);const b=element('button',id);b.type='button';b.setAttribute('aria-pressed',String(selected===id));b.append(element('small',`${n.kind} · ${n.classification}`),element('small',`Downstream nodes · all edges: ${r.allEdge} · required edges: ${r.requiredOnly}`));b.addEventListener('click',()=>select(id));return b;} - function renderInspector(){const n=graph.nodes[selected];const panel=byId('atlas-inspector');panel.replaceChildren();if(!n||state.error){panel.append(element('p',state.error||'Select a node.'));return;} + function pagingControls(prefix,page,change){ + const form=element('form',undefined,'atlas-toolbar');form.setAttribute('aria-label',`${prefix==='atlas-route'?'Required route':'Direct relation'} pages`); + const label=element('label',`Page (1–${page.pages})`),input=element('input');input.id=prefix+'-page';label.htmlFor=input.id;input.type='number';input.min='1';input.max=String(page.pages);input.step='1';input.value=String(page.page);input.style.width='9ch'; + const go=(value,focusId)=>{change(value);renderInspector();urlState();const preferred=byId(focusId);(preferred&&!preferred.disabled?preferred:byId(prefix+'-page')).focus({preventScroll:true});}; + for(const [key,title,value,disabled] of [['first','First',1,page.page===1],['previous','Previous',page.page-1,page.page===1],['next','Next',page.page+1,page.page===page.pages],['last','Last',page.pages,page.page===page.pages]]){ + const button=element('button',title);button.id=prefix+'-'+key;button.type='button';button.disabled=disabled;button.addEventListener('click',()=>go(value,button.id));form.append(button); + } + form.append(label,input);const submit=element('button','Go to page');submit.type='submit';form.append(submit); + form.addEventListener('submit',event=>{event.preventDefault();const value=Number(input.value);go(Number.isSafeInteger(value)&&value>0?value:1,input.id);});return form; + } + function renderInspector(){const n=graph.nodes[selected];const panel=byId('atlas-inspector');const priorRoutes=byId('atlas-routes');if(priorRoutes)routeOpen=priorRoutes.open;panel.replaceChildren();if(!n||state.error){panel.append(element('p',state.error||'Select a node.'));return;} panel.append(element('h3',selected),element('p',`Kind: ${n.kind} · Classification: ${n.classification} · ${n.layer||'layer not recorded'}`)); const r=reach(selected),reachText=`Downstream nodes · all edges: ${r.allEdge}. Downstream nodes · required edges: ${r.requiredOnly}.`; const reachPanel=element('p',reachText);reachPanel.id='atlas-reach';panel.append(reachPanel,element('p',`Complete indexed snapshot query at ${data.graph.identity.commit}. Each count excludes the selected node and counts distinct downstream nodes. All edges includes context; required edges uses required edges at every step. These counts do not identify blocked theorems or prove completeness.`));byId('atlas-diagnostic-selection').textContent=`Selected ${selected}: ${reachText} No scientific disposition is inferred.`; @@ -30,8 +41,27 @@ async function start() { const dl=element('dl',undefined,'atlas-axes');for(const a of evidenceAxes(n)){dl.append(element('dt',a.axis),element('dd',`${a.axis[0].toUpperCase()+a.axis.slice(1)} metadata ${a.state==='recorded'?'recorded':'not recorded'} · ${a.state}`));}panel.append(dl,element('p','These labels describe metadata in this graph snapshot. Evidence values, applicability and custody are separate. No explicit graph-to-artifact binding · Artifact roles: unknown · Custody: unknown.')); const source=sourceForNode(data,n);if(source){panel.append(anchor('Immutable source reference (document bytes not acquired by this graph view)',sourceURL(source)));panel.append(element('p',`Git blob ${source.blob} · ${source.bytes} bytes in the pinned tree. Reference presence is not mathematical verification.`));}else panel.append(element('p',n.source?`Unresolved source reference: ${n.source}. No matched public file in this pinned source inventory.`:'Source reference not recorded.')); for(const key of Object.keys(n).filter(k=>k.startsWith('review_'))){const value=n[key];const pinned=key==='review_source'?data.sources.find(s=>s.repository===data.graph.identity.repository&&s.path===value):null;if(pinned)panel.append(anchor('Recorded review source at the pinned commit',sourceURL(pinned)));else panel.append(linkRecord(`Recorded ${key}`,value&&typeof value==='object'?JSON.stringify(value):value));} - for(const [label,relation]of [['Consumes',e=>e.from===selected],['Consumed by',e=>e.to===selected]]){panel.append(element('h4',label));const ul=element('ul');const rows=graph.edges.filter(relation);if(!rows.length)ul.append(element('li','No direct relation recorded.'));for(const e of rows){const id=e.from===selected?e.to:e.from;const li=element('li');const b=nodeButton(id);li.append(b,element('p',`${e.required?'Required':'Context'} · ${e.relation} · ${e.from} → ${e.to}`));ul.append(li);}panel.append(ul);} - const routes=requiredDependencyPaths(graph,selected),routePanel=element('details');routePanel.append(element('summary','Required-edge routes to unresolved research targets'),element('p',REQUIRED_ROUTE_SEMANTICS),element('p',`Selected complete snapshot: ${data.graph.identity.commit}. The historical viewer's recorded open-classification and research-kind filter defines these targets; this is a navigation query, not a new verdict.`));const routeList=element('ol');if(!routes.length)routeList.append(element('li','No required-edge route to an unresolved research target found in this snapshot. No conclusion about dependencies outside this indexed graph follows.'));for(const route of routes){const li=element('li');li.append(element('p','One shortest required-edge route to this unresolved research target in this admitted snapshot.'));for(const id of route.ids)li.append(nodeButton(id));for(const e of route.edges)li.append(element('p',`Required · ${e.relation} · ${e.from} → ${e.to}`));routeList.append(li);}routePanel.append(routeList);panel.append(routePanel); + for(const [label,direction,prefix]of [['Consumes','outgoing','atlas-consumes'],['Consumed by','incoming','atlas-consumed-by']]){ + const relations=directRelationWindow(graph,selected,direction,{page:relationPages[direction]});relationPages[direction]=relations.page; + const section=element('section'),heading=element('h4',label);heading.id=prefix;section.setAttribute('aria-labelledby',prefix);section.append(heading); + const count=element('p',`${relations.total} relations · ${relations.rows.length} displayed · ${relations.omitted} outside this page. Original recorded order and metadata; independent of graph/list filters.`);count.id=prefix+'-count';count.setAttribute('aria-live','polite');section.append(count); + if(relations.pages>1)section.append(pagingControls(prefix,relations,page=>{relationPages[direction]=page;})); + const ul=element('ul');ul.id=prefix+'-list';if(!relations.total)ul.append(element('li','No direct relation recorded.')); + for(const e of relations.rows){const id=e.from===selected?e.to:e.from,li=element('li');li.setAttribute('data-relation-row','');li.append(nodeButton(id),element('p',`${e.required?'Required':'Context'} · ${e.relation} · ${e.from} → ${e.to}`));ul.append(li);}section.append(ul);panel.append(section); + } + const analysis=requiredDependencyAnalysis(graph,selected),routes=requiredDependencyWindow(analysis,{page:routePage}),routePanel=element('details');routePage=routes.page;routePanel.id='atlas-routes';routePanel.open=routeOpen; + routePanel.append(element('summary','Required-edge routes to unresolved research targets'),element('p',REQUIRED_ROUTE_SEMANTICS),element('p',`Selected complete snapshot: ${data.graph.identity.commit}. The historical viewer's recorded open-classification and research-kind filter defines these targets; this is a navigation query, not a new verdict.`)); + const routeCount=element('p',`${routes.targetCount} unresolved targets · ${routes.totalOccurrences} route-node occurrences · ${routes.occurrences?routes.offset+1:0}–${routes.offset+routes.occurrences} displayed · ${routes.omitted} outside this page. At most 150 node occurrences and 150 incoming edges per page; full indexed analysis is complete.`);routeCount.id='atlas-route-count';routeCount.setAttribute('aria-live','polite');routePanel.append(routeCount,pagingControls('atlas-route',routes,page=>{routePage=page;})); + const routeList=element('ol');routeList.id='atlas-route-list';routeList.start=routes.segments.length?routes.segments[0].routeIndex+1:1; + if(!routes.targetCount)routeList.append(element('li','No required-edge route to an unresolved research target found in this snapshot. No conclusion about dependencies outside this indexed graph follows.')); + for(const segment of routes.segments){ + const li=element('li');li.value=segment.routeIndex+1;li.append(element('p',`${segment.complete?'Complete shortest required-edge route':'Continuation of shortest required-edge route'} to ${segment.target} · nodes ${segment.start+1}–${segment.end} of ${segment.length}.`)); + for(let i=0;i0?'Incoming boundary edge · ':''}Required · ${edge.relation} · ${edge.from} → ${edge.to}`);text.setAttribute('data-route-edge','');li.append(text);}li.append(nodeButton(segment.ids[i])); + } + routeList.append(li); + } + routePanel.append(routeList);panel.append(routePanel); const details=element('details');details.append(element('summary','Complete node metadata (inert text)'),element('pre',JSON.stringify(n,null,2)));panel.append(details); } function renderGraph(loaded){const canvas=byId('atlas-canvas');canvas.replaceChildren();const distances=new Map([[selected,0]]),pending=[selected];while(pending.length){const id=pending.shift();for(const e of loaded.edges){const other=e.from===id?e.to:e.to===id?e.from:null;if(other&&!distances.has(other)){distances.set(other,distances.get(id)+1);pending.push(other);}}} @@ -45,15 +75,15 @@ async function start() { const mini=byId('atlas-minimap');mini.replaceChildren();mini.setAttribute('viewBox',`0 0 ${width} ${height}`);for(const e of loaded.edges){const a=positions.get(e.from),b=positions.get(e.to);mini.append(svgElement('line',{x1:a.x+115,y1:a.y+50,x2:b.x+115,y2:b.y+50,class:`atlas-edge${e.required?'':' context'}`}));}for(const [id,p]of positions)mini.append(svgElement('circle',{cx:p.x+115,cy:p.y+50,r:id===selected?18:10})); } let displayed; - function render(){if(state.error){byId('atlas-canvas').replaceChildren();byId('atlas-list').replaceChildren();byId('atlas-minimap').replaceChildren();byId('atlas-count').textContent='Source-bound bookmark refused; no current nodes substituted.';byId('atlas-diagnostic-selection').textContent='Source-bound bookmark refused; no current diagnostic selection substituted.';byId('atlas-next').disabled=true;byId('atlas-previous').disabled=true;renderInspector();return;}const words=query.value.trim().toLowerCase();const loaded=words?searchGraph(graph,words,{limit:150,offset}):neighborhood(graph,[selected,...expanded].filter(id=>hasNode(graph,id)),{limit:150,offset});const ids=loaded.ids;displayed=loaded;offset=loaded.window.offset;const shown={...loaded,ids,edges:loaded.edges.filter(e=>ids.includes(e.from)&&ids.includes(e.to))}; - byId('atlas-count').textContent=`${ids.length} displayed · ${loaded.matches} ${words?'matching source nodes':'nodes in the loaded neighborhood'} of ${loaded.total} indexed source nodes · ${loaded.omitted} outside this page. Rendering ceiling: 150 per page. Graph and list share this page. Solid arrows: required; dashed arrows: context. Direction: dependent → dependency.`;byId('atlas-next').disabled=loaded.window.nextOffset===null;byId('atlas-previous').disabled=loaded.window.previousOffset===null; + function render(){if(state.error){byId('atlas-canvas').replaceChildren();byId('atlas-list').replaceChildren();byId('atlas-minimap').replaceChildren();byId('atlas-count').textContent='Source-bound bookmark refused; no current nodes substituted.';byId('atlas-diagnostic-selection').textContent='Source-bound bookmark refused; no current diagnostic selection substituted.';byId('atlas-next').disabled=true;byId('atlas-previous').disabled=true;renderInspector();return;}const words=query.value.trim().toLowerCase();const filters={classification:state.classification,kind:state.kind,layer:state.layer},windowOptions={limit:150,offset,...filters};const loaded=words?searchGraph(graph,words,windowOptions):neighborhood(graph,[selected,...expanded].filter(id=>hasNode(graph,id)),windowOptions);const ids=loaded.ids;displayed=loaded;offset=loaded.window.offset;const shown={...loaded,ids,edges:loaded.edges.filter(e=>ids.includes(e.from)&&ids.includes(e.to))}; + byId('atlas-count').textContent=`${ids.length} displayed · ${loaded.matches} ${words?'matching source nodes':'nodes in the loaded neighborhood'} of ${loaded.total} indexed source nodes · ${loaded.omitted} outside this page. Rendering ceiling: 150 per page. Graph and list share this page. Solid arrows: required; dashed arrows: context. Direction: dependent → dependency. Current filters: ${Object.entries(filters).filter(([,value])=>value).map(([key,value])=>key+'='+value).join(' · ')||'none'}. Filters affect graph/list only; the selected-node inspector and required routes query the complete indexed snapshot.${!loaded.matches?' No nodes match this query and current filters.':''}`;byId('atlas-next').disabled=loaded.window.nextOffset===null;byId('atlas-previous').disabled=loaded.window.previousOffset===null; byId('atlas-stage').hidden=view==='list';byId('atlas-list').hidden=view!=='list';byId('atlas-view').value=view;byId('atlas-toggle-view').textContent=`Switch to ${view==='list'?'graph':'list'}`;byId('atlas-list').replaceChildren(...ids.map(id=>{const li=element('li');li.append(nodeButton(id));return li;}));renderGraph(shown);renderInspector();byId('atlas-breadcrumb').textContent=`Navigation history: ${[...trail.slice(-5),selected].join(' → ')}. Graph distance is display distance, not proof strength.`; } query.addEventListener('input',()=>{offset=0;render();urlState();});byId('atlas-view').addEventListener('change',e=>{view=e.target.value;render();urlState();}); byId('atlas-toggle-view').addEventListener('click',()=>{view=view==='list'?'graph':'list';render();urlState();}); for(const [id,field] of [['atlas-next','nextOffset'],['atlas-previous','previousOffset']])byId(id).addEventListener('click',()=>{if(displayed?.window[field]!==null){offset=displayed.window[field];render();urlState();}}); byId('atlas-expand').addEventListener('click',()=>{for(const id of displayed.ids)if(expanded.size<150)expanded.add(id);render();urlState();}); - for(const id of ['atlas-collapse','atlas-reset'])byId(id).addEventListener('click',()=>{expanded=new Set([selected]);offset=0;zoom=1;query.value='';render();urlState();}); + for(const id of ['atlas-collapse','atlas-reset'])byId(id).addEventListener('click',()=>{expanded=new Set([selected]);offset=0;routePage=1;relationPages={outgoing:1,incoming:1};zoom=1;query.value='';if(id==='atlas-reset')for(const field of ['classification','kind','layer'])state[field]='';render();urlState();}); byId('atlas-back').addEventListener('click',()=>history.back());byId('atlas-forward').addEventListener('click',()=>history.forward());byId('atlas-focus').addEventListener('click',()=>{byId('atlas-stage').scrollTo({left:0,top:0,behavior:'auto'});byId('atlas-inspector').focus();}); for(const [id,delta]of [['atlas-zoom-in',.2],['atlas-zoom-out',-.2]])byId(id).addEventListener('click',()=>{zoom=Math.max(.6,Math.min(1.8,zoom+delta));render();}); const diagnostics=byId('atlas-diagnostics');diagnostics.replaceChildren(element('li','Diagnostic report unavailable in this source projection. Engineering generation checks are separate from mathematical evidence.')); @@ -65,7 +95,7 @@ async function start() { eq.addEventListener('change',()=>{renderEquation();urlState();}); for(const [id,step] of [['equation-next',1],['equation-previous',-1]])byId(id).addEventListener('click',()=>{eq.selectedIndex=Math.max(1,Math.min(eq.options.length-1,eq.selectedIndex+step));renderEquation();urlState();}); eqSearch.addEventListener('input',()=>{equationOptions();renderEquation();urlState();}); - window.addEventListener('popstate',()=>{state=readState(location.search,data);selected=state.node;view=state.view;query.value=state.query;offset=state.offset||0;eqSearch.value=state.equationQuery||'';const ids=(new URLSearchParams(location.search).get('atlas-expanded')||selected).split(',');expanded=new Set(ids.filter(id=>hasNode(graph,id)).slice(0,150));error.textContent=state.error||'';error.hidden=!state.error;equationOptions(state.equation);renderEquation();render();if(state.error)byId('atlas-share').href=location.href;else urlState(false,false);}); - renderEquation();render();if(!state.error)urlState(false,false); + window.addEventListener('popstate',()=>{const previousNode=selected;state=readState(location.search,data);selected=state.node;view=state.view;query.value=state.query;offset=state.offset||0;routePage=state.routePage;if(previousNode!==selected)relationPages={outgoing:1,incoming:1};eqSearch.value=state.equationQuery||'';const ids=(new URLSearchParams(location.search).get('atlas-expanded')||selected).split(',');expanded=new Set(ids.filter(id=>hasNode(graph,id)).slice(0,150));error.textContent=state.error||'';error.hidden=!state.error;equationOptions(state.equation);renderEquation();render();if(state.error)byId('atlas-share').href=location.href;else urlState(false,false);}); + renderEquation();render();if(state.error)byId('atlas-share').href=location.href;else urlState(false,false); } if(typeof document!=='undefined')start().catch(e=>{const s=byId('atlas-status');if(s)s.textContent=`Unavailable: ${e.message}. No current graph inferred.`;}); diff --git a/docs/site/brand.css b/docs/site/brand.css index 26b6d7a0a..cf8a70a05 100644 --- a/docs/site/brand.css +++ b/docs/site/brand.css @@ -60,7 +60,7 @@ body > header { color: var(--ul-text); font-weight: 750; letter-spacing: .13em; position: relative; padding-left: 57px; min-height: 44px; line-height: 1.65; } -.brand::before { content: ""; position: absolute; left: 0; top: 1px; width: 42px; height: 42px; background: url("brand/mark.svg?site-release=4764cf2cfa0123b97aca3ec6ff8a1aba79e9ad1b5506d8616775b59c20e65ebc") center/contain no-repeat; } +.brand::before { content: ""; position: absolute; left: 0; top: 1px; width: 42px; height: 42px; background: url("brand/mark.svg?site-release=81664321ae3536ab28eeb2dd5e8b18e82157243b8a9d89b25c23588d21008c0c") center/contain no-repeat; } .brand span { color: var(--ul-muted); font-size: 12px; letter-spacing: .16em; text-transform: uppercase; } nav { gap: 12px 24px; flex-wrap: wrap; } nav a { color: var(--ul-text); min-height: 44px; display: inline-flex; align-items: center; font-size: 13px; padding: 0 6px; margin: 0 -6px; } diff --git a/docs/site/cite.html b/docs/site/cite.html index 79060bacf..fd9aff80e 100644 --- a/docs/site/cite.html +++ b/docs/site/cite.html @@ -4,10 +4,10 @@ Cite · Universal Law - - - - + + + +
UNIVERSAL LAW MATHEMATICS IN THE OPEN
diff --git a/docs/site/cite.mjs b/docs/site/cite.mjs index 139a92fe8..e7604e26d 100644 --- a/docs/site/cite.mjs +++ b/docs/site/cite.mjs @@ -1,4 +1,4 @@ -import {wireReferenceForm} from './source-reference.mjs?site-release=4764cf2cfa0123b97aca3ec6ff8a1aba79e9ad1b5506d8616775b59c20e65ebc'; +import {wireReferenceForm} from './source-reference.mjs?site-release=81664321ae3536ab28eeb2dd5e8b18e82157243b8a9d89b25c23588d21008c0c'; const byId = id => document.getElementById(id); wireReferenceForm({form:byId('reference-form'), repository:byId('reference-repository'), commit:byId('reference-commit'), path:byId('reference-path'), sha256:byId('reference-sha256'), output:byId('reference-output'), json:byId('reference-json'), bibtex:byId('reference-bibtex'), link:byId('reference-link'), status:byId('reference-status'), actions:byId('reference-actions'), copyText:byId('reference-copy'), copyJSON:byId('reference-copy-json'), copyBibTeX:byId('reference-copy-bibtex'), share:byId('reference-share'), clipboard:globalThis.navigator?.clipboard, location:globalThis.location, history:globalThis.history, events:globalThis.window}); byId('reference-builder').hidden = false; diff --git a/docs/site/conditionals.mjs b/docs/site/conditionals.mjs index 9fc4067e8..45a791cc1 100644 --- a/docs/site/conditionals.mjs +++ b/docs/site/conditionals.mjs @@ -93,7 +93,7 @@ export function renderProjection(document,host,data,source){ el(document,'p','Generated from verified source bytes. This graph is not formal verification, a proof review, or a scientific-status register.')); host.replaceChildren(article); } -const services=()=>import('./museum.mjs?site-release=4764cf2cfa0123b97aca3ec6ff8a1aba79e9ad1b5506d8616775b59c20e65ebc'); +const services=()=>import('./museum.mjs?site-release=81664321ae3536ab28eeb2dd5e8b18e82157243b8a9d89b25c23588d21008c0c'); // The museum module already verifies config → manifest → index/status once per // page fetch and caches every pinned byte request. This route consumes that same // verified startup, so it adds only the audited-descriptor check and projection. diff --git a/docs/site/current-model.mjs b/docs/site/current-model.mjs index 45e3bba4a..e8944c9ae 100644 --- a/docs/site/current-model.mjs +++ b/docs/site/current-model.mjs @@ -1,4 +1,4 @@ -import {OPEN_CLASSIFICATIONS, NON_RESEARCH_KINDS} from './dependency-model.mjs?site-release=4764cf2cfa0123b97aca3ec6ff8a1aba79e9ad1b5506d8616775b59c20e65ebc'; +import {OPEN_CLASSIFICATIONS, NON_RESEARCH_KINDS} from './dependency-model.mjs?site-release=81664321ae3536ab28eeb2dd5e8b18e82157243b8a9d89b25c23588d21008c0c'; const REPOSITORIES = new Set(['d6g8k5htny-coder/main','d6g8k5htny-coder/Math-']); const SHA = /^[0-9a-f]{40}$/; @@ -78,41 +78,93 @@ function graphWindow(graph,candidates,selected) { const {values,...counts}=page; return {ids:values,edges:graph.edges.filter(e=>known.has(e.from)&&known.has(e.to)),total:Object.keys(graph.nodes).length,...counts}; } -// Reverse traversal counts distinct dependents in the full graph, independent -// of the rendered window. Context edges count only in the all-edge lane. -export function downstreamReach(graph,id) { - const known=hasNode(graph,id); +// An admitted snapshot is immutable. Build its adjacency once, retaining source +// edge identity/order for relation inspection and a separately sorted BFS lane. +const snapshotIndexes=new WeakMap(); +function graphIndex(graph) { + let index=snapshotIndexes.get(graph);if(index)return index; + const outgoing=new Map(),incoming=new Map(),required=new Map(); + for(const id of Object.keys(graph.nodes)){outgoing.set(id,[]);incoming.set(id,[]);required.set(id,[]);} + for(const edge of graph.edges){ + if(!hasNode(graph,edge.from)||!hasNode(graph,edge.to))continue; + outgoing.get(edge.from).push(edge);incoming.get(edge.to).push(edge); + if(edge.required===true)required.get(edge.from).push(edge); + } + for(const edges of required.values())edges.sort((a,b)=>a.to.localeCompare(b.to)||a.relation.localeCompare(b.relation)); + index={outgoing,incoming,required,analysis:null};snapshotIndexes.set(graph,index);return index; +} +// Complete indexed reverse traversal. Count-only callers retain no reachable-ID +// arrays; the public full API keeps its exact sorted-ID contract. +function reverseReach(graph,id,includeIds) { + const known=hasNode(graph,id),index=graphIndex(graph); const walk=requiredOnly=>{ - if(!known)return []; + if(!known)return new Set(); const visited=new Set([id]),queue=[id]; - for(let cursor=0;cursora.localeCompare(b)); + visited.delete(id);return visited; }; - const allEdgeIds=walk(false),requiredOnlyIds=walk(true); - return {known,allEdge:allEdgeIds.length,requiredOnly:requiredOnlyIds.length,allEdgeIds,requiredOnlyIds,labels:REACH_LABELS}; + const all=walk(false),required=walk(true),result={known,allEdge:all.size,requiredOnly:required.size,labels:REACH_LABELS}; + if(includeIds){result.allEdgeIds=[...all].sort((a,b)=>a.localeCompare(b));result.requiredOnlyIds=[...required].sort((a,b)=>a.localeCompare(b));} + return result; } +export function downstreamReach(graph,id){return reverseReach(graph,id,true);} +export function downstreamReachCounts(graph,id){return reverseReach(graph,id,false);} export function unresolvedTargets(graph) { return Object.entries(graph.nodes).filter(([,node])=>unresolved(node)).map(([id,node])=>({id,node,...downstreamReach(graph,id)})).sort((a,b)=>b.allEdge-a.allEdge || a.id.localeCompare(b.id)); } -// Breadth-first search follows source edges forward (dependency direction), -// keeping one shortest route per target with original relation metadata. -export function requiredDependencyPaths(graph,id) { - if(!hasNode(graph,id))return []; - const queue=[{ids:[id],edges:[]}],visited=new Set([id]),routes=[]; - for(let cursor=0;cursoredge.from===current && edge.required===true && hasNode(graph,edge.to)).sort((a,b)=>a.to.localeCompare(b.to) || a.relation.localeCompare(b.relation)); - for(const edge of dependencies) { - if(visited.has(edge.to))continue; - visited.add(edge.to);queue.push({ids:[...path.ids,edge.to],edges:[...path.edges,edge]}); +// Complete deterministic BFS stores one predecessor/depth per reached node. +// Only the selected root's compact analysis is cached, never all roots' paths. +export function requiredDependencyAnalysis(graph,id) { + const index=graphIndex(graph);if(index.analysis?.root===id)return index.analysis; + const known=hasNode(graph,id),predecessors=new Map(),depths=new Map(),targets=[],queue=known?[id]:[];let traversedEdges=0; + if(known)depths.set(id,0); + for(let cursor=0;cursora.ids.length-b.ids.length || a.ids.at(-1).localeCompare(b.ids.at(-1))); + targets.sort((a,b)=>a.length-b.length||a.id.localeCompare(b.id)); + const prefixSums=[0];for(const target of targets)prefixSums.push(prefixSums.at(-1)+target.length); + const analysis={root:id,known,predecessors,depths,targets,prefixSums,targetCount:targets.length,totalOccurrences:prefixSums.at(-1),traversedEdges}; + index.analysis=analysis;return analysis; +} +function reconstructRoute(analysis,target){ + const ids=new Array(target.length),edges=new Array(target.length-1);let current=target.id; + for(let i=target.length-1;i>=0;i--){ids[i]=current;if(i){const edge=analysis.predecessors.get(current);edges[i-1]=edge;current=edge.from;}} + return {ids,edges}; +} +function pageWindow(total,selected={}){ + const limit=Number.isInteger(selected.limit)&&selected.limit>0?Math.min(selected.limit,MAX_WINDOW_NODES):MAX_WINDOW_NODES; + const pages=Math.max(1,Math.ceil(total/limit)),requested=Number.isSafeInteger(selected.page)&&selected.page>0?selected.page:1,page=Math.min(requested,pages); + return {page,pages,limit,offset:(page-1)*limit}; +} +export function requiredDependencyWindow(analysis,selected={}){ + const paging=pageWindow(analysis.totalOccurrences,selected),{offset,limit}=paging,end=Math.min(offset+limit,analysis.totalOccurrences),segments=[];let reconstructedNodes=0; + // Binary search the first intersecting route; direct last-page access never + // materializes preceding routes. At most two boundary routes can be partial. + let lo=0,hi=analysis.targetCount; + while(lostart+j?route.edges[start+j-1]:null); + segments.push({target:target.id,routeIndex:i,start,end:stop,length:target.length,complete:start===0&&stop===target.length,ids,incomingEdges}); + } + return {...paging,segments,occurrences:end-offset,targetCount:analysis.targetCount,totalOccurrences:analysis.totalOccurrences,omitted:analysis.totalOccurrences-(end-offset),reconstructedNodes}; +} +export function directRelationWindow(graph,id,direction,selected={}){ + const index=graphIndex(graph),rows=(direction==='outgoing'?index.outgoing:index.incoming).get(id)||[],paging=pageWindow(rows.length,selected); + return {...paging,rows:rows.slice(paging.offset,paging.offset+paging.limit),total:rows.length,omitted:rows.length-Math.min(paging.limit,rows.length-paging.offset)}; } +// Compatibility API for callers explicitly requesting all output. The atlas +// uses requiredDependencyWindow instead; this full output is inherently large. +export function requiredDependencyPaths(graph,id){const analysis=requiredDependencyAnalysis(graph,id);return analysis.targets.map(target=>reconstructRoute(analysis,target));} export function neighborhood(graph,expanded,limit=MAX_WINDOW_NODES) { const ids=[],known=new Set(); const add=id=>{if(hasNode(graph,id)&&!known.has(id)){known.add(id);ids.push(id);}}; @@ -128,7 +180,8 @@ export function readState(search,snapshot) { if(equation&&!snapshot.equations.some(e=>e.id===equation))error=`Unknown equation: ${equation}. No selection inferred.`; if((q.get('snapshot')&&q.get('snapshot')!==snapshot.graph.identity.commit)||(q.get('main-snapshot')&&q.get('main-snapshot')!==snapshot.repositories.find(r=>r.repository.endsWith('/main')).commit))error='This bookmark names another snapshot. Use its pinned source; the current graph is not substituted.'; const rawOffset=q.get('atlas-offset')||'0'; - return {node,error,equation,view:q.get('atlas-view')==='list'?'list':'graph',sourceQuery:q.get('source-q')||'',query:q.get('atlas-q')||'',offset:/^\d+$/.test(rawOffset)?boundedOffset(Number(rawOffset)):0,equationQuery:q.get('equation-q')||'',classification:q.get('atlas-classification')||'',kind:q.get('atlas-kind')||'',layer:q.get('atlas-layer')||''}; + const rawRoutePage=q.get('atlas-route-page')||'1',routePage=/^\d+$/.test(rawRoutePage)&&Number.isSafeInteger(Number(rawRoutePage))&&Number(rawRoutePage)>0?Number(rawRoutePage):1; + return {node,error,equation,view:q.get('atlas-view')==='list'?'list':'graph',sourceQuery:q.get('source-q')||'',query:q.get('atlas-q')||'',offset:/^\d+$/.test(rawOffset)?boundedOffset(Number(rawOffset)):0,routePage,equationQuery:q.get('equation-q')||'',classification:q.get('atlas-classification')||'',kind:q.get('atlas-kind')||'',layer:q.get('atlas-layer')||''}; } export function searchGraph(graph,query,limit=MAX_WINDOW_NODES) { diff --git a/docs/site/current.mjs b/docs/site/current.mjs index e24b53d00..bd3113202 100644 --- a/docs/site/current.mjs +++ b/docs/site/current.mjs @@ -1,4 +1,4 @@ -import {parseVerifiedSnapshot,freshness,filterSources,sourceURL} from './current-model.mjs?site-release=4764cf2cfa0123b97aca3ec6ff8a1aba79e9ad1b5506d8616775b59c20e65ebc'; +import {parseVerifiedSnapshot,freshness,filterSources,sourceURL} from './current-model.mjs?site-release=81664321ae3536ab28eeb2dd5e8b18e82157243b8a9d89b25c23588d21008c0c'; export function element(tag,text,className) { const e=document.createElement(tag);if(text!==undefined)e.textContent=text;if(className)e.className=className;return e; } diff --git a/docs/site/curvature-export.mjs b/docs/site/curvature-export.mjs index 4e099c092..9f7ef1e96 100644 --- a/docs/site/curvature-export.mjs +++ b/docs/site/curvature-export.mjs @@ -1,6 +1,6 @@ // Bounded, local export of the Peaks and saddles teaching diagram. No source fetch // or proof verification occurs here; the identity below is recorded provenance. -import { coneModel } from './explore-models.mjs?site-release=4764cf2cfa0123b97aca3ec6ff8a1aba79e9ad1b5506d8616775b59c20e65ebc'; +import { coneModel } from './explore-models.mjs?site-release=81664321ae3536ab28eeb2dd5e8b18e82157243b8a9d89b25c23588d21008c0c'; const SVG_NS = 'http://www.w3.org/2000/svg'; const PUBLIC_EXPLORE = 'https://d6g8k5htny-coder.github.io/main/site/explore.html'; diff --git a/docs/site/dependencies.html b/docs/site/dependencies.html index db7e31b19..47b5176a9 100644 --- a/docs/site/dependencies.html +++ b/docs/site/dependencies.html @@ -7,14 +7,14 @@ Mathematics · Universal Law - - - - - - - - + + + + + + + + diff --git a/docs/site/dependencies.mjs b/docs/site/dependencies.mjs index 553478d67..87a81acfe 100644 --- a/docs/site/dependencies.mjs +++ b/docs/site/dependencies.mjs @@ -12,7 +12,7 @@ import { recordedContextRows, recordedReviewText, unresolvedTargets, -} from './dependency-model.mjs?site-release=4764cf2cfa0123b97aca3ec6ff8a1aba79e9ad1b5506d8616775b59c20e65ebc'; +} from './dependency-model.mjs?site-release=81664321ae3536ab28eeb2dd5e8b18e82157243b8a9d89b25c23588d21008c0c'; const byId = id => document.getElementById(id); diff --git a/docs/site/explore-models.mjs b/docs/site/explore-models.mjs index b148a272a..cce0936b9 100644 --- a/docs/site/explore-models.mjs +++ b/docs/site/explore-models.mjs @@ -1,6 +1,6 @@ // NON-CERTIFYING educational arithmetic. These functions illustrate source // definitions; they do not simulate a field or estimate a theorem's constants. -import { annulusModel, p15Model, remoteModel } from './geometry.mjs?site-release=4764cf2cfa0123b97aca3ec6ff8a1aba79e9ad1b5506d8616775b59c20e65ebc'; +import { annulusModel, p15Model, remoteModel } from './geometry.mjs?site-release=81664321ae3536ab28eeb2dd5e8b18e82157243b8a9d89b25c23588d21008c0c'; function finite(value, name) { if (!Number.isFinite(value)) throw new RangeError(`${name} must be finite`); diff --git a/docs/site/explore.html b/docs/site/explore.html index 351e74bbf..2a81c96dc 100644 --- a/docs/site/explore.html +++ b/docs/site/explore.html @@ -7,13 +7,13 @@ Explore the mathematics · Universal Law - - - - - - - + + + + + + + diff --git a/docs/site/explore.mjs b/docs/site/explore.mjs index ea550772a..a4c977e64 100644 --- a/docs/site/explore.mjs +++ b/docs/site/explore.mjs @@ -1,10 +1,10 @@ -import { coneModel, pinModel, paletteModel, applyCurvaturePreset } from './explore-models.mjs?site-release=4764cf2cfa0123b97aca3ec6ff8a1aba79e9ad1b5506d8616775b59c20e65ebc'; -import { readExploreState, exploreStateURL } from './explore-state.mjs?site-release=4764cf2cfa0123b97aca3ec6ff8a1aba79e9ad1b5506d8616775b59c20e65ebc'; +import { coneModel, pinModel, paletteModel, applyCurvaturePreset } from './explore-models.mjs?site-release=81664321ae3536ab28eeb2dd5e8b18e82157243b8a9d89b25c23588d21008c0c'; +import { readExploreState, exploreStateURL } from './explore-state.mjs?site-release=81664321ae3536ab28eeb2dd5e8b18e82157243b8a9d89b25c23588d21008c0c'; -import { captureCurvatureDiagram, serializeCurvatureSVG, createCitationController } from './curvature-export.mjs?site-release=4764cf2cfa0123b97aca3ec6ff8a1aba79e9ad1b5506d8616775b59c20e65ebc'; -import { captureTeachingDiagram, createFigureCitationController } from './teaching-export.mjs?site-release=4764cf2cfa0123b97aca3ec6ff8a1aba79e9ad1b5506d8616775b59c20e65ebc'; -import { serializePinSVG, pinFigureCitation } from './pin-export.mjs?site-release=4764cf2cfa0123b97aca3ec6ff8a1aba79e9ad1b5506d8616775b59c20e65ebc'; -import { serializePaletteSVG, paletteFigureCitation } from './palette-export.mjs?site-release=4764cf2cfa0123b97aca3ec6ff8a1aba79e9ad1b5506d8616775b59c20e65ebc'; +import { captureCurvatureDiagram, serializeCurvatureSVG, createCitationController } from './curvature-export.mjs?site-release=81664321ae3536ab28eeb2dd5e8b18e82157243b8a9d89b25c23588d21008c0c'; +import { captureTeachingDiagram, createFigureCitationController } from './teaching-export.mjs?site-release=81664321ae3536ab28eeb2dd5e8b18e82157243b8a9d89b25c23588d21008c0c'; +import { serializePinSVG, pinFigureCitation } from './pin-export.mjs?site-release=81664321ae3536ab28eeb2dd5e8b18e82157243b8a9d89b25c23588d21008c0c'; +import { serializePaletteSVG, paletteFigureCitation } from './palette-export.mjs?site-release=81664321ae3536ab28eeb2dd5e8b18e82157243b8a9d89b25c23588d21008c0c'; const ns = 'http://www.w3.org/2000/svg'; const byId = id => document.getElementById(id); diff --git a/docs/site/formal.html b/docs/site/formal.html index 4fdca62d1..f6627f8cc 100644 --- a/docs/site/formal.html +++ b/docs/site/formal.html @@ -5,11 +5,11 @@ Formal verification · Universal Law - - - + + + - + diff --git a/docs/site/index.html b/docs/site/index.html index 116fdcd66..4b719ad41 100644 --- a/docs/site/index.html +++ b/docs/site/index.html @@ -4,10 +4,10 @@ The shape of randomness · Universal Law - - - - + + + +
UNIVERSAL LAW MATHEMATICS IN THE OPEN
diff --git a/docs/site/measure.html b/docs/site/measure.html index 2d9536951..7b7e55640 100644 --- a/docs/site/measure.html +++ b/docs/site/measure.html @@ -7,13 +7,13 @@ From counts to density · Universal Law - - - - - - - + + + + + + + diff --git a/docs/site/measure.mjs b/docs/site/measure.mjs index 8b7f06d39..ce2c40a4c 100644 --- a/docs/site/measure.mjs +++ b/docs/site/measure.mjs @@ -1,4 +1,4 @@ -import { measurementModel, parseMeasurementInputs } from './measurement-model.mjs?site-release=4764cf2cfa0123b97aca3ec6ff8a1aba79e9ad1b5506d8616775b59c20e65ebc'; +import { measurementModel, parseMeasurementInputs } from './measurement-model.mjs?site-release=81664321ae3536ab28eeb2dd5e8b18e82157243b8a9d89b25c23588d21008c0c'; const byId = id => document.getElementById(id); const fields = Object.fromEntries(['count', 'realizations', 'lower', 'upper'].map(name => [name, byId(`measure-${name}`)])); diff --git a/docs/site/museum.html b/docs/site/museum.html index e77825090..348abc24a 100644 --- a/docs/site/museum.html +++ b/docs/site/museum.html @@ -5,14 +5,14 @@ Source records & exhibits · Universal Law - + - - + + - - + + diff --git a/docs/site/museum.mjs b/docs/site/museum.mjs index fb76d3b88..06bf6b455 100644 --- a/docs/site/museum.mjs +++ b/docs/site/museum.mjs @@ -1,5 +1,5 @@ -import {renderSourceQuote} from './source-quote.mjs?site-release=4764cf2cfa0123b97aca3ec6ff8a1aba79e9ad1b5506d8616775b59c20e65ebc'; -import {verifiedBytes, hex40, hex64} from './core.mjs?site-release=4764cf2cfa0123b97aca3ec6ff8a1aba79e9ad1b5506d8616775b59c20e65ebc'; +import {renderSourceQuote} from './source-quote.mjs?site-release=81664321ae3536ab28eeb2dd5e8b18e82157243b8a9d89b25c23588d21008c0c'; +import {verifiedBytes, hex40, hex64} from './core.mjs?site-release=81664321ae3536ab28eeb2dd5e8b18e82157243b8a9d89b25c23588d21008c0c'; export const DISCLAIMER='This canvas explains the pinned source. It is not a proof and does not change status.'; const REVIEWED_IDS=['d2-lifetime-remainder','d3-side24-coefficient','d4-fixed-remote-rn','d5-all-height-annulus','d5-height-window-annulus','d5-two-scale','d5-inner-belt-density','d5-fixed-transverse','cumulative-transfer-correction','p15-demand-one-counterexample','d6-p15-full-price']; @@ -264,7 +264,7 @@ function prepareClaimFragment(document,window,currentHash) { return true; }; } -export async function startMuseum({document=globalThis.document,window=globalThis.window,fetcher=globalThis.fetch,search=globalThis.location?.search||'',geometryLoader=()=>import('./geometry.mjs?site-release=4764cf2cfa0123b97aca3ec6ff8a1aba79e9ad1b5506d8616775b59c20e65ebc'),currentHash=()=>globalThis.location?.hash||''}={}){ +export async function startMuseum({document=globalThis.document,window=globalThis.window,fetcher=globalThis.fetch,search=globalThis.location?.search||'',geometryLoader=()=>import('./geometry.mjs?site-release=81664321ae3536ab28eeb2dd5e8b18e82157243b8a9d89b25c23588d21008c0c'),currentHash=()=>globalThis.location?.hash||''}={}){ const ids=['museum-state','claim-cards','lifetime-fixture','packet-cards','active-exhibit']; const containers=Object.fromEntries(ids.map(id=>{const node=document.getElementById(id);if(!node)throw Error(`Missing museum container: ${id}`);return [id,node];})); const finishFragment=prepareClaimFragment(document,window,currentHash); diff --git a/docs/site/nodes/eng.d0-packet-allowlist-fix.html b/docs/site/nodes/eng.d0-packet-allowlist-fix.html index 0fcf618d8..f560ea861 100644 --- a/docs/site/nodes/eng.d0-packet-allowlist-fix.html +++ b/docs/site/nodes/eng.d0-packet-allowlist-fix.html @@ -4,7 +4,7 @@ eng.d0-packet-allowlist-fix · Current research dependency atlas - +
diff --git a/docs/site/nodes/eng.hard-gate.html b/docs/site/nodes/eng.hard-gate.html index e6f97385f..a4487dd8e 100644 --- a/docs/site/nodes/eng.hard-gate.html +++ b/docs/site/nodes/eng.hard-gate.html @@ -4,7 +4,7 @@ eng.hard-gate · Current research dependency atlas - +
diff --git a/docs/site/nodes/eng.main-pr87-crosswalk.html b/docs/site/nodes/eng.main-pr87-crosswalk.html index 662e4cb78..f908198f2 100644 --- a/docs/site/nodes/eng.main-pr87-crosswalk.html +++ b/docs/site/nodes/eng.main-pr87-crosswalk.html @@ -4,7 +4,7 @@ eng.main-pr87-crosswalk · Current research dependency atlas - +
diff --git a/docs/site/nodes/hist.ALLCELL-FDZ-Q4.html b/docs/site/nodes/hist.ALLCELL-FDZ-Q4.html index 784dd9366..2acc88291 100644 --- a/docs/site/nodes/hist.ALLCELL-FDZ-Q4.html +++ b/docs/site/nodes/hist.ALLCELL-FDZ-Q4.html @@ -4,7 +4,7 @@ hist.ALLCELL-FDZ-Q4 · Current research dependency atlas - +
diff --git a/docs/site/nodes/hist.CH-LIFT.html b/docs/site/nodes/hist.CH-LIFT.html index 08c0754fc..391fb6610 100644 --- a/docs/site/nodes/hist.CH-LIFT.html +++ b/docs/site/nodes/hist.CH-LIFT.html @@ -4,7 +4,7 @@ hist.CH-LIFT · Current research dependency atlas - +
diff --git a/docs/site/nodes/hist.CL_ANTHROPIC_BUNDLE_2026-09-17_v5.zip.html b/docs/site/nodes/hist.CL_ANTHROPIC_BUNDLE_2026-09-17_v5.zip.html index 83260eda4..9af4c33cc 100644 --- a/docs/site/nodes/hist.CL_ANTHROPIC_BUNDLE_2026-09-17_v5.zip.html +++ b/docs/site/nodes/hist.CL_ANTHROPIC_BUNDLE_2026-09-17_v5.zip.html @@ -4,7 +4,7 @@ hist.CL_ANTHROPIC_BUNDLE_2026-09-17_v5.zip · Current research dependency atlas - +
diff --git a/docs/site/nodes/hist.ENV-RESCOV.html b/docs/site/nodes/hist.ENV-RESCOV.html index d8bebef21..c04d33d15 100644 --- a/docs/site/nodes/hist.ENV-RESCOV.html +++ b/docs/site/nodes/hist.ENV-RESCOV.html @@ -4,7 +4,7 @@ hist.ENV-RESCOV · Current research dependency atlas - +
diff --git a/docs/site/nodes/hist.LOGQ-TAIL.html b/docs/site/nodes/hist.LOGQ-TAIL.html index d8bef685e..9f183140a 100644 --- a/docs/site/nodes/hist.LOGQ-TAIL.html +++ b/docs/site/nodes/hist.LOGQ-TAIL.html @@ -4,7 +4,7 @@ hist.LOGQ-TAIL · Current research dependency atlas - +
diff --git a/docs/site/nodes/hist.OBL-H5-JETMOD.html b/docs/site/nodes/hist.OBL-H5-JETMOD.html index c19f1ad2d..cc4d0ee1a 100644 --- a/docs/site/nodes/hist.OBL-H5-JETMOD.html +++ b/docs/site/nodes/hist.OBL-H5-JETMOD.html @@ -4,7 +4,7 @@ hist.OBL-H5-JETMOD · Current research dependency atlas - +
diff --git a/docs/site/nodes/hist.Piece-2-annulus.html b/docs/site/nodes/hist.Piece-2-annulus.html index 38cda1b78..6fefc4711 100644 --- a/docs/site/nodes/hist.Piece-2-annulus.html +++ b/docs/site/nodes/hist.Piece-2-annulus.html @@ -4,7 +4,7 @@ hist.Piece-2-annulus · Current research dependency atlas - +
diff --git a/docs/site/nodes/hist.SYM-Fw-jet.html b/docs/site/nodes/hist.SYM-Fw-jet.html index de3e1d5eb..988934958 100644 --- a/docs/site/nodes/hist.SYM-Fw-jet.html +++ b/docs/site/nodes/hist.SYM-Fw-jet.html @@ -4,7 +4,7 @@ hist.SYM-Fw-jet · Current research dependency atlas - +
diff --git a/docs/site/nodes/hist.allcell_fdz_enclosures.json.html b/docs/site/nodes/hist.allcell_fdz_enclosures.json.html index a91b40973..f968b91bf 100644 --- a/docs/site/nodes/hist.allcell_fdz_enclosures.json.html +++ b/docs/site/nodes/hist.allcell_fdz_enclosures.json.html @@ -4,7 +4,7 @@ hist.allcell_fdz_enclosures.json · Current research dependency atlas - +
diff --git a/docs/site/nodes/hist.lemma_closed.html b/docs/site/nodes/hist.lemma_closed.html index 34a2e9737..fcd6fcf26 100644 --- a/docs/site/nodes/hist.lemma_closed.html +++ b/docs/site/nodes/hist.lemma_closed.html @@ -4,7 +4,7 @@ hist.lemma_closed · Current research dependency atlas - +
diff --git a/docs/site/nodes/hist.rnu_env.py.html b/docs/site/nodes/hist.rnu_env.py.html index 5647dcfbe..a33c93609 100644 --- a/docs/site/nodes/hist.rnu_env.py.html +++ b/docs/site/nodes/hist.rnu_env.py.html @@ -4,7 +4,7 @@ hist.rnu_env.py · Current research dependency atlas - +
diff --git a/docs/site/nodes/index.html b/docs/site/nodes/index.html index 5cc798804..eba90b57f 100644 --- a/docs/site/nodes/index.html +++ b/docs/site/nodes/index.html @@ -4,7 +4,7 @@ Current static graph, equation excerpts and source index · Current research dependency atlas - +
diff --git a/docs/site/nodes/math.d1-component.congruence-erratum.html b/docs/site/nodes/math.d1-component.congruence-erratum.html index 8f46acf5f..9f641c654 100644 --- a/docs/site/nodes/math.d1-component.congruence-erratum.html +++ b/docs/site/nodes/math.d1-component.congruence-erratum.html @@ -4,7 +4,7 @@ math.d1-component.congruence-erratum · Current research dependency atlas - +
diff --git a/docs/site/nodes/math.d1-component.marked-cylinder-cap.html b/docs/site/nodes/math.d1-component.marked-cylinder-cap.html index 3d2f2426d..3216a20b6 100644 --- a/docs/site/nodes/math.d1-component.marked-cylinder-cap.html +++ b/docs/site/nodes/math.d1-component.marked-cylinder-cap.html @@ -4,7 +4,7 @@ math.d1-component.marked-cylinder-cap · Current research dependency atlas - +
diff --git a/docs/site/nodes/math.d1-component.reconciliation-record.html b/docs/site/nodes/math.d1-component.reconciliation-record.html index 7816664a3..ac3de23f3 100644 --- a/docs/site/nodes/math.d1-component.reconciliation-record.html +++ b/docs/site/nodes/math.d1-component.reconciliation-record.html @@ -4,7 +4,7 @@ math.d1-component.reconciliation-record · Current research dependency atlas - +
diff --git a/docs/site/nodes/math.d1-component.section9-replacement-v1_1.html b/docs/site/nodes/math.d1-component.section9-replacement-v1_1.html index 7c4f59224..96614636a 100644 --- a/docs/site/nodes/math.d1-component.section9-replacement-v1_1.html +++ b/docs/site/nodes/math.d1-component.section9-replacement-v1_1.html @@ -4,7 +4,7 @@ math.d1-component.section9-replacement-v1_1 · Current research dependency atlas - +
diff --git a/docs/site/nodes/math.d5-component.annulus-proof.html b/docs/site/nodes/math.d5-component.annulus-proof.html index 35f38b228..20b356e58 100644 --- a/docs/site/nodes/math.d5-component.annulus-proof.html +++ b/docs/site/nodes/math.d5-component.annulus-proof.html @@ -4,7 +4,7 @@ math.d5-component.annulus-proof · Current research dependency atlas - +
diff --git a/docs/site/nodes/math.d5-component.annulus-review.html b/docs/site/nodes/math.d5-component.annulus-review.html index cfe42fb54..09b18ec28 100644 --- a/docs/site/nodes/math.d5-component.annulus-review.html +++ b/docs/site/nodes/math.d5-component.annulus-review.html @@ -4,7 +4,7 @@ math.d5-component.annulus-review · Current research dependency atlas - +
diff --git a/docs/site/nodes/math.d5-component.collar-proof.html b/docs/site/nodes/math.d5-component.collar-proof.html index cd9104178..04d4363d4 100644 --- a/docs/site/nodes/math.d5-component.collar-proof.html +++ b/docs/site/nodes/math.d5-component.collar-proof.html @@ -4,7 +4,7 @@ math.d5-component.collar-proof · Current research dependency atlas - +
diff --git a/docs/site/nodes/math.d5-component.collar-review.html b/docs/site/nodes/math.d5-component.collar-review.html index 52487ff5d..2a3d11398 100644 --- a/docs/site/nodes/math.d5-component.collar-review.html +++ b/docs/site/nodes/math.d5-component.collar-review.html @@ -4,7 +4,7 @@ math.d5-component.collar-review · Current research dependency atlas - +
diff --git a/docs/site/nodes/math.d5-component.i5-review-claude.html b/docs/site/nodes/math.d5-component.i5-review-claude.html index e83b59eb8..a9c3af345 100644 --- a/docs/site/nodes/math.d5-component.i5-review-claude.html +++ b/docs/site/nodes/math.d5-component.i5-review-claude.html @@ -4,7 +4,7 @@ math.d5-component.i5-review-claude · Current research dependency atlas - +
diff --git a/docs/site/nodes/math.d5-component.i5-review-xai.html b/docs/site/nodes/math.d5-component.i5-review-xai.html index e6ddf8f1e..14db60796 100644 --- a/docs/site/nodes/math.d5-component.i5-review-xai.html +++ b/docs/site/nodes/math.d5-component.i5-review-xai.html @@ -4,7 +4,7 @@ math.d5-component.i5-review-xai · Current research dependency atlas - +
diff --git a/docs/site/nodes/math.d5-component.intermediate-window-proof.html b/docs/site/nodes/math.d5-component.intermediate-window-proof.html index ef7e978a9..2784847c7 100644 --- a/docs/site/nodes/math.d5-component.intermediate-window-proof.html +++ b/docs/site/nodes/math.d5-component.intermediate-window-proof.html @@ -4,7 +4,7 @@ math.d5-component.intermediate-window-proof · Current research dependency atlas - +
diff --git a/docs/site/nodes/math.d5-component.offpin-second-moment-review.html b/docs/site/nodes/math.d5-component.offpin-second-moment-review.html index 8480c26dd..cebb93ca9 100644 --- a/docs/site/nodes/math.d5-component.offpin-second-moment-review.html +++ b/docs/site/nodes/math.d5-component.offpin-second-moment-review.html @@ -4,7 +4,7 @@ math.d5-component.offpin-second-moment-review · Current research dependency atlas - +
diff --git a/docs/site/nodes/math.d5-component.punctured-pin-continuum-check.html b/docs/site/nodes/math.d5-component.punctured-pin-continuum-check.html index edeeba30f..57d39ff00 100644 --- a/docs/site/nodes/math.d5-component.punctured-pin-continuum-check.html +++ b/docs/site/nodes/math.d5-component.punctured-pin-continuum-check.html @@ -4,7 +4,7 @@ math.d5-component.punctured-pin-continuum-check · Current research dependency atlas - +
diff --git a/docs/site/nodes/math.d5-component.punctured-pin-continuum-review.html b/docs/site/nodes/math.d5-component.punctured-pin-continuum-review.html index fa5e7a874..cdff4703d 100644 --- a/docs/site/nodes/math.d5-component.punctured-pin-continuum-review.html +++ b/docs/site/nodes/math.d5-component.punctured-pin-continuum-review.html @@ -4,7 +4,7 @@ math.d5-component.punctured-pin-continuum-review · Current research dependency atlas - +
diff --git a/docs/site/nodes/math.d5-component.punctured-pin-proof.html b/docs/site/nodes/math.d5-component.punctured-pin-proof.html index c5e438f44..58bd1dbd4 100644 --- a/docs/site/nodes/math.d5-component.punctured-pin-proof.html +++ b/docs/site/nodes/math.d5-component.punctured-pin-proof.html @@ -4,7 +4,7 @@ math.d5-component.punctured-pin-proof · Current research dependency atlas - +
diff --git a/docs/site/nodes/math.d5-component.punctured-pin-review-111.html b/docs/site/nodes/math.d5-component.punctured-pin-review-111.html index b965270ad..24bb47faa 100644 --- a/docs/site/nodes/math.d5-component.punctured-pin-review-111.html +++ b/docs/site/nodes/math.d5-component.punctured-pin-review-111.html @@ -4,7 +4,7 @@ math.d5-component.punctured-pin-review-111 · Current research dependency atlas - +
diff --git a/docs/site/nodes/math.d5-component.remote-window-proof.html b/docs/site/nodes/math.d5-component.remote-window-proof.html index 6e6849d06..f72b34640 100644 --- a/docs/site/nodes/math.d5-component.remote-window-proof.html +++ b/docs/site/nodes/math.d5-component.remote-window-proof.html @@ -4,7 +4,7 @@ math.d5-component.remote-window-proof · Current research dependency atlas - +
diff --git a/docs/site/nodes/math.d5-pin-neighborhood-first-moment.html b/docs/site/nodes/math.d5-pin-neighborhood-first-moment.html index 49da5d893..fd52d597a 100644 --- a/docs/site/nodes/math.d5-pin-neighborhood-first-moment.html +++ b/docs/site/nodes/math.d5-pin-neighborhood-first-moment.html @@ -4,7 +4,7 @@ math.d5-pin-neighborhood-first-moment · Current research dependency atlas - +
diff --git a/docs/site/nodes/math.lifetime-remainder.html b/docs/site/nodes/math.lifetime-remainder.html index 10be396e9..2324c88b3 100644 --- a/docs/site/nodes/math.lifetime-remainder.html +++ b/docs/site/nodes/math.lifetime-remainder.html @@ -4,7 +4,7 @@ math.lifetime-remainder · Current research dependency atlas - +
diff --git a/docs/site/nodes/math.p15-full-price.html b/docs/site/nodes/math.p15-full-price.html index fea11fc97..7fe9cc7e0 100644 --- a/docs/site/nodes/math.p15-full-price.html +++ b/docs/site/nodes/math.p15-full-price.html @@ -4,7 +4,7 @@ math.p15-full-price · Current research dependency atlas - +
diff --git a/docs/site/nodes/math.p15-price-boundary.html b/docs/site/nodes/math.p15-price-boundary.html index bd86a1edf..fb460cfdf 100644 --- a/docs/site/nodes/math.p15-price-boundary.html +++ b/docs/site/nodes/math.p15-price-boundary.html @@ -4,7 +4,7 @@ math.p15-price-boundary · Current research dependency atlas - +
diff --git a/docs/site/nodes/math.rn-count-interface.html b/docs/site/nodes/math.rn-count-interface.html index 7a5b7107a..ed449d647 100644 --- a/docs/site/nodes/math.rn-count-interface.html +++ b/docs/site/nodes/math.rn-count-interface.html @@ -4,7 +4,7 @@ math.rn-count-interface · Current research dependency atlas - +
diff --git a/docs/site/nodes/math.rn-fixed-annulus-window.html b/docs/site/nodes/math.rn-fixed-annulus-window.html index 496d2d947..fd3cc5353 100644 --- a/docs/site/nodes/math.rn-fixed-annulus-window.html +++ b/docs/site/nodes/math.rn-fixed-annulus-window.html @@ -4,7 +4,7 @@ math.rn-fixed-annulus-window · Current research dependency atlas - +
diff --git a/docs/site/nodes/math.rn-fixed-remote-window.html b/docs/site/nodes/math.rn-fixed-remote-window.html index 253b023ea..2473407e6 100644 --- a/docs/site/nodes/math.rn-fixed-remote-window.html +++ b/docs/site/nodes/math.rn-fixed-remote-window.html @@ -4,7 +4,7 @@ math.rn-fixed-remote-window · Current research dependency atlas - +
diff --git a/docs/site/nodes/math.rn-mesoscopic-reduction.html b/docs/site/nodes/math.rn-mesoscopic-reduction.html index 4c0f307be..f7363a2f6 100644 --- a/docs/site/nodes/math.rn-mesoscopic-reduction.html +++ b/docs/site/nodes/math.rn-mesoscopic-reduction.html @@ -4,7 +4,7 @@ math.rn-mesoscopic-reduction · Current research dependency atlas - +
diff --git a/docs/site/nodes/math.rn-region.fixed-annulus-window.html b/docs/site/nodes/math.rn-region.fixed-annulus-window.html index f2e7e46d6..f817dcae4 100644 --- a/docs/site/nodes/math.rn-region.fixed-annulus-window.html +++ b/docs/site/nodes/math.rn-region.fixed-annulus-window.html @@ -4,7 +4,7 @@ math.rn-region.fixed-annulus-window · Current research dependency atlas - +
diff --git a/docs/site/nodes/math.rn-region.fixed-remote.html b/docs/site/nodes/math.rn-region.fixed-remote.html index 3f5507093..248cbf7e5 100644 --- a/docs/site/nodes/math.rn-region.fixed-remote.html +++ b/docs/site/nodes/math.rn-region.fixed-remote.html @@ -4,7 +4,7 @@ math.rn-region.fixed-remote · Current research dependency atlas - +
diff --git a/docs/site/nodes/math.rn-region.intermediate-r-to-rho.html b/docs/site/nodes/math.rn-region.intermediate-r-to-rho.html index 361e6ca7b..48dac73e7 100644 --- a/docs/site/nodes/math.rn-region.intermediate-r-to-rho.html +++ b/docs/site/nodes/math.rn-region.intermediate-r-to-rho.html @@ -4,7 +4,7 @@ math.rn-region.intermediate-r-to-rho · Current research dependency atlas - +
diff --git a/docs/site/nodes/math.rn-region.mesoscopic-scaled-annulus.html b/docs/site/nodes/math.rn-region.mesoscopic-scaled-annulus.html index 334742938..f7fef72c7 100644 --- a/docs/site/nodes/math.rn-region.mesoscopic-scaled-annulus.html +++ b/docs/site/nodes/math.rn-region.mesoscopic-scaled-annulus.html @@ -4,7 +4,7 @@ math.rn-region.mesoscopic-scaled-annulus · Current research dependency atlas - +
diff --git a/docs/site/nodes/math.rn-region.pin-collision.html b/docs/site/nodes/math.rn-region.pin-collision.html index b7b8f32df..f8776932b 100644 --- a/docs/site/nodes/math.rn-region.pin-collision.html +++ b/docs/site/nodes/math.rn-region.pin-collision.html @@ -4,7 +4,7 @@ math.rn-region.pin-collision · Current research dependency atlas - +
diff --git a/docs/site/nodes/math.rn-region.witness-collision.html b/docs/site/nodes/math.rn-region.witness-collision.html index 26d1e1f6b..e5862bd61 100644 --- a/docs/site/nodes/math.rn-region.witness-collision.html +++ b/docs/site/nodes/math.rn-region.witness-collision.html @@ -4,7 +4,7 @@ math.rn-region.witness-collision · Current research dependency atlas - +
diff --git a/docs/site/nodes/math.rn-selector-region-crosswalk.html b/docs/site/nodes/math.rn-selector-region-crosswalk.html index ae1d1b0a6..e619aa17e 100644 --- a/docs/site/nodes/math.rn-selector-region-crosswalk.html +++ b/docs/site/nodes/math.rn-selector-region-crosswalk.html @@ -4,7 +4,7 @@ math.rn-selector-region-crosswalk · Current research dependency atlas - +
diff --git a/docs/site/nodes/math.side24-coefficient.html b/docs/site/nodes/math.side24-coefficient.html index cdaa4f2a3..e6612b4df 100644 --- a/docs/site/nodes/math.side24-coefficient.html +++ b/docs/site/nodes/math.side24-coefficient.html @@ -4,7 +4,7 @@ math.side24-coefficient · Current research dependency atlas - +
diff --git a/docs/site/nodes/math.uniform-matrix-cap-lifetime.html b/docs/site/nodes/math.uniform-matrix-cap-lifetime.html index 12d91ec04..c4a06eeab 100644 --- a/docs/site/nodes/math.uniform-matrix-cap-lifetime.html +++ b/docs/site/nodes/math.uniform-matrix-cap-lifetime.html @@ -4,7 +4,7 @@ math.uniform-matrix-cap-lifetime · Current research dependency atlas - +
diff --git a/docs/site/nodes/regional.fixed-annulus.high-jet-route.html b/docs/site/nodes/regional.fixed-annulus.high-jet-route.html index c262220c1..d37c5a961 100644 --- a/docs/site/nodes/regional.fixed-annulus.high-jet-route.html +++ b/docs/site/nodes/regional.fixed-annulus.high-jet-route.html @@ -4,7 +4,7 @@ regional.fixed-annulus.high-jet-route · Current research dependency atlas - +
diff --git a/docs/site/palette-export.mjs b/docs/site/palette-export.mjs index 46cab525c..ed33966b2 100644 --- a/docs/site/palette-export.mjs +++ b/docs/site/palette-export.mjs @@ -1,7 +1,7 @@ // Bounded teaching export of Explore's current finite P15 diagram. Source // custody is provenance; this module performs no mathematical verification. -import { paletteModel } from './explore-models.mjs?site-release=4764cf2cfa0123b97aca3ec6ff8a1aba79e9ad1b5506d8616775b59c20e65ebc'; -import { serializeTeachingSVG } from './teaching-export.mjs?site-release=4764cf2cfa0123b97aca3ec6ff8a1aba79e9ad1b5506d8616775b59c20e65ebc'; +import { paletteModel } from './explore-models.mjs?site-release=81664321ae3536ab28eeb2dd5e8b18e82157243b8a9d89b25c23588d21008c0c'; +import { serializeTeachingSVG } from './teaching-export.mjs?site-release=81664321ae3536ab28eeb2dd5e8b18e82157243b8a9d89b25c23588d21008c0c'; const PUBLIC_EXPLORE = 'https://d6g8k5htny-coder.github.io/main/site/explore.html'; const SOURCE = Object.freeze({ diff --git a/docs/site/pin-export.mjs b/docs/site/pin-export.mjs index 38b74ec70..00d1f97ec 100644 --- a/docs/site/pin-export.mjs +++ b/docs/site/pin-export.mjs @@ -1,7 +1,7 @@ // Bounded export of the CURRENT displayed Approach-points teaching diagram. // Pinned source identities are provenance, not proof acceptance or verification. -import { pinModel } from './explore-models.mjs?site-release=4764cf2cfa0123b97aca3ec6ff8a1aba79e9ad1b5506d8616775b59c20e65ebc'; -import { serializeTeachingSVG } from './teaching-export.mjs?site-release=4764cf2cfa0123b97aca3ec6ff8a1aba79e9ad1b5506d8616775b59c20e65ebc'; +import { pinModel } from './explore-models.mjs?site-release=81664321ae3536ab28eeb2dd5e8b18e82157243b8a9d89b25c23588d21008c0c'; +import { serializeTeachingSVG } from './teaching-export.mjs?site-release=81664321ae3536ab28eeb2dd5e8b18e82157243b8a9d89b25c23588d21008c0c'; const PUBLIC_EXPLORE='https://d6g8k5htny-coder.github.io/main/site/explore.html'; const COMMIT='d6628da09384728992dcbe6e921cc28ba85aebb0'; diff --git a/docs/site/reproduce.html b/docs/site/reproduce.html index ee4ede451..bc0003caa 100644 --- a/docs/site/reproduce.html +++ b/docs/site/reproduce.html @@ -4,11 +4,11 @@ Reproduce · Universal Law - + - - - + + +
UNIVERSAL LAW MATHEMATICS IN THE OPEN
diff --git a/docs/site/research.html b/docs/site/research.html index 04f182c4f..1fb12a164 100644 --- a/docs/site/research.html +++ b/docs/site/research.html @@ -4,8 +4,8 @@ Research · Universal Law - - + +
UNIVERSAL LAW MATHEMATICS IN THE OPEN
diff --git a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/eng.d0-packet-allowlist-fix.html b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/eng.d0-packet-allowlist-fix.html index 2583fa262..29d6b8c6d 100644 --- a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/eng.d0-packet-allowlist-fix.html +++ b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/eng.d0-packet-allowlist-fix.html @@ -4,7 +4,7 @@ eng.d0-packet-allowlist-fix · Research dependency atlas - +
diff --git a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/eng.hard-gate.html b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/eng.hard-gate.html index a2199e8fb..1bf41b7d0 100644 --- a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/eng.hard-gate.html +++ b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/eng.hard-gate.html @@ -4,7 +4,7 @@ eng.hard-gate · Research dependency atlas - +
diff --git a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/eng.main-pr87-crosswalk.html b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/eng.main-pr87-crosswalk.html index 949464d35..3244c1cd9 100644 --- a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/eng.main-pr87-crosswalk.html +++ b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/eng.main-pr87-crosswalk.html @@ -4,7 +4,7 @@ eng.main-pr87-crosswalk · Research dependency atlas - +
diff --git a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/hist.ALLCELL-FDZ-Q4.html b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/hist.ALLCELL-FDZ-Q4.html index 044910461..c6ae869c8 100644 --- a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/hist.ALLCELL-FDZ-Q4.html +++ b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/hist.ALLCELL-FDZ-Q4.html @@ -4,7 +4,7 @@ hist.ALLCELL-FDZ-Q4 · Research dependency atlas - +
diff --git a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/hist.CH-LIFT.html b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/hist.CH-LIFT.html index c73a3b9ec..b5896f460 100644 --- a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/hist.CH-LIFT.html +++ b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/hist.CH-LIFT.html @@ -4,7 +4,7 @@ hist.CH-LIFT · Research dependency atlas - +
diff --git a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/hist.CL_ANTHROPIC_BUNDLE_2026-09-17_v5.zip.html b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/hist.CL_ANTHROPIC_BUNDLE_2026-09-17_v5.zip.html index dc2a152fd..81f3e76b0 100644 --- a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/hist.CL_ANTHROPIC_BUNDLE_2026-09-17_v5.zip.html +++ b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/hist.CL_ANTHROPIC_BUNDLE_2026-09-17_v5.zip.html @@ -4,7 +4,7 @@ hist.CL_ANTHROPIC_BUNDLE_2026-09-17_v5.zip · Research dependency atlas - +
diff --git a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/hist.ENV-RESCOV.html b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/hist.ENV-RESCOV.html index 15487886d..983f8f0d7 100644 --- a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/hist.ENV-RESCOV.html +++ b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/hist.ENV-RESCOV.html @@ -4,7 +4,7 @@ hist.ENV-RESCOV · Research dependency atlas - +
diff --git a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/hist.LOGQ-TAIL.html b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/hist.LOGQ-TAIL.html index ea538db45..44c61c4f9 100644 --- a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/hist.LOGQ-TAIL.html +++ b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/hist.LOGQ-TAIL.html @@ -4,7 +4,7 @@ hist.LOGQ-TAIL · Research dependency atlas - +
diff --git a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/hist.OBL-H5-JETMOD.html b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/hist.OBL-H5-JETMOD.html index aa0d42555..a9bd4e632 100644 --- a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/hist.OBL-H5-JETMOD.html +++ b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/hist.OBL-H5-JETMOD.html @@ -4,7 +4,7 @@ hist.OBL-H5-JETMOD · Research dependency atlas - +
diff --git a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/hist.Piece-2-annulus.html b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/hist.Piece-2-annulus.html index c0199da36..20b9835d4 100644 --- a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/hist.Piece-2-annulus.html +++ b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/hist.Piece-2-annulus.html @@ -4,7 +4,7 @@ hist.Piece-2-annulus · Research dependency atlas - +
diff --git a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/hist.SYM-Fw-jet.html b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/hist.SYM-Fw-jet.html index 071eafeb7..5d15824b3 100644 --- a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/hist.SYM-Fw-jet.html +++ b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/hist.SYM-Fw-jet.html @@ -4,7 +4,7 @@ hist.SYM-Fw-jet · Research dependency atlas - +
diff --git a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/hist.allcell_fdz_enclosures.json.html b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/hist.allcell_fdz_enclosures.json.html index f9c8b2ba5..51984417e 100644 --- a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/hist.allcell_fdz_enclosures.json.html +++ b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/hist.allcell_fdz_enclosures.json.html @@ -4,7 +4,7 @@ hist.allcell_fdz_enclosures.json · Research dependency atlas - +
diff --git a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/hist.lemma_closed.html b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/hist.lemma_closed.html index 64373849c..eb069fcc4 100644 --- a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/hist.lemma_closed.html +++ b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/hist.lemma_closed.html @@ -4,7 +4,7 @@ hist.lemma_closed · Research dependency atlas - +
diff --git a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/hist.rnu_env.py.html b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/hist.rnu_env.py.html index 94f1aada6..e6de4268c 100644 --- a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/hist.rnu_env.py.html +++ b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/hist.rnu_env.py.html @@ -4,7 +4,7 @@ hist.rnu_env.py · Research dependency atlas - +
diff --git a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/index.html b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/index.html index 4633ed2cc..d5cabdd61 100644 --- a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/index.html +++ b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/index.html @@ -4,7 +4,7 @@ Static graph and source index · Research dependency atlas - +
diff --git a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d1-component.congruence-erratum.html b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d1-component.congruence-erratum.html index 8cbbb9e1c..6668472ea 100644 --- a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d1-component.congruence-erratum.html +++ b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d1-component.congruence-erratum.html @@ -4,7 +4,7 @@ math.d1-component.congruence-erratum · Research dependency atlas - +
diff --git a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d1-component.marked-cylinder-cap.html b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d1-component.marked-cylinder-cap.html index b517de77d..3dcede810 100644 --- a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d1-component.marked-cylinder-cap.html +++ b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d1-component.marked-cylinder-cap.html @@ -4,7 +4,7 @@ math.d1-component.marked-cylinder-cap · Research dependency atlas - +
diff --git a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d1-component.reconciliation-record.html b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d1-component.reconciliation-record.html index 9bf6bc010..8e66c013d 100644 --- a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d1-component.reconciliation-record.html +++ b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d1-component.reconciliation-record.html @@ -4,7 +4,7 @@ math.d1-component.reconciliation-record · Research dependency atlas - +
diff --git a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d1-component.section9-replacement-v1_1.html b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d1-component.section9-replacement-v1_1.html index 18efdc921..8682ba059 100644 --- a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d1-component.section9-replacement-v1_1.html +++ b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d1-component.section9-replacement-v1_1.html @@ -4,7 +4,7 @@ math.d1-component.section9-replacement-v1_1 · Research dependency atlas - +
diff --git a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d5-component.annulus-proof.html b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d5-component.annulus-proof.html index 9fe871cd3..50c40176a 100644 --- a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d5-component.annulus-proof.html +++ b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d5-component.annulus-proof.html @@ -4,7 +4,7 @@ math.d5-component.annulus-proof · Research dependency atlas - +
diff --git a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d5-component.annulus-review.html b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d5-component.annulus-review.html index a141011c7..d792fb0c9 100644 --- a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d5-component.annulus-review.html +++ b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d5-component.annulus-review.html @@ -4,7 +4,7 @@ math.d5-component.annulus-review · Research dependency atlas - +
diff --git a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d5-component.collar-proof.html b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d5-component.collar-proof.html index 5551df2f4..d28b5ce63 100644 --- a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d5-component.collar-proof.html +++ b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d5-component.collar-proof.html @@ -4,7 +4,7 @@ math.d5-component.collar-proof · Research dependency atlas - +
diff --git a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d5-component.collar-review.html b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d5-component.collar-review.html index ae1fcba7d..84856359d 100644 --- a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d5-component.collar-review.html +++ b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d5-component.collar-review.html @@ -4,7 +4,7 @@ math.d5-component.collar-review · Research dependency atlas - +
diff --git a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d5-component.i5-review-claude.html b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d5-component.i5-review-claude.html index 85a64ea1f..c9e56fc2b 100644 --- a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d5-component.i5-review-claude.html +++ b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d5-component.i5-review-claude.html @@ -4,7 +4,7 @@ math.d5-component.i5-review-claude · Research dependency atlas - +
diff --git a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d5-component.i5-review-xai.html b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d5-component.i5-review-xai.html index 6f1c415d2..81e325e43 100644 --- a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d5-component.i5-review-xai.html +++ b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d5-component.i5-review-xai.html @@ -4,7 +4,7 @@ math.d5-component.i5-review-xai · Research dependency atlas - +
diff --git a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d5-component.intermediate-window-proof.html b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d5-component.intermediate-window-proof.html index cb04c752a..89b7b8541 100644 --- a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d5-component.intermediate-window-proof.html +++ b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d5-component.intermediate-window-proof.html @@ -4,7 +4,7 @@ math.d5-component.intermediate-window-proof · Research dependency atlas - +
diff --git a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d5-component.offpin-second-moment-review.html b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d5-component.offpin-second-moment-review.html index f055ffee6..a933c6d1c 100644 --- a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d5-component.offpin-second-moment-review.html +++ b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d5-component.offpin-second-moment-review.html @@ -4,7 +4,7 @@ math.d5-component.offpin-second-moment-review · Research dependency atlas - +
diff --git a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d5-component.punctured-pin-continuum-check.html b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d5-component.punctured-pin-continuum-check.html index cf3fb6321..e16ef5bd5 100644 --- a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d5-component.punctured-pin-continuum-check.html +++ b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d5-component.punctured-pin-continuum-check.html @@ -4,7 +4,7 @@ math.d5-component.punctured-pin-continuum-check · Research dependency atlas - +
diff --git a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d5-component.punctured-pin-continuum-review.html b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d5-component.punctured-pin-continuum-review.html index 253c9ec7a..1a014bd26 100644 --- a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d5-component.punctured-pin-continuum-review.html +++ b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d5-component.punctured-pin-continuum-review.html @@ -4,7 +4,7 @@ math.d5-component.punctured-pin-continuum-review · Research dependency atlas - +
diff --git a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d5-component.punctured-pin-proof.html b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d5-component.punctured-pin-proof.html index 392c43ffb..010aed5fb 100644 --- a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d5-component.punctured-pin-proof.html +++ b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d5-component.punctured-pin-proof.html @@ -4,7 +4,7 @@ math.d5-component.punctured-pin-proof · Research dependency atlas - +
diff --git a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d5-component.punctured-pin-review-111.html b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d5-component.punctured-pin-review-111.html index e24fda93d..97079e28c 100644 --- a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d5-component.punctured-pin-review-111.html +++ b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d5-component.punctured-pin-review-111.html @@ -4,7 +4,7 @@ math.d5-component.punctured-pin-review-111 · Research dependency atlas - +
diff --git a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d5-component.remote-window-proof.html b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d5-component.remote-window-proof.html index 8723b3258..f59729c72 100644 --- a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d5-component.remote-window-proof.html +++ b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d5-component.remote-window-proof.html @@ -4,7 +4,7 @@ math.d5-component.remote-window-proof · Research dependency atlas - +
diff --git a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d5-pin-neighborhood-first-moment.html b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d5-pin-neighborhood-first-moment.html index c698e3b26..b3cfee2c5 100644 --- a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d5-pin-neighborhood-first-moment.html +++ b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.d5-pin-neighborhood-first-moment.html @@ -4,7 +4,7 @@ math.d5-pin-neighborhood-first-moment · Research dependency atlas - +
diff --git a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.lifetime-remainder.html b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.lifetime-remainder.html index 69200c3f4..73dbb11be 100644 --- a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.lifetime-remainder.html +++ b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.lifetime-remainder.html @@ -4,7 +4,7 @@ math.lifetime-remainder · Research dependency atlas - +
diff --git a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.p15-full-price.html b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.p15-full-price.html index 53c8f821d..c73e8aec5 100644 --- a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.p15-full-price.html +++ b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.p15-full-price.html @@ -4,7 +4,7 @@ math.p15-full-price · Research dependency atlas - +
diff --git a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.p15-price-boundary.html b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.p15-price-boundary.html index 1033e5d12..00f6bcfde 100644 --- a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.p15-price-boundary.html +++ b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.p15-price-boundary.html @@ -4,7 +4,7 @@ math.p15-price-boundary · Research dependency atlas - +
diff --git a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.rn-count-interface.html b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.rn-count-interface.html index 7f55d5069..82a844e17 100644 --- a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.rn-count-interface.html +++ b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.rn-count-interface.html @@ -4,7 +4,7 @@ math.rn-count-interface · Research dependency atlas - +
diff --git a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.rn-fixed-annulus-window.html b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.rn-fixed-annulus-window.html index 1b8a55ee3..0fdf6efb6 100644 --- a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.rn-fixed-annulus-window.html +++ b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.rn-fixed-annulus-window.html @@ -4,7 +4,7 @@ math.rn-fixed-annulus-window · Research dependency atlas - +
diff --git a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.rn-fixed-remote-window.html b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.rn-fixed-remote-window.html index 70236cb8b..b0cbb5bbd 100644 --- a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.rn-fixed-remote-window.html +++ b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.rn-fixed-remote-window.html @@ -4,7 +4,7 @@ math.rn-fixed-remote-window · Research dependency atlas - +
diff --git a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.rn-mesoscopic-reduction.html b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.rn-mesoscopic-reduction.html index c3159c20f..e07c151f2 100644 --- a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.rn-mesoscopic-reduction.html +++ b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.rn-mesoscopic-reduction.html @@ -4,7 +4,7 @@ math.rn-mesoscopic-reduction · Research dependency atlas - +
diff --git a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.rn-region.fixed-annulus-window.html b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.rn-region.fixed-annulus-window.html index 9623cd9e0..e91697b4c 100644 --- a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.rn-region.fixed-annulus-window.html +++ b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.rn-region.fixed-annulus-window.html @@ -4,7 +4,7 @@ math.rn-region.fixed-annulus-window · Research dependency atlas - +
diff --git a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.rn-region.fixed-remote.html b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.rn-region.fixed-remote.html index a745e017e..bd0c0cc96 100644 --- a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.rn-region.fixed-remote.html +++ b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.rn-region.fixed-remote.html @@ -4,7 +4,7 @@ math.rn-region.fixed-remote · Research dependency atlas - +
diff --git a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.rn-region.intermediate-r-to-rho.html b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.rn-region.intermediate-r-to-rho.html index 1b0e4bd16..181d8f8cd 100644 --- a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.rn-region.intermediate-r-to-rho.html +++ b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.rn-region.intermediate-r-to-rho.html @@ -4,7 +4,7 @@ math.rn-region.intermediate-r-to-rho · Research dependency atlas - +
diff --git a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.rn-region.mesoscopic-scaled-annulus.html b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.rn-region.mesoscopic-scaled-annulus.html index b1cc70338..7f4c9923b 100644 --- a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.rn-region.mesoscopic-scaled-annulus.html +++ b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.rn-region.mesoscopic-scaled-annulus.html @@ -4,7 +4,7 @@ math.rn-region.mesoscopic-scaled-annulus · Research dependency atlas - +
diff --git a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.rn-region.pin-collision.html b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.rn-region.pin-collision.html index 3d69b3ddb..6a9a6d447 100644 --- a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.rn-region.pin-collision.html +++ b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.rn-region.pin-collision.html @@ -4,7 +4,7 @@ math.rn-region.pin-collision · Research dependency atlas - +
diff --git a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.rn-region.witness-collision.html b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.rn-region.witness-collision.html index dbdf0d1c1..54fc0206f 100644 --- a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.rn-region.witness-collision.html +++ b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.rn-region.witness-collision.html @@ -4,7 +4,7 @@ math.rn-region.witness-collision · Research dependency atlas - +
diff --git a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.rn-selector-region-crosswalk.html b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.rn-selector-region-crosswalk.html index cbdf9cad8..dbf4cc056 100644 --- a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.rn-selector-region-crosswalk.html +++ b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.rn-selector-region-crosswalk.html @@ -4,7 +4,7 @@ math.rn-selector-region-crosswalk · Research dependency atlas - +
diff --git a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.side24-coefficient.html b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.side24-coefficient.html index 9a8f0a708..5da17be7b 100644 --- a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.side24-coefficient.html +++ b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.side24-coefficient.html @@ -4,7 +4,7 @@ math.side24-coefficient · Research dependency atlas - +
diff --git a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.uniform-matrix-cap-lifetime.html b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.uniform-matrix-cap-lifetime.html index 5e75f3547..a19927ff4 100644 --- a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.uniform-matrix-cap-lifetime.html +++ b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/math.uniform-matrix-cap-lifetime.html @@ -4,7 +4,7 @@ math.uniform-matrix-cap-lifetime · Research dependency atlas - +
diff --git a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/regional.fixed-annulus.high-jet-route.html b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/regional.fixed-annulus.high-jet-route.html index aea9c2cbf..a1fac22d8 100644 --- a/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/regional.fixed-annulus.high-jet-route.html +++ b/docs/site/snapshots/38ac44c585feb2f9a480d8e54ad1a7fe56ad35aff19e2eab929861ea81974644/nodes/regional.fixed-annulus.high-jet-route.html @@ -4,7 +4,7 @@ regional.fixed-annulus.high-jet-route · Research dependency atlas - +
diff --git a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/eng.d0-packet-allowlist-fix.html b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/eng.d0-packet-allowlist-fix.html index cf2e14b30..07a06f014 100644 --- a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/eng.d0-packet-allowlist-fix.html +++ b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/eng.d0-packet-allowlist-fix.html @@ -4,7 +4,7 @@ eng.d0-packet-allowlist-fix · Research dependency atlas - +
diff --git a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/eng.hard-gate.html b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/eng.hard-gate.html index 5b1626021..1401548cc 100644 --- a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/eng.hard-gate.html +++ b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/eng.hard-gate.html @@ -4,7 +4,7 @@ eng.hard-gate · Research dependency atlas - +
diff --git a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/eng.main-pr87-crosswalk.html b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/eng.main-pr87-crosswalk.html index 8a5d58045..d44acd453 100644 --- a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/eng.main-pr87-crosswalk.html +++ b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/eng.main-pr87-crosswalk.html @@ -4,7 +4,7 @@ eng.main-pr87-crosswalk · Research dependency atlas - +
diff --git a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/hist.ALLCELL-FDZ-Q4.html b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/hist.ALLCELL-FDZ-Q4.html index d670fc3c3..bd673f7e6 100644 --- a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/hist.ALLCELL-FDZ-Q4.html +++ b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/hist.ALLCELL-FDZ-Q4.html @@ -4,7 +4,7 @@ hist.ALLCELL-FDZ-Q4 · Research dependency atlas - +
diff --git a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/hist.CH-LIFT.html b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/hist.CH-LIFT.html index fd75d5f73..2d65d4f72 100644 --- a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/hist.CH-LIFT.html +++ b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/hist.CH-LIFT.html @@ -4,7 +4,7 @@ hist.CH-LIFT · Research dependency atlas - +
diff --git a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/hist.CL_ANTHROPIC_BUNDLE_2026-09-17_v5.zip.html b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/hist.CL_ANTHROPIC_BUNDLE_2026-09-17_v5.zip.html index 5dc472e4c..4da75dc17 100644 --- a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/hist.CL_ANTHROPIC_BUNDLE_2026-09-17_v5.zip.html +++ b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/hist.CL_ANTHROPIC_BUNDLE_2026-09-17_v5.zip.html @@ -4,7 +4,7 @@ hist.CL_ANTHROPIC_BUNDLE_2026-09-17_v5.zip · Research dependency atlas - +
diff --git a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/hist.ENV-RESCOV.html b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/hist.ENV-RESCOV.html index 0b3aa18cb..800badd51 100644 --- a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/hist.ENV-RESCOV.html +++ b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/hist.ENV-RESCOV.html @@ -4,7 +4,7 @@ hist.ENV-RESCOV · Research dependency atlas - +
diff --git a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/hist.LOGQ-TAIL.html b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/hist.LOGQ-TAIL.html index c8d41538f..4da4ddd82 100644 --- a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/hist.LOGQ-TAIL.html +++ b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/hist.LOGQ-TAIL.html @@ -4,7 +4,7 @@ hist.LOGQ-TAIL · Research dependency atlas - +
diff --git a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/hist.OBL-H5-JETMOD.html b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/hist.OBL-H5-JETMOD.html index ee9c888e9..965d686e2 100644 --- a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/hist.OBL-H5-JETMOD.html +++ b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/hist.OBL-H5-JETMOD.html @@ -4,7 +4,7 @@ hist.OBL-H5-JETMOD · Research dependency atlas - +
diff --git a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/hist.Piece-2-annulus.html b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/hist.Piece-2-annulus.html index f7c00f058..67659f336 100644 --- a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/hist.Piece-2-annulus.html +++ b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/hist.Piece-2-annulus.html @@ -4,7 +4,7 @@ hist.Piece-2-annulus · Research dependency atlas - +
diff --git a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/hist.SYM-Fw-jet.html b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/hist.SYM-Fw-jet.html index 7eaf1265d..32434a1db 100644 --- a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/hist.SYM-Fw-jet.html +++ b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/hist.SYM-Fw-jet.html @@ -4,7 +4,7 @@ hist.SYM-Fw-jet · Research dependency atlas - +
diff --git a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/hist.allcell_fdz_enclosures.json.html b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/hist.allcell_fdz_enclosures.json.html index 8a932bc04..1e2b2f115 100644 --- a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/hist.allcell_fdz_enclosures.json.html +++ b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/hist.allcell_fdz_enclosures.json.html @@ -4,7 +4,7 @@ hist.allcell_fdz_enclosures.json · Research dependency atlas - +
diff --git a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/hist.lemma_closed.html b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/hist.lemma_closed.html index b38c329dc..aa5698596 100644 --- a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/hist.lemma_closed.html +++ b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/hist.lemma_closed.html @@ -4,7 +4,7 @@ hist.lemma_closed · Research dependency atlas - +
diff --git a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/hist.rnu_env.py.html b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/hist.rnu_env.py.html index 97f342980..223122537 100644 --- a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/hist.rnu_env.py.html +++ b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/hist.rnu_env.py.html @@ -4,7 +4,7 @@ hist.rnu_env.py · Research dependency atlas - +
diff --git a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/index.html b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/index.html index 8565248e9..0e64d7375 100644 --- a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/index.html +++ b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/index.html @@ -4,7 +4,7 @@ Static graph and source index · Research dependency atlas - +
diff --git a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d1-component.congruence-erratum.html b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d1-component.congruence-erratum.html index 7cf14e05a..5210896f5 100644 --- a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d1-component.congruence-erratum.html +++ b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d1-component.congruence-erratum.html @@ -4,7 +4,7 @@ math.d1-component.congruence-erratum · Research dependency atlas - +
diff --git a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d1-component.marked-cylinder-cap.html b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d1-component.marked-cylinder-cap.html index 209bde55e..aa7d12125 100644 --- a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d1-component.marked-cylinder-cap.html +++ b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d1-component.marked-cylinder-cap.html @@ -4,7 +4,7 @@ math.d1-component.marked-cylinder-cap · Research dependency atlas - +
diff --git a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d1-component.reconciliation-record.html b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d1-component.reconciliation-record.html index fc374061a..5cd6fff14 100644 --- a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d1-component.reconciliation-record.html +++ b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d1-component.reconciliation-record.html @@ -4,7 +4,7 @@ math.d1-component.reconciliation-record · Research dependency atlas - +
diff --git a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d1-component.section9-replacement-v1_1.html b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d1-component.section9-replacement-v1_1.html index d2ae3e5b9..2bebcc874 100644 --- a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d1-component.section9-replacement-v1_1.html +++ b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d1-component.section9-replacement-v1_1.html @@ -4,7 +4,7 @@ math.d1-component.section9-replacement-v1_1 · Research dependency atlas - +
diff --git a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d5-component.annulus-proof.html b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d5-component.annulus-proof.html index 4806d5b4b..5f6747585 100644 --- a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d5-component.annulus-proof.html +++ b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d5-component.annulus-proof.html @@ -4,7 +4,7 @@ math.d5-component.annulus-proof · Research dependency atlas - +
diff --git a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d5-component.annulus-review.html b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d5-component.annulus-review.html index c48a42d1f..0f83476ed 100644 --- a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d5-component.annulus-review.html +++ b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d5-component.annulus-review.html @@ -4,7 +4,7 @@ math.d5-component.annulus-review · Research dependency atlas - +
diff --git a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d5-component.collar-proof.html b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d5-component.collar-proof.html index 2fc0fad8a..a549cd068 100644 --- a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d5-component.collar-proof.html +++ b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d5-component.collar-proof.html @@ -4,7 +4,7 @@ math.d5-component.collar-proof · Research dependency atlas - +
diff --git a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d5-component.collar-review.html b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d5-component.collar-review.html index 61cd49927..588417af6 100644 --- a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d5-component.collar-review.html +++ b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d5-component.collar-review.html @@ -4,7 +4,7 @@ math.d5-component.collar-review · Research dependency atlas - +
diff --git a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d5-component.i5-review-claude.html b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d5-component.i5-review-claude.html index 6f1687125..d8f3d15bb 100644 --- a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d5-component.i5-review-claude.html +++ b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d5-component.i5-review-claude.html @@ -4,7 +4,7 @@ math.d5-component.i5-review-claude · Research dependency atlas - +
diff --git a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d5-component.i5-review-xai.html b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d5-component.i5-review-xai.html index 6533c8158..63a0fbc76 100644 --- a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d5-component.i5-review-xai.html +++ b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d5-component.i5-review-xai.html @@ -4,7 +4,7 @@ math.d5-component.i5-review-xai · Research dependency atlas - +
diff --git a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d5-component.intermediate-window-proof.html b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d5-component.intermediate-window-proof.html index e595e7b56..8f2aea72c 100644 --- a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d5-component.intermediate-window-proof.html +++ b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d5-component.intermediate-window-proof.html @@ -4,7 +4,7 @@ math.d5-component.intermediate-window-proof · Research dependency atlas - +
diff --git a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d5-component.offpin-second-moment-review.html b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d5-component.offpin-second-moment-review.html index 6c06f2474..22c81b020 100644 --- a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d5-component.offpin-second-moment-review.html +++ b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d5-component.offpin-second-moment-review.html @@ -4,7 +4,7 @@ math.d5-component.offpin-second-moment-review · Research dependency atlas - +
diff --git a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d5-component.punctured-pin-continuum-check.html b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d5-component.punctured-pin-continuum-check.html index 4e63c7d26..8c0171f8e 100644 --- a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d5-component.punctured-pin-continuum-check.html +++ b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d5-component.punctured-pin-continuum-check.html @@ -4,7 +4,7 @@ math.d5-component.punctured-pin-continuum-check · Research dependency atlas - +
diff --git a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d5-component.punctured-pin-continuum-review.html b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d5-component.punctured-pin-continuum-review.html index 80e85e5f2..cbe28f993 100644 --- a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d5-component.punctured-pin-continuum-review.html +++ b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d5-component.punctured-pin-continuum-review.html @@ -4,7 +4,7 @@ math.d5-component.punctured-pin-continuum-review · Research dependency atlas - +
diff --git a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d5-component.punctured-pin-proof.html b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d5-component.punctured-pin-proof.html index b2e4a62e8..c5472e62d 100644 --- a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d5-component.punctured-pin-proof.html +++ b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d5-component.punctured-pin-proof.html @@ -4,7 +4,7 @@ math.d5-component.punctured-pin-proof · Research dependency atlas - +
diff --git a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d5-component.punctured-pin-review-111.html b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d5-component.punctured-pin-review-111.html index c82f601e6..21e7189f1 100644 --- a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d5-component.punctured-pin-review-111.html +++ b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d5-component.punctured-pin-review-111.html @@ -4,7 +4,7 @@ math.d5-component.punctured-pin-review-111 · Research dependency atlas - +
diff --git a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d5-component.remote-window-proof.html b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d5-component.remote-window-proof.html index 430fa88c6..3e95ee61a 100644 --- a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d5-component.remote-window-proof.html +++ b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d5-component.remote-window-proof.html @@ -4,7 +4,7 @@ math.d5-component.remote-window-proof · Research dependency atlas - +
diff --git a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d5-pin-neighborhood-first-moment.html b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d5-pin-neighborhood-first-moment.html index 65acfb853..204f3529f 100644 --- a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d5-pin-neighborhood-first-moment.html +++ b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.d5-pin-neighborhood-first-moment.html @@ -4,7 +4,7 @@ math.d5-pin-neighborhood-first-moment · Research dependency atlas - +
diff --git a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.lifetime-remainder.html b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.lifetime-remainder.html index 7420bddb8..7a67911de 100644 --- a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.lifetime-remainder.html +++ b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.lifetime-remainder.html @@ -4,7 +4,7 @@ math.lifetime-remainder · Research dependency atlas - +
diff --git a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.p15-full-price.html b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.p15-full-price.html index b0f65cf83..32e188c75 100644 --- a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.p15-full-price.html +++ b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.p15-full-price.html @@ -4,7 +4,7 @@ math.p15-full-price · Research dependency atlas - +
diff --git a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.p15-price-boundary.html b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.p15-price-boundary.html index 365a72d57..344bb67cc 100644 --- a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.p15-price-boundary.html +++ b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.p15-price-boundary.html @@ -4,7 +4,7 @@ math.p15-price-boundary · Research dependency atlas - +
diff --git a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.rn-count-interface.html b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.rn-count-interface.html index 17d70a4ba..81ff84588 100644 --- a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.rn-count-interface.html +++ b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.rn-count-interface.html @@ -4,7 +4,7 @@ math.rn-count-interface · Research dependency atlas - +
diff --git a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.rn-fixed-annulus-window.html b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.rn-fixed-annulus-window.html index 040d37859..2e686445c 100644 --- a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.rn-fixed-annulus-window.html +++ b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.rn-fixed-annulus-window.html @@ -4,7 +4,7 @@ math.rn-fixed-annulus-window · Research dependency atlas - +
diff --git a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.rn-fixed-remote-window.html b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.rn-fixed-remote-window.html index 5efc977d7..dc3264254 100644 --- a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.rn-fixed-remote-window.html +++ b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.rn-fixed-remote-window.html @@ -4,7 +4,7 @@ math.rn-fixed-remote-window · Research dependency atlas - +
diff --git a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.rn-mesoscopic-reduction.html b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.rn-mesoscopic-reduction.html index 734265499..f79e7a982 100644 --- a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.rn-mesoscopic-reduction.html +++ b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.rn-mesoscopic-reduction.html @@ -4,7 +4,7 @@ math.rn-mesoscopic-reduction · Research dependency atlas - +
diff --git a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.rn-region.fixed-annulus-window.html b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.rn-region.fixed-annulus-window.html index bb6a48fea..d7c82aa15 100644 --- a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.rn-region.fixed-annulus-window.html +++ b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.rn-region.fixed-annulus-window.html @@ -4,7 +4,7 @@ math.rn-region.fixed-annulus-window · Research dependency atlas - +
diff --git a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.rn-region.fixed-remote.html b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.rn-region.fixed-remote.html index a987412d2..3c0c0f91c 100644 --- a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.rn-region.fixed-remote.html +++ b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.rn-region.fixed-remote.html @@ -4,7 +4,7 @@ math.rn-region.fixed-remote · Research dependency atlas - +
diff --git a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.rn-region.intermediate-r-to-rho.html b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.rn-region.intermediate-r-to-rho.html index 4e1429ab9..6e344f7d8 100644 --- a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.rn-region.intermediate-r-to-rho.html +++ b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.rn-region.intermediate-r-to-rho.html @@ -4,7 +4,7 @@ math.rn-region.intermediate-r-to-rho · Research dependency atlas - +
diff --git a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.rn-region.mesoscopic-scaled-annulus.html b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.rn-region.mesoscopic-scaled-annulus.html index ccb5b7c83..d74262cc3 100644 --- a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.rn-region.mesoscopic-scaled-annulus.html +++ b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.rn-region.mesoscopic-scaled-annulus.html @@ -4,7 +4,7 @@ math.rn-region.mesoscopic-scaled-annulus · Research dependency atlas - +
diff --git a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.rn-region.pin-collision.html b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.rn-region.pin-collision.html index 033110d20..059c8e190 100644 --- a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.rn-region.pin-collision.html +++ b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.rn-region.pin-collision.html @@ -4,7 +4,7 @@ math.rn-region.pin-collision · Research dependency atlas - +
diff --git a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.rn-region.witness-collision.html b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.rn-region.witness-collision.html index 1794d96fb..0fcff3afd 100644 --- a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.rn-region.witness-collision.html +++ b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.rn-region.witness-collision.html @@ -4,7 +4,7 @@ math.rn-region.witness-collision · Research dependency atlas - +
diff --git a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.rn-selector-region-crosswalk.html b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.rn-selector-region-crosswalk.html index c6652e8cc..b081326e8 100644 --- a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.rn-selector-region-crosswalk.html +++ b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.rn-selector-region-crosswalk.html @@ -4,7 +4,7 @@ math.rn-selector-region-crosswalk · Research dependency atlas - +
diff --git a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.side24-coefficient.html b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.side24-coefficient.html index 633d1620e..0265d7c24 100644 --- a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.side24-coefficient.html +++ b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.side24-coefficient.html @@ -4,7 +4,7 @@ math.side24-coefficient · Research dependency atlas - +
diff --git a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.uniform-matrix-cap-lifetime.html b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.uniform-matrix-cap-lifetime.html index a61a926b3..a6566336c 100644 --- a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.uniform-matrix-cap-lifetime.html +++ b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/math.uniform-matrix-cap-lifetime.html @@ -4,7 +4,7 @@ math.uniform-matrix-cap-lifetime · Research dependency atlas - +
diff --git a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/regional.fixed-annulus.high-jet-route.html b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/regional.fixed-annulus.high-jet-route.html index 9e6855b2d..7c47aecb1 100644 --- a/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/regional.fixed-annulus.high-jet-route.html +++ b/docs/site/snapshots/7c583e28878d2bf2c94bf37325820bd5eb1e7f3f557e8a78dd27881a27f6548c/nodes/regional.fixed-annulus.high-jet-route.html @@ -4,7 +4,7 @@ regional.fixed-annulus.high-jet-route · Research dependency atlas - +
diff --git a/docs/site/workspace.html b/docs/site/workspace.html index 6e3d1257c..a631e44f6 100644 --- a/docs/site/workspace.html +++ b/docs/site/workspace.html @@ -5,12 +5,12 @@ Library and research workspace · Universal Law - - - + + + - - + + diff --git a/tests/test_current_site.mjs b/tests/test_current_site.mjs index bb9356fee..a687aa449 100644 --- a/tests/test_current_site.mjs +++ b/tests/test_current_site.mjs @@ -212,3 +212,14 @@ test('admitted 10000-node 50000-edge shared fanout indexes exact reverse reach a } assert.deepEqual(m.requiredDependencyWindow(a).segments.map(s=>s.ids),m.requiredDependencyPaths(g,'root').slice(0,75).map(r=>r.ids)); }); + +test('snapshot index reads the source edge collection once and repeated pages never rebuild BFS',()=>{ + const source=chainFixture(400);let reads=0,iterations=0; + const edges=new Proxy(source.edges,{get(target,key,receiver){if(key===Symbol.iterator)return function*(){for(const edge of target){iterations++;yield edge;}};return Reflect.get(target,key,receiver);}}); + const graph={nodes:source.nodes,get edges(){reads++;return edges;}}; + const analysis=m.requiredDependencyAnalysis(graph,'chain.00000');assert.equal(reads,1);assert.equal(iterations,399);assert.equal(analysis.traversedEdges,399); + for(const page of [1,25,500,1])m.requiredDependencyWindow(analysis,{page}); + for(const id of ['chain.00010','chain.00399']){m.downstreamReach(graph,id);m.downstreamReachCounts(graph,id);m.directRelationWindow(graph,id,'incoming');} + assert.equal(m.requiredDependencyAnalysis(graph,'chain.00000'),analysis);assert.equal(reads,1);assert.equal(iterations,399); + assert.equal(analysis.targets.some(target=>'ids' in target||'edges' in target),false); +}); diff --git a/tools/current_site_browser_check.py b/tools/current_site_browser_check.py index b847448ea..ede973054 100644 --- a/tools/current_site_browser_check.py +++ b/tools/current_site_browser_check.py @@ -179,7 +179,10 @@ def valid_share(checkpoint,node): except Exception:case['error']=traceback.format_exc() case={'case':'synthetic-large-render-window','passed':False,'scope':'Synthetic display fixture only; does not describe the research corpus or source acquisition.'};report['cases'].append(case);context=browser.new_context();page=context.new_page() try: - synthetic=json.loads(json.dumps(data));nodes={'fixture.root':{'kind':'candidate','classification':'OPEN_ACTIVE','layer':'D1'}};nodes.update({f'fixture.node{i:04d}':{'kind':'candidate','classification':'OPEN_ACTIVE','layer':'D1'} for i in range(1000)});synthetic['graph']['data']['nodes']=nodes;synthetic['graph']['data']['edges']=[{'from':'fixture.root','to':node,'required':True,'relation':'synthetic_required_fixture'} for node in nodes if node!='fixture.root'];fixture_raw=json.dumps(synthetic,ensure_ascii=False).encode();fixture_sha=sha256(fixture_raw).hexdigest();html=(ROOT/'docs/site/dependencies.html').read_text().replace(report['source_payload_sha256'],fixture_sha).replace(f'data-current-bytes="{len(raw)}"',f'data-current-bytes="{len(fixture_raw)}"');page.route('**/dependencies.html?*',lambda route:route.fulfill(status=200,content_type='text/html',body=html));page.route('**/current.json',lambda route:route.fulfill(status=200,content_type='application/json',body=fixture_raw));started=time.perf_counter();page.goto(origin+'dependencies.html?atlas-node=fixture.root&atlas-view=list');expect(page.locator('#atlas-list button')).to_have_count(150);expect(page.locator('#atlas-count')).to_contain_text('1001 nodes in the loaded neighborhood');expect(page.locator('#atlas-count')).to_contain_text('851 outside this page');first=page.locator('#atlas-list button').evaluate_all('(nodes)=>nodes.map(n=>n.firstChild.textContent)');page.locator('#atlas-next').click();expect(page.locator('#atlas-count')).to_contain_text('851 outside this page');second=page.locator('#atlas-list button').evaluate_all('(nodes)=>nodes.map(n=>n.firstChild.textContent)');require(not set(first)&set(second),'Paged large fixture duplicated the first window');page.locator('#atlas-previous').click();require(first==page.locator('#atlas-list button').evaluate_all('(nodes)=>nodes.map(n=>n.firstChild.textContent)'),'Previous window is not deterministic');case['load_and_page_seconds']=round(time.perf_counter()-started,3);session=context.new_cdp_session(page);session.send('Performance.enable');case['js_heap_bytes']=next((m['value'] for m in session.send('Performance.getMetrics')['metrics'] if m['name']=='JSHeapUsedSize'),None);case['fixture_bytes']=len(fixture_raw);case['fixture_sha256']=fixture_sha;case['indexed_nodes']=len(nodes);case['rendered_nodes']=150;case['passed']=True + synthetic=json.loads(json.dumps(data));nodes={'fixture.root':{'kind':'candidate','classification':'OPEN_ACTIVE','layer':'D1'}};nodes.update({f'fixture.node{i:04d}':{'kind':'candidate','classification':'OPEN_ACTIVE','layer':'D1'} for i in range(1000)});synthetic['graph']['data']['nodes']=nodes;synthetic['graph']['data']['edges']=[{'from':'fixture.root','to':node,'required':True,'relation':'synthetic_required_fixture'} for node in nodes if node!='fixture.root'];fixture_raw=json.dumps(synthetic,ensure_ascii=False).encode();fixture_sha=sha256(fixture_raw).hexdigest();html=(ROOT/'docs/site/dependencies.html').read_text().replace(report['source_payload_sha256'],fixture_sha).replace(f'data-current-bytes="{len(raw)}"',f'data-current-bytes="{len(fixture_raw)}"');page.route('**/dependencies.html?*',lambda route:route.fulfill(status=200,content_type='text/html',body=html));page.route('**/current.json',lambda route:route.fulfill(status=200,content_type='application/json',body=fixture_raw));started=time.perf_counter();page.goto(origin+'dependencies.html?atlas-node=fixture.root&atlas-view=list');expect(page.locator('#atlas-list button')).to_have_count(150);expect(page.locator('#atlas-count')).to_contain_text('1001 nodes in the loaded neighborhood');expect(page.locator('#atlas-count')).to_contain_text('851 outside this page');first=page.locator('#atlas-list button').evaluate_all('(nodes)=>nodes.map(n=>n.firstChild.textContent)');page.locator('#atlas-next').click();expect(page.locator('#atlas-count')).to_contain_text('851 outside this page');second=page.locator('#atlas-list button').evaluate_all('(nodes)=>nodes.map(n=>n.firstChild.textContent)');require(not set(first)&set(second),'Paged large fixture duplicated the first window');page.locator('#atlas-previous').click();require(first==page.locator('#atlas-list button').evaluate_all('(nodes)=>nodes.map(n=>n.firstChild.textContent)'),'Previous window is not deterministic');case['load_and_page_seconds']=round(time.perf_counter()-started,3);session=context.new_cdp_session(page);session.send('Performance.enable');case['js_heap_bytes']=next((m['value'] for m in session.send('Performance.getMetrics')['metrics'] if m['name']=='JSHeapUsedSize'),None);case['fixture_bytes']=len(fixture_raw);case['fixture_sha256']=fixture_sha;case['indexed_nodes']=len(nodes);case['rendered_nodes']=150 + expect(page.locator('#atlas-route-count')).to_contain_text('2000 route-node occurrences');require(page.locator('#atlas-route-list button').count()==150,'Existing large fixture exceeds route bound');require(page.locator('#atlas-consumes-list > li[data-relation-row]').count()==150,'Existing large fixture exceeds neighbor bound') + page.locator('#atlas-routes > summary').click();page.locator('#atlas-route-last').click();expect(page.locator('#atlas-route-page')).to_have_value('14');require(page.locator('#atlas-route-list button').count()==50,'Existing large fixture last route page incomplete');page.locator('#atlas-route-first').click();expect(page.locator('#atlas-route-page')).to_have_value('1') + page.locator('#atlas-consumes-last').click();require(page.locator('#atlas-consumes-list > li[data-relation-row]').count()==100,'Existing large fixture last neighbor page incomplete');case['passed']=True except Exception:case['error']=traceback.format_exc() finally:context.close() # NEW successor controls: synthetic current payloads enter through @@ -224,6 +227,7 @@ def measured_heap(context,page): page.locator('#atlas-collapse').click();expect(page.locator('#atlas-search')).to_have_value('');require(all(parse_qs(urlsplit(page.url).query).get(k)==[v] for k,v in filters.items()),'Collapse cleared metadata filters') page.locator('#atlas-reset').click();expect(page.locator('#atlas-inspector h3')).to_have_text('filter.keep');params=parse_qs(urlsplit(page.url).query);require(all(k not in params for k in filters),'Reset retained current filters');require(params.get('classification')==['HOLD'] and params.get('q')==['historical'],'Reset changed historical namespace');expect(page.locator('#equation-content pre')).to_have_text(data['equations'][0]['text']) page.goto(address.replace('atlas-kind=candidate','atlas-kind=UNKNOWN'));expect(page.locator('#atlas-list button')).to_have_count(0);expect(page.locator('#atlas-count')).to_contain_text('kind=UNKNOWN');expect(page.locator('#atlas-count')).to_contain_text('No nodes match');expect(page.locator('#atlas-inspector h3')).to_have_text('filter.root');expect(page.locator('#equation-content pre')).to_have_text(data['equations'][0]['text']) + refused=address.replace('#search-heading','&main-snapshot='+'c'*40+'#search-heading');page.goto(refused);expect(page.locator('#atlas-error')).to_contain_text('another snapshot');require(page.url==refused and page.locator('#atlas-share').get_attribute('href')==refused,'Filtered initial refusal changed exact URL or Share');expect(page.locator('#atlas-list button')).to_have_count(0);expect(page.locator('#equation-content pre')).to_have_count(0) require(not case['page_errors'],f'Page errors: {case["page_errors"]}');case['passed']=True except Exception:case['error']=traceback.format_exc() finally:context.close() From e80f370e28a32eda18c7364cd92c36919db21e4a Mon Sep 17 00:00:00 2001 From: Dylan Roy <249851642+d6g8k5htny-coder@users.noreply.github.com> Date: Wed, 14 Oct 2026 13:31:38 -0500 Subject: [PATCH 4/4] test(atlas): verify route-page history and synthetic page errors --- tools/current_site_browser_check.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/tools/current_site_browser_check.py b/tools/current_site_browser_check.py index ede973054..1b60543c1 100644 --- a/tools/current_site_browser_check.py +++ b/tools/current_site_browser_check.py @@ -177,12 +177,12 @@ def valid_share(checkpoint,node): context=browser.new_context(viewport={'width':width,'height':900},forced_colors='active',reduced_motion='reduce');page=context.new_page();page.goto(origin+'dependencies.html?atlas-node=math.p15-full-price&atlas-view=list');expect(page.locator('#atlas-inspector h3')).to_have_text('math.p15-full-price');page.evaluate("(()=>{const entries=[document.documentElement,document.body,...document.querySelectorAll('body *')].map(e=>[e,parseFloat(getComputedStyle(e).fontSize)]);for(const [e,n] of entries)e.style.setProperty('font-size',n*2+'px','important');})()");page.locator('#atlas-reset').focus();page.keyboard.press('Enter');dimensions=page.evaluate('({width:innerWidth,document:document.documentElement.scrollWidth,font:parseFloat(getComputedStyle(document.body).fontSize)})');require(dimensions['font']>=30,'Text did not enlarge to 200 percent');require(dimensions['document']<=dimensions['width'],f'Enlarged text document overflow: {dimensions}');require(page.locator('#atlas-next').is_visible() and page.locator('#equation-search').is_visible(),'Essential controls lost after enlargement');page.locator('#atlas-view').select_option('graph');require(page.locator('.atlas-edge.context').first.evaluate('(e)=>getComputedStyle(e).strokeDasharray') not in ['none',''],'Context edge loses monochrome pattern');expect(page.locator('#atlas-count')).to_contain_text('Solid arrows: required; dashed arrows: context');path=args.output/f'enlarged-{width}.png';page.locator('#current-atlas').screenshot(path=str(path));context.close() case['passed']=True except Exception:case['error']=traceback.format_exc() - case={'case':'synthetic-large-render-window','passed':False,'scope':'Synthetic display fixture only; does not describe the research corpus or source acquisition.'};report['cases'].append(case);context=browser.new_context();page=context.new_page() + case={'case':'synthetic-large-render-window','passed':False,'scope':'Synthetic display fixture only; does not describe the research corpus or source acquisition.','page_errors':[]};report['cases'].append(case);context=browser.new_context();page=context.new_page();page.on('pageerror',lambda e:case['page_errors'].append(str(e))) try: synthetic=json.loads(json.dumps(data));nodes={'fixture.root':{'kind':'candidate','classification':'OPEN_ACTIVE','layer':'D1'}};nodes.update({f'fixture.node{i:04d}':{'kind':'candidate','classification':'OPEN_ACTIVE','layer':'D1'} for i in range(1000)});synthetic['graph']['data']['nodes']=nodes;synthetic['graph']['data']['edges']=[{'from':'fixture.root','to':node,'required':True,'relation':'synthetic_required_fixture'} for node in nodes if node!='fixture.root'];fixture_raw=json.dumps(synthetic,ensure_ascii=False).encode();fixture_sha=sha256(fixture_raw).hexdigest();html=(ROOT/'docs/site/dependencies.html').read_text().replace(report['source_payload_sha256'],fixture_sha).replace(f'data-current-bytes="{len(raw)}"',f'data-current-bytes="{len(fixture_raw)}"');page.route('**/dependencies.html?*',lambda route:route.fulfill(status=200,content_type='text/html',body=html));page.route('**/current.json',lambda route:route.fulfill(status=200,content_type='application/json',body=fixture_raw));started=time.perf_counter();page.goto(origin+'dependencies.html?atlas-node=fixture.root&atlas-view=list');expect(page.locator('#atlas-list button')).to_have_count(150);expect(page.locator('#atlas-count')).to_contain_text('1001 nodes in the loaded neighborhood');expect(page.locator('#atlas-count')).to_contain_text('851 outside this page');first=page.locator('#atlas-list button').evaluate_all('(nodes)=>nodes.map(n=>n.firstChild.textContent)');page.locator('#atlas-next').click();expect(page.locator('#atlas-count')).to_contain_text('851 outside this page');second=page.locator('#atlas-list button').evaluate_all('(nodes)=>nodes.map(n=>n.firstChild.textContent)');require(not set(first)&set(second),'Paged large fixture duplicated the first window');page.locator('#atlas-previous').click();require(first==page.locator('#atlas-list button').evaluate_all('(nodes)=>nodes.map(n=>n.firstChild.textContent)'),'Previous window is not deterministic');case['load_and_page_seconds']=round(time.perf_counter()-started,3);session=context.new_cdp_session(page);session.send('Performance.enable');case['js_heap_bytes']=next((m['value'] for m in session.send('Performance.getMetrics')['metrics'] if m['name']=='JSHeapUsedSize'),None);case['fixture_bytes']=len(fixture_raw);case['fixture_sha256']=fixture_sha;case['indexed_nodes']=len(nodes);case['rendered_nodes']=150 expect(page.locator('#atlas-route-count')).to_contain_text('2000 route-node occurrences');require(page.locator('#atlas-route-list button').count()==150,'Existing large fixture exceeds route bound');require(page.locator('#atlas-consumes-list > li[data-relation-row]').count()==150,'Existing large fixture exceeds neighbor bound') page.locator('#atlas-routes > summary').click();page.locator('#atlas-route-last').click();expect(page.locator('#atlas-route-page')).to_have_value('14');require(page.locator('#atlas-route-list button').count()==50,'Existing large fixture last route page incomplete');page.locator('#atlas-route-first').click();expect(page.locator('#atlas-route-page')).to_have_value('1') - page.locator('#atlas-consumes-last').click();require(page.locator('#atlas-consumes-list > li[data-relation-row]').count()==100,'Existing large fixture last neighbor page incomplete');case['passed']=True + page.locator('#atlas-consumes-last').click();require(page.locator('#atlas-consumes-list > li[data-relation-row]').count()==100,'Existing large fixture last neighbor page incomplete');require(not case['page_errors'],f'Page errors: {case["page_errors"]}');case['passed']=True except Exception:case['error']=traceback.format_exc() finally:context.close() # NEW successor controls: synthetic current payloads enter through @@ -255,9 +255,12 @@ def route_checkpoint(label,expected_page): page.locator('#atlas-route-last').focus();page.keyboard.press('Enter');route_checkpoint('last',pages) page.locator('#atlas-route-previous').click();route_checkpoint('previous',pages-1);page.locator('#atlas-route-next').click();route_checkpoint('last-again',pages) shared=page.locator('#atlas-share').get_attribute('href');require(parse_qs(urlsplit(shared).query).get('atlas-route-page')==[str(pages)],'Share dropped route page');page.reload();expect(page.locator('#atlas-route-page')).to_have_value(str(pages));page.locator('#atlas-routes > summary').click();route_checkpoint('reloaded-last',pages) + history_url=page.url;page.locator('#atlas-route-list button').last.click();expect(page.locator('#atlas-inspector h3')).to_have_text(ids[-1]);expect(page.locator('#atlas-route-page')).to_have_value('1') + page.go_back();expect(page.locator('#atlas-inspector h3')).to_have_text(ids[0]);expect(page.locator('#atlas-route-page')).to_have_value(str(pages));require(page.url==history_url,'Back rewrote the exact saved route-page address') + page.go_forward();expect(page.locator('#atlas-inspector h3')).to_have_text(ids[-1]);expect(page.locator('#atlas-route-page')).to_have_value('1');page.go_back();expect(page.locator('#atlas-inspector h3')).to_have_text(ids[0]);expect(page.locator('#atlas-route-page')).to_have_value(str(pages)) if shape=='chain': require(page.locator('#atlas-route-list button').last.evaluate('(e)=>e.firstChild.textContent')==ids[-1],'Last route segment omitted final target') - expect(page.locator('#atlas-route-list [data-route-edge]').last).to_contain_text(ids[-2]+' → '+ids[-1]) + expect(page.locator('#atlas-route-list [data-route-edge]').last).to_contain_text(ids[-2]+' → '+ids[-1]);page.locator('#atlas-collapse').click();expect(page.locator('#atlas-route-page')).to_have_value('1');expect(page.locator('#atlas-inspector h3')).to_have_text(ids[0]) else: expect(page.locator('#atlas-consumes-count')).to_contain_text('9999 relations');page.locator('#atlas-consumes-last').click();require(page.locator('#atlas-consumes-list > li[data-relation-row]').count()==99,'Last outgoing relation page is incomplete');page.locator('#atlas-consumes-first').click();require(page.locator('#atlas-consumes-list > li[data-relation-row]').count()==150,'First outgoing relation page changed') page.goto(origin+'dependencies.html?atlas-node='+ids[-1]+'&atlas-view=list');expect(page.locator('#atlas-consumed-by-count')).to_contain_text('40002 relations');expect(page.locator('#atlas-reach')).to_contain_text('all edges: 9999');expect(page.locator('#atlas-reach')).to_contain_text('required edges: 5000');page.locator('#atlas-consumed-by-last').click();require(page.locator('#atlas-consumed-by-list > li[data-relation-row]').count()==102,'Last incoming relation page is incomplete')