@cat-factory/app 0.217.2 → 0.219.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/app/components/board/BoardCanvas.vue +15 -0
  2. package/app/components/board/nodes/TaskCard.vue +26 -11
  3. package/app/components/focus/BlockFocusView.vue +29 -1
  4. package/app/components/layout/AccountFailureKindRules.vue +285 -0
  5. package/app/components/layout/AccountPlatformAlertSettings.vue +43 -1
  6. package/app/components/panels/InspectorPanel.vue +49 -4
  7. package/app/components/panels/OperatorDashboardPanel.vue +7 -19
  8. package/app/components/panels/inspector/TaskExecution.vue +24 -2
  9. package/app/components/riskPolicy/RiskPolicyPreview.vue +33 -2
  10. package/app/components/settings/MergeRolePolicyEditor.logic.spec.ts +146 -0
  11. package/app/components/settings/MergeRolePolicyEditor.logic.ts +133 -0
  12. package/app/components/settings/MergeRolePolicyEditor.vue +226 -0
  13. package/app/components/settings/RiskPolicyPanel.vue +35 -1
  14. package/app/composables/useRunStart.spec.ts +204 -0
  15. package/app/composables/useRunStart.ts +112 -0
  16. package/app/stores/execution/commands.ts +20 -3
  17. package/app/types/execution.ts +1 -0
  18. package/app/types/merge.ts +6 -0
  19. package/app/utils/failureKinds.spec.ts +82 -0
  20. package/app/utils/failureKinds.ts +91 -0
  21. package/app/utils/riskPolicy.spec.ts +32 -1
  22. package/app/utils/riskPolicy.ts +29 -1
  23. package/i18n/locales/de.json +55 -5
  24. package/i18n/locales/en.json +61 -5
  25. package/i18n/locales/es.json +55 -5
  26. package/i18n/locales/fr.json +55 -5
  27. package/i18n/locales/he.json +55 -5
  28. package/i18n/locales/it.json +55 -5
  29. package/i18n/locales/ja.json +55 -5
  30. package/i18n/locales/pl.json +55 -5
  31. package/i18n/locales/tr.json +55 -5
  32. package/i18n/locales/uk.json +55 -5
  33. package/package.json +2 -2
@@ -447,6 +447,7 @@
447
447
  "start": "התחל",
448
448
  "blocked": "חסום",
449
449
  "startPipeline": "התחל {name}",
450
+ "startPipelineDryRun": "להתחיל את {name} כהרצת יבש: נפתחת בקשת משיכה ולא ממוזג דבר",
450
451
  "pipelineFallback": "צינור",
451
452
  "waitingOn": "ממתין ל: {deps}",
452
453
  "blockedByDependenciesTitle": "חסום על ידי תלויות",
@@ -472,6 +473,10 @@
472
473
  "body": "מריץ את \"{name}\"."
473
474
  }
474
475
  },
476
+ "dryRunToast": {
477
+ "title": "הרצת יבש החלה",
478
+ "body": "מריץ את \"{name}\". הרצות של התפקיד שלך לא ממזגות דבר במשימה הזו."
479
+ },
475
480
  "epic": {
476
481
  "label": "אפיק",
477
482
  "activeCount": "{count} פעילים",
@@ -1077,7 +1082,9 @@
1077
1082
  "chooseApproach": "בחר גישה",
1078
1083
  "triageFollowUps": "הכרע בהמשכים",
1079
1084
  "elapsedTooltip": "הזמן שחלף בשלב זה",
1080
- "reviewFindings": "עיין בממצאים"
1085
+ "reviewFindings": "עיין בממצאים",
1086
+ "dryRun": "הרצת יבש",
1087
+ "dryRunHint": "ההרצה הזו פותחת בקשת משיכה ואינה ממזגת דבר."
1081
1088
  },
1082
1089
  "structure": {
1083
1090
  "title": "מבנה",
@@ -1498,7 +1505,10 @@
1498
1505
  "title": "להעביר שירות זה לארכיון?",
1499
1506
  "body": "\"{name}\" והמשימות שלו יוסתרו מהלוח. אפשר לשחזר אותו בכל עת."
1500
1507
  },
1501
- "runBlocked": "חסום על ידי תלות אחת שלא הושלמה: {names} | חסום על ידי שתי תלויות שלא הושלמו: {names} | חסום על ידי {count} תלויות שלא הושלמו: {names}"
1508
+ "runBlocked": "חסום על ידי תלות אחת שלא הושלמה: {names} | חסום על ידי שתי תלויות שלא הושלמו: {names} | חסום על ידי {count} תלויות שלא הושלמו: {names}",
1509
+ "dryRun": "הרצת יבש: לא למזג דבר",
1510
+ "dryRunForced": "הרצת יבש: הרצות של התפקיד שלך לעולם אינן ממוזגות כאן",
1511
+ "dryRunHint": "ההרצה הזו פותחת בקשת משיכה ואינה ממזגת דבר."
1502
1512
  }
1503
1513
  },
1504
1514
  "observability": {
@@ -2879,6 +2889,19 @@
2879
2889
  "always": "למזג תמיד אוטומטית",
2880
2890
  "never": "לדרוש תמיד סקירה"
2881
2891
  }
2892
+ },
2893
+ "roleRules": {
2894
+ "heading": "מגבלות לפי תפקיד המפעיל",
2895
+ "help": "מה שהרצה רשאית לעשות תלוי גם במי שהפעיל אותה. אפשר להחיל על תפקיד כללים מחמירים יותר מאלה שלמעלה, או להגביל אותו להרצות יבשות בלבד: הפייפליין עובד ופותח בקשת משיכה, ושום דבר לא ממוזג. תפקיד יכול רק להחמיר את המדיניות הזו, לעולם לא להקל אותה.",
2896
+ "autoMergeOffWarning": "המיזוג האוטומטי כבוי בהגדרה הזאת, ולכן כל בקשת מיזוג ממילא עוברת לאדם והמגבלות לפי סוג שלמטה כבר לא מוסיפות דבר. הרצות יבשות עדיין חלות: הן מסרבות גם למיזוג ידני.",
2897
+ "sandboxLabel": "הרצות יבשות בלבד",
2898
+ "sandboxNote": "הרצות שמפעיל התפקיד הזה פותחות בקשת משיכה ואינן ממזגות דבר, ולכן הכללים לפי סוג השינוי שלמטה אינם יכולים להחמיר אותן עוד.",
2899
+ "noRules": "אין מגבלות לפי סוג",
2900
+ "ruleCount": "סוג אחד מוגבל | שני סוגים מוגבלים | {count} סוגים מוגבלים",
2901
+ "inherit": "כמו במדיניות הזו",
2902
+ "redundant": "ללא השפעה: המדיניות הזו כבר מחמירה לפחות באותה מידה.",
2903
+ "alreadyStrictest": "כבר תמיד נדרשת סקירה",
2904
+ "baseHint": "המדיניות הזו משווה את הציונים בכל סוג שינוי, ולכן תפקיד יכול להחמיר סוג רק עד דרישת סקירה."
2882
2905
  }
