@exaudeus/workrail 0.3.0 → 0.4.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/package.json
CHANGED
|
@@ -101,9 +101,10 @@
|
|
|
101
101
|
"Scope strictly to moduleRoot and changed files plus immediate neighbors.",
|
|
102
102
|
"Cap per-file neighbors and graph size to avoid noise; prefer edges directly related to the diff.",
|
|
103
103
|
"Write full details to the live doc; in chat, keep output minimal.",
|
|
104
|
-
"
|
|
105
|
-
"
|
|
106
|
-
"
|
|
104
|
+
"Small Multiples: for each changed symbol, render mini path lines (≤6 nodes) for top 1–2 inbound and 1–2 outbound paths; width ≤100; highlight changed as [*name*]; tag HOT where applicable.",
|
|
105
|
+
"Path Lists with Aliasing: collapse repeated subpaths using deterministic aliases (A1, A2, ...); reuse aliases across paths; append an 'Alias Legend' listing alias → full subpath.",
|
|
106
|
+
"Ordering: HOT-first, then shortest path, then alphabetical; depth ≤2; dedupe identical paths.",
|
|
107
|
+
"Caps: ≤5 anchors; ≤8 total paths; ≤12 nodes across all small multiples; if exceeded, render 'Adjacency Summary' with per-edge counts instead.",
|
|
107
108
|
"Flow Anchors: map entrypoints to changed symbols; table 'Anchor | Type | Target Symbol | Notes'; cap ≤5 anchors.",
|
|
108
109
|
"Hot-Path ranking: score edges (diff touch, anchor, ticket keyword, test ref); tag HOT if score ≥ threshold; prefer HOT paths in ASCII output.",
|
|
109
110
|
"Legend in doc: [*name*]=changed; HOT=high-impact; 'A -> B'=calls; 'Route -> Handler'; 'Job -> Worker'.",
|
|
@@ -170,7 +171,7 @@
|
|
|
170
171
|
"guidance": [
|
|
171
172
|
"Targets: naming clarity; small readability/style inconsistencies; redundant comments; commented/dead code; import/order polish; safe micro-perf; test naming/structure.",
|
|
172
173
|
"Quotas: if majorIssuesFound==true aim 5–8 (cap 12); else aim 8–12 (cap 15); ≤3 per category; 1–2 lines each; dedupe; group by file; prefix 'Nit:'.",
|
|
173
|
-
"
|
|
174
|
+
"MUST add ready-to-copy MR comments for the top 3 nits (file:line, short title, 1–2 line rationale, optional tiny diff); log the revision.",
|
|
174
175
|
"Append Nit grouped by file: 'path:line — nit text'."
|
|
175
176
|
],
|
|
176
177
|
"runCondition": { "var": "analysisDepth", "equals": 4 },
|
|
@@ -238,10 +239,11 @@
|
|
|
238
239
|
"Dedupe: identical path:line + similar text → keep one; if overlap with Hygiene/Patterns, keep in the most specific section and cross-reference in the other.",
|
|
239
240
|
"Caps: ≤15 total; ≤3 per category; if exceeded, append a single 'More items omitted due to caps.' line.",
|
|
240
241
|
"Cross-link any existing MR comments to their nit rows (e.g., 'MR: MR-##').",
|
|
242
|
+
"If fewer than 3 Nit MR comments exist overall, create minimal ready-to-copy MR comments for the highest-signal remaining nits to reach 3 (file:line, short title, 1–2 line rationale, optional tiny diff).",
|
|
241
243
|
"Chat: minimal recap with doc path and counts; full details live in the doc."
|
|
242
244
|
],
|
|
243
245
|
"runCondition": { "and": [ { "var": "complexity", "not_equals": "Trivial" }, { "or": [ { "var": "contextGatheringComplete", "equals": true }, { "var": "skipContextGathering", "equals": true } ] } ] },
|
|
244
|
-
"functionReferences": ["upsertSection()", "logRevision()"],
|
|
246
|
+
"functionReferences": ["appendMRComment()", "upsertSection()", "logRevision()"],
|
|
245
247
|
"requireConfirmation": false
|
|
246
248
|
},
|
|
247
249
|
{
|
|
@@ -257,6 +259,7 @@
|
|
|
257
259
|
"Risk Heatmap table: rows 'Risk | Area | Likelihood(L/M/H) | Impact(L/M/H) | Mitigation(≤1 line)'; sort by Impact desc then Likelihood desc; cap ≤6 rows; add 'omitted due to caps' line if needed.",
|
|
258
260
|
"Dedupe patches and MR comments; ensure every Critical/Major has either a patch or a copy-ready MR comment.",
|
|
259
261
|
"If any Critical/Major lacks an MR comment, generate a minimal ready-to-copy comment (file:line, short title, 1–2 line rationale, optional tiny diff snippet).",
|
|
262
|
+
"Ensure at least 3 Nit MR comments exist overall; if fewer, create minimal Nit MR comments for the top remaining nits to reach 3.",
|
|
260
263
|
"Group MR comments by file and dedupe similar entries; add a 'Missing Comments Summary' note if any comments were auto-added.",
|
|
261
264
|
"Cross-link each MR comment to its related Proposed Patch when applicable ('See Proposed Patch: <title>').",
|
|
262
265
|
"Keep all caps deterministic; if any list exceeds its cap, add a single trailing 'More items omitted due to caps.' line."
|