INNER CODE UNIT · Python
parser
i3T4AN/KADATH · kadath/cli.py:13
def parser() -> argparse.ArgumentParser:
p = argparse.ArgumentParser(prog="kadath", description="KADATH evolutionary control kernel")
p.add_argument("--root", type=Path, default=Path(".kadath/runs"), help="run storage directory")
sub = p.add_subparsers(dest="command", required=True)
init = sub.add_parser("init", help="propose an objective and create an unapproved run")
start = sub.add_parser("start", help="propose, confirm, approve, and launch a run")
for create in (init, start):
create.add_argument("--goal", required=True); create.add_argument("--criterion", default="", help="optional requested criterion; Architect proposes the final measurement")
create.add_argument("--epochs", type=int, default=3); create.add_argument("--population", type=int, default=100); create.add_argument("--epoch-seconds", type=int, default=1800)
create.add_argument("--executor", choices=["simulated", "command", "docker"], default="docker", help="docker runs real model-driven organisms; simulated is test-only")
create.add_argument("--command", dest="agent_command", nargs="+", default=["python", "/organism/organism.py"], help="organism command")
create.add_argument("--image", default="kadath-organism:latest", help="organism image for --executor docker")
create.add_argument("--network", default="kadath-agent", help="isolated Docker network providing broker/browser/search access")
create.add_argument("--agent-env", action="append", default=[], metavar="KEY=VALUE", help="repeatable environment variable passed only to the organism runtime")
start.add_argument("--dashboard", action="store_true", help="render live terminal progress after approval")
continued_export = sub.add_parser("continue-export", help="create a new run from a verified KADATH export")
continued_export.add_argument("export_dir", type=Path); continued_export.add_argument("--genome", required=True); continued_export.add_argument("--epochs", type=int, required=True)
continued_export.add_argument("--population", type=int); continued_export.add_argument("--epoch-seconds", type=int)