feat: add native prospective instrumentation - #7
Draft
jimmlucas wants to merge 1 commit into
Draft
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
esdp initcommand for prospective long-read instrumentation projectsesdp record-roundto collect one light observation and rebuild its causal history as one immutable round transactioninit_projectandrecord_roundfunctionsdecision_enabled: falseWhy
ESDP needs prospectively collected, provenance-complete long-read trajectories before another stopping model can be scientifically selected. This layer lets ESDP collect those data directly, without nf-core/Nextflow and without enabling experimental STOP/CONTINUE decisions.
Expensive evaluators remain external for now. ESDP validates and archives their results rather than silently introducing BUSCO, Merqury, alignment, or gene-prediction runtime dependencies.
Immutable project layout
Each trajectory stores independent
R1...Rndirectories. A round includes its observation, cumulative causal history, transaction record, and optional offline QC. Round directories are committed by atomic rename; recording R2 never modifies R1.Every round records the SHA-256 of
esdp-project.json. Changing technology or tool provenance after R1 blocks subsequent rounds.User interfaces
Equivalent Python functions are documented in
docs/PROSPECTIVE_INSTRUMENTATION.md.Scientific boundaries
Validation
esdp_instrumentation.py, CLI, metrics, and history modulesesdp initsuccessfully initialized a PacBio HiFi project outside the repositorygit diff --cached --check: cleanThis is a stacked draft PR targeting
feat/esdp-lightso its diff contains only prospective instrumentation.