@exaudeus/workrail 3.13.0 → 3.14.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.
@@ -114,7 +114,10 @@
114
114
  "goal": "Understand what workflow you are authoring or modernizing, and classify the task before you design anything.",
115
115
  "constraints": [
116
116
  [
117
- { "kind": "ref", "refId": "wr.refs.notes_first_durability" }
117
+ {
118
+ "kind": "ref",
119
+ "refId": "wr.refs.notes_first_durability"
120
+ }
118
121
  ],
119
122
  "Explore first. Ask the user only what you genuinely cannot determine with tools and references.",
120
123
  "Choose baselines as models, not templates. Copy structural patterns, not another workflow's domain voice."
@@ -181,7 +184,7 @@
181
184
  "Decide the phase list, one-line goal for each phase, and overall ordering.",
182
185
  "Design loops with explicit exit rules, bounded maxIterations, and real reasons for another pass.",
183
186
  "Decide confirmation gates, delegation vs template injection vs direct execution, promptFragments, references, artifacts, and metaGuidance.",
184
- "If `authoringMode = modernize_existing`, decide preserve-in-place, restructure, or rewrite. For each item in valueInventory, record: `preserved` (structurally present with equivalent enforcement), `replaced` (new mechanism prevents same failure mode justify equivalence), or `dropped` (intentionally removed justify the loss). Phase-level mapping alone is insufficient; track what was inside each restructured or removed phase."
187
+ "If `authoringMode = modernize_existing`, decide preserve-in-place, restructure, or rewrite. For each item in valueInventory, record: `preserved` (structurally present with equivalent enforcement), `replaced` (new mechanism prevents same failure mode \u2014 justify equivalence), or `dropped` (intentionally removed \u2014 justify the loss). Phase-level mapping alone is insufficient; track what was inside each restructured or removed phase."
185
188
  ],
186
189
  "outputRequired": {
187
190
  "notesMarkdown": "Structured workflow outline, loop design, confirmation design, delegation design, artifact plan, and modernization mapping.",
@@ -194,14 +197,23 @@
194
197
  "promptFragments": [
195
198
  {
196
199
  "id": "phase-2-simple-direct",
197
- "when": { "var": "workflowComplexity", "equals": "Simple" },
200
+ "when": {
201
+ "var": "workflowComplexity",
202
+ "equals": "Simple"
203
+ },
198
204
  "text": "For Simple workflows, keep the architecture linear and compact. Do not invent loops or ceremony unless the task truly needs them."
199
205
  }
200
206
  ],
201
207
  "requireConfirmation": {
202
208
  "or": [
203
- { "var": "workflowComplexity", "not_equals": "Simple" },
204
- { "var": "rigorMode", "not_equals": "QUICK" }
209
+ {
210
+ "var": "workflowComplexity",
211
+ "not_equals": "Simple"
212
+ },
213
+ {
214
+ "var": "rigorMode",
215
+ "not_equals": "QUICK"
216
+ }
205
217
  ]
206
218
  }
207
219
  },
@@ -230,8 +242,14 @@
230
242
  },
231
243
  "requireConfirmation": {
232
244
  "or": [
233
- { "var": "rigorMode", "equals": "THOROUGH" },
234
- { "var": "workflowComplexity", "equals": "Complex" }
245
+ {
246
+ "var": "rigorMode",
247
+ "equals": "THOROUGH"
248
+ },
249
+ {
250
+ "var": "workflowComplexity",
251
+ "equals": "Complex"
252
+ }
235
253
  ]
236
254
  }
237
255
  },
@@ -261,7 +279,10 @@
261
279
  "promptFragments": [
262
280
  {
263
281
  "id": "phase-4-simple-fast",
264
- "when": { "var": "workflowComplexity", "equals": "Simple" },
282
+ "when": {
283
+ "var": "workflowComplexity",
284
+ "equals": "Simple"
285
+ },
265
286
  "text": "For Simple workflows, keep the file compact and linear. Do not create extra metaGuidance or loops unless the task truly needs them."
266
287
  }
267
288
  ],
