Integrate weekly curator into report flow

This commit is contained in:
yaojingang
2026-06-16 05:09:49 +08:00
parent 3bfc56f026
commit 089d0a77f2
5 changed files with 29 additions and 6 deletions
+2
View File
@@ -55,6 +55,7 @@ python3 scripts/render_world_class_submission_review.py . --generated-at "$GENER
python3 scripts/render_world_class_operator_runbook.py . --generated-at "$GENERATED_AT"
python3 scripts/render_world_class_claim_guard.py . --generated-at "$GENERATED_AT"
python3 scripts/render_daily_skillops_report.py . --generated-at "$GENERATED_AT"
python3 scripts/render_weekly_curator_report.py . --generated-at "$GENERATED_AT"
python3 scripts/render_skill_os2_audit.py . --generated-at "$GENERATED_AT"
python3 scripts/render_skill_os2_coverage.py . --generated-at "$GENERATED_AT"
python3 scripts/render_context_reports.py --generated-at "$GENERATED_AT"
@@ -73,6 +74,7 @@ For final release evidence, commit source and generated package evidence first,
python3 scripts/render_context_reports.py --generated-at "$GENERATED_AT"
python3 scripts/render_benchmark_reproducibility.py . --generated-at "$GENERATED_AT"
python3 scripts/render_daily_skillops_report.py . --generated-at "$GENERATED_AT"
python3 scripts/render_weekly_curator_report.py . --generated-at "$GENERATED_AT"
python3 scripts/render_skill_overview.py .
python3 scripts/render_skill_interpretation.py .
python3 scripts/render_review_viewer.py .
+3
View File
@@ -32,6 +32,7 @@ SOURCE_REFRESH_REPORT_COMMANDS = [
'python3 scripts/render_world_class_operator_runbook.py . --generated-at "$GENERATED_AT"',
'python3 scripts/render_world_class_claim_guard.py . --generated-at "$GENERATED_AT"',
'python3 scripts/render_daily_skillops_report.py . --generated-at "$GENERATED_AT"',
'python3 scripts/render_weekly_curator_report.py . --generated-at "$GENERATED_AT"',
'python3 scripts/render_skill_os2_audit.py . --generated-at "$GENERATED_AT"',
'python3 scripts/render_skill_os2_coverage.py . --generated-at "$GENERATED_AT"',
'python3 scripts/render_context_reports.py --generated-at "$GENERATED_AT"',
@@ -47,6 +48,7 @@ CLEAN_LOCK_REPORT_COMMANDS = [
'python3 scripts/render_context_reports.py --generated-at "$GENERATED_AT"',
'python3 scripts/render_benchmark_reproducibility.py . --generated-at "$GENERATED_AT"',
'python3 scripts/render_daily_skillops_report.py . --generated-at "$GENERATED_AT"',
'python3 scripts/render_weekly_curator_report.py . --generated-at "$GENERATED_AT"',
"python3 scripts/render_skill_overview.py .",
"python3 scripts/render_skill_interpretation.py .",
"python3 scripts/render_review_viewer.py .",
@@ -119,6 +121,7 @@ def build_release_evidence_flow_check(skill_dir: Path) -> dict[str, Any]:
"reports/review-viewer.json",
"reports/world_class_evidence_preflight.json",
"reports/skillops/daily",
"reports/skillops/weekly",
"reports/review-studio.json",
"reports/evidence_consistency.json",
],
+2
View File
@@ -77,6 +77,7 @@ def command_report(args: argparse.Namespace) -> int:
run_script("render_world_class_operator_runbook.py", [str(ROOT)]),
run_script("render_world_class_claim_guard.py", [str(ROOT)]),
run_script("render_daily_skillops_report.py", [str(ROOT)]),
run_script("render_weekly_curator_report.py", [str(ROOT)]),
run_script("render_skill_os2_coverage.py", [str(ROOT)]),
run_script("render_benchmark_reproducibility.py", [str(ROOT)]),
run_script("render_skill_overview.py", [str(ROOT)]),
@@ -122,6 +123,7 @@ def command_report(args: argparse.Namespace) -> int:
"world_class_operator_runbook": "reports/world_class_operator_runbook.json",
"world_class_claim_guard": "reports/world_class_claim_guard.json",
"daily_skillops": "reports/skillops/daily",
"weekly_curator": "reports/skillops/weekly",
"skill_os2_coverage": "reports/skill_os2_coverage.json",
"benchmark_reproducibility": "reports/benchmark_reproducibility.json",
"skill_overview": "reports/skill-overview.json",
+6 -6
View File
@@ -17,7 +17,7 @@ import yao_cli_output_commands # noqa: E402
import yao_cli_parser # noqa: E402
import yao_cli_report_commands # noqa: E402
import yao_cli_runtime # noqa: E402
from yao_cli_report_refresh import refresh_root_report_consistency_inputs # noqa: E402
def run(*args: str, input_text: str | None = None) -> dict:
env = dict(os.environ)
@@ -79,10 +79,8 @@ def main() -> None:
parser_help = yao_cli_module.build_parser().format_help()
expected_help = (
"quickstart skill-interpretation review-studio python-compat architecture-audit skill-os2-audit skill-os2-coverage "
"world-class-evidence world-class-ledger world-class-intake world-class-preflight world-class-submission-kit "
"world-class-submission-review world-class-runbook world-class-claim-guard "
"benchmark-reproducibility evidence-consistency output-review-kit adapt-scan adapt-propose adapt-apply "
"telemetry-import telemetry-emit telemetry-hooks --record-cli-telemetry"
"world-class-evidence world-class-ledger world-class-intake world-class-preflight world-class-submission-kit world-class-submission-review world-class-runbook world-class-claim-guard "
"benchmark-reproducibility evidence-consistency output-review-kit adapt-scan adapt-propose adapt-apply telemetry-import telemetry-emit telemetry-hooks weekly-curator --record-cli-telemetry"
).split()
assert all(item in parser_help for item in expected_help), parser_help
@@ -330,6 +328,8 @@ def main() -> None:
assert benchmark_reproducibility_result["payload"]["summary"]["reproducibility_ready"] is True, benchmark_reproducibility_result
assert benchmark_reproducibility_result["payload"]["summary"]["world_class_ready"] is False, benchmark_reproducibility_result
refresh_root_report_consistency_inputs(run, ROOT)
evidence_consistency_result = run(
"evidence-consistency", str(ROOT),
"--output-json", str(tmp_root / "evidence_consistency.json"),
@@ -763,6 +763,7 @@ def main() -> None:
assert "benchmark_reproducibility" in report_result["payload"]["artifacts"], report_result
assert "evidence_consistency" in report_result["payload"]["artifacts"], report_result
assert "skill_os2_coverage" in report_result["payload"]["artifacts"], report_result
assert "weekly_curator" in report_result["payload"]["artifacts"], report_result
assert report_result["payload"]["artifacts"]["skill_overview"] == "reports/skill-overview.json", report_result
assert report_result["payload"]["artifacts"]["skill_interpretation"] == "reports/skill-interpretation.json", report_result
assert report_result["payload"]["artifacts"]["skill_interpretation_html"] == "reports/skill-interpretation.html", report_result
@@ -894,6 +895,5 @@ def main() -> None:
print(json.dumps({"ok": True}, ensure_ascii=False, indent=2))
if __name__ == "__main__":
main()
+16
View File
@@ -0,0 +1,16 @@
from pathlib import Path
from typing import Callable
def refresh_root_report_consistency_inputs(run: Callable[..., dict], root: Path) -> None:
"""Refresh root reports that evidence-consistency compares by value."""
for refresh_args in [
("benchmark-reproducibility", str(root), "--generated-at", "2026-06-15"),
("skill-report", str(root)),
("skill-interpretation", str(root)),
("world-class-preflight", str(root), "--generated-at", "2026-06-15"),
("review-studio", str(root)),
]:
refresh_result = run(*refresh_args)
assert refresh_result["ok"], refresh_result