2883
2906
  },
2884
2907
  "observabilityConnection": {
@@ -3518,7 +3541,28 @@
3518
3541
  "maxSweepFailures": "מעברים כושלים רצופים של סריקת רקע אחת."
3519
3542
  },
3520
3543
  "notLoaded": "לא ניתן היה לטעון את ההגדרות הנוכחיות של חשבון זה, ולכן שמירה תדרוס את שאר ההגדרות. יש לטעון מחדש לפני עריכה.",
3521
- "invalidNumbers": "תקרות אלה אינן מספרים"
3544
+ "invalidNumbers": "תקרות אלה אינן מספרים",
3545
+ "failureKinds": {
3546
+ "label": "כללים לפי סוג כשל",
3547
+ "description": "התרעה כאשר סוג כשל מגיע לחלק בכשלים שהוגדר לו. תקרת הסיבה הדומיננטית שלמעלה שואלת אם סוג אחד מציף את כל השאר; הכללים כאן שואלים אם סוג מסוים הגיע למה שהפריסה הזאת מוכנה לספוג ממנו.",
3548
+ "overrideLabel": "הגדרת כללים משלו לחשבון הזה",
3549
+ "overrideHint": "כבוי, החשבון משתמש בכללים שהוגדרו בפריסה. דלוק, הרשימה שלמטה מחליפה אותם לחלוטין, ורשימה ריקה משמעה שאין כללים לפי סוג כלל.",
3550
+ "empty": "אין כללים. החשבון הזה לא יפיק התרעה לפי סוג כשל.",
3551
+ "kindLabel": "סוג כשל",
3552
+ "shareLabel": "חלק מהכשלים (%)",
3553
+ "shareHint": "הכלל פועל מהחלק הזה ומעלה.",
3554
+ "minCountLabel": "מינימום כשלים",
3555
+ "minCountPlaceholder": "1",
3556
+ "minCountHint": "כמה כשלים מהסוג הזה נדרשים בחלון לפני שהכלל יכול לפעול. בלי זה, אחוז נמוך רגיש מדי: חמש ריצות עם פינוי אחד הן כבר 20%.",
3557
+ "addRule": "הוספת כלל",
3558
+ "allKindsCovered": "לכל סוג כשל כבר יש כלל.",
3559
+ "removeRule": "הסרת כלל",
3560
+ "duplicateKind": "לכל סוג כשל אפשר להגדיר כלל אחד לכל היותר.",
3561
+ "tooManyRules": "לכל היותר {max} כללים לפי סוג. הסירו חלק לפני השמירה.",
3562
+ "unknownKind": "{kind} (לא מזוהה)",
3563
+ "invalidTitle": "לא ניתן לשמור את הכללים האלה",
3564
+ "invalidRows": "בדקו את הכללים {rows}: החלק חייב להיות גדול מ-0 ולכל היותר 100, מינימום חייב להיות מספר שלם מ-1 ומעלה, וכל סוג יכול להופיע פעם אחת בלבד."
3565
+ }
3522
3566
  }
3523
3567
  },
3524
3568
  "providers": {
@@ -5224,7 +5268,10 @@
5224
5268
  "description": "תיאור",
5225
5269
  "overallProgress": "התקדמות כוללת",
5226
5270
  "dependencies": "תלויות",
5227
- "noDependencies": "אין"
5271
+ "noDependencies": "אין",
5272
+ "dryRun": "הרצת יבש",
5273
+ "dryRunHint": "להריץ את הפייפליין ולפתוח בקשת משיכה, בלי למזג דבר.",
5274
+ "dryRunForcedHint": "מדיניות הסיכון של המשימה הזו מגבילה את התפקיד שלך להרצות יבשות."
5228
5275
  },
5229
5276
  "environments": {
5230
5277
  "title": "סביבה זמנית",
@@ -5913,7 +5960,10 @@
5913
5960
  "manualHeading": "סקירה ידנית בלבד",
5914
5961
  "manualExplainer": "מדיניות זו לעולם אינה ממזגת מעצמה, ולכן כל בקשת משיכה ממתינה לסקירה אנושית ללא קשר לניקוד.",
5915
5962
  "ciHeading": "תיקוני CI",
5916
- "ciAttempts": "ההרצה רשאית לנסות פעם אחת להחזיר CI אדום למצב ירוק לפני שהיא מוותרת. | ההרצה רשאית לנסות פעמיים להחזיר CI אדום למצב ירוק לפני שהיא מוותרת. | ההרצה רשאית לנסות {count} פעמים להחזיר CI אדום למצב ירוק לפני שהיא מוותרת."
5963
+ "ciAttempts": "ההרצה רשאית לנסות פעם אחת להחזיר CI אדום למצב ירוק לפני שהיא מוותרת. | ההרצה רשאית לנסות פעמיים להחזיר CI אדום למצב ירוק לפני שהיא מוותרת. | ההרצה רשאית לנסות {count} פעמים להחזיר CI אדום למצב ירוק לפני שהיא מוותרת.",
5964
+ "roleHeading": "מי הפעיל את ההרצה",
5965
+ "roleSandboxed": "הרצות שמפעילים {roles} פותחות בקשת משיכה ולעולם אינן ממוזגות.",
5966
+ "roleNarrowed": "על הרצות שמפעילים {roles} חלים כללים מחמירים יותר בחלק מסוגי השינוי."
5917
5967
  }
