@cat-factory/app 0.226.0 → 0.228.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 (32) hide show
  1. package/README.md +25 -0
  2. package/app/components/board/nodes/TaskCard.vue +68 -8
  3. package/app/components/outcome/OutcomeSummaryWindow.vue +614 -0
  4. package/app/components/panels/MergerResultView.vue +7 -0
  5. package/app/components/panels/ResultWindowShell.logic.spec.ts +4 -0
  6. package/app/components/panels/inspector/TaskExecution.vue +33 -0
  7. package/app/components/riskPolicy/RiskPolicyPreview.vue +6 -2
  8. package/app/components/settings/MergeRolePolicyEditor.logic.spec.ts +65 -2
  9. package/app/components/settings/MergeRolePolicyEditor.logic.ts +72 -0
  10. package/app/components/settings/MergeRolePolicyEditor.vue +133 -39
  11. package/app/components/settings/RiskPolicyPanel.vue +8 -0
  12. package/app/composables/usePipelineErrorToast.ts +4 -0
  13. package/app/composables/useRunDeepLink.ts +12 -4
  14. package/app/modular/result-views.ts +4 -0
  15. package/app/stores/ui/resultViews.ts +28 -0
  16. package/app/stores/ui.dispatch.spec.ts +55 -0
  17. package/app/types/merge.ts +2 -0
  18. package/app/utils/riskPolicy.spec.ts +21 -2
  19. package/app/utils/riskPolicy.ts +12 -0
  20. package/app/utils/runOutcome.spec.ts +492 -0
  21. package/app/utils/runOutcome.ts +509 -0
  22. package/i18n/locales/de.json +124 -6
  23. package/i18n/locales/en.json +127 -6
  24. package/i18n/locales/es.json +124 -6
  25. package/i18n/locales/fr.json +124 -6
  26. package/i18n/locales/he.json +124 -6
  27. package/i18n/locales/it.json +124 -6
  28. package/i18n/locales/ja.json +124 -6
  29. package/i18n/locales/pl.json +124 -6
  30. package/i18n/locales/tr.json +124 -6
  31. package/i18n/locales/uk.json +124 -6
  32. package/package.json +2 -2
@@ -457,6 +457,8 @@
457
457
  "pr": "PR",
458
458
  "prNumber": "PR n° {number}",
459
459
  "openPrOnGithub": "Ouvrir {pr} sur GitHub",
460
+ "readOutcome": "Résultat",
461
+ "readOutcomeHint": "Lisez ce qui a changé, avec les preuves à l'appui",
460
462
  "review": "Revoir",
461
463
  "merge": "Fusionner",
462
464
  "mergeConfirm": {
@@ -578,7 +580,8 @@
578
580
  "input_gate_parked": "Répondez-y dans la vérification d'entrée de la tâche",
579
581
  "ticket_already_linked": "Ce ticket a déjà une tâche",
580
582
  "document_already_linked": "Document déjà joint",
581
- "dry_run_not_mergeable": "Une exécution à blanc ne peut pas être fusionnée"
583
+ "dry_run_not_mergeable": "Une exécution à blanc ne peut pas être fusionnée",
584
+ "submission_not_allowed": "Fusion non autorisée pour cette exécution"
582
585
  },
583
586
  "description": {
584
587
  "dependencies_unmet": "Cette tâche dépend d'autres qui ne sont pas encore terminées. Terminez-les ou débloquez-les, puis relancez-la.",
@@ -615,7 +618,8 @@
615
618
  "input_gate_parked": "Cette exécution est en attente de sa vérification d'entrée, à laquelle la validation ne peut pas répondre. Utilisez l'avis sur l'exécution : corrigez la tâche et relancez la vérification, ou exécutez-la quand même.",
616
619
  "ticket_already_linked": "Un ticket ne peut alimenter qu'une seule tâche : le relier à nouveau priverait la tâche existante du contexte avec lequel elle a été créée. Ouvrez plutôt cette tâche, ou dissociez d'abord le ticket.",
617
620
  "document_already_linked": "Ce document est joint à une autre tâche. Détachez-le d'abord, ou joignez-en une copie distincte.",
618
- "dry_run_not_mergeable": "Cette pull request provient d'une exécution à blanc et ne peut pas être fusionnée ici. Relancez la tâche en exécution réelle pour produire une pull request que cet espace de travail fusionnera."
621
+ "dry_run_not_mergeable": "Cette pull request provient d'une exécution à blanc et ne peut pas être fusionnée ici. Relancez la tâche en exécution réelle pour produire une pull request que cet espace de travail fusionnera.",
622
+ "submission_not_allowed": "La politique de fusion de cette tâche n'autorise pas le rôle qui a lancé cette exécution à fusionner ce type de changement. Un coéquipier dont le rôle le permet peut le faire, ou un admin peut élargir la politique dans le préréglage de fusion."
619
623
  },
620
624
  "action": {
621
625
  "connectGitHub": "Connecter GitHub",
@@ -1044,6 +1048,7 @@
1044
1048
  },
1045
1049
  "prNumber": "PR n° {number}",
1046
1050
  "pullRequest": "Pull request",
1051
+ "readOutcome": "Lire le résultat",
1047
1052
  "stepState": {
1048
1053
  "pending": "En attente",
1049
1054
  "working": "En cours",
@@ -1269,6 +1274,7 @@
1269
1274
  "class_auto_merge": "Ce préréglage fusionne toujours automatiquement cette catégorie de changement : les scores n’ont donc pas été comparés.",
1270
1275
  "class_requires_review": "Ce préréglage envoie toujours cette catégorie de changement à un humain, quels que soient les scores.",
1271
1276
  "role_requires_review": "Ce préréglage soumet les exécutions lancées par un {role} à une revue humaine pour ce type de modification, quels que soient les scores. Un collègue d'un niveau supérieur peut fusionner cette PR telle quelle.",
1277
+ "submission_not_allowed": "Ce préréglage ne laisse les exécutions lancées par un {role} fusionner que ces types de changement : {classes}. Celui-ci en est un autre, donc la pull request attend quelqu'un dont le rôle peut la fusionner.",
1272
1278
  "dry_run": "Il s'agissait d'une exécution à blanc : la pull request est restée ouverte pour une personne et les scores n'ont pas été comparés. Relancez la tâche en exécution réelle pour produire une pull request que cet espace de travail fusionnera."
1273
1279
  },
