@exaudeus/workrail 3.27.0 → 3.29.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/dist/console/assets/{index-FtTaDku8.js → index-BZ6HkxGf.js} +1 -1
- package/dist/console/index.html +1 -1
- package/dist/manifest.json +3 -3
- package/docs/README.md +57 -0
- package/docs/adrs/001-hybrid-storage-backend.md +38 -0
- package/docs/adrs/002-four-layer-context-classification.md +38 -0
- package/docs/adrs/003-checkpoint-trigger-strategy.md +35 -0
- package/docs/adrs/004-opt-in-encryption-strategy.md +36 -0
- package/docs/adrs/005-agent-first-workflow-execution-tokens.md +105 -0
- package/docs/adrs/006-append-only-session-run-event-log.md +76 -0
- package/docs/adrs/007-resume-and-checkpoint-only-sessions.md +51 -0
- package/docs/adrs/008-blocked-nodes-architectural-upgrade.md +178 -0
- package/docs/adrs/009-bridge-mode-single-instance-mcp.md +195 -0
- package/docs/adrs/010-release-pipeline.md +89 -0
- package/docs/architecture/README.md +7 -0
- package/docs/architecture/refactor-audit.md +364 -0
- package/docs/authoring-v2.md +527 -0
- package/docs/authoring.md +873 -0
- package/docs/changelog-recent.md +201 -0
- package/docs/configuration.md +505 -0
- package/docs/ctc-mcp-proposal.md +518 -0
- package/docs/design/README.md +22 -0
- package/docs/design/agent-cascade-protocol.md +96 -0
- package/docs/design/autonomous-console-design-candidates.md +253 -0
- package/docs/design/autonomous-console-design-review.md +111 -0
- package/docs/design/autonomous-platform-mvp-discovery.md +525 -0
- package/docs/design/claude-code-source-deep-dive.md +713 -0
- package/docs/design/console-cyberpunk-ui-discovery.md +504 -0
- package/docs/design/console-execution-trace-candidates-final.md +160 -0
- package/docs/design/console-execution-trace-candidates.md +211 -0
- package/docs/design/console-execution-trace-design-candidates-v2.md +113 -0
- package/docs/design/console-execution-trace-design-review.md +74 -0
- package/docs/design/console-execution-trace-discovery.md +394 -0
- package/docs/design/console-execution-trace-final-review.md +77 -0
- package/docs/design/console-execution-trace-review.md +92 -0
- package/docs/design/console-performance-discovery.md +415 -0
- package/docs/design/console-ui-backlog.md +280 -0
- package/docs/design/daemon-architecture-discovery.md +853 -0
- package/docs/design/daemon-design-candidates.md +318 -0
- package/docs/design/daemon-design-review-findings.md +119 -0
- package/docs/design/daemon-engine-design-candidates.md +210 -0
- package/docs/design/daemon-engine-design-review.md +131 -0
- package/docs/design/daemon-execution-engine-discovery.md +280 -0
- package/docs/design/daemon-gap-analysis.md +554 -0
- package/docs/design/daemon-owns-console-plan.md +168 -0
- package/docs/design/daemon-owns-console-review.md +91 -0
- package/docs/design/daemon-owns-console.md +195 -0
- package/docs/design/data-model-erd.md +11 -0
- package/docs/design/design-candidates-consolidate-dev-staleness.md +98 -0
- package/docs/design/design-candidates-walk-cache-depth-limit.md +80 -0
- package/docs/design/design-review-consolidate-dev-staleness.md +54 -0
- package/docs/design/design-review-walk-cache-depth-limit.md +48 -0
- package/docs/design/implementation-plan-consolidate-dev-staleness.md +142 -0
- package/docs/design/implementation-plan-walk-cache-depth-limit.md +141 -0
- package/docs/design/layer3b-ghost-nodes-design-candidates.md +229 -0
- package/docs/design/layer3b-ghost-nodes-design-review.md +93 -0
- package/docs/design/layer3b-ghost-nodes-implementation-plan.md +219 -0
- package/docs/design/list-workflows-latency-fix-plan.md +128 -0
- package/docs/design/list-workflows-latency-fix-review.md +55 -0
- package/docs/design/list-workflows-latency-fix.md +109 -0
- package/docs/design/native-context-management-api.md +11 -0
- package/docs/design/performance-sweep-2026-04.md +96 -0
- package/docs/design/routines-guide.md +219 -0
- package/docs/design/sequence-diagrams.md +11 -0
- package/docs/design/subagent-design-principles.md +220 -0
- package/docs/design/temporal-patterns-design-candidates.md +312 -0
- package/docs/design/temporal-patterns-design-review-findings.md +163 -0
- package/docs/design/test-isolation-from-config-file.md +335 -0
- package/docs/design/v2-core-design-locks.md +2746 -0
- package/docs/design/v2-lock-registry.json +734 -0
- package/docs/design/workflow-authoring-v2.md +1044 -0
- package/docs/design/workflow-docs-spec.md +218 -0
- package/docs/design/workflow-extension-points.md +687 -0
- package/docs/design/workrail-auto-trigger-system.md +359 -0
- package/docs/design/workrail-config-file-discovery.md +513 -0
- package/docs/docker.md +110 -0
- package/docs/generated/v2-lock-closure-plan.md +26 -0
- package/docs/generated/v2-lock-coverage.json +797 -0
- package/docs/generated/v2-lock-coverage.md +177 -0
- package/docs/ideas/backlog.md +3927 -0
- package/docs/ideas/design-candidates-mcp-resilience.md +208 -0
- package/docs/ideas/design-review-findings-mcp-resilience.md +119 -0
- package/docs/ideas/implementation_plan.md +249 -0
- package/docs/ideas/third-party-workflow-setup-design-thinking.md +1948 -0
- package/docs/implementation/02-architecture.md +316 -0
- package/docs/implementation/04-testing-strategy.md +124 -0
- package/docs/implementation/09-simple-workflow-guide.md +835 -0
- package/docs/implementation/13-advanced-validation-guide.md +874 -0
- package/docs/implementation/README.md +21 -0
- package/docs/integrations/claude-code.md +300 -0
- package/docs/integrations/firebender.md +315 -0
- package/docs/migration/v0.1.0.md +147 -0
- package/docs/naming-conventions.md +45 -0
- package/docs/planning/README.md +104 -0
- package/docs/planning/github-ticketing-playbook.md +195 -0
- package/docs/plans/README.md +24 -0
- package/docs/plans/agent-managed-ticketing-design.md +605 -0
- package/docs/plans/agentic-orchestration-roadmap.md +112 -0
- package/docs/plans/assessment-gates-engine-handoff.md +536 -0
- package/docs/plans/content-coherence-and-references.md +151 -0
- package/docs/plans/library-extraction-plan.md +340 -0
- package/docs/plans/mr-review-workflow-redesign.md +1451 -0
- package/docs/plans/native-context-management-epic.md +11 -0
- package/docs/plans/perf-fixes-design-candidates.md +225 -0
- package/docs/plans/perf-fixes-design-review-findings.md +61 -0
- package/docs/plans/perf-fixes-new-issues-candidates.md +264 -0
- package/docs/plans/perf-fixes-new-issues-review.md +110 -0
- package/docs/plans/prompt-fragments.md +53 -0
- package/docs/plans/ui-ux-workflow-design-candidates.md +120 -0
- package/docs/plans/ui-ux-workflow-discovery.md +100 -0
- package/docs/plans/ui-ux-workflow-review.md +48 -0
- package/docs/plans/v2-followup-enhancements.md +587 -0
- package/docs/plans/workflow-categories-candidates.md +105 -0
- package/docs/plans/workflow-categories-discovery.md +110 -0
- package/docs/plans/workflow-categories-review.md +51 -0
- package/docs/plans/workflow-discovery-model-candidates.md +94 -0
- package/docs/plans/workflow-discovery-model-discovery.md +74 -0
- package/docs/plans/workflow-discovery-model-review.md +48 -0
- package/docs/plans/workflow-source-setup-phase-1.md +245 -0
- package/docs/plans/workflow-source-setup-phase-2.md +361 -0
- package/docs/plans/workflow-staleness-detection-candidates.md +104 -0
- package/docs/plans/workflow-staleness-detection-review.md +58 -0
- package/docs/plans/workflow-staleness-detection.md +80 -0
- package/docs/plans/workflow-v2-design.md +69 -0
- package/docs/plans/workflow-v2-roadmap.md +74 -0
- package/docs/plans/workflow-validation-design.md +98 -0
- package/docs/plans/workflow-validation-roadmap.md +108 -0
- package/docs/plans/workrail-platform-vision.md +420 -0
- package/docs/reference/agent-context-cleaner-snippet.md +94 -0
- package/docs/reference/agent-context-guidance.md +140 -0
- package/docs/reference/context-optimization.md +284 -0
- package/docs/reference/example-workflow-repository-template/.github/workflows/validate.yml +125 -0
- package/docs/reference/example-workflow-repository-template/README.md +268 -0
- package/docs/reference/example-workflow-repository-template/workflows/example-workflow.json +80 -0
- package/docs/reference/external-workflow-repositories.md +916 -0
- package/docs/reference/feature-flags-architecture.md +472 -0
- package/docs/reference/feature-flags.md +349 -0
- package/docs/reference/god-tier-workflow-validation.md +272 -0
- package/docs/reference/loop-optimization.md +209 -0
- package/docs/reference/loop-validation.md +176 -0
- package/docs/reference/loops.md +465 -0
- package/docs/reference/mcp-platform-constraints.md +59 -0
- package/docs/reference/recovery.md +88 -0
- package/docs/reference/releases.md +177 -0
- package/docs/reference/troubleshooting.md +105 -0
- package/docs/reference/workflow-execution-contract.md +998 -0
- package/docs/roadmap/README.md +22 -0
- package/docs/roadmap/legacy-planning-status.md +103 -0
- package/docs/roadmap/now-next-later.md +70 -0
- package/docs/roadmap/open-work-inventory.md +389 -0
- package/docs/tickets/README.md +39 -0
- package/docs/tickets/next-up.md +76 -0
- package/docs/workflow-management.md +317 -0
- package/docs/workflow-templates.md +423 -0
- package/docs/workflow-validation.md +184 -0
- package/docs/workflows.md +254 -0
- package/package.json +3 -1
- package/spec/authoring-spec.json +61 -16
- package/workflows/workflow-for-workflows.json +252 -93
- package/workflows/workflow-for-workflows.v2.json +188 -77
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"BASELINE DISCIPLINE: choose both an authoring baseline and an outcome baseline whenever possible. Copy structural patterns, not domain language.",
|
|
33
33
|
"VALIDATION GATE: validate with real validators, not regex approximations. When validator output and authoring assumptions conflict, runtime wins.",
|
|
34
34
|
"DEEP REVIEW: authoring integrity and outcome effectiveness are separate concerns. A workflow is not ready unless both pass.",
|
|
35
|
-
"
|
|
35
|
+
"RIGOR: always run the deepest review path -- state economy audit, execution simulation, adversarial review, and redesign if hard gates fail. There is no reduced-rigor mode.",
|
|
36
36
|
"ARTIFACT STRATEGY: the workflow JSON file is the primary output. Intermediate notes go in output.notesMarkdown. Do not create extra planning artifacts unless the workflow is genuinely complex.",
|
|
37
37
|
"V2 DURABILITY: use output.notesMarkdown as the primary durable record. Do not mirror execution state into CONTEXT.md or markdown checkpoint files.",
|
|
38
38
|
"ANTI-PATTERNS TO AVOID IN AUTHORED WORKFLOWS: no pseudo-function metaGuidance, no learning-path branching, no satisfaction-score loops, no heavy clarification batteries, no regex-as-primary-validation, no celebration phases.",
|
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
"id": "authoring-guide-v2",
|
|
71
71
|
"title": "Workflow Authoring Guide (v2)",
|
|
72
72
|
"source": "docs/authoring-v2.md",
|
|
73
|
-
"resolveFrom": "
|
|
73
|
+
"resolveFrom": "package",
|
|
74
74
|
"purpose": "Current v2 authoring principles, references guidance, and durable execution patterns.",
|
|
75
75
|
"authoritative": true
|
|
76
76
|
},
|
|
@@ -78,7 +78,7 @@
|
|
|
78
78
|
"id": "workflow-authoring-reference",
|
|
79
79
|
"title": "Workflow Authoring Reference",
|
|
80
80
|
"source": "docs/design/workflow-authoring-v2.md",
|
|
81
|
-
"resolveFrom": "
|
|
81
|
+
"resolveFrom": "package",
|
|
82
82
|
"purpose": "Detailed v2 workflow authoring patterns for loops, conditions, references, and workflow structure.",
|
|
83
83
|
"authoritative": true
|
|
84
84
|
},
|
|
@@ -86,7 +86,7 @@
|
|
|
86
86
|
"id": "routines-guide",
|
|
87
87
|
"title": "Routines Guide",
|
|
88
88
|
"source": "docs/design/routines-guide.md",
|
|
89
|
-
"resolveFrom": "
|
|
89
|
+
"resolveFrom": "package",
|
|
90
90
|
"purpose": "Current guide for deciding when to use delegation, direct execution, or template injection in authored workflows.",
|
|
91
91
|
"authoritative": false
|
|
92
92
|
},
|
|
@@ -141,23 +141,38 @@
|
|
|
141
141
|
],
|
|
142
142
|
"procedure": [
|
|
143
143
|
"Read the schema, authoring spec, v2 authoring guides, and the strongest relevant example workflows.",
|
|
144
|
-
"Decide `authoringMode`: `create` or `modernize_existing`.",
|
|
145
144
|
"Classify the target workflow archetype: `review_audit`, `coding_execution`, `diagnostic_investigation`, `planning_design`, `linear_operational`, or `content_analysis`.",
|
|
146
|
-
"Classify `workflowComplexity`: Simple, Medium, or Complex.
|
|
147
|
-
"Choose an `authoringBaseline` for engine-native authoring quality and an `outcomeBaseline` for the kind of job the authored workflow should perform. If no good baseline exists for one of them, set it to `none` and explain why."
|
|
148
|
-
"If `authoringMode = modernize_existing`, build a value inventory BEFORE forming opinions about what to change. Read the original and classify each meaningful mechanism: (1) enforcement mechanisms (forcing functions, hard gates, required outputs), (2) domain knowledge (problem-specific principles the agent would not otherwise know), (3) behavioral rules (persistent constraints on how the agent works). This inventory is the preservation checklist.",
|
|
149
|
-
"If `authoringMode = modernize_existing`, identify what must stay the same about purpose, what feels stale, and what modernization constraints apply."
|
|
145
|
+
"Classify `workflowComplexity`: Simple, Medium, or Complex.",
|
|
146
|
+
"Choose an `authoringBaseline` for engine-native authoring quality and an `outcomeBaseline` for the kind of job the authored workflow should perform. If no good baseline exists for one of them, set it to `none` and explain why."
|
|
150
147
|
],
|
|
151
148
|
"outputRequired": {
|
|
152
149
|
"notesMarkdown": "Task understanding, baseline choices, patterns to borrow or avoid, and any real open questions.",
|
|
153
|
-
"context": "Capture authoringMode, workflowArchetype, workflowComplexity,
|
|
150
|
+
"context": "Capture authoringMode, workflowArchetype, workflowComplexity, taskDescription, intendedAudience, successCriteria, domainConstraints, targetWorkflowPath, modernizationGoals, authoringBaseline, outcomeBaseline, baselineDecisionRationale, authoringPatternsToBorrow, outcomePatternsToBorrow, patternsToAvoid, openQuestions, and valueInventory (modernize_existing only)."
|
|
154
151
|
},
|
|
155
152
|
"verify": [
|
|
156
153
|
"The task is understood well enough to design the workflow without guessing blindly.",
|
|
157
154
|
"Both authoring and outcome baselines are explicit, or their absence is justified."
|
|
158
155
|
]
|
|
159
156
|
},
|
|
160
|
-
"requireConfirmation": true
|
|
157
|
+
"requireConfirmation": true,
|
|
158
|
+
"promptFragments": [
|
|
159
|
+
{
|
|
160
|
+
"id": "phase-0-modernize-inventory",
|
|
161
|
+
"when": {
|
|
162
|
+
"var": "authoringMode",
|
|
163
|
+
"equals": "modernize_existing"
|
|
164
|
+
},
|
|
165
|
+
"text": "Decide `authoringMode`: `create` or `modernize_existing`."
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
"id": "phase-0-modernize-scope",
|
|
169
|
+
"when": {
|
|
170
|
+
"var": "authoringMode",
|
|
171
|
+
"equals": "modernize_existing"
|
|
172
|
+
},
|
|
173
|
+
"text": "If `authoringMode = modernize_existing`, build a value inventory BEFORE forming opinions about what to change. Read the original and classify each meaningful mechanism: (1) enforcement mechanisms (forcing functions, hard gates, required outputs), (2) domain knowledge (problem-specific principles the agent would not otherwise know), (3) behavioral rules (persistent constraints on how the agent works). This inventory is the preservation checklist."
|
|
174
|
+
}
|
|
175
|
+
]
|
|
161
176
|
},
|
|
162
177
|
{
|
|
163
178
|
"id": "phase-1-define-effectiveness-target",
|
|
@@ -187,10 +202,6 @@
|
|
|
187
202
|
{
|
|
188
203
|
"id": "phase-2-design-workflow-architecture",
|
|
189
204
|
"title": "Phase 2: Design the Workflow Architecture",
|
|
190
|
-
"runCondition": {
|
|
191
|
-
"var": "workflowComplexity",
|
|
192
|
-
"not_equals": "Simple"
|
|
193
|
-
},
|
|
194
205
|
"promptBlocks": {
|
|
195
206
|
"goal": "Decide the workflow architecture before you write JSON.",
|
|
196
207
|
"constraints": [
|
|
@@ -199,11 +210,10 @@
|
|
|
199
210
|
],
|
|
200
211
|
"procedure": [
|
|
201
212
|
"Decide the phase list, one-line goal for each phase, and overall ordering.",
|
|
202
|
-
"Identify meaningful input classifications that require different workflow paths. For each variant dimension, decide the branching mechanism: `runCondition` on separate steps (diverging paths), `promptFragments` (additive behavior on a shared base), or a separate workflow entirely. For each captured variable that drives branching, define its closed set of valid values
|
|
213
|
+
"Identify meaningful input classifications that require different workflow paths. For each variant dimension, decide the branching mechanism: `runCondition` on separate steps (diverging paths), `promptFragments` (additive behavior on a shared base), or a separate workflow entirely. For each captured variable that drives branching, define its closed set of valid values \u2014 unexpected values are a common source of silent misbehavior.",
|
|
203
214
|
"Design loops with explicit exit rules, bounded maxIterations, and real reasons for another pass.",
|
|
204
215
|
"Decide confirmation gates, delegation vs template injection vs direct execution, promptFragments, references, artifacts, and metaGuidance.",
|
|
205
|
-
"If the authored workflow encodes domain knowledge tied to a specific version of an external system or codebase, decide how to handle staleness: prefer reading the codebase at runtime over hardcoding patterns, or explicitly document versioned assumptions so they surface as maintenance debt."
|
|
206
|
-
"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."
|
|
216
|
+
"If the authored workflow encodes domain knowledge tied to a specific version of an external system or codebase, decide how to handle staleness: prefer reading the codebase at runtime over hardcoding patterns, or explicitly document versioned assumptions so they surface as maintenance debt."
|
|
207
217
|
],
|
|
208
218
|
"outputRequired": {
|
|
209
219
|
"notesMarkdown": "Structured workflow outline, loop design, confirmation design, delegation design, artifact plan, and modernization mapping.",
|
|
@@ -214,6 +224,14 @@
|
|
|
214
224
|
]
|
|
215
225
|
},
|
|
216
226
|
"promptFragments": [
|
|
227
|
+
{
|
|
228
|
+
"id": "phase-2-simple-scope",
|
|
229
|
+
"when": {
|
|
230
|
+
"var": "workflowComplexity",
|
|
231
|
+
"equals": "Simple"
|
|
232
|
+
},
|
|
233
|
+
"text": "This is a Simple workflow. Keep the architecture lightweight: a flat phase list, no loops required, minimal confirmations, no delegation. The goal is clarity and direct execution, not structural sophistication."
|
|
234
|
+
},
|
|
217
235
|
{
|
|
218
236
|
"id": "phase-2-simple-direct",
|
|
219
237
|
"when": {
|
|
@@ -221,19 +239,19 @@
|
|
|
221
239
|
"equals": "Simple"
|
|
222
240
|
},
|
|
223
241
|
"text": "For Simple workflows, keep the architecture linear and compact. Do not invent loops or ceremony unless the task truly needs them."
|
|
242
|
+
},
|
|
243
|
+
{
|
|
244
|
+
"id": "phase-2-modernize-mapping",
|
|
245
|
+
"when": {
|
|
246
|
+
"var": "authoringMode",
|
|
247
|
+
"equals": "modernize_existing"
|
|
248
|
+
},
|
|
249
|
+
"text": "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."
|
|
224
250
|
}
|
|
225
251
|
],
|
|
226
252
|
"requireConfirmation": {
|
|
227
|
-
"
|
|
228
|
-
|
|
229
|
-
"var": "workflowComplexity",
|
|
230
|
-
"not_equals": "Simple"
|
|
231
|
-
},
|
|
232
|
-
{
|
|
233
|
-
"var": "rigorMode",
|
|
234
|
-
"not_equals": "QUICK"
|
|
235
|
-
}
|
|
236
|
-
]
|
|
253
|
+
"var": "workflowComplexity",
|
|
254
|
+
"not_equals": "Simple"
|
|
237
255
|
}
|
|
238
256
|
},
|
|
239
257
|
{
|
|
@@ -248,7 +266,7 @@
|
|
|
248
266
|
"procedure": [
|
|
249
267
|
"Decide whether the authored workflow needs a hypothesis step, neutral fact packet, reviewer or validator families, contradiction loop, final validation bundle, or explicit blind-spot handling.",
|
|
250
268
|
"Design the confidence model, blind-spot model, and state economy plan.",
|
|
251
|
-
"Decide the hard-gate dimensions that would make the authored workflow unsafe or unsatisfying if they fail. Choose the right enforcement mechanism for each gate: `assessments` + `assessmentRefs` + `assessmentConsequences` for bounded confidence judgments (each dimension captures a distinct orthogonal failure mode
|
|
269
|
+
"Decide the hard-gate dimensions that would make the authored workflow unsafe or unsatisfying if they fail. Choose the right enforcement mechanism for each gate: `assessments` + `assessmentRefs` + `assessmentConsequences` for bounded confidence judgments (each dimension captures a distinct orthogonal failure mode \u2014 see `mr-review-workflow.agentic.v2.json` and `bug-investigation.agentic.v2.json`); `validationCriteria` with context-aware conditions for completion-gating on structured checklists or required output content (the engine enforces that required content appears in the response before the step can complete, without a loop \u2014 conditions on individual rules can match the workflow's branching context); a re-verification loop for fix-and-verify cycles where the agent must act then prove the action worked. Do not default to a loop when `validationCriteria` is the right tool, or to `requireConfirmation` when a hard gate is needed.",
|
|
252
270
|
"Write the redesign triggers that should force architectural revision rather than cosmetic refinement."
|
|
253
271
|
],
|
|
254
272
|
"outputRequired": {
|
|
@@ -259,18 +277,16 @@
|
|
|
259
277
|
"The authored workflow has an explicit plan for false-confidence resistance and quality review."
|
|
260
278
|
]
|
|
261
279
|
},
|
|
262
|
-
"
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
"equals": "THOROUGH"
|
|
267
|
-
},
|
|
268
|
-
{
|
|
280
|
+
"promptFragments": [
|
|
281
|
+
{
|
|
282
|
+
"id": "phase-3-simple-scope",
|
|
283
|
+
"when": {
|
|
269
284
|
"var": "workflowComplexity",
|
|
270
|
-
"equals": "
|
|
271
|
-
}
|
|
272
|
-
|
|
273
|
-
|
|
285
|
+
"equals": "Simple"
|
|
286
|
+
},
|
|
287
|
+
"text": "This is a Simple workflow. Quality architecture should be proportional: identify one primary false-confidence mode and one key hard gate. Skip full reviewer family design -- a single self-executed review pass is sufficient."
|
|
288
|
+
}
|
|
289
|
+
]
|
|
274
290
|
},
|
|
275
291
|
{
|
|
276
292
|
"id": "phase-4-draft-or-revise",
|
|
@@ -346,10 +362,6 @@
|
|
|
346
362
|
"promptFragments": [
|
|
347
363
|
{
|
|
348
364
|
"id": "phase-5a-thorough",
|
|
349
|
-
"when": {
|
|
350
|
-
"var": "rigorMode",
|
|
351
|
-
"equals": "THOROUGH"
|
|
352
|
-
},
|
|
353
365
|
"text": "After structural validation passes, also check the workflow manually against required-level authoring-spec rules and fix any failures before moving on."
|
|
354
366
|
}
|
|
355
367
|
],
|
|
@@ -390,13 +402,13 @@
|
|
|
390
402
|
"equals": false
|
|
391
403
|
},
|
|
392
404
|
"promptBlocks": {
|
|
393
|
-
"goal": "
|
|
405
|
+
"goal": "Stop execution. A structurally broken workflow must not proceed to the quality gate loop. Surface the errors and require user intervention.",
|
|
394
406
|
"constraints": [
|
|
395
407
|
"Present the situation honestly."
|
|
396
408
|
],
|
|
397
409
|
"procedure": [
|
|
398
410
|
"List the remaining validation errors and assess their severity.",
|
|
399
|
-
"
|
|
411
|
+
"Stop and require user intervention. Do not proceed into the quality gate loop with a structurally broken workflow. The user must explicitly decide how to resolve each remaining error before this workflow can continue."
|
|
400
412
|
]
|
|
401
413
|
},
|
|
402
414
|
"requireConfirmation": true
|
|
@@ -412,7 +424,7 @@
|
|
|
412
424
|
"contractRef": "wr.contracts.loop_control",
|
|
413
425
|
"loopId": "quality_gate_loop"
|
|
414
426
|
},
|
|
415
|
-
"maxIterations":
|
|
427
|
+
"maxIterations": 3
|
|
416
428
|
},
|
|
417
429
|
"body": [
|
|
418
430
|
{
|
|
@@ -437,7 +449,21 @@
|
|
|
437
449
|
"Weak or unused fields are either wired meaningfully or removed."
|
|
438
450
|
]
|
|
439
451
|
},
|
|
440
|
-
"requireConfirmation": false
|
|
452
|
+
"requireConfirmation": false,
|
|
453
|
+
"assessmentRefs": [
|
|
454
|
+
"state-economy-gate"
|
|
455
|
+
],
|
|
456
|
+
"assessmentConsequences": [
|
|
457
|
+
{
|
|
458
|
+
"when": {
|
|
459
|
+
"anyEqualsLevel": "low"
|
|
460
|
+
},
|
|
461
|
+
"effect": {
|
|
462
|
+
"kind": "require_followup",
|
|
463
|
+
"guidance": "state_economy low -- one or more context fields are unused, weakly consumed, or carry no decision weight. Remove or wire them before proceeding: trace a concrete downstream use for each field, or delete it from the workflow."
|
|
464
|
+
}
|
|
465
|
+
}
|
|
466
|
+
]
|
|
441
467
|
},
|
|
442
468
|
{
|
|
443
469
|
"id": "phase-6b-execution-simulation",
|
|
@@ -465,14 +491,6 @@
|
|
|
465
491
|
]
|
|
466
492
|
},
|
|
467
493
|
"promptFragments": [
|
|
468
|
-
{
|
|
469
|
-
"id": "phase-6b-quick",
|
|
470
|
-
"when": {
|
|
471
|
-
"var": "rigorMode",
|
|
472
|
-
"equals": "QUICK"
|
|
473
|
-
},
|
|
474
|
-
"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."
|
|
475
|
-
},
|
|
476
494
|
{
|
|
477
495
|
"id": "phase-6b-modernize-check",
|
|
478
496
|
"when": {
|
|
@@ -482,7 +500,21 @@
|
|
|
482
500
|
"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."
|
|
483
501
|
}
|
|
484
502
|
],
|
|
485
|
-
"requireConfirmation": false
|
|
503
|
+
"requireConfirmation": false,
|
|
504
|
+
"assessmentRefs": [
|
|
505
|
+
"simulation-outcome-gate"
|
|
506
|
+
],
|
|
507
|
+
"assessmentConsequences": [
|
|
508
|
+
{
|
|
509
|
+
"when": {
|
|
510
|
+
"anyEqualsLevel": "low"
|
|
511
|
+
},
|
|
512
|
+
"effect": {
|
|
513
|
+
"kind": "require_followup",
|
|
514
|
+
"guidance": "simulation_outcome low -- the simulation found likely unsatisfying or false-confidence outputs that were not fixed inline. Address the identified weak steps or degraded-path failures before the adversarial review."
|
|
515
|
+
}
|
|
516
|
+
}
|
|
517
|
+
]
|
|
486
518
|
},
|
|
487
519
|
{
|
|
488
520
|
"id": "phase-6c-adversarial-quality-review",
|
|
@@ -494,11 +526,11 @@
|
|
|
494
526
|
"Reviewer-family or validator output is evidence, not authority."
|
|
495
527
|
],
|
|
496
528
|
"procedure": [
|
|
497
|
-
"Score these dimensions 0-2 with one sentence of evidence each: `voiceClarity`, `ceremonyLevel`, `loopSoundness`, `delegationBoundedness`, `artifactClarity`, `taskEffectiveness`, `falseConfidenceResistance`, `stateMinimality`, `coverageSharpness`, `domainFit`, `handoffUtility`, `
|
|
498
|
-
"
|
|
529
|
+
"Score these dimensions 0-2 with one sentence of evidence each: `voiceClarity`, `ceremonyLevel`, `loopSoundness`, `delegationBoundedness`, `artifactClarity`, `taskEffectiveness`, `falseConfidenceResistance`, `stateMinimality`, `coverageSharpness`, `domainFit`, `handoffUtility`, and `complexityScaling` (0 = has appropriate fast paths or scope-sensitive branching for simpler inputs; 2 = single-weight, over-engineers simple cases)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).",
|
|
530
|
+
"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`.",
|
|
499
531
|
"Synthesize what the review confirmed, what it challenged, and what changed your mind.",
|
|
500
532
|
"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.",
|
|
501
|
-
"Set hard-gate failures whenever any of these are materially weak: `taskEffectiveness`, `falseConfidenceResistance`, `stateMinimality`, `coverageSharpness`, `domainFit`, or `handoffUtility
|
|
533
|
+
"Set hard-gate failures whenever any of these are materially weak: `taskEffectiveness`, `falseConfidenceResistance`, `stateMinimality`, `coverageSharpness`, `domainFit`, or `handoffUtility`, and `complexityScaling` (0 = has appropriate fast paths or scope-sensitive branching for simpler inputs; 2 = single-weight, over-engineers simple cases).",
|
|
502
534
|
"Set `authoringIntegrityPassed = true` only if structural and authoring-quality dimensions are all acceptable. Set `outcomeEffectivenessPassed = true` only if the workflow is likely to achieve satisfying results for the user."
|
|
503
535
|
],
|
|
504
536
|
"outputRequired": {
|
|
@@ -511,20 +543,8 @@
|
|
|
511
543
|
},
|
|
512
544
|
"promptFragments": [
|
|
513
545
|
{
|
|
514
|
-
"id": "phase-6c-
|
|
515
|
-
"
|
|
516
|
-
"var": "rigorMode",
|
|
517
|
-
"equals": "STANDARD"
|
|
518
|
-
},
|
|
519
|
-
"text": "For STANDARD rigor, you may keep the review self-executed unless uncertainty remains material. If you do delegate, prefer a small adversarial bundle."
|
|
520
|
-
},
|
|
521
|
-
{
|
|
522
|
-
"id": "phase-6c-thorough",
|
|
523
|
-
"when": {
|
|
524
|
-
"var": "rigorMode",
|
|
525
|
-
"equals": "THOROUGH"
|
|
526
|
-
},
|
|
527
|
-
"text": "For THOROUGH rigor, assume the first review is not enough. Use adversarial reviewer lanes unless a hard limitation makes them impossible."
|
|
546
|
+
"id": "phase-6c-rigor",
|
|
547
|
+
"text": "Always use adversarial reviewer lanes. Assume the first review is not enough -- use the full adversarial bundle unless a hard limitation makes it impossible."
|
|
528
548
|
},
|
|
529
549
|
{
|
|
530
550
|
"id": "phase-6c-heritage-review",
|
|
@@ -537,27 +557,97 @@
|
|
|
537
557
|
],
|
|
538
558
|
"hasValidation": true,
|
|
539
559
|
"validationCriteria": [
|
|
540
|
-
{
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
{
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
{
|
|
551
|
-
|
|
552
|
-
|
|
560
|
+
{
|
|
561
|
+
"type": "contains",
|
|
562
|
+
"value": "voiceClarity",
|
|
563
|
+
"message": "Review must score voiceClarity"
|
|
564
|
+
},
|
|
565
|
+
{
|
|
566
|
+
"type": "contains",
|
|
567
|
+
"value": "ceremonyLevel",
|
|
568
|
+
"message": "Review must score ceremonyLevel"
|
|
569
|
+
},
|
|
570
|
+
{
|
|
571
|
+
"type": "contains",
|
|
572
|
+
"value": "loopSoundness",
|
|
573
|
+
"message": "Review must score loopSoundness"
|
|
574
|
+
},
|
|
575
|
+
{
|
|
576
|
+
"type": "contains",
|
|
577
|
+
"value": "delegationBoundedness",
|
|
578
|
+
"message": "Review must score delegationBoundedness"
|
|
579
|
+
},
|
|
580
|
+
{
|
|
581
|
+
"type": "contains",
|
|
582
|
+
"value": "artifactClarity",
|
|
583
|
+
"message": "Review must score artifactClarity"
|
|
584
|
+
},
|
|
585
|
+
{
|
|
586
|
+
"type": "contains",
|
|
587
|
+
"value": "taskEffectiveness",
|
|
588
|
+
"message": "Review must score taskEffectiveness"
|
|
589
|
+
},
|
|
590
|
+
{
|
|
591
|
+
"type": "contains",
|
|
592
|
+
"value": "falseConfidenceResistance",
|
|
593
|
+
"message": "Review must score falseConfidenceResistance"
|
|
594
|
+
},
|
|
595
|
+
{
|
|
596
|
+
"type": "contains",
|
|
597
|
+
"value": "stateMinimality",
|
|
598
|
+
"message": "Review must score stateMinimality"
|
|
599
|
+
},
|
|
600
|
+
{
|
|
601
|
+
"type": "contains",
|
|
602
|
+
"value": "coverageSharpness",
|
|
603
|
+
"message": "Review must score coverageSharpness"
|
|
604
|
+
},
|
|
605
|
+
{
|
|
606
|
+
"type": "contains",
|
|
607
|
+
"value": "domainFit",
|
|
608
|
+
"message": "Review must score domainFit"
|
|
609
|
+
},
|
|
610
|
+
{
|
|
611
|
+
"type": "contains",
|
|
612
|
+
"value": "handoffUtility",
|
|
613
|
+
"message": "Review must score handoffUtility"
|
|
614
|
+
},
|
|
615
|
+
{
|
|
616
|
+
"type": "contains",
|
|
617
|
+
"value": "complexityScaling",
|
|
618
|
+
"message": "Review must score complexityScaling"
|
|
619
|
+
},
|
|
620
|
+
{
|
|
621
|
+
"type": "contains",
|
|
622
|
+
"value": "enforcementStrength",
|
|
623
|
+
"message": "Review must score enforcementStrength"
|
|
624
|
+
},
|
|
553
625
|
{
|
|
554
626
|
"type": "contains",
|
|
555
627
|
"value": "modernizationDiscipline",
|
|
556
|
-
"condition": {
|
|
628
|
+
"condition": {
|
|
629
|
+
"var": "authoringMode",
|
|
630
|
+
"equals": "modernize_existing"
|
|
631
|
+
},
|
|
557
632
|
"message": "Modernization reviews must score modernizationDiscipline"
|
|
558
633
|
}
|
|
559
634
|
],
|
|
560
|
-
"requireConfirmation": false
|
|
635
|
+
"requireConfirmation": false,
|
|
636
|
+
"assessmentRefs": [
|
|
637
|
+
"authoring-integrity-gate",
|
|
638
|
+
"outcome-effectiveness-gate"
|
|
639
|
+
],
|
|
640
|
+
"assessmentConsequences": [
|
|
641
|
+
{
|
|
642
|
+
"when": {
|
|
643
|
+
"anyEqualsLevel": "low"
|
|
644
|
+
},
|
|
645
|
+
"effect": {
|
|
646
|
+
"kind": "require_followup",
|
|
647
|
+
"guidance": "authoring_integrity low -- structural or quality dimensions are unacceptable; fix voice, ceremony, loop, delegation, or state problems before this workflow can be trusted. outcome_effectiveness low -- task effectiveness, false-confidence resistance, coverage sharpness, or domain fit are materially weak; redesign, do not patch."
|
|
648
|
+
}
|
|
649
|
+
}
|
|
650
|
+
]
|
|
561
651
|
},
|
|
562
652
|
{
|
|
563
653
|
"id": "phase-6d-redesign-and-revalidate",
|
|
@@ -569,7 +659,6 @@
|
|
|
569
659
|
"If structure changes, re-run real validators before leaving this step."
|
|
570
660
|
],
|
|
571
661
|
"procedure": [
|
|
572
|
-
"If `authoringIntegrityPassed` and `outcomeEffectivenessPassed` are both true and `hardGateFailures` is empty, say that no redesign is needed.",
|
|
573
662
|
"Otherwise classify the needed redesign severity as `minor`, `architectural`, or `unsafe_to_ship` and apply the necessary fixes directly to the workflow file.",
|
|
574
663
|
"If the redesign changed structure, run the real validators again and update the validation state before leaving this step."
|
|
575
664
|
],
|
|
@@ -581,7 +670,19 @@
|
|
|
581
670
|
"Structural redesign problems are handled as redesign problems, not cosmetic ones."
|
|
582
671
|
]
|
|
583
672
|
},
|
|
584
|
-
"requireConfirmation": false
|
|
673
|
+
"requireConfirmation": false,
|
|
674
|
+
"runCondition": {
|
|
675
|
+
"or": [
|
|
676
|
+
{
|
|
677
|
+
"var": "authoringIntegrityPassed",
|
|
678
|
+
"equals": false
|
|
679
|
+
},
|
|
680
|
+
{
|
|
681
|
+
"var": "outcomeEffectivenessPassed",
|
|
682
|
+
"equals": false
|
|
683
|
+
}
|
|
684
|
+
]
|
|
685
|
+
}
|
|
585
686
|
},
|
|
586
687
|
{
|
|
587
688
|
"id": "phase-6e-quality-loop-decision",
|
|
@@ -621,7 +722,7 @@
|
|
|
621
722
|
"procedure": [
|
|
622
723
|
"Read spec/workflow-tags.json to see the available tags and their 'when' phrases.",
|
|
623
724
|
"Based on the workflow's purpose and description, select 1-3 tags from the closed set (coding, review_audit, investigation, design, documentation, tickets, learning, routines, authoring).",
|
|
624
|
-
"
|
|
725
|
+
"Check whether the workflow ID already exists in the `workflows` section. If it does, update the existing entry tags rather than adding a duplicate. If it does not exist, add a new entry under 'workflows' in spec/workflow-tags.json: { \"tags\": [\"<tag1>\"] }.",
|
|
625
726
|
"If the workflow is a test fixture or internal utility not meant for end-user discovery, add 'hidden': true.",
|
|
626
727
|
"Save the tags file. Do not modify any other field.",
|
|
627
728
|
"Write the 'about' field into the workflow JSON: a markdown string (100-400 words) written for a human deciding whether to use this workflow. Cover what it does, when to use it, what it produces, and how to get good results. This is a user-facing surface -- not agent instructions (use metaGuidance for that).",
|
|
@@ -669,5 +770,63 @@
|
|
|
669
770
|
"requireConfirmation": false
|
|
670
771
|
}
|
|
671
772
|
],
|
|
672
|
-
"validatedAgainstSpecVersion": 3
|
|
773
|
+
"validatedAgainstSpecVersion": 3,
|
|
774
|
+
"assessments": [
|
|
775
|
+
{
|
|
776
|
+
"id": "state-economy-gate",
|
|
777
|
+
"purpose": "Every context field in the authored workflow earns its keep: it is set, consumed, and influences a concrete decision or output.",
|
|
778
|
+
"dimensions": [
|
|
779
|
+
{
|
|
780
|
+
"id": "state_economy",
|
|
781
|
+
"purpose": "All context fields have a traceable downstream use. No field is captured speculatively or carried without purpose.",
|
|
782
|
+
"levels": [
|
|
783
|
+
"low",
|
|
784
|
+
"high"
|
|
785
|
+
]
|
|
786
|
+
}
|
|
787
|
+
]
|
|
788
|
+
},
|
|
789
|
+
{
|
|
790
|
+
"id": "simulation-outcome-gate",
|
|
791
|
+
"purpose": "A concrete execution simulation has been completed and identified weak steps, likely unsatisfying outputs, and false-confidence modes -- and any found were fixed inline.",
|
|
792
|
+
"dimensions": [
|
|
793
|
+
{
|
|
794
|
+
"id": "simulation_outcome",
|
|
795
|
+
"purpose": "Simulation completed over at least one happy path and one degraded/edge-case path. Issues found were fixed or explicitly accepted.",
|
|
796
|
+
"levels": [
|
|
797
|
+
"low",
|
|
798
|
+
"high"
|
|
799
|
+
]
|
|
800
|
+
}
|
|
801
|
+
]
|
|
802
|
+
},
|
|
803
|
+
{
|
|
804
|
+
"id": "authoring-integrity-gate",
|
|
805
|
+
"purpose": "The authored workflow is structurally sound and meets authoring quality standards: voice, ceremony, loops, delegation, and state are all acceptable.",
|
|
806
|
+
"dimensions": [
|
|
807
|
+
{
|
|
808
|
+
"id": "authoring_integrity",
|
|
809
|
+
"purpose": "Structural and authoring-quality dimensions passed the adversarial review. No hard gate failure on voice, ceremony, loopSoundness, delegationBoundedness, or stateMinimality.",
|
|
810
|
+
"levels": [
|
|
811
|
+
"low",
|
|
812
|
+
"high"
|
|
813
|
+
]
|
|
814
|
+
}
|
|
815
|
+
]
|
|
816
|
+
},
|
|
817
|
+
{
|
|
818
|
+
"id": "outcome-effectiveness-gate",
|
|
819
|
+
"purpose": "The authored workflow is likely to produce genuinely satisfying results: task effectiveness, false-confidence resistance, coverage sharpness, domain fit, and handoff utility are all acceptable.",
|
|
820
|
+
"dimensions": [
|
|
821
|
+
{
|
|
822
|
+
"id": "outcome_effectiveness",
|
|
823
|
+
"purpose": "The workflow passes adversarial review on task effectiveness, falseConfidenceResistance, coverageSharpness, domainFit, and handoffUtility. No hard gate failure on any outcome dimension.",
|
|
824
|
+
"levels": [
|
|
825
|
+
"low",
|
|
826
|
+
"high"
|
|
827
|
+
]
|
|
828
|
+
}
|
|
829
|
+
]
|
|
830
|
+
}
|
|
831
|
+
]
|
|
673
832
|
}
|