`darnit-reproducibility`: heuristic checks for execution and build reproducibility signals
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
- 难度
- 5/5
- 预计耗时
- 一周以上
- 新手友好度
- 35/100
调研方向
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.
由索引模型根据 Issue 内容生成。
描述
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.
- 主要语言
- Python
- 星标
- 22
- 派生
- 27
- 平均合并
- 1 天 19 小时
- 30 天内合并 PR
- 39
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
darnitdevorg/darnit 的其他 Issue
-
ci needs triage
难度 2/5 1-3 小时 新手友好度 62/100
darnitdevorg/darnit#607 ·
维护者通常 1 天内回复
-
dependencies module-baseline needs triage
难度 2/5 1-3 小时 新手友好度 68/100
darnitdevorg/darnit#606 ·
维护者通常 1 天内回复
-
A test starts real Sigstore signing (interactive OIDC login) when the attestation extra is installed未关闭module-baseline needs triage testing
难度 2/5 1-3 小时 新手友好度 65/100
darnitdevorg/darnit#604 ·
维护者通常 1 天内回复
-
`darnit validate` crashes on openssf-baseline.toml summarising levels可能已有人在做 @i-am-paradox 于 3 天前认领。 未关闭interface-cli module-core
难度 2/5 1-3 小时 新手友好度 78/100
darnitdevorg/darnit#589 · 1 条评论 ·
维护者通常 1 天内回复
-
Plugins hard-code version "0.1.0" while the packages are at 0.1.1可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭good first issue maintenance
难度 2/5 1-3 小时 新手友好度 83/100
darnitdevorg/darnit#587 · 2 条评论 ·
维护者通常 1 天内回复
查看 darnitdevorg/darnit 的全部 Issue
相似的 Issue
-
bot-triaged module: LrScheduler module: optimizer triaged
难度 2/5 1-3 小时 新手友好度 70/100
维护者通常 1 天内回复
-
documentation glm5 llm-model
难度 2/5 1-3 小时 新手友好度 78/100
vllm-project/vllm-ascend#19062 ·
维护者通常 1 天内回复
-
author-page correction
难度 2/5 1-3 小时 新手友好度 68/100
acl-org/acl-anthology#10496 · 1 条评论 ·
维护者通常 1 天内回复
-
Issue Type: Bug Report
难度 2/5 1-3 小时 新手友好度 82/100
维护者通常 1 天内回复
-
enhancement good first issue
难度 2/5 1-3 小时 新手友好度 76/100
SasanLabs/VulnerableApp#836 ·
维护者通常 1 天内回复