CITATION.cff
LICENSE
MANIFEST.in
README.md
pyproject.toml
assets/reader-banner.png
src/reader_workbench/__init__.py
src/reader_workbench/__main__.py
src/reader_workbench/_version.py
src/reader_workbench/errors.py
src/reader_workbench.egg-info/PKG-INFO
src/reader_workbench.egg-info/SOURCES.txt
src/reader_workbench.egg-info/dependency_links.txt
src/reader_workbench.egg-info/entry_points.txt
src/reader_workbench.egg-info/requires.txt
src/reader_workbench.egg-info/top_level.txt
src/reader_workbench/api/__init__.py
src/reader_workbench/api/_record_reads.py
src/reader_workbench/api/artifacts.py
src/reader_workbench/api/facade.py
src/reader_workbench/api/models.py
src/reader_workbench/api/notebooks.py
src/reader_workbench/contracts/__init__.py
src/reader_workbench/contracts/catalog.py
src/reader_workbench/contracts/model.py
src/reader_workbench/contracts/builtins/__init__.py
src/reader_workbench/contracts/builtins/cytometry.py
src/reader_workbench/contracts/builtins/four_state_event_window.py
src/reader_workbench/contracts/builtins/generic.py
src/reader_workbench/contracts/builtins/logic.py
src/reader_workbench/contracts/builtins/plate_reader.py
src/reader_workbench/domains/__init__.py
src/reader_workbench/domains/cytometry/__init__.py
src/reader_workbench/domains/cytometry/analysis/__init__.py
src/reader_workbench/domains/cytometry/analysis/events.py
src/reader_workbench/domains/cytometry/analysis/gating.py
src/reader_workbench/domains/cytometry/analysis/workflow.py
src/reader_workbench/domains/cytometry/io/__init__.py
src/reader_workbench/domains/cytometry/io/fcs.py
src/reader_workbench/domains/cytometry/plots/__init__.py
src/reader_workbench/domains/cytometry/plots/diagnostic.py
src/reader_workbench/domains/logic/__init__.py
src/reader_workbench/domains/logic/treatment_columns.py
src/reader_workbench/domains/logic/crosstalk/__init__.py
src/reader_workbench/domains/logic/crosstalk/pairs.py
src/reader_workbench/domains/logic/four_state_vector/__init__.py
src/reader_workbench/domains/logic/four_state_vector/builder.py
src/reader_workbench/domains/logic/four_state_vector/config.py
src/reader_workbench/domains/logic/four_state_vector/diagnostic.py
src/reader_workbench/domains/logic/four_state_vector/heatmap.py
src/reader_workbench/domains/logic/four_state_vector/math.py
src/reader_workbench/domains/logic/four_state_vector/reference.py
src/reader_workbench/domains/logic/four_state_vector/selection.py
src/reader_workbench/domains/logic/four_state_vector/treatment_semantics.py
src/reader_workbench/domains/logic/four_state_vector/validation.py
src/reader_workbench/domains/logic/four_state_vector/collection/__init__.py
src/reader_workbench/domains/logic/four_state_vector/collection/checks.py
src/reader_workbench/domains/logic/four_state_vector/collection/constants.py
src/reader_workbench/domains/logic/four_state_vector/collection/model.py
src/reader_workbench/domains/logic/four_state_vector/collection/render.py
src/reader_workbench/domains/logic/four_state_vector/collection/sources.py
src/reader_workbench/domains/logic/logic_symmetry/__init__.py
src/reader_workbench/domains/logic/logic_symmetry/encodings.py
src/reader_workbench/domains/logic/logic_symmetry/extract_corners.py
src/reader_workbench/domains/logic/logic_symmetry/main.py
src/reader_workbench/domains/logic/logic_symmetry/metrics.py
src/reader_workbench/domains/logic/logic_symmetry/overlay.py
src/reader_workbench/domains/logic/logic_symmetry/prep.py
src/reader_workbench/domains/logic/logic_symmetry/render.py
src/reader_workbench/domains/plate_reader/__init__.py
src/reader_workbench/domains/plate_reader/ordering.py
src/reader_workbench/domains/plate_reader/analysis/__init__.py
src/reader_workbench/domains/plate_reader/analysis/fold_change.py
src/reader_workbench/domains/plate_reader/analysis/timepoints.py
src/reader_workbench/domains/plate_reader/analysis/four_state_event_window/__init__.py
src/reader_workbench/domains/plate_reader/analysis/four_state_event_window/aggregation.py
src/reader_workbench/domains/plate_reader/analysis/four_state_event_window/contract_fields.py
src/reader_workbench/domains/plate_reader/analysis/four_state_event_window/contracts.py
src/reader_workbench/domains/plate_reader/analysis/four_state_event_window/design_dispositions.py
src/reader_workbench/domains/plate_reader/analysis/four_state_event_window/disposition_records.py
src/reader_workbench/domains/plate_reader/analysis/four_state_event_window/event_sensitivity.py
src/reader_workbench/domains/plate_reader/analysis/four_state_event_window/materialize.py
src/reader_workbench/domains/plate_reader/analysis/four_state_event_window/observation_resampling.py
src/reader_workbench/domains/plate_reader/analysis/four_state_event_window/reduction.py
src/reader_workbench/domains/plate_reader/analysis/four_state_event_window/seeds.py
src/reader_workbench/domains/plate_reader/analysis/four_state_event_window/sources.py
src/reader_workbench/domains/plate_reader/analysis/four_state_event_window/well_exclusion_validation.py
src/reader_workbench/domains/plate_reader/analysis/four_state_event_window/well_exclusions.py
src/reader_workbench/domains/plate_reader/io/__init__.py
src/reader_workbench/domains/plate_reader/io/sample_map.py
src/reader_workbench/domains/plate_reader/io/synergy_h1/__init__.py
src/reader_workbench/domains/plate_reader/io/synergy_h1/_kinetic.py
src/reader_workbench/domains/plate_reader/io/synergy_h1/_parser.py
src/reader_workbench/domains/plate_reader/io/synergy_h1/_shared.py
src/reader_workbench/domains/plate_reader/io/synergy_h1/_snapshot.py
src/reader_workbench/domains/plate_reader/plots/__init__.py
src/reader_workbench/domains/plate_reader/plots/_data.py
src/reader_workbench/domains/plate_reader/plots/common.py
src/reader_workbench/domains/plate_reader/plots/distributions.py
src/reader_workbench/domains/plate_reader/plots/dual_reporter_triptych.py
src/reader_workbench/domains/plate_reader/plots/dual_reporter_triptych_render.py
src/reader_workbench/domains/plate_reader/plots/grouping.py
src/reader_workbench/domains/plate_reader/plots/single_reporter_diagnostic.py
src/reader_workbench/domains/plate_reader/plots/single_reporter_diagnostic_render.py
src/reader_workbench/domains/plate_reader/plots/time_series.py
src/reader_workbench/domains/plate_reader/plots/four_state_event_window/__init__.py
src/reader_workbench/domains/plate_reader/plots/four_state_event_window/diagnostic.py
src/reader_workbench/domains/plate_reader/plots/four_state_event_window/diagnostic_components.py
src/reader_workbench/domains/plate_reader/plots/four_state_event_window/diagnostic_render.py
src/reader_workbench/domains/plate_reader/plots/four_state_event_window/diagnostic_style.py
src/reader_workbench/domains/plate_reader/plots/four_state_event_window/schema.py
src/reader_workbench/domains/plate_reader/plots/four_state_event_window/summary.py
src/reader_workbench/domains/plate_reader/plots/panels/__init__.py
src/reader_workbench/domains/plate_reader/plots/panels/snapshot.py
src/reader_workbench/domains/plate_reader/plots/panels/snapshot_data.py
src/reader_workbench/domains/plate_reader/plots/panels/time_series.py
src/reader_workbench/domains/plate_reader/plots/snapshot_barplot/__init__.py
src/reader_workbench/domains/plate_reader/plots/snapshot_barplot/planning.py
src/reader_workbench/domains/plate_reader/plots/snapshot_heatmap/__init__.py
src/reader_workbench/domains/plate_reader/plots/snapshot_heatmap/inputs.py
src/reader_workbench/domains/plate_reader/plots/ts_and_snap/__init__.py
src/reader_workbench/domains/plate_reader/plots/ts_and_snap/planning.py
src/reader_workbench/domains/time_series/__init__.py
src/reader_workbench/domains/time_series/aggregation.py
src/reader_workbench/domains/time_series/contracts.py
src/reader_workbench/domains/time_series/reduction.py
src/reader_workbench/maintenance/__init__.py
src/reader_workbench/maintenance/docs.py
src/reader_workbench/maintenance/model.py
src/reader_workbench/maintenance/release.py
src/reader_workbench/maintenance/skills.py
src/reader_workbench/plotting/__init__.py
src/reader_workbench/plotting/mpl.py
src/reader_workbench/plotting/sinks.py
src/reader_workbench/plotting/style.py
src/reader_workbench/plotting/utils.py
src/reader_workbench/plugins/__init__.py
src/reader_workbench/plugins/catalog.py
src/reader_workbench/plugins/export/__init__.py
src/reader_workbench/plugins/export/_paths.py
src/reader_workbench/plugins/export/csv.py
src/reader_workbench/plugins/export/xlsx.py
src/reader_workbench/plugins/ingest/__init__.py
src/reader_workbench/plugins/ingest/_discovery.py
src/reader_workbench/plugins/ingest/discovery_policy.py
src/reader_workbench/plugins/ingest/flow_cytometer.py
src/reader_workbench/plugins/ingest/synergy_h1.py
src/reader_workbench/plugins/manifests/__init__.py
src/reader_workbench/plugins/manifests/export.py
src/reader_workbench/plugins/manifests/ingest.py
src/reader_workbench/plugins/manifests/plot.py
src/reader_workbench/plugins/manifests/transform.py
src/reader_workbench/plugins/manifests/validator.py
src/reader_workbench/plugins/plot/__init__.py
src/reader_workbench/plugins/plot/_shared.py
src/reader_workbench/plugins/plot/cytometry_diagnostic.py
src/reader_workbench/plugins/plot/distributions.py
src/reader_workbench/plugins/plot/dual_reporter_triptych.py
src/reader_workbench/plugins/plot/four_state_event_window_diagnostic.py
src/reader_workbench/plugins/plot/four_state_event_window_summary.py
src/reader_workbench/plugins/plot/four_state_vector_collection.py
src/reader_workbench/plugins/plot/four_state_vector_diagnostic.py
src/reader_workbench/plugins/plot/four_state_vector_heatmap.py
src/reader_workbench/plugins/plot/logic_symmetry.py
src/reader_workbench/plugins/plot/single_reporter_diagnostic.py
src/reader_workbench/plugins/plot/snapshot_barplot.py
src/reader_workbench/plugins/plot/snapshot_heatmap.py
src/reader_workbench/plugins/plot/time_series.py
src/reader_workbench/plugins/plot/ts_and_snap.py
src/reader_workbench/plugins/transform/__init__.py
src/reader_workbench/plugins/transform/_four_state_vector.py
src/reader_workbench/plugins/transform/_labeling.py
src/reader_workbench/plugins/transform/alias.py
src/reader_workbench/plugins/transform/assay_labels.py
src/reader_workbench/plugins/transform/blank.py
src/reader_workbench/plugins/transform/crosstalk_pairs.py
src/reader_workbench/plugins/transform/cytometry_gating.py
src/reader_workbench/plugins/transform/fold_change.py
src/reader_workbench/plugins/transform/four_state_event_window.py
src/reader_workbench/plugins/transform/four_state_vector.py
src/reader_workbench/plugins/transform/four_state_vector_collection.py
src/reader_workbench/plugins/transform/logic_symmetry.py
src/reader_workbench/plugins/transform/outlier_filter.py
src/reader_workbench/plugins/transform/overflow.py
src/reader_workbench/plugins/transform/ratio.py
src/reader_workbench/plugins/transform/sample_map.py
src/reader_workbench/plugins/transform/sample_metadata.py
src/reader_workbench/plugins/validator/__init__.py
src/reader_workbench/plugins/validator/to_tidy_plus_map.py
src/reader_workbench/protocols/__init__.py
src/reader_workbench/protocols/_builtins_plate_reader_growth.py
src/reader_workbench/protocols/_builtins_plate_reader_variants.py
src/reader_workbench/protocols/builtins.py
src/reader_workbench/protocols/compiler.py
src/reader_workbench/protocols/model.py
src/reader_workbench/protocols/semantic_coverage.py
src/reader_workbench/protocols/compilers/__init__.py
src/reader_workbench/protocols/compilers/common.py
src/reader_workbench/protocols/compilers/cytometry.py
src/reader_workbench/protocols/compilers/generic.py
src/reader_workbench/protocols/compilers/logic.py
src/reader_workbench/protocols/compilers/plate_reader.py
src/reader_workbench/protocols/compilers/plate_reader_pipeline.py
src/reader_workbench/runtime/__init__.py
src/reader_workbench/runtime/builtin.py
src/reader_workbench/runtime/model.py
src/reader_workbench/workbench/__init__.py
src/reader_workbench/workbench/commands.py
src/reader_workbench/workbench/context.py
src/reader_workbench/workbench/experiments.py
src/reader_workbench/workbench/input_discovery.py
src/reader_workbench/workbench/ontology.py
src/reader_workbench/workbench/paths.py
src/reader_workbench/workbench/registry.py
src/reader_workbench/workbench/spec_overrides.py
src/reader_workbench/workbench/assets/__init__.py
src/reader_workbench/workbench/assets/types.py
src/reader_workbench/workbench/audit/__init__.py
src/reader_workbench/workbench/audit/experiments.py
src/reader_workbench/workbench/audit/staging.py
src/reader_workbench/workbench/cli/__init__.py
src/reader_workbench/workbench/cli/_lazy.py
src/reader_workbench/workbench/cli/_records_view.py
src/reader_workbench/workbench/cli/_surface_execution.py
src/reader_workbench/workbench/cli/audit.py
src/reader_workbench/workbench/cli/automation.py
src/reader_workbench/workbench/cli/demo.py
src/reader_workbench/workbench/cli/dop.py
src/reader_workbench/workbench/cli/experiments.py
src/reader_workbench/workbench/cli/helpers.py
src/reader_workbench/workbench/cli/main.py
src/reader_workbench/workbench/cli/maintenance.py
src/reader_workbench/workbench/cli/notebooks.py
src/reader_workbench/workbench/cli/pagination.py
src/reader_workbench/workbench/cli/protocols.py
src/reader_workbench/workbench/cli/shared.py
src/reader_workbench/workbench/cli/surfaces.py
src/reader_workbench/workbench/cli/verification.py
src/reader_workbench/workbench/config/__init__.py
src/reader_workbench/workbench/config/identity.py
src/reader_workbench/workbench/config/load.py
src/reader_workbench/workbench/config/model.py
src/reader_workbench/workbench/decl/__init__.py
src/reader_workbench/workbench/decl/build.py
src/reader_workbench/workbench/decl/model.py
src/reader_workbench/workbench/dop/__init__.py
src/reader_workbench/workbench/dop/builtins.py
src/reader_workbench/workbench/dop/model.py
src/reader_workbench/workbench/engine/__init__.py
src/reader_workbench/workbench/engine/_shared.py
src/reader_workbench/workbench/engine/contracts.py
src/reader_workbench/workbench/engine/execution.py
src/reader_workbench/workbench/engine/file_outputs.py
src/reader_workbench/workbench/engine/inputs.py
src/reader_workbench/workbench/engine/invocations.py
src/reader_workbench/workbench/engine/planning.py
src/reader_workbench/workbench/engine/runtime.py
src/reader_workbench/workbench/engine/setup.py
src/reader_workbench/workbench/engine/validation.py
src/reader_workbench/workbench/experiment/__init__.py
src/reader_workbench/workbench/experiment/model.py
src/reader_workbench/workbench/graph/__init__.py
src/reader_workbench/workbench/graph/nodes.py
src/reader_workbench/workbench/graph/normalize.py
src/reader_workbench/workbench/graph/refs.py
src/reader_workbench/workbench/inspection/__init__.py
src/reader_workbench/workbench/inspection/catalogs.py
src/reader_workbench/workbench/inspection/common.py
src/reader_workbench/workbench/inspection/dop.py
src/reader_workbench/workbench/inspection/experiments.py
src/reader_workbench/workbench/inspection/inventory.py
src/reader_workbench/workbench/inspection/protocols.py
src/reader_workbench/workbench/inspection/readiness.py
src/reader_workbench/workbench/inspection/reports.py
src/reader_workbench/workbench/inspection/results.py
src/reader_workbench/workbench/inspection/runtime.py
src/reader_workbench/workbench/inspection/semantics.py
src/reader_workbench/workbench/inspection/validation.py
src/reader_workbench/workbench/notebooks/__init__.py
src/reader_workbench/workbench/notebooks/_launch_registry.py
src/reader_workbench/workbench/notebooks/_launch_runtime.py
src/reader_workbench/workbench/notebooks/eda.marimo.py.txt
src/reader_workbench/workbench/notebooks/launch.py
src/reader_workbench/workbench/notebooks/presentation.py
src/reader_workbench/workbench/notebooks/scaffold.py
src/reader_workbench/workbench/notebooks/components/__init__.py
src/reader_workbench/workbench/notebooks/components/deliverables.py
src/reader_workbench/workbench/notebooks/components/overview.py
src/reader_workbench/workbench/ports/__init__.py
src/reader_workbench/workbench/ports/model.py
src/reader_workbench/workbench/records/__init__.py
src/reader_workbench/workbench/records/epoch.py
src/reader_workbench/workbench/records/evidence.py
src/reader_workbench/workbench/records/identity.py
src/reader_workbench/workbench/records/locking.py
src/reader_workbench/workbench/records/model.py
src/reader_workbench/workbench/records/sources.py
src/reader_workbench/workbench/records/store.py
src/reader_workbench/workbench/records/verification.py