5918
5968
  },
5919
5969
  "modelPreset": {
@@ -522,6 +522,19 @@
522
522
  "always": "Unisci sempre automaticamente",
523
523
  "never": "Richiedi sempre una revisione"
524
524
  }
525
+ },
526
+ "roleRules": {
527
+ "heading": "Limiti per ruolo di chi avvia",
528
+ "help": "Ciò che un'esecuzione può fare dipende anche da chi l'ha avviata. Un ruolo può essere soggetto a regole più severe di quelle sopra, oppure alle sole prove: la pipeline lavora e apre una pull request, ma non viene unito nulla. Un ruolo può solo restringere questo criterio, mai allargarlo.",
529
+ "autoMergeOffWarning": "L'unione automatica è disattivata per questo preset, quindi ogni pull request passa già da una persona e i limiti per categoria qui sotto non aggiungono nulla. Le prove restano valide: rifiutano anche un'unione manuale.",
530
+ "sandboxLabel": "Solo prove",
531
+ "sandboxNote": "Le esecuzioni avviate da questo ruolo aprono una pull request e non uniscono nulla, quindi le regole per categoria qui sotto non possono restringerle ulteriormente.",
532
+ "noRules": "Nessun limite per categoria",
533
+ "ruleCount": "{count} categoria limitata | {count} categorie limitate",
534
+ "inherit": "Come questo criterio",
535
+ "redundant": "Nessun effetto: questo criterio è già almeno altrettanto severo.",
536
+ "alreadyStrictest": "Già sempre in revisione",
537
+ "baseHint": "Questo criterio confronta i punteggi per ogni categoria, quindi un ruolo può restringere una categoria solo fino alla revisione obbligatoria."
525
538
  }
526
539
  },
527
540
  "observabilityConnection": {
@@ -1161,7 +1174,28 @@
1161
1174
  "maxSweepFailures": "Passaggi falliti consecutivi di una scansione in background."
1162
1175
  },
1163
1176
  "notLoaded": "Non è stato possibile caricare le impostazioni correnti di questo account, quindi il salvataggio sovrascriverebbe le altre. Ricarica prima di modificare.",
1164
- "invalidNumbers": "Questi limiti non sono numeri"
1177
+ "invalidNumbers": "Questi limiti non sono numeri",
1178
+ "failureKinds": {
1179
+ "label": "Regole per tipo di errore",
1180
+ "description": "Avvisa quando un tipo di errore raggiunge la quota di errori che gli concedi. Il tetto sulla causa dominante qui sopra chiede se un tipo sta sommergendo gli altri; queste regole chiedono se un tipo specifico ha raggiunto ciò che questo deployment tollera da esso.",
1181
+ "overrideLabel": "Imposta regole per tipo proprie di questo account",
1182
+ "overrideHint": "Disattivato, l'account usa le regole configurate dal deployment. Attivato, l'elenco qui sotto le sostituisce del tutto, e un elenco vuoto significa nessuna regola per tipo.",
1183
+ "empty": "Nessuna regola. Questo account non genererà l'avviso per tipo di errore.",
1184
+ "kindLabel": "Tipo di errore",
1185
+ "shareLabel": "Quota di errori (%)",
1186
+ "shareHint": "La regola scatta da questa quota in su.",
1187
+ "minCountLabel": "Errori minimi",
1188
+ "minCountPlaceholder": "1",
1189
+ "minCountHint": "Quanti errori di quel tipo servono nella finestra prima che la regola possa scattare. Senza, una quota bassa scatta per un nulla: cinque esecuzioni con uno sfratto sono già il 20%.",
1190
+ "addRule": "Aggiungi regola",
1191
+ "allKindsCovered": "Ogni tipo di errore ha già una regola.",
1192
+ "removeRule": "Rimuovi regola",
1193
+ "duplicateKind": "Ogni tipo di errore può avere al massimo una regola.",
1194
+ "tooManyRules": "Al massimo {max} regole per tipo. Rimuovine alcune prima di salvare.",
1195
+ "unknownKind": "{kind} (non riconosciuto)",
1196
+ "invalidTitle": "Queste regole per tipo non possono essere salvate",
1197
+ "invalidRows": "Controlla le regole {rows}: la quota deve essere maggiore di 0 e al massimo 100, il minimo deve essere un numero intero da 1 in su, e ogni tipo può comparire una volta sola."
1198
+ }
1165
1199
  }
1166
1200
  },
1167
1201
  "inspector": {
@@ -1539,7 +1573,9 @@
1539
1573
  "chooseApproach": "Scegli approccio",
1540
1574
  "triageFollowUps": "Decidi i follow-up",
1541
1575
  "elapsedTooltip": "Tempo trascorso su questo passaggio",
1542
- "reviewFindings": "Esamina i rilievi"
1576
+ "reviewFindings": "Esamina i rilievi",
1577
+ "dryRun": "Prova",
1578
+ "dryRunHint": "Questa esecuzione apre una pull request e non unisce nulla."
1543
1579
  },
1544
1580
  "structure": {
1545
1581
  "title": "Struttura",
@@ -1960,7 +1996,10 @@
1960
1996
  "title": "Archiviare questo servizio?",
1961
1997
  "body": "\"{name}\" e le sue attività verranno nascosti dalla board. Puoi ripristinarlo in qualsiasi momento."
1962
1998
  },
1963
- "runBlocked": "Bloccato da una dipendenza non completata: {names} | Bloccato da {count} dipendenze non completate: {names}"
1999
+ "runBlocked": "Bloccato da una dipendenza non completata: {names} | Bloccato da {count} dipendenze non completate: {names}",
2000
+ "dryRun": "Prova: non unire nulla",
2001
+ "dryRunForced": "Prova: le esecuzioni del tuo ruolo qui non vengono mai unite",
2002
+ "dryRunHint": "Questa esecuzione apre una pull request e non unisce nulla."
1964
2003
  }
1965
2004
  },
