Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

verify-gguf: fail closed by default when no strong layer ran (magic-only verdict) — deferred until the next MAJOR release

未关闭
#915 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
2/5
预计耗时
1-3 小时
新手友好度
15/100
Issue 类型
功能
描述清晰度
基本清楚
活跃度
活跃
技术栈
python
领域
cli

调研方向

Read the deferral row at docs/roadmap/risks-and-decisions.md:259 and the exit-code rule in error-handling.md (rule 3) to see why the default stays at exit 0 for now. Do not start until #891 lands C-3 and C-4 and a MAJOR release is scheduled. Done means verify-gguf exits non-zero when no strong layer ran, the opt-out is documented, and the CHANGELOG names F-W20260729-TRUST-04-default.

由索引模型根据 Issue 内容生成。

描述

area: verify deferred severity: medium source: roadmap wave: 3

Deferred work · F-W20260729-TRUST-04-default · severity Medium · cost ~1 h · recorded in docs/roadmap/risks-and-decisions.md:259

Summary

Decision C-3 adds an opt-in --require-strong-layer (Phase 16 S5) and keeps a magic-only verdict at exit 0 by default, because flipping the default breaks the jq -e '.valid' recipe the manual recommends, which error-handling.md rule 3 makes a MAJOR change. This issue is the flip itself: a run in which neither the GGUF metadata parse nor a SHA-256 sidecar check happened must not exit 0 by default.

Condition or budget

The next MAJOR release, after Phase 16 S5 (#891) lands C-3 and C-4 — the exporter then writes the sidecar, so the strong layer is present by default and the flip is nearly free.

State today (re-checked 2026-10-09)

No --require-strong-layer flag exists yet, the exporter writes no .gguf.sha256, and a magic-only check still returns valid=True; the package is at 0.11.1rc1.

Related

#83 (magic-only acceptance; lists the non-zero exit only as an alternative) and #84 (the exporter writing the sidecar).

Acceptance criteria

  • With no strong layer, verify-gguf exits non-zero by default; the opt-out is documented and the release notes name the MAJOR change.
  • The row is removed from the deferral table and the CHANGELOG names its ID (the table's removal contract).

Recorded in docs/roadmap/risks-and-decisions.md (read at f94595f) and re-checked against the code on 2026-10-09. The row leaves that table only when the fix is on main, the CHANGELOG names its ID and any promised guard exists.

主要语言
Python
星标
9
派生
1
平均合并
9 小时 14 分钟
30 天内合并 PR
37

环境准备

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

HodeTech/ForgeLM 的其他 Issue

查看 HodeTech/ForgeLM 的全部 Issue

相似的 Issue

更多 Python Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。