fix(drift-narrator): 砍 spec.template.spec. 前綴 — 修 Telegram 自動換行醜陋排版
All checks were successful
CD Pipeline / build-and-deploy (push) Successful in 12m1s
All checks were successful
CD Pipeline / build-and-deploy (push) Successful in 12m1s
2026-04-18 下午(台北時區)— ogt + Claude Opus 4.7 統帥實彈三輪視覺回報: 字段名 'spec.template.spec.volumes' 共 24 字元, 加上 emoji+': '+summary 超過 Telegram <pre> 視覺寬度,自動換行 造成 emoji 與 field name 斷開、單獨成行的醜狀。 修復: _shorten_field_path() 砍 3 種常見前綴: - 'spec.template.spec.' → '' - 'spec.template.' → '' (後備) - 'spec.' → '' (後備) 效果對比: 前: '🟡 spec.template.spec.affinity.podAntiAffinity.preferredDuringS: [清單 3 項]' 後: '🟡 affinity.podAntiAffinity.preferredDuringS: [清單 3 項]' Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -577,6 +577,18 @@ class DriftNarratorService:
|
|||||||
n += 1
|
n += 1
|
||||||
return n
|
return n
|
||||||
|
|
||||||
|
def _shorten_field_path(self, field: str) -> str:
|
||||||
|
"""
|
||||||
|
砍掉常見冗長前綴,讓 Telegram 排版不換行
|
||||||
|
spec.template.spec.volumes → volumes
|
||||||
|
spec.template.metadata.labels → metadata.labels
|
||||||
|
spec.internalTrafficPolicy → internalTrafficPolicy
|
||||||
|
"""
|
||||||
|
for prefix in ("spec.template.spec.", "spec.template.", "spec."):
|
||||||
|
if field.startswith(prefix):
|
||||||
|
return field[len(prefix):]
|
||||||
|
return field
|
||||||
|
|
||||||
def _render_telegram_body(
|
def _render_telegram_body(
|
||||||
self,
|
self,
|
||||||
report: "DriftReport",
|
report: "DriftReport",
|
||||||
@@ -607,7 +619,8 @@ class DriftNarratorService:
|
|||||||
else:
|
else:
|
||||||
for it in items:
|
for it in items:
|
||||||
emoji = "🔴" if it.get("level") == "high" else "🟡"
|
emoji = "🔴" if it.get("level") == "high" else "🟡"
|
||||||
lines.append(f"{emoji} {it['field']}: {it['summary']}")
|
short_field = self._shorten_field_path(it['field'])
|
||||||
|
lines.append(f"{emoji} {short_field}: {it['summary']}")
|
||||||
|
|
||||||
shown = len(items)
|
shown = len(items)
|
||||||
if actionable > shown:
|
if actionable > shown:
|
||||||
|
|||||||
Reference in New Issue
Block a user