1966
2005
  "layout": {
@@ -2819,6 +2858,7 @@
2819
2858
  "start": "Avvia",
2820
2859
  "blocked": "Bloccato",
2821
2860
  "startPipeline": "Avvia {name}",
2861
+ "startPipelineDryRun": "Avvia {name} come prova: apre una pull request e non unisce nulla",
2822
2862
  "pipelineFallback": "pipeline",
2823
2863
  "waitingOn": "In attesa di: {deps}",
2824
2864
  "blockedByDependenciesTitle": "Bloccato dalle dipendenze",
@@ -2844,6 +2884,10 @@
2844
2884
  "reviewAndApprove": "Rivedi e approva",
2845
2885
  "clickToViewStep": "Clicca per vedere i dettagli e l'output della fase"
2846
2886
  },
2887
+ "dryRunToast": {
2888
+ "title": "Prova avviata",
2889
+ "body": "Esecuzione di \"{name}\". Le esecuzioni del tuo ruolo non uniscono nulla su questa attività."
2890
+ },
2847
2891
  "epic": {
2848
2892
  "label": "Epic",
2849
2893
  "activeCount": "{count} attive",
@@ -5779,7 +5823,10 @@
5779
5823
  "description": "Descrizione",
5780
5824
  "overallProgress": "Avanzamento complessivo",
5781
5825
  "dependencies": "Dipendenze",
5782
- "noDependencies": "Nessuna"
5826
+ "noDependencies": "Nessuna",
5827
+ "dryRun": "Prova",
5828
+ "dryRunHint": "Esegui la pipeline e apri una pull request, senza unire nulla.",
5829
+ "dryRunForcedHint": "Il criterio di rischio di questa attività limita il tuo ruolo alle sole prove."
5783
5830
  },
5784
5831
  "environments": {
5785
5832
  "title": "Ambiente effimero",
@@ -6046,7 +6093,10 @@
6046
6093
  "manualHeading": "Solo revisione manuale",
6047
6094
  "manualExplainer": "Questo criterio non unisce mai da solo, quindi ogni pull request attende una revisione umana qualunque sia il punteggio.",
6048
6095
  "ciHeading": "Correzioni CI",
6049
- "ciAttempts": "L'esecuzione può fare {count} tentativo per rimettere in verde la CI prima di arrendersi. | L'esecuzione può fare {count} tentativi per rimettere in verde la CI prima di arrendersi."
6096
+ "ciAttempts": "L'esecuzione può fare {count} tentativo per rimettere in verde la CI prima di arrendersi. | L'esecuzione può fare {count} tentativi per rimettere in verde la CI prima di arrendersi.",
6097
+ "roleHeading": "Chi ha avviato l'esecuzione",
6098
+ "roleSandboxed": "Le esecuzioni avviate da {roles} aprono una pull request e non vengono mai unite.",
6099
+ "roleNarrowed": "Le esecuzioni avviate da {roles} seguono regole più severe per alcune categorie di modifica."
6050
6100
  }
6051
6101
  },
6052
6102
  "modelPreset": {
@@ -447,6 +447,7 @@
447
447
  "start": "開始",
448
448
  "blocked": "ブロック中",
449
449
  "startPipeline": "{name} を開始",
450
+ "startPipelineDryRun": "{name} をドライランで開始: プルリクエストを開き、マージはしません",
450
451
  "pipelineFallback": "パイプライン",
451
452
  "waitingOn": "待機中: {deps}",
452
453
  "blockedByDependenciesTitle": "依存関係によりブロック中",
@@ -472,6 +473,10 @@
472
473
  "body": "「{name}」を実行中です。"
473
474
  }
474
475
  },
476
+ "dryRunToast": {
477
+ "title": "ドライランを開始しました",
478
+ "body": "「{name}」を実行中です。あなたのロールの実行は、このタスクでは何もマージしません。"
479
+ },
475
480
  "epic": {
476
481
  "label": "エピック",
477
482
  "activeCount": "{count} 件アクティブ",
@@ -1077,7 +1082,9 @@
1077
1082
  "chooseApproach": "アプローチを選択",
1078
1083
  "triageFollowUps": "フォローアップを決定",
1079
1084
  "elapsedTooltip": "このステップの経過時間",
1080
- "reviewFindings": "指摘を確認"
1085
+ "reviewFindings": "指摘を確認",
1086
+ "dryRun": "ドライラン",
1087
+ "dryRunHint": "この実行はプルリクエストを開きますが、マージは行いません。"
1081
1088
  },
1082
1089
  "structure": {
1083
1090
  "title": "構造",
@@ -1498,7 +1505,10 @@
1498
1505
  "title": "このサービスをアーカイブしますか?",
1499
1506
  "body": "「{name}」とそのタスクはボードから非表示になります。いつでも復元できます。"
1500
1507
  },
1501
- "runBlocked": "未完了の依存関係によってブロックされています: {names} | {count} 件の未完了の依存関係によってブロックされています: {names}"
1508
+ "runBlocked": "未完了の依存関係によってブロックされています: {names} | {count} 件の未完了の依存関係によってブロックされています: {names}",
1509
+ "dryRun": "ドライラン: マージしない",
1510
+ "dryRunForced": "ドライラン: あなたのロールの実行はここではマージされません",
1511
+ "dryRunHint": "この実行はプルリクエストを開きますが、マージは行いません。"
1502
1512
  }
1503
1513
  },
1504
1514
  "observability": {
@@ -2879,6 +2889,19 @@
2879
2889
  "always": "常に自動マージ",
2880
2890
  "never": "常にレビューを必須にする"
2881
2891
  }
2892
+ },
2893
+ "roleRules": {
2894
+ "heading": "開始したロールごとの制限",
2895
+ "help": "実行が何をできるかは、誰が開始したかにも左右されます。ロールごとに上のルールより厳しくしたり、ドライランだけに限定したりできます。ドライランではパイプラインは動作してプルリクエストを開きますが、マージは行われません。ロールはこのポリシーを厳しくすることしかできず、緩めることはできません。",
2896
+ "autoMergeOffWarning": "このプリセットでは自動マージが無効なので、すべてのプルリクエストはすでに人の確認に回り、下のカテゴリの制限は何も加えません。ドライランは引き続き有効で、手動のマージも拒否します。",
2897
+ "sandboxLabel": "ドライランのみ",
2898
+ "sandboxNote": "このロールが開始した実行はプルリクエストを開くだけでマージしないため、下の変更カテゴリのルールでこれ以上厳しくすることはできません。",
2899
+ "noRules": "カテゴリの制限なし",
2900
+ "ruleCount": "{count} 件のカテゴリを制限 | {count} 件のカテゴリを制限",
2901
+ "inherit": "このポリシーと同じ",
2902
+ "redundant": "効果はありません。このポリシーはすでに同等以上に厳しい設定です。",
2903
+ "alreadyStrictest": "すでに常にレビュー必須",
2904
+ "baseHint": "このポリシーはすべてのカテゴリでスコアを比較するため、ロールはカテゴリを「常にレビュー必須」にすることしかできません。"
2882
2905
  }
2883
2906
  },
2884
2907
  "observabilityConnection": {
@@ -3518,7 +3541,28 @@
3518
3541
  "maxSweepFailures": "ひとつのバックグラウンド監視が連続して失敗した回数。"
3519
3542
  },
3520
3543
  "notLoaded": "このアカウントの現在の設定を読み込めなかったため、保存すると他の設定が上書きされます。編集する前に再読み込みしてください。",
3521
- "invalidNumbers": "これらの上限値が数値ではありません"
3544
+ "invalidNumbers": "これらの上限値が数値ではありません",
3545
+ "failureKinds": {
3546
+ "label": "失敗種別ごとのルール",
3547
+ "description": "ある失敗種別が、許容する失敗の割合に達したときに通知します。上のドミナント原因のしきい値は「1 つの種別が他をのみ込んでいるか」を問うものですが、これらのルールは「名指しした種別がこのデプロイで許容する範囲に達したか」を問います。",
3548
+ "overrideLabel": "このアカウント独自の種別ルールを設定する",
3549
+ "overrideHint": "オフの場合、アカウントはデプロイ側で設定されたルールを使います。オンの場合、下の一覧がそれを完全に置き換え、空の一覧は「種別ルールなし」を意味します。",
3550
+ "empty": "ルールがありません。このアカウントでは種別ごとのアラートは発報しません。",
3551
+ "kindLabel": "失敗種別",
3552
+ "shareLabel": "失敗に占める割合 (%)",
3553
+ "shareHint": "この割合以上でルールが発報します。",
3554
+ "minCountLabel": "最小失敗件数",
3555
+ "minCountPlaceholder": "1",
3556
+ "minCountHint": "ルールが発報できるようになるまでに、その種別の失敗が対象期間に何件必要かを指定します。これがないと低い割合は過敏になります。5 件の実行のうち 1 件が退避なら、それだけで 20% です。",
3557
+ "addRule": "ルールを追加",
3558
+ "allKindsCovered": "すべての失敗種別にルールが設定済みです。",
3559
+ "removeRule": "ルールを削除",
3560
+ "duplicateKind": "1 つの失敗種別に設定できるルールは 1 つまでです。",
3561
+ "tooManyRules": "種別ごとのルールは最大 {max} 件です。保存する前にいくつか削除してください。",
3562
+ "unknownKind": "{kind}(未知の種別)",
3563
+ "invalidTitle": "これらの種別ルールは保存できません",
3564
+ "invalidRows": "ルール {rows} を確認してください。割合は 0 より大きく 100 以下、最小件数は 1 以上の整数、各種別は 1 回だけ指定できます。"
3565
+ }
3522
3566
  }
3523
3567
  },
3524
3568
  "providers": {
@@ -5224,7 +5268,10 @@
5224
5268
  "description": "説明",
5225
5269
  "overallProgress": "全体の進捗",
5226
5270
  "dependencies": "依存関係",
5227
- "noDependencies": "なし"
5271
+ "noDependencies": "なし",
5272
+ "dryRun": "ドライラン",
5273
+ "dryRunHint": "パイプラインを実行してプルリクエストを開き、マージはしません。",
5274
+ "dryRunForcedHint": "このタスクのリスクポリシーにより、あなたのロールはドライランのみに制限されています。"
5228
5275
  },
5229
5276
  "environments": {
5230
5277
  "title": "一時環境",
@@ -5913,7 +5960,10 @@
5913
5960
  "manualHeading": "手動レビューのみ",
5914
5961
  "manualExplainer": "このポリシーは自動でマージしないため、点数にかかわらずすべてのプルリクエストが人のレビューを待ちます。",
5915
5962
  "ciHeading": "CI 修正",
5916
- "ciAttempts": "実行は CI を green に戻す試行を最大 {count} 回行ってから諦めます。 | 実行は CI を green に戻す試行を最大 {count} 回行ってから諦めます。"
5963
+ "ciAttempts": "実行は CI を green に戻す試行を最大 {count} 回行ってから諦めます。 | 実行は CI を green に戻す試行を最大 {count} 回行ってから諦めます。",
5964
+ "roleHeading": "実行を開始した人",
5965
+ "roleSandboxed": "{roles} が開始した実行はプルリクエストを開くだけで、マージされることはありません。",
5966
+ "roleNarrowed": "{roles} が開始した実行には、一部の変更カテゴリでより厳しいルールが適用されます。"
5917
5967
  }
5918
5968
  },
5919
5969
  "modelPreset": {
@@ -447,6 +447,7 @@
447
447
  "start": "Uruchom",
448
448
  "blocked": "Zablokowane",
449
449
  "startPipeline": "Uruchom {name}",
450
+ "startPipelineDryRun": "Uruchom {name} jako uruchomienie próbne: otwiera pull request, niczego nie scala",
450
451
  "pipelineFallback": "pipeline",
451
452
  "waitingOn": "Oczekiwanie na: {deps}",
452
453
  "blockedByDependenciesTitle": "Zablokowane przez zależności",
@@ -472,6 +473,10 @@
472
473
  "body": "Trwa wykonywanie \"{name}\"."
473
474
  }
474
475
  },
476
+ "dryRunToast": {
477
+ "title": "Uruchomiono próbnie",
478
+ "body": "Trwa wykonywanie \"{name}\". Uruchomienia twojej roli niczego nie scalają w tym zadaniu."
479
+ },
475
480
  "epic": {
476
481
  "label": "Epik",
477
482
  "activeCount": "{count} aktywnych",
@@ -1077,7 +1082,9 @@
1077
1082
  "chooseApproach": "Wybierz podejście",
1078
1083
  "triageFollowUps": "Rozstrzygnij działania następcze",
1079
1084
  "elapsedTooltip": "Czas, który upłynął na tym kroku",
1080
- "reviewFindings": "Przejrzyj ustalenia"
1085
+ "reviewFindings": "Przejrzyj ustalenia",
1086
+ "dryRun": "Uruchomienie próbne",
1087
+ "dryRunHint": "To uruchomienie otwiera pull request i niczego nie scala."
1081
1088
  },
1082
1089
  "structure": {
1083
1090
  "title": "Struktura",
@@ -1498,7 +1505,10 @@
1498
1505
  "title": "Zarchiwizować tę usługę?",
1499
1506
  "body": "„{name}” i jej zadania zostaną ukryte z tablicy. Możesz przywrócić usługę w dowolnej chwili."
1500
1507
  },
1501
- "runBlocked": "Zablokowane przez niedokończoną zależność: {names} | Zablokowane przez {count} niedokończone zależności: {names} | Zablokowane przez {count} niedokończonych zależności: {names}"
1508
+ "runBlocked": "Zablokowane przez niedokończoną zależność: {names} | Zablokowane przez {count} niedokończone zależności: {names} | Zablokowane przez {count} niedokończonych zależności: {names}",
1509
+ "dryRun": "Uruchomienie próbne: nic nie scalaj",
1510
+ "dryRunForced": "Uruchomienie próbne: uruchomienia twojej roli nigdy nie są tu scalane",
1511
+ "dryRunHint": "To uruchomienie otwiera pull request i niczego nie scala."
1502
1512
  }
1503
1513
  },
1504
1514
  "observability": {
@@ -2738,6 +2748,19 @@
2738
2748
  "always": "Zawsze scalaj automatycznie",
2739
2749
  "never": "Zawsze wymagaj przeglądu"
2740
2750
  }
2751
+ },
2752
+ "roleRules": {
2753
+ "heading": "Ograniczenia według roli uruchamiającego",
2754
+ "help": "To, co wolno uruchomieniu, zależy też od tego, kto je rozpoczął. Rolę można objąć surowszymi regułami niż powyższe albo wyłącznie uruchomieniami próbnymi: potok pracuje i otwiera pull request, ale nic nie jest scalane. Rola może tę zasadę tylko zaostrzyć, nigdy poluzować.",
2755
+ "autoMergeOffWarning": "W tym zestawie automatyczne scalanie jest wyłączone, więc każdy pull request i tak trafia do człowieka, a ograniczenia kategorii poniżej niczego nie dodają. Uruchomienia próbne nadal obowiązują: odmawiają też scalenia ręcznego.",
2756
+ "sandboxLabel": "Tylko uruchomienia próbne",
2757
+ "sandboxNote": "Uruchomienia rozpoczęte przez tę rolę otwierają pull request i niczego nie scalają, więc reguły kategorii poniżej nie mogą ich już bardziej ograniczyć.",
2758
+ "noRules": "Brak ograniczeń kategorii",
2759
+ "ruleCount": "{count} kategoria ograniczona | {count} kategorie ograniczone | {count} kategorii ograniczonych",
2760
+ "inherit": "Tak jak w tej zasadzie",
2761
+ "redundant": "Bez efektu: ta zasada jest już co najmniej tak samo surowa.",
2762
+ "alreadyStrictest": "Już zawsze przeglądane",
2763
+ "baseHint": "Ta zasada porównuje oceny w każdej kategorii, więc rola może zaostrzyć kategorię jedynie do wymogu przeglądu."
2741
2764
  }
2742
2765
  },
2743
2766
  "observabilityConnection": {
@@ -3518,7 +3541,28 @@
3518
3541
  "maxSweepFailures": "Kolejne nieudane przebiegi jednego zadania w tle."
3519
3542
  },
3520
3543
  "notLoaded": "Nie udało się wczytać bieżących ustawień tego konta, więc zapis nadpisałby pozostałe. Odśwież przed edycją.",
3521
- "invalidNumbers": "Te limity nie są liczbami"
3544
+ "invalidNumbers": "Te limity nie są liczbami",
3545
+ "failureKinds": {
3546
+ "label": "Reguły dla poszczególnych rodzajów awarii",
3547
+ "description": "Alarm, gdy jeden rodzaj awarii osiągnie dopuszczony dla niego udział w awariach. Powyższy limit dominującej przyczyny pyta, czy jeden rodzaj przytłacza pozostałe; te reguły pytają, czy wskazany rodzaj osiągnął to, co to wdrożenie z jego strony toleruje.",
3548
+ "overrideLabel": "Ustaw własne reguły tego konta",
3549
+ "overrideHint": "Wyłączone: konto korzysta z reguł skonfigurowanych we wdrożeniu. Włączone: poniższa lista zastępuje je w całości, a pusta lista oznacza brak reguł dla rodzajów awarii.",
3550
+ "empty": "Brak reguł. To konto nie zgłosi alertu dla rodzaju awarii.",
3551
+ "kindLabel": "Rodzaj awarii",
3552
+ "shareLabel": "Udział w awariach (%)",
3553
+ "shareHint": "Reguła uruchamia się od tego udziału wzwyż.",
3554
+ "minCountLabel": "Minimalna liczba awarii",
3555
+ "minCountPlaceholder": "1",
3556
+ "minCountHint": "Ile awarii tego rodzaju musi wystąpić w oknie, zanim reguła zadziała. Bez tego niski udział jest nadwrażliwy: pięć uruchomień z jednym wywłaszczeniem to już 20%.",
3557
+ "addRule": "Dodaj regułę",
3558
+ "allKindsCovered": "Każdy rodzaj awarii ma już regułę.",
3559
+ "removeRule": "Usuń regułę",
3560
+ "duplicateKind": "Każdy rodzaj awarii może mieć najwyżej jedną regułę.",
3561
+ "tooManyRules": "Najwyżej {max} reguł na rodzaj. Usuń część przed zapisaniem.",
3562
+ "unknownKind": "{kind} (nierozpoznany)",
3563
+ "invalidTitle": "Tych reguł nie można zapisać",
3564
+ "invalidRows": "Sprawdź reguły {rows}: udział musi być większy niż 0 i najwyżej 100, minimum musi być liczbą całkowitą od 1 w górę, a każdy rodzaj może wystąpić tylko raz."
3565
+ }
3522
3566
  }
