Skip to content

Name the number every other layer is instrumental to - #2

Open
di-omics wants to merge 1 commit into
mainfrom
feat/information-per-dollar
Open

Name the number every other layer is instrumental to#2
di-omics wants to merge 1 commit into
mainfrom
feat/information-per-dollar

Conversation

@di-omics

Copy link
Copy Markdown
Owner

Every layer in this package answers a piece of one question nobody had assembled: how much does this lab learn per dollar per experimental cycle?

Saying it plainly reframes the package. Throughput is not the goal and autonomy is not the goal. A lab running a thousand plates a day that cannot tell which of them are real has bought motion, not information.

autonomous-lab information single_cell_genomics
autonomous-lab worldmodel

information.py -- and why it refuses

The refusal is the most defensible part. Expected information gain needs a stated question and a stated prior, and almost no lab writes either down. Without a prior there is no joint, no posterior, and therefore no divergence to evaluate: this is not an uncertain quantity, it is the absence of a functional. Emitting a figure anyway is what throughput refuses to do with unmeasured durations, one level up and carrying more authority.

It names the one missing input obtainable this week -- stating the target quantity costs a sentence and changes the answer, since a parameter-level bound overestimates what is learned about anything derived from it.

What it computes instead is real without a prior:

Ceiling set by design, not spend. Every gate on the reference protocol is unevaluable, so the cycle yields data and zero decisions. More reads buy more data and still no decision. Resolved from lineage and qc.
Discount silent failure. It will not invent a rate; it counts uncovered destructive modes and names the measurement that would make the discount computable.
Rework priced in cycles, not dollars, the honest currency when no cost model exists. 3 cost a step, 2 cost the cycle plus the decision taken on it, 9 are unbounded -- never caught, so nothing triggers the rerun.
Binding constraint seven layers in order, returning the first that binds. Here: execution. Nothing downstream of it is worth buying until it is relieved.

That last row is the procurement answer, and it is frequently not the layer being shopped for.

worldmodel.py -- precision about what frontier capability buys

vision already says the real blocker for visible checks is not the camera but labelled examples of the failure, which are rare by design because nobody photographs the run that went wrong while it was going wrong.

A predictive model attacks that directly: a model of what the scene should look like flags deviation without ever having seen the failure. It unblocks 5 checks here, including bead_pellet_retained_through_wash, the failure that most often silently destroys a low-input library.

It moves the invisible boundary by nothing at all. A well of denatured enzyme and a well of active enzyme emit identical photons, so a predictor emits the same frame for both and the deviation signal is zero for the failure that matters most. The 11 conditions it never moves are computed from vision's own taxonomy rather than restated, so they cannot drift.

And a deviation signal says the scene is not what was expected. Not what went wrong, and not that it matters. A detector firing on a technician's sleeve has found something real and useless. A label-free approach removes the labelling requirement and introduces its own: nominal data for this bench under this lighting, and a false-positive rate measured on real nominal variation.

Scope

Both modules import only from main (lineage, qc, recovery, vision, intelligence, ledger, provenance), so this is independent of #5, #6, #8 and #9 and can merge in any order.

86 new tests, 214 total. ruff clean against the pinned 0.15.20, ASCII clean.

Each layer here answers a piece of one question nobody had assembled: how much does this lab
learn per dollar per experimental cycle. Saying it plainly reframes the package, because
throughput is not the goal and neither is autonomy. A lab running a thousand plates a day
that cannot tell which of them are real has bought motion rather than information.

It refuses to emit the number, and the refusal is the most defensible part of it. Expected
information gain needs a stated question and a stated prior, and almost no lab writes either
down. Without a prior there is no joint, no posterior and therefore no divergence to
evaluate, so this is not an uncertain quantity but the absence of a functional. Emitting a
figure anyway is what throughput refuses to do with unmeasured durations, one level of
abstraction up and carrying more authority. What it does instead is compute the structure,
which is real without a prior, and name the one missing input obtainable this week: stating
the target quantity costs a sentence and changes the answer, since a parameter-level bound
overestimates what is learned about anything derived from it.

The ceiling is set by design rather than by spend. Every gate on the reference protocol is
unevaluable, so the cycle yields data and zero decisions, and more reads buy more data and
still no decision. Separating "buy more" from "this cannot work" is the most useful output,
and it resolves from lineage and qc rather than recomputing either.

Rework is priced in cycles rather than dollars, which is the honest currency when no cost
model exists. Three failures cost a step, two cost the cycle plus the decision taken on it,
and nine are unbounded: never caught, so nothing triggers the rerun and there is no number
of cycles to charge.

The binding constraint is the procurement answer. Seven layers evaluated in order, returning
the first that binds, which here is execution. Nothing downstream of it is worth buying
until it is relieved, and that is frequently not the layer being shopped for.

worldmodel is the companion, and it exists to be precise about one thing. vision already
says the real blocker for visible checks is not the camera but labelled examples of the
failure, which are rare by design because nobody photographs the run that went wrong while
it was going wrong. A predictive model attacks that directly and moves the invisible
boundary by nothing at all: identical photons predict an identical frame, so the deviation
signal is zero for the failure that matters most. The eleven conditions it never moves are
computed from vision's own taxonomy rather than restated, so they cannot drift. And a
deviation says the scene is not what was expected, not what went wrong and not that it
matters, so a detector firing on a sleeve has found something real and useless.

86 new tests, 214 total. ruff clean against the pinned version, ASCII clean.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant