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

@ -43,6 +43,8 @@ The deterministic extractor framework currently covers:
- repository metadata from local git/path evidence
- README, INTENT, and SCOPE document presence and headings
- repository-level UI status and supporting indicators (`yes`, `candidate`, or
`not_detected`)
- repo-owned Fabric declarations under `fabric/`
- Python `pyproject.toml` package metadata and dependencies
- Node `package.json` package metadata and dependencies
@ -54,6 +56,12 @@ The deterministic extractor framework currently covers:
- common service config files such as `application.yaml` and
`appsettings.json`
The UI status is a first-level repository attribute. `yes` requires an explicit
`web-ui` interface declaration; `candidate` records deterministic frontend
markers such as a UI package, entrypoint, or build configuration; and
`not_detected` means no such marker was found. The status is filterable through
the discovery attributes and retains `ui_evidence` source paths for review.
Each extractor emits candidates through the same accumulator so stable-key
duplicates merge inside a scan before the snapshot is returned.