1274
1280
  "scores": "Scores",
@@ -1280,7 +1286,8 @@
1280
1286
  "ceiling": "plafond {value}",
1281
1287
  "rationale": "Justification",
1282
1288
  "noAssessment": "Le fusionneur n'a pas renvoyé d'évaluation chiffrée.",
1283
- "noResult": "Aucune décision de fusion enregistrée pour le moment."
1289
+ "noResult": "Aucune décision de fusion enregistrée pour le moment.",
1290
+ "noSubmittableClasses": "aucun"
1284
1291
  },
1285
1292
  "testReport": {
1286
1293
  "title": "Rapport de test",
@@ -2768,10 +2775,15 @@
2768
2775
  },
2769
2776
  "roleRules": {
2770
2777
  "heading": "Limites selon le rôle qui lance l'exécution",
2771
- "help": "Ce qu'une exécution peut faire dépend aussi de qui l'a lancée. Un rôle peut être soumis à des règles plus strictes que celles ci-dessus, ou aux seules exécutions à blanc : le pipeline travaille et ouvre une pull request, mais rien n'est fusionné. Un rôle peut seulement durcir cette politique, jamais l'assouplir.",
2772
- "autoMergeOffWarning": "La fusion automatique est désactivée pour ce préréglage : chaque pull request passe déjà par un humain et les limites de catégorie ci-dessous n'ajoutent rien. Les exécutions à blanc restent en vigueur : elles refusent aussi une fusion manuelle.",
2778
+ "help": "Ce qu'une exécution peut faire dépend aussi de qui l'a lancée. Un rôle peut être limité à certains types de changement, tenu à des règles plus strictes que celles ci-dessus, ou limité aux exécutions à blanc : la pipeline travaille et ouvre une pull request, et rien n'est fusionné. Un rôle ne peut que restreindre cette politique, jamais l'élargir.",
2779
+ "autoMergeOffWarning": "La fusion automatique est désactivée pour ce préréglage : chaque pull request passe déjà par un humain et les limites par classe ci-dessous n'ajoutent rien. La limite de fusion et les exécutions à blanc s'appliquent toujours : toutes deux refusent aussi la fusion manuelle.",
2773
2780
  "sandboxLabel": "Exécutions à blanc uniquement",
2774
- "sandboxNote": "Les exécutions lancées par ce rôle ouvrent une pull request et ne fusionnent rien : les règles par catégorie ci-dessous ne peuvent donc rien durcir de plus.",
2781
+ "sandboxNote": "Les exécutions lancées par ce rôle ouvrent une pull request et ne fusionnent rien, donc aucune des limites ci-dessous ne peut les restreindre davantage.",
2782
+ "submissionLabel": "Limiter les changements que ce rôle peut fusionner",
2783
+ "submissionHelp": "Une fois activé, seuls les types cochés sont fusionnés pour les exécutions lancées par ce rôle. Le reste attend quelqu'un d'autre, quels que soient les scores. La pull request est quand même ouverte et reste fusionnable à la main sur l'hôte git.",
2784
+ "submissionNone": "Rien n'est coché : cet espace de travail ne fusionnera aucune exécution lancée par ce rôle.",
2785
+ "submissionBadge": "Fusion limitée",
2786
+ "classHeading": "Relecture exigée par type de changement",
2775
2787
  "noRules": "Aucune limite par catégorie",
2776
2788
  "ruleCount": "{count} catégorie limitée | {count} catégories limitées",
2777
2789
  "inherit": "Comme cette politique",
@@ -5335,6 +5347,110 @@
5335
5347
  "fixRequested": "Correction demandée"
5336
5348
  }
5337
5349
  },
