@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.
- package/dist/cli/index.js +24 -2
- package/dist/cli/index.js.map +1 -1
- package/dist/read/commands.d.ts +13 -1
- package/dist/read/commands.d.ts.map +1 -1
- package/dist/read/commands.js +31 -1
- package/dist/read/commands.js.map +1 -1
- package/dist/read/contract.d.ts +2 -2
- package/dist/read/contract.js +1 -1
- package/dist/read/contract.js.map +1 -1
- package/dist/report/build.d.ts +27 -0
- package/dist/report/build.d.ts.map +1 -1
- package/dist/report/build.js +103 -5
- package/dist/report/build.js.map +1 -1
- package/dist/report/directive.d.ts +37 -11
- package/dist/report/directive.d.ts.map +1 -1
- package/dist/report/directive.js +61 -11
- package/dist/report/directive.js.map +1 -1
- package/dist/report/format.d.ts +27 -2
- package/dist/report/format.d.ts.map +1 -1
- package/dist/report/format.js +130 -25
- package/dist/report/format.js.map +1 -1
- package/dist/report/friendly.d.ts +93 -0
- package/dist/report/friendly.d.ts.map +1 -0
- package/dist/report/friendly.js +197 -0
- package/dist/report/friendly.js.map +1 -0
- package/dist/report/html.d.ts +9 -0
- package/dist/report/html.d.ts.map +1 -0
- package/dist/report/html.js +76 -0
- package/dist/report/html.js.map +1 -0
- package/dist/report/present.d.ts +28 -0
- package/dist/report/present.d.ts.map +1 -0
- package/dist/report/present.js +32 -0
- package/dist/report/present.js.map +1 -0
- package/package.json +6 -2
package/dist/report/format.js
CHANGED
|
@@ -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
|
|
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
|
-
|
|
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
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
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":"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"}
|
|
@@ -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"}
|