This commit is contained in:
agomizi1cm committed 2026-08-09 21:51:23 +09:00
1 parent c5bcb95d74
commit 15a473ce3d
27 files changed
+380 -9

No files matched your search

+17 -1
View File
@@ -78,7 +78,7 @@ def build_analysis_parser() -> argparse.ArgumentParser:
def build_gui_parser() -> argparse.ArgumentParser:
parser = argparse.ArgumentParser(prog="main.py gui", description="Phase 10 desktop experiment and quality GUI")
parser = argparse.ArgumentParser(prog="main.py gui", description="Phase 12 desktop experiment and final-results GUI")
parser.add_argument("--config", type=Path, default=Path("config/experiment.yaml"))
return parser
@@ -95,6 +95,11 @@ def build_phase11_parser(command:str)->argparse.ArgumentParser:
elif command=="calibration-add":p.add_argument("--path",type=Path);p.add_argument("--operator",default="unknown");p.add_argument("--category",required=True);p.add_argument("--before",required=True);p.add_argument("--after",required=True);p.add_argument("--reason",required=True);p.add_argument("--report-id");p.add_argument("--notes",default="")
else:p.add_argument("--path",type=Path)
return p
def build_phase12_parser(command:str)->argparse.ArgumentParser:
p=argparse.ArgumentParser(prog=f"main.py {command}",description="Phase 12 final experiment workflow");p.add_argument("--config",type=Path,default=Path("config/experiment.yaml"));p.add_argument("--output",type=Path,default=Path("data/final_results"))
if command in {"main-progress","final-analysis"}:p.add_argument("--logs",type=Path,default=Path("data/logs/unified"));p.add_argument("--analysis",type=Path,default=Path("data/analysis"))
elif command in {"final-report","presentation-assets"}:p.add_argument("--analysis",type=Path,default=Path("data/analysis"))
return p
def cli_overrides(args: argparse.Namespace) -> dict[str, Any]:
@@ -169,6 +174,17 @@ def cli_overrides(args: argparse.Namespace) -> dict[str, Any]:
def main(argv: list[str] | None = None) -> int:
actual = list(sys.argv[1:] if argv is None else argv)
if actual and actual[0] in {"main-progress","snapshot","final-analysis","final-report","presentation-assets"}:
command=actual[0];args=build_phase12_parser(command).parse_args(actual[1:]);from src.config_loader import load_config;from src.phase12_cli import assets,final_report,progress,snapshot,workflow
try:
c=load_config("config/default.yaml",args.config)
if command=="main-progress":outputs=progress(c,args.logs,args.analysis,args.output)
elif command=="snapshot":outputs=snapshot(c,args.config,args.output)
elif command=="final-report":outputs=final_report(c,args.analysis,args.output)
elif command=="presentation-assets":outputs=assets(c,args.analysis,args.output)
else:r=workflow(c,args.logs,args.analysis,args.output);outputs=[Path(x) for x in r.output_files]+[args.output/"final_workflow_result.json"]
[print(x) for x in outputs];return 0
except Exception as exc:print(f"{command} error: {exc}",file=sys.stderr);return 1
if actual and actual[0] in {"pilot-diagnostics","calibration-add","calibration-list"}:
from datetime import datetime
command=actual[0];args=build_phase11_parser(command).parse_args(actual[1:]);from src.config_loader import load_config;from src.models import CalibrationChangeRecord;from src.phase11_cli import add_calibration,list_calibrations,run_diagnostics