Phase 12
This commit is contained in:
1 parent
c5bcb95d74
commit
15a473ce3d
27 files changed
+380
-9
No files matched your search
@@ -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
|
||||
|
||||
Reference in new issue
Block a user