[Phase 16] S8 — Run-scoped effective state and provenance
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 12/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Cần làm rõ
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- huggingface, python
- Lĩnh vực
- documentation, machine-learning
Hướng nghiên cứu
Start with the step plan in docs/roadmap/phase-16-trust-surface-hardening.md (lines 518-551) and the ForgeTrainer run state, then trace how the model card and compliance manifest producers read the config today. The fit-check YAML emitter and the --compliance-export path without a training run are the other entry points. Done means the six exit criteria pass, including the 4x2 lora.method and CUDA matrix and the A-to-B and B-to-A run isolation test. This is cross-cutting design work spanning several units, so it should be split before anyone starts.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Roadmap · Phase 16, step S8 · size XL · 4 unit(s) · planned in
docs/roadmap/phase-16-trust-surface-hardening.md:518-551
Summary
Artifact producers and estimators re-interpret the original config instead of consuming this run's observed effective state, and the provenance that does exist is bound to a module singleton instead of the run. The model card misses DoRA, PiSSA and rsLoRA in all three of its surfaces, and the manifest's training_parameters.dora is False for method: dora, contradicting the same manifest's adapter_method — an internally inconsistent compliance artefact.
Units
| Unit | Tracked by (October 2026 review) |
|---|---|
C31-RUN-OUTCOME (= CORE-06 + CORE-07 + CORE-12) |
#569 · #572 · #647 · #700 · #804 |
F-W20260729-CORE-09 |
#503 · #561 |
F-W20260729-TRUST-08 |
#569 · #647 · #686 · #689 · #709 |
F-W20260729-OPS-22 |
— no review issue; tracked by this issue |
Decisions this step executes
- C-6 — keep
model_lineage.quantizationmeaning "requested" and addquantization_effectivebeside it. - C-7 — effective fields when no training run occurred: a
"not_observed"sentinel. - C-9 —
training.gradient_checkpointingdoes not become a real field; delete fit-check's invalid recommendation.
Plan
- Record the run's effective state in
ForgeTrainerand pass it to the card and manifest producers as a parameter — do not addCARD→MODELorCOMPLIANCE→MODELimport edges (architecture.md has none). forgelm --compliance-exportwithout a training run writes the"not_observed"sentinel.- No fixture mass-regeneration: each regenerated golden fixture needs a named reason.
Exit criteria
- A 4×2 matrix (
lora.method× CUDA available/absent,load_in_4bit) proves the card and the manifest name the method and quantization actually applied, with the requested value kept in its own field. - Runs A→B and B→A in one process produce manifests with no cross-contamination.
- A failed
merge_and_unload()is visible identically in the audit log, the card and the manifest. - Every YAML snippet fit-check emits validates against
ForgeConfig. - A directory fingerprint changes on content change and not on traversal order.
- A test enumerates all loader surfaces, so a new one cannot be added silently.
How to deliver
- One root-cause family, committed on its own; then an Opus review round and a Sonnet review round, each with verified findings fixed and committed before the next step begins.
- A reproducer that is red before the fix and green after; the full gauntlet from
CLAUDE.mdpasses under./.venv/bin/python. - Every English documentation edit ships with its Turkish mirror in the same commit; a new or renamed audit event gets its EN and TR catalog rows in the same PR.
- A step that grows a deferred module carries its
budget_historyjustification in the same diff; a widened guard rolls out non-strict first, then flips. - Commit bodies cite
Absorbs F-W20260729-…; the CHANGELOG[Unreleased]section gets an entry only for a change a user or library consumer can observe (decision C-20).
Planned in docs/roadmap/phase-16-trust-surface-hardening.md (read at f94595f). Unit IDs (F-W20260729-…) come from the 2026-07-29/30 full-project review; the issue numbers next to them are the October 2026 review's records of the same defects.
- Ngôn ngữ chính
- Python
- Star
- 9
- Fork
- 1
- Merge trung bình
- 8 giờ 10 phút
- Pull request đã merge (30 ngày)
- 5
Chuẩn bị môi trường
- Có Dockerfile hoặc tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của HodeTech/ForgeLM
-
area: dev-tooling bug severity: low source: roadmap wave: 4
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
-
Site: the theme-locked --code-comment grey (#6a6f80) on the dark code surface is 3.8:1, below WCAG AA, in both themes (F-W1-SITE-06)Có thể đã có người làm @vortsghost2025 đã nhận 2 ngày trước. Đang mởarea: site bug good first issue severity: low source: review-2026-09 wave: 4
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
-
Choosing-a-trainer table documents KTO rows as {prompt, response, label}, but the KTO loader requires a completion column (F-W1-DOCS-TRAIN-02)Có thể đã có người làm @vortsghost2025 đã nhận 1 ngày trước. Đang mởdocumentation good first issue severity: medium source: review-2026-09 wave: 3
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
-
documentation good first issue severity: low source: review-2026-09 wave: 4
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 80/100
-
documentation severity: medium source: review-2026-09 wave: 3
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Tất cả issue của HodeTech/ForgeLM
Issue tương tự
-
mermaid_extract.py silently discards single-line state-diagram notes; sequence notes are keptĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
cathrynlavery/diagram-design#441 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
[Cleanup] Include the public header in work_split.cppCó thể đã có người làm @blozano-tt đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
tenstorrent/tt-metal#60850 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 1 ngày
-
backend::sglang bug language::python observability
Độ khó 2/5 Nửa ngày Mức phù hợp với người mới 65/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 75/100
OpenShot/openshot-qt#6202 ·
Maintainer thường phản hồi trong vòng 1 ngày