3523
3567
  },
3524
3568
  "providers": {
@@ -5224,7 +5268,10 @@
5224
5268
  "description": "Opis",
5225
5269
  "overallProgress": "Ogólny postęp",
5226
5270
  "dependencies": "Zależności",
5227
- "noDependencies": "Brak"
5271
+ "noDependencies": "Brak",
5272
+ "dryRun": "Uruchomienie próbne",
5273
+ "dryRunHint": "Uruchom potok i otwórz pull request, ale niczego nie scalaj.",
5274
+ "dryRunForcedHint": "Zasada ryzyka tego zadania ogranicza twoją rolę do uruchomień próbnych."
5228
5275
  },
5229
5276
  "environments": {
5230
5277
  "title": "Środowisko efemeryczne",
@@ -5913,7 +5960,10 @@
5913
5960
  "manualHeading": "Tylko recenzja ręczna",
5914
5961
  "manualExplainer": "Ta zasada nigdy nie scala samodzielnie, więc każdy pull request czeka na ludzką recenzję niezależnie od ocen.",
5915
5962
  "ciHeading": "Naprawy CI",
5916
- "ciAttempts": "Uruchomienie może podjąć {count} próbę naprawy czerwonego CI, zanim się podda. | Uruchomienie może podjąć {count} próby naprawy czerwonego CI, zanim się podda. | Uruchomienie może podjąć {count} prób naprawy czerwonego CI, zanim się podda."
5963
+ "ciAttempts": "Uruchomienie może podjąć {count} próbę naprawy czerwonego CI, zanim się podda. | Uruchomienie może podjąć {count} próby naprawy czerwonego CI, zanim się podda. | Uruchomienie może podjąć {count} prób naprawy czerwonego CI, zanim się podda.",
5964
+ "roleHeading": "Kto rozpoczął uruchomienie",
5965
+ "roleSandboxed": "Uruchomienia rozpoczęte przez role {roles} otwierają pull request i nigdy nie są scalane.",
5966
+ "roleNarrowed": "Uruchomienia rozpoczęte przez role {roles} podlegają surowszym regułom w części kategorii zmian."
5917
5967
  }
5918
5968
  },
5919
5969
  "modelPreset": {
@@ -447,6 +447,7 @@
447
447
  "start": "Başlat",
448
448
  "blocked": "Engellendi",
449
449
  "startPipeline": "{name} başlat",
450
+ "startPipelineDryRun": "{name} prova çalışması olarak başlat: bir pull request açar, hiçbir şeyi birleştirmez",
450
451
  "pipelineFallback": "pipeline",
451
452
  "waitingOn": "Bekleniyor: {deps}",
452
453
  "blockedByDependenciesTitle": "Bağımlılıklar tarafından engellendi",
@@ -472,6 +473,10 @@
472
473
  "body": "\"{name}\" çalıştırılıyor."
473
474
  }
474
475
  },
476
+ "dryRunToast": {
477
+ "title": "Prova çalışması başladı",
478
+ "body": "\"{name}\" çalıştırılıyor. Rolünün çalıştırmaları bu görevde hiçbir şeyi birleştirmez."
479
+ },
475
480
  "epic": {
476
481
  "label": "Epik",
477
482
  "activeCount": "{count} etkin",
@@ -1077,7 +1082,9 @@
1077
1082
  "chooseApproach": "Yaklaşım seç",
1078
1083
  "triageFollowUps": "Takipleri karara bağla",
1079
1084
  "elapsedTooltip": "Bu adımda geçen süre",
1080
- "reviewFindings": "Bulguları incele"
1085
+ "reviewFindings": "Bulguları incele",
1086
+ "dryRun": "Prova çalışması",
1087
+ "dryRunHint": "Bu çalıştırma bir pull request açar ve hiçbir şeyi birleştirmez."
1081
1088
  },
1082
1089
  "structure": {
1083
1090
  "title": "Yapı",
@@ -1498,7 +1505,10 @@
1498
1505
  "title": "Bu hizmet arşivlensin mi?",
1499
1506
  "body": "\"{name}\" ve görevleri panodan gizlenecek. İstediğin zaman geri yükleyebilirsin."
1500
1507
  },
1501
- "runBlocked": "Tamamlanmamış bir bağımlılık tarafından engellendi: {names} | Tamamlanmamış {count} bağımlılık tarafından engellendi: {names}"
1508
+ "runBlocked": "Tamamlanmamış bir bağımlılık tarafından engellendi: {names} | Tamamlanmamış {count} bağımlılık tarafından engellendi: {names}",
1509
+ "dryRun": "Prova çalışması: hiçbir şeyi birleştirme",
1510
+ "dryRunForced": "Prova çalışması: rolünün başlattığı çalıştırmalar burada asla birleştirilmez",
1511
+ "dryRunHint": "Bu çalıştırma bir pull request açar ve hiçbir şeyi birleştirmez."
1502
1512
  }
1503
1513
  },
1504
1514
  "observability": {
@@ -2879,6 +2889,19 @@
2879
2889
  "always": "Her zaman otomatik birleştir",
2880
2890
  "never": "Her zaman inceleme iste"
2881
2891
  }
