Add frozen 15-method causal well validation comparison and preserved portability failures
Browse files- README.md +15 -0
- foundation-validation.html +39 -0
- foundation-validation.js +51 -0
- foundation-validation.json +0 -0
- index.html +1 -0
README.md
CHANGED
|
@@ -26,3 +26,18 @@ no field data, and does not score any reserved well groups. Its linked replay
|
|
| 26 |
kit retains Apache 2.0 pretrained weights/code and MIT authored adaptation.
|
| 27 |
The eleven original candidate data and old publication manifest are preserved;
|
| 28 |
this methods addition has its own `TSPULSE-CONTENT-MANIFEST.json`.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 26 |
kit retains Apache 2.0 pretrained weights/code and MIT authored adaptation.
|
| 27 |
The eleven original candidate data and old publication manifest are preserved;
|
| 28 |
this methods addition has its own `TSPULSE-CONTENT-MANIFEST.json`.
|
| 29 |
+
|
| 30 |
+
|
| 31 |
+
## Separate full causal foundation validation comparison
|
| 32 |
+
|
| 33 |
+
[Inspect all fifteen retained methods](https://sankalpsthakur-well-event-transfer-audit.static.hf.space/foundation-validation.html),
|
| 34 |
+
common/native eligibility, eight filename groups, all twenty-four labelled
|
| 35 |
+
episodes and group uncertainty. The original included CPU first phase is
|
| 36 |
+
COMPLETE; the separate Mac portability audit remains FAILED on both TCNs.
|
| 37 |
+
Full pretrained TSPulse finds no new validation onset within 300 seconds at
|
| 38 |
+
its selected budget. Eleven of the primary logistic's thirteen onset discoveries
|
| 39 |
+
come from one filename group. No candidate is promoted.
|
| 40 |
+
|
| 41 |
+
This static browser displays frozen validation results. Eight reserved groups
|
| 42 |
+
remain unopened; no live inference, plant access or command path is present.
|
| 43 |
+
Original confirmation results remain a separate unchanged study.
|
foundation-validation.html
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!doctype html>
|
| 2 |
+
<html lang="en">
|
| 3 |
+
<head>
|
| 4 |
+
<meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1">
|
| 5 |
+
<meta name="description" content="Inspect fifteen retained causal well-event models, group concentration, false alarms and failed checkpoint portability. Validation only; reserved confirmation remains unopened.">
|
| 6 |
+
<title>Causal well-model comparison · validation audit</title>
|
| 7 |
+
<style>
|
| 8 |
+
:root{color-scheme:light;--ink:#17272c;--muted:#52666d;--paper:#f4f5ef;--line:#d9dfd7;--red:#a72b25;--blue:#165c70;--amber:#815719}
|
| 9 |
+
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 system-ui,-apple-system,sans-serif}main{max-width:1200px;margin:auto;padding:32px 28px 60px}h1{font:clamp(2.1rem,4vw,3.5rem)/1.12 Georgia,serif;max-width:900px;margin:14px 0}h2{font:1.7rem/1.2 Georgia,serif;margin:34px 0 12px}h3{font-size:1rem;margin:0 0 12px}p{max-width:910px}a{color:var(--blue);text-underline-offset:3px}a:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:3px}header{border-bottom:1px solid var(--line);padding-bottom:20px}.eyebrow{color:var(--blue);font-size:.76rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700}.muted,.small{color:var(--muted)}.small{font-size:.83rem}.badges{display:flex;gap:8px;flex-wrap:wrap}.badge{padding:5px 10px;border:1px solid #e9bab1;border-radius:4px;background:#f8e4df;color:var(--red);font-size:.82rem;font-weight:650}.badge.neutral{background:#edf0e9;color:var(--ink);border-color:var(--line)}.notice{padding:18px 20px;border-left:4px solid var(--red);background:#fffaf4;margin:22px 0}.controls{display:flex;gap:18px;align-items:end;flex-wrap:wrap;margin:24px 0}label{display:block;font-size:.85rem;font-weight:650;margin:0 0 7px}select{font:inherit;padding:11px;border:1px solid #83969b;border-radius:4px;color:var(--ink);background:white;max-width:100%}#candidate{width:420px}#cohort{width:290px}#group-filter{width:260px}.meta{font-size:.86rem;color:var(--muted);margin:12px 0;overflow-wrap:anywhere}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.card,.panel{background:white;border:1px solid var(--line);padding:18px}.value{font-size:2rem;line-height:1.25;font-weight:650;margin:7px 0;letter-spacing:-.035em}.panels{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}.metric{margin:15px 0}.metric-head{display:flex;justify-content:space-between;gap:8px;font-size:.9rem}.track{height:8px;background:#edf0e9;margin:7px 0}.fill{height:100%;background:var(--blue)}.fill.bad{background:var(--red)}.scroll{overflow-x:auto;background:white;border:1px solid var(--line)}table{border-collapse:collapse;width:100%;font-size:.85rem;min-width:910px}th,td{padding:11px 13px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:.75rem;letter-spacing:.02em;color:var(--muted);background:#edf0e9}caption{text-align:left;padding:12px;font-size:.82rem;color:var(--muted)}tr.selected{background:#e9f0ef}tr.warn{background:#fff3e9}.links{display:flex;gap:12px 22px;flex-wrap:wrap;margin:18px 0}code{font-size:.8rem;overflow-wrap:anywhere}.digest{overflow-wrap:anywhere}.truth{border-top:1px solid var(--line);margin-top:34px;padding-top:20px;font-size:.86rem;color:var(--muted)}details{margin-top:18px}summary{cursor:pointer;font-weight:650}.error{padding:20px;background:#f8e4df;color:var(--red)}[hidden]{display:none!important}@media(max-width:780px){main{padding:24px 18px}.cards{grid-template-columns:1fr 1fr}.panels{grid-template-columns:1fr}.value{font-size:1.65rem}.controls>div{width:100%}#candidate,#cohort,#group-filter{width:100%}.panel{padding:18px}}
|
| 10 |
+
</style>
|
| 11 |
+
</head>
|
| 12 |
+
<body><main>
|
| 13 |
+
<header><a href="index.html">← Original confirmation audit</a><div class="eyebrow">Public 3W research · Separately frozen foundation study</div><h1>Which well-event model earns a second look?</h1><p class="muted">Compare fifteen retained methods on the same causal decision grid. Inspect false alarms, missing-data abstention and individual groups before interpreting a headline score.</p><div class="badges"><span class="badge">Validation only</span><span class="badge">Industrial deployment unqualified</span><span class="badge neutral">8 reserved groups unopened</span></div></header>
|
| 14 |
+
<div class="notice"><strong>The apparent winner is concentrated in one group.</strong><br>The selected logistic discovers 13/24 known onsets within 300 seconds; 11 come from one filename group. Full pretrained TSPulse finds no new onset at its selected alarm budget. Both TCNs fail the separate strict Mac checkpoint replay. None is promoted.</div>
|
| 15 |
+
<p class="small">These are production-event indications after labelled onset, not pre-onset forecasting, physical well diagnosis or a controller. Public filename groups do not authenticate physical well identity; public-pretraining contamination remains unresolved.</p>
|
| 16 |
+
<noscript><div class="error">Enable JavaScript to inspect saved results. The repository report and original archive remain available at <a href="https://huggingface.co/sankalpsthakur/well-production-event-causal/tree/main/foundation-validation">the research module</a>.</div></noscript>
|
| 17 |
+
<div id="load-state" role="status">Loading the frozen result audit…</div>
|
| 18 |
+
<div id="audit" hidden>
|
| 19 |
+
<div class="controls"><div><label for="candidate">Retained method</label><select id="candidate"></select></div><div><label for="cohort">Eligibility denominator</label><select id="cohort"><option value="common">Common support · all 15 methods</option><option value="native">Native support · selected method</option></select></div></div>
|
| 20 |
+
<p id="candidate-meta" class="meta" aria-live="polite"></p><p id="cohort-note" class="small"></p>
|
| 21 |
+
<section class="cards" aria-label="Selected validation results">
|
| 22 |
+
<div class="card"><div>Episode coverage</div><div class="value" id="coverage"></div><div class="small" id="coverage-detail"></div></div>
|
| 23 |
+
<div class="card"><div>New onset within 300s</div><div class="value" id="onset"></div><div class="small" id="onset-detail"></div></div>
|
| 24 |
+
<div class="card"><div>False alarms / normal day</div><div class="value" id="false-rate"></div><div class="small" id="false-detail"></div></div>
|
| 25 |
+
<div class="card"><div>Normal time in alarm</div><div class="value" id="occupation"></div><div class="small" id="occupation-detail"></div></div>
|
| 26 |
+
</section>
|
| 27 |
+
<div class="panels"><section class="panel"><h3>What the input supports</h3><div id="eligibility-bars"></div><p id="exposure-note" class="small"></p><p class="small">Unknown labels, warmup and unusable inputs are not correct normal predictions. Full-grid and eligible denominators are retained separately.</p></section><section class="panel"><h3>Does the saved checkpoint reproduce?</h3><p id="reload-result"></p><p id="reload-detail" class="small"></p><p class="small">The included Linux job completed. The separate Mac audit remains <strong>FAILED</strong>: thirteen arms pass; both TCNs fail. A reproducible validation score alone does not establish physical transfer.</p><a id="checkpoint-link">Inspect the unchanged checkpoint</a></section></div>
|
| 28 |
+
<h2>All fifteen retained methods</h2><p class="small">Thresholds and the primary method were selected on validation. Both alarm budgets must be ≤1 false alarm per eligible normal day and ≤1% eligible normal time in alarm, with ≥0.5 eligible normal days. Disabled alarms remain visible and do not qualify a useful detector. The same frozen thresholds apply to both displayed cohorts.</p>
|
| 29 |
+
<div class="scroll"><table><caption id="all-caption"></caption><thead><tr><th>Method</th><th>Episode coverage</th><th>New onset ≤300s</th><th>False alarms/day</th><th>Normal time in alarm</th><th>Selected alarm</th><th>Mac replay</th></tr></thead><tbody id="all-models"></tbody></table></div>
|
| 30 |
+
<h2>Where the outcome comes from</h2><p class="small">Eight validation filename groups; rows with no eligible normal exposure have no false-alarm rate. They are not zero-risk evidence.</p><div class="scroll"><table><caption id="group-caption"></caption><thead><tr><th>Filename group</th><th>Coverage</th><th>New onset ≤300s</th><th>Carried-in coverage</th><th>False alarms/day</th><th>Normal time in alarm</th><th>Normal eligibility</th></tr></thead><tbody id="groups"></tbody></table></div>
|
| 31 |
+
<div class="panels"><section class="panel"><h3>Group uncertainty</h3><div id="uncertainty"></div><p class="small">1,000 bootstrap replicates resample filename groups, not authenticated independent physical wells. Undefined replicates are explicit. These intervals describe selected validation data.</p></section><section class="panel"><h3>Recorded study boundaries</h3><p>357 training recordings / 16 groups; 33 validation recordings / 8 groups; 113 reserved recordings / 8 groups.</p><p>Eleven compact fits, full pretrained TSPulse with zero pretrained fits, and three conventional references. Causal 512-second history, a 64-second reconstruction tail and decisions every 30 seconds.</p><p class="small">No reserved measurements or predictions were opened. Scalers are training-only; alarm calibration is validation-only. This is an original causal adaptation, not an exact offline-paper replication.</p></section></div>
|
| 32 |
+
<h2>Inspect every labelled episode</h2><div class="controls"><div><label for="group-filter">Episode group</label><select id="group-filter"></select></div><div id="episode-count" class="small" aria-live="polite"></div></div>
|
| 33 |
+
<div class="scroll"><table><caption>Rows preserve source event IDs, recording identity, input support, carried-in alarms and onset delay. No eligible input means abstention.</caption><thead><tr><th>Source recording</th><th>Event</th><th>Eligible decisions</th><th>Covered</th><th>Carried in</th><th>First coverage delay</th><th>New onset ≤300s</th></tr></thead><tbody id="episodes"></tbody></table></div>
|
| 34 |
+
<details><summary>What the 48 TCN diagnostic controls established</summary><p>Two saved checkpoints × six batch sizes × two deterministic settings × two repetitions. Every condition repeats exactly on the observed Mac host. Batch size changes scores; the deterministic flag changes none. Every configuration still fails the unchanged original tolerance.</p><p class="small">Batch 256 duplicates the 128 saved probes; it does not reconstruct the full original validation batches. No configuration was adopted. The exact kernel/architecture contribution remains unisolated. No new fits, retuning or raw/reserved access occurred.</p></details>
|
| 35 |
+
<h2>Inspect and reproduce the evidence</h2><div class="links"><a id="report-link">Full result audit</a><a id="archive-link">Original 70-member output archive</a><a id="rebuild-link">No-fitting replay guide</a><a id="protocol-link">Frozen protocol</a><a id="diagnostic-link">TCN diagnostic and failures</a><a id="data-link" href="foundation-validation.json" download>Saved presentation data</a></div>
|
| 36 |
+
<p class="small digest">Original output SHA256: <code id="archive-digest"></code><br>Selection SHA256: <code id="selection-digest"></code><br>Artifact content revision: <code id="content-revision"></code></p>
|
| 37 |
+
</div>
|
| 38 |
+
<footer class="truth">Saved research results; no live telemetry, model inference, plant connection or command path. Physical source/clock/units, independent calibration, target-device deadlines and recovery, site acceptance, field adoption and qualified expert growth remain unverified. MIT authored source; Apache-2.0 upstream TSPulse material retains its notices. Existing 3W source rights and attribution remain in the repository card.</footer>
|
| 39 |
+
</main><script src="foundation-validation.js" defer></script></body></html>
|
foundation-validation.js
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
'use strict';
|
| 2 |
+
const names = {
|
| 3 |
+
'tspulse_endwindow':'TSPulse · causal end-window','signal_logistic_C0.1':'Signal logistic · C 0.1','signal_logistic_C1.0':'Signal logistic · C 1','signal_logistic_C10.0':'Signal logistic · C 10',
|
| 4 |
+
'missingness_logistic_C0.1':'Missingness logistic · C 0.1','missingness_logistic_C1.0':'Missingness logistic · C 1','missingness_logistic_C10.0':'Missingness logistic · C 10',
|
| 5 |
+
extra_trees_depth8:'Extra trees · depth 8',extra_trees_depthNone:'Extra trees · full depth',causal_tcn_seed7:'Causal TCN · seed 7',causal_tcn_seed29:'Causal TCN · seed 29',
|
| 6 |
+
'normal_residual_max':'Normal residual · maximum','normal_residual_cusum_k0.5':'Normal CUSUM · k 0.5','normal_residual_cusum_k1.0':'Normal CUSUM · k 1','normal_isolation_forest':'Normal isolation forest'
|
| 7 |
+
};
|
| 8 |
+
let data;
|
| 9 |
+
const el=id=>document.getElementById(id),text=(id,value)=>{el(id).textContent=value;};
|
| 10 |
+
const fmt=(value,digits=3)=>value===null||!Number.isFinite(value)?'No eligible exposure':value.toFixed(digits);
|
| 11 |
+
const pct=value=>value===null||!Number.isFinite(value)?'No eligible exposure':(100*value).toFixed(2)+'%';
|
| 12 |
+
const ratio=(a,b)=>b>0?a/b:null;
|
| 13 |
+
// The frozen arithmetic omits zero Counter entries. Missing keys are zero,
|
| 14 |
+
// while a zero exposure denominator remains unavailable.
|
| 15 |
+
const count=(x,key)=>x[key]??0;
|
| 16 |
+
function row(values,attrs={}){const tr=document.createElement('tr');for(const [key,value] of Object.entries(attrs))tr.setAttribute(key,value);for(const value of values){const td=document.createElement('td');td.textContent=value;tr.append(td);}return tr;}
|
| 17 |
+
function metric(parent,label,value,bad=false){const box=document.createElement('div');box.className='metric';const head=document.createElement('div');head.className='metric-head';const left=document.createElement('span'),right=document.createElement('span');left.textContent=label;right.textContent=pct(value);head.append(left,right);const track=document.createElement('div');track.className='track';const fill=document.createElement('div');fill.className='fill'+(bad?' bad':'');fill.style.width=(value===null?0:Math.min(100,Math.max(0,100*value)))+'%';track.append(fill);box.append(head,track);parent.append(box);}
|
| 18 |
+
function renderEpisodes(){const candidate=el('candidate').value,cohort=el('cohort').value,group=el('group-filter').value;const all=data.candidates[candidate].cohorts[cohort].episodes;const rows=all.filter(x=>group==='all'||x.group===group);el('episodes').replaceChildren();for(const x of rows)el('episodes').append(row([x.path,String(x.event),String(x.eligible_decisions),x.covered?'Yes':'No',x.carried_in?'Yes':'No',x.first_covered_delay_seconds===null?'No coverage':x.first_covered_delay_seconds+' s',x.new_known_onset_discovery_300s?'Yes':'No'],{'data-recording':x.path,'data-start':String(x.start)}));text('episode-count',rows.length+' of '+all.length+' labelled episodes');}
|
| 19 |
+
function render(){
|
| 20 |
+
const n=el('candidate').value,k=el('cohort').value,c=data.candidates[n],m=c.cohorts[k],x=m.counts,b=c.bootstrap[k];
|
| 21 |
+
text('candidate-meta',names[n]+(n===data.primary?' · validation-selected primary':'')+' · '+c.metadata.numeric_scalars.toLocaleString()+' recorded numeric scalars · '+(c.disabled?'ALARM DISABLED':'Frozen threshold '+c.threshold)+' · '+n);
|
| 22 |
+
text('cohort-note',k==='common'?'Common eligibility is the intersection of all fifteen methods: '+data.common_decisions.toLocaleString()+' / '+data.full_decisions.toLocaleString()+' grid decisions. All episodes remain in the headline denominator.':'Native eligibility uses this method’s usable inputs and finite scores. Selection and threshold are unchanged; all episodes remain in the headline denominator.');
|
| 23 |
+
text('coverage',x.covered_episodes+' / '+x.episodes);text('coverage-detail',x.supported_episodes+' input-supported episodes · '+x.carried_in_covered_episodes+' covered with a carried-in alarm');
|
| 24 |
+
text('onset',x.new_known_onset_discoveries_300s+' / '+x.known_onset_episodes);text('onset-detail',x.supported_known_onsets_300s+' input-supported known onsets; alarm must begin after labelled onset');
|
| 25 |
+
text('false-rate',fmt(m.false_alarms_per_eligible_normal_day));text('false-detail',x.false_normal_alarm_episodes+' false alarm episodes / '+fmt(m.eligible_normal_days)+' eligible normal days');
|
| 26 |
+
text('occupation',pct(m.normal_alarm_occupation));text('occupation-detail',pct(m.normal_alarm_occupation_all_grid)+' of all labelled normal grid time');
|
| 27 |
+
el('eligibility-bars').replaceChildren();metric(el('eligibility-bars'),'Normal input eligibility',m.normal_input_eligibility);metric(el('eligibility-bars'),'Positive input eligibility',m.positive_input_eligibility);metric(el('eligibility-bars'),'Normal time in alarm',m.normal_alarm_occupation,true);
|
| 28 |
+
text('exposure-note',x.unknown_grid_seconds.toLocaleString()+' unknown-label grid seconds; '+x.eligible_unknown_grid_seconds.toLocaleString()+' eligible. '+x.warmup_grid_seconds.toLocaleString()+' warmup grid seconds. Exposure uses recorded timestamps and capped decision durations.');
|
| 29 |
+
text('reload-result',c.reload.state+' · original saved-checkpoint tolerance');
|
| 30 |
+
text('reload-detail',(c.reload.probes?c.reload.probes+' saved eligible probes':c.reload.complete_validation_decisions+' complete validation decisions')+'; '+c.reload.failed_values+' failed score values. Maximum absolute score difference '+c.reload.max_abs_difference+'. atol '+c.reload.tolerance.atol+', rtol '+c.reload.tolerance.rtol+'.'+(c.reload.channel_failed_values!==undefined?' Channel failures: '+c.reload.channel_failed_values+'.':''));
|
| 31 |
+
const rev=data.model_content_revision,base='https://huggingface.co/'+data.model_repo+'/blob/'+(rev||'main')+'/foundation-validation/';
|
| 32 |
+
const artifact=c.metadata.kind==='tspulse'?'ORIGINAL-OUTPUT.zip':'outputs/'+c.metadata.artifact;
|
| 33 |
+
el('checkpoint-link').href=base+artifact;el('checkpoint-link').textContent=c.metadata.kind==='tspulse'?'Inspect pinned pretrained checkpoint in the original archive':'Inspect unchanged saved checkpoint';
|
| 34 |
+
el('all-models').replaceChildren();for(const [name,v] of Object.entries(data.candidates)){const z=v.cohorts[k],q=z.counts;el('all-models').append(row([names[name]+(name===data.primary?' · primary':''),q.covered_episodes+' / '+q.episodes,q.new_known_onset_discoveries_300s+' / '+q.known_onset_episodes,fmt(z.false_alarms_per_eligible_normal_day),pct(z.normal_alarm_occupation),v.disabled?'Disabled':'Enabled',v.reload.state],{'data-candidate':name,'class':name===n?'selected':''}));}
|
| 35 |
+
text('all-caption',k==='common'?'Common support; fixed validation-selected alarms':'Native support; same fixed validation-selected alarms');
|
| 36 |
+
el('groups').replaceChildren();for(const [group,g] of Object.entries(m.groups)){const rate=ratio(count(g,'false_normal_alarm_episodes')*86400,count(g,'eligible_normal_grid_seconds')),occupation=ratio(count(g,'normal_alarm_seconds'),count(g,'eligible_normal_grid_seconds'));el('groups').append(row([group,count(g,'covered_episodes')+' / '+count(g,'episodes'),count(g,'new_known_onset_discoveries_300s')+' / '+count(g,'known_onset_episodes'),String(count(g,'carried_in_covered_episodes')),fmt(rate),pct(occupation),pct(ratio(count(g,'eligible_normal_grid_seconds'),count(g,'normal_grid_seconds')))],{'data-group':group,'class':occupation!==null&&occupation>.01?'warn':''}));}
|
| 37 |
+
text('group-caption',names[n]+' · '+k+' support');
|
| 38 |
+
el('uncertainty').replaceChildren();for(const [key,label,percent] of [['all_episode_alarm_coverage','Episode coverage',true],['new_known_onset_discovery_within_300s','New onset ≤300s',true],['false_alarms_per_eligible_normal_day','False alarms/day',false],['normal_alarm_occupation','Normal time in alarm',true],['normal_input_eligibility','Normal eligibility',true]]){const r=b[key],p=document.createElement('p');p.className='small';p.dataset.metric=key;p.textContent=label+': '+(r.interval_95===null?'Undefined interval':r.interval_95.map(v=>percent?pct(v):fmt(v)).join(' – '))+' · '+r.defined_replicates+' defined / '+r.undefined_replicates+' undefined of '+r.replicates+' replicates';el('uncertainty').append(p);}
|
| 39 |
+
renderEpisodes();
|
| 40 |
+
}
|
| 41 |
+
async function load(){try{
|
| 42 |
+
const response=await fetch('foundation-validation.json',{cache:'no-store'});if(!response.ok)throw new Error('Saved result file returned HTTP '+response.status);data=await response.json();
|
| 43 |
+
if(data.schema!=='industrial.well.foundation.validation.presentation.v1'||Object.keys(data.candidates).length!==15||data.reserved_predictions_opened!==false||data.fresh_confirmation!==false||data.field_qualified!==false)throw new Error('Unexpected result identity or admission state');
|
| 44 |
+
for(const [name,c] of Object.entries(data.candidates)){const option=document.createElement('option');option.value=name;option.textContent=names[name]+(name===data.primary?' · primary':'');el('candidate').append(option);}
|
| 45 |
+
el('candidate').value=data.primary;
|
| 46 |
+
for(const group of ['all',...Object.keys(data.candidates[data.primary].cohorts.common.groups)]){const option=document.createElement('option');option.value=group;option.textContent=group==='all'?'All eight filename groups':group;el('group-filter').append(option);}
|
| 47 |
+
const base='https://huggingface.co/'+data.model_repo+'/blob/'+(data.model_content_revision||'main')+'/foundation-validation/';for(const [id,path] of Object.entries({'report-link':'foundation_review/REPORT.md','archive-link':'ORIGINAL-OUTPUT.zip','rebuild-link':'REBUILD.md','protocol-link':'foundation_study/PROTOCOL.json','diagnostic-link':'tcn_replay_diagnostic/REPORT.md'})){el(id).href=base+path;}
|
| 48 |
+
text('archive-digest',data.original_output_sha256);text('selection-digest',data.selection_sha256);text('content-revision',data.model_content_revision||'Local preview · publication pending');
|
| 49 |
+
el('candidate').addEventListener('change',render);el('cohort').addEventListener('change',render);el('group-filter').addEventListener('change',renderEpisodes);render();el('load-state').hidden=true;el('audit').hidden=false;
|
| 50 |
+
}catch(error){el('load-state').className='error';text('load-state','Result audit could not load. '+error.message);}}
|
| 51 |
+
load();
|
foundation-validation.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
index.html
CHANGED
|
@@ -13,6 +13,7 @@
|
|
| 13 |
<body><main>
|
| 14 |
<header><div class="eyebrow">Public 3W research · Historical measurements</div><h1>Well-event transfer audit</h1><p class="muted">Inspect how compact models behave on new well groups. Alarm coverage, early coverage, false alarms and unusable inputs are separate measures.</p><span class="badge">Industrial admission failed</span></header>
|
| 15 |
<div class="notice"><strong>The validation-selected model fails its confirmation alarm budgets.</strong><br>All eleven tried candidates are retained. This browser reads fixed research results; it receives no live telemetry and issues no commands.</div>
|
|
|
|
| 16 |
<noscript><div class="noscript">Enable JavaScript to compare candidates. The linked report contains the complete results.</div></noscript>
|
| 17 |
<div class="controls"><div><label for="candidate">Retained candidate</label><select id="candidate"></select></div><div class="meta" id="candidate-meta" aria-live="polite"></div></div>
|
| 18 |
<section aria-label="Confirmation results" class="cards">
|
|
|
|
| 13 |
<body><main>
|
| 14 |
<header><div class="eyebrow">Public 3W research · Historical measurements</div><h1>Well-event transfer audit</h1><p class="muted">Inspect how compact models behave on new well groups. Alarm coverage, early coverage, false alarms and unusable inputs are separate measures.</p><span class="badge">Industrial admission failed</span></header>
|
| 15 |
<div class="notice"><strong>The validation-selected model fails its confirmation alarm budgets.</strong><br>All eleven tried candidates are retained. This browser reads fixed research results; it receives no live telemetry and issues no commands.</div>
|
| 16 |
+
<div class="notice"><strong>New: full causal foundation comparison.</strong><br>Fifteen retained methods, full pretrained TSPulse, original compact weights and per-group validation outcomes. Both TCN portability failures remain visible; eight reserved groups stay unopened.<br><a href="foundation-validation.html">Inspect the validation comparison and original evidence</a></div>
|
| 17 |
<noscript><div class="noscript">Enable JavaScript to compare candidates. The linked report contains the complete results.</div></noscript>
|
| 18 |
<div class="controls"><div><label for="candidate">Retained candidate</label><select id="candidate"></select></div><div class="meta" id="candidate-meta" aria-live="polite"></div></div>
|
| 19 |
<section aria-label="Confirmation results" class="cards">
|