目录文档-技术白皮书54-复现实验清单 Template v1.0

第7章 脚本与命令(Runbook/Makefile/reproduce.sh)


I. 目标与范围(Purpose & Scope)


II. 输入与依赖(Inputs & Dependencies)


III. Runbook(执行手册纲要)

RUNBOOK.md(提纲)

# RUNBOOK

- Preflight: env_lock / container_spec / seed_policy 校验

- Data Verify: data_refs / split_manifest / lineage / checksums

- Train: train_config 锁定;产出 best.ckpt / last.ckpt

- Infer: binding_spec / inference_openapi / inference.proto

- Eval & UQ: bench_plan / scorecard / model_uq / uq_summary

- Compare & Pack: compare_spec / validate_report / report_manifest


IV. Makefile(标准目标)

SHELL := /bin/bash

IDK ?= run$$(date +%Y%m%d%H%M%S)

.PHONY: all preflight data_verify train infer eval compare pack clean

all: preflight data_verify train infer eval compare pack

preflight:

python tools/preflight.py --env env_lock.json --container container_spec.yaml \

--seed seed_policy.yaml --out reports/preflight_report.json

data_verify:

python tools/verify_data.py --refs data/data_refs.yaml --splits data/split_manifest.json \

--lineage data/lineage_graph.json --checksums checksums.txt --out reports/data_verify.json

train:

python tools/train.py --config model/train_config.yaml --idempotency_key $(IDK) \

--out weights/best.ckpt --log reports/train.log

infer:

python tools/infer.py --binding inference/binding_spec.md --weights weights/best.ckpt \

--idempotency_key $(IDK) --out outputs/preds.json

eval:

python tools/eval.py --bench eval/bench_plan.yaml --pred outputs/preds.json \

--out eval/scorecard.json --uq uq/uq_summary.json

compare:

python tools/compare.py --spec eval/compare_spec.yaml --score eval/scorecard.json \

--validate reports/validate_report.json

pack:

python tools/pack.py --root PTN_EXPORT --manifest report_manifest.yaml --sign SIGNATURE.asc

clean:

rm -rf outputs/* tmp/*


V. reproduce.sh(一键复现脚本)

#!/usr/bin/env bash

set -euo pipefail

STAGE="${1:-all}"

IDK="${IDK:-run$(date +%Y%m%d%H%M%S)}"

log(){ echo "[$(date -Iseconds)] $*"; }

case "$STAGE" in

preflight)

log "Preflight..."

python tools/preflight.py --env env_lock.json --container container_spec.yaml \

--seed seed_policy.yaml --out reports/preflight_report.json

;;

data_verify)

log "Verify data..."

python tools/verify_data.py --refs data/data_refs.yaml --splits data/split_manifest.json \

--lineage data/lineage_graph.json --checksums checksums.txt --out reports/data_verify.json

;;

train)

log "Train..."

python tools/train.py --config model/train_config.yaml --idempotency_key "$IDK" \

--out weights/best.ckpt --log reports/train.log

;;

infer)

log "Infer..."

python tools/infer.py --binding inference/binding_spec.md --weights weights/best.ckpt \

--idempotency_key "$IDK" --out outputs/preds.json

;;

eval)

log "Eval..."

python tools/eval.py --bench eval/bench_plan.yaml --pred outputs/preds.json \

--out eval/scorecard.json --uq uq/uq_summary.json

;;

compare)

log "Compare & validate..."

python tools/compare.py --spec eval/compare_spec.yaml --score eval/scorecard.json \

--validate reports/validate_report.json

;;

pack)

log "Pack..."

python tools/pack.py --root PTN_EXPORT --manifest report_manifest.yaml --sign SIGNATURE.asc

;;

all)

"$0" preflight && "$0" data_verify && "$0" train && "$0" infer && "$0" eval && "$0" compare && "$0" pack

;;

*)

echo "Usage: $0 {preflight|data_verify|train|infer|eval|compare|pack|all}"

exit 2

;;

esac

# 审计事件

python tools/audit.py --event "$STAGE" --idk "$IDK" --out reports/audit.jsonl


VI. 路径对齐与度量(Path Alignment & Metrics)


VII. 日志与审计(Logging & Audit)


VIII. 质量门映射(Gate Mapping)


IX. 反例与修正(Anti-Patterns & Fixes)


X. 机读制品(Machine-Readable Artifacts)

RUNBOOK.md、Makefile、reproduce.sh、阶段日志 reports/*.log、对齐/比对报告 reports/*.json、audit.jsonl。

XI. 交叉引用(Cross-References)


XII. 勾选清单(Checklist)


版权与许可(CC BY 4.0)

版权声明:除另有说明外,《能量丝理论》(含文本、图表、插图、符号与公式)的著作权由作者(“屠广林”先生)享有。
许可方式:本作品采用 Creative Commons 署名 4.0 国际许可协议(CC BY 4.0)进行许可;在注明作者与来源的前提下,允许为商业或非商业目的进行复制、转载、节选、改编与再分发。
署名格式(建议):作者:“屠广林”;作品:《能量丝理论》;来源:energyfilament.org;许可证:CC BY 4.0。

首次发布: 2025-11-11|当前版本:v5.1
协议链接:https://creativecommons.org/licenses/by/4.0/