Skip to content

Runtime System Map

The system is easiest to understand as a flow of scientific state. Inputs gain stronger contracts as they move through validation, computation, diagnostics, and publication-oriented output. Evidence review is downstream of that flow.

Locate The First Semantic Change

When a result is surprising, trace backward until the scientific meaning first changed. That boundary owns the correction; downstream files must then be rebuilt from it.

Observed problem First state to inspect Why later repair is unsafe
coefficient belongs to the wrong species taxon reconciliation and admitted row order relabeling the report leaves the fitted covariance wrong
normalized likelihood has the wrong sign adapter parsing and scale convention changing a table cell leaves every consumer inconsistent
support count omits failed replicates execution result and declared replicate denominator editing the manifest invents computation state
report hides a convergence warning result-to-presentation projection rerunning the method does not repair the renderer contract
public claim exceeds its observed fields evidence dependency map changing runtime code cannot create an absent comparison

This rule keeps diagnosis causal. The visible error may appear in a figure or index, but the repair begins where identity, value, status, or scope first diverged from its owner.

flowchart LR
    subgraph ingress[Input boundary]
        files["Tree, alignment,<br/>trait, partition files"]
        config["Model and workflow<br/>configuration"]
    end
    subgraph runtime[Runtime boundary]
        validate["Parse and validate"]
        compute["Native method or<br/>external-engine adapter"]
        diagnose["Diagnostics and<br/>typed result"]
    end
    subgraph review[Review boundary]
        persist["Manifest, tables,<br/>figures, report"]
        evidence["Claim and evidence<br/>review"]
    end

    files --> validate
    config --> validate
    validate --> compute --> diagnose --> persist
    persist -. governed studies .-> evidence

Input Boundary

Input handling establishes syntax and scientific identity before expensive work starts. Relevant checks include readable formats, unique and reconcilable taxon labels, compatible character or sequence shapes, rootedness where a method requires it, and explicit partition or model configuration.

Validation cannot decide whether a research question is well designed. It can prevent avoidable ambiguity from entering the computation.

Computation Boundary

The runtime offers two attributable paths:

  • native: the repository owns the algorithm, numerical implementation, result type, and diagnostics;
  • adapter: the repository owns preparation, invocation, capture, parsing, and normalization while a named external executable owns the computation.

Both paths should converge on structured outputs, but their installation, failure, provenance, and support obligations differ.

Result Boundary

A result should carry enough state to answer more than “what number did the run return?” Depending on the method, that may include convergence or search state, likelihood values, support summaries, parameter estimates, uncertainty, warnings, and links to intermediate artifacts.

Code that needs only the computation consumes the typed result. Reports and bundles are projections of that result for humans and downstream systems.

State Retained Across Boundaries

State Validation Computation Persistence Evidence review
input identity and taxon reconciliation creates consumes retains verifies
model, partition, search, sampler, and seed configuration validates consumes retains checks scope
native or external computation owner identifies executes retains qualifies claim
estimate, topology, history, or comparison creates retains observes
warnings, convergence, support, uncertainty, exclusions may create creates retains applies acceptance rule
artifact schema, checksums, and inventory declares outputs creates verifies
source provenance, claim ID, tolerance, verdict, freshness may link creates and governs

A dash means the layer does not own that state, not that the state is irrelevant. Evidence review still depends on input and computation identity created upstream.

The Identity Spine

Every durable result should allow a reviewer to traverse the same identity chain in both directions:

flowchart LR
    inputs["Input paths<br/>and checksums"]
    request["Resolved model<br/>and configuration"]
    execution["Runtime or engine<br/>identity"]
    result["Result identity<br/>and diagnostics"]
    inventory["Artifact inventory<br/>and checksums"]

    inputs --> request --> execution --> result --> inventory

Forward traversal explains how the result was produced. Reverse traversal starts from a report, table, or figure and finds the exact result, execution, configuration, and inputs behind it. A review surface is broken when either direction ends in an undocumented filename, default, or in-memory object.

Review Boundary

Persisted outputs make a run inspectable after process memory is gone:

Artifact Review purpose
manifest identifies inputs, configuration, versions, and output inventory
machine-readable result supports deterministic downstream inspection
tables exposes estimates, comparisons, or diagnostics without scraping prose
figures communicates topology, support, traits, or uncertainty visually
narrative report explains interpretation and limits in context

An evidence bundle adds claim identifiers, provenance, checks, and verdicts for a governed study. Ordinary runtime output does not become evidence merely because it was persisted.

Consumer Precedence

When several representations disagree, inspect them in ownership order:

  1. typed result and method diagnostics for computation state;
  2. schema-governed JSON or TSV for persisted machine facts;
  3. manifest for run identity, inventory, and integrity;
  4. HTML, Markdown, or figures for human interpretation;
  5. Evidence Book records for claim adjudication over identified observations.

A downstream representation may add explanation, but it may not silently replace an upstream value, warning, omission, or owner.

Artifact Acceptance Gates

Gate Accept when Refuse when
identity operation, input, configuration, package, and computation owner are explicit a result cannot be tied to the inputs or executable that produced it
execution completion state and required diagnostics are present file presence is the only evidence that a process ran
structure required outputs parse under their declared formats or schemas a stale or malformed output is found at an expected path
inventory expected, present, missing, failed, and skipped components reconcile only successful outputs remain in the denominator
interpretation units, scales, model conventions, uncertainty, and warnings travel with values normalized output hides a materially different engine or model convention
integrity governed hashes and source identities agree where required a retained artifact has drifted from the manifest that names it

Passing an earlier gate cannot compensate for failing a later one. For example, a process can execute successfully while producing an incomplete bundle, and a structurally complete bundle can still contain a scientifically non-comparable result.

Failure Attribution

flowchart TD
    invalid["Invalid scientific input"] --> validation["Validation failure"]
    unavailable["Executable missing or exits"] --> execution["Adapter execution failure"]
    numerical["Optimization or sampling issue"] --> computation["Method diagnostic/failure"]
    malformed["Unexpected engine output"] --> parsing["Adapter parsing failure"]
    unwritable["Output destination unavailable"] --> persistence["Artifact failure"]

These categories should remain distinct. Retrying an unwritable destination is reasonable; treating a convergence warning as an I/O problem is not.

Partial And Refused Runs

A workflow can emit diagnostic artifacts without producing a usable scientific estimate. Its manifest should distinguish complete, partial, refused, failed, and skipped components and record the expected versus present output inventory. Consumers must evaluate status before assuming that a path listed in a directory is valid output.

For batched work, aggregate status retains denominators: selected cases, executed cases, successful cases, failed cases, skipped cases, and missing artifacts. Reporting only the successful subset changes the meaning of the run.

A partial run can remain useful when its status and denominator are explicit: preflight diagnostics may explain a refusal, completed independent cases may remain valid, and native engine output may support parser diagnosis. Preserve that evidence without promoting the aggregate run to complete.

Cross-Cutting Families

Datasets and simulation provide controlled inputs. Benchmarking observes behavior across named corpora. Reporting projects results. Validation checks contracts at several layers. None of these should secretly become an alternative scientific method owner.

Review Questions

Before trusting a run, ask:

  1. Were taxon, tree, alignment, and model assumptions validated?
  2. Was computation native or delegated to a named engine?
  3. Which diagnostics qualify the headline result?
  4. Can the persisted artifacts reconstruct inputs and configuration?
  5. Does any broader claim stay within its benchmark or evidence scope?

If any answer cannot be reconstructed from typed state and declared artifacts, the run is incomplete as a reviewable system output even when the process returned zero.