5350
+ "outcome": {
5351
+ "title": "Résultat",
5352
+ "subtitle": "Ce que cette exécution a changé, et les preuves à l'appui",
5353
+ "diff": "Ouvrir le diff",
5354
+ "diffNumbered": "Ouvrir le diff (#{number})",
5355
+ "peerDiff": "Ouvrir le diff dans {repo}",
5356
+ "disposition": {
5357
+ "merged": "Fusionné",
5358
+ "awaiting_merge": "En attente de fusion",
5359
+ "in_flight": "Toujours en cours",
5360
+ "needs_attention": "Demande votre attention",
5361
+ "not_run": "Pas encore exécuté",
5362
+ "unknown": "Exécution non chargée"
5363
+ },
5364
+ "ask": {
5365
+ "title": "Ce qui était demandé",
5366
+ "none": "Cette tâche n'a pas de description, il n'y a donc rien à quoi comparer le résultat."
5367
+ },
5368
+ "gap": {
5369
+ "run_unavailable": "L'exécution de cette tâche n'a pas été chargée : les éléments qu'elle a enregistrés ne peuvent donc pas être affichés ici. Ce n'est pas la même chose qu'une exécution qui n'a rien enregistré."
5370
+ },
5371
+ "requirements": {
5372
+ "title": "Exigences vérifiées",
5373
+ "met": "Satisfaites : {count}",
5374
+ "notMet": "Non satisfaites : {count}",
5375
+ "notCovered": "Non vérifiées : {count}",
5376
+ "regressions": "Régressions : {count}",
5377
+ "regressionTag": "Régression",
5378
+ "idOnly": "identifiant seul",
5379
+ "idOnlyHint": "Cet identifiant ne figure pas dans la spécification du service, il n'y a donc aucun titre à afficher.",
5380
+ "spec": {
5381
+ "not_read": "La spécification du service n'a pas été lue : voici donc les identifiants d'exigence signalés par le testeur, sans leurs titres.",
5382
+ "unmatched": "Aucun de ces identifiants d'exigence ne figure dans la spécification du service qui a été lue ; seuls les identifiants signalés par le testeur sont affichés."
5383
+ },
5384
+ "verdict": {
5385
+ "met": "Vérifiée",
5386
+ "not_met": "En échec",
5387
+ "not_covered": "Non vérifiée"
5388
+ },
5389
+ "gap": {
5390
+ "no_tester_step": "Ce pipeline ne comporte aucune étape de test, aucune exigence n'a donc été vérifiée.",
5391
+ "tester_not_reported": "Le testeur n'a pas encore rendu son rapport, aucune exigence n'a donc été tranchée.",
5392
+ "no_verdicts": "Le testeur a rendu son rapport sans se prononcer sur la moindre exigence de la spécification."
5393
+ }
5394
+ },
5395
+ "tests": {
5396
+ "title": "Comment cela a été testé",
5397
+ "openReport": "Rapport de test complet",
5398
+ "summary": "Le testeur rapporte : {summary}",
5399
+ "abort": "Le testeur n'a pas pu réaliser de test utile : {reason}",
5400
+ "counts": "{passed} réussis, {failed} en échec, {skipped} ignorés",
5401
+ "verdict": {
5402
+ "greenlit": "Bon pour la mise en production",
5403
+ "concerns": "Réserves signalées",
5404
+ "could_not_run": "N'a pas pu être testé"
5405
+ },
5406
+ "environment": {
5407
+ "local": "Testé avec des dépendances locales",
5408
+ "ephemeral": "Testé sur un environnement de prévisualisation"
5409
+ },
5410
+ "severity": {
5411
+ "low": "Faible",
5412
+ "medium": "Moyenne",
5413
+ "high": "Élevée",
5414
+ "critical": "Critique"
5415
+ },
5416
+ "gap": {
5417
+ "no_tester_step": "Ce pipeline ne comporte aucune étape de test, rien n'a donc été exercé.",
5418
+ "tester_not_reported": "Le testeur n'a pas encore rendu son rapport."
5419
+ }
5420
+ },
5421
+ "visuals": {
5422
+ "title": "À quoi cela ressemble",
5423
+ "shotAlt": "Capture de {view}",
5424
+ "hasReference": "Une maquette de référence a été fournie pour cette vue",
5425
+ "source": {
5426
+ "visual_confirm": "Ces vues ont été comparées à leurs maquettes de référence.",
5427
+ "tester": "Ces vues ont été capturées pendant les tests. Personne n'a été invité à les relire."
5428
+ },
5429
+ "gap": {
5430
+ "no_visual_step": "Rien dans ce pipeline ne capture l'interface, il n'y a donc rien à regarder.",
5431
+ "none_captured": "L'interface devait être capturée, mais aucune vue ne l'a été."
5432
+ }
5433
+ },
5434
+ "checks": {
5435
+ "title": "Contrôles",
5436
+ "row": "{kind} : {state}",
5437
+ "kind": {
5438
+ "ci": "CI",
5439
+ "validation": "Contrôles du projet",
5440
+ "reproduction": "Reproduction du bug"
5441
+ },
5442
+ "state": {
5443
+ "pass": "réussi",
5444
+ "fail": "en échec",
5445
+ "pending": "en cours",
5446
+ "inconclusive": "non concluant"
5447
+ }
5448
+ },
5449
+ "empty": {
5450
+ "title": "Rien à afficher pour l'instant",
5451
+ "body": "Cette tâche n'a encore produit aucun résultat à lire."
5452
+ }
5453
+ },
5338
5454
  "focus": {
5339
5455
  "board": "Tableau",
5340
5456
  "typeSubtitle": "{type} · vue détaillée",
@@ -6026,6 +6142,7 @@
6026
6142
  "noneHint": "Aucune politique de risque configurée. Chaque pull request attend une revue humaine.",
6027
6143
  "refused": {
6028
6144
  "relaxes_role_sandbox": "Indisponible pour votre rôle : les exécutions de cette tâche sont isolées, et cette politique les laisserait fusionner. Un administrateur de l’espace de travail peut le changer.",
6145
+ "relaxes_role_submission_allowlist": "Indisponible pour votre rôle : cette politique vous laisserait fusionner des types de changement dont cette tâche vous prive. Un administrateur de l’espace de travail peut le changer.",
6029
6146
  "relaxes_role_class_rule": "Indisponible pour votre rôle : cette politique fusionne automatiquement des changements que vous devez relire sur cette tâche. Un administrateur de l’espace de travail peut le changer."
6030
6147
  }
6031
6148
  },
@@ -6045,6 +6162,7 @@
6045
6162
  "ciAttempts": "L'exécution peut tenter {count} fois de remettre la CI au vert avant d'abandonner. | L'exécution peut tenter {count} fois de remettre la CI au vert avant d'abandonner.",
6046
6163
  "roleHeading": "Qui a lancé l'exécution",
6047
6164
  "roleSandboxed": "Les exécutions lancées par {roles} ouvrent une pull request et ne sont jamais fusionnées.",
6165
+ "roleScoped": "Les exécutions lancées par {roles} ne fusionnent que certains types de changement.",
6048
6166
  "roleNarrowed": "Les exécutions lancées par {roles} suivent des règles plus strictes pour certaines catégories de changement."
6049
6167
  }
6050
6168
  },
@@ -457,6 +457,8 @@
457
457
  "pr": "PR",
458
458
  "prNumber": "PR #{number}",
459
459
  "openPrOnGithub": "פתח את {pr} ב-GitHub",
460
+ "readOutcome": "תוצאה",
461
+ "readOutcomeHint": "קראו מה השתנה, יחד עם הראיות לכך",
460
462
  "review": "סקירה",
461
463
  "merge": "מזג",
462
464
  "mergeConfirm": {
@@ -578,7 +580,8 @@
578
580
  "input_gate_parked": "השיבו בבדיקת הקלט של המשימה",
579
581
  "ticket_already_linked": "לכרטיס הזה כבר יש משימה",
580
582
  "document_already_linked": "המסמך כבר מצורף",
581
- "dry_run_not_mergeable": "לא ניתן למזג הרצת יבש"
583
+ "dry_run_not_mergeable": "לא ניתן למזג הרצת יבש",
584
+ "submission_not_allowed": "מיזוג אינו מותר עבור הרצה זו"
582
585
  },
583
586
  "description": {
584
587
  "dependencies_unmet": "משימה זו תלויה במשימות אחרות שטרם הושלמו. השלם או שחרר אותן, ולאחר מכן הפעל אותה שוב.",
@@ -615,7 +618,8 @@
615
618
  "input_gate_parked": "הרצה זו ממתינה לבדיקת הקלט שלה, ומסלול האישור אינו יכול להשיב עליה. השתמשו בהודעה שעל ההרצה: תקנו את המשימה ובדקו שוב, או הריצו בכל זאת.",
616
619
  "ticket_already_linked": "כרטיס יכול לגבות משימה אחת בלבד, ולכן קישור נוסף שלו ישלול מהמשימה הקיימת את ההקשר שאיתו נוצרה. פתחו את המשימה הזו במקום זאת, או בטלו קודם את קישור הכרטיס.",
617
620
  "document_already_linked": "המסמך מצורף למשימה אחרת. נתקו אותו שם תחילה, או צרפו עותק נפרד.",
618
- "dry_run_not_mergeable": "בקשת המשיכה הזו הגיעה מהרצת יבש, ולכן לא ניתן למזג אותה מכאן. הפעילו את המשימה מחדש כהרצה רגילה כדי ליצור בקשת משיכה שסביבת העבודה הזו תמזג."
621
+ "dry_run_not_mergeable": "בקשת המשיכה הזו הגיעה מהרצת יבש, ולכן לא ניתן למזג אותה מכאן. הפעילו את המשימה מחדש כהרצה רגילה כדי ליצור בקשת משיכה שסביבת העבודה הזו תמזג.",
622
+ "submission_not_allowed": "מדיניות המיזוג של המשימה הזו אינה מתירה לתפקיד שהתחיל את ההרצה למזג שינוי מסוג זה. חבר צוות שתפקידו מתיר זאת יכול למזג, או שמנהל יכול להרחיב את המדיניות בהגדרת המיזוג."
619
623
  },
620
624
  "action": {
621
625
  "connectGitHub": "חבר את GitHub",
@@ -1044,6 +1048,7 @@
1044
1048
  },
1045
1049
  "prNumber": "PR #{number}",
1046
1050
  "pullRequest": "Pull request",
1051
+ "readOutcome": "קריאת התוצאה",
1047
1052
  "stepState": {
1048
1053
  "pending": "ממתין",
1049
1054
  "working": "עובד",
@@ -1269,6 +1274,7 @@
1269
1274
  "class_auto_merge": "ההגדרה הזאת ממזגת תמיד אוטומטית שינויים מהסוג הזה, ולכן הניקוד לא הושווה.",
1270
1275
  "class_requires_review": "ההגדרה הזאת מעבירה תמיד שינויים מהסוג הזה לאדם, בלי קשר לניקוד.",
1271
1276
  "role_requires_review": "ההגדרה הזו מעבירה הרצות שהתחיל {role} לבדיקה אנושית עבור סוג השינוי הזה, ללא תלות בציונים. חבר צוות בהרשאה גבוהה יותר יכול למזג את בקשת המשיכה הזו כמו שהיא.",
1277
+ "submission_not_allowed": "ההגדרה הזו מאפשרת להרצות שהתחיל {role} למזג רק את סוגי השינויים האלה: {classes}. זהו סוג אחר, ולכן בקשת המשיכה ממתינה למי שתפקידו מתיר למזג אותה.",
1272
1278
  "dry_run": "זו הייתה הרצת יבש, ולכן בקשת המשיכה נשארה פתוחה לבדיקה אנושית והציונים לא הושוו. הפעילו את המשימה מחדש כהרצה רגילה כדי ליצור בקשת משיכה שסביבת העבודה הזו תמזג."
1273
1279
  },
1274
1280
  "scores": "ציונים",
@@ -1280,7 +1286,8 @@
1280
1286
  "ceiling": "תקרה {value}",
1281
1287
  "rationale": "נימוק",
1282
1288
  "noAssessment": "הממזג לא החזיר הערכה מדורגת.",
1283
- "noResult": "עדיין לא נרשמה החלטת מיזוג."
1289
+ "noResult": "עדיין לא נרשמה החלטת מיזוג.",
1290
+ "noSubmittableClasses": "אין"
1284
1291
  },
1285
1292
  "testReport": {
1286
1293
  "title": "דוח בדיקות",
@@ -2909,10 +2916,15 @@
2909
2916
  },
