chore(typo): retire tous les tirets cadratins/demi-cadratins + garde CI
Some checks failed
CI / Build & test (Node 24) (push) Has been cancelled
CI / Pack & boot smoke (Node 22) (push) Has been cancelled
CI / No em/en dashes (push) Has been cancelled
CI / Build & test (Node 22) (push) Has been cancelled
Deploy site (production) / build-and-deploy (push) Successful in 20s

Remplace les 547 tirets cadratins (U+2014) et demi-cadratins (U+2013) des fichiers versionnés par la ponctuation contextuelle adaptée (point médian, deux-points, virgule, parenthèses ; tiret simple pour les plages), sur 122 fichiers (appli, vitrine, doc, tests, workflows, scripts).

Ajoute le job CI « lint-dashes » (git grep -P) qui échoue si un tiret cadratin/demi-cadratin réapparaît, hors logo binaire et captures brutes du terminal (fidélité des fixtures de détection de dialogue).
This commit is contained in:
2026-07-17 16:44:00 +02:00
parent 985531a986
commit 65ef616867
122 changed files with 538 additions and 521 deletions

View File

@@ -24,7 +24,7 @@ async function replay(fixture: string): Promise<Array<{ dialog: ClassifiedDialog
return seen;
}
describe('ScreenReader (@xterm/headless) anti strip-ANSI naïf', () => {
describe('ScreenReader (@xterm/headless) · anti strip-ANSI naïf', () => {
it('préserve les espaces du dialogue (« Do you want to create », pas « Doyouwant »)', async () => {
const seen = await replay('perm-write2.raw');
expect(seen.length).toBeGreaterThan(0);
@@ -32,7 +32,7 @@ describe('ScreenReader (@xterm/headless) — anti strip-ANSI naïf', () => {
});
});
describe('classifyDialog unitaire (lignes synthétiques)', () => {
describe('classifyDialog · unitaire (lignes synthétiques)', () => {
it('trust', () => {
const d = classifyDialog(['Do you trust the files in this folder?', ' 1. Yes, I trust this folder', '2. No, exit']);
expect(d?.kind).toBe('trust');
@@ -81,7 +81,7 @@ describe('détection sur fixtures réelles S3 (replay headless)', () => {
// Campagne de fiabilité P4-C : chaque type de dialogue ciblé par la supervision mobile doit être
// classifié de façon fiable (cf. « reste à faire P4 » du verdict S3 : couvrir le refus Esc et le plan).
describe('campagne de fiabilité P4-C tous les types de dialogue', () => {
describe('campagne de fiabilité P4-C · tous les types de dialogue', () => {
const realCaptures: Array<{ fixture: string; kind: DialogKind }> = [
{ fixture: 'trust.raw', kind: 'trust' },
{ fixture: 'perm-write2.raw', kind: 'permission' },
@@ -101,7 +101,7 @@ describe('campagne de fiabilité P4-C — tous les types de dialogue', () => {
expect(seen.length).toBeGreaterThan(0);
});
it('plan (synthétique pas de capture réelle) : « Would you like to proceed? »', () => {
it('plan (synthétique, pas de capture réelle) : « Would you like to proceed? »', () => {
const d = classifyDialog([
'Here is my implementation plan:',
' - step one',