sync: SHANGHAI-U9 2026-08-19 sim-rtl-flow 增约束原语阶段与版本说明树文件重命名,新增 ledger 迁移脚本
This commit is contained in:
@@ -402,7 +402,7 @@ def _print_final(state: Any, replayed: list[str]) -> None:
|
||||
if review:
|
||||
mark = "批准" if review.get("approved") else "驳回"
|
||||
if (review.get("metadata") or {}).get("skipped_by_history"):
|
||||
mark = "按历史设计说明文件跳过"
|
||||
mark = "按版本说明树文件跳过"
|
||||
print(f"{label} : {mark} {review.get('notes', '')}".rstrip())
|
||||
plan = state.get("history_plan") or {}
|
||||
print(f"历史文件 · 参考 : {plan.get('history_path') or '(none)'}")
|
||||
@@ -421,6 +421,17 @@ def _print_final(state: Any, replayed: list[str]) -> None:
|
||||
f" - {item['module']}: stage={item['stage']} "
|
||||
f"success={item['success']} artifacts={item.get('artifacts')}"
|
||||
)
|
||||
constraints = state.get("constraint_result") or {}
|
||||
if constraints:
|
||||
print(
|
||||
"约束原语 : "
|
||||
f"source={constraints.get('source')} "
|
||||
f"passed={constraints.get('passed')} "
|
||||
f"spec={constraints.get('spec_path') or '(未回报)'} "
|
||||
f"hash={constraints.get('spec_hash') or '(未回报 — 下轮必须重注)'} "
|
||||
f"injected={_jsonable(constraints.get('injected'))} "
|
||||
f"idempotent={constraints.get('idempotent_verified')}"
|
||||
)
|
||||
print(f"vivado : {_jsonable(state.get('vivado_result'))}")
|
||||
print(f"hil : {_jsonable(state.get('hil_result'))}")
|
||||
print(f"\nevents ({len(state.get('events', []))}):")
|
||||
@@ -473,8 +484,8 @@ def cmd_start(args, api) -> int:
|
||||
payload.pop("outcomes", None)
|
||||
payload.pop("reviews", None)
|
||||
work_dir = _resolve_work_dir(args, payload)
|
||||
# 把"参考哪一份历史设计说明文件"冻结进 input.json:本次运行结束时会写出一份
|
||||
# 新的 sim-rtl-flow-<date>.md,若每次 resume 都重新扫描目录,replay 就会在
|
||||
# 把"参考哪一份版本说明树文件"冻结进 input.json:本次运行结束时会写出一份
|
||||
# 新的 xxx<date>_tree.md,若每次 resume 都重新扫描目录,replay 就会在
|
||||
# 半路换掉参考文件,走出一条与已记录 ledger 不同的路。
|
||||
if "history_path" not in payload:
|
||||
history_dir = api["history_dir_for"](
|
||||
@@ -482,7 +493,7 @@ def cmd_start(args, api) -> int:
|
||||
)
|
||||
payload["history_dir"] = history_dir
|
||||
payload["history_path"] = api["discover_history_doc"](
|
||||
str(work_dir), history_dir
|
||||
str(work_dir), history_dir, payload.get("project_name", "")
|
||||
)
|
||||
run = RunDir(work_dir, args.thread_id)
|
||||
run.set_input(payload)
|
||||
|
||||
Reference in New Issue
Block a user