2910
2917
  "roleRules": {
2911
2918
  "heading": "מגבלות לפי תפקיד המפעיל",
2912
- "help": "מה שהרצה רשאית לעשות תלוי גם במי שהפעיל אותה. אפשר להחיל על תפקיד כללים מחמירים יותר מאלה שלמעלה, או להגביל אותו להרצות יבשות בלבד: הפייפליין עובד ופותח בקשת משיכה, ושום דבר לא ממוזג. תפקיד יכול רק להחמיר את המדיניות הזו, לעולם לא להקל אותה.",
2913
- "autoMergeOffWarning": "המיזוג האוטומטי כבוי בהגדרה הזאת, ולכן כל בקשת מיזוג ממילא עוברת לאדם והמגבלות לפי סוג שלמטה כבר לא מוסיפות דבר. הרצות יבשות עדיין חלות: הן מסרבות גם למיזוג ידני.",
2919
+ "help": "מה שהרצה רשאית לעשות תלוי גם במי שהתחיל אותה. אפשר להגביל תפקיד לסוגי שינויים מסוימים, לכפוף אותו לכללים מחמירים מאלה שלמעלה, או להגביל אותו להרצות יבשות בלבד: הצינור עובד ופותח בקשת משיכה, ודבר אינו ממוזג. תפקיד יכול רק לצמצם את המדיניות הזו, לעולם לא להרחיב אותה.",
2920
+ "autoMergeOffWarning": "מיזוג אוטומטי כבוי בהגדרה הזו, ולכן כל בקשת משיכה כבר עוברת לאדם והמגבלות לפי סוג שלמטה אינן מוסיפות דבר. הגבלת המיזוג וההרצות היבשות עדיין חלות: שתיהן מסרבות גם למיזוג ידני.",
2914
2921
  "sandboxLabel": "הרצות יבשות בלבד",
2915
- "sandboxNote": "הרצות שמפעיל התפקיד הזה פותחות בקשת משיכה ואינן ממזגות דבר, ולכן הכללים לפי סוג השינוי שלמטה אינם יכולים להחמיר אותן עוד.",
2922
+ "sandboxNote": "הרצות של תפקיד זה פותחות בקשת משיכה ואינן ממזגות דבר, ולכן אף אחת מהמגבלות שלמטה אינה יכולה להחמיר איתן יותר.",
2923
+ "submissionLabel": "הגבלת סוגי השינויים שתפקיד זה רשאי למזג",
2924
+ "submissionHelp": "כשההגבלה פעילה, בהרצות שתפקיד זה מתחיל ימוזגו רק סוגי השינויים המסומנים. כל השאר יישאר פתוח לאדם אחר, יהיו הציונים אשר יהיו. בקשת המשיכה נפתחת כרגיל, וניתן למזג אותה ידנית במארח ה-git.",
2925
+ "submissionNone": "לא סומן דבר, ולכן סביבת העבודה הזו לא תמזג אף הרצה של התפקיד הזה.",
2926
+ "submissionBadge": "מיזוג מוגבל",
2927
+ "classHeading": "הבדיקה הנדרשת לפי סוג השינוי",
2916
2928
  "noRules": "אין מגבלות לפי סוג",
2917
2929
  "ruleCount": "סוג אחד מוגבל | שני סוגים מוגבלים | {count} סוגים מוגבלים",
2918
2930
  "inherit": "כמו במדיניות הזו",
@@ -5335,6 +5347,110 @@
5335
5347
  "fixRequested": "התבקש תיקון"
5336
5348
  }
5337
5349
  },
5350
+ "outcome": {
5351
+ "title": "תוצאה",
5352
+ "subtitle": "מה השתנה בהרצה הזאת, והראיות לכך",
5353
+ "diff": "פתיחת ההבדלים",
5354
+ "diffNumbered": "פתיחת ההבדלים (#{number})",
5355
+ "peerDiff": "פתיחת ההבדלים ב-{repo}",
5356
+ "disposition": {
5357
+ "merged": "מוזג",
5358
+ "awaiting_merge": "ממתין למיזוג",
5359
+ "in_flight": "עדיין רץ",
5360
+ "needs_attention": "דורש טיפול",
5361
+ "not_run": "טרם הורץ",
5362
+ "unknown": "ההרצה לא נטענה"
5363
+ },
5364
+ "ask": {
5365
+ "title": "מה התבקש",
5366
+ "none": "למשימה הזאת אין תיאור, ולכן אין מול מה להשוות את התוצאה."
5367
+ },
5368
+ "gap": {
5369
+ "run_unavailable": "ההרצה של המשימה הזאת לא נטענה, ולכן הראיות שהיא תיעדה לא מוצגות כאן. זה לא אותו דבר כמו הרצה שלא תיעדה כלום."
5370
+ },
5371
+ "requirements": {
5372
+ "title": "דרישות שנבדקו",
5373
+ "met": "מתקיימות: {count}",
5374
+ "notMet": "לא מתקיימות: {count}",
5375
+ "notCovered": "לא נבדקו: {count}",
5376
+ "regressions": "נסיגות: {count}",
5377
+ "regressionTag": "נסיגה",
5378
+ "idOnly": "מזהה בלבד",
5379
+ "idOnlyHint": "המזהה הזה לא נמצא במפרט השירות, ולכן אין כותרת להציג עבורו.",
5380
+ "spec": {
5381
+ "not_read": "מפרט השירות לא נקרא, ולכן אלה מזהי הדרישות שהבודק דיווח עליהם, בלי הכותרות שלהם.",
5382
+ "unmatched": "אף אחד ממזהי הדרישות האלה לא מופיע במפרט השירות שנקרא, ולכן מוצגים רק המזהים שהבודק דיווח עליהם."
5383
+ },
5384
+ "verdict": {
5385
+ "met": "אומת",
5386
+ "not_met": "נכשלה",
5387
+ "not_covered": "לא נבדקה"
5388
+ },
5389
+ "gap": {
5390
+ "no_tester_step": "בצינור הזה אין שלב בדיקות, ולכן שום דרישה לא נבדקה.",
5391
+ "tester_not_reported": "הבודק עדיין לא דיווח, ולכן לא הוכרעה שום דרישה.",
5392
+ "no_verdicts": "הבודק דיווח בלי להכריע לגבי אף דרישה במפרט."
5393
+ }
5394
+ },
5395
+ "tests": {
5396
+ "title": "איך זה נבדק",
5397
+ "openReport": "דוח הבדיקות המלא",
5398
+ "summary": "הבודק מדווח: {summary}",
5399
+ "abort": "הבודק לא הצליח לבצע בדיקה משמעותית: {reason}",
5400
+ "counts": "{passed} עברו, {failed} נכשלו, {skipped} דולגו",
5401
+ "verdict": {
5402
+ "greenlit": "מוכן לשחרור",
5403
+ "concerns": "הועלו חששות",
5404
+ "could_not_run": "לא ניתן היה לבדוק"
5405
+ },
5406
+ "environment": {
5407
+ "local": "נבדק מול תלויות מקומיות",
5408
+ "ephemeral": "נבדק מול סביבת תצוגה מקדימה"
5409
+ },
5410
+ "severity": {
5411
+ "low": "נמוכה",
5412
+ "medium": "בינונית",
5413
+ "high": "גבוהה",
5414
+ "critical": "קריטית"
5415
+ },
5416
+ "gap": {
5417
+ "no_tester_step": "בצינור הזה אין שלב בדיקות, ולכן שום דבר לא הופעל.",
5418
+ "tester_not_reported": "הבודק עדיין לא דיווח."
5419
+ }
5420
+ },
5421
+ "visuals": {
5422
+ "title": "איך זה נראה",
5423
+ "shotAlt": "צילום מסך של {view}",
5424
+ "hasReference": "עבור התצוגה הזאת סופק עיצוב ייחוס",
5425
+ "source": {
5426
+ "visual_confirm": "התצוגות האלה הושוו לעיצובי הייחוס שלהן.",
5427
+ "tester": "התצוגות האלה צולמו במהלך הבדיקות. איש לא התבקש לסקור אותן."
5428
+ },
5429
+ "gap": {
5430
+ "no_visual_step": "שום דבר בצינור הזה לא מצלם את הממשק, ולכן אין מה לראות.",
5431
+ "none_captured": "הממשק היה אמור להיות מצולם, אך שום תצוגה לא נלכדה."
5432
+ }
5433
+ },
5434
+ "checks": {
5435
+ "title": "בדיקות",
5436
+ "row": "{kind}: {state}",
5437
+ "kind": {
5438
+ "ci": "CI",
5439
+ "validation": "בדיקות הפרויקט",
5440
+ "reproduction": "שחזור התקלה"
5441
+ },
5442
+ "state": {
5443
+ "pass": "עברה",
5444
+ "fail": "נכשלה",
5445
+ "pending": "עדיין רצה",
5446
+ "inconclusive": "ללא הכרעה"
5447
+ }
5448
+ },
5449
+ "empty": {
5450
+ "title": "אין עדיין מה להציג",
5451
+ "body": "המשימה הזאת עדיין לא הפיקה תוצאה לקריאה."
5452
+ }
5453
+ },
5338
5454
  "focus": {
5339
5455
  "board": "לוח",
5340
5456
  "typeSubtitle": "{type} · תצוגת מיקוד",
@@ -6026,6 +6142,7 @@
6026
6142
  "noneHint": "לא הוגדרה מדיניות סיכון. כל בקשת משיכה ממתינה לסקירה אנושית.",
6027
6143
  "refused": {
6028
6144
  "relaxes_role_sandbox": "לא זמין לתפקיד שלך: ההרצות של משימה זו מבודדות, והמדיניות הזו הייתה מאפשרת למזג אותן. מנהל סביבת העבודה יכול לשנות זאת.",
6145
+ "relaxes_role_submission_allowlist": "לא זמין לתפקיד שלך: המדיניות הזו הייתה מאפשרת לך למזג סוגי שינויים שמשימה זו מונעת ממך. מנהל סביבת העבודה יכול לשנות זאת.",
6029
6146
  "relaxes_role_class_rule": "לא זמין לתפקיד שלך: המדיניות הזו ממזגת אוטומטית שינויים שאתה נדרש לבדוק במשימה זו. מנהל סביבת העבודה יכול לשנות זאת."
6030
6147
  }
6031
6148
  },
