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_pipelineAleatoric floor + processing multiverse, marginalized into one covariance.
uq_measurement · uq_processing · uq_bayesFrequency-dependent kernels → a shear-velocity change vs depth.
uq_depth · kernels (disba)Petrophysical β-bridge from velocity change to stress at depth.
interpretation · forward · couplingDetect residual transients; attribute to a forcing mechanism.
anomaly · forcing_modelsAgent 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 · AskUserQuestionLook 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 · multiverseConfig + YAML + numbers + the one caveat that matters for this case.
references/report_format.mdLoop: 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.CASESSeed → 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/NMerge shards, pick best config per case, and lock expected RMS in the committed manifest.
bench.aggregate · manifest.jsonJudges 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_regressionTrack spend per model; stop cleanly at the cap. Cheapest model that clears the quality floor wins.
EvalRunner · BudgetGuardA 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_liftD · 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 |