`darnit-reproducibility`: heuristic checks for execution and build reproducibility signals
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 35/100
Direzione di ricerca
Start by reading the sieve pass shape and the existing RE-02.01 HermeticBuild check referenced in #227, then review #414 for extracted signals and #415 for layer/tightness applicability. Define the new controls in the darnit-reproducibility TOML and ensure each follows the required pass shape; done means execution- and build-layer signals are covered, missing signals warn rather than pass, and signals serialize into the ontology vocabulary in #393.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Summary
New sieve controls under darnit-reproducibility that gate on the signals
the extraction module (#414) surfaces, at the (layer, tightness) target
declared per the taxonomy (#415).
Scope: signals to check
Execution layer (Layer 2: built tool + inputs -> outputs)
- Environment lockfile presence and pinning strength:
uv.lock,
poetry.lock,Pipfile.lock,conda-lock.yml,environment.yml,
renv.lock,Manifest.toml, frozen-formrequirements.txt. - Random seed calls:
numpy.random.seed,torch.manual_seed,
random.seed,tensorflow.random.set_seed, Rset.seed. - Determinism flags:
torch.use_deterministic_algorithms(True),
CUBLAS_WORKSPACE_CONFIG,PYTHONHASHSEED, TF op-level determinism. - Non-determinism smells:
datetime.now()on critical paths, unpinned
network fetches (wget/curlwithout checksum). - Workflow specs (declarative beats scripts for auditability): Nextflow,
Snakemake, CWL, Makefile, papermill-executed notebooks. - Data lineage markers: DVC (
*.dvc), MLflow tracking, W&B,
hash-pinned Zenodo DOIs vs raw GitHub URLs. - Container env:
Dockerfile FROM <image>@sha256:...(pinned digest) vs
:latest. - Compute-env capture:
repo2docker-compatible layout.
Build layer (Layer 1: source -> built tool)
SOURCE_DATE_EPOCHin build scripts.- Locked toolchain:
rust-toolchain.toml,.tool-versions(asdf),
pinned Python interpreter in lockfile. - Reproducible-flags:
-Wl,--build-id=none,-ffile-prefix-map,
timestamp stripping. - Container-build digest pinning (build stage).
- Cross-check against existing
RE-02.01 HermeticBuild(see #227).
Each check emits a signal the extraction module (#414) exposes, at a
specific (layer, tightness) applicability declared per #415.
Non-goals for v0
- Remediation actions (auto-generate Dockerfile, insert seed calls,
produce lockfile) -- separate follow-up. - LLM-based verification of non-heuristic-detectable practices -- later,
if signals below prove insufficient. - Language-specific idiomatic seeding beyond Python / R (Julia, Rust, Go
idioms in v1+).
Constitution alignment
- III. TOML-First: all controls defined in
darnit-reproducibility's
TOML. - II. Conservative-by-Default: missing signal at declared tier ->
WARN, never silent PASS. - V. Sieve Pipeline Integrity: each check follows the sieve pass
shape (file_must_exist->exec/regex->llm_eval->manual).
Related
- #414 (extractor module).
- #415 (layer + tightness taxonomy -- each control declares
applicability). - #227 (RE-02.01 HermeticBuild) -- Layer 1 heuristic already lives
here; this issue widens the check family. - #393 (ontology) -- signals should serialize into the ontology vocab.
- Lingua principale
- Python
- Stelle
- 22
- Fork
- 27
- Merge medio
- 1g 19h
- PR unite (30g)
- 39
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di darnitdevorg/darnit
-
ci needs triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
darnitdevorg/darnit#607 ·
I maintainer di solito rispondono entro 1 giorno
-
dependencies module-baseline needs triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
darnitdevorg/darnit#606 ·
I maintainer di solito rispondono entro 1 giorno
-
A test starts real Sigstore signing (interactive OIDC login) when the attestation extra is installedApertamodule-baseline needs triage testing
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
darnitdevorg/darnit#604 ·
I maintainer di solito rispondono entro 1 giorno
-
`darnit validate` crashes on openssf-baseline.toml summarising levelsForse già presa @i-am-paradox l’ha presa 3 giorni fa. Apertainterface-cli module-core
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
darnitdevorg/darnit#589 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Plugins hard-code version "0.1.0" while the packages are at 0.1.1Forse già presa Una pull request collegata a questa issue è aperta o già unita. Apertagood first issue maintenance
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
darnitdevorg/darnit#587 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di darnitdevorg/darnit
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
cellrishi-code/claude-skills-atlas#165 ·
I maintainer di solito rispondono entro 1 giorno
-
bug confirmed issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
open-webui/open-webui#32635 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Filters: ?field:ne=null matches NULL rows instead of non-NULL onesForse già presa @rshdhere l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
Netflix/metaflow-service#504 ·
-
needs-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
gke-labs/kube-agents#3394 ·
I maintainer di solito rispondono entro 1 giorno
-
A2A audit timestamps end in +00:00Z (invalid ISO 8601)Forse già presa @O1sumitkumar l’ha presa oggi. Apertabug good first issue help wanted python
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno