mustflow 1.31.0 → 2.16.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.
- package/README.md +23 -9
- package/dist/cli/commands/classify.js +61 -6
- package/dist/cli/commands/contract-lint.js +13 -4
- package/dist/cli/commands/dashboard.js +77 -2
- package/dist/cli/commands/explain-verify.js +11 -1
- package/dist/cli/commands/index.js +14 -0
- package/dist/cli/commands/run.js +4 -1
- package/dist/cli/commands/verify.js +986 -43
- package/dist/cli/i18n/en.js +61 -10
- package/dist/cli/i18n/es.js +61 -10
- package/dist/cli/i18n/fr.js +61 -10
- package/dist/cli/i18n/hi.js +61 -10
- package/dist/cli/i18n/ko.js +61 -10
- package/dist/cli/i18n/zh.js +61 -10
- package/dist/cli/lib/dashboard-export.js +62 -12
- package/dist/cli/lib/dashboard-html/client-script.js +1936 -0
- package/dist/cli/lib/dashboard-html/locale-bootstrap.js +8 -0
- package/dist/cli/lib/dashboard-html/styles.js +572 -0
- package/dist/cli/lib/dashboard-html/template.js +134 -0
- package/dist/cli/lib/dashboard-html/types.js +1 -0
- package/dist/cli/lib/dashboard-html.js +1 -1907
- package/dist/cli/lib/dashboard-locale.js +37 -0
- package/dist/cli/lib/local-index/constants.js +48 -0
- package/dist/cli/lib/local-index/index.js +2951 -0
- package/dist/cli/lib/local-index/sql.js +15 -0
- package/dist/cli/lib/local-index/types.js +1 -0
- package/dist/cli/lib/local-index.js +1 -1911
- package/dist/cli/lib/run-plan.js +76 -1
- package/dist/cli/lib/templates.js +18 -1
- package/dist/cli/lib/validation/command-intents.js +11 -0
- package/dist/cli/lib/validation/constants.js +238 -0
- package/dist/cli/lib/validation/index.js +1384 -0
- package/dist/cli/lib/validation/primitives.js +198 -0
- package/dist/cli/lib/validation/test-selection.js +95 -0
- package/dist/cli/lib/validation/types.js +1 -0
- package/dist/cli/lib/validation.js +1 -1770
- package/dist/core/check-issues.js +6 -0
- package/dist/core/completion-verdict.js +341 -0
- package/dist/core/contract-lint.js +221 -6
- package/dist/core/external-evidence.js +9 -0
- package/dist/core/public-json-contracts.js +21 -0
- package/dist/core/repeated-failure.js +179 -0
- package/dist/core/repro-evidence.js +134 -0
- package/dist/core/scope-risk.js +64 -0
- package/dist/core/skill-route-alignment.js +20 -0
- package/dist/core/source-anchor-status.js +4 -1
- package/dist/core/test-selection.js +3 -0
- package/dist/core/validation-ratchet.js +196 -0
- package/dist/core/verification-evidence.js +249 -0
- package/examples/README.md +12 -4
- package/package.json +3 -3
- package/schemas/README.md +13 -3
- package/schemas/change-verification-report.schema.json +16 -2
- package/schemas/commands.schema.json +4 -0
- package/schemas/contract-lint-report.schema.json +29 -0
- package/schemas/dashboard-export.schema.json +310 -0
- package/schemas/explain-report.schema.json +173 -1
- package/schemas/latest-run-pointer.schema.json +601 -0
- package/schemas/run-receipt.schema.json +4 -0
- package/schemas/test-selection.schema.json +81 -0
- package/schemas/verify-report.schema.json +578 -1
- package/schemas/verify-run-manifest.schema.json +627 -0
- package/templates/default/i18n.toml +1 -1
- package/templates/default/locales/en/.mustflow/skills/INDEX.md +124 -29
- package/templates/default/locales/en/.mustflow/skills/routes.toml +289 -0
- package/templates/default/manifest.toml +29 -2
package/dist/cli/i18n/en.js
CHANGED
|
@@ -56,6 +56,7 @@ export const enMessages = {
|
|
|
56
56
|
"check.result.strictPassed": "mustflow strict check passed",
|
|
57
57
|
"contractLint.help.summary": "Inspect .mustflow/config/commands.toml for command-contract errors and warnings.",
|
|
58
58
|
"contractLint.help.option.coverage": "Also report required_after coverage for change-classification reasons",
|
|
59
|
+
"contractLint.help.option.suggest": "Suggest non-runnable intent snippets from package.json, Makefile, or justfile",
|
|
59
60
|
"contractLint.help.exit.ok": "The command contract was inspected without blocking errors",
|
|
60
61
|
"contractLint.help.exit.fail": "Command-contract errors were found or input was invalid",
|
|
61
62
|
"contractLint.title": "mustflow contract-lint",
|
|
@@ -73,6 +74,7 @@ export const enMessages = {
|
|
|
73
74
|
"contractLint.label.requiredAfterReasons": "required_after reasons",
|
|
74
75
|
"contractLint.label.runnableReasons": "Runnable reasons",
|
|
75
76
|
"contractLint.label.coverageFindings": "Coverage findings",
|
|
77
|
+
"contractLint.label.suggestions": "Suggestions",
|
|
76
78
|
"contractLint.label.issues": "Issues",
|
|
77
79
|
"context.help.summary": "Print the agent context for the current mustflow root.",
|
|
78
80
|
"context.help.option.json": "Print machine-readable context JSON",
|
|
@@ -149,12 +151,28 @@ export const enMessages = {
|
|
|
149
151
|
"dashboard.ui.unsavedChanges": "Unsaved changes",
|
|
150
152
|
"dashboard.ui.reloaded": "Reloaded",
|
|
151
153
|
"dashboard.ui.saved": "Saved",
|
|
154
|
+
"dashboard.ui.loading": "Loading",
|
|
155
|
+
"dashboard.ui.lastUpdated": "Last updated: {time}",
|
|
156
|
+
"dashboard.ui.copied": "Copied",
|
|
152
157
|
"dashboard.ui.reload": "Reload",
|
|
153
158
|
"dashboard.ui.save": "Save",
|
|
154
159
|
"dashboard.ui.locked": "Locked",
|
|
155
160
|
"dashboard.ui.customLocale": "Custom language tag",
|
|
156
161
|
"dashboard.ui.openMustflow": "Open .mustflow folder",
|
|
157
162
|
"dashboard.ui.openedMustflow": ".mustflow folder opened",
|
|
163
|
+
"dashboard.settings.pendingHeading": "Unsaved settings ({count})",
|
|
164
|
+
"dashboard.settings.pendingItem": "{name}: {from} -> {to}",
|
|
165
|
+
"dashboard.settings.resetChanges": "Reset changes",
|
|
166
|
+
"dashboard.filter.search": "Search",
|
|
167
|
+
"dashboard.filter.searchPlaceholder": "name, path, command, or reason",
|
|
168
|
+
"dashboard.filter.state": "State",
|
|
169
|
+
"dashboard.filter.all": "All",
|
|
170
|
+
"dashboard.filter.runnable": "Runnable",
|
|
171
|
+
"dashboard.filter.unavailable": "Unavailable",
|
|
172
|
+
"dashboard.filter.aligned": "Aligned",
|
|
173
|
+
"dashboard.filter.mismatch": "Mismatch",
|
|
174
|
+
"dashboard.filter.missing": "Missing",
|
|
175
|
+
"dashboard.filter.noMatches": "No matching items.",
|
|
158
176
|
"dashboard.tab.status": "Status",
|
|
159
177
|
"dashboard.tab.verification": "Verification",
|
|
160
178
|
"dashboard.tab.commands": "Commands",
|
|
@@ -164,6 +182,24 @@ export const enMessages = {
|
|
|
164
182
|
"dashboard.tab.skills": "Skills",
|
|
165
183
|
"dashboard.tab.settings": "Settings",
|
|
166
184
|
"dashboard.tab.documents": "Documents",
|
|
185
|
+
"dashboard.actions.heading": "Next actions",
|
|
186
|
+
"dashboard.actions.empty": "No actions.",
|
|
187
|
+
"dashboard.actions.missingFiles": "Missing files: {count}",
|
|
188
|
+
"dashboard.actions.manifestIssues": "Issues: {count}",
|
|
189
|
+
"dashboard.actions.verification": "Verification recommendations: {count}",
|
|
190
|
+
"dashboard.actions.updateBlockers": "Update blockers: {count}",
|
|
191
|
+
"dashboard.actions.documents": "Documents needing review: {count}",
|
|
192
|
+
"dashboard.actions.latestRun": "Latest run needs attention",
|
|
193
|
+
"dashboard.actions.openStatus": "Open status",
|
|
194
|
+
"dashboard.actions.openVerification": "Open verification",
|
|
195
|
+
"dashboard.actions.openUpdate": "Open update",
|
|
196
|
+
"dashboard.actions.openDocuments": "Open documents",
|
|
197
|
+
"dashboard.actions.openRuns": "Open runs",
|
|
198
|
+
"dashboard.a11y.state.ok": "OK",
|
|
199
|
+
"dashboard.a11y.state.warn": "Needs attention",
|
|
200
|
+
"dashboard.a11y.state.neutral": "Status",
|
|
201
|
+
"dashboard.a11y.copyCommand": "Copy command: {command}",
|
|
202
|
+
"dashboard.a11y.copyVerificationPlan": "Copy verification plan",
|
|
167
203
|
"dashboard.status.reloaded": "Status reloaded",
|
|
168
204
|
"dashboard.status.overview": "Overview",
|
|
169
205
|
"dashboard.status.installed": "Installed",
|
|
@@ -322,6 +358,8 @@ export const enMessages = {
|
|
|
322
358
|
"dashboard.docs.reviewerKind": "Reviewer kind",
|
|
323
359
|
"dashboard.docs.reviewerId": "Reviewer ID",
|
|
324
360
|
"dashboard.docs.reviewerIdPlaceholder": "human, LLM, or tool ID",
|
|
361
|
+
"dashboard.docs.reviewerState": "Reviewing as {kind}: {id}",
|
|
362
|
+
"dashboard.docs.reviewerStateMissing": "Enter a reviewer ID before using review actions.",
|
|
325
363
|
"dashboard.docs.summary": "Review summary",
|
|
326
364
|
"dashboard.docs.summaryPlaceholder": "optional",
|
|
327
365
|
"dashboard.docs.comment": "Comment",
|
|
@@ -350,6 +388,7 @@ export const enMessages = {
|
|
|
350
388
|
"dashboard.docs.action.needsReview.tooltip": "Mark this document as needing another review by a human, LLM, tool, or external process.",
|
|
351
389
|
"dashboard.docs.action.ignore": "Ignore",
|
|
352
390
|
"dashboard.docs.action.ignore.tooltip": "Skip review for this document and hide it from the default list.",
|
|
391
|
+
"dashboard.docs.action.currentStatus": "Already {status}",
|
|
353
392
|
"dashboard.locked.git.auto_push": "Remote pushes require an explicit request.",
|
|
354
393
|
"dashboard.group.git": "Git",
|
|
355
394
|
"dashboard.group.commitMessage": "Commit message",
|
|
@@ -525,7 +564,7 @@ Read these files before working:
|
|
|
525
564
|
"init.help.option.interactive": "Choose init settings from prompts",
|
|
526
565
|
"init.help.option.merge": "Merge a mustflow managed block into an existing AGENTS.md",
|
|
527
566
|
"init.help.option.force": "Back up conflicting files and overwrite them",
|
|
528
|
-
"init.help.option.profile": "Set project profile: minimal, oss, team, product, or library",
|
|
567
|
+
"init.help.option.profile": "Set project profile: minimal, patterns, oss, team, product, or library",
|
|
529
568
|
"init.help.option.locale": "Set installed mustflow document locale",
|
|
530
569
|
"init.help.option.agentLang": "Set the preferred agent response language",
|
|
531
570
|
"init.help.option.set": "Set a safe preference value such as git.auto_commit=true or git.auto_push=false",
|
|
@@ -612,6 +651,7 @@ Read these files before working:
|
|
|
612
651
|
"run.help.option.json": "Print the run record or command plan as JSON",
|
|
613
652
|
"run.help.exit.ok": "The command completed with an allowed exit code",
|
|
614
653
|
"run.help.exit.fail": "The command was invalid, refused, timed out, or failed",
|
|
654
|
+
"run.label.suggestedIntentSnippet": "Suggested command contract snippet",
|
|
615
655
|
"run.error.missingIntent": "Missing command name",
|
|
616
656
|
"run.error.unknownIntent": "Unknown command: {intent}",
|
|
617
657
|
"run.error.statusNotConfigured": 'Command "{intent}" is {status}; only configured commands can be run',
|
|
@@ -670,8 +710,9 @@ Read these files before working:
|
|
|
670
710
|
"upgrade.noFilesWritten": "No project files were written.",
|
|
671
711
|
"upgrade.warning.versionCheckFailed": "Could not check npm for a newer version: {message}",
|
|
672
712
|
"upgrade.warning.continueWithBundledTemplate": "Continuing with the bundled template in the current CLI.",
|
|
673
|
-
"classify.help.summary": "Classify changed paths, public surfaces, and required validation reasons
|
|
713
|
+
"classify.help.summary": "Classify changed paths, public surfaces, and required validation reasons.",
|
|
674
714
|
"classify.help.option.changed": "Read paths from git status --short --untracked-files=all",
|
|
715
|
+
"classify.help.option.write": "Write the classification report to a JSON file inside this repository",
|
|
675
716
|
"classify.help.exit.ok": "Change classification was inspected and printed",
|
|
676
717
|
"classify.title": "mustflow classify",
|
|
677
718
|
"classify.label.source": "Source",
|
|
@@ -686,6 +727,7 @@ Read these files before working:
|
|
|
686
727
|
"classify.source.changed": "changed files",
|
|
687
728
|
"classify.source.paths": "explicit paths",
|
|
688
729
|
"classify.error.missingInput": "Specify --changed or at least one path",
|
|
730
|
+
"classify.error.write_path_outside_root": "Classification report path must stay inside the mustflow root",
|
|
689
731
|
"impact.help.summary": "Report whether changed paths require a package or template version decision without modifying files.",
|
|
690
732
|
"impact.help.option.changed": "Read paths from git status --short --untracked-files=all",
|
|
691
733
|
"impact.help.exit.ok": "Version impact was inspected and printed",
|
|
@@ -701,9 +743,12 @@ Read these files before working:
|
|
|
701
743
|
"impact.error.missingInput": "Specify --changed or at least one path",
|
|
702
744
|
"verify.help.summary": "Run configured verification intents selected by required_after metadata.",
|
|
703
745
|
"verify.help.option.reason": "Select the required_after reason to verify",
|
|
704
|
-
"verify.help.option.
|
|
746
|
+
"verify.help.option.fromClassification": "Read verification reasons from an mf classify report inside this repository",
|
|
747
|
+
"verify.help.option.fromPlan": "Compatibility alias for --from-classification",
|
|
705
748
|
"verify.help.option.changed": "Classify current Git changes and verify the matching reasons",
|
|
706
|
-
"verify.help.option.writePlan": "
|
|
749
|
+
"verify.help.option.writePlan": "Compatibility option that writes the changed-file classification report",
|
|
750
|
+
"verify.help.option.reproEvidence": "Read structured bug-fix reproduction evidence from a repository-local JSON summary",
|
|
751
|
+
"verify.help.option.externalEvidence": "Read lower-authority external CI evidence from a repository-local JSON summary",
|
|
707
752
|
"verify.help.option.planOnly": "Print the verification plan without running commands; requires --json",
|
|
708
753
|
"verify.help.exit.ok": "All selected verification intents passed",
|
|
709
754
|
"verify.help.exit.fail": "Verification failed, was partial, was blocked, or input was invalid",
|
|
@@ -713,14 +758,20 @@ Read these files before working:
|
|
|
713
758
|
"verify.label.status": "Status",
|
|
714
759
|
"verify.label.results": "Results",
|
|
715
760
|
"verify.error.missingReason": "Missing verification reason",
|
|
716
|
-
"verify.error.conflictingInputs": "Use only one of --reason, --from-plan, or --changed",
|
|
761
|
+
"verify.error.conflictingInputs": "Use only one of --reason, --from-classification, --from-plan, or --changed",
|
|
717
762
|
"verify.error.writePlanRequiresChanged": "--write-plan requires --changed",
|
|
718
763
|
"verify.error.planOnlyJson": "--plan-only requires --json",
|
|
719
|
-
"verify.error.
|
|
720
|
-
"verify.error.
|
|
721
|
-
"verify.error.
|
|
722
|
-
"verify.error.
|
|
723
|
-
"verify.error.
|
|
764
|
+
"verify.error.reproEvidenceRequiresRun": "--repro-evidence cannot be used with --plan-only",
|
|
765
|
+
"verify.error.externalEvidenceRequiresRun": "--external-evidence cannot be used with --plan-only",
|
|
766
|
+
"verify.error.invalid_plan_file": "Classification report must be a readable JSON file",
|
|
767
|
+
"verify.error.unsupported_plan_source": "Verification input must be an mf classify report",
|
|
768
|
+
"verify.error.plan_root_mismatch": "Classification report must come from this mustflow root",
|
|
769
|
+
"verify.error.missing_plan_reasons": "Classification report must include summary.validationReasons",
|
|
770
|
+
"verify.error.plan_path_outside_root": "Classification report path must stay inside the mustflow root",
|
|
771
|
+
"verify.error.invalid_repro_evidence_file": "Repro evidence must be a readable JSON summary with structured evidence fields",
|
|
772
|
+
"verify.error.unsupported_repro_evidence_source": "Repro evidence input must use command repro-evidence",
|
|
773
|
+
"verify.error.invalid_external_evidence_file": "External evidence must be a readable JSON summary with checks",
|
|
774
|
+
"verify.error.unsupported_external_evidence_source": "External evidence input must use command external-evidence",
|
|
724
775
|
"explain.help.summary": "Explain why a mustflow policy decision applies without modifying files.",
|
|
725
776
|
"explain.help.exit.ok": "The policy decision was inspected and printed",
|
|
726
777
|
"explain.title": "mustflow explain",
|
package/dist/cli/i18n/es.js
CHANGED
|
@@ -56,6 +56,7 @@ export const esMessages = {
|
|
|
56
56
|
"check.result.strictPassed": "comprobacion estricta de mustflow superada",
|
|
57
57
|
"contractLint.help.summary": "Inspecciona .mustflow/config/commands.toml para encontrar errores y advertencias del contrato de comandos.",
|
|
58
58
|
"contractLint.help.option.coverage": "También informa cobertura required_after para razones de clasificación de cambios",
|
|
59
|
+
"contractLint.help.option.suggest": "Sugiere fragmentos de intent no ejecutables desde package.json, Makefile o justfile",
|
|
59
60
|
"contractLint.help.exit.ok": "El contrato de comandos se inspeccionó sin errores bloqueantes",
|
|
60
61
|
"contractLint.help.exit.fail": "Se encontraron errores del contrato de comandos o la entrada no es válida",
|
|
61
62
|
"contractLint.title": "mustflow contract-lint",
|
|
@@ -73,6 +74,7 @@ export const esMessages = {
|
|
|
73
74
|
"contractLint.label.requiredAfterReasons": "Razones required_after",
|
|
74
75
|
"contractLint.label.runnableReasons": "Razones ejecutables",
|
|
75
76
|
"contractLint.label.coverageFindings": "Hallazgos de cobertura",
|
|
77
|
+
"contractLint.label.suggestions": "Sugerencias",
|
|
76
78
|
"contractLint.label.issues": "Problemas",
|
|
77
79
|
"context.help.summary": "Imprime el contexto de agente para la raíz mustflow actual.",
|
|
78
80
|
"context.help.option.json": "Imprime JSON de contexto legible por máquinas",
|
|
@@ -149,12 +151,28 @@ export const esMessages = {
|
|
|
149
151
|
"dashboard.ui.unsavedChanges": "Cambios sin guardar",
|
|
150
152
|
"dashboard.ui.reloaded": "Recargado",
|
|
151
153
|
"dashboard.ui.saved": "Guardado",
|
|
154
|
+
"dashboard.ui.loading": "Cargando",
|
|
155
|
+
"dashboard.ui.lastUpdated": "Última actualización: {time}",
|
|
156
|
+
"dashboard.ui.copied": "Copiado",
|
|
152
157
|
"dashboard.ui.reload": "Recargar",
|
|
153
158
|
"dashboard.ui.save": "Guardar",
|
|
154
159
|
"dashboard.ui.locked": "Bloqueado",
|
|
155
160
|
"dashboard.ui.customLocale": "Etiqueta de idioma personalizada",
|
|
156
161
|
"dashboard.ui.openMustflow": "Abrir carpeta .mustflow",
|
|
157
162
|
"dashboard.ui.openedMustflow": "Carpeta .mustflow abierta",
|
|
163
|
+
"dashboard.settings.pendingHeading": "Ajustes sin guardar ({count})",
|
|
164
|
+
"dashboard.settings.pendingItem": "{name}: {from} -> {to}",
|
|
165
|
+
"dashboard.settings.resetChanges": "Restablecer cambios",
|
|
166
|
+
"dashboard.filter.search": "Buscar",
|
|
167
|
+
"dashboard.filter.searchPlaceholder": "nombre, ruta, comando o motivo",
|
|
168
|
+
"dashboard.filter.state": "Estado",
|
|
169
|
+
"dashboard.filter.all": "Todos",
|
|
170
|
+
"dashboard.filter.runnable": "Ejecutable",
|
|
171
|
+
"dashboard.filter.unavailable": "No disponible",
|
|
172
|
+
"dashboard.filter.aligned": "Alineado",
|
|
173
|
+
"dashboard.filter.mismatch": "No coincide",
|
|
174
|
+
"dashboard.filter.missing": "Falta",
|
|
175
|
+
"dashboard.filter.noMatches": "No hay elementos coincidentes.",
|
|
158
176
|
"dashboard.tab.status": "Estado",
|
|
159
177
|
"dashboard.tab.verification": "Verificación",
|
|
160
178
|
"dashboard.tab.commands": "Comandos",
|
|
@@ -164,6 +182,24 @@ export const esMessages = {
|
|
|
164
182
|
"dashboard.tab.skills": "Skills",
|
|
165
183
|
"dashboard.tab.settings": "Configuración",
|
|
166
184
|
"dashboard.tab.documents": "Revisión de documentos",
|
|
185
|
+
"dashboard.actions.heading": "Siguientes acciones",
|
|
186
|
+
"dashboard.actions.empty": "No hay acciones.",
|
|
187
|
+
"dashboard.actions.missingFiles": "Archivos faltantes: {count}",
|
|
188
|
+
"dashboard.actions.manifestIssues": "Problemas: {count}",
|
|
189
|
+
"dashboard.actions.verification": "Recomendaciones de verificación: {count}",
|
|
190
|
+
"dashboard.actions.updateBlockers": "Bloqueos de actualización: {count}",
|
|
191
|
+
"dashboard.actions.documents": "Documentos por revisar: {count}",
|
|
192
|
+
"dashboard.actions.latestRun": "Revisar la última ejecución",
|
|
193
|
+
"dashboard.actions.openStatus": "Abrir estado",
|
|
194
|
+
"dashboard.actions.openVerification": "Abrir verificación",
|
|
195
|
+
"dashboard.actions.openUpdate": "Abrir actualización",
|
|
196
|
+
"dashboard.actions.openDocuments": "Abrir documentos",
|
|
197
|
+
"dashboard.actions.openRuns": "Abrir ejecuciones",
|
|
198
|
+
"dashboard.a11y.state.ok": "Correcto",
|
|
199
|
+
"dashboard.a11y.state.warn": "Requiere atención",
|
|
200
|
+
"dashboard.a11y.state.neutral": "Estado",
|
|
201
|
+
"dashboard.a11y.copyCommand": "Copiar comando: {command}",
|
|
202
|
+
"dashboard.a11y.copyVerificationPlan": "Copiar plan de verificación",
|
|
167
203
|
"dashboard.status.reloaded": "Estado recargado",
|
|
168
204
|
"dashboard.status.overview": "Resumen",
|
|
169
205
|
"dashboard.status.installed": "Instalado",
|
|
@@ -322,6 +358,8 @@ export const esMessages = {
|
|
|
322
358
|
"dashboard.docs.reviewerKind": "Tipo de revisor",
|
|
323
359
|
"dashboard.docs.reviewerId": "ID de revisor",
|
|
324
360
|
"dashboard.docs.reviewerIdPlaceholder": "persona, LLM o herramienta",
|
|
361
|
+
"dashboard.docs.reviewerState": "Revisando como {kind}: {id}",
|
|
362
|
+
"dashboard.docs.reviewerStateMissing": "Introduce un ID de revisor antes de usar acciones de revisión.",
|
|
325
363
|
"dashboard.docs.summary": "Resumen de revisión",
|
|
326
364
|
"dashboard.docs.summaryPlaceholder": "opcional",
|
|
327
365
|
"dashboard.docs.comment": "Comentario",
|
|
@@ -350,6 +388,7 @@ export const esMessages = {
|
|
|
350
388
|
"dashboard.docs.action.needsReview.tooltip": "Marca este documento para otra revisión por una persona, LLM, herramienta o proceso externo.",
|
|
351
389
|
"dashboard.docs.action.ignore": "Ignorar",
|
|
352
390
|
"dashboard.docs.action.ignore.tooltip": "Omite la revisión de este documento y lo oculta de la lista predeterminada.",
|
|
391
|
+
"dashboard.docs.action.currentStatus": "Ya está en estado {status}",
|
|
353
392
|
"dashboard.locked.git.auto_push": "Los push remotos requieren una solicitud explícita.",
|
|
354
393
|
"dashboard.group.git": "Git",
|
|
355
394
|
"dashboard.group.commitMessage": "Mensaje de commit",
|
|
@@ -525,7 +564,7 @@ Lee estos archivos antes de trabajar:
|
|
|
525
564
|
"init.help.option.interactive": "Elige ajustes de inicio mediante preguntas",
|
|
526
565
|
"init.help.option.merge": "Fusiona un bloque administrado por mustflow en un AGENTS.md existente",
|
|
527
566
|
"init.help.option.force": "Respalda los archivos en conflicto y los sobrescribe",
|
|
528
|
-
"init.help.option.profile": "Define el perfil del proyecto: minimal, oss, team, product o library",
|
|
567
|
+
"init.help.option.profile": "Define el perfil del proyecto: minimal, patterns, oss, team, product o library",
|
|
529
568
|
"init.help.option.locale": "Define el idioma de los documentos mustflow instalados",
|
|
530
569
|
"init.help.option.agentLang": "Define el idioma preferido para las respuestas del agente",
|
|
531
570
|
"init.help.option.set": "Define una preferencia segura como git.auto_commit=true o git.auto_push=false",
|
|
@@ -612,6 +651,7 @@ Lee estos archivos antes de trabajar:
|
|
|
612
651
|
"run.help.option.json": "Imprime el registro de ejecución o el plan de comando como JSON",
|
|
613
652
|
"run.help.exit.ok": "El comando se completo con un codigo de salida permitido",
|
|
614
653
|
"run.help.exit.fail": "El comando no era válido, fue rechazado, agotó el tiempo o falló",
|
|
654
|
+
"run.label.suggestedIntentSnippet": "Snippet sugerido para el contrato de comandos",
|
|
615
655
|
"run.error.missingIntent": "Falta el nombre del comando",
|
|
616
656
|
"run.error.unknownIntent": "Comando desconocido: {intent}",
|
|
617
657
|
"run.error.statusNotConfigured": 'El comando "{intent}" está en estado {status}; sólo se pueden ejecutar comandos configurados',
|
|
@@ -670,8 +710,9 @@ Lee estos archivos antes de trabajar:
|
|
|
670
710
|
"upgrade.noFilesWritten": "No se escribieron archivos del proyecto.",
|
|
671
711
|
"upgrade.warning.versionCheckFailed": "No se pudo consultar npm para una versión nueva: {message}",
|
|
672
712
|
"upgrade.warning.continueWithBundledTemplate": "Continuando con la plantilla incluida en el CLI actual.",
|
|
673
|
-
"classify.help.summary": "Clasifica rutas cambiadas, superficies publicas y razones de verificacion
|
|
713
|
+
"classify.help.summary": "Clasifica rutas cambiadas, superficies publicas y razones de verificacion.",
|
|
674
714
|
"classify.help.option.changed": "Lee rutas desde git status --short --untracked-files=all",
|
|
715
|
+
"classify.help.option.write": "Escribe el informe de clasificacion en un archivo JSON dentro de este repositorio",
|
|
675
716
|
"classify.help.exit.ok": "La clasificacion de cambios fue inspeccionada e impresa",
|
|
676
717
|
"classify.title": "mustflow classify",
|
|
677
718
|
"classify.label.source": "Origen",
|
|
@@ -686,6 +727,7 @@ Lee estos archivos antes de trabajar:
|
|
|
686
727
|
"classify.source.changed": "archivos cambiados",
|
|
687
728
|
"classify.source.paths": "rutas explicitas",
|
|
688
729
|
"classify.error.missingInput": "Indica --changed o al menos una ruta",
|
|
730
|
+
"classify.error.write_path_outside_root": "La ruta del informe de clasificacion debe permanecer dentro de la raiz mustflow",
|
|
689
731
|
"impact.help.summary": "Informa si las rutas cambiadas requieren una decision de version de paquete o plantilla sin modificar archivos.",
|
|
690
732
|
"impact.help.option.changed": "Lee rutas desde git status --short --untracked-files=all",
|
|
691
733
|
"impact.help.exit.ok": "El impacto de version fue inspeccionado e impreso",
|
|
@@ -701,9 +743,12 @@ Lee estos archivos antes de trabajar:
|
|
|
701
743
|
"impact.error.missingInput": "Indica --changed o al menos una ruta",
|
|
702
744
|
"verify.help.summary": "Ejecuta intenciones de verificación configuradas seleccionadas por metadatos required_after.",
|
|
703
745
|
"verify.help.option.reason": "Selecciona la razón required_after que se debe verificar",
|
|
704
|
-
"verify.help.option.
|
|
746
|
+
"verify.help.option.fromClassification": "Lee razones de verificación desde un informe de mf classify dentro de este repositorio",
|
|
747
|
+
"verify.help.option.fromPlan": "Alias de compatibilidad para --from-classification",
|
|
705
748
|
"verify.help.option.changed": "Clasifica los cambios actuales de Git y verifica las razones correspondientes",
|
|
706
|
-
"verify.help.option.writePlan": "
|
|
749
|
+
"verify.help.option.writePlan": "Opción de compatibilidad que escribe el informe de clasificación de cambios",
|
|
750
|
+
"verify.help.option.reproEvidence": "Lee evidencia estructurada de reproducción de errores desde un resumen JSON local del repositorio",
|
|
751
|
+
"verify.help.option.externalEvidence": "Lee evidencia de CI externa de menor autoridad desde un resumen JSON local del repositorio",
|
|
707
752
|
"verify.help.option.planOnly": "Imprime el plan de verificación sin ejecutar comandos; requiere --json",
|
|
708
753
|
"verify.help.exit.ok": "Todas las intenciones de verificación seleccionadas pasaron",
|
|
709
754
|
"verify.help.exit.fail": "La verificación falló, fue parcial, quedó bloqueada o la entrada no fue válida",
|
|
@@ -713,14 +758,20 @@ Lee estos archivos antes de trabajar:
|
|
|
713
758
|
"verify.label.status": "Estado",
|
|
714
759
|
"verify.label.results": "Resultados",
|
|
715
760
|
"verify.error.missingReason": "Falta la razón de verificación",
|
|
716
|
-
"verify.error.conflictingInputs": "Usa solo uno de --reason, --from-plan o --changed",
|
|
761
|
+
"verify.error.conflictingInputs": "Usa solo uno de --reason, --from-classification, --from-plan o --changed",
|
|
717
762
|
"verify.error.writePlanRequiresChanged": "--write-plan requiere --changed",
|
|
718
763
|
"verify.error.planOnlyJson": "--plan-only requiere --json",
|
|
719
|
-
"verify.error.
|
|
720
|
-
"verify.error.
|
|
721
|
-
"verify.error.
|
|
722
|
-
"verify.error.
|
|
723
|
-
"verify.error.
|
|
764
|
+
"verify.error.reproEvidenceRequiresRun": "--repro-evidence no se puede usar con --plan-only",
|
|
765
|
+
"verify.error.externalEvidenceRequiresRun": "--external-evidence no se puede usar con --plan-only",
|
|
766
|
+
"verify.error.invalid_plan_file": "El informe de clasificación debe ser un archivo JSON legible",
|
|
767
|
+
"verify.error.unsupported_plan_source": "La entrada de verificación debe ser un informe de mf classify",
|
|
768
|
+
"verify.error.plan_root_mismatch": "El informe de clasificación debe provenir de esta raíz mustflow",
|
|
769
|
+
"verify.error.missing_plan_reasons": "El informe de clasificación debe incluir summary.validationReasons",
|
|
770
|
+
"verify.error.plan_path_outside_root": "La ruta del informe de clasificación debe permanecer dentro de la raíz mustflow",
|
|
771
|
+
"verify.error.invalid_repro_evidence_file": "La evidencia de reproducción debe ser un resumen JSON legible con campos de evidencia estructurados",
|
|
772
|
+
"verify.error.unsupported_repro_evidence_source": "La entrada de evidencia de reproducción debe usar command repro-evidence",
|
|
773
|
+
"verify.error.invalid_external_evidence_file": "La evidencia externa debe ser un resumen JSON legible con checks",
|
|
774
|
+
"verify.error.unsupported_external_evidence_source": "La entrada de evidencia externa debe usar command external-evidence",
|
|
724
775
|
"explain.help.summary": "Explica por qué se aplica una decisión de política de mustflow sin modificar archivos.",
|
|
725
776
|
"explain.help.exit.ok": "La decisión de política se inspeccionó e imprimió",
|
|
726
777
|
"explain.title": "explicación mustflow",
|
package/dist/cli/i18n/fr.js
CHANGED
|
@@ -56,6 +56,7 @@ export const frMessages = {
|
|
|
56
56
|
"check.result.strictPassed": "vérification stricte mustflow réussie",
|
|
57
57
|
"contractLint.help.summary": "Inspecte .mustflow/config/commands.toml pour trouver les erreurs et avertissements du contrat de commandes.",
|
|
58
58
|
"contractLint.help.option.coverage": "Signale aussi la couverture required_after des raisons de classification",
|
|
59
|
+
"contractLint.help.option.suggest": "Suggère des fragments d'intent non exécutables depuis package.json, Makefile ou justfile",
|
|
59
60
|
"contractLint.help.exit.ok": "Le contrat de commandes a été inspecté sans erreur bloquante",
|
|
60
61
|
"contractLint.help.exit.fail": "Des erreurs de contrat de commandes ont été trouvées ou l'entrée est invalide",
|
|
61
62
|
"contractLint.title": "mustflow contract-lint",
|
|
@@ -73,6 +74,7 @@ export const frMessages = {
|
|
|
73
74
|
"contractLint.label.requiredAfterReasons": "Raisons required_after",
|
|
74
75
|
"contractLint.label.runnableReasons": "Raisons exécutables",
|
|
75
76
|
"contractLint.label.coverageFindings": "Constats de couverture",
|
|
77
|
+
"contractLint.label.suggestions": "Suggestions",
|
|
76
78
|
"contractLint.label.issues": "Problèmes",
|
|
77
79
|
"context.help.summary": "Imprime le contexte d'agent pour la racine mustflow actuelle.",
|
|
78
80
|
"context.help.option.json": "Imprime le JSON de contexte lisible par machine",
|
|
@@ -149,12 +151,28 @@ export const frMessages = {
|
|
|
149
151
|
"dashboard.ui.unsavedChanges": "Changements non enregistrés",
|
|
150
152
|
"dashboard.ui.reloaded": "Rechargé",
|
|
151
153
|
"dashboard.ui.saved": "Enregistré",
|
|
154
|
+
"dashboard.ui.loading": "Chargement",
|
|
155
|
+
"dashboard.ui.lastUpdated": "Dernière mise à jour : {time}",
|
|
156
|
+
"dashboard.ui.copied": "Copié",
|
|
152
157
|
"dashboard.ui.reload": "Recharger",
|
|
153
158
|
"dashboard.ui.save": "Enregistrer",
|
|
154
159
|
"dashboard.ui.locked": "Verrouillé",
|
|
155
160
|
"dashboard.ui.customLocale": "Balise de langue personnalisée",
|
|
156
161
|
"dashboard.ui.openMustflow": "Ouvrir le dossier .mustflow",
|
|
157
162
|
"dashboard.ui.openedMustflow": "Dossier .mustflow ouvert",
|
|
163
|
+
"dashboard.settings.pendingHeading": "Paramètres non enregistrés ({count})",
|
|
164
|
+
"dashboard.settings.pendingItem": "{name}: {from} -> {to}",
|
|
165
|
+
"dashboard.settings.resetChanges": "Réinitialiser les changements",
|
|
166
|
+
"dashboard.filter.search": "Rechercher",
|
|
167
|
+
"dashboard.filter.searchPlaceholder": "nom, chemin, commande ou raison",
|
|
168
|
+
"dashboard.filter.state": "État",
|
|
169
|
+
"dashboard.filter.all": "Tous",
|
|
170
|
+
"dashboard.filter.runnable": "Exécutable",
|
|
171
|
+
"dashboard.filter.unavailable": "Indisponible",
|
|
172
|
+
"dashboard.filter.aligned": "Aligné",
|
|
173
|
+
"dashboard.filter.mismatch": "Incohérent",
|
|
174
|
+
"dashboard.filter.missing": "Manquant",
|
|
175
|
+
"dashboard.filter.noMatches": "Aucun élément correspondant.",
|
|
158
176
|
"dashboard.tab.status": "État",
|
|
159
177
|
"dashboard.tab.verification": "Vérification",
|
|
160
178
|
"dashboard.tab.commands": "Commandes",
|
|
@@ -164,6 +182,24 @@ export const frMessages = {
|
|
|
164
182
|
"dashboard.tab.skills": "Skills",
|
|
165
183
|
"dashboard.tab.settings": "Réglages",
|
|
166
184
|
"dashboard.tab.documents": "Revue des documents",
|
|
185
|
+
"dashboard.actions.heading": "Actions suivantes",
|
|
186
|
+
"dashboard.actions.empty": "Aucune action.",
|
|
187
|
+
"dashboard.actions.missingFiles": "Fichiers manquants : {count}",
|
|
188
|
+
"dashboard.actions.manifestIssues": "Problèmes : {count}",
|
|
189
|
+
"dashboard.actions.verification": "Recommandations de vérification : {count}",
|
|
190
|
+
"dashboard.actions.updateBlockers": "Blocages de mise à jour : {count}",
|
|
191
|
+
"dashboard.actions.documents": "Documents à relire : {count}",
|
|
192
|
+
"dashboard.actions.latestRun": "Dernière exécution à vérifier",
|
|
193
|
+
"dashboard.actions.openStatus": "Ouvrir l'état",
|
|
194
|
+
"dashboard.actions.openVerification": "Ouvrir la vérification",
|
|
195
|
+
"dashboard.actions.openUpdate": "Ouvrir la mise à jour",
|
|
196
|
+
"dashboard.actions.openDocuments": "Ouvrir les documents",
|
|
197
|
+
"dashboard.actions.openRuns": "Ouvrir les exécutions",
|
|
198
|
+
"dashboard.a11y.state.ok": "OK",
|
|
199
|
+
"dashboard.a11y.state.warn": "À vérifier",
|
|
200
|
+
"dashboard.a11y.state.neutral": "État",
|
|
201
|
+
"dashboard.a11y.copyCommand": "Copier la commande : {command}",
|
|
202
|
+
"dashboard.a11y.copyVerificationPlan": "Copier le plan de vérification",
|
|
167
203
|
"dashboard.status.reloaded": "État rechargé",
|
|
168
204
|
"dashboard.status.overview": "Aperçu",
|
|
169
205
|
"dashboard.status.installed": "Installé",
|
|
@@ -322,6 +358,8 @@ export const frMessages = {
|
|
|
322
358
|
"dashboard.docs.reviewerKind": "Type de relecteur",
|
|
323
359
|
"dashboard.docs.reviewerId": "ID de relecteur",
|
|
324
360
|
"dashboard.docs.reviewerIdPlaceholder": "personne, LLM ou outil",
|
|
361
|
+
"dashboard.docs.reviewerState": "Relecture avec {kind}: {id}",
|
|
362
|
+
"dashboard.docs.reviewerStateMissing": "Saisissez un ID de relecteur avant d'utiliser les actions de revue.",
|
|
325
363
|
"dashboard.docs.summary": "Résumé de revue",
|
|
326
364
|
"dashboard.docs.summaryPlaceholder": "facultatif",
|
|
327
365
|
"dashboard.docs.comment": "Commentaire",
|
|
@@ -350,6 +388,7 @@ export const frMessages = {
|
|
|
350
388
|
"dashboard.docs.action.needsReview.tooltip": "Marque ce document comme nécessitant une autre relecture par une personne, un LLM, un outil ou un processus externe.",
|
|
351
389
|
"dashboard.docs.action.ignore": "Ignorer",
|
|
352
390
|
"dashboard.docs.action.ignore.tooltip": "Ignore la relecture de ce document et le masque de la liste par défaut.",
|
|
391
|
+
"dashboard.docs.action.currentStatus": "Déjà {status}",
|
|
353
392
|
"dashboard.locked.git.auto_push": "Les push distants exigent une demande explicite.",
|
|
354
393
|
"dashboard.group.git": "Git",
|
|
355
394
|
"dashboard.group.commitMessage": "Message de commit",
|
|
@@ -525,7 +564,7 @@ Lisez ces fichiers avant de travailler :
|
|
|
525
564
|
"init.help.option.interactive": "Choisit les paramètres d'initialisation depuis des invites",
|
|
526
565
|
"init.help.option.merge": "Fusionne un bloc géré par mustflow dans un AGENTS.md existant",
|
|
527
566
|
"init.help.option.force": "Sauvegarde les fichiers en conflit et les écrase",
|
|
528
|
-
"init.help.option.profile": "Définit le profil du projet : minimal, oss, team, product ou library",
|
|
567
|
+
"init.help.option.profile": "Définit le profil du projet : minimal, patterns, oss, team, product ou library",
|
|
529
568
|
"init.help.option.locale": "Définit la langue des documents mustflow installés",
|
|
530
569
|
"init.help.option.agentLang": "Définit la langue de réponse préférée de l'agent",
|
|
531
570
|
"init.help.option.set": "Définit une préférence sûre comme git.auto_commit=true ou git.auto_push=false",
|
|
@@ -612,6 +651,7 @@ Lisez ces fichiers avant de travailler :
|
|
|
612
651
|
"run.help.option.json": "Imprime l'enregistrement d'exécution ou le plan de commande en JSON",
|
|
613
652
|
"run.help.exit.ok": "La commande s'est terminée avec un code de sortie autorisé",
|
|
614
653
|
"run.help.exit.fail": "La commande était non valide, refusée, expirée ou a échoué",
|
|
654
|
+
"run.label.suggestedIntentSnippet": "Extrait suggéré de contrat de commande",
|
|
615
655
|
"run.error.missingIntent": "Nom de commande manquant",
|
|
616
656
|
"run.error.unknownIntent": "Commande inconnue : {intent}",
|
|
617
657
|
"run.error.statusNotConfigured": 'La commande "{intent}" est {status} ; seules les commandes configurées peuvent être exécutées',
|
|
@@ -670,8 +710,9 @@ Lisez ces fichiers avant de travailler :
|
|
|
670
710
|
"upgrade.noFilesWritten": "Aucun fichier du projet n'a été écrit.",
|
|
671
711
|
"upgrade.warning.versionCheckFailed": "Impossible de vérifier une nouvelle version sur npm : {message}",
|
|
672
712
|
"upgrade.warning.continueWithBundledTemplate": "Poursuite avec le modèle inclus dans le CLI actuel.",
|
|
673
|
-
"classify.help.summary": "Classe les chemins modifies, les surfaces publiques et les raisons de verification
|
|
713
|
+
"classify.help.summary": "Classe les chemins modifies, les surfaces publiques et les raisons de verification.",
|
|
674
714
|
"classify.help.option.changed": "Lire les chemins depuis git status --short --untracked-files=all",
|
|
715
|
+
"classify.help.option.write": "Ecrit le rapport de classification dans un fichier JSON dans ce depot",
|
|
675
716
|
"classify.help.exit.ok": "La classification des changements a ete inspectee et affichee",
|
|
676
717
|
"classify.title": "mustflow classify",
|
|
677
718
|
"classify.label.source": "Source",
|
|
@@ -686,6 +727,7 @@ Lisez ces fichiers avant de travailler :
|
|
|
686
727
|
"classify.source.changed": "fichiers modifies",
|
|
687
728
|
"classify.source.paths": "chemins explicites",
|
|
688
729
|
"classify.error.missingInput": "Indiquez --changed ou au moins un chemin",
|
|
730
|
+
"classify.error.write_path_outside_root": "Le chemin du rapport de classification doit rester dans la racine mustflow",
|
|
689
731
|
"impact.help.summary": "Signale si les chemins modifies exigent une decision de version de paquet ou de modele sans modifier les fichiers.",
|
|
690
732
|
"impact.help.option.changed": "Lire les chemins depuis git status --short --untracked-files=all",
|
|
691
733
|
"impact.help.exit.ok": "L'impact de version a ete inspecte et affiche",
|
|
@@ -701,9 +743,12 @@ Lisez ces fichiers avant de travailler :
|
|
|
701
743
|
"impact.error.missingInput": "Indiquez --changed ou au moins un chemin",
|
|
702
744
|
"verify.help.summary": "Exécute les intentions de vérification configurées sélectionnées par les métadonnées required_after.",
|
|
703
745
|
"verify.help.option.reason": "Sélectionne la raison required_after à vérifier",
|
|
704
|
-
"verify.help.option.
|
|
746
|
+
"verify.help.option.fromClassification": "Lit les raisons de vérification depuis un rapport mf classify dans ce dépôt",
|
|
747
|
+
"verify.help.option.fromPlan": "Alias de compatibilité pour --from-classification",
|
|
705
748
|
"verify.help.option.changed": "Classe les changements Git actuels et vérifie les raisons correspondantes",
|
|
706
|
-
"verify.help.option.writePlan": "
|
|
749
|
+
"verify.help.option.writePlan": "Option de compatibilité qui écrit le rapport de classification des changements",
|
|
750
|
+
"verify.help.option.reproEvidence": "Lit une preuve structurée de reproduction de bogue depuis un résumé JSON local au dépôt",
|
|
751
|
+
"verify.help.option.externalEvidence": "Lit une preuve CI externe de moindre autorité depuis un résumé JSON local au dépôt",
|
|
707
752
|
"verify.help.option.planOnly": "Affiche le plan de vérification sans exécuter de commandes; nécessite --json",
|
|
708
753
|
"verify.help.exit.ok": "Toutes les intentions de vérification sélectionnées ont réussi",
|
|
709
754
|
"verify.help.exit.fail": "La vérification a échoué, est partielle, est bloquée ou l'entrée est invalide",
|
|
@@ -713,14 +758,20 @@ Lisez ces fichiers avant de travailler :
|
|
|
713
758
|
"verify.label.status": "État",
|
|
714
759
|
"verify.label.results": "Résultats",
|
|
715
760
|
"verify.error.missingReason": "Raison de vérification manquante",
|
|
716
|
-
"verify.error.conflictingInputs": "Utilisez un seul de --reason, --from-plan ou --changed",
|
|
761
|
+
"verify.error.conflictingInputs": "Utilisez un seul de --reason, --from-classification, --from-plan ou --changed",
|
|
717
762
|
"verify.error.writePlanRequiresChanged": "--write-plan nécessite --changed",
|
|
718
763
|
"verify.error.planOnlyJson": "--plan-only nécessite --json",
|
|
719
|
-
"verify.error.
|
|
720
|
-
"verify.error.
|
|
721
|
-
"verify.error.
|
|
722
|
-
"verify.error.
|
|
723
|
-
"verify.error.
|
|
764
|
+
"verify.error.reproEvidenceRequiresRun": "--repro-evidence ne peut pas être utilisé avec --plan-only",
|
|
765
|
+
"verify.error.externalEvidenceRequiresRun": "--external-evidence ne peut pas être utilisé avec --plan-only",
|
|
766
|
+
"verify.error.invalid_plan_file": "Le rapport de classification doit être un fichier JSON lisible",
|
|
767
|
+
"verify.error.unsupported_plan_source": "L'entrée de vérification doit être un rapport mf classify",
|
|
768
|
+
"verify.error.plan_root_mismatch": "Le rapport de classification doit venir de cette racine mustflow",
|
|
769
|
+
"verify.error.missing_plan_reasons": "Le rapport de classification doit inclure summary.validationReasons",
|
|
770
|
+
"verify.error.plan_path_outside_root": "Le chemin du rapport de classification doit rester dans la racine mustflow",
|
|
771
|
+
"verify.error.invalid_repro_evidence_file": "La preuve de reproduction doit être un résumé JSON lisible avec des champs de preuve structurés",
|
|
772
|
+
"verify.error.unsupported_repro_evidence_source": "L'entrée de preuve de reproduction doit utiliser command repro-evidence",
|
|
773
|
+
"verify.error.invalid_external_evidence_file": "La preuve externe doit être un résumé JSON lisible avec checks",
|
|
774
|
+
"verify.error.unsupported_external_evidence_source": "L'entrée de preuve externe doit utiliser command external-evidence",
|
|
724
775
|
"explain.help.summary": "Explique pourquoi une décision de politique mustflow s'applique sans modifier de fichiers.",
|
|
725
776
|
"explain.help.exit.ok": "La décision de politique a été inspectée et affichée",
|
|
726
777
|
"explain.title": "explication mustflow",
|