@sentropic/track 0.85.11 → 0.85.14

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.
@@ -1,5 +1,9 @@
1
1
  import { BUCKETS } from './buckets.js';
2
- import { buildDirectives, decisionNeedsFocus, dispatchQueueOf, } from './directive.js';
2
+ import { buildDirectives, decisionNeedsFocus, dispatchQueueOf, keystoneOf, } from './directive.js';
3
+ // Unified report presentation (spec 2026-07-11) — the SINGLE enum→French lexicon the cockpit shares, so
4
+ // the two surfaces can never re-word apart. The terminal composes its own `<nature> (<actor>): <clause>`
5
+ // sentence but sources the canonical action clause + scope label from here.
6
+ import { directiveScopeLabelFr as directiveScopeLabel, stepActionFr } from './friendly.js';
3
7
  const BACKSLASH = String.fromCharCode(92);
4
8
  // Markdown metacharacters escaped in `md` titles so a user title can't inject formatting.
5
9
  const MD_META = new Set([
@@ -303,42 +307,82 @@ function droppedLeaves(node) {
303
307
  walk(node);
304
308
  return out;
305
309
  }
310
+ /**
311
+ * §A3 — a short human STATUS tag for one open leaf. It is the COHORT KEY for the render-only collapse:
312
+ * two leaves in the SAME WP with the same tag are one cohort. RENDER-ONLY — never touches `directives[]`.
313
+ */
314
+ function leafStatusTag(l) {
315
+ if (l.acceptance === 'fail')
316
+ return 'acceptance fail';
317
+ if (l.acceptance === 'stale')
318
+ return 'acceptance stale';
319
+ if (l.realization === 'in-progress')
320
+ return 'en cours';
321
+ if (l.bucket === 'AWAITED')
322
+ return 'en attente';
323
+ if (l.openBlockers.length > 0)
324
+ return 'bloqué';
325
+ if (l.specStatus === 'to-specify')
326
+ return 'à spécifier';
327
+ return 'à démarrer';
328
+ }
329
+ /**
330
+ * §A3 — cohort-collapse: fold a WP's open leaves into `{tag, count, titles}` groups by `leafStatusTag`.
331
+ * RENDER-ONLY and STRICTLY INTRA-WP (the caller passes ONE WP's leaves, so a cohort never spans WPs). The
332
+ * machine `directives[]` / `dispatchQueue` are NEVER collapsed — this is a pure presentation fold. Cohorts
333
+ * are ordered by first appearance in id-sorted leaf order (deterministic, no flicker).
334
+ */
335
+ export function collapseLeafCohorts(leaves) {
336
+ const byId = [...leaves].sort((a, b) => a.id.localeCompare(b.id));
337
+ const order = [];
338
+ const groups = new Map();
339
+ for (const l of byId) {
340
+ const tag = leafStatusTag(l);
341
+ let g = groups.get(tag);
342
+ if (g === undefined) {
343
+ g = { tag, count: 0, titles: [] };
344
+ groups.set(tag, g);
345
+ order.push(tag);
346
+ }
347
+ g.count++;
348
+ g.titles.push(clean(l.title));
349
+ }
350
+ return order.map((tag) => groups.get(tag));
351
+ }
306
352
  /**
307
353
  * Render ONE directive to a human FR phrase — RENDER-ONLY (no phrase is ever stored as data, DESIGN §3).
308
354
  * Maps the langue-neutre `(mode, step, gate)` to a sentence. An UNKNOWN `step.code` (a future vocabulary
309
355
  * entry this renderer predates) degrades to the `inspect-fallback` phrasing — forward-compat (DESIGN §7).
310
356
  */
311
357
  export function directivePhrase(d) {
358
+ // §A6 — a directive renders a CONCRETE next move + the actor, and NAMES what blocks (the info the
359
+ // `sujet` column does NOT already carry). All interpolated titles/refs are RAW here — the render layer
360
+ // (table `esc`, inline `clean`, html `escapeHtml`) escapes them (§A4). A decision surfaces as a "décision"
361
+ // line ONLY when it genuinely blocks (mode `human-decision`); otherwise the phrase préconise a step.
362
+ //
363
+ // Unified presentation (spec 2026-07-11) — the action CLAUSE is the shared canonical `stepActionFr`, so
364
+ // the terminal and the cockpit can never re-word apart. The terminal keeps its OWN compact sentence frame
365
+ // (`<nature> (<actor>): <clause>`) and its blocked-by suffix: those are renderer-owned, not shared.
366
+ const on = () => {
367
+ const t = d.gate?.blockedByTitle;
368
+ if (t !== undefined && t.trim() !== '')
369
+ return ` sur « ${t} »`;
370
+ const r = d.gate?.ref;
371
+ return r !== undefined && r.trim() !== '' ? ` (réf ${r})` : '';
372
+ };
312
373
  if (d.mode === 'human-decision') {
313
374
  const who = d.facts.accountable ?? 'owner';
314
- return d.step.code === 'focus-decision'
315
- ? `décision (${who}): focus dossier (questions/options) puis trancher outcome`
316
- : `décision (${who}): trancher outcome`;
375
+ return `décision (${who}): ${stepActionFr(d.step.code)}`;
317
376
  }
318
377
  if (d.mode === 'h2a-engagement') {
319
- return 'engagement (h2a): relancer engagement puis intégrer le retour';
378
+ const ref = d.gate?.ref;
379
+ return `engagement (h2a): ${stepActionFr(d.step.code)}${ref !== undefined && ref.trim() !== '' ? ` ${ref}` : ''}`;
320
380
  }
321
381
  const mode = d.mode === 'local' ? 'local' : 'subagent';
322
- const phrase = {
323
- 'focus-decision': `action (${mode}): focus dossier puis trancher outcome`,
324
- 'settle-decision': `action (${mode}): trancher outcome`,
325
- 'resume-engagement': `action (${mode}): relancer engagement puis intégrer le retour`,
326
- 'resolve-external-blocker': `action (${mode}): lever le blocage puis reprendre`,
327
- 'amend-spec': `action (${mode}): spécifier avant de démarrer`,
328
- 'fix-acceptance': `action (${mode}): corriger puis revalider acceptance (fail)`,
329
- 'rerun-acceptance': `action (${mode}): relancer acceptance (stale) sur le commit courant`,
330
- 'finish-increment': `action (${mode}): terminer l'incrément en cours`,
331
- 'start-increment': `action (${mode}): continuer le premier item ouvert puis enregistrer preuve/acceptance`,
332
- 'prioritize-backlog': `action (${mode}): prioriser le backlog (WSJF absent) puis reprendre`,
333
- 'inspect-fallback': `action (${mode}): inspecter l'état puis décider la suite`,
334
- };
335
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition — `step.code` may be an UNKNOWN
336
- // future vocabulary entry (governed/additive enums): fall back rather than render `undefined`.
337
- return phrase[d.step.code] ?? `action (${mode}): inspecter l'état puis décider la suite`;
338
- }
339
- /** The `scope/gate` cell for a directive row: its gate code if any, else the WP label, else `-`. */
340
- function directiveScopeLabel(d) {
341
- return d.gate?.code ?? d.scope.wpLabel ?? '-';
382
+ // The blocked-by detail (`sur « … »` / `(réf …)`) is info the single `préconisation` column adds beyond
383
+ // the shared clause; the two steps that name a blocking target keep it.
384
+ const suffix = d.step.code === 'resolve-external-blocker' || d.step.code === 'finish-increment' ? on() : '';
385
+ return `action (${mode}): ${stepActionFr(d.step.code)}${suffix}`;
342
386
  }
343
387
  export function buildWpConductorView(tree, decisions = []) {
344
388
  const wpName = (n) => `${n.label} · ${clean(stripWpPrefix(n.title))}`;
@@ -348,6 +392,7 @@ export function buildWpConductorView(tree, decisions = []) {
348
392
  // stay the same rollup-driven tables (unchanged back-compat).
349
393
  const directives = buildDirectives(tree, decisions);
350
394
  const dispatchQueue = dispatchQueueOf(directives);
395
+ const keystone = keystoneOf(tree);
351
396
  const humanDecisions = directives.filter((d) => d.mode === 'human-decision');
352
397
  const focusNeeded = humanDecisions.filter((d) => d.step.code === 'focus-decision').length;
353
398
  const generalRecommendation = focusNeeded >= 2 || humanDecisions.length >= 4
@@ -391,6 +436,7 @@ export function buildWpConductorView(tree, decisions = []) {
391
436
  generalRecommendation,
392
437
  directives,
393
438
  dispatchQueue,
439
+ ...(keystone !== undefined ? { keystone } : {}),
394
440
  };
395
441
  }
396
442
  function renderReportView(view, format) {
@@ -414,6 +460,65 @@ function renderReportView(view, format) {
414
460
  export function formatWpConductor(tree, format, decisions = []) {
415
461
  return renderReportView(buildWpConductorView(tree, decisions), format);
416
462
  }
463
+ /** Clean + hard-truncate a line to `width` with a trailing ellipsis (never a silent cut mid-report). */
464
+ function truncateLine(s, width) {
465
+ const c = clean(s);
466
+ return c.length <= width ? c : `${c.slice(0, Math.max(1, width - 1))}…`;
467
+ }
468
+ /**
469
+ * Fit `head + mid + tail` to `width` by truncating ONLY the middle (the long title), keeping the head
470
+ * (rank/scope) and the tail (the concrete ACTION) intact — so the most useful part is never the part cut.
471
+ * Falls back to a whole-line truncation only when head+tail alone already overflow (a very long phrase).
472
+ */
473
+ function fitMiddle(head, mid, tail, width) {
474
+ const budget = width - head.length - tail.length;
475
+ if (budget < 8)
476
+ return truncateLine(head + mid + tail, width);
477
+ const m = mid.length <= budget ? mid : `${mid.slice(0, Math.max(1, budget - 1))}…`;
478
+ return head + m + tail;
479
+ }
480
+ export function formatWpConductorInline(tree, decisions = [], opts = {}) {
481
+ const width = Math.min(200, Math.max(48, opts.width ?? 80));
482
+ const maxDir = Math.max(1, opts.maxDirectives ?? 10);
483
+ const view = buildWpConductorView(tree, decisions);
484
+ const totals = wpTotals(tree);
485
+ const wpName = (n) => `${n.label} · ${clean(stripWpPrefix(n.title))}`;
486
+ const lines = [];
487
+ // FAIT — one line: global progress + the closed WPs (by label).
488
+ const closed = tree.filter((n) => n.pct === 100).map((n) => n.label);
489
+ lines.push(truncateLine(`FAIT ${totals.done}/${totals.active} (${pctStr(totals.pct)})${closed.length > 0 ? ` · clos: ${closed.join(', ')}` : ''}`, width));
490
+ // À-FAIRE — one line per open WP that actually HAS open direct work; open leaves cohort-collapsed
491
+ // (N× tag) so it stays on screen. WPs/streams with no open direct item ("0/0 — aucun item ouvert")
492
+ // are pure noise (their remaining work, if any, shows under a child WP) and are dropped.
493
+ lines.push('À-FAIRE');
494
+ const openWps = tree.filter((n) => n.pct !== 100);
495
+ let shown = 0;
496
+ for (const n of openWps) {
497
+ const cohorts = collapseLeafCohorts(openLeaves(n));
498
+ const parts = cohorts.map((c) => (c.count > 1 ? `${c.count}× ${c.tag}` : (c.titles[0] ?? c.tag)));
499
+ if (parts.length === 0)
500
+ continue; // no open direct item — skip, don't print an empty row
501
+ lines.push(truncateLine(` ${wpName(n)} ${n.done}/${n.active} ${pctStr(n.pct)} — ${parts.join(' · ')}`, width));
502
+ shown++;
503
+ }
504
+ if (shown === 0)
505
+ lines.push(truncateLine(' (aucun item ouvert au niveau WP)', width));
506
+ // PRÉCO — one compact line per directive (concrete action + actor); keystone bottleneck flagged.
507
+ lines.push(truncateLine(view.keystone !== undefined ? `PRÉCO (goulot: ${clean(view.keystone.title)} bloque ${view.keystone.blocks})` : 'PRÉCO', width));
508
+ const dirs = view.directives;
509
+ if (dirs.length === 0)
510
+ lines.push(truncateLine(' (aucune action ouverte)', width));
511
+ for (const d of dirs.slice(0, maxDir)) {
512
+ const rank = d.rank.split('_')[0]; // P1..P5
513
+ // Keep the rank/scope head AND the concrete action tail intact; truncate the (long) title in the
514
+ // middle — so the action a human is meant to take is never the thing that gets cut off.
515
+ lines.push(fitMiddle(` ‣ [${rank}] ${directiveScopeLabel(d)} · `, clean(d.target.title ?? d.target.id), ` — ${clean(directivePhrase(d))}`, width));
516
+ }
517
+ if (dirs.length > maxDir) {
518
+ lines.push(truncateLine(` (+${dirs.length - maxDir} autres — track report --format json)`, width));
519
+ }
520
+ return lines.join('\n') + '\n';
521
+ }
417
522
  export function formatRows(rows, format) {
418
523
  if (format === 'json')
419
524
  return JSON.stringify(rows, null, 2);
@@ -1 +1 @@
1
- {"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/report/format.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/report/format.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,93 @@
1
+ import type { Directive, DirectiveAdviceKind, DirectiveGate, DirectiveMode, DirectiveRank, DirectiveStepCode } from './directive.js';
2
+ export type { Directive, DirectiveAdviceKind, DirectiveGate, DirectiveGateCode, DirectiveMode, DirectiveRank, DirectiveStepCode, Keystone, } from './directive.js';
3
+ /** The semantic tone key a badge carries; the renderer maps it to its own DS/ANSI variant (§4.4). */
4
+ export type FriendlyTone = 'critical' | 'warning' | 'info' | 'neutral' | 'positive';
5
+ /**
6
+ * Whitespace-normalize a free-text string (collapse control/space runs to one space, trim). PURE.
7
+ * This is normalization, NOT format-escaping — each renderer still owns its escaping (§6).
8
+ */
9
+ export declare function cleanText(s: string): string;
10
+ /** A machine `rank` → a friendly human badge (label + semantic tone). Unknown ⇒ neutral "À examiner". */
11
+ export declare function rankBadgeFr(rank: DirectiveRank): {
12
+ label: string;
13
+ tone: FriendlyTone;
14
+ };
15
+ /**
16
+ * A machine `gate` → a clear French sentence. When the gate NAMES what blocks it (`blockedByTitle`), that
17
+ * human detail is appended (`… : « <title> »`). Unknown gate code ⇒ "À examiner". Absent gate ⇒ undefined.
18
+ */
19
+ export declare function gatePhraseFr(gate: DirectiveGate | undefined): string | undefined;
20
+ /**
21
+ * A machine `step.code` → the concrete next action, phrased for a human. An UNKNOWN step.code (a future
22
+ * governed vocabulary entry this build predates) degrades to the `inspect-fallback` phrasing — forward-compat.
23
+ */
24
+ export declare function stepActionFr(step: DirectiveStepCode): string;
25
+ /** A machine `mode` (the ROUTAGE / executor) → who should act, in plain French. */
26
+ export declare function modeActorFr(mode: DirectiveMode): string;
27
+ /** `adviceKind` → the nature of the item, in one friendly word. */
28
+ export declare function adviceNatureFr(kind: DirectiveAdviceKind): string;
29
+ /** A machine item `kind` → a friendly French label (unknown kinds pass through verbatim). */
30
+ export declare function kindFr(k: string): string;
31
+ /**
32
+ * A machine acceptance/recette state → its FR gloss (the report locale). Canonical wording; kept byte-aligned
33
+ * with `report/build.ts`'s `ACCEPTANCE_FR` (the buckets `detail.acceptanceLabel` source), so the same words
34
+ * describe recette everywhere. Unknown ⇒ passthrough.
35
+ */
36
+ export declare function acceptanceFr(acceptance: string): string;
37
+ /** The `scope/gate` label for a directive: its gate code if any, else its WP label, else `-`. */
38
+ export declare function directiveScopeLabelFr(d: Directive): string;
39
+ /** A short subject: the item title, whitespace-normalized, capped with an ellipsis (never a silent cut). */
40
+ export declare function subjectOf(d: Directive): string;
41
+ /**
42
+ * Is this directive LAUNCHABLE by a sub-agent? Only `subagent`/`local` directives can be dispatched; a
43
+ * `human-decision` needs a human and an `h2a-engagement` needs a peer, so those are shown but not checkable.
44
+ */
45
+ export declare function isLaunchable(d: Directive): boolean;
46
+ /** One directive as an "À-FAIRE" row (Sujet · Action concrète · Acteur · Nature · Priorité + gate). */
47
+ export interface FriendlyTodoRow {
48
+ id: string;
49
+ subject: string;
50
+ action: string;
51
+ actor: string;
52
+ nature: string;
53
+ badge: {
54
+ label: string;
55
+ tone: FriendlyTone;
56
+ };
57
+ gate?: string;
58
+ launchable: boolean;
59
+ wp?: string;
60
+ fanIn?: number;
61
+ wsjf?: number;
62
+ }
63
+ export declare function todoRowFr(d: Directive): FriendlyTodoRow;
64
+ /** One directive as a "PRÉCO / levier" row: the concrete move + WHY it is leverage. */
65
+ export interface FriendlyPrecoRow {
66
+ id: string;
67
+ title: string;
68
+ why: string;
69
+ action: string;
70
+ actor: string;
71
+ badge: {
72
+ label: string;
73
+ tone: FriendlyTone;
74
+ };
75
+ launchable: boolean;
76
+ }
77
+ export declare function precoRowFr(d: Directive): FriendlyPrecoRow;
78
+ /** One human-decision directive as a decision card: the question, what it concerns, the next move. */
79
+ export interface FriendlyDecisionRow {
80
+ id: string;
81
+ question: string;
82
+ concerns: string;
83
+ action: string;
84
+ actor: string;
85
+ /** The project the decision belongs to (so a multi-project focus stays legible). */
86
+ project: string;
87
+ workspace?: string;
88
+ wp?: string;
89
+ /** A one-line French summary of what the decision is about. */
90
+ summary: string;
91
+ }
92
+ export declare function decisionRowFr(d: Directive, repo: string): FriendlyDecisionRow;
93
+ //# sourceMappingURL=friendly.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"friendly.d.ts","sourceRoot":"","sources":["../../src/report/friendly.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EACV,SAAS,EACT,mBAAmB,EACnB,aAAa,EAEb,aAAa,EACb,aAAa,EACb,iBAAiB,EAClB,MAAM,gBAAgB,CAAA;AAKvB,YAAY,EACV,SAAS,EACT,mBAAmB,EACnB,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,QAAQ,GACT,MAAM,gBAAgB,CAAA;AAEvB,qGAAqG;AACrG,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,CAAA;AAEnF;;;GAGG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAE3C;AAYD,yGAAyG;AACzG,wBAAgB,WAAW,CAAC,IAAI,EAAE,aAAa,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,YAAY,CAAA;CAAE,CAEtF;AAcD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAOhF;AAgBD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,CAE5D;AAED,mFAAmF;AACnF,wBAAgB,WAAW,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAavD;AAED,mEAAmE;AACnE,wBAAgB,cAAc,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM,CAEhE;AAQD,6FAA6F;AAC7F,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAExC;AAWD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED,iGAAiG;AACjG,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,SAAS,GAAG,MAAM,CAE1D;AAMD,4GAA4G;AAC5G,wBAAgB,SAAS,CAAC,CAAC,EAAE,SAAS,GAAG,MAAM,CAG9C;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,SAAS,GAAG,OAAO,CAElD;AAED,uGAAuG;AACvG,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,YAAY,CAAA;KAAE,CAAA;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,OAAO,CAAA;IACnB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,SAAS,GAAG,eAAe,CAevD;AAED,uFAAuF;AACvF,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,YAAY,CAAA;KAAE,CAAA;IAC5C,UAAU,EAAE,OAAO,CAAA;CACpB;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,SAAS,GAAG,gBAAgB,CAezD;AASD,sGAAsG;AACtG,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,oFAAoF;IACpF,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,+DAA+D;IAC/D,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,mBAAmB,CAgB7E"}
@@ -0,0 +1,197 @@
1
+ // friendly — the SHARED, PURE enum→French LEXICON + per-directive PROJECTION for the track report.
2
+ //
3
+ // WHY. The track "conductor view" (`directives[]`, the locked machine contract) is rendered as a French,
4
+ // jargon-free report in TWO surfaces that used to drift: the terminal renderer (`report/format.ts`) and
5
+ // the focus cockpit (`apps/focus/src/lib/track-model.ts`). Each maintained its OWN enum→French mapping and
6
+ // its own per-directive row shapes. This module is the SINGLE source of truth for that translation, so the
7
+ // two surfaces can never silently re-word apart (spec 2026-07-11-unified-report-presentation-layer).
8
+ //
9
+ // PURITY CONTRACT (spec §3/§4). This module is a pure subpath (`@sentropic/track/report/friendly`):
10
+ // - NO `fs` / `child_process` / MCP / CLI / ANSI / HTML — it is safe to bundle into an SSR/browser graph.
11
+ // - `import type` ONLY (from `./directive.js`) — every runtime import is erased, so `friendly.js` has zero
12
+ // runtime dependencies.
13
+ // - NO `Date.now()` — any freshness/`now` is a PARAMETER (the terminal is timeless; dated views are the
14
+ // caller's concern). This module takes none today.
15
+ // - It emits SEMANTIC French strings, whitespace-normalized, but NOT format-escaped: each renderer keeps
16
+ // its own escaping (terminal `MD_META`/cell-`|`; cockpit DS/`clean`; html `escapeHtml`) — §6.
17
+ /**
18
+ * Whitespace-normalize a free-text string (collapse control/space runs to one space, trim). PURE.
19
+ * This is normalization, NOT format-escaping — each renderer still owns its escaping (§6).
20
+ */
21
+ export function cleanText(s) {
22
+ return s.replace(/\s+/g, ' ').trim();
23
+ }
24
+ // ---- LEXICON — enum → canonical French (one wording, both surfaces) --------------------------------
25
+ const RANK_BADGE = {
26
+ P1_GATE: { label: 'Prioritaire', tone: 'critical' },
27
+ P2_ACCEPTANCE: { label: 'À revérifier', tone: 'warning' },
28
+ P3_IN_PROGRESS: { label: 'En cours', tone: 'info' },
29
+ P4_TODO_WSJF: { label: 'À planifier', tone: 'neutral' },
30
+ P5_FALLBACK: { label: 'À examiner', tone: 'neutral' },
31
+ };
32
+ /** A machine `rank` → a friendly human badge (label + semantic tone). Unknown ⇒ neutral "À examiner". */
33
+ export function rankBadgeFr(rank) {
34
+ return RANK_BADGE[rank] ?? { label: 'À examiner', tone: 'neutral' };
35
+ }
36
+ const GATE_PHRASE = {
37
+ 'decision-pending': 'En attente d’une décision',
38
+ 'engagement-pending': 'En attente d’un partenaire (h2a)',
39
+ 'external-dependency': 'Bloqué par une dépendance externe',
40
+ 'linked-dependency': 'Bloqué par une autre tâche',
41
+ 'manual-blocker': 'Bloqué manuellement',
42
+ 'spec-not-ready': 'À spécifier avant de démarrer',
43
+ 'acceptance-failed': 'Vérification en échec',
44
+ 'acceptance-stale': 'Vérification à refaire',
45
+ 'priority-missing': 'Priorité à définir',
46
+ };
47
+ /**
48
+ * A machine `gate` → a clear French sentence. When the gate NAMES what blocks it (`blockedByTitle`), that
49
+ * human detail is appended (`… : « <title> »`). Unknown gate code ⇒ "À examiner". Absent gate ⇒ undefined.
50
+ */
51
+ export function gatePhraseFr(gate) {
52
+ if (!gate)
53
+ return undefined;
54
+ const phrase = GATE_PHRASE[gate.code] ?? 'À examiner';
55
+ if (gate.blockedByTitle && gate.blockedByTitle.trim() !== '') {
56
+ return `${phrase} : « ${cleanText(gate.blockedByTitle)} »`;
57
+ }
58
+ return phrase;
59
+ }
60
+ const STEP_ACTION = {
61
+ 'focus-decision': 'Instruire le dossier puis trancher',
62
+ 'settle-decision': 'Trancher la décision',
63
+ 'resume-engagement': 'Relancer le partenaire puis intégrer le retour',
64
+ 'resolve-external-blocker': 'Lever le blocage puis reprendre',
65
+ 'amend-spec': 'Rédiger la spécification',
66
+ 'fix-acceptance': 'Corriger puis relancer la vérification',
67
+ 'rerun-acceptance': 'Relancer la vérification sur le commit courant',
68
+ 'finish-increment': 'Terminer l’incrément en cours',
69
+ 'start-increment': 'Démarrer l’incrément (preuve + vérification)',
70
+ 'prioritize-backlog': 'Prioriser le backlog',
71
+ 'inspect-fallback': 'Inspecter l’état puis décider la suite',
72
+ };
73
+ /**
74
+ * A machine `step.code` → the concrete next action, phrased for a human. An UNKNOWN step.code (a future
75
+ * governed vocabulary entry this build predates) degrades to the `inspect-fallback` phrasing — forward-compat.
76
+ */
77
+ export function stepActionFr(step) {
78
+ return STEP_ACTION[step] ?? 'Inspecter l’état puis décider la suite';
79
+ }
80
+ /** A machine `mode` (the ROUTAGE / executor) → who should act, in plain French. */
81
+ export function modeActorFr(mode) {
82
+ switch (mode) {
83
+ case 'human-decision':
84
+ return 'Vous (décision)';
85
+ case 'h2a-engagement':
86
+ return 'Partenaire h2a';
87
+ case 'subagent':
88
+ return 'Sous-agent';
89
+ case 'local':
90
+ return 'Local';
91
+ default:
92
+ return 'À affecter';
93
+ }
94
+ }
95
+ /** `adviceKind` → the nature of the item, in one friendly word. */
96
+ export function adviceNatureFr(kind) {
97
+ return kind === 'judgment-required' ? 'Décision' : 'Action';
98
+ }
99
+ const KIND_FR = {
100
+ feature: 'Fonctionnalité',
101
+ bug: 'Correctif',
102
+ chore: 'Tâche',
103
+ };
104
+ /** A machine item `kind` → a friendly French label (unknown kinds pass through verbatim). */
105
+ export function kindFr(k) {
106
+ return KIND_FR[k] ?? k;
107
+ }
108
+ const ACCEPTANCE_FR = {
109
+ pass: 'recette OK',
110
+ fail: 'recette en échec',
111
+ stale: 'recette obsolète (à rejouer)',
112
+ waived: 'recette dérogée',
113
+ unknown: 'recette non évaluée',
114
+ 'n/a': 'sans recette',
115
+ };
116
+ /**
117
+ * A machine acceptance/recette state → its FR gloss (the report locale). Canonical wording; kept byte-aligned
118
+ * with `report/build.ts`'s `ACCEPTANCE_FR` (the buckets `detail.acceptanceLabel` source), so the same words
119
+ * describe recette everywhere. Unknown ⇒ passthrough.
120
+ */
121
+ export function acceptanceFr(acceptance) {
122
+ return ACCEPTANCE_FR[acceptance] ?? acceptance;
123
+ }
124
+ /** The `scope/gate` label for a directive: its gate code if any, else its WP label, else `-`. */
125
+ export function directiveScopeLabelFr(d) {
126
+ return d.gate?.code ?? d.scope.wpLabel ?? '-';
127
+ }
128
+ // ---- PROJECTION — per-directive friendly rows ------------------------------------------------------
129
+ const SUBJECT_MAX = 90;
130
+ /** A short subject: the item title, whitespace-normalized, capped with an ellipsis (never a silent cut). */
131
+ export function subjectOf(d) {
132
+ const t = cleanText(d.target.title ?? d.target.id);
133
+ return t.length > SUBJECT_MAX ? t.slice(0, 88) + '…' : t;
134
+ }
135
+ /**
136
+ * Is this directive LAUNCHABLE by a sub-agent? Only `subagent`/`local` directives can be dispatched; a
137
+ * `human-decision` needs a human and an `h2a-engagement` needs a peer, so those are shown but not checkable.
138
+ */
139
+ export function isLaunchable(d) {
140
+ return d.mode === 'subagent' || d.mode === 'local';
141
+ }
142
+ export function todoRowFr(d) {
143
+ const gate = gatePhraseFr(d.gate);
144
+ return {
145
+ id: d.id,
146
+ subject: subjectOf(d),
147
+ action: stepActionFr(d.step.code),
148
+ actor: modeActorFr(d.mode),
149
+ nature: adviceNatureFr(d.adviceKind),
150
+ badge: rankBadgeFr(d.rank),
151
+ ...(gate !== undefined ? { gate } : {}),
152
+ launchable: isLaunchable(d),
153
+ ...(d.scope.wpLabel !== undefined ? { wp: d.scope.wpLabel } : {}),
154
+ ...(d.facts.fanIn !== undefined ? { fanIn: d.facts.fanIn } : {}),
155
+ ...(d.facts.wsjf !== undefined ? { wsjf: d.facts.wsjf } : {}),
156
+ };
157
+ }
158
+ export function precoRowFr(d) {
159
+ const gate = gatePhraseFr(d.gate);
160
+ const lever = d.facts.fanIn !== undefined && d.facts.fanIn > 0
161
+ ? `Débloque ${d.facts.fanIn} autre(s) tâche(s)`
162
+ : (gate ?? (d.mode === 'human-decision' ? 'Décision en attente' : 'Fait avancer le WP concerné'));
163
+ return {
164
+ id: d.id,
165
+ title: subjectOf(d),
166
+ why: lever,
167
+ action: stepActionFr(d.step.code),
168
+ actor: modeActorFr(d.mode),
169
+ badge: rankBadgeFr(d.rank),
170
+ launchable: isLaunchable(d),
171
+ };
172
+ }
173
+ /** A workspace id (`ws:89c4…`) → a short, human-glanceable form. PURE. */
174
+ function shortWorkspace(ws) {
175
+ if (!ws)
176
+ return undefined;
177
+ const body = ws.startsWith('ws:') ? ws.slice(3) : ws;
178
+ return body.length > 10 ? `ws:${body.slice(0, 8)}…` : ws;
179
+ }
180
+ export function decisionRowFr(d, repo) {
181
+ const concerns = subjectOf(d);
182
+ const wp = d.scope.wpLabel;
183
+ const why = gatePhraseFr(d.gate) ?? 'Décision d’orientation à trancher';
184
+ const ws = shortWorkspace(d.target.workspace);
185
+ return {
186
+ id: d.id,
187
+ question: d.gate?.blockedByTitle ? cleanText(d.gate.blockedByTitle) : concerns,
188
+ concerns,
189
+ action: stepActionFr(d.step.code),
190
+ actor: modeActorFr(d.mode),
191
+ project: repo,
192
+ ...(ws !== undefined ? { workspace: ws } : {}),
193
+ ...(wp !== undefined ? { wp } : {}),
194
+ summary: `Concerne « ${concerns} »${wp ? ` · ${wp}` : ''} — ${why}.`,
195
+ };
196
+ }
197
+ //# sourceMappingURL=friendly.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"friendly.js","sourceRoot":"","sources":["../../src/report/friendly.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { type ReportView } from './format.js';
2
+ import type { DecisionRow } from './build.js';
3
+ import type { WpNode } from './rollup.js';
4
+ import { type DsFragmentHooks, type DsFragmentPresenter } from './present.js';
5
+ /** Render a `ReportView` to a sanitized, DS-styled `<article>` fragment (the shared presenter, §C). */
6
+ export declare const renderReportHtml: DsFragmentPresenter<ReportView>;
7
+ /** Build the conductor view from the forest and render its DS fragment (the CLI `--format html` path). */
8
+ export declare function formatWpConductorHtml(tree: readonly WpNode[], decisions?: readonly DecisionRow[], hooks?: DsFragmentHooks): string;
9
+ //# sourceMappingURL=html.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"html.d.ts","sourceRoot":"","sources":["../../src/report/html.ts"],"names":[],"mappings":"AAOA,OAAO,EAAyC,KAAK,UAAU,EAAwB,MAAM,aAAa,CAAA;AAC1G,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAE7C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAA8B,KAAK,eAAe,EAAE,KAAK,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAgEzG,uGAAuG;AACvG,eAAO,MAAM,gBAAgB,EAAE,mBAAmB,CAAC,UAAU,CAU5D,CAAA;AAED,0GAA0G;AAC1G,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,SAAS,GAAE,SAAS,WAAW,EAAO,EACtC,KAAK,GAAE,eAAgC,GACtC,MAAM,CAER"}