fix(governance): fail soft stale km readbacks
Some checks failed
CD Pipeline / workflow-shape (push) Successful in 0s
CD Pipeline / cancel-stale-cd (push) Has been skipped
CD Pipeline / tests (push) Successful in 2m11s
CD Pipeline / post-deploy-checks (push) Has been cancelled
CD Pipeline / build-and-deploy (push) Has been cancelled

This commit is contained in:
Your Name
2026-07-03 09:19:30 +08:00
parent 7085a94eb6
commit 43620a977f
2 changed files with 110 additions and 1 deletions

View File

@@ -284,7 +284,25 @@ async def get_km_stale_candidates(
project_id=project_id,
limit=limit,
)
return await query_km_stale_candidates(project_id=project_id, limit=limit)
try:
return await query_km_stale_candidates(project_id=project_id, limit=limit)
except Exception as exc:
logger.warning(
"km_stale_candidates_readback_degraded",
project_id=project_id,
limit=limit,
error_type=type(exc).__name__,
)
return KnowledgeStaleCandidatesResponse(
project_id=project_id,
total_stale=0,
returned=0,
threshold_days=0,
writes_on_read=False,
manual_review_required=True,
items=[],
generated_at=now_taipei(),
)
# =============================================================================
@@ -405,6 +423,38 @@ async def get_km_stale_owner_review_completion_queue(
)
except KmStaleOwnerReviewError as exc:
raise HTTPException(status_code=exc.status_code, detail=exc.detail) from exc
except Exception as exc:
logger.warning(
"km_stale_owner_review_completion_queue_readback_degraded",
project_id=project_id,
status_bucket=status_bucket,
priority_tiers=priority_tier,
recommended_completion_outcome=recommended_completion_outcome,
batch_governance_event_id=batch_governance_event_id,
can_preview=can_preview,
limit=limit,
error_type=type(exc).__name__,
)
return KnowledgeStaleOwnerReviewCompletionQueueResponse(
project_id=project_id,
status_bucket=status_bucket,
priority_tiers=priority_tier or [],
recommended_completion_outcome=recommended_completion_outcome,
batch_governance_event_id=batch_governance_event_id,
can_preview=can_preview,
total=0,
returned=0,
pending_count=0,
ready_count=0,
blocked_count=0,
completed_count=0,
failed_count=0,
writes_on_read=False,
manual_review_required=True,
batch_writes_allowed=False,
items=[],
generated_at=now_taipei(),
)
# =============================================================================