fix(impressum): regex [A-Z] never matches on lowercased text
Build + Deploy / build-admin-compliance (push) Successful in 12s
Build + Deploy / build-backend-compliance (push) Successful in 14s
Build + Deploy / build-ai-sdk (push) Successful in 20s
Build + Deploy / build-developer-portal (push) Successful in 13s
Build + Deploy / build-tts (push) Successful in 12s
Build + Deploy / build-document-crawler (push) Successful in 14s
Build + Deploy / build-dsms-gateway (push) Successful in 13s
Build + Deploy / build-dsms-node (push) Successful in 18s
CI / branch-name (push) Has been skipped
CI / guardrail-integrity (push) Has been skipped
CI / loc-budget (push) Failing after 15s
CI / secret-scan (push) Has been skipped
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / nodejs-build (push) Successful in 2m39s
CI / dep-audit (push) Has been skipped
CI / sbom-scan (push) Has been skipped
CI / test-go (push) Successful in 46s
CI / test-python-backend (push) Successful in 42s
CI / test-python-document-crawler (push) Successful in 27s
CI / test-python-dsms-gateway (push) Successful in 22s
CI / validate-canonical-controls (push) Successful in 15s
Build + Deploy / trigger-orca (push) Successful in 2m28s
Build + Deploy / build-admin-compliance (push) Successful in 12s
Build + Deploy / build-backend-compliance (push) Successful in 14s
Build + Deploy / build-ai-sdk (push) Successful in 20s
Build + Deploy / build-developer-portal (push) Successful in 13s
Build + Deploy / build-tts (push) Successful in 12s
Build + Deploy / build-document-crawler (push) Successful in 14s
Build + Deploy / build-dsms-gateway (push) Successful in 13s
Build + Deploy / build-dsms-node (push) Successful in 18s
CI / branch-name (push) Has been skipped
CI / guardrail-integrity (push) Has been skipped
CI / loc-budget (push) Failing after 15s
CI / secret-scan (push) Has been skipped
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / nodejs-build (push) Successful in 2m39s
CI / dep-audit (push) Has been skipped
CI / sbom-scan (push) Has been skipped
CI / test-go (push) Successful in 46s
CI / test-python-backend (push) Successful in 42s
CI / test-python-document-crawler (push) Successful in 27s
CI / test-python-dsms-gateway (push) Successful in 22s
CI / validate-canonical-controls (push) Successful in 15s
Build + Deploy / trigger-orca (push) Successful in 2m28s
All patterns matched against text_lower but used [A-Z] character class. Changed to [a-zA-Z] so patterns like "geschäftsführung: dr. oliver" are found. Also added "Pflicht"/"Detail" labels to the two progress bars to clarify what 100% vs 8% means. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -145,8 +145,9 @@ export function ChecklistView({ results }: { results: DocResult[] }) {
|
|||||||
<span className="text-xs text-red-600 font-medium">Fehler</span>
|
<span className="text-xs text-red-600 font-medium">Fehler</span>
|
||||||
) : (
|
) : (
|
||||||
<div className="flex flex-col gap-1">
|
<div className="flex flex-col gap-1">
|
||||||
<div className="flex items-center gap-2">
|
<div className="flex items-center gap-2" title={`Pflichtangaben: ${l1Passed}/${l1Scoreable.length}`}>
|
||||||
<div className="w-16 h-1.5 bg-gray-200 rounded-full overflow-hidden">
|
<span className="text-[10px] text-gray-400 w-7">Pflicht</span>
|
||||||
|
<div className="w-14 h-1.5 bg-gray-200 rounded-full overflow-hidden">
|
||||||
<div className={`h-full rounded-full ${barColor}`} style={{ width: `${pct}%` }} />
|
<div className={`h-full rounded-full ${barColor}`} style={{ width: `${pct}%` }} />
|
||||||
</div>
|
</div>
|
||||||
<span className={`text-xs font-medium w-10 text-right ${
|
<span className={`text-xs font-medium w-10 text-right ${
|
||||||
@@ -154,8 +155,9 @@ export function ChecklistView({ results }: { results: DocResult[] }) {
|
|||||||
}`}>{pct}%</span>
|
}`}>{pct}%</span>
|
||||||
</div>
|
</div>
|
||||||
{l2Active.length > 0 && (
|
{l2Active.length > 0 && (
|
||||||
<div className="flex items-center gap-2">
|
<div className="flex items-center gap-2" title={`Detailpruefung: ${l2Passed}/${l2Active.length}`}>
|
||||||
<div className="w-16 h-1.5 bg-gray-200 rounded-full overflow-hidden">
|
<span className="text-[10px] text-gray-400 w-7">Detail</span>
|
||||||
|
<div className="w-14 h-1.5 bg-gray-200 rounded-full overflow-hidden">
|
||||||
<div className={`h-full rounded-full ${cBarColor}`} style={{ width: `${cpct}%` }} />
|
<div className={`h-full rounded-full ${cBarColor}`} style={{ width: `${cpct}%` }} />
|
||||||
</div>
|
</div>
|
||||||
<span className="text-xs font-medium w-10 text-right text-blue-600">{cpct}%</span>
|
<span className="text-xs font-medium w-10 text-right text-blue-600">{cpct}%</span>
|
||||||
|
|||||||
@@ -111,8 +111,8 @@ IMPRESSUM_CHECKLIST = [
|
|||||||
"label": "Registergericht benannt (Amtsgericht X)",
|
"label": "Registergericht benannt (Amtsgericht X)",
|
||||||
"level": 2, "parent": "register",
|
"level": 2, "parent": "register",
|
||||||
"patterns": [
|
"patterns": [
|
||||||
r"(?:amtsgericht|registergericht)\s+[A-Z\u00c0-\u017e]\w+",
|
r"(?:amtsgericht|registergericht)\s+[a-zA-Z\u00c0-\u017e]\w+",
|
||||||
r"\bag\s+[A-Z\u00c0-\u017e]\w+",
|
r"\bag\s+[a-zA-Z\u00c0-\u017e]\w+",
|
||||||
r"(?:handelsregister|register)\s+(?:ag|amtsgericht)\s+\w+",
|
r"(?:handelsregister|register)\s+(?:ag|amtsgericht)\s+\w+",
|
||||||
],
|
],
|
||||||
"severity": "LOW",
|
"severity": "LOW",
|
||||||
@@ -170,9 +170,9 @@ IMPRESSUM_CHECKLIST = [
|
|||||||
"label": "Name der vertretungsberechtigten Person",
|
"label": "Name der vertretungsberechtigten Person",
|
||||||
"level": 2, "parent": "representative",
|
"level": 2, "parent": "representative",
|
||||||
"patterns": [
|
"patterns": [
|
||||||
r"(?:gesch(?:ae|ä)ftsf(?:ue|ü)hr\w*|vorstand|inhaber)\s*:?\s*[A-Z\u00c0-\u017e]",
|
r"(?:gesch(?:ae|ä)ftsf(?:ue|ü)hr\w*|vorstand|inhaber)\s*:?\s*[a-zA-Z\u00c0-\u017e]",
|
||||||
r"(?:vertreten\s+durch|repr(?:ae|ä)sentiert)\s*:?\s*[A-Z\u00c0-\u017e]",
|
r"(?:vertreten\s+durch|repr(?:ae|ä)sentiert)\s*:?\s*[a-zA-Z\u00c0-\u017e]",
|
||||||
r"(?:gesch(?:ae|ä)ftsf(?:ue|ü)hrung)\s*:?\s*(?:dr\.?\s+|prof\.?\s+)?[A-Z\u00c0-\u017e]",
|
r"(?:gesch(?:ae|ä)ftsf(?:ue|ü)hrung)\s*:?\s*(?:dr\.?\s+|prof\.?\s+)?[a-zA-Z\u00c0-\u017e]",
|
||||||
],
|
],
|
||||||
"severity": "LOW",
|
"severity": "LOW",
|
||||||
"hint": "Voller Vor- und Nachname mit Funktionsbezeichnung erforderlich (z.B. 'Geschaeftsfuehrung: Dr. Max Mustermann').",
|
"hint": "Voller Vor- und Nachname mit Funktionsbezeichnung erforderlich (z.B. 'Geschaeftsfuehrung: Dr. Max Mustermann').",
|
||||||
@@ -288,7 +288,7 @@ IMPRESSUM_CHECKLIST = [
|
|||||||
"level": 1, "parent": None,
|
"level": 1, "parent": None,
|
||||||
"patterns": [
|
"patterns": [
|
||||||
r"berufshaftpflicht|haftpflichtversicherung|pflichtversicherung",
|
r"berufshaftpflicht|haftpflichtversicherung|pflichtversicherung",
|
||||||
r"(?:versicherer|versicherung)\s*:?\s*[A-Z\u00c0-\u017e]",
|
r"(?:versicherer|versicherung)\s*:?\s*[a-zA-Z\u00c0-\u017e]",
|
||||||
r"deckungssumme|versicherungsschutz|geltungsbereich",
|
r"deckungssumme|versicherungsschutz|geltungsbereich",
|
||||||
],
|
],
|
||||||
"severity": "INFO",
|
"severity": "INFO",
|
||||||
|
|||||||
Reference in New Issue
Block a user