#!/usr/bin/env -S uv run # /// script # dependencies = ["pydantic", "python-dotenv", "pyyaml", "rich"] # /// """ADW Validate — check the config without running anything. Loads the roster and validates every agent: the name resolves, the coding agent is implemented, the prompt files exist, and the model resolves in the harness's catalog. Exits 0 on success, 1 with a list of problems otherwise. Usage: uv run adws/adw_validate.py [--config adws/adw_sssf_config/sssf.config.yaml] """ import argparse import sys from adw_modules import agents def main(config: str = "adws/adw_sssf_config/sssf.config.yaml") -> int: cfg = agents.load_config(config) names = [a.name for a in cfg.agents] if not names: print(f"config {config} declares no agents") return 1 agents.validate(cfg, names) print(f"config OK; agents: {', '.join(names)}") return 0 if __name__ == "__main__": parser = argparse.ArgumentParser(description=__doc__) parser.add_argument("--config", default="adws/adw_sssf_config/sssf.config.yaml") args = parser.parse_args() sys.exit(main(args.config))