@@ -6045,6 +6162,7 @@
6045
6162
  "ciAttempts": "ההרצה רשאית לנסות פעם אחת להחזיר CI אדום למצב ירוק לפני שהיא מוותרת. | ההרצה רשאית לנסות פעמיים להחזיר CI אדום למצב ירוק לפני שהיא מוותרת. | ההרצה רשאית לנסות {count} פעמים להחזיר CI אדום למצב ירוק לפני שהיא מוותרת.",
6046
6163
  "roleHeading": "מי הפעיל את ההרצה",
6047
6164
  "roleSandboxed": "הרצות שמפעילים {roles} פותחות בקשת משיכה ולעולם אינן ממוזגות.",
6165
+ "roleScoped": "הרצות שהתחילו {roles} ממזגות רק חלק מסוגי השינויים.",
6048
6166
  "roleNarrowed": "על הרצות שמפעילים {roles} חלים כללים מחמירים יותר בחלק מסוגי השינוי."
6049
6167
  }
6050
6168
  },
@@ -525,10 +525,15 @@
525
525
  },
526
526
  "roleRules": {
527
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.",
528
+ "help": "Ciò che un'esecuzione può fare dipende anche da chi l'ha avviata. Un ruolo può essere limitato a certi tipi di modifica, tenuto a regole più severe di quelle sopra, oppure limitato alle prove: la pipeline lavora e apre una pull request, e non viene unito nulla. Un ruolo può solo restringere questa politica, mai ampliarla.",
529
+ "autoMergeOffWarning": "L'unione automatica è disattivata per questo preset, quindi ogni pull request passa già da una persona e i limiti per classe qui sotto non aggiungono nulla. Il limite di unione e le prove restano validi: entrambi rifiutano anche l'unione manuale.",
530
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.",
531
+ "sandboxNote": "Le esecuzioni di questo ruolo aprono una pull request e non uniscono nulla, quindi nessuno dei limiti qui sotto può renderle più severe.",
532
+ "submissionLabel": "Limita quali modifiche questo ruolo può unire",
533
+ "submissionHelp": "Se attivo, nelle esecuzioni avviate da questo ruolo vengono unite solo le tipologie selezionate. Il resto resta aperto per qualcun altro, quali che siano i punteggi. La pull request viene comunque aperta e può essere unita a mano sull'host git.",
534
+ "submissionNone": "Non è selezionato nulla, quindi questo spazio di lavoro non unirà nessuna esecuzione di questo ruolo.",
535
+ "submissionBadge": "Unione limitata",
536
+ "classHeading": "Revisione richiesta per tipo di modifica",
532
537
  "noRules": "Nessun limite per categoria",
533
538
  "ruleCount": "{count} categoria limitata | {count} categorie limitate",
534
539
  "inherit": "Come questo criterio",
@@ -1579,6 +1584,7 @@
1579
1584
  },