2892
+ },
2893
+ "roleRules": {
2894
+ "heading": "Başlatan role göre sınırlar",
2895
+ "help": "Bir çalıştırmanın ne yapabileceği, onu kimin başlattığına da bağlıdır. Bir rol yukarıdaki kurallardan daha katı kurallara ya da yalnızca prova çalışmalarına tabi tutulabilir: pipeline çalışır ve bir pull request açar, hiçbir şey birleştirilmez. Bir rol bu ilkeyi yalnızca sıkılaştırabilir, asla gevşetemez.",
2896
+ "autoMergeOffWarning": "Bu ön ayarda otomatik birleştirme kapalı, bu yüzden her pull request zaten bir kişiye gidiyor ve aşağıdaki kategori sınırları bir şey eklemiyor. Prova çalışmaları yine geçerli: elle birleştirmeyi de reddederler.",
2897
+ "sandboxLabel": "Yalnızca prova çalışmaları",
2898
+ "sandboxNote": "Bu rolün başlattığı çalıştırmalar bir pull request açar ve hiçbir şeyi birleştirmez, bu nedenle aşağıdaki kategori kuralları onları daha da katılaştıramaz.",
2899
+ "noRules": "Kategori sınırı yok",
2900
+ "ruleCount": "{count} kategori sınırlandırıldı | {count} kategori sınırlandırıldı",
2901
+ "inherit": "Bu ilkeyle aynı",
2902
+ "redundant": "Etkisi yok: bu ilke zaten en az bu kadar katı.",
2903
+ "alreadyStrictest": "Zaten her zaman inceleniyor",
2904
+ "baseHint": "Bu ilke her kategori için puanları karşılaştırır, bu yüzden bir rol bir kategoriyi yalnızca inceleme zorunluluğuna kadar sıkılaştırabilir."
2882
2905
  }
2883
2906
  },
2884
2907
  "observabilityConnection": {
@@ -3518,7 +3541,28 @@
3518
3541
  "maxSweepFailures": "Bir arka plan taramasının üst üste başarısız geçişi."
3519
3542
  },
3520
3543
  "notLoaded": "Bu hesabın mevcut ayarları yüklenemedi; kaydetmek diğerlerinin üzerine yazar. Düzenlemeden önce yeniden yükleyin.",
3521
- "invalidNumbers": "Bu üst sınırlar sayı değil"
3544
+ "invalidNumbers": "Bu üst sınırlar sayı değil",
3545
+ "failureKinds": {
3546
+ "label": "Hata türü başına kurallar",
3547
+ "description": "Bir hata türü, ona tanıdığınız hata payına ulaştığında uyarır. Yukarıdaki baskın neden tavanı bir türün diğerlerini bastırıp bastırmadığını sorar; buradaki kurallar ise adı geçen bir türün bu kurulumun ondan kabul ettiği sınıra ulaşıp ulaşmadığını sorar.",
3548
+ "overrideLabel": "Bu hesaba özel tür kuralları tanımla",
3549
+ "overrideHint": "Kapalıyken hesap, kurulumda yapılandırılan kuralları kullanır. Açıkken aşağıdaki liste onların yerini tamamen alır ve boş liste hiç tür kuralı olmaması demektir.",
3550
+ "empty": "Kural yok. Bu hesap tür bazlı uyarı üretmeyecek.",
3551
+ "kindLabel": "Hata türü",
3552
+ "shareLabel": "Hatalar içindeki pay (%)",
3553
+ "shareHint": "Kural bu paydan itibaren tetiklenir.",
3554
+ "minCountLabel": "En az hata sayısı",
3555
+ "minCountPlaceholder": "1",
3556
+ "minCountHint": "Kuralın tetiklenebilmesi için pencerede o türden kaç hata gerektiğini belirler. Bu olmadan düşük bir pay çok hassas kalır: beş çalıştırmada bir tahliye zaten %20 eder.",
3557
+ "addRule": "Kural ekle",
3558
+ "allKindsCovered": "Her hata türünün zaten bir kuralı var.",
3559
+ "removeRule": "Kuralı kaldır",
3560
+ "duplicateKind": "Her hata türü en fazla bir kural taşıyabilir.",
3561
+ "tooManyRules": "En fazla {max} tür kuralı. Kaydetmeden önce bir kısmını kaldırın.",
3562
+ "unknownKind": "{kind} (tanınmıyor)",
3563
+ "invalidTitle": "Bu tür kuralları kaydedilemiyor",
3564
+ "invalidRows": "{rows} numaralı kuralları gözden geçirin: pay 0'dan büyük ve en fazla 100 olmalı, en az sayı 1 veya üzeri bir tam sayı olmalı ve her tür yalnızca bir kez yer alabilir."
3565
+ }
3522
3566
  }
3523
3567
  },
3524
3568
  "providers": {
@@ -5224,7 +5268,10 @@
5224
5268
  "description": "Açıklama",
5225
5269
  "overallProgress": "Genel ilerleme",
5226
5270
  "dependencies": "Bağımlılıklar",
5227
- "noDependencies": "Yok"
5271
+ "noDependencies": "Yok",
5272
+ "dryRun": "Prova çalışması",
5273
+ "dryRunHint": "Pipeline'ı çalıştır ve bir pull request aç, ama hiçbir şeyi birleştirme.",
5274
+ "dryRunForcedHint": "Bu görevin risk ilkesi rolünü yalnızca prova çalışmalarıyla sınırlıyor."
5228
5275
  },
5229
5276
  "environments": {
5230
5277
  "title": "Geçici ortam",
@@ -5913,7 +5960,10 @@
5913
5960
  "manualHeading": "Yalnızca elle inceleme",
5914
5961
  "manualExplainer": "Bu ilke asla kendiliğinden birleştirmez, bu yüzden puanı ne olursa olsun her pull request insan incelemesini bekler.",
5915
5962
  "ciHeading": "CI düzeltmeleri",
5916
- "ciAttempts": "Çalıştırma, kırmızı bir CI'yi yeşile çevirmek için pes etmeden önce {count} deneme yapabilir. | Çalıştırma, kırmızı bir CI'yi yeşile çevirmek için pes etmeden önce {count} deneme yapabilir."
5963
+ "ciAttempts": "Çalıştırma, kırmızı bir CI'yi yeşile çevirmek için pes etmeden önce {count} deneme yapabilir. | Çalıştırma, kırmızı bir CI'yi yeşile çevirmek için pes etmeden önce {count} deneme yapabilir.",
5964
+ "roleHeading": "Çalıştırmayı kim başlattı",
5965
+ "roleSandboxed": "{roles} tarafından başlatılan çalıştırmalar bir pull request açar ve asla birleştirilmez.",
5966
+ "roleNarrowed": "{roles} tarafından başlatılan çalıştırmalar bazı değişiklik kategorilerinde daha katı kurallara tabidir."
5917
5967
  }
5918
5968
  },
5919
5969
  "modelPreset": {