@@ -306,7 +327,10 @@
306
327
  "promptFragments": [
307
328
  {
308
329
  "id": "phase-5a-thorough",
309
- "when": { "var": "rigorMode", "equals": "THOROUGH" },
330
+ "when": {
331
+ "var": "rigorMode",
332
+ "equals": "THOROUGH"
333
+ },
310
334
  "text": "After structural validation passes, also check the workflow manually against required-level authoring-spec rules and fix any failures before moving on."
311
335
  }
312
336
  ],
@@ -408,7 +432,7 @@
408
432
  "procedure": [
409
433
  "Trace the authored workflow step by step against the user's actual task or the closest realistic scenario.",
410
434
  "For each step, ask: what would the agent actually do, what context would it have, what would it likely produce, and what would the next step inherit?",
411
- "Also trace at least one degraded or edge-case path not just the happy path. Ask: what happens when a condition evaluates unexpectedly, a loop has nothing to iterate, a runCondition skips a phase, or the user provides minimal input? Quality gates that only protect the happy path are not quality gates.",
435
+ "Also trace at least one degraded or edge-case path \u2014 not just the happy path. Ask: what happens when a condition evaluates unexpectedly, a loop has nothing to iterate, a runCondition skips a phase, or the user provides minimal input? Quality gates that only protect the happy path are not quality gates.",
412
436
  "Identify likely weak steps, likely unsatisfying outputs, and likely false-confidence modes.",
413
437
  "For any loop in the workflow, explicitly check: does the exit condition have structural teeth (artifact contract, bounded maxIterations), or does it rely on prose instructions the engine cannot enforce?",
414
438
  "Fix issues directly in the workflow file when the right improvement is clear."
@@ -424,13 +448,19 @@
424
448
  "promptFragments": [
425
449
  {
426
450
  "id": "phase-6b-quick",
427
- "when": { "var": "rigorMode", "equals": "QUICK" },
451
+ "when": {
452
+ "var": "rigorMode",
453
+ "equals": "QUICK"
454
+ },
428
455
  "text": "For QUICK rigor, keep the simulation compact but still answer where the workflow would likely disappoint the user if it disappointed them at all."
429
456
  },
430
457
  {
431
458
  "id": "phase-6b-modernize-check",
432
- "when": { "var": "authoringMode", "equals": "modernize_existing" },
433
- "text": "For modernize_existing: after tracing the workflow forward, check each item in valueInventory. For each enforcement mechanism and domain knowledge item: would the modernized workflow produce the same behavior? Any item where the answer is no or weaker is a loss — fix it directly or record the accepted tradeoff with justification."
459
+ "when": {
460
+ "var": "authoringMode",
461
+ "equals": "modernize_existing"
462
+ },
463
+ "text": "For modernize_existing: after tracing the workflow forward, check each item in valueInventory. For each enforcement mechanism and domain knowledge item: would the modernized workflow produce the same behavior? Any item where the answer is no or weaker is a loss \u2014 fix it directly or record the accepted tradeoff with justification."
434
464
  }
435
465
  ],
436
466
  "requireConfirmation": false
@@ -445,7 +475,7 @@
445
475
  "Reviewer-family or validator output is evidence, not authority."
446
476
  ],
