Status drift warnings

This commit is contained in:
tegwick 2026-05-02 11:54:07 +02:00
parent 06ed12b2c7
commit 010d23bc38
10 changed files with 538 additions and 8 deletions

View file

@ -34,6 +34,8 @@ from repo_registry.web_api.schemas import (
CandidateFeatureMerge,
CandidateGraphApproval,
CandidateGraphResponse,
CharacteristicRebuildRequest,
CharacteristicRebuildResponse,
CandidateLeafRelink,
CandidateRejection,
CapabilityGapRequest,
@ -271,6 +273,33 @@ def create_analysis_run(
return asdict(summary)
@app.post(
"/repos/{repository_id}/characteristics/rebuild",
tags=["analysis"],
response_model=CharacteristicRebuildResponse,
)
def rebuild_characteristics_from_scratch(
repository_id: int,
payload: CharacteristicRebuildRequest,
service: RegistryService = Depends(get_service),
) -> dict[str, object]:
try:
return asdict(
service.rebuild_characteristics_from_scratch(
repository_id,
dry_run=payload.dry_run,
confirm=payload.confirm,
source_path=payload.source_path,
use_cached_checkout=payload.use_cached_checkout,
use_llm_assistance=payload.use_llm_assistance,
)
)
except NotFoundError as exc:
raise HTTPException(status_code=404, detail=str(exc)) from exc
except ValueError as exc:
raise HTTPException(status_code=400, detail=str(exc)) from exc
@app.get(
"/repos/{repository_id}/analysis-runs",
tags=["analysis"],