Record repository UI status in the scanner and tolerate older jsonschema.

Adds the repo-ui-metadata extractor (ui_status yes/candidate/not_detected
plus ui_evidence), falls back to the legacy validator when jsonschema does
not accept a referencing registry, and covers unknown edge endpoints in the
graph explorer.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 7458@bnt-lap001
Assistant-Session: 62534cdf-8348-48a7-9c0d-46e0f74c8eae
This commit is contained in:
codex 2026-09-22 08:06:04 +02:00
parent c65b9eddfe
commit 564dc59c4f
5 changed files with 138 additions and 4 deletions

View file

@ -39,10 +39,17 @@ def draft202012_validator(schema_path: Path) -> jsonschema.Draft202012Validator:
registry = schema_registry(schema_path.parent)
if registry is None:
return _legacy_validator(schema_path, schema)
return jsonschema.Draft202012Validator(
schema,
registry=registry,
)
try:
return jsonschema.Draft202012Validator(
schema,
registry=registry,
)
except TypeError as exc:
# jsonschema < 4.17 does not accept referencing.Registry. Keep the
# same schema set usable on older operator workstations.
if "unexpected keyword argument 'registry'" not in str(exc):
raise
return _legacy_validator(schema_path, schema)
def _legacy_validator(