"""Audit the map and preview grouped tasks without screenshots or clicks.""" import argparse import json from pathlib import Path from automation.planning import PAGE_ORDER, TaskPlanner ROOT = Path(__file__).resolve().parent def main(): parser = argparse.ArgumentParser(description='核查页面地图与任务清单,预览按页面分组的开发计划;不操作游戏') parser.add_argument('--audit', action='store_true', help='只输出结构核查结果') parser.add_argument('--page', choices=PAGE_ORDER, help='只显示指定入口页面任务') parser.add_argument('--include-deferred', action='store_true', help='显示延期完善任务') parser.add_argument('--include-manual', action='store_true', help='显示仅按明确命令执行的任务') args = parser.parse_args() data = json.loads((ROOT / 'workflows/page_map.json').read_text(encoding='utf-8')) planner = TaskPlanner(data, ROOT) audit = planner.audit() result = audit if args.audit or not audit['valid'] else { 'audit': audit, **planner.plan(args.include_deferred, args.include_manual, args.page)} print(json.dumps(result, ensure_ascii=False, indent=2)) return 0 if audit['valid'] else 1 if __name__ == '__main__': raise SystemExit(main())