Assistant: codex Assistant-Model: gpt-5.6-luna Assistant-Session: 01a087b0-7b1e-7531-8ef3-6525ebaf7ee7
13 lines
661 B
Python
Executable file
13 lines
661 B
Python
Executable file
#!/usr/bin/env python3
|
|
import argparse,json
|
|
from pathlib import Path
|
|
import yaml
|
|
from jsonschema import Draft202012Validator
|
|
ROOT=Path(__file__).resolve().parents[1]
|
|
def main():
|
|
ap=argparse.ArgumentParser();ap.add_argument('model',type=Path);args=ap.parse_args();m=yaml.safe_load(args.model.read_text());s=json.loads((ROOT/'schemas/FIAM-RuntimeCatalogExtension-v0.2.schema.json').read_text());errs=sorted(Draft202012Validator(s).iter_errors(m.get('extensions',{})),key=lambda e:list(e.path));
|
|
if errs:
|
|
for e in errs:print('ERROR', '.'.join(map(str,e.path)), e.message)
|
|
raise SystemExit(1)
|
|
print('runtime extensions: PASS')
|
|
if __name__=='__main__':main()
|