Complete internal submodule smoke closure
Some checks failed
M6 deployable RC / quick (push) Has been cancelled
M6 deployable RC / chromium (push) Has been cancelled
M6 deployable RC / release (push) Has been cancelled

This commit is contained in:
mes123456
2026-09-07 12:58:28 +08:00
parent f87a72732c
commit b940b8bac8
30 changed files with 4176 additions and 17 deletions

View File

@@ -150,6 +150,7 @@ def project_progress() -> dict:
product_backlog = _read_json(CONTROL_ROOT / "web-product-backlog.json")
product_status = _read_json(CONTROL_ROOT / "web-product-migration-status.json")
completeness_audit = _read_json(ROOT / "tests/golden/WBV2/feature-completeness-audit.json")
internal_submodule_smoke = _read_json(ROOT / "tests/golden/WBV2/internal-submodule-smoke-manifest.json")
total = int(inventory.get("summary", {}).get("unitCount", 0) or 0)
verified = int(inventory.get("coverage", {}).get("verifiedUnits", 0) or 0)
unverified = int(inventory.get("coverage", {}).get("unverifiedUnits", max(0, total - verified)) or 0)
@@ -295,6 +296,7 @@ def project_progress() -> dict:
"smoke": completeness_audit.get("smoke", {}),
"actualMissingOrBlocked": completeness_audit.get("actualMissingOrBlocked", []),
},
"internalSubmoduleSmoke": internal_submodule_smoke.get("summary", {}),
"productMigration": {
**product_status,
"strategy": product_backlog.get("strategy"),
@@ -431,6 +433,7 @@ def format_progress(progress: dict, fast_path: dict | None = None) -> list[str]:
planner = fast_path.get("autoPlanner", {})
product = progress.get("productMigration", {})
smoke = progress.get("completenessAudit", {}).get("smoke", {})
internal_smoke = progress.get("internalSubmoduleSmoke", {})
product_estimate = product.get("estimatedRemainingMinutes")
return [
"",
@@ -441,6 +444,7 @@ def format_progress(progress: dict, fast_path: dict | None = None) -> list[str]:
f" source traceability reference: {progress.get('verifiedUnits', 0)}/{progress.get('totalUnits', 0)} bound; excluded from product completion denominator",
f" completeness audit: {progress.get('completenessAudit', {}).get('status', 'MISSING')} blocked={sum(item.get('status') == 'BLOCKED' for item in progress.get('completenessAudit', {}).get('actualMissingOrBlocked', []))} behavioral-unverified={progress.get('completenessAudit', {}).get('behavioralEvidence', {}).get('unverifiedUnits', 0)}",
f" one-pass feature smoke: resolved={smoke.get('resolved', 0)}/{smoke.get('totalFeatures', 0)} attempts={smoke.get('attempts', 0)} retries={smoke.get('retries', 0)} unresolved={len(smoke.get('unresolved', []))}",
f" one-pass internal submodule smoke: resolved={internal_smoke.get('resolved', 0)}/{internal_smoke.get('totalSubmodules', 0)} attempts={internal_smoke.get('smokeAttempts', 0)} retries={internal_smoke.get('retries', 0)} unresolved={internal_smoke.get('blocked', 0)}",
f" task plan: {plan.get('done', 0)}/{plan.get('tasks', 0)} done, active={','.join(plan.get('active', [])) or 'none'}, blocked={plan.get('blocked', 0)}",
f" old verification estimate: remaining={estimate_text}, total={total_text} (reference only; strategy retired)",
f" observed bottleneck: stage={progress.get('bottleneck', {}).get('stage') or 'n/a'} median={progress.get('bottleneck', {}).get('medianDurationMs') or 0}ms command={progress.get('bottleneck', {}).get('label') or 'n/a'}",