1580
1585
  "prNumber": "PR n. {number}",
1581
1586
  "pullRequest": "Pull request",
1587
+ "readOutcome": "Leggi l'esito",
1582
1588
  "stepState": {
1583
1589
  "pending": "In attesa",
1584
1590
  "working": "In lavorazione",
@@ -1800,6 +1806,7 @@
1800
1806
  "class_auto_merge": "Questo preset unisce sempre automaticamente questa categoria di modifica, quindi i punteggi non sono stati confrontati.",
1801
1807
  "class_requires_review": "Questo preset invia sempre questa categoria di modifica a una persona, indipendentemente dai punteggi.",
1802
1808
  "role_requires_review": "Questa impostazione sottopone a revisione umana le esecuzioni avviate da un {role} per questo tipo di modifica, qualunque siano i punteggi. Un collega di livello superiore può unire questa PR così com’è.",
1809
+ "submission_not_allowed": "Questo preset consente alle esecuzioni avviate da un {role} di unire solo questi tipi di modifica: {classes}. Questa è di un altro tipo, quindi la pull request attende qualcuno il cui ruolo possa unirla.",
1803
1810
  "dry_run": "Questa era una prova, quindi la pull request è rimasta aperta per una persona e i punteggi non sono stati confrontati. Riavvia l’attività come esecuzione reale per produrre una pull request che questo spazio di lavoro unirà."
1804
1811
  },
1805
1812
  "scores": "Punteggi",
@@ -1811,7 +1818,8 @@
1811
1818
  "ceiling": "limite massimo {value}",
1812
1819
  "rationale": "Motivazione",
1813
1820
  "noAssessment": "Il merger non ha restituito una valutazione con punteggio.",
1814
- "noResult": "Nessuna decisione di merge ancora registrata."
1821
+ "noResult": "Nessuna decisione di merge ancora registrata.",
1822
+ "noSubmittableClasses": "nessuno"
1815
1823
  },
1816
1824
  "testReport": {
1817
1825
  "title": "Report di test",
@@ -2927,6 +2935,8 @@
2927
2935
  "pr": "PR",
2928
2936
  "prNumber": "PR #{number}",
2929
2937
  "openPrOnGithub": "Apri {pr} su GitHub",
2938
+ "readOutcome": "Esito",
2939
+ "readOutcomeHint": "Leggi che cosa è cambiato, con le prove che lo sostengono",
2930
2940
  "review": "Rivedi",
2931
2941
  "merge": "Unisci",
2932
2942
  "mergeConfirm": {
@@ -5271,7 +5281,8 @@
5271
5281
  "input_gate_parked": "Rispondi nel controllo di input dell'attività",
5272
5282
  "ticket_already_linked": "Questo ticket ha già un'attività",
5273
5283
  "document_already_linked": "Documento già allegato",
5274
- "dry_run_not_mergeable": "Una prova non può essere unita"
5284
+ "dry_run_not_mergeable": "Una prova non può essere unita",
5285
+ "submission_not_allowed": "Unione non consentita per questa esecuzione"
5275
5286
  },
5276
5287
  "description": {
5277
5288
  "dependencies_unmet": "Questa attività dipende da altre non ancora completate. Completale o sbloccale, poi avviala di nuovo.",
@@ -5308,7 +5319,8 @@
5308
5319
  "input_gate_parked": "Questa esecuzione è in attesa del suo controllo di input, a cui l'approvazione non può rispondere. Usa l'avviso sull'esecuzione: correggi l'attività e ricontrolla, oppure eseguila comunque.",
5309
5320
  "ticket_already_linked": "Un ticket può sostenere una sola attività, quindi ricollegarlo toglierebbe all'attività esistente il contesto con cui è stata creata. Apri invece quell'attività, oppure scollega prima il ticket.",
5310
5321
  "document_already_linked": "Quel documento è allegato a un'altra attività. Scollegalo prima da lì oppure allega una copia separata.",
5311
- "dry_run_not_mergeable": "Questa pull request proviene da una prova, quindi non può essere unita da qui. Riavvia l’attività come esecuzione reale per produrre una pull request che questo spazio di lavoro unirà."
5322
+ "dry_run_not_mergeable": "Questa pull request proviene da una prova, quindi non può essere unita da qui. Riavvia l’attività come esecuzione reale per produrre una pull request che questo spazio di lavoro unirà.",
5323
+ "submission_not_allowed": "La politica di unione di questa attività non consente al ruolo che ha avviato l'esecuzione di unire questo tipo di modifica. Un collega il cui ruolo lo consente può farlo, oppure un amministratore può ampliare la politica nel preset di unione."
5312
5324
  },
5313
5325
  "action": {
5314
5326
  "connectGitHub": "Collega GitHub",
@@ -5890,6 +5902,110 @@
5890
5902
  "fixRequested": "Correzione richiesta"
5891
5903
  }
5892
5904
  },