447
477
  "procedure": [
448
- "Score these dimensions 0-2 with one sentence of evidence each: `voiceClarity`, `ceremonyLevel`, `loopSoundness`, `delegationBoundedness`, `artifactClarity`, `taskEffectiveness`, `falseConfidenceResistance`, `stateMinimality`, `coverageSharpness`, `domainFit`, `handoffUtility`, `rigorAdaptability` (0 = adapts to complexity/rigor levels, 2 = single-weight), `enforcementStrength` (0 = behavioral rules have structural teeth; 2 = important rules are prose-only with no enforcement mechanism), and `modernizationDiscipline` (0 = every valueInventory item preserved, equivalently replaced with justification, or dropped with justification; 2 = items missing or replaced with weaker versions without justification score 0 for create mode).",
478
+ "Score these dimensions 0-2 with one sentence of evidence each: `voiceClarity`, `ceremonyLevel`, `loopSoundness`, `delegationBoundedness`, `artifactClarity`, `taskEffectiveness`, `falseConfidenceResistance`, `stateMinimality`, `coverageSharpness`, `domainFit`, `handoffUtility`, `rigorAdaptability` (0 = adapts to complexity/rigor levels, 2 = single-weight), `enforcementStrength` (0 = behavioral rules have structural teeth; 2 = important rules are prose-only with no enforcement mechanism), and `modernizationDiscipline` (0 = every valueInventory item preserved, equivalently replaced with justification, or dropped with justification; 2 = items missing or replaced with weaker versions without justification \u2014 score 0 for create mode).",
449
479
  "If delegation is available and rigor is THOROUGH, run an adversarial review bundle with these lenses: `engine_native_reviewer`, `task_effectiveness_reviewer`, `state_economy_reviewer`, `false_confidence_reviewer`, `domain_fit_reviewer`, and `maintainer_reviewer`.",
450
480
  "Synthesize what the review confirmed, what it challenged, and what changed your mind.",
451
481
  "When scoring `falseConfidenceResistance`, explicitly check: do the workflow's quality gates protect edge cases and degraded paths, or only the happy path? A workflow that passes its own checks on ideal input but fails silently on minimal or unexpected input scores 2.",
@@ -463,18 +493,27 @@
463
493
  "promptFragments": [
464
494
  {
465
495
  "id": "phase-6c-standard",
466
- "when": { "var": "rigorMode", "equals": "STANDARD" },
496
+ "when": {
497
+ "var": "rigorMode",
498
+ "equals": "STANDARD"
499
+ },
467
500
  "text": "For STANDARD rigor, you may keep the review self-executed unless uncertainty remains material. If you do delegate, prefer a small adversarial bundle."
468
501
  },
469
502
  {
470
503
  "id": "phase-6c-thorough",
471
- "when": { "var": "rigorMode", "equals": "THOROUGH" },
504
+ "when": {
505
+ "var": "rigorMode",
506
+ "equals": "THOROUGH"
507
+ },
472
508
  "text": "For THOROUGH rigor, assume the first review is not enough. Use adversarial reviewer lanes unless a hard limitation makes them impossible."
473
509
  },
474
510
  {
475
511
  "id": "phase-6c-heritage-review",
476
- "when": { "var": "authoringMode", "equals": "modernize_existing" },
477
- "text": "For modernize_existing: add a heritage_reviewer to the adversarial bundle. Its job is to check each valueInventory item and find what was lost or weakened — it ignores format improvements. It must answer: which enforcement mechanisms are now prose-only? Which domain knowledge items are absent? Which behavioral rules were removed without equivalent replacement? Heritage_reviewer findings drive enforcementStrength and modernizationDiscipline scores."
512
+ "when": {
513
+ "var": "authoringMode",
514
+ "equals": "modernize_existing"
515
+ },
516
+ "text": "For modernize_existing: add a heritage_reviewer to the adversarial bundle. Its job is to check each valueInventory item and find what was lost or weakened \u2014 it ignores format improvements. It must answer: which enforcement mechanisms are now prose-only? Which domain knowledge items are absent? Which behavioral rules were removed without equivalent replacement? Heritage_reviewer findings drive enforcementStrength and modernizationDiscipline scores."
478
517
  }
479
518
  ],
480
519
  "requireConfirmation": false
@@ -542,6 +581,7 @@
542
581
  "Keep it concise. The workflow file is the deliverable, not the summary."
543
582
  ],
544
583
  "procedure": [
584
+ "Stamp the workflow file: read the current `version` from `spec/authoring-spec.json` and write `validatedAgainstSpecVersion: <N>` as a top-level field in the workflow JSON. Commit the change \u2014 the stamp has no effect if only saved locally.",
545
585
  "State the workflow file path and name, whether it was created or modernized, and what it does in one sentence.",
546
586
  "Summarize the step structure, loops, confirmations, and delegation profile.",
547
587
  "Report validation status, authoring-integrity status, and outcome-effectiveness status.",