diff --git a/quarto/_quarto.yml b/quarto/_quarto.yml index 9e03fe6..387a785 100644 --- a/quarto/_quarto.yml +++ b/quarto/_quarto.yml @@ -3,6 +3,10 @@ project: output-dir: _site render: - "*.qmd" + resources: + # Standalone workflow chart (self-contained design; served verbatim and + # linked from the navbar). Kept as raw HTML so its CSS never fights the theme. + - workflow.html execute: freeze: auto # cache executed cells; re-run only when the .qmd changes @@ -25,6 +29,8 @@ website: left: - text: "Home" file: index.qmd + - text: "Workflow" + href: workflow.html - text: "Theory" menu: - text: "1 · Measurement — marginal errors" diff --git a/quarto/_site/index.html b/quarto/_site/index.html index 84263f7..264cde6 100644 --- a/quarto/_site/index.html +++ b/quarto/_site/index.html @@ -329,6 +329,10 @@
codameter · ambient-noise dv/v monitoring
+codameter turns cross-correlation functions into a relative velocity-change + (δv/v) time series, propagates its uncertainty, and inverts it for depth and stress. + This chart maps that pipeline, marks the steps an agent can drive, and decomposes the + evaluation loop into its smallest reproducible parts.
+Agents propose; deterministic oracles score. Every agent step is bounded by + code that regenerates a known truth and measures the result — so trust never rests on the model.
+A · the scientific pipeline
+The core dv/v arc. The processing at stage 2 is a long chain of choices; the whole + point of the advisor and the golden set is to make those choices explicit and testable.
+Raw noise / CCFs, gap detection, time alignment, SNR gating.
+ data.loaders · qc · readiness (Phase 0) +Estimator, band, coda window, reference, stacking, aggregation → δv/v(t).
+ synthetic_demo · deviations.run_pipeline +Aleatoric floor + processing multiverse, marginalized into one covariance.
+ uq_measurement · uq_processing · uq_bayes +Frequency-dependent kernels → a shear-velocity change vs depth.
+ uq_depth · kernels (disba) +Petrophysical β-bridge from velocity change to stress at depth.
+ interpretation · forward · coupling +Detect residual transients; attribute to a forcing mechanism.
+ anomaly · forcing_models +Agent openings: stage 2's choices come from the advisor; stages 5–6 + benefit from agent-drafted interpretation, but the numbers stay code-owned.
+B · the parameter advisor
+The codameter-advisor + skill front-ends stage 2. It never invents parameters: it maps a use case to a config, then proves + it on a matched synthetic before recommending.
+Ask the monitoring target, band, geometry, expected amplitude, data problems.
+ use_cases.ELICITATION · AskUserQuestion +Look up the recommended choice set with cited rationale.
+ use_cases.recommend() +Run recommended vs naive on a matched golden case; report the RMS cost.
+ golden.generate · run_pipeline · multiverse +Config + YAML + numbers + the one caveat that matters for this case.
+ references/report_format.md +Loop: if the user pins an axis, re-map and re-validate. The report carries the + measured contrast, not an opinion.
+C · evaluation, decomposed
+"Evaluation" is really two pipelines. The left lane scores a pipeline against a + known truth (the regression oracle). The right lane scores an agent against that same oracle + (the FrugalMind benchmark). They share their scoring core, so an agent is judged by the same code that + guards the pipeline.
+Reproducible from seeds. Runs in CI and fans out on Fargate.
+Pick a use case and regime (mainstream or an edge: low-SNR, clock drift, freq-dependent, sparse).
+ golden.CASES +Seed → daily CCFs with an exactly known δv/v(t). Deterministic; cached, hash-keyed.
+ golden.generate() +The recommended config, or a candidate to test. This is the only lever under study.
+ use_cases.recommend() +Recover δv/v(t) under that config, with the estimator, reference and stacking it names.
+ deviations.run_pipeline() +Baseline-aligned RMS of recovered vs true δv/v (the DC offset is unobservable, so removed).
+ golden._rms() +Every case × every config in a grid; round-robin shards across an array of tasks.
+ bench.sweep · --shard k/N +Merge shards, pick best config per case, and lock expected RMS in the committed manifest.
+ bench.aggregate · manifest.json +Judges a model, cost-aware. Reuses Lane 1's steps 4–5 as its scorer.
+Each case → a prompt + gold (case id + tolerances) + a scorer spec. No arrays leak.
+ frugalmind.build_rows() +Returns a config (JSON) for param_recommendation, + or the recovered series for dvv_series.
+ EvalRunner → adapter.generate() +Reconstruct the deterministic scorer from the JSON spec — portable, no hidden state.
+ make_scorer_from_spec() +Run the answer through Lane 1 (steps 4–5). Wrong band or cycle-skip → near 0; + a no-change series is null-anchored to 0.
+ dvv_recovery · dvv_series_regression +Track spend per model; stop cleanly at the cap. Cheapest model that clears the quality floor wins.
+ EvalRunner · BudgetGuard +A panel re-derives δv/v with independent estimators; agreement gates the result.
+ multi-estimator verify (proposed) +Score × cost per model and suite; skill-lift over the no-skill baseline.
+ leaderboard · skill_lift +D · where agents plug in
+The steps worth agentifying, what the agent actually does, and where each stands today. + Everything else stays deterministic on purpose.
+| Step | Agent role | Tooling | Status |
|---|---|---|---|
| Use-case elicitation | +drives asks & infers the monitoring setting | +codameter-advisor | +built | +
| Recommend & report | +drafts surfaces config + cited rationale + numbers | +advisor · report_format | +built | +
| Config under test | +is tested picks a processing config for a scenario | +param_recommendation | +built (benchmark) | +
| End-to-end series | +is tested runs codameter in a sandbox, returns δv/v(t) | +dvv_series | +built; needs sandbox | +
| Interpretation draft | +assists narrates stress / anomaly attribution | +interpretation · anomaly | +candidate | +
| Adversarial verify | +panel cross-checks with independent estimators | +multi-estimator | +proposed | +
| Eval orchestration | +meta chooses sweeps, reads leaderboards, flags drift | +bench · frugalmind | +candidate | +
codameter · ambient-noise dv/v monitoring
+codameter turns cross-correlation functions into a relative velocity-change + (δv/v) time series, propagates its uncertainty, and inverts it for depth and stress. + This chart maps that pipeline, marks the steps an agent can drive, and decomposes the + evaluation loop into its smallest reproducible parts.
+Agents propose; deterministic oracles score. Every agent step is bounded by + code that regenerates a known truth and measures the result — so trust never rests on the model.
+A · the scientific pipeline
+The core dv/v arc. The processing at stage 2 is a long chain of choices; the whole + point of the advisor and the golden set is to make those choices explicit and testable.
+Raw noise / CCFs, gap detection, time alignment, SNR gating.
+ data.loaders · qc · readiness (Phase 0) +Estimator, band, coda window, reference, stacking, aggregation → δv/v(t).
+ synthetic_demo · deviations.run_pipeline +Aleatoric floor + processing multiverse, marginalized into one covariance.
+ uq_measurement · uq_processing · uq_bayes +Frequency-dependent kernels → a shear-velocity change vs depth.
+ uq_depth · kernels (disba) +Petrophysical β-bridge from velocity change to stress at depth.
+ interpretation · forward · coupling +Detect residual transients; attribute to a forcing mechanism.
+ anomaly · forcing_models +Agent openings: stage 2's choices come from the advisor; stages 5–6 + benefit from agent-drafted interpretation, but the numbers stay code-owned.
+B · the parameter advisor
+The codameter-advisor + skill front-ends stage 2. It never invents parameters: it maps a use case to a config, then proves + it on a matched synthetic before recommending.
+Ask the monitoring target, band, geometry, expected amplitude, data problems.
+ use_cases.ELICITATION · AskUserQuestion +Look up the recommended choice set with cited rationale.
+ use_cases.recommend() +Run recommended vs naive on a matched golden case; report the RMS cost.
+ golden.generate · run_pipeline · multiverse +Config + YAML + numbers + the one caveat that matters for this case.
+ references/report_format.md +Loop: if the user pins an axis, re-map and re-validate. The report carries the + measured contrast, not an opinion.
+C · evaluation, decomposed
+"Evaluation" is really two pipelines. The left lane scores a pipeline against a + known truth (the regression oracle). The right lane scores an agent against that same oracle + (the FrugalMind benchmark). They share their scoring core, so an agent is judged by the same code that + guards the pipeline.
+Reproducible from seeds. Runs in CI and fans out on Fargate.
+Pick a use case and regime (mainstream or an edge: low-SNR, clock drift, freq-dependent, sparse).
+ golden.CASES +Seed → daily CCFs with an exactly known δv/v(t). Deterministic; cached, hash-keyed.
+ golden.generate() +The recommended config, or a candidate to test. This is the only lever under study.
+ use_cases.recommend() +Recover δv/v(t) under that config, with the estimator, reference and stacking it names.
+ deviations.run_pipeline() +Baseline-aligned RMS of recovered vs true δv/v (the DC offset is unobservable, so removed).
+ golden._rms() +Every case × every config in a grid; round-robin shards across an array of tasks.
+ bench.sweep · --shard k/N +Merge shards, pick best config per case, and lock expected RMS in the committed manifest.
+ bench.aggregate · manifest.json +Judges a model, cost-aware. Reuses Lane 1's steps 4–5 as its scorer.
+Each case → a prompt + gold (case id + tolerances) + a scorer spec. No arrays leak.
+ frugalmind.build_rows() +Returns a config (JSON) for param_recommendation, + or the recovered series for dvv_series.
+ EvalRunner → adapter.generate() +Reconstruct the deterministic scorer from the JSON spec — portable, no hidden state.
+ make_scorer_from_spec() +Run the answer through Lane 1 (steps 4–5). Wrong band or cycle-skip → near 0; + a no-change series is null-anchored to 0.
+ dvv_recovery · dvv_series_regression +Track spend per model; stop cleanly at the cap. Cheapest model that clears the quality floor wins.
+ EvalRunner · BudgetGuard +A panel re-derives δv/v with independent estimators; agreement gates the result.
+ multi-estimator verify (proposed) +Score × cost per model and suite; skill-lift over the no-skill baseline.
+ leaderboard · skill_lift +D · where agents plug in
+The steps worth agentifying, what the agent actually does, and where each stands today. + Everything else stays deterministic on purpose.
+| Step | Agent role | Tooling | Status |
|---|---|---|---|
| Use-case elicitation | +drives asks & infers the monitoring setting | +codameter-advisor | +built | +
| Recommend & report | +drafts surfaces config + cited rationale + numbers | +advisor · report_format | +built | +
| Config under test | +is tested picks a processing config for a scenario | +param_recommendation | +built (benchmark) | +
| End-to-end series | +is tested runs codameter in a sandbox, returns δv/v(t) | +dvv_series | +built; needs sandbox | +
| Interpretation draft | +assists narrates stress / anomaly attribution | +interpretation · anomaly | +candidate | +
| Adversarial verify | +panel cross-checks with independent estimators | +multi-estimator | +proposed | +
| Eval orchestration | +meta chooses sweeps, reads leaderboards, flags drift | +bench · frugalmind | +candidate | +