5905
+ "outcome": {
5906
+ "title": "Esito",
5907
+ "subtitle": "Che cosa ha cambiato questa esecuzione, e le prove che lo sostengono",
5908
+ "diff": "Apri il diff",
5909
+ "diffNumbered": "Apri il diff (#{number})",
5910
+ "peerDiff": "Apri il diff in {repo}",
5911
+ "disposition": {
5912
+ "merged": "Unito",
5913
+ "awaiting_merge": "In attesa di essere unito",
5914
+ "in_flight": "Ancora in corso",
5915
+ "needs_attention": "Richiede attenzione",
5916
+ "not_run": "Non ancora eseguito",
5917
+ "unknown": "Esecuzione non caricata"
5918
+ },
5919
+ "ask": {
5920
+ "title": "Che cosa era stato chiesto",
5921
+ "none": "Questa attività non ha una descrizione, quindi non c'è nulla con cui confrontare l'esito."
5922
+ },
5923
+ "gap": {
5924
+ "run_unavailable": "L'esecuzione di questa attività non è stata caricata, quindi le prove che ha registrato non possono essere mostrate qui. Non è la stessa cosa di un'esecuzione che non ha registrato nulla."
5925
+ },
5926
+ "requirements": {
5927
+ "title": "Requisiti verificati",
5928
+ "met": "Soddisfatti: {count}",
5929
+ "notMet": "Non soddisfatti: {count}",
5930
+ "notCovered": "Non verificati: {count}",
5931
+ "regressions": "Regressioni: {count}",
5932
+ "regressionTag": "Regressione",
5933
+ "idOnly": "solo id",
5934
+ "idOnlyHint": "Questo identificatore non è nella specifica del servizio, quindi non c'è alcun titolo da mostrare.",
5935
+ "spec": {
5936
+ "not_read": "La specifica del servizio non è stata letta, quindi questi sono gli identificatori dei requisiti riportati dal tester, senza i loro titoli.",
5937
+ "unmatched": "Nessuno di questi identificatori di requisito compare nella specifica del servizio che è stata letta, quindi vengono mostrati solo gli identificatori riportati dal tester."
5938
+ },
5939
+ "verdict": {
5940
+ "met": "Verificato",
5941
+ "not_met": "Fallito",
5942
+ "not_covered": "Non verificato"
5943
+ },
5944
+ "gap": {
5945
+ "no_tester_step": "Questa pipeline non ha un passo di test, quindi non è stato verificato alcun requisito.",
5946
+ "tester_not_reported": "Il tester non ha ancora riportato nulla, quindi nessun requisito è stato deciso.",
5947
+ "no_verdicts": "Il tester ha riportato senza pronunciarsi su alcun requisito della specifica."
5948
+ }
5949
+ },
5950
+ "tests": {
5951
+ "title": "Come è stato testato",
5952
+ "openReport": "Rapporto di test completo",
5953
+ "summary": "Il tester riferisce: {summary}",
5954
+ "abort": "Il tester non è riuscito a eseguire un test significativo: {reason}",
5955
+ "counts": "{passed} superati, {failed} falliti, {skipped} saltati",
5956
+ "verdict": {
5957
+ "greenlit": "Pronto per il rilascio",
5958
+ "concerns": "Sollevati dei dubbi",
5959
+ "could_not_run": "Non è stato possibile testarlo"
5960
+ },
5961
+ "environment": {
5962
+ "local": "Testato con dipendenze locali",
5963
+ "ephemeral": "Testato su un ambiente di anteprima"
5964
+ },
5965
+ "severity": {
5966
+ "low": "Bassa",
5967
+ "medium": "Media",
5968
+ "high": "Alta",
5969
+ "critical": "Critica"
5970
+ },
5971
+ "gap": {
5972
+ "no_tester_step": "Questa pipeline non ha un passo di test, quindi non è stato eseguito nulla.",
5973
+ "tester_not_reported": "Il tester non ha ancora riportato nulla."
5974
+ }
5975
+ },
5976
+ "visuals": {
5977
+ "title": "Che aspetto ha",
5978
+ "shotAlt": "Schermata di {view}",
5979
+ "hasReference": "Per questa vista è stato fornito un progetto di riferimento",
5980
+ "source": {
5981
+ "visual_confirm": "Queste viste sono state confrontate con i progetti di riferimento.",
5982
+ "tester": "Queste viste sono state catturate durante i test. Nessuno è stato invitato a rivederle."
5983
+ },
5984
+ "gap": {
5985
+ "no_visual_step": "In questa pipeline nulla cattura l'interfaccia, quindi non c'è nulla da guardare.",
5986
+ "none_captured": "L'interfaccia doveva essere catturata, ma non è stata catturata alcuna vista."
5987
+ }
5988
+ },
5989
+ "checks": {
5990
+ "title": "Controlli",
5991
+ "row": "{kind}: {state}",
5992
+ "kind": {
5993
+ "ci": "CI",
5994
+ "validation": "Controlli del progetto",
5995
+ "reproduction": "Riproduzione del bug"
5996
+ },
5997
+ "state": {
5998
+ "pass": "superato",
5999
+ "fail": "fallito",
6000
+ "pending": "ancora in corso",
6001
+ "inconclusive": "non conclusivo"
6002
+ }
6003
+ },
6004
+ "empty": {
6005
+ "title": "Ancora nulla da mostrare",
6006
+ "body": "Questa attività non ha ancora prodotto un esito da leggere."
6007
+ }
6008
+ },
5893
6009
  "focus": {
5894
6010
  "board": "Board",
5895
6011
  "typeSubtitle": "{type} · vista focus",
@@ -6159,6 +6275,7 @@
6159
6275
  "noneHint": "Nessun criterio di rischio configurato. Ogni pull request attende una revisione umana.",
6160
6276
  "refused": {
6161
6277
  "relaxes_role_sandbox": "Non disponibile per il tuo ruolo: le esecuzioni di questa attività sono isolate e questo criterio ne consentirebbe il merge. Un amministratore dello spazio di lavoro può cambiarlo.",
6278
+ "relaxes_role_submission_allowlist": "Non disponibile per il tuo ruolo: questo criterio ti permetterebbe di unire tipi di modifica che questa attività ti preclude. Un amministratore dello spazio di lavoro può cambiarlo.",
6162
6279
  "relaxes_role_class_rule": "Non disponibile per il tuo ruolo: questo criterio unisce automaticamente modifiche che devi revisionare in questa attività. Un amministratore dello spazio di lavoro può cambiarlo."
6163
6280
  }
6164
6281
  },
@@ -6178,6 +6295,7 @@
6178
6295
  "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.",
6179
6296
  "roleHeading": "Chi ha avviato l'esecuzione",
6180
6297
  "roleSandboxed": "Le esecuzioni avviate da {roles} aprono una pull request e non vengono mai unite.",
6298
+ "roleScoped": "Le esecuzioni avviate da {roles} uniscono solo alcuni tipi di modifica.",
6181
6299
  "roleNarrowed": "Le esecuzioni avviate da {roles} seguono regole più severe per alcune categorie di modifica."
6182
6300
